(57)【要約】 【課題】  ＲＧＢデータの色変換に際して中央処理装置の負荷を軽減する。【解決手段】  半導体集積回路（２０）は、１個の半導体基板に中央処理装置（２３）及びデータ転送制御装置（２６）を有し、前記データ転送制御装置は、前記中央処理装置によって設定された転送制御情報に従って、第１アドレスによって第１外部メモリ（２１）からリードしたＲＧＢ画素データを第２アドレスに変換し、この第２アドレスを用いて第２外部メモリ（２２）をリードすることが可能とされる。第２外部メモリをリードするためのアドレス変換をデータ転送制御装置が行うから、ＲＧＢデータの色変換に際して中央処理装置の負荷を軽減することができる。【選択図】        図４
2006180006.tif 000002
【特許請求の範囲】
【請求項１】
１個の半導体基板に中央処理装置及びデータ転送制御装置を有し、
前記データ転送制御装置は、前記中央処理装置によって設定された転送制御情報に従って、第１アドレスによって第１外部メモリからリードしたＲＧＢ画素データを第２アドレスに変換し、この第２アドレスを用いて第２外部メモリをリードすることが可能な半導体集積回路。
【請求項２】
前記第２外部メモリはＲＧＢデータに対応する複数色の色データのデータテーブルを格納する請求項１記載の半導体集積回路。
【請求項３】
前記データテーブルが保有する各色の色データは、第２アドレスの全ビット数を用いて表現できる範囲のデータに対し、第２アドレスのＲＧＢ各々の上位側複数ビットのビット数で指定できる範囲の代表データとされ、
前記データ転送制御装置は、前記第２アドレスを用いて第２メモリをリードするとき、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につき複数個の代表データをリードする請求項２記載の半導体集積回路。
【請求項４】
前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとしてリードする複数個の代表データは、第２アドレスで指定される色の周囲の存在することになる各色８個の代表データである請求項３記載の半導体集積回路。
【請求項５】
前記データ転送制御装置は、前記第1アドレスの上位側複数ビットのビット数が指定される第１制御レジスタを有する請求項４記載の半導体集積回路。
【請求項６】
前記データ転送制御装置は、前記複数色の色データの色数が指定される第２制御レジスタを有する請求項５記載の半導体集積回路。
【請求項７】
前記データ転送制御装置は、前記複数色の色データの１色当たりのデータサイズが指定される第３制御レジスタを有する請求項６記載の半導体集積回路。
【請求項８】
前記データ転送制御装置は、前記第２制御レジスタで指定される色数と、前記第３制御レジスタで指定されるデータサイズとの積を８倍して得られるデータ量を、前記第２アドレスに基づいて第２外部メモリからリードする請求項７記載の半導体集積回路。
【請求項９】
前記半導体集積回路は内部メモリを有し、
前記データ転送制御装置は、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につきリードした複数個の代表データと対応する第２アドレスの下位側複数ビットとを内部メモリに転送制御することが可能な請求項３記載の半導体集積回路。
【請求項１０】
前記中央処理装置は、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につきリードした複数個の代表データに対して、対応する第２アドレスの下位側複数ビットを用いて、前記第２アドレスに対応する色データを補間演算する請求項９記載の半導体集積回路。
【請求項１１】
前記データ転送制御装置は、補間演算された色データを第1アドレスに基づいて前記第１外部メモリに転送する請求項１０記載の半導体集積回路。
【請求項１２】
１個の半導体基板上に中央処理装置及びデータ転送制御装置とを有し、
前記データ転送装置は、前記半導体基板の外部に接続された外部メモリへアクセスするためのアドレス信号を出力可能で、
前記データ転送装置は、前記外部メモリに対して第１アドレス信号を出力し、それに基づいた第１データを前記外部メモリから供給され、読み出された前記第１データの一部を利用して前記外部メモリへアクセスするための第２アドレスを出力可能であり、
前記中央処理装置は、前記第２アドレスに基づいて読み出された第２データを演算処理することが可能な半導体集積回路。
【請求項１３】
１個の半導体基板に中央処理装置及びデータ転送制御装置を備えたデータプロセッサと、
ＲＧＢ画素データが格納される第１外部メモリと、
ＲＧＢデータに対応する複数色の色データのデータテーブルを保有する第２外部メモリとを有し、
前記データ転送制御装置は、前記中央処理装置によって設定された転送制御情報に従って、第１アドレスによって第１外部メモリからリードしたデータを第２アドレスに変換し、この第２アドレスを用いて第２外部メモリをリードすることが可能なデータ処理システム。
【請求項１４】
前記データテーブルが保有する各色の色データは、第２アドレスの全ビット数を用いて表現できる範囲のデータに対し、第２アドレスのＲＧＢ各々の上位側複数ビットのビット数で指定できる範囲の代表データとされ、
前記データ転送制御装置は、前記第２アドレスを用いて第２メモリをリードするとき、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につき複数個の代表データをリードする請求項１３記載のデータ処理システム。
【請求項１５】
データプロセッサは内部メモリを有し、
前記データ転送制御装置は、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につきリードした複数個の代表データと対応する第２アドレスの下位側複数ビットとを内部メモリに転送制御することが可能な請求項１４記載のデータ処理システム。
【請求項１６】
前記中央処理装置は、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につきリードした複数個の代表データに対して、対応する第２アドレスの下位側複数ビットを用いて、前記第２アドレスに対応する色データを補間演算する請求項１５記載のデータ処理システム。
【請求項１７】
前記データ転送制御装置は、補間演算された色データを第1アドレスに基づいて前記第１外部メモリに転送する請求項１６記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＧＢ画素データを他の色データなどに変換する制御が可能な半導体集積回路に関し、例えばカラープリンタの色変換に適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、ＤＭＡ転送において、ＣＰＵにより設定されたアドレスで第１メモリから読み出されたデータをアドレスレジスタに格納し、このアドレスレジスタのデータを用いて生成したアドレスを第２メモリに対する書き込みアドレスとして用いることが記載される。
【０００３】
【特許文献１】特開２０００−１１２８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者はカラープリンタなどにおいてＲＧＢ画素データを他の色データなどに変換する制御について検討した。カラープリンタなどにおいては光の３原色であるＲ（レッド）Ｇ（グリーン）Ｂ（ブルー）を補色系のＣ（シアン）Ｍ（マゼンダ）Ｙ（イエロー）Ｋ（ブラック）に変換して印刷を行う。この色変換を行うのに、ＲＧＢデータに対応する複数色の色データのデータテーブル（ルックアップテーブル）を用意し、ＲＧＢ画素データのデータバッファからＲＧＢ画素データを読み出し、読み出した画素データに基づいてアドレスを生成し、生成したアドレスを用いて色データのデータテーブルをリードする。リードデータに対して色補間などの色演算を行い、その色データを用いて印刷が行われる。
【０００５】
本発明者は、そのような色補間などの演算に際して、データバッファに対するリードアクセス、色データのデータテーブルに対するリードアクセス、及びデータバッファに対する色データの書き戻しのメモリアクセスも直接中央処理装置が行なうのでは中央処理装置の負荷が大きくなり過ぎることを見出した。そこで、本発明は色変換に際して必要とされるアクセス制御を極力データ転送制御装置に負担させることを検討した。特に、補色系への色変換では、色数や１色当たりのデータサイズはプリンタ製造メーカによって種々であり、また、色補間の範囲並びに演算手法も同様に区々であり、汎用性を考慮することが重要になることが本発明者によって明らかにされた。上記特許文献１においては色データの変換に関する発想は記載されていない。
【０００６】
本発明の代表的な一つの目的は、ＲＧＢデータの色変換に際して中央処理装置の負荷を軽減することにある。
【０００７】
本発明の代表的な別の一つの目的は、ＲＧＢデータの色変換に際して色変換の条件の相違に対して汎用性を向上させることにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
〔１〕半導体集積回路は、１個の半導体基板に中央処理装置及びデータ転送制御装置を有し、前記データ転送制御装置は、前記中央処理装置によって設定された転送制御情報に従って、第１アドレスによって第１外部メモリからリードしたＲＧＢ画素データを第２アドレスに変換し、この第２アドレスを用いて第２外部メモリをリードすることが可能とされる。第２外部メモリをリードするためのアドレス変換をデータ転送制御装置が行うから、ＲＧＢデータの色変換に際して中央処理装置の負荷を軽減することができる。
【００１１】
前記第２外部メモリは、例えばＲＧＢデータに対応する複数色の色データのデータテーブルを格納する。
【００１２】
前記データテーブルが保有する各色の色データは、例えば第２アドレスの全ビット数を用いて表現できる範囲のデータに対し、第２アドレスのＲＧＢ各々の上位側複数ビットのビット数で指定できる範囲の代表データとされ、このとき、前記データ転送制御装置は、前記第２アドレスを用いて第２メモリをリードするとき、前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につき複数個の代表データをリードする。
【００１３】
前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとしてリードする複数個の代表データは、例えば第２アドレスで指定される色の周囲に存在することになる各色８個の代表データである。
【００１４】
前記データ転送制御装置は、例えば前記第1アドレスの上位側複数ビットのビット数が指定される第１制御レジスタを有する。また、前記データ転送制御装置は、例えば前記複数色の色データの色数が指定される第２制御レジスタを有する。更に前記データ転送制御装置は、例えば前記複数色の色データの１色当たりのデータサイズが指定される第３制御レジスタを有する。それらレジスタを有するとき、前記データ転送制御装置は、前記第２制御レジスタで指定される色数と、前記第３制御レジスタで指定されるデータサイズとの積を８倍して得られるデータ量を、前記第２アドレスに基づいて第２外部メモリからリードする。それらレジスタを採用することにより、ＲＧＢデータの色変換に際して色変換の条件の相違に対して汎用性を向上させることができる。
【００１５】
また、前記半導体集積回路が内部メモリを有するとき、前記データ転送制御装置は、例えば前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につきリードした複数個の代表データと対応する第２アドレスの下位側複数ビットとを内部メモリに転送制御する。このとき、前記中央処理装置は、例えば前記第２アドレスのＲＧＢ各々の上位側複数ビットをベースアドレスとして各色につきリードした複数個の代表データに対して、対応する第２アドレスの下位側複数ビットを用いて、前記第２アドレスに対応する色データを補間演算する。そして、前記データ転送制御装置は、補間演算された色データを第1アドレスに基づいて前記第１外部メモリに転送する。
【００１６】
〔２〕データ処理システムは、１個の半導体基板に中央処理装置及びデータ転送制御装置を備えたデータプロセッサと、ＲＧＢ画素データが格納される第１外部メモリと、ＲＧＢデータに対応する複数色の色データのデータテーブルを保有する第２外部メモリとを有し、前記データ転送制御装置は、前記中央処理装置によって設定された転送制御情報に従って、第１アドレスによって第１外部メモリからリードしたデータを第２アドレスに変換し、この第２アドレスを用いて第２外部メモリをリードすることが可能とされる。
【発明の効果】
【００１７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１８】
すなわち、ＲＧＢデータの色変換に際して中央処理装置の負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１９】
図１にはプリンタで行われる画像処理の処理フローが例示される。スキャナ（ＳＣＡＮ）１からの画像情報、ＵＳＢインタフェース（ＵＳＢＩＦ）２からの画像情報に対して、３で示される処理を行い、プリンタヘッド４へ印刷データを出力する。スキャナ１の出力に対してはシェーディング補正（ＳＨＤＣＲ）５を行う。シェーディング補正とは、レンズの光学的な歪（１ラインの画像の端の方ほど大きなレベルの信号が得られない）やレンズのよごれ等により画像レベルが理想からずれている部分の補正をする処理である。通常、スキャン前に１ラインの画像を取りこみ、スキャンと同時にこの初期取り込み１ライン画像を用いて補正を行っている。ＵＳＢインタフェース２からの入力に対してはＪＰＥＧ復号処理（ＪＰＥＧＣＤ）６を行う。ＪＰＥＧ復号処理で得られるデータはＹ（輝度）ＣｒＣｂ（色差）のデータとされ、これに対してＲ／Ｇ／Ｂ変換処理（ＲＧＢＣＶＴ）７が行われる。解像度変換処理（ＲＳＬＣＶＴ）８では、入力の画像の解像度と印字するプリンタのヘッドの解像度が異なっているため、サイズ合わせを行う処理とされる。解像度変換処理８の入力は双方共にＲＧＢデータとされる。解像度変換の結果に対しては、色変換処理（ＣＬＲＣＶＴ）９と色補間処理（ＣＬＲＩＴＲ）１０が行われる。
【００２０】
前記色変換処理９は、前記解像度変換８を終えた後に、色の変換を行う処理である。入力画像はＲＧＢ等の色で表されるが、印字ヘッド側のインク色は例えば４色の場合、Ｃ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）Ｋ（ブラック）となる。この色変換には、入力画像の画像分類（テキスト、自然画、屋外屋内の撮影画像）、インク色数、インク噴射ドットサイズ、ドット解像度、ドットスキャン方式、インク組成、印刷する紙質等が考慮されるのが一般的である。また、インク色数は４色に限定されず、６色、７色、８色などもある。また、インクドットサイズも複数種類の大きさに打ち分け等を行って写真画質化を実現するものもある。このような各種条件を一意的には決めることはできないため通常は、ＲＧＢデータに対応する複数色の色データの変換データテーブル（ＬＵＴ：ルックアップテーブル）を用いる。変換データテーブルには、予め実験データより蓄積されたデータをもとに生成された色データが格納される。要するに、ＲＧＢデータをアドレスに見たてて、そのアドレスに、変換されるＣＭＹＫデータが予め格納されている。
【００２１】
上記色変換を行う場合のデータ量に着目すると、Ｒ，Ｇ，Ｂ各８ビットで表される色の種類は、２（８×３）＝１６７７７２１６≒１６メガ（Ｍ）とされる。この色の種類毎にＣ，Ｍ，Ｙ，Ｋ各８ビットのデータがあることから、変換データテーブルのデータ量は、１６M×（８ビット×４色）≒５１２Ｍビットになる。変換データテーブルにこれだけの記憶容量を費やすとコスト上昇を招くことになる。そこで、１６Ｍ種類の色の段階を細かく非線形に再現しなくても、ある程度の画質は得られることから、間引いたデータにより色変換処理を行い、その後、間を埋めるための色補間を行なう、という手法を採用することができる。この補間が色補間処理１０である。
【００２２】
色補間処理１０の結果に対しては、２値化処理１１が行なわれる。プリンタに実際に印字を行うにはドットを打つ（１）又は打たない（０）の２つの状態を表現しなければならない。この２つの状態に変換する処理が２値化処理１１である。１画素は複数ドットの集合から成り、１画素を構成する複数ドットに対して打つドットの色、大きさなどの組み合わせによって擬似的に中間色が表現されることになる。
【００２３】
ここで色変換の具体例について説明する。例えば、Ｒ，Ｇ，Ｂ各８ビットのデータがあるとすれば、それぞれのデータの組み合わせは、変換データテーブルのメモリアドレスと考えられる。アドレスの割り当ては、例えばアドレスＡ[２３：１６]＝R［７：０］、アドレスＡ[１５：８]＝G［７：０］、アドレスＡ[７：０]＝Ｂ［７：０］とされる。データの割り当ては、データＤ[３１：２４]＝Ｃ［７：０］、データＤ[２３：１６]＝M［７：０］、データＤ[１５：８]＝Y［７：０］、データＤ[７：０]＝Ｋ［７：０］とされる。
【００２４】
この場合にＲＧＢそれぞれ８ビットデータとすると、入力アドレスは２４ビットとなる。ＣＭＹＫもそれぞれ８ビットとすると、必要なデータ量は２２４×８ビット×４色＝５３６Ｍビットとなる。色補間を行わない場合には変換データテーブルにはこれだけの記憶容量が必要になる。
【００２５】
そこで、Ｒ[７：０]、Ｇ[７：０]、Ｂ[７：０]の各ビットの組み合わせではデータ量が多いから、上位ビットのみを用いて考える。ここで、仮に３ビット間隔とすると、変換データテーブルのメモリアドレスはＡ[８：０]＝Ｒ[７：５]Ｇ[７：５]Ｂ[７：５]となる。よってデータ量は２（３×３）＝５１２種類となる。これらの種類毎にＣ、Ｍ、Ｙ、Ｋ各８ビットあることから、変換データテーブルのデータ量は５１２×（８bit×４色）≒１６ｋビットとなる。
【００２６】
上記において、例えばレッドＲは３ビットであるから、図２に示されるように、各３ビットをベースアドレスとすれば、各々のベースアドレス毎に、下位５ビット分の３２種類のアドレス範囲（ＲＮＧ）を採り得る。補間処理では、ＲＧＢ各々の上位３ビットで指定される代表点としてのデータを参照し、ＲＧＢ各々の下位５ビットを用いて代表点の間で補間を行なう。
【００２７】
図３には補間処理の例が示される。ＲＧＢ各々８ビットで特定されるアドレス区間が示される。ＲＧＢ各々３ビットでこのアドレス空間内を指定する場合、それによる指定の範囲は１２で示される立方体の範囲になる。補間処理はその立方体の８個の頂点のアドレスのデータを用いて変換を行うものとする。即ち、ＲＧＢ各上位３ビットにより選ばれた領域の画素に対する周囲の８点のデータを変換データテーブルから取り出す。この取り出したデータをもとに、対象画素が８点から構成される立方体の中で、ＲＧＢ各々８ビットで特定されるアドレスの位置１３のデータは、前記ＲＧＢの変換データテーブルの参照で用いなかったＲＧＢ各々の下位５ビットで特定される各頂点からの距離に応じた重み付けを行って演算すればよい。
【００２８】
前記変換データテーブルには、入力画像の撮影条件、印刷の動作モード、紙の種類、インクの種類、ドットサイズ等に応じて数種類の変換データが格納されている。この意味において、前記変換データテーブルをアクセスするアドレスの上位には、実際には、特性に応じた変換データを指定するための複数ビットが付加されている。
【００２９】
図４には前記色変換及び色補間を行うための主なハードウェア構成が例示される。マイクロコンピュータ（ＭＣＵ）２０は少なくとも前記色変換及び色補間を行う。第１外部メモリとしてのシンクロナスＤＲＡＭ（ＳＤＲＡＭ）２１は解像度変換されたＲＧＢ画像データを保持する。第２外部メモリとしてのフラッシュメモリ（ＦＬＡＳＨ）２２は変換データテーブル（ＬＵＴ）を保有する。マイクロコンピュータ２０は、代表的に示された中央処理装置（ＣＰＵ）２３、内部メモリとしてのＲＡＭ２４、データ転送制御装置としてのダイレクトメモリアクセスコントローラ（ＤＭＡＣ）２５、外部バスインタフェース回路としてのバスステートコントローラ（ＢＳＣ）２６を有する。ＢＳＣ２５には内部バスＩＢＵＳ、周辺バスＰＢＵＳ、及び外部バスＥＸＢＵＳが接続される。ＣＰＵ２３、ＲＡＭ２４は前記内部バスＩＢＵＳで接続され、ＤＭＡＣ２６は前記周辺バスＰＢＵＳに接続され、ＳＤＲＡＭ２１及びＦＬＡＳＨ２２は外部バスＥＸＢＵＳに接続される。また図示はしないが、ＳＤＲＡＭ２１及びＦＬＡＳＨ２２は個別の外部バスに接続される構成としてもよい。マイクロコンピュータ２０、ＳＤＲＡＭ２１、及びフラッシュメモリ２２は個別の半導体集積回路として構成され、各々単結晶シリコンなどの半導体基板にＣＭＯＳ集積回路製造技術などを利用して形成される。
【００３０】
前記ＣＰＵ２３は、図示を省略するプログラムメモリから命令をフェッチして解読する命令制御部と、命令解読結果に従ってアドレス演算及びオペランドの演算等を行って命令を実行する実行部とを有する。ＲＡＭ２４はＣＰＵ２３のワーク領域若しくはデータの一時記憶領域として利用される。バスステートコントローラ２５はアクセス対称に応じたアクセスプロトコルの制御などを行う。ＤＭＡＣ２６はＣＰＵ２３からの指示に従ってＳＤＲＡＭ２１やＦＬＡＳＨ２２などに対するデータ転送を制御する。特にＤＭＡＣ２６は色変換や色補間のための処理を負担する。
【００３１】
図５にはＤＭＡＣ２６が色変換のためのアドレス変換機能を有する場合における色変換及び色補間のためのデータの流れが例示される。ＣＰＵ２３によってＤＭＡＣ２６にＲＧＢ画素データのソースアドレスや転送語数をセットされた後、ＤＭＡＣ２６によってＤＭＡ転送が開始されると、ＳＤＲＡＭ２１にアクセスアドレスＡＤＲ１が供給され（Ａ）、それによってＲＧＢ画素データＤＡＴ１がＳＤＲＡＭ２１から読み出されてＤＭＡＣ２６に供給される（Ｂ）。ＤＭＡＣ２６は供給されたＲＧＢ画素データを対応する色データのアドレスに変換する（Ｃ）。変換された色データのアドレスは第２アドレスＡＤＲ２としてフラッシュメモリ２２に供給される（Ｄ）。これによって対応する色データＤＡＴ２がフラッシュメモリ２２からＤＭＡＣ２６に読み出される（Ｅ）。読み出された色データはＣＰＵ２３によって色補間され（Ｆ１）、色補間されたデータがＤＭＡＣ２６を介してＳＤＲＡＭ２１に書き戻される。色補完されたデータの書き戻し先アドレスは元のＲＧＢ画像データのアドレスと同じであっても、或いは別であってもよい。これにより、ＣＰＵ２３はＲＧＢ画素データに基づいてＬＵＴの対応色データのアドレスを生成する処理を行なわなくてよいから、ＣＰＵ２３の負担を軽減することができる。
【００３２】
図６にはＤＭＡＣ２６が色変換のためのアドレス変換機能と補間演算機能とを有する場合における色変換及び色補間のためのデータの流れが例示される。ＣＰＵ２３によってＤＭＡＣ２６にＲＧＢ画素データのソースアドレスや転送語数をセットされた後、ＤＭＡＣ２６によってＤＭＡ転送が開始されると、ＳＤＲＡＭ２１にアクセスアドレスＡＤＲ１が供給され（Ａ）、それによってＲＧＢ画素データＤＡＴ１がＳＤＲＡＭ２１から読み出されてＤＭＡＣ２６に供給される（Ｂ）。ＤＭＡＣ２６は供給されたＲＧＢ画素データを対応する色データのアドレスに変換する（Ｃ）。変換された色データのアドレスは第２アドレスＡＤＲ２としてフラッシュメモリ２２に供給される（Ｄ）。これによって対応する色データＤＡＴ２がフラッシュメモリ２２からＤＭＡＣ２６に読み出される（Ｅ）。ＤＭＡＣ２６は読み出された色データに対する色補間を行い（Ｆ２）、色補間されたデータをＳＤＲＡＭ２１に書き戻す。書き戻し先アドレスは元のＲＧＢ画像データのアドレスと同じであっても、或いは別であってもよい。これにより、ＣＰＵ２３はＲＧＢ画素データに基づいてＬＵＴの対応色データのアドレスを生成する処理を行なわなくてよく、更にＣＰＵ２３は、ＬＵＴからリードした対応色データに対する色補間処理も行なわなくてよいから、ＣＰＵ２３の負担を一層軽減することができる。
【００３３】
図７には図５による処理のタイミングチャートが示される。先ず、ＣＰＵ２３からＤＭＡＣ２６に対して初期設定（ＩＮＩＴ）が行われる。例えば、入力画像データの開始位置を表わす先頭番地、色変換後のデータサイズ、例えば４色の場合４バイト、６色の場合６バイトのようなバーストサイズの設定、転送アドレスの増分値、転送画像サイズなどの設定が行なわれる。その後、ＤＭＡ転送処理の開始が指示されると（ＲＥＱ）、先頭番地よりＳＤＲＡＭ２１にアクセスアドレスが発行される（Ａ）。図においてコマンド（ＣＭＤ）としてアクティブコマンドＡＣＴに続けてリードコマンドＲが発行され、それに同期してアクセスアドレス（ＡＤＲ）としてアドレスＡ０、Ａ１、Ａ２…が順次発行される。これによってＳＤＲＡＭ２１から所定のレイテンシを経て順次データＤ０、Ｄ１、Ｄ２…が読み出される（Ｂ）。読み出されるデータは対象となる１つのデータでも良いが、ＳＤＲＡＭ２１のバースト機能を使えばいくつかのデータを纏めて取り込んだ方が処理性能は上がる。ＳＤＲＡＭ２１から転送されたデータはＤＭＡＣ２６内部のＦＩＦＯのようなバッファに格納され、順次前記色変換（ＣＬＲＣＶＴ）のためのアドレス変換に供され、ＬＵＴの対応色データのアドレスが生成される（Ｃ）。ＬＵＴの対応色データのアドレスはＦＬＡＳＨ２２に発行される（Ｄ）。ここでは、前記（Ｂ）で取得されたデータに対して、前記（Ｃ）で変換されたアドレスデータは一対一に対応しているが、これは、説明を簡単にするためであり、実際は、プリント条件、色数、あるいは対応する周囲の代表点の色を取得するバイト数等に応じて、更に上位のアドレスが付加される。また、色補間を行なう場合は通常、（Ｂ）で読み出したデータの一部のみを使ってＬＵＴアクセスのためのアドレス変換を行ない、残りの数ビットは後に行なう補間演算用のデータとして使われる。その具体例は後で詳述する。
【００３４】
フラッシュメモリ２２は処理（Ｄ）で発行されたアドレスに従って色データＦＤ０、ＦＤ１、ＦＤ２…を出力する（Ｅ）。要するにフラッシュメモリ２２に供給されるアドレスはＲＧＢに相当し、フラッシュメモリ２２から出力されるデータはインクの色ＣＭＹＫに相当する。ＣＰＵはその色データＦＤ０、ＦＤ１、ＦＤ２…を入力して色補間演算（ＣＬＲＩＴＲ）を行い（Ｆ１）、色補間されたデータＺ０、Ｚ１、Ｚ２…がＤＭＡＣ２６を介してＳＤＲＡＭ２２に書き戻される（Ｇ）。同図のタイミングチャートからも明らかなように、ＤＭＡＣ２６が色変換のためのアドレス変換を行うので、ＣＰＵはアドレス変換による負担を免れる。その間、ＣＰＵ２３は内部バスＩＢＵＳを用いて別のデータ処理を行なうことが可能になる。
【００３５】
図８にはＤＭＡＣ２６の一例が示される。ＤＭＡＣ２６は、図５に示される機能を実現する回路部分として、代表的に示されたＲＧＢデータ保持部（ＲＧＢＤＬ）３０、ＲＧＢデータ振り分け部（ＲＧＢＤＤ）３１、アドレス変換部（ＡＤＲＣＶＴ）３２、下位データ保持部（ＬＯＷＤＬ）３３、色データ保持部（ＣＬＲＤＬ）３４、及びアドレス生成部（ＡＤＲＧ）３５を有する。図示は省略するが、ＤＭＡＣ２６はその他に、データ転送制御において内部バスＩＢＵＳ上のＲＡＭ２４などを転送元又は転送先とし、或いは外部のＳＤＲＡＭ２１及びＦＬＡＳＨ２２を転送先、転送元とする従来からのデータ転送のためのアドレス生成とデータのバッファリングを行うための転送制御回路部を有している。そのような転送制御回路部は従来から広く用いられているＤＭＡＣの構成そのものと考えればよいから、ここではその詳細な説明を省略する。
【００３６】
アドレス生成部３５はＣＰＵ２３による初期設定に基づいてＳＤＲＡＭ２１をリードアクセスするアドレス及びアクセス制御信号の生成を行う。ＳＤＲＡＭ２１から出力されたＲＧＢ画素データはＲＧＢデータ保持部３０に保持される。ＲＧＢデータ保持部３０に保持されたＲＧＢデータはＲＧＢデータ振り分け部３１で上位側ビットと下位側ビットに振り分けられる。上位側ビットはアドレス変換部３２に供給され、変換条件に応じた複数ビットがその上位側に付加されて、ＦＬＡＳＨ２２のＬＵＴを参照するためのアドレスが生成される。これによって生成されたアドレスによってＦＬＡＳＨ２２から、前記一つのＲＧＢデータに対して対応する８個の代表点の色データが読み出され、色データ保持部３４に保持される。下位データ保持部３３にはＲＧＢデータの下位側ビットが保持されている。下位データ保持部３３に保持される下位側ビットと、色データ保持部３４に保持される８個単位の色データとは相互に関連付け可能なように、色データ保持部３４のＦＩＦＯバッファ（ＦＩＦＯＢ）３６に保持される。色データ保持部３４は前記ＦＩＦＯバッファ３６のフル状態を検出すると、制御信号３７によってＲＧＢデータ保持部３０に対して新たなＲＧＢ画素データの出力動作を抑止して、新たなＲＧＢ画素データに基づくアドレス変化動作及び下位データ保持動作を停止させ、その間に、ＦＩＦＯバッファ３６に蓄積された色データと下位データのペアを順次ＲＡＭ２４に転送する。ＲＡＭ２４へ転送するときのアドレス制御は上記図示を省略する転送制御回路部が行う。ＣＰＵ２３はＲＡＭ２４に転送された色データと下位データのペアを順次利用することにより、補間処理を行ない、ＲＧＢ画素データに対応する色データを生成し、生成された色データはＲＡＭ２４に蓄積される。ＲＡＭ２４に蓄積された色データはＤＭＡＣ２６の前記図示を省略する転送制御回路部を利用して所定のタイミングでＳＤＲＡＭ２１に書き戻される。書き戻しアドレスは元のＲＧＢ画素データの格納アドレスと同じであっても、また、相違してもよい。
【００３７】
図９にはアドレス生成部３５の一例が示される。アドレス生成部３５は、カウンタ（ＣＯＵＮＴ）４０、アドレス演算器（ＡＲＴＵ）４１、リードスタートアドレスレジスタ（ＲＳＡＲ）４２、リードアドレスステップレジスタ（ＭＤＢＳＲ）４３、リードエンドアドレスレジスタ（ＲＥＡＲ）４４、終了アドレスデコーダ（ＥＡＤＥＣ）４５、及びアドレス生成制御回路（ＡＤＲＣＮＴ）４６を有する。
【００３８】
前記リードスタートアドレスレジスタ（ＲＳＡＲ）４２はＲＧＢデータの読み出し開始アドレスを保持する。リードアドレスステップ（ＭＤＢＳＲ）４３はリードアドレスのステップ数を保持する。リードアドレスのステップ数は外部バスのデータ幅等に依存し、バイトアドレスを基準にすると、データバス幅が３２ビットのときステップ数は４、１６ビットのときステップ数は２とされる。リードエンドアドレスレジスタ（ＲＥＡＲ）４４はＲＧＢデータの読み出し終了アドレスを保有する。前記レジスタ４２，４３，４４に対する値の設定は例えばＣＰＵ２３が行う。カウンタ４０はイネーブル信号４７によって動作開始が指示されることによってクロック信号ＣＬＫを計数する。クロック信号ＣＬＫはＳＤＲＡＭ２１の動作クロック信号に同期される。アドレス演算器（ＡＲＴＵ）４１は乗算器と加算器を有し、カウンタ４０の出力にレジスタ４３の設定値を乗算し、これにレジスタ４２の設定値を加算して、ＳＤＲＡＭ２１に対するアクセスアドレスを生成する。アドレス生成制御回路４６は、ＣＰＵ２３などからの動作指示に応答してイネーブル信号４７を生成すると共に、ＳＤＲＡＭ２１に対するアクセス制御信号の生成と、ＳＤＲＡＭ２１から読み出されたＲＧＢデータをＲＧＢデータ保持部３０に保持させるために必要なタイミング信号等を生成する。終了アドレスデコーダ４５はアドレス演算器４１から出力されるアドレスが、レジスタ４４に設定された最終アドレスに値に達したかを判定する。終了アドレスに達すると、終了アドレスデコーダ４５の出力に応答してアドレス生成制御回路４６はイネーブル信号４７をディスエーブル指示状態に反転させてアドレス生成動作を停止する。ＲＧＢデータ保持部３０はＳＤＲＡＭ２１のアクセスに同期して、ＳＤＲＡＭ２１から出力されるＲＧＢ画素データを順次保持していく。ＲＧＢデータ保持部３０のデータ保持動作はクロック信号ＣＬＫに同期され、制御信号４８によって開始と停止が指示される。
【００３９】
図１０にはＲＧＢデータ振り分け部（ＲＧＢＤＤ）３１、アドレス変換部（ＡＤＲＣＶＴ）３２、及び下位データ保持部（ＬＯＷＤＬ）３３の詳細が例示される。制御レジスタとしてイメージデータセパレートレジスタ（ＩＤＳＲ）５０、アドレストランスレーションデータサイズレジスタ（ＡＴＤＳＲ）５１が配置される。それらレジスタ５０、５１にはＣＰＵ２３によって制御データが設定される。前記イメージデータセパレートレジスタ（ＩＤＳＲ）５０は、ＲＧＢデータ保持部３０に格納される１画素を構成するＲＧＢデータの格納パターンを指定するレジスタである。例えばＩＤＳＲ５０に第１の制御データ（１ｓｔＤＡＴ）が設定されているときは図１１の（Ａ）に示されるように１画素に３２ビットのメモリエリアを割り当てるようにＲＧＢデータを格納し、格納された画素データの出力は１画素３２ビットエリアに対して先頭２４ビットとする。例えばＩＤＳＲ５０に第２の制御データ（２ｎｄＤＡＴ）が設定されているときは図１１の（Ｂ）に示されるように１画素に２４ビットのメモリエリアを割り当てるようにＲＧＢデータを格納し、格納された画素データの出力も１画素２４ビットエリア毎とする。ＲＧＢデータ保持部３０は前記制御信号４８でＲＧＢデータの格納停止が指示された後、格納されたＲＧＢデータを順次ＲＧＢデータ振り分け部（ＲＧＢＤＤ）３１に向けて出力する。
【００４０】
アドレストランスレーションデータサイズレジスタ（ＡＴＤＳＲ）５１は、アドレスの補間に用いるＲ，Ｇ，Ｂ各データの上位側ビット数を指定するレジスタである。例えば、アドレスの補間を行う場合は、補間に用いるデータ数に応じてＡＴＤＳＲ５１に制御データとしてH’１〜H’７を設定する。ＲＧＢデータを全ビットアドレス変換する場合は、ＡＴＤＳＲ５１に制御データH’８を設定する。
【００４１】
ＲＧＢデータ振り分け部（ＲＧＢＤＤ）３１はＲＧＢ各々８ビットのデータをアドレストランスレーションデータサイズレジスタ（ＡＴＤＳＲ）５１の設定に従ってその上位側ビット（例えば３ビット）をアドレス変換部（ＡＤＲＣＶＴ）３２に、下位側ビット（例えば５ビット）を下位データ保持部（ＬＯＷＤＬ）３３に振り分ける。アドレス変換部（ＡＤＲＣＶＴ）３２は、ベースアドレス変換部（ＢＡＣＶＴ）５２とアクセスアドレス変換部（ＡＡＣＶＴ）５３とを有する。
【００４２】
図１２にはアドレス変換部（ＡＤＲＣＶＴ）３２の一例が示される。ベースアドレス変換部（ＢＡＣＶＴ）５２はＲＧＢデータの上位側ビットに対し、その下位側に０拡張を行い、その上位側に、印刷条件などに従った変換条件に応ずるＬＵＴを指定するための複数ビットを付加して、生成される。例えば上位側アドレスがＨ’ａｂｃのとき、下位側に０拡張を行い（Ｈ’ａｂｃ…０）、その上位側に複数ビットを付加して、ベースアドレスＢＡＤＲ（Ｈ’ｄ…ａｂｃ…０）が生成される。アクセスアドレス生成部５３は、周囲アドレスＭＡＤＲを生成する周囲アドレス生成部（ＭＢＡＧ）５４、ベースアドレスＢＡＤＲに周囲アドレスＭＡＤＲを加算してアクセスアドレスＡＡＤＲを生成するアドレス加算器（ＡＡＤ）５５を有する。周囲アドレス生成部（ＭＢＡＧ）にはＬＵＴバスサイズレジスタ（ＬＤＢＳＲ）５６、カラーナンバーレジスタ（ＣＮＲ）５７、カラーデータサイズレジスタ（ＣＤＳＲ）５８の設定値が供給される。ＬＵＴバスサイズレジスタ（ＬＤＢＳＲ）５６は、ＬＵＴを保有するフラッシュメモリ２２のデータバス幅を指定するレジスタである。カラーナンバーレジスタ（ＣＮＲ）５７は、色変換後の色数を表すレジスタである。カラーデータサイズレジスタ（ＣＤＳＲ）５８は、1色あたりのデータサイズを表すレジスタである。それらレジスタ５６〜５８はＣＰＵ２３によって制御データの設定が可能にされる。周囲アドレス生成部（ＭＢＡＧ）５４はそれらレジスタの設定値に従って、色補間に必要な複数の代表点の色データをアクセスするための下位アドレスを順次生成する。例えば、ＬＤＢＳＲ５６が３２ビットを指定し、ＣＮＲ５７が８色を指定し、ＣＤＳＲ５８が８ビットを指定し、周囲画素数（周囲代表点の数）が８個の場合、ＬＵＴから１回のアクセスで出力できるデータは３２ビット、ＬＵＴから読み出すべきデータ数は８（：ＣＮＲ）×８（：ＣＤＳＲ）×８（：周囲代表点の数）＝５１２ビットであり、１６回（５１２ビット／３２ビット）のアクセスを行いデータを取り込む必要がある。このように、データ形式に応じて１画素のＬＵＴ参照に必要な個数のアドレスを発行する処理を周囲アドレス生成部５４にて行う。
【００４３】
図１３にはアドレス加算動作のタイミングチャートが例示される。図においてベースアドレスＢＡＤＲはＨ’１２３０４５６０とされる。周囲アドレスＭＡＤＲは順次Ｈ’０００００００、Ｈ’００００００４、…のように変化される。このときアクセスアドレスＡＡＤＲは順次Ｈ’１２３０４５６０、Ｈ’１２３０４５６４、…とされる。
【００４４】
図１４には色変換及び色補間のためのフラッシュメモリアクセスのタイミングチャートが例示される。ＤＡＴ[２３：０]はＳＤＲＡＭ２１からリードしたＲＧＢデータである。ＤＡＴ[２３：０]は、Ｒ[７：０] Ｇ[７：０] Ｂ[７：０]の配列を有する。ここでは、その内の、ＲＧＢ各々の上位３ビットがベースアドレスＢＡＤＲ[８：０]に利用される。その内訳はＲ[７：５] Ｇ[７：５] Ｂ[７：５]となっている。ここでは説明を簡単にするためにＲＧＢ各々の上位３ビットをベースアドレスＢＡＤＲ[８：０]としている。Ｒ[４：０] Ｇ[４：０] Ｂ[４：０]は下位アドレスＬＡＤＲ[１４：０]とされる。下位アドレスＬＡＤＲ[１４：０]は補間処理のためにＬＯＷＤＬ３３に保持される。ここでは代表点の周囲画素数を８とし、前記周囲アドレスＭＡＤＲはＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈの７個のトグルアドレスになる。アクセスアドレスＡＡＤＲはベースアドレスＢＡＤＲ[８：０]に周囲アドレスＭＡＤＲを加算したアドレスとされる。アクセスアドレスＡＡＤＲはリード信号ＲＤに同期してフラッシュメモリ２２に供給され。これによってフラッシュメモリ２２から、代表点の色データが出力される。図１４では、第１の画素ＦｓｔＰＩＣの画素データに対応してＤ１Ａ〜Ｄ１Ｈの８個の代表点の色データが出力され、第２の画素２ｎｄＰＩＣの画素データに対応してＤ２Ａ〜Ｄ２Ｈの８個の代表点の色データが出力され、第３の画素３ｒｄＰＩＣの画素データに対応してＤ３Ａ〜Ｄ３Ｈの８個の代表点の色データが出力される。
【００４５】
図１５にはフラッシュメモリに格納されるＬＵＴのデータ配置が例示される。例えば一つのＲＧＢデータに対してＣＭＹＫの各色毎にＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈの代表点の色データが連続するようにデータが配列される。各色毎のＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈを各々単位としてメモリアドレスがマッピングされる場合を想定し、８個の代表点の色データの先頭アドレスをＨ’００００とすると、隣の８個の代表点の色データの先頭アドレスはＨ’００２０となる。特に図示はしないが、８個の代表点の色データは隣接するもの同士の場合には４個を共有することに注意しなければならない。
【００４６】
図１６には色データ保持部３４の一例が示される。色データ保持部３４はＦＩＦＯＢ３６とＦＩＦＯ制御回路（ＦＣＮＴ）６０とを有する。ＬＵＴから読み出されたＣＭＹＫの色データはＦＩＦＯＢ３６に蓄積される。ＦＩＦＯ制御回路（ＦＣＮＴ）６０は前記レジスタＡＴＤＳＲ５１、ＬＤＢＳＲ５６、ＣＮＲ５７、ＣＤＳＲ５８の設定値を入力し、ＬＵＴからＦＩＦＯＢ３６へ転送されるデータの転送回数を監視し、ＦＩＦＯＢ６１がフルになったとき、或いはレジスタ５１，５６，５７，５８の設定値から把握される所定回数に到達したとき、ＲＧＢＤＬ３０には信号３７にて転送停止要求を出し、ＬＯＷＤＬには信号６１にて下位アドレスの転送要求を出してＦＩＦＯＢ３６に保持させる。ＦＣＮＴ６０は転送停止要求を出すと、ＣＰＵ２３には割り込み信号６２を出力して、ＦＩＦＯＢ３６の保持データ６３を内部ＲＡＭ２４に転送させる。転送した後はＬＵＴからの色データの転送を再開して、処理を継続する。ＣＰＵ２３は内部ＲＡＭ２４に転送された色データ及びＲＧＢデータ下位側複数ビットを用いて補間処理を行ない、色補間処理を経て色変換が完了した画素単位の色データは逐次内部ＲＡＭ２４に蓄積される。色変換が全て完了したとき、或いはＤＭＡＣ２６によるＳＤＲＡＭ２１からのＲＧＢデータの転送が完了されたとき、ＣＰＵ２３はＤＭＡＣ２６に対して、色変換完了データをＳＤＲＡＭ２１に転送する動作を指示する。
【００４７】
以上説明したＤＭＡＣ２６を用いることにより、ＳＤＲＡＭ２１のＲＧＢデータをＣＭＹＫデータに変換するとき、ＣＰＵ２３はＤＭＡＣ２６に転送条件を設定してＤＭＡ転送動作の開始を指示すればよく、ＤＭＡＣ２６がＲＧＢデータからＬＵＴアクセスアドレスを生成する処理、色補完用データを取得する処理を行なえばよく、ＣＰＵ２３の負担を軽減することができる。その間、ＣＰＵ２６をその他のデータ処理に向けて使用することができ、結局プリンタによる印刷のためのデータ処理時間に短縮に寄与することができる。
【００４８】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００４９】
例えば、ＲＧＢデータの変換対照とされる色データの色の種類、各色データのビット数などは適宜変更可能である。また、本発明は低コストのインクジェットプリンタへの適用に好適であるが、本発明はそれに限定されず、レーザープリンタなどにも適用可能である。
【図面の簡単な説明】
【００５０】
【図１】プリンタで行われる画像処理定順を例示するフローチャートである。
【図２】ＲＧＢ各色のデータにおける上位側複数ビットの表現範囲と下位側ビットの補間用データとしての意味について例示する説明図である。
【図３】色補間処理の演算手法の原理を例示する説明図である。
【図４】色変換及び色補間を行うための主なハードウェア構成を例示するシステムブロック図である。
【図５】ＤＭＡＣが色変換のためのアドレス変換機能を有する場合における色変換及び色補間のためのデータの流れを例示する動作説明図である。
【図６】ＤＭＡＣが色変換のためのアドレス変換機能と補間演算機能とを有する場合における色変換及び色補間のためのデータの流れを例示する動作説明図である。
【図７】図５による処理のタイミングチャートである。
【図８】ＤＭＡＣの一例を示すブロック図である。
【図９】アドレス生成部の一例を示すブロック図である。
【図１０】ＲＧＢデータ振り分け部（ＲＧＢＤＤ）、アドレス変換部（ＡＤＲＣＶＴ）及び下位データ保持部（ＬＯＷＤＬ）の詳細を例示するブロック図である。
【図１１】レジスタ（ＩＤＳＲ）が保有する制御データにより制御態様を例示する説明図である。
【図１２】アドレス変換部（ＡＤＲＣＶＴ）の一例を示すブロック図である。
【図１３】アドレス加算動作を例示するタイミングチャートである。
【図１４】色変換及び色補間のためのフラッシュメモリアクセスのタイミングチャートである。
【図１５】フラッシュメモリに格納されるＬＵＴのデータ配置を例示する説明図である。
【図１６】色データ保持部の一例を示すブロック図である。
【符号の説明】
【００５１】
９  色変換処理
１０  色補間処理
２０  マイクロコンピュータ
２１  ＳＤＲＡＭ
２２  ＬＵＴを格納するラッシュメモリ
２３  ＣＰＵ
２４  内部ＲＡＭ
２５  バスステートコントローラ
２６  ＤＭＡＣ
【図１】
2006180006.tif 000003
【図２】
2006180006.tif 000004
【図３】
2006180006.tif 000005
【図４】
2006180006.tif 000006
【図５】
2006180006.tif 000007
【図６】
2006180006.tif 000008
【図７】
2006180006.tif 000009
【図８】
2006180006.tif 000010
【図９】
2006180006.tif 000011
【図１０】
2006180006.tif 000012
【図１１】
2006180006.tif 000013
【図１２】
2006180006.tif 000014
【図１３】
2006180006.tif 000015
【図１４】
2006180006.tif 000016
【図１５】
2006180006.tif 000017
【図１６】
2006180006.tif 000018