(57)【特許請求の範囲】
【請求項１】
データを記憶するメモリと、
前記メモリとの間でバースト転送にて前記データを受け渡すメモリコントローラと、
画像データの色空間を変換する色変換処理を行う画像処理ユニットであって、前記メモリコントローラに前記データの受け渡しを指示し、前記メモリコントローラとの間でデータを受け渡す画像処理ユニットと
を備え、
第１色数のインクで印刷可能であるとともに、前記第１色数よりも多い色数の第２色数のインクで印刷可能である印刷装置であって、
（Ａ）前記メモリには、前記第１色数の色空間に色変換するための第１テーブルと、前記第２色数の色空間に色変換するための第２テーブルとが記憶されており、
前記第１テーブルには、色変換前の特定の階調に対応する前記第１色数の色空間の画素データが連続したアドレス領域に格納されており、
前記第２テーブルには、色変換前の特定の階調に対応する前記第２色数の色空間の画素データが連続したアドレス領域に格納されており、
（Ｂ）前記画像処理ユニットは、
前記第１色数のインクで印刷を行う場合には、前記画像データの画素の階調に対応する前記第１テーブルのアドレスから、前記第１色数の色空間の画素データを、第１バースト長のバースト転送にて読み出し、
前記第２色数のインクで印刷を行う場合には、前記画像データの画素の階調に対応する前記第２テーブルのアドレスから、前記第２色数の色空間の画素データを、前記第１バースト長よりも長い第２バースト長のバースト転送にて読み出す
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置であって、
原稿から画像を読み取るスキャナ部と、
スキャナ部から出力されたデータを処理して画像データを生成するスキャナ制御ユニットと
を更に備え、
前記メモリコントローラは、少なくとも２種類のバースト長でバースト転送可能であり、前記スキャナ制御ユニットから受けた前記画像データを前記メモリに書き込むとき、前記２種類のバースト長のうちの長い方のバースト長にてバースト転送を行う
ことを特徴とする印刷装置。
【請求項３】
請求項２に記載の印刷装置であって、
前記スキャナ部は、画像を読み取るためのセンサを有し、
前記センサは移動可能であり、移動するセンサから前記スキャナ制御ユニットへ順次データが出力される
ことを特徴とする印刷装置。
【請求項４】
請求項１〜３のいずれかに記載の印刷装置であって、
インクを吐出する印刷ヘッドを移動させるキャリッジと、
前記印刷ヘッドを駆動するためのヘッド駆動データを前記印刷ヘッドへ転送するヘッド制御ユニットと
を更に備え、
前記メモリコントローラは、少なくとも２種類のバースト長でバースト転送可能であり、前記メモリに記憶された前記ヘッド駆動データを読み出すとき、前記２種類のバースト長のうちの長い方のバースト長にてバースト転送を行う
ことを特徴とする印刷装置。
【請求項５】
請求項４に記載の印刷装置であって、
前記ヘッド制御ユニットは、移動する印刷ヘッドに対して前記ヘッド駆動データを順次転送することを特徴とする印刷装置。
【請求項６】
請求項１〜５のいずれかに記載の印刷装置であって、
メモリに記憶されたデータを処理する処理装置と、
前記処理装置と前記メモリコントローラとの間でデータを受け渡すインターフェイスユニットと
を更に備え、
前記メモリコントローラは、少なくとも２種類のバースト長でバースト転送可能であり、前記メモリに記憶された前記データを前記処理装置が前記インターフェイスユニットを介して読み出すとき、前記２種類のバースト長のうちの短い方のバースト長にてバースト転送を行う
ことを特徴とする印刷装置。
【請求項７】
請求項６に記載の印刷装置であって、
前記処理装置は、前記メモリコントローラが所定のバースト長のバースト転送にて前記メモリからデータを読み出し終わる前に、そのデータの読み出しを開始することを特徴とする印刷装置。
【請求項８】
請求項７に記載の印刷装置であって、
前記処理装置は、前記インターフェイスユニットからのタイミング信号に応じて、前記メモリから読み出されたデータの読み出しを開始することを特徴とする印刷装置。
【請求項９】
請求項１〜８のいずれかに記載の印刷装置であって、
前記画像処理ユニットは、ＲＧＢ系画像データをＣＭＹＫ系画像データに変換することを特徴とする印刷装置。
【請求項１０】
請求項１〜９のいずれかに記載の印刷装置であって、
前記メモリコントローラは、前記メモリに対して転送指示の回数を変更して、バースト転送のバースト長を変更することを特徴とする印刷装置。
【請求項１１】
請求項１０に記載の印刷装置であって、
前記メモリコントローラは、前記メモリに対して行アドレスを指示した後に列アドレスを指示し、前記メモリとの間でデータを受け渡すものであり、
前記メモリコントローラが前記メモリに連続して転送指示する場合、前記列アドレスを指示した後、更に列アドレスを指示することを特徴とする印刷装置。
【請求項１２】
請求項１１に記載の印刷装置であって、
前記メモリは、受信した行アドレスに対応するデータをラッチした後、その後に受信する列アドレスに応じたデータを出力することを特徴とする印刷装置。
【請求項１３】
請求項１〜１２のいずれかに記載の印刷装置であって、
前記メモリコントローラと前記メモリとの間で４バースト転送又は８バースト転送を行うことを特徴とする印刷装置。
【請求項１４】
データを記憶するメモリと、
前記メモリとの間でバースト転送にて前記データを受け渡すメモリコントローラと、
画像データの色空間を変換する色変換処理を行う画像処理ユニットであって、前記メモリコントローラに前記データの受け渡しを指示し、前記メモリコントローラとの間でデータを受け渡す画像処理ユニットと
を用い、
第１色数又は前記第１色数よりも多い色数の第２色数のインクで印刷を行う印刷方法であって、
（Ａ）前記メモリには、前記第１色数の色空間に色変換するための第１テーブルと、前記第２色数の色空間に色変換するための第２テーブルとが記憶されており、
前記第１テーブルには、色変換前の特定の階調に対応する前記第１色数の色空間の画素データが連続したアドレス領域に格納されており、
前記第２テーブルには、色変換前の特定の階調に対応する前記第２色数の色空間の画素データが連続したアドレス領域に格納されており、
（Ｂ）前記画像処理ユニットは、
前記第１色数のインクで印刷を行う場合には、前記画像データの画素の階調に対応する前記第１テーブルのアドレスから、前記第１色数の色空間の画素データを、第１バースト長のバースト転送にて読み出し、
前記第２色数のインクで印刷を行う場合には、前記画像データの画素の階調に対応する前記第２テーブルのアドレスから、前記第２色数の色空間の画素データを、前記第１バースト長よりも長い第２バースト長のバースト転送にて読み出す
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バースト転送を行う印刷装置及び印刷方法に関する。
【背景技術】
【０００２】
プリンタ（印刷装置）の内部には、データを記憶するためのメモリが設けられている。このようなプリンタでは、メモリに対するデータの書き込み・読み出しの際に、バースト転送を行うものがある。バースト転送を行うことにより、連続したアドレスの書き込み・読み出しを高速に行うことができ、データの転送速度を高めることができる。
【特許文献１】特開平１１−１５７１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
バースト転送のバースト長が長ければ、より多くの連続したアドレスの書き込み・読み出しが可能になり、メモリ（例えばＳＤＲＡＭ）のバンド幅を有効に利用できる。  
しかし、メモリからバースト転送にてデータを読み出す場合、バースト長が長いと、読み出しを指示してから読み出されたデータを利用可能になるまでの時間が長くなり、結果として処理時間が長くなる。また、処理回路（例えば画像処理回路等）によっては、連続アドレスアクセスに適さないものがあり、その場合、バースト長が長ければ、メモリへの不要なアクセスが生じ、結果としてメモリのバンド幅を無駄にしてしまう。
【０００４】
そこで、本発明は、バースト転送を行う印刷装置の処理速度を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための主たる発明は、データを記憶するメモリと、前記メモリとの間でバースト転送にて前記データを受け渡すメモリコントローラと、画像データの色空間を変換する色変換処理を行う画像処理ユニットであって、前記メモリコントローラに前記データの受け渡しを指示し、前記メモリコントローラとの間でデータを受け渡す画像処理ユニットとを備え、第１色数のインクで印刷可能であるとともに、前記第１色数よりも多い色数の第２色数のインクで印刷可能である印刷装置であって、（Ａ）前記メモリには、前記第１色数の色空間に色変換するための第１テーブルと、前記第２色数の色空間に色変換するための第２テーブルとが記憶されており、前記第１テーブルには、色変換前の特定の階調に対応する前記第１色数の色空間の画素データが連続したアドレス領域に格納されており、前記第２テーブルには、色変換前の特定の階調に対応する前記第２色数の色空間の画素データが連続したアドレス領域に格納されており、（Ｂ）前記画像処理ユニットは、前記第１色数のインクで印刷を行う場合には、前記画像データの画素の階調に対応する前記第１テーブルのアドレスから、前記第１色数の色空間の画素データを、第１バースト長のバースト転送にて読み出し、前記第２色数のインクで印刷を行う場合には、前記画像データの画素の階調に対応する前記第２テーブルのアドレスから、前記第２色数の色空間の画素データを、前記第１バースト長よりも長い第２バースト長のバースト転送にて読み出すことを特徴とする。
【０００７】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明の効果】
【０００８】
本発明の印刷装置によれば、バースト転送を行う印刷装置の処理速度を向上させる。
【発明を実施するための最良の形態】
【０００９】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１０】
データを記憶するメモリと、
前記メモリとの間でバースト転送にて前記データを受け渡すメモリコントローラと、
前記メモリコントローラに前記データの受け渡しを指示し、前記メモリコントローラとの間でデータを受け渡す複数のユニットと
を備え、
前記メモリコントローラは、各ユニットに応じて、メモリとの間で行われるバースト転送のバースト長を変更することを特徴とする印刷装置。  
このような印刷装置によれば、バースト転送を行う印刷装置の処理速度を向上させることができる。
【００１１】
かかる印刷装置であって、原稿から画像を読み取るスキャナ部を更に備え、前記複数のユニットの一つは、スキャナ部から出力されたデータを処理して画像データを生成するスキャナ制御ユニットであり、前記メモリコントローラは、少なくとも２種類のバースト長でバースト転送可能であり、前記スキャナ制御ユニットから受けた前記画像データを前記メモリに書き込むとき、前記２種類のバースト長のうちの長い方のバースト長にてバースト転送を行うことが望ましい。
【００１２】
かかる印刷装置であって、前記スキャナ部は、画像を読み取るためのセンサを有し、前記センサは移動可能であり、移動するセンサから前記スキャナ制御ユニットへ順次データが出力されることが望ましい。
【００１３】
かかる印刷装置であって、インクを吐出する印刷ヘッドを移動させるキャリッジを更に備え、前記複数のユニットの一つは、前記印刷ヘッドを駆動するためのヘッド駆動データを前記印刷ヘッドへ転送するヘッド制御ユニットであり、前記メモリコントローラは、少なくとも２種類のバースト長でバースト転送可能であり、前記メモリに記憶された前記ヘッド駆動データを読み出すとき、前記２種類のバースト長のうちの長い方のバースト長にてバースト転送を行うことが望ましい。
【００１４】
かかる印刷装置であって、前記ヘッド制御ユニットは、移動する印刷ヘッドに対して前記ヘッド駆動データを順次転送することが望ましい。
【００１５】
かかる印刷装置であって、メモリに記憶されたデータを処理する処理装置を更に備え、前記複数のユニットの一つは、前記処理装置と前記メモリコントローラとの間でデータを受け渡すインターフェイスユニットであり、前記メモリコントローラは、少なくとも２種類のバースト長でバースト転送可能であり、前記メモリに記憶された前記データを前記処理装置が前記インターフェイスユニットを介して読み出すとき、前記２種類のバースト長のうちの短い方のバースト長にてバースト転送を行うことが望ましい。
【００１６】
かかる印刷装置であって、前記処理装置は、前記メモリコントローラが所定のバースト長のバースト転送にて前記メモリからデータを読み出し終わる前に、そのデータの読み出しを開始することが望ましい。
【００１７】
かかる印刷装置であって、前記処理装置は、前記インターフェイスユニットからのタイミング信号に応じて、前記メモリから読み出されたデータの読み出しを開始することが望ましい。
【００１８】
かかる印刷装置であって、前記複数のユニットの一つは、画像データを画像処理する画像処理ユニットであり、前記メモリコントローラは、前記画像処理ユニットの処理の内容に応じて、メモリとの間で行われるバースト転送のバースト長を変更することが望ましい。
【００１９】
かかる印刷装置は、複数色のインクを用いて媒体に画像を形成するものであり、前記メモリコントローラは、前記インクの色数に応じて、メモリとの間で行われるバースト転送のバースト長を変更することが望ましい。
【００２０】
かかる印刷装置であって、前記画像処理ユニットは、画像データの色空間を変換する色変換処理を行うことが望ましい。
【００２１】
かかる印刷装置であって、前記画像処理ユニットは、ＲＧＢ系画像データをＣＭＹＫ系画像データに変換することが望ましい。
【００２２】
かかる印刷装置であって、前記メモリコントローラは、前記メモリに対して転送指示の回数を変更して、バースト転送のバースト長を変更することが望ましい。
【００２３】
かかる印刷装置であって、前記メモリコントローラは、前記メモリに対して行アドレスを指示した後に列アドレスを指示し、前記メモリとの間でデータを受け渡すものであり、
前記メモリコントローラが前記メモリに連続して転送指示する場合、前記列アドレスを指示した後、更に列アドレスを指示することが望ましい。
【００２４】
かかる印刷装置であって、前記メモリは、受信した行アドレスに対応するデータをラッチした後、その後に受信する列アドレスに応じたデータを出力することが望ましい。
【００２５】
かかる印刷装置であって、前記メモリコントローラと前記メモリとの間で４バースト転送又は８バースト転送を行うことが望ましい。
【００２６】
データを記憶するメモリと、
前記メモリとの間でバースト転送にて前記データを受け渡すメモリコントローラと、
前記メモリコントローラに前記データの受け渡しを指示し、前記メモリコントローラとの間でデータを受け渡す複数のユニットと
を用い、
前記メモリコントローラは、各ユニットに応じて、メモリとの間で行われるバースト転送のバースト長を変更することを特徴とする印刷方法。  
このような印刷方法によれば、バースト転送を行う印刷方法の処理速度を向上させることができる。
【００２７】
データを記憶するメモリと、
所定のバースト長のバースト転送にて前記メモリから前記データを読み出すメモリコントローラと、
前記メモリに記憶された前記データを処理する処理装置と、
前記処理装置と前記メモリコントローラとの間に設けられ、前記メモリコントローラに前記データの読み出しを指示するインターフェイスユニットと、
を備え、
前記処理装置が、前記インターフェイスユニットを介して前記メモリから前記データを読み出す場合、
前記メモリコントローラが前記所定のバースト長のバースト転送にて前記メモリから前記データを読み出し終える前に、
前記処理装置は、前記インターフェイスユニットの指示に応じて、前記メモリコントローラが読み出した前記データの読み出しを開始する
ことを特徴とする印刷装置。  
このような印刷装置によれば、バースト転送を行う印刷装置の処理速度を向上させることができる。
【００２８】
かかる印刷装置であって、前記処理装置は、前記インターフェイスユニットからのタイミング信号に応じて、前記データの読み出しを開始することが望ましい。
【００２９】
かかる印刷装置であって、前記インターフェイスユニットは、前記メモリコントローラからの応答信号に応じて、前記タイミング信号を発生することが望ましい。
【００３０】
かかる印刷装置であって、前記メモリコントローラは、前記インターフェイスユニットからの前記データの読み出しの指示に応じて、前記応答信号を発生することが望ましい。
【００３１】
かかる印刷装置であって、インクを吐出する印刷ヘッドを移動させるキャリッジを更に備え、前記メモリに記憶されたデータに基づいて前記印刷ヘッドを駆動するためのヘッド駆動データを生成するとき、前記処理装置が、前記インターフェイスユニットを介して前記メモリから前記データを読み出すことが望ましい。
【００３２】
データを記憶するメモリと、
所定のバースト長のバースト転送にて前記メモリから前記データを読み出すメモリコントローラと、
前記メモリに記憶された前記データを処理する処理装置と、
前記処理装置と前記メモリコントローラとの間に設けられ、前記メモリコントローラに前記データの読み出しを指示するインターフェイスユニットと、
を用い、
前記処理装置が、前記インターフェイスユニットを介して前記メモリから前記データを読み出す場合、
前記メモリコントローラが前記所定のバースト長のバースト転送にて前記メモリから前記データを読み出し終える前に、
前記処理装置は、前記インターフェイスユニットの指示に応じて、前記メモリコントローラが読み出した前記データの読み出しを開始する
ことを特徴とする印刷方法。  
このような印刷方法によれば、バースト転送を行う印刷方法の処理速度を向上させることができる。
【００３３】
＝＝＝印刷装置の概略構成＝＝＝
図１〜図５を参照して本実施の形態に係る印刷装置の概略構成について説明する。図１は本実施の形態に係る印刷装置の概略構成を示した斜視図、図２はスキャナ部１０のカバーを開いた状態を示す斜視図、図３は印刷装置の内部構成を示す説明図、図４はプリンタ部の内部を露出させた状態を示す斜視図、図５は操作パネル部の一例を示す図である。
【００３４】
本実施形態の印刷装置は、原稿画像を入力するためのスキャナ機能、画像データに基づいて画像を用紙等の媒体に印刷するプリンタ機能、スキャナ機能により入力した画像を用紙等に印刷するローカルコピー機能を有するスキャナ・プリンタ・コピー複合装置（以下、ＳＰＣ複合装置という）である。  
ＳＰＣ複合装置１は、スキャナ部１０と、プリンタ部３０と、制御回路５０と、操作パネル部７０とを有している。スキャナ部１０は、原稿５の画像を読み取って、画像データを取得する。プリンタ部３０は、画像データに基づいて画像を用紙等の媒体に印刷する。制御回路５０は、ＳＰＣ複合装置１全体の制御を司る。操作パネル７０は、ユーザーインターフェースとしての入力手段をなす。ＳＰＣ複合装置１は、制御回路５０によって各構成要素を制御し、スキャナ機能、プリンタ機能、及び、スキャナ部１０から入力されたデータをプリンタ部３０にて印刷するローカルコピー機能を実現する。
【００３５】
図４に示すように、プリンタ部３０とスキャナ部１０とは、背面側にてヒンジ機構４１により結合されており、ヒンジ機構４１の回動部を中心としてユニット化されたスキャナ部１０が手前側から持ち上げられる。スキャナ部１０を持ち上げた状態では、プリンタ部３０を覆うカバーの上部に設けられた開口３０１からプリンタ部３０の内部が露出される構成となっている。このようにプリンタ部３０の内部を露出させることにより、インクカートリッジ等の交換や、用紙詰まりの処理等を容易に行える構成としている。  
また、本ＳＰＣ複合装置１への電源部はプリンタ部３０側に設けられている。前記ヒンジ機構４１の近傍に、スキャナ部１０へ電源を供給するための給電ケーブル４３が設けられている。さらに、このＳＰＣ複合装置１には、ＵＳＢインターフェイス５２が設けられている。ＵＳＢインターフェイスは、スキャナ機能時にはホストコンピュータ３への画像の送信し、プリンタ機能時にはホストコンピュータ３から画像データを受信するのに用いられる。
【００３６】
ＳＰＣ複合装置１の前面上側には、操作パネル７０が設けられている。この操作パネルの各種ボタンの操作によって、ＳＰＣ複合装置のスキャナ機能・コピー機能の各種設定を行うことができる。なお、プリンタ機能の各種設定は、操作パネル７０上ではなく、ＵＳＢインターフェイス５２を介してＳＰＣ複合装置１と接続されたコンピュータのプリンタドライバの設定により、行われる。制御回路５０は、設定内容に応じて、装置内の各構成要素を制御する。
【００３７】
＝＝＝スキャナ部１０の構成＝＝＝
スキャナ部１０は、原稿台ガラス１２と、原稿台カバー１４と、読取キャリッジ１６と、駆動手段１８と、規制ガイド２０とを有する。原稿台ガラスは、原稿５を載置する透明なガラス製の板である。原稿台カバー１４は、原稿台ガラス１２に載置された原稿５の読み取り面を原稿台ガラス１２側に押圧する。読取キャリッジ１６は、原稿台ガラス１２を介して対向し、原稿５と一定の間隔を保ちながら原稿５に沿って走査する。駆動手段１８は、読取キャリッジ１６を走査するための駆動力を発生する。規制ガイド２０は、読取キャリッジ１６を安定した状態にて走査させるための案内である。
【００３８】
読取キャリッジ１６は、光源２２と、レンズ２４と、ミラー２６と、ＣＣＤセンサ２８と、ガイド受け部２９とを有する。光源２２は、原稿台ガラス１２を介して原稿５に光を照射する。この光源２２は、ＲＧＢの３色の発光ダイオードを有し、各発光ダイオードを切り替えて、原稿５に光を照射する。レンズ２４は、原稿５による反射光を集光させる。ミラー２６は、４枚設けられており、原稿５からの反射光をレンズ２４に導く。ＣＣＤセンサ２８は、レンズを透過した反射光を受光する。ガイド受け部２９は、規制ガイド２０と係合している。  
ＣＣＤセンサ２８は、光信号を電気信号に変換するフォトダイオードが列状に配置されたリニアセンサで構成される。このリニアセンサは、読取キャリッジの移動方向と垂直な方向に、配置される。光源２２がＲＧＢの３色の光を順に発するので、ＣＣＤセンサ２８は、ＲＧＢの反射光を順に受光することになる。それぞれの反射光を受光する毎にＣＣＤセンサ２８の電荷を検出すれば、それぞれの反射光の光量を検出することができる。
【００３９】
駆動手段１８は、タイミングベルト１８１と、プーリ１８２と、パルスモータ１８３と、アイドラプーリ１８４とを有する。タイミングベルトは、読取キャリッジ１６に固定された環状のベルトである。プーリ１８２は、このタイミングベルト１８１と噛み合う。パルスモータ１８３は、プーリ１８２を回転駆動し、タイミングベルトを駆動する。アイドラプーリ１８４は、プーリ１８２の反対側に配置され、タイミングベルト１８１に張力を付与する。パルスモータは、制御回路５０のスキャナコントロールユニット（後述）により、制御される。
【００４０】
スキャナ部１０は、光源２２の光を原稿５に照射し、その反射光をＣＣＤセンサ２８上に結像させつつ、読取キャリッジ１６を原稿５に沿って移動させる。このとき、ＣＣＤセンサ２８が受光した光量を示す電圧値として所定の周期で読み込むことにより、１周期の間に読み取りキャリッジ１６が移動した距離分の画像を、出力する画像の１ライン分のデータとして取り込んでいく。但し、ＣＣＤセンサ２８は、ＲＧＢの反射光の光量を順に検出するので、ＲＧＢの３色の反射光を同時に検出することができず、検出位置にズレが生じる。このズレは、スキャナ制御ユニット（後述）により補正される。スキャナ制御ユニットの補正により、１ライン分のＲ成分、Ｇ成分、Ｂ成分の３つのデータが取得できる。
【００４１】
＝＝＝プリンタ部３０の構成＝＝＝
＜全体構成について＞
プリンタ部３０は、印刷用紙にインクを吐出してドットを形成して画像を形成するインクジェット方式を採用している。本プリンタ部３０は、カラー画像出力が可能であり、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｋ）の４色の色インクを用いて画像を形成する。
【００４２】
次に、図３、図６、図７を参照してプリンタ部３０について説明する。図６は印刷ヘッド周辺の構成要素の配置を示した説明図、図７は印刷用紙搬送機構の駆動部を説明するための説明図である。
【００４３】
プリンタ部３０は、図示するように、印刷ヘッド３８を駆動してインクを吐出する機構と、この書込キャリッジ３６をキャリッジモータ４０によって移動方向（用紙７の搬送方向と直交する方向）に往復動させる機構と、搬送モータ（以下、ＰＦモータともいう）４２によって用紙７を搬送する機構とを有している。
【００４４】
インクを吐出する機構は、複数のノズルを備えた印刷ヘッド３８を有する。印刷ヘッドは、ヘッド制御ユニット（後述）から送られてくるヘッド駆動データに基づいて、所定のノズルからインクを吐出する。印刷ヘッド３８の下面３８１には、複数のノズル列が書込キャリッジ３６の移動方向に並んでいる。各ノズル列には、複数のノズルが用紙７の搬送方向に沿って並んでいる。印刷ヘッド３８は、各ノズルに対応させて記憶素子を備えている。この記憶素子は、ヘッド制御ユニット（後述）から送られてくるヘッド駆動データ（後述）を記憶する。
【００４５】
書込キャリッジ３６を往復動させる機構は、キャリッジモータ（以下、ＣＲモータともいう）４０と、軸４４と、リニア式エンコーダ４６と、リニア式エンコーダ用符号板４６１と、プーリ４８と、タイミングベルト４９とを有する。キャリッジモータ４０は、書込キャリッジ３６を駆動する。軸４４は、用紙７の搬送方向と直交する方向に設けられ、書込キャリッジ３６を往復移動可能に保持する。リニア式エンコーダ４６は、所定の間隔のスリットが形成された符号板４６１を用いて、書込キャリッジの位置を検出する。プーリ４８は、キャリッジモータ４０の回転軸に取付けられ、タイミングベルト４９を駆動する。キャリッジモータ４０が駆動すると、タイミングベルト４９が駆動され、書込キャリッジ３６が軸４４に案内されながら移動する。
【００４６】
書込キャリッジ３６には、印刷ヘッド３８と、この印刷ヘッド３８と一体に設けられたカートリッジ装着部が固定されている。このカートリッジ装着部には、黒（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）等のインクが収容されたインクカートリッジが装着される。
【００４７】
用紙７を搬送する機構は、プラテン３５と、搬送ローラ３７と、排紙ローラ３９と、搬送モータ４２と、ロータリ式エンコーダ４７と、用紙検出センサ４５とを有する。プラテン３５は、印刷ヘッド３８と対向して配置され、用紙７と印刷ヘッド３８とが適切な距離となるように用紙７を案内する案内部材である。搬送ローラ３７は、プラテン３５に対し用紙７の搬送方向の上流側に設けられ、プラテン３５に所定の角度にて用紙７が接触するように用紙７を搬送する。排紙ローラ３９は、プラテン３５に対し用紙７の搬送方向の下流側に設けられ、搬送ローラ３７から外れた用紙７を排紙する。搬送モータ４２は、搬送ローラ３７及び排紙ローラ３９を駆動する。搬送ローラ３７及び排紙ローラ３９は、両ローラの搬送量が一致するようにギア列３１により繋げられ、搬送モータ４２の回転が伝達されて駆動される。ロータリ式エンコーダ４７は、用紙７の搬送量を検出する。なお、用紙検出センサ４５は、用紙７の有無及び用紙７の先端・後端を検出する。
【００４８】
＜ノズルの構成について＞
図８は、印刷ヘッド３８の下面３８１におけるノズルの配列を示す説明図である。
【００４９】
印刷ヘッド３８の下面３８１には、ブラックインクノズル列３３（Ｋ）と、シアンインクノズル列３３（Ｃ）と、マゼンタインクノズル列３３（Ｍ）と、イエローインクノズル列３３（Ｙ）が形成されている。各ノズル列３３は、各色のインクを吐出するための吐出口であるノズルを複数個（本実施形態では１８０個）備えている。
【００５０】
各ノズル列３３の複数のノズルは、紙搬送方向に沿って、一定の間隔（ノズルピッチ：ｋ・Ｄ）でそれぞれ整列している。ここで、Ｄは、紙搬送方向における最小のドットピッチ（つまり、用紙に形成されるドットの最高解像度での間隔）であり、例えば、解像度が７２０ｄｐｉであれば１／７２０インチ（約３５．３μｍ）である。また、ｋは、１以上の整数である。  
また、各ノズル列のノズルは、下流側のノズルほど小さい番号が付される。ノズル♯１は、搬送方向最下流のノズルであり、ノズル♯１８０は、搬送方向最上流のノズルになる。各ノズルには、各ノズルを駆動してインク滴を吐出させるための駆動素子としてピエゾ素子（不図示）が設けられている。このピエゾ素子は、ヘッド駆動データに基づいて駆動される。この結果、ヘッド駆動データに応じて、印刷用紙にドットが形成される。
【００５１】
なお、印刷時には、用紙７が搬送ローラ３７及び排紙ローラ３９によって間欠的に所定の搬送量Ｆで搬送され、その間欠的な搬送の間に書込キャリッジ３６が走査方向に移動して各ノズルからインク滴が吐出される。
【００５２】
＝＝＝制御回路５０の内部構造＝＝＝
図９は、制御回路５０の説明図である。
【００５３】
制御回路５０には、ＲＯＭ５３及びカードインターフェイス５４がＣＰＵバス５０１を介して繋がっている。このＲＯＭ５３にプログラムが記憶されており、制御回路５０は、このプログラムに従って、装置全体の制御を行う。また、ＣＰＵバス５０１とは独立しているローカルバス５０２には、ＳＤＲＡＭ６９が繋がっている。なお、ＣＰＵバス５０１は３２ビット幅のデータバスであり、ローカルバス５０２は１６ビット幅のデータバスである。また、制御回路５０には、操作パネル７０及びモータドライバ５０３がシリアルインターフェイス（不図示）を介して繋がっている。この、モータドライバ５０３は、スキャナ部１０の駆動手段１８、プリンタ部３０のキャリッジモータ４０と、搬送モータ４２とを駆動するときに用いられる。また、ＳＰＣ複合装置は、ＵＳＢインターフェイス５５を介して、外部のコンピュータ３と接続されている。
【００５４】
制御回路５０は、ＣＰＵ５２と、ＳＤＲＡＭコントローラ６８と、複数のユニット（５６〜６６）と、を有する。制御回路５０は、ＣＰＵ５２を内蔵した専用回路として構成されている。ＣＰＵ５２は、ＲＯＭ５３に記憶されたプログラムに従って、各ユニットの設定等を行うことによって、装置全体の制御を行う。ＳＤＲＡＭコントローラ６８は、制御回路５０内のユニットからの指示に応じて、ＳＤＲＡＭへデータの書き込みや読み出しを行う。また、制御回路５０には、ＵＳＢ制御ユニット５６と、スキャナ制御ユニット５８と、２値化ユニット６０と、インターレース処理ユニット６１と、イメージバッファユニット６２と、ヘッド制御ユニット６４と、ＣＰＵインターフェイスユニット６６が設けられている。  
ＵＳＢ制御ユニット５６は、ＵＳＢインターフェイス５５を介して、受信したデータをＳＤＲＡＭ５９へ格納し、ＳＤＲＡＭ内のデータを送信する際に用いられる。
【００５５】
スキャナ制御ユニット５８は、スキャナ部１０が備える光源２２、ＣＣＤセンサ２８、パルスモータ１８３等を制御する。スキャナ制御ユニット５８は、ＣＣＤセンサ２８を介して読み込んだ画像データを送出する機能を有する。スキャナコントロールユニット５８が生成する画像データは、２５６階調のＲＧＢ色空間の画像データ（２５６階調ＲＧＢデータ）である。スキャナコントロールユニット５８は、生成した２５６階調ＲＧＢデータを、ＳＤＲＡＭ６９内に割り当てられたラインバッファに記憶する。
【００５６】
２値化処理ユニット６０は、２５６階調ＲＧＢデータを２階調（又は４階調）のＣＭＹＫ系のデータに変換する。まず、２値化ユニット６０は、２５６階調ＲＧＢデータを、ＳＤＲＡＭ６９に格納されたルックアップテーブル（ＬＵＴ）を参照して２５６階調のＣＭＹＫデータに変換する（この処理を、色変換処理ともいう）。そして、２値化ユニット６０は、誤差拡散法等の手法によって、２５６階調ＣＭＹＫデータを２階調ＣＭＹＫデータに変換する（この処理を、ハーフトーン処理ともいう）。２値化処理ユニット６０は、生成した２階調ＣＭＹＫデータを、ＳＤＲＡＭ内に割り当てられた２値化バッファに記憶する。
【００５７】
インターレース処理ユニット６１は、１ラスタライン（印刷画像における主走査方向の１ライン）を複数回の書込キャリッジ３６の走査にて印刷する所謂オーバーラップ印刷する際に、１ラスタラインのＣＭＹＫのデータを書込キャリッジ３６の走査毎に印刷するデータに振り分けてオーバーラップ印刷対応データ（以下、ＯＬ対応データという）を生成する。インターレース処理ユニット６１は、生成したＯＬ対応データを、ＳＤＲＡＭ６９内に割り当てられたインターレースバッファに記憶する。また、インターレース処理ユニット６１では、インターレースバッファに記憶されたデータを所定のサイズ毎に読み出して、ノズル配列に対応させるべく並び替える。
【００５８】
イメージバッファユニット６２は、インターレース処理ユニット６１から送出されたデータを、書込キャリッジ３６の走査毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する。イメージバッファユニット６２は、生成したヘッド駆動データを、ＳＤＲＡＭ内に割り当てられたイメージバッファに記憶する。
【００５９】
ヘッド制御ユニット６４は、イメージバッファのヘッド駆動データを印刷ヘッド３８へ送り出す。イメージバッファにはヘッド駆動データが順次記憶され、書込キャリッジ３６の１回の走査中に必要なヘッド駆動データが蓄積されたときに、書込キャリッジ３６の駆動が始まる。そして、書込キャリッジ３６の移動中に、ヘッド制御ユニット６４は、ヘッド駆動データを順次印刷ヘッド３８へ送り出す。印刷ヘッド３８は、ヘッド制御ユニット６４から送られてくるヘッド駆動データに基づいて、所定のノズルからインクを吐出する。
【００６０】
ＣＰＵインターフェイスユニット６６は、ＣＰＵ５２がＳＤＲＡＭ６９へアクセスを可能とする機能を有している。
【００６１】
＝＝＝ＳＤＲＡＭのデータ転送＝＝＝
本実施形態のＳＤＲＡＭコントローラは、制御回路内の各ユニットに応じて、又は、制御回路内の各ユニットからの指示に応じて、以下に説明する４バースト転送又は８バースト転送を行う。なお、以下の説明では、読み出しに対するレイテンシを２とする（書き込みに対するレイテンシは０である）。
【００６２】
＜読み出し時＞
図１０Ａは、４バースト転送による読み出し時の動作説明図である。図１０Ｂは、８バースト転送による読み出し時の動作説明図である。  
図中の一番上の信号は、同期のためのクロックである。コマンド信号は、ＳＤＲＡＭへの動作命令のための信号である。このコマンド信号は、コントロール信号（ＲＡＳ、ＣＡＳ、ＷＥ等）の論理レベルの組み合わせによるものである。アドレス信号は、データの入出力先を指定するための信号である。データ信号は、ＳＤＲＡＭのデータピンに入出力する信号である。
【００６３】
まず、ＳＤＲＡＭコントローラは、各ユニットからの指示に応じて、ＳＤＲＡＭに対してＡＣＴコマンド（行アドレス・ストローブ信号（ＲＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、行アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる行アドレスを行Ａとする。次に、ＳＤＲＡＭコントローラは、ＳＤＲＡＭに対してＲＥＡＤコマンド（列アドレス・ストローブ信号（ＣＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、列アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる列アドレスを列ａ１とする。これにより、レイテンシが２なので、２クロック後から行Ａ列ａ１のデータが出力される。また、ＳＤＲＡＭは、４バースト長に設定されており、４つの連続したアドレス（行Ａ列ａ１〜列ａ４）のデータを１クロック毎に順に出力する。
【００６４】
ＳＤＲＡＭは、入力された行アドレスに応じてその行のデータを全てラッチし、その後の列アドレスに応じて、ラッチしたデータの中から出力するデータを選択している。そのため、ＳＤＲＡＭは、同じ行のデータであれば、ＡＣＴコマンド等を出さずに、連続してデータを出力できる。上記の４バースト転送は、これを利用したものである。
【００６５】
８バースト転送の場合、ＳＤＲＡＭコントローラは、最初のＲＥＡＤコマンドから４クロック後に、更にＲＥＡＤコマンドをＳＤＲＡＭへ与える。また、ＳＤＲＡＭコントローラは、最初に与えた列アドレス（列ａ１）の４アドレス後の列アドレス（列ａ５）をＳＤＲＡＭに与える。これにより、このＲＥＡＤコマンドの２クロック後から、行Ａ列ａ５〜ａ８のデータが出力される。行Ａ列ａ５のデータが、最初のＲＥＡＤコマンドによる行Ａ列ａ４からのデータの読み出し直後に、読み出される。したがって、この場合、ＳＤＲＡＭは、４バースト長に設定されているが、８つの連続したアドレス（行Ａ列ａ１〜ａ８）のデータを１クロック毎に順に読み出すことになる。  
８バースト転送の場合、ＡＣＴコマンドを２度出すことなく、４バースト転送を連続して２回行っている。これにより、読み出し速度を速くすることができる。
【００６６】
＜書き込み時＞
図１１Ａは、４バースト転送による書き込み時の動作説明図である。図１１Ｂは、８バースト転送による書き込み時の動作説明図である。
【００６７】
まず、ＳＤＲＡＭコントローラは、各ユニットからの指示に応じて、ＳＤＲＡＭに対してＡＣＴコマンド（行アドレス・ストローブ信号（ＲＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、行アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる行アドレスを行Ａとする。次に、ＳＤＲＡＭコントローラは、ＳＤＲＡＭに対してＷＲＩＴＥコマンド（列アドレス・ストローブ信号（ＣＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、列アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる列アドレスを列ａ１とする。
【００６８】
書き込まれるデータは、１クロック毎に連続してＳＤＲＡＭへデータ信号として入力される。ＳＤＲＡＭは、入力されたアドレスから連続する４つのアドレス（行Ａ列ａ１〜ａ４）に、１クロック毎にデータを取り込み、順に書き込んでいく。  
図中のＤＱＭ信号は、書き込みデータに対してマスクを行うための信号である。書き込みに対するレイテンシはゼロであるので、ＤＭＱにＨレベルが入力されたサイクルの書き込みデータは、ＳＤＲＡＭには書き込まれない。
【００６９】
８バースト転送の場合、ＳＤＲＡＭコントローラは、最初のＷＲＩＴＥコマンドから４クロック後に、更にＷＲＩＴＥコマンドをＳＤＲＡＭへ与える。また、ＳＤＲＡＭコントローラは、最初に与えた列アドレス（列ａ１）の４アドレス後の列アドレス（列ａ５）をＳＤＲＡＭに与える。これにより、２度目のＷＲＩＴＥコマンドに対する最初のデータが、最初のＷＲＩＴＥコマンドによる行Ａ列ａ４へのデータの書き込み直後に、行Ａ例ａ５へ書き込まれる。したがって、この場合、ＳＤＲＡＭは、４バースト長に設定されているが、８つの連続したアドレス（行Ａ列ａ１〜ａ８）へのデータを１クロック毎に順に書き込むことになる。
【００７０】
＝＝＝ＳＤＲＡＭコントローラへの指示＝＝＝
図１２Ａは、読み出し時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。図１２Ｂは、書き込み時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。
【００７１】
ユニットがＳＤＲＡＭからデータを読み出すとき、ユニットは、ＳＤＲＡＭコントローラへ、読み出し要求を行うと共に、読み出し先のアドレスを指示する。また、ユニットによっては、ＳＤＲＡＭコントローラに対して、バースト長を指定する信号を出すこともある。ＳＤＲＡＭコントローラは、ユニットから読み出し要求を受けた後、そのユニットに対してＲＡＣＫ信号を出す。４バースト転送のみ行うユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、４バースト転送によりＳＤＲＡＭからデータを読み出す。８バースト転送のみ行うユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、８バースト転送によりＳＤＲＡＭからデータを読み出す。４バースト転送及び８バースト転送の両方を行うユニットから読み出し要求がある場合、バースト長を指定する信号に従って、ＳＤＲＡＭコントローラはＳＤＲＡＭからデータを読み出す。ＳＤＲＡＭコントローラは、ＳＤＲＡＭからデータを取り出した後、ＡＣＫ信号と共にデータを送り出す。これにより、ユニットは、指定したアドレス先のデータを読み出すことができる。
【００７２】
本実施形態では、ユニットがバースト長指定信号を出さない場合、ＳＤＲＡＭコントローラは、どのバースト長にて読み出し動作を行うのかを、読み出し要求元のユニットに応じて決定する。例えば、本実施形態では、ヘッド駆動ユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、８バースト転送にてＳＤＲＡＭからデータを読み出す。また、ＣＰＵインターフェイスユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、４バースト転送にてＳＤＲＡＭからデータを読み出す。
【００７３】
ユニットがＳＤＲＡＭへデータを書き込むとき、ユニットは、ＳＤＲＡＭコントローラへ、書き込み要求を行うと共に、アドレスと書き込むデータとＤＱＭ信号を指示する。ＳＤＲＡＭコントローラは、ユニットから書き込み要求を受けた後、ユニットから指示されたデータに応じて４バースト転送又は８バースト転送にて、ＳＤＲＡＭへデータの書き込みを開始する。また、ＳＤＲＡＭコントローラは、ＳＤＲＡＭへのデータの書き込みを開始すると共に、ユニットへＡＣＫ信号を送り出す。これにより、ユニットは、指定したアドレス先へのデータの書き込みを終了する。
【００７４】
本実施形態では、ＤＲＡＭコントローラは、ユニットから指示されたデータが４バースト転送相当分であれば、ＳＤＲＡＭに対して４バースト転送にてデータを書き込む。また、ＳＤＲＡＭコントローラは、ユニットから指示されたデータが８バースト転送相当分であれば、ＳＤＲＡＭに対して８バースト転送にてデータを書き込む。具体的には、ローカルバス５０２は１６ビットバスなので、ＳＤＲＡＭコントローラは、ユニットから６４ビットのデータの書き込みを指示されたとき、４バースト転送にてデータをＳＤＲＡＭに書き込む。また、ＳＤＲＡＭコントローラは、ユニットから１２８ビットのデータの書き込みを指示されたとき、８バースト転送にてデータをＳＤＲＡＭに書き込む。
【００７５】
以下に各ユニットの動作が説明されるが、説明の簡略化のため、特別な場合を除き、ＳＤＲＡＭコントローラの存在を無視し、ユニットがＳＤＲＡＭへデータを書き込む等と表現する。
【００７６】
＝＝＝プリンタ機能時のデータの流れ＝＝＝
まず、外部のコンピュータ３からＵＳＢインターフェイスを介して印刷データを受信し、ＳＰＣ複合装置１のプリンタ部３０が印刷を行う場合のデータの流れを説明する。
【００７７】
＜ＵＳＢコントローラからＳＤＲＡＭ（受信バッファ）へ＞
図１３Ａは、ＵＳＢコントローラがＤＭＡコントローラへ送るデータの説明図である。図１３Ｂは、ＵＳＢコントローラから受信したデータをＳＤＲＡＭの受信バッファへ記憶するときの説明図である。図１３Ｂには、ＤＭＡコントローラの概念図も示されている。
【００７８】
本実施形態のＵＳＢ制御ユニット５６（前述）は、ＵＳＢコントローラ５６１とＤＭＡコントローラ５６２を含んでいる。ＵＳＢコントローラ５６１は、ＵＳＢインターフェイス５５から受信したデータをＤＭＡコントローラ５６２へ送る。
【００７９】
ＵＳＢコントローラ５６１がＤＭＡコントローラへ送るデータは、６バイトのヘッダと、可変長のデータ部とからなる。ヘッダは、６バイトに固定されたデータ長である。このヘッダは、その後に続くデータ部の種類を示す種別情報と、データ部のデータ長を示すデータ長情報とを含んでいる。ＤＭＡコントローラ５６２は、ＵＳＢコントローラから、ヘッダを受け取った後、データ部を受け取ることになる。
【００８０】
データ部の種類は、２種類ある。一つが印刷データであり、もう一つがコマンドデータである。印刷データは、制御情報と画像情報とからなる。制御情報は、画像情報のデータ長さを示す情報、画像情報の圧縮タイプを示す情報、プリンタ部の構成要素を制御するための情報等からなる。画像情報は、プリンタ部が印刷するときの各画素の情報である。本実施形態では、画像情報は、２階調ＣＭＹＫデータである。コマンドデータは、例えば、外部のコンピュータがプリンタへステータス情報を問い合わせるときに発行される問い合わせ情報である。
【００８１】
ＤＭＡコントローラは、カウンタ付ゲート５６４と、ＤＭＡバッファ５６５と、スイッチ５６６とを有する。カウンタ付ゲート５６４は、ＵＳＢコントローラからのデータの転送を制御するゲートであり、また、ＵＳＢから転送されるデータ長をカウントするカウンタでもある。これにより、カウンタの値に応じてゲートを開閉することができる。ＤＭＡバッファが蓄積できるデータ長は、カウンタで設定されるデータ長よりも、はるかに小さい。例えば、ＤＭＡバッファのサイズは８バイトであり、カウンタで設定できるデータ長は６４ｋバイトである。
【００８２】
ゲート５６４が閉じている場合、ＵＳＢコントローラからＤＭＡコントローラにデータは流れてこない。スイッチ５６６がオープン状態でゲート５６４を開いた場合、ＤＭＡバッファ５６５にデータが蓄積され、ＤＭＡバッファ５６５にデータが蓄積できなくなるとＵＳＢコントローラ５６１からＤＭＡコントローラ５６２にデータが流れなくなる。スイッチ５６６がクローズ状態でゲート５６４を開いた場合、ＤＭＡコントローラからＳＤＲＡＭへ（ＳＤＲＡＭコントローラを介して）データが転送される。
【００８３】
ＳＤＲＡＭ６９には、２つの受信バッファが割り当てられている。一方の受信バッファは、印刷データを記憶するための領域として使用される。また、もう一方の受信バッファは、コマンドデータを記憶するための領域として使用される。
【００８４】
図１４は、ＤＭＡコントローラの動作のフロー図である。以下に、ＤＭＡコントローラの動作について説明する。
【００８５】
まず、ＤＭＡコントローラ５６２は、ゲート５６４を閉じ、スイッチ５６６をオープンにしておく（Ｓ１０１）。次に、ＤＭＡコントローラ５６２は、カウンタ付ゲート５６４のカウンタを６バイトに設定する（Ｓ１０２）。設定された６バイトのデータ長は、ヘッドのデータ長と同じ長さである。次に、ＤＭＡコントローラ５６２は、ゲートを開き、ゲートを通過するデータが６バイトに達したら、ゲートを閉じる（Ｓ１０３）。これにより、ＤＭＡバッファ５６５には６バイトのデータが蓄積される。すなわち、ＤＭＡバッファ５６５にヘッダが蓄積される。
【００８６】
次に、ＤＭＡコントローラ５６２は、ＣＰＵ５２へ割り込みを発生させる（Ｓ１０４）。割り込み待ち後、ＤＭＡコントローラ５６２は、ＤＭＡバッファ内のデータをＣＰＵ５２へ送信する。ＣＰＵ５２がヘッダの情報を取得した後、ＤＭＡコントローラ５６２は、ＤＭＡバッファのデータをクリアする（Ｓ１０５）。これにより、ＣＰＵ５２は、ヘッダの情報を取得することにより、ヘッダに続くデータ部の種類・データ長に関する情報を取得する。本実施形態では、ヘッダは、データ部の種類として印刷データを示し、データ部の長さとして５６ｋバイトを示すものとする。
【００８７】
次に、ＤＭＡコントローラ５６２は、ＣＰＵ５２の指示に基づいて、カウンタを設定する。また、ＤＭＡコントローラ５６２は、ＣＰＵ５２の指示に基づいて、ヘッダに続くデータ部の転送先を設定する（Ｓ１０６）。なお、ＣＰＵ５２は、先ほど取得したヘッダの情報に基づいて、ＤＭＡコントローラ５６２に対してカウンタの設定や転送先の設定を行っている。したがって、カウンタは５６ｋバイトに設定され、転送先は受信バッファ♯１が設定される。
【００８８】
次に、ＤＭＡコントローラ５６２は、スイッチ５６６をクローズ状態にし、ゲート５６４を開く（Ｓ１０７）。これにより、ヘッダに続くデータ部が、ＳＤＲＡＭの設定された転送先へ転送される。この転送時、カウンタは、通過したデータをカウントしている。そして、設定されたカウント分のデータ転送が完了した後（Ｓ１０８）、ＤＭＡコントローラ５６２はＣＰＵへ割り込みを発生し、割り込み待ち後、再度ステップ１０１からの処理を行う。
【００８９】
印刷データがＳＤＲＡＭ６９へＤＭＡ転送された場合、後述するように、ＣＰＵ５４によって受信バッファの印刷データがイメージバッファへヘッド駆動データとして置き換えられ、ヘッド制御ユニット６４によって印刷ヘッドへヘッド駆動データが送信される。一方、コマンドデータがＳＤＲＡＭ６９へＤＭＡ転送された場合、ＣＰＵ５４がそのコマンドデータを読み出して、コマンドデータに従ってＳＰＣ複合装置１を処理する。例えば、コマンドデータが問い合わせ情報である場合、ＣＰＵ５４は、コマンドデータの発信元に対して、ＳＰＣ複合装置１の状況（例えば、「印刷待機中」など）を示すステータスデータを送信する。
【００９０】
ところで、仮に、外部のコンピュータから送られてきたデータ（ヘッダを含む）を全てＳＤＲＡＭへ一旦記憶させ、その後にＣＰＵ５２がＳＤＲＡＭ６９に記憶されたヘッダの情報を読み込むとすると、ＣＰＵ５２がヘッダの情報を取得するまでに時間がかかる。なぜなら、この場合、ＵＳＢ制御ユニット５６がＳＤＲＡＭ６９へヘッダの情報を書き込む時間、その書き込みの後にＣＰＵ５２がＣＰＵインターフェイスユニット６６へヘッダの情報を読み出す指令を出す時間、ＣＰＵインターフェイスユニット６６がＳＤＲＡＭ６９からヘッダの情報を読み出す時間等がかかるからである。  
本実施形態によれば、ＤＭＡバッファ５６５に蓄積されたヘッダの情報をＣＰＵ５２が取得しているので、ＣＰＵ５２がヘッダの情報を取得する時間が短縮する。
【００９１】
また、本実施形態によれば、ヘッダに続くデータ部をＣＰＵ５２が読み出す時間も短縮できる。これにより、例えば、外部のコンピュータが印刷データを送信したとき、印刷開始時間を早めることができる。仮に、外部のコンピュータから送られてきたデータ（ヘッダを含む）を全てＳＤＲＡＭへ一旦記憶させた場合、まず、ＣＰＵ５２は、送られてきたデータのヘッダの情報を取得し、データ部がコマンドデータではなく印刷データであることをＣＰＵ５２が認識した後、ＣＰＵ５２は、再度印刷データを読み出さなければならない。そして、これらの重複する処理は、いずれもＣＰＵインターフェイスユニット６６やＳＤＲＡＭコントローラを介する処理なので、時間がかかるので、印刷開始が遅れてしまう。一方、本実施形態によれば、ＤＭＡバッファに蓄積されたヘッダの情報をＣＰＵ５２が取得し、ＣＰＵ５２は、その情報に基づいて、データ部の転送先を設定している。このとき、ＣＰＵ５２は、既に、データ部が印刷データであることと、その転送先（アドレス）とを取得している。そのため、ＣＰＵ５２の次の処理は、ＳＤＲＡＭ６９から印刷データを読み出すだけでよい。
【００９２】
なお、本実施形態によれば、ヘッダに続くデータ部がコマンドデータの場合、例えば、外部のコンピュータがプリンタのステータスを問い合わせた場合、ＣＰＵ５２は、外部のコンピュータに対して素早くステータス情報を送信することができる。
【００９３】
また、本実施形態によれば、８バースト転送にて、ＤＭＡコントローラ５６２からＳＤＲＡＭ６９へデータが転送される。これにより、外部から受信したデータを素早くＳＤＲＡＭ６９へ記憶することができる。
【００９４】
＜ＳＤＲＡＭ内のデータの置き換え（受信バッファからイメージバッファへ）＞
外部のコンピュータから受信した印刷データは、ＳＤＲＡＭの受信バッファに記憶される。本実施形態では、この印刷データは、色変換処理や２値化処理等を終えたヘッド駆動データである。但し、データが圧縮されているため、ヘッド制御ユニット６４は、そのデータをそのままの状態でヘッドへ転送することができない。また、データの内容が同じヘッド駆動データであっても、データの形式が異なる場合、ヘッド制御ユニット６４は、そのデータをそのままの状態でヘッドへ転送することができない。そこで、ＣＰＵ５２は、ＳＤＲＡＭの受信バッファの印刷データを演算し、ヘッド制御ユニット６４がヘッドへ転送できる形式にて、ＳＤＲＡＭのイメージバッファにヘッド駆動データを記憶させる。
【００９５】
ＣＰＵ５４がＳＤＲＡＭ内のデータを演算する場合、ＳＤＲＡＭ内のまとまった領域のデータではなく、個々のアドレスデータを必要とすることが多い（ＣＰＵ５４が、ＳＤＲＡＭに対して、ランダムアクセスしたいことが多い）。このような場合、８バースト転送を行っても、ＣＰＵ５４が必要とするデータは、転送されたデータのうちの一部のデータだけである。むしろ、８バースト転送を行うと、ＣＰＵ５４が必要とするデータを取得するまでの時間が長くなる。また、このような場合に単に４バースト転送を行っても、ＣＰＵ５４が必要とするデータは、転送されたデータのうちの一部のデータだけである。
【００９６】
例えば、ＣＰＵ５４が２バースト転送分のデータ（３２ビット分のデータ）を必要としている場合、ＣＰＵインターフェイスユニット６６がＳＤＲＡＭ６９から４バースト転送された全データ（６４ビット分のデータ）をＣＰＵ５２へ送っても、そのうちの半分のデータしか使われない。この使われない分のデータの転送を待ってからＣＰＵインターフェイスユニット６６がＣＰＵ５４へデータを送ったのでは、データの処理時間が長くなってしまう。
【００９７】
そこで、本実施形態では、以下のように、ＣＰＵインターフェイスユニット６６は、ＣＰＵ５４との間でデータを受け渡している。
【００９８】
図１５は、ＣＰＵインターフェイスやＳＤＲＡＭコントローラ等の信号の受け渡しの説明図である。
【００９９】
ＣＬＫは、ＣＰＵ側のクロックである。本実施形態では、ＣＰＵ側のクロックの周波数は、ＳＤＲＡＭ側のクロックの周波数の半分である。ＤＴ信号は、ＣＰＵインターフェイスユニット６６とＣＰＵ５４との間のデータ線に流れるデータ信号である。ＲＥＱ信号は、ＣＰＵインターフェイスユニット６６からＳＤＲＡＭコントローラ６８へ送られる要求信号である。ＡＣＫ信号は、ＳＤＲＡＭコントローラからＣＰＵインターフェイスユニット６６へ送られるＡＣＫ信号である。ＲＥＱ信号（要求信号）及びＡＣＫ信号については、図１２Ａにおいて説明した。
【０１００】
ＸＷＡＩＴ信号は、ＣＰＵインターフェイスユニット６６がＣＰＵ５４に送る信号である。ＸＷＡＩＴ信号がＬレベルのとき、ＣＰＵインターフェイスユニット６６がＳＤＲＡＭから読み出したデータをＣＰＵ５４は読み出すことができない（待機状態）。ＸＷＡＩＴ信号がＬレベルからＨレベルへ立ち上がってから１クロック後、ＣＰＵ５４は、ＣＰＵインターフェイスユニット６６が読み出したデータを利用することができる。
【０１０１】
ＤＴ信号とＸＷＡＩＴ信号は、ＣＰＵ５４とＣＰＵインターフェイスとの間で受け渡される（ＣＰＵバスを使う）信号である。ＲＥＱ信号とＡＣＫ信号は、ＣＰＵインターフェイスユニット６６とＳＤＲＡＭコントローラ６８との間で受け渡される信号である。なお、図中の「クロック」・「コマンド」・「アドレス」・「データ」は、既に説明された通り、ＳＤＲＡＭコントローラ６８とＳＤＲＡＭ６９との間で受け渡される信号である。
【０１０２】
本実施形態では、ＣＰＵインターフェイスユニット６６は、ＳＤＲＡＭコントローラ６８からＡＣＫ信号を受けた後、１クロック後にＸＷＡＩＴ信号をＬレベルからＨレベルへ立ち上げている。このため、ＣＰＵ５４は、ＣＰＵコントローラ６６がＡＣＫ信号を受けてから２クロック後に、ＣＰＵインターフェイスユニット６６が読み出したデータを利用することができる。一方、ＣＰＵインターフェイスユニット６６は、ＸＷＡＩＴ信号が立ち上がったとき、未だＳＤＲＡＭコントローラ６８から４バースト分の全てのデータを受けていない。このため、本実施形態では、４バースト転送分のデータのうちの２バースト転送分のデータ（３２ビット分のデータ）をＣＰＵインターフェイスユニット６６がＳＤＲＡＭコントローラから受け取ったときに、ＣＰＵ５４は、その２バースト転送分のデータを利用可能になる。
【０１０３】
したがって、ＣＰＵ５４は、データの読み出しをＣＰＵインターフェイスユニット６６に指示してから、速やかにそのデータを読み出すことができる。これにより、データの処理時間を短縮することができる。  
例えば、本実施形態によれば、ＣＰＵ５４は、ＳＤＲＡＭ６９の受信バッファの印刷データを、速やかにＳＤＲＡＭ６９のイメージバッファにヘッド駆動データとして記憶することができる。
【０１０４】
なお、ＣＰＵ５４が２バースト転送分ではなく４バースト転送分のデータを必要とする場合、ＣＰＵインターフェイスユニット６６は、ＳＤＲＡＭコントローラ６８からＡＣＫ信号を受けた後１クロック後ではなく、２クロック後にＸＷＡＩＴ信号をＬレベルからＨレベルへ立ち上げる。すなわち、ＣＰＵインターフェイスユニットは、図中の待機時間Ｔを制御することによって、ＳＤＲＡＭ６９から読み出したデータをＣＰＵ５４が利用するタイミングを制御している。
【０１０５】
＜ＳＤＲＡＭ（イメージバッファ）から印刷ヘッドへ＞
ＳＤＲＡＭ６９のイメージバッファには、ヘッド駆動データが順次記憶される。そして、書込キャリッジ３６の１回の走査中に必要なヘッド駆動データがイメージバッファに蓄積されたときに、書込キャリッジ３６の駆動が始まる。そして、書込キャリッジ３６の移動中に、ヘッド制御ユニット６４は、ヘッド駆動データを順次印刷ヘッド３８へ送り出す。印刷ヘッド３８は、ヘッド制御ユニット６４から送られてくるヘッド駆動データに基づいて、所定のノズルからインクを吐出する。
【０１０６】
書込キャリッジ３６が一旦移動した後は、印刷ヘッド３８からインクを断続的に吐出しなければならない。そのため、ヘッド制御ユニット６４は、印刷ヘッド３８が断続的にインクを吐出できるように、印刷ヘッド３８へヘッド駆動データを送り出す必要がある。  
仮に、ヘッド制御ユニット６４によるヘッド駆動データの供給が間に合わないと、印刷ヘッド３８は、インクを吐出すべきときに、必要なヘッド駆動データがないためインクを吐出することができなくなる。例えば、４バースト転送にて、ＳＤＲＡＭ６９のイメージバッファからヘッド制御ユニット６４がヘッド駆動データを読み出すと、読み出し時間が長くなり、ヘッド駆動データの供給が間に合わないことがある。
【０１０７】
そこで、本実施形態では、ヘッド制御ユニット６４は、８バースト転送にて、ＳＤＲＡＭ６９のイメージバッファからヘッド駆動データを読み出し、ヘッド駆動データを印刷ヘッド３８へ供給する。これにより、ヘッド制御ユニット６４は、速やかに、ＳＤＲＡＭ６９のヘッド駆動データを印刷ヘッド３８へ転送することができる。この結果、印刷ヘッド３８がインクを吐出すべきとき、既に印刷ヘッド３８にはヘッド駆動データが供給されている状態になる。つまり、本実施形態によれば、ヘッド制御ユニット６４が８バースト転送にてヘッド駆動データを読み出すので、印刷ヘッド３８へのヘッド駆動データの供給が間に合わない事態を回避することができる。
【０１０８】
＝＝＝コピー機能時のデータの流れ＝＝＝
次に、スキャナ部１０が原稿を読み取り、プリンタ部３０が印刷を行う場合のデータの流れを説明する。
【０１０９】
＜スキャナ制御ユニット５８からＳＤＲＡＭ（ラインバッファ）へ＞
スキャナ制御ユニット５８は、スキャナ部１０のＣＣＤセンサ２８によって読み取られた原稿のＲＧＢデータをＳＤＲＡＭ６９のラインバッファへ記憶する。スキャナ部１０は読取キャリッジ１６を移動させてＣＣＤセンサ２８を移動させるので、読取キャリッジ１６の移動中に、スキャナ制御ユニット５８は、ＣＣＤセンサ２８から次々とＲＧＢデータを受け取ることになる。そのため、スキャナ制御ユニット５８は、ＲＧＢデータである画像データを、次々とＳＤＲＡＭ６９へ書き込む必要がある。
【０１１０】
仮に、スキャナ制御ユニット５８によるＳＤＲＡＭ６９への画像データの書き込み動作が遅いと、スキャナ部１０（ＣＣＤセンサ２８）から受け取るデータのスピードを遅く設定しなければならない。スキャナ部１０から出力するデータのスピードを遅くするためには、読取キャリッジ１６の移動スピードを遅くする必要がある。しかし、これでは、スキャナ部１０の原稿読み取り時間が長くなり、コピー完了までの時間が長くなる。例えば、４バースト転送にてスキャナ制御ユニット５８がＳＤＲＡＭ６９へ画像データを書き込むと、スキャナ部１０から受け取るデータのスピードを遅く設定する必要があり、コピー完了までの時間が長くなる。
【０１１１】
そこで、本実施形態では、スキャナ制御ユニット５８は、画像データを、８バースト転送にて、ＳＤＲＡＭ６９のラインバッファへ書き込みを行う。これにより、スキャナ制御ユニット５８によるＳＤＲＡＭ６９への画像データの書き込み動作が速くなる。この結果、スキャナ部１０から受け取るデータのスピードを速く設定できるので、読取キャリッジ１６の移動スピードを速くでき、コピー完了までの時間を短縮することができる。
【０１１２】
＜画像処理ユニットとＳＤＲＡＭ（各バッファ・ＬＵＴ）＞
２値化処理ユニット６０は、スキャナ制御ユニット５８がＳＤＲＡＭ６９のラインバッファに書き込んだ２５６階調ＲＧＢデータを、２５６階調のＣＭＹＫデータに変換する（色変換処理）。まず、２値化処理ユニット６０による色変換処理について、説明する。
【０１１３】
ＳＤＲＡＭ６９のラインバッファには、２５６階調ＲＧＢデータが記憶されている。ここでは、説明のため、ある画素の２５６階調ＲＧＢデータが、（Ｒ，Ｇ，Ｂ）＝（１３４，２５，６５）であるとする。２値化処理ユニット６０は、この画素のデータを色変換処理するとき、この２５６階調ＲＧＢデータをラインバッファから読み出す。なお、２５６階調ＲＧＢデータは８ビット×３のデータ量なので、２値化処理ユニット６０は、４バースト転送にて、２５６階調ＲＧＢデータを読み出す。
【０１１４】
ＳＤＲＡＭ６９は、ルックアップテーブル（ＬＵＴ）を予め記憶している。
【０１１５】
図１６は、２５６階調ＲＧＢデータを２５６階調ＣＭＹＫデータに変換するときに用いられるルックアップテーブルの説明図である。このルックアップテーブルは、ＳＤＲＡＭ６９に割り当てられた所定の領域に、記憶されている。ルックアップテーブルには、ＹＭＣＫデータが格納されている。そして、特定の階調のＲＧＢデータに対応するＹデータとＭデータとＣデータとＫデータが、連続したアドレス領域に格納されている。例えば、アドレスＡａ５〜Ａａ８には、（Ｒ，Ｇ，Ｂ）＝（１３４，２５，６５）に対応するＹＭＣＫデータがそれぞれ格納されている。
【０１１６】
２値化処理ユニット６０は、読み出した２５６階調ＲＧＢデータの値に基づいて、アドレスを算出する。例えば、２値化処理ユニット６０は、ある画素の２５６階調ＲＧＢデータが（Ｒ，Ｇ，Ｂ）＝（１３４，２５，６５）である場合、アドレスＡａ５を算出するようになっている。そして、２値化処理ユニット６０は、算出したアドレスに記憶されているデータを４バースト転送にて読み出す。例えば、２値化ユニット６０は、算出したアドレスＡａ５から４バースト転送にてデータを読み出す。これにより、２値化ユニット６０は、アドレスＡａ５に記憶されるＹデータ、アドレスＡａ６に記憶されるＭデータ、アドレスＡａ７に記憶されるＣデータ及びアドレスＡａ８に記憶されるＫデータを読み出すことができる。  
以上の処理を行うことによって、２値化ユニット６０は、２５６階調ＲＧＢデータを、２５６階調のＣＭＹＫデータに変換すること（色変換処理）ができる。
【０１１７】
なお、本実施形態では、２値化ユニット６０は、ＲＧＢデータをＣＭＹＫデータに変換していたので、４バースト転送を行っていた。しかし、これに限られるものではない。例えば、印刷ヘッド３８が、ブラックインクノズル列３３（Ｋ）、シアンインクノズル列３３（Ｃ）、マゼンタインクノズル列３３（Ｍ）及びイエローインクノズル列３３（Ｙ）の４つのノズル列だけでなく、更に、ライトブラックインクノズル列（ＬＫ）、ライトシアンインクノズル列（ＬＣ）、ライトマゼンタインクノズル列（ＬＭ）及びライトイエローインクノズル列（ＬＹ）を備える場合がある。このような場合、ＲＧＢデータを８色のＣ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫデータに変換する必要がある。
【０１１８】
図１７は、このような場合のルックアップテーブルの説明図である。このルックアップテーブルには、Ｃ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫデータが格納されている。そして、特定の階調のＲＧＢデータに対応するＣ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫデータは、連続したアドレス領域に格納されている。例えば、アドレスＡａ９〜Ａａ１６には、（Ｒ，Ｇ，Ｂ）＝（１３４，２５，６５）に対応するＣ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫデータがそれぞれ格納されている。このような場合、２値化ユニット６０は、８バースト転送を行うことが望ましい。
【０１１９】
ＳＰＣ複合装置１が４色のインク（ＣＭＹＫ）でも８色のインク（Ｃ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫ）でも印刷可能な場合、４色のインクで印刷を行うのであれば２値化ユニット６０は４バースト転送を用いて色変換処理を行い、８色のインクで印刷を行うのであれば２値化ユニット６０は８バースト転送を用いて色変換処理を行う。
【０１２０】
２値化処理ユニットは、色変換処理した２５６階調ＣＭＹＫデータを、更に、誤差拡散法等の手法によって、２階調ＣＭＹＫデータに変換する（ハーフトーン処理）。２値化処理ユニット６０は、生成した２階調ＣＭＹＫデータを、ＳＤＲＡＭ内に割り当てられた２値化バッファに記憶する。
【０１２１】
このように、制御回路５０内の画像処理ユニット６０〜６２は、ＳＤＲＡＭ６９のメモリ領域を利用しつつ、２５６階調ＲＧＢデータをヘッド駆動データに変換する。また、画像処理ユニット６０〜６２がＳＤＲＡＭ６９のデータを読み出し・書き込む場合、画像処理ユニットの処理に応じて４バースト転送又は８バースト転送を用いる。通常、画像処理ユニット６０〜６２が４バースト転送分以下のデータを扱う場合、４バースト転送が用いられる。また、画像処理ユニット６０〜６２が４バースト転送分以上のデータを扱う場合、８バースト転送が用いられる。また、画像処理ユニット６０〜６２の処理の際にＣＰＵ５４の演算処理が介在する場合、ＣＰＵ５４は、ＣＰＵインターフェイスユニット６６を介して、前述の図１５に示すデータの転送方法を用いる。
【０１２２】
＜ＳＤＲＡＭ（イメージバッファ）から印刷ヘッドへ＞
コピー機能時の場合も、前述のプリンタ機能時の場合と同様に、イメージバッファから印刷ヘッドへヘッド駆動データが転送される。このデータ転送については、プリンタ機能時の場合と同様なので、説明を省略する。
【０１２３】
＝＝＝その他の実施の形態＝＝＝
上記の実施形態は、主としてＳＰＣ複合装置について記載されているが、その中には、印刷装置、印刷方法、印刷システム、プログラム、プログラムを記憶した記憶媒体、印刷物の製造方法、等の開示が含まれていることは言うまでもない。
【０１２４】
また、一実施形態としてのＳＰＣ複合装置等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１２５】
＜ＳＰＣ複合装置について＞
前述の実施形態では、ＳＰＣ複合装置が説明されていたが、これに限られるものではない。例えば、複合装置ではなくインクジェットプリンタ単体であっても良い。また、レーザープリンタ等の他の印刷装置であっても良い。
【０１２６】
＜インクについて＞
前述の実施形態は、プリンタの実施形態だったので、染料インク又は顔料インクをノズルから吐出していた。しかし、ノズルから吐出する液体は、このようなインクに限られるものではない。
【０１２７】
＜ノズルについて＞
前述の実施形態では、圧電素子を用いてインクを吐出していた。しかし、液体を吐出する方式は、これに限られるものではない。例えば、熱によりノズル内に泡を発生させる方式など、他の方式を用いてもよい。
【０１２８】
＝＝＝まとめ＝＝＝
（１）前述のＳＰＣ複合装置（印刷装置）は、データを記憶するＳＤＲＡＭ（メモリ）と、ＳＤＲＡＭとの間でバースト転送にてデータを書き込み・読み出すＳＤＲＡＭコントローラ（メモリコントローラ）と、ＳＤＲＡＭコントローラにデータの書き込み等を指示し、ＳＤＲＡＭコントローラとの間でデータを受け渡す複数のユニットとを備えている。
【０１２９】
このような構成では、各ユニットは、ＳＤＲＡＭコントローラに対して、それぞれデータの書き込み・読み出しを行う。しかし、ユニットが異なれば、書き込み・読み出しを行うデータ長が異なり、望ましいバースト長が異なる。例えば、スキャナ制御ユニットは、スキャナ部からのデータを順次受け取り、そのデータを次々のＳＤＲＡＭへ書き込まなければスキャナ部の原稿読取速度が遅くなってしまうので、８バースト転送を行うことが望ましい。一方、ＣＰＵインターフェイスユニットは、ＣＰＵが必要とするデータ長が短いことがあるので、４バースト転送を行うことが望ましい。  
そこで、前述のＳＰＣ複合装置では、ＳＤＲＡＭコントローラ（メモリコントローラ）は、各ユニットに応じて、ＳＤＲＡＭ（メモリ）との間で行われるバースト転送のバースト長を変更する。具体的には、ＳＤＲＡＭコントローラは、各ユニットに応じて、４バースト転送又は８バースト転送を行う。  
これにより、前述のＳＰＣ複合装置では、各ユニットに望ましいバースト長のバースト転送を行うことができるので、ＳＰＣ複合装置の処理速度を向上させることができる。
【０１３０】
（２）前述のＳＰＣ複合装置は、原稿から画像を読み取るスキャナ部を更に備えている。そして、複数のユニットの一つは、スキャナ部から出力されたデータを処理して画像データを生成するスキャナ制御ユニットである。
【０１３１】
このような構成では、スキャナ部は、原稿を読み取るときに、次々と読み取り結果のデータを出力する。そして、スキャナ制御ユニットには、スキャナ部からのデータが次々と入力される。スキャナ制御ユニットは、スキャナ部から受け取ったデータを次々とＳＤＲＡＭのラインバッファへ書き込む必要がある。スキャナ制御ユニットによるＳＤＲＡＭへの書き込み動作が遅いと、スキャナ制御ユニットに入力できるデータ速度を遅くしなければならず、スキャナ部の読み取り動作を遅くしなければならなくなり、ＳＰＣ複合装置の処理時間が遅くなる。そのため、スキャナ制御部は、ＳＤＲＡＭのラインバッファに画像データを高速に書き込む必要がある。  
そこで、ＳＤＲＡＭコントローラ（メモリコントローラ）は、スキャナ制御ユニットから受けた画像データをＳＤＲＡＭ（メモリ）に書き込むとき、４バースト転送ではなく、８バースト転送を行う。これにより、データの転送速度が速くなり、スキャナ部の読み取り動作を速くすることができ、ＳＰＣ複合装置の処理時間が早くなる。
【０１３２】
（３）前述のスキャナ部は、画像を読み取るためのＣＣＤセンサを有し、ＣＣＤセンサは読取キャリッジによって移動可能であり、移動するＣＣＤセンサからスキャナ制御ユニットへ順次データが出力される。つまり、ＣＣＤセンサは、移動しながら原稿を読み取るので、次々と読み取り結果のデータを出力しなければならない。  
前述のＳＰＣ複合装置によれば、スキャナ部のデータの出力速度を速くすることができるので、読取キャリッジを速く移動させて、ＣＣＤセンサの移動速度を速くすることができる。
【０１３３】
（４）前述のＳＰＣ複合装置は、インクを吐出する印刷ヘッドを移動させるキャリッジを更に備えている。そして、複数のユニットの一つは、印刷ヘッドを駆動するためのヘッド駆動データを印刷ヘッドへ転送するヘッド制御ユニットである。  
このような構成では、印刷ヘッドはインクを断続的に吐出するので、ヘッド制御ユニットは、印刷ヘッドに次々とヘッド駆動データを供給しなければならない。仮に印刷ヘッドへのヘッド駆動データの供給が間に合わないと、印刷ヘッドはインクを吐出することができなくなってしまう。そのため、ヘッド制御ユニットは、ＳＤＲＡＭのイメージバッファからヘッド駆動データを高速に読み出す必要がある。  
そこで、ＳＤＲＡＭコントローラ（メモリコントローラ）は、ＳＤＲＡＭからヘッド駆動データを読み出すとき、４バースト転送ではなく、８バースト転送を行う。これにより、印刷ヘッドへのヘッド駆動データの供給を速くすることができる。
【０１３４】
（５）前述のヘッド制御ユニットは、移動する印刷ヘッドに対してヘッド駆動データを順次転送する。印刷ヘッドが移動しながらインクを吐出するので、ヘッド駆動データの供給は、印刷ヘッドの移動に間に合わせなければならない。  
前述のＳＰＣ複合装置によれば、ヘッド駆動データを高速に読み出すことができるので、印刷ヘッドの移動速度を速くしても、印刷ヘッドへのヘッド駆動データの供給を間に合わせることができる。
【０１３５】
（６）前述のＳＰＣ複合装置は、ＳＤＲＡＭに記憶された画像データを処理するＣＰＵ（処理装置）を更に備える。また、複数のユニットの一つは、ＣＰＵとＳＤＲＡＭコントローラ（メモリコントローラ）との間でデータを受け渡すＣＰＵインターフェイスユニットである。  
ＣＰＵがＳＤＲＡＭ内の画像データを演算する場合、ＳＤＲＡＭ内のまとまった領域のデータではなく、個々のアドレスデータを必要とすることが多い。このような場合、８バースト転送を行うと、かえってＳＰＣ複合装置の処理速度が低下する。  
そこで、ＳＤＲＡＭコントローラ（メモリコントローラ）は、ＳＤＲＡＭ（メモリ）に記憶された画像データをＣＰＵ（処理装置）がＣＰＵインターフェイスユニットを介して読み出すとき、８バースト転送ではなく、４バースト転送を行う。これにより、ＣＰＵバスを効率的に利用でき、また、ＣＰＵの処理速度を向上させることができる。
【０１３６】
（７）前述のＣＰＵ（処理装置）は、ＳＤＲＡＭコントローラ（メモリコントローラ）が４バースト転送にてＳＤＲＡＭ（メモリ）からデータを読み出し終わる前に、そのデータそのデータの読み出しを開始する。これにより、ＣＰＵは、４バースト転送の終了を待たずに、読み出したデータを取り込むことができるので、処理速度が向上する。
【０１３７】
（８）前述の処理装置は、ＣＰＵインターフェイスユニットからのＸＷＡＩＴ信号（タイミング信号）に応じて、ＳＤＲＡＭ（メモリ）から読み出されたデータの読み出しを開始する。つまり、ＣＰＵインターフェイスユニットは、ＸＷＡＩＴ信号によって、ＣＰＵの読み出しタイミングを制御することができる。
【０１３８】
（９）前述のＳＰＣ複合装置では、複数のユニットは、画像データを画像処理する画像処理ユニットを含む。そして、ＳＤＲＡＭコントローラ（メモリコントローラ）は、画像処理ユニットの処理の内容に応じて、ＳＤＲＡＭ（メモリ）との間で行われるバースト転送のバースト長を変更する。画像処理ユニットの処理内容によって望ましいバースト長が異なるので、前述のＳＰＣ複合装置によれば、処理速度を向上させることができる。
【０１３９】
（１０）前述の印刷装置は、シアン・マゼンタ・イエロー・ブラック等の複数色のインクを用いて印刷用紙（媒体）に画像を形成するものである。そして、ＳＤＲＡＭコントローラは、（メモリコントローラ）は、前記インクの色数に応じて、メモリとの間で行われるバースト転送のバースト長を変更する。例えば、４色（Ｃ・Ｍ・Ｙ・Ｋ）のインクを用いる場合、色数が少ないため、処理すべき画像データの量が少ないので、ＳＤＲＡＭコントローラは４バースト転送を行う。一方、８色（Ｃ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫ）のインクを用いる場合、色数が多いため、処理すべき画像データの量が多いので、ＳＤＲＡＭコントローラは、８バースト転送を行う。
【０１４０】
（１１）前述の画像処理ユニットの一つである２値化ユニットは、画像データの色空間を変換する色変換処理を行う。２値化ユニットが色変換処理を行う場合、ＳＤＲＡＭに記憶されたルックアップテーブルを参照することになる。この場合に、色数に応じてバースト長を変更すれば、色変換処理を高速に行うことができる。
【０１４１】
（１２）前述の画像処理ユニットの一つである２値化ユニットは、ＲＧＢ系画像データをＣＭＹＫ系画像データに変換する。例えば、２値化ユニットは、ＲＧＢ画像データをＣＭＹＫ画像データに変換したり、ＲＧＢ画像データをＣ・ＬＣ・Ｍ・ＬＭ・Ｙ・ＬＹ・Ｋ・ＬＫ画像データに変換したりする。つまり、色変換前の色数と色変換後の色数とが異なることになる。
【０１４２】
（１３）前述のＳＤＲＡＭコントローラ（メモリコントローラ）は、ＳＤＲＡＭ（メモリ）に対して転送指示の回数を変更して、バースト転送のバースト長を変更する。例えば、４バースト転送の場合、ＳＤＲＡＭコントローラは、ＳＤＲＡＭに対して、１度だけＲＥＡＤコマンド（又はＷＲＩＴＥコマンド）を出す。一方、８バースト転送の場合、ＳＤＲＡＭコントローラは、ＳＤＲＡＭに対して、２度連続してＲＥＡＤコマンド（又はＷＲＩＴＥコマンド）を出す。これにより、バースト長を変更している。
【０１４３】
（１４）前述のＳＤＲＡＭコントローラ（メモリコントローラ）は、ＳＤＲＡＭ（メモリ）に対して行アドレスを指示した後に列アドレスを指示し、ＳＤＲＡＭとの間でデータを受け渡すものである。すなわち、マルチプレクス・アドレス入力が行われる。そして、前述のＳＰＣ複合装置では、ＳＤＲＡＭコントローラ（メモリコントローラ）がＳＤＲＡＭ（メモリ）に連続してＲＥＡＤコマンド（又はＷＲＩＴＥコマンド）を出す（転送指示する）場合、列アドレスを指示した後、更に列アドレスを指示する。つまり、ＳＤＲＡＭコントローラは、ＡＣＴコマンドを２度出さずに、ＲＥＡＤコマンドを２度連続して出す。これにより、データの転送を高速にすることができる。
【０１４４】
（１５）ＳＤＲＡＭ（メモリ）は、受信した行アドレスに対応するデータをラッチした後、その後に受信する列アドレスに応じたデータを出力する。ＳＤＲＡＭがこのような構成なので、連続して列アドレスを指示すれば、同じ行アドレスの指示対象の列アドレスのデータをＳＤＲＡＭが出力できる。
【０１４５】
（１６）前述のＳＰＣ複合装置では、ＳＤＲＡＭコントローラ（メモリコントローラ）とＳＤＲＡＭ（メモリ）との間で４バースト転送又は８バースト転送を行う。但し、これに限られるものではなく、別の長さのバースト長であっても良い。
【０１４６】
（１７）前述の印刷方法は、ＳＰＣ複合装置を用い、ＳＤＲＡＭコントローラ（メモリコントローラ）が、各ユニットに応じて、ＳＤＲＡＭ（メモリ）との間で行われるバースト転送のバースト長を変更する。これにより、各ユニットに望ましいバースト長のバースト転送を行うことができるので、ＳＰＣ複合装置の処理速度を向上させることができる。
【０１４７】
（１８）前述のＳＰＣ複合装置（印刷装置）は、データを記憶するＳＤＲＡＭ（メモリ）と、４バースト転送にてＳＤＲＡＭからデータを読み出すＳＤＲＡＭコントローラ（メモリコントローラ）と、ＳＤＲＡＭに記憶されたデータを処理するＣＰＵ（処理装置）と、ＣＰＵとＳＤＲＡＭコントローラとの間に設けられ、ＳＤＲＡＭコントローラにデータの読み出しを指示するＣＰＵインターフェイスユニットと、を備えている。
【０１４８】
４バースト転送では、例えば１６ビットのデータが４回連続して転送されることになる（この場合、６４ビットのデータが転送される）。一方、ＣＰＵが必要とするデータ量が６４ビットよりも少ない場合がある（例えば、３２ビットのデータ）。  
このような場合、４バースト転送を終えてから、ＣＰＵがデータを取り込んだのでは、ＳＰＣ複合装置の処理時間が遅くなってしまう。  
そこで、前述のＳＰＣ複合装置では、ＣＰＵがＣＰＵインターフェイスユニットを介してＳＤＲＡＭからデータを読み出す場合、ＳＤＲＡＭコントローラが４バースト転送にてＳＤＲＡＭからデータを読み出し終える前に、ＣＰＵは、ＣＰＵインターフェイスユニットのＸＷＡＩＴ信号（指示）に応じて、ＳＤＲＡＭコントローラが読み出したデータの読み出しを開始する。例えば前述のＳＰＣ複合装置によれば、４バースト転送を終える前に、ＣＰＵは、ＣＰＵインターフェイスのＸＷＡＩＴ信号に応じて、既にＳＤＲＡＭコントローラが読み出した３２ビット分のデータを取り込んでいる。  
これにより、ＣＰＵは、４バースト転送を終えるのを待つことなく、必要なデータを取り込むことができるので、処理時間を短縮することができる。
【０１４９】
（１９）前述のＣＰＵ（処理装置）は、ＣＰＵインターフェイスユニットからのＸＷＡＩＴ信号（タイミング信号）に応じて、データの読み出しを開始する。つまり、ＣＰＵインターフェイスユニットは、ＸＷＡＩＴ信号によって、ＣＰＵの読み出しタイミングを制御することができる。
【０１５０】
（２０）前述のＣＰＵインターフェイスユニットは、ＳＤＲＡＭコントローラ（メモリコントローラ）からのＡＣＫ信号（応答信号）に応じて、ＸＷＡＩＴ信号（タイミング信号）を発生する。これにより、ＣＰＵが、ＳＤＲＡＭからのＡＣＫ信号のタイミングに応じて、データの取り込みを開始する。
【０１５１】
（２１）前述のＳＤＲＡＭコントローラ（メモリコントローラ）は、ＣＰＵインターフェイスユニットからのデータの読み出しの指示に応じて、ＡＣＫ信号（応答信号）を発生する。これにより、ＣＰＵが、ＳＤＲＡＭからのＡＣＫ信号のタイミングに応じて、データの取り込みを開始する。
【０１５２】
（２２）前述のＳＰＣ複合装置は、インクを吐出する印刷ヘッドを移動させるキャリッジを更に備える。そして、ＳＤＲＡＭ（メモリ）に記憶されたデータに基づいて印刷ヘッドを駆動するためのヘッド駆動データを生成するとき、ＣＰＵ（処理装置）が、ＣＰＵインターフェイスユニットを介してＳＤＲＡＭ（メモリ）からデータを読み出す。ヘッド駆動データを生成するときにＣＰＵの処理が介在するので、前述のＳＰＣ複合装置によれば、ヘッド駆動データを生成する処理速度を向上することができる。
【０１５３】
（２３）前述の印刷方法は、ＳＰＣ複合装置を用い、ＣＰＵ（処理装置）が、ＣＰＵインターフェイスユニットを介してＳＤＲＡＭ（メモリ）からデータを読み出す場合、ＳＤＲＡＭコントローラ（メモリコントローラ）が４バースト転送を終える前に、ＣＰＵは、ＣＰＵインターフェイスユニットの指示に応じて、ＳＤＲＡＭコントローラ（メモリコントローラ）が読み出したデータの読み出しを開始する。これにより、ＣＰＵは、４バースト転送を終えるのを待つことなく、必要なデータを取り込むことができるので、処理時間を短縮することができる。
【図面の簡単な説明】
【０１５４】
【図１】ＳＰＣ印刷装置の斜視図である。
【図２】スキャナ部のカバーを開いた状態を示す斜視図である。
【図３】印刷装置の内部構成を示す説明図である。
【図４】プリンタ部の内部を露出させた状態を示す斜視図である。
【図５】操作パネル部の一例を示す図である。
【図６】印刷ヘッド周辺の構成要素配置を示す説明図である。
【図７】搬送機構の駆動部の説明図である。
【図８】ノズルの配列の説明図である。
【図９】制御回路の説明図である。
【図１０】図１０Ａは、４バースト転送による読み出し時の動作説明図である。図１０Ｂは、８バースト転送による読み出し時の説明図である。
【図１１】４バースト転送による書き込み時の動作説明図である。図１１Ｂは、８バースト転送による書き込み時の動作説明図である。
【図１２】図１２Ａは、読み出し時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。図１２Ｂは、書き込み時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。
【図１３】図１３Ａは、ＵＳＢコントローラがＤＭＡコントローラへ送るデータの説明図である。図１３Ｂは、ＵＳＢコントローラから受信したデータをＳＤＲＡＭの受信バッファへ記憶するときの説明図である。
【図１４】ＤＭＡコントローラの動作のフロー図である。
【図１５】ＣＰＵインターフェイスやＳＤＲＡＭコントローラ等の信号の受け渡しの説明図である。
【図１６】ルックアップテーブルの説明図である。
【図１７】別のルックアップテーブルの説明図である。
【符号の説明】
【０１５５】
１  ＳＰＣ複合装置、３  コンピュータ、５  原稿、７  印刷用紙、
１０  スキャナ部、１２  原稿台ガラス、１４  原稿台カバー、
１６  読取キャリッジ、１８  駆動手段、２０  規制ガイド、
２２  光源、２４  レンズ、２６  ミラー、
２８  ＣＣＤセンサ、２９  ガイド受け部、
３０  プリンタ部、３７  搬送ローラ、３８  印刷ヘッド、
４０  キャリッジモータ、４２  搬送モータ、
５０  制御回路、５２  ＣＰＵ、５３  ＲＯＭ、５４  カードインターフェイス、
５０１  ＣＰＵバス、５０２  ローカルバス、
５６  ＵＳＢ制御ユニット、５８  スキャナ制御ユニット、６０  ２値化ユニット、
６１  インターレース処理ユニット、６２  イメージバッファユニット、
６４  ヘッド制御ユニット、６６  ＣＰＵインターフェイスユニット、
６８  ＳＤＲＡＭコントローラ、６９  ＳＤＲＡＭ、
７０  操作パネル部
【図１】
0004631278.tif 000002
【図２】
0004631278.tif 000003
【図３】
0004631278.tif 000004
【図４】
0004631278.tif 000005
【図５】
0004631278.tif 000006
【図６】
0004631278.tif 000007
【図７】
0004631278.tif 000008
【図８】
0004631278.tif 000009
【図９】
0004631278.tif 000010
【図１０】
0004631278.tif 000011
【図１１】
0004631278.tif 000012
【図１２】
0004631278.tif 000013
【図１３】
0004631278.tif 000014
【図１４】
0004631278.tif 000015
【図１５】
0004631278.tif 000016
【図１６】
0004631278.tif 000017
【図１７】
0004631278.tif 000018