(57)【要約】【課題】画像処理の処理性能を向上させることをできる画像処理装置を提供する。【解決手段】入力画像データ、及び色変換ＬＵＴを参照し、前記入力画像データの色空間と異なる色空間への色変換処理を行う画像処理装置であって、前記入力画像データ、及び前記色変換ＬＵＴを格納する記憶手段と、前記入力画像データのうち注目画素値と直前の画素値との比較により同一画素値の連続数を検出する画素比較手段と、色変換処理を行う色変換手段と、前記連続数、及び前記色変換手段による色変換処理の結果から符号化する符号化手段とを備えることを特徴とする。【選択図】図２
2008205636.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データ、及び色変換ＬＵＴを参照し、前記入力画像データの色空間と異なる色空間への色変換処理を行う画像処理装置であって、
前記入力画像データ、及び前記色変換ＬＵＴを格納する記憶手段と、
前記入力画像データのうち注目画素値と直前の画素値との比較により同一画素値の連続数を検出する画素比較手段と、
色変換処理を行う色変換手段と、
前記連続数、及び前記色変換手段による色変換処理の結果から符号化する符号化手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記記憶手段に格納された入力画像データのうち前記画素比較手段で処理対象の入力画像データを格納する比較処理バッファを備え、
前記色変換手段は、前記画素比較手段が注目画素値と直前の画素値の相違を検出した場合に、前記記憶手段から前記注目画素値に対応した色変換ＬＵＴの読み出し操作を開始し、
前記画素比較手段は、前記読み出し操作と並行して前記注目画素値と前記比較処理バッファに格納された入力画像データの未処理画素値との比較を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
入力画像データ、及び色変換ＬＵＴを格納する記憶手段と、
前記記憶手段に格納された入力画像データのうち処理対象とする入力画像データを格納する比較処理バッファとを備え、
前記入力画像データ、及び前記色変換ＬＵＴを参照し、前記入力画像データの色空間と異なる色空間への色変換処理を行う画像処理装置の画像処理方法であって、
前記入力画像データのうち注目画素値と直前の画素値との比較により同一画素値の連続数を検出する画素比較ステップと、
色変換処理を行う色変換ステップと、
前記連続数、及び色変換ステップによる色変換処理の結果から符号化する符号化ステップとを有し、
前記色変換ステップは、前記画素比較ステップにおいて注目画素値と直前の画素値の相違を検出した場合に、前記記憶手段から前記注目画素値に対応した色変換ＬＵＴの読み出し操作を開始し、
前記画素比較ステップは、前記読み出し操作と並行して前記注目画素値と前記比較処理バッファに格納された入力画像データの未処理画素値との比較を行うことを特徴とする画像処理装置の画像処理方法。
【請求項４】
前記画素比較ステップと前記色変換ステップは、マイクロプロセッサ及びソフトウェアで構成され、
前記比較処理バッファは、前記マイクロプロセッサのデータキャッシュ部で構成されることを特徴とする請求項３に記載の画像処理装置の画像処理方法。
【請求項５】
前記画素比較ステップと前記色変換ステップは、マイクロプロセッサ及びソフトウェアで構成され、
前記比較処理バッファは、前記マイクロプロセッサに内蔵されたデータメモリによって構成されることを特徴とする請求項３に記載の画像処理装置の画像処理方法。
【請求項６】
入力画像データ、及び色変換ＬＵＴを格納する記憶手段を備え、
前記入力画像データ、及び前記色変換ＬＵＴを参照し、入力された前記入力画像データの色空間と異なる色空間への色変換処理を行う画像処理装置を制御するプログラムであって、
前記入力画像データのうち注目画素値と直前の画素値との比較により同一画素値の連続数を検出する画素比較ステップと、
色変換処理を行う色変換ステップと、
前記連続数、及び前記色変換ステップによる色変換処理の結果から符号化する符号化ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、特に印刷向け画像処理装置に関する。
【背景技術】
【０００２】
従来、プリンタの印刷処理として、図１に示すように、画像構成工程１０１、入力画像バッファ１０２、色変換工程１０３、量子化工程１０４、出力画像バッファ１０５、印刷工程１０６から構成されている。
【０００３】
画像構成工程１０１は、後工程において都合が良いように印刷すべき文字や図形の情報を生成する。例えば、決められた印字コマンドを解釈し、文字や図形として描画を行ったり、デジタルカメラで撮影された画像データを入力画像バッファ１０２に展開したりする。
【０００４】
入力画像バッファ１０２は、画像構成工程１０１と色変換工程１０３の処理単位、及び、処理順序の差を吸収するために設けられている。一般に、画像構成工程１０１はページ単位、又はページを分割したバンド単位で構成されることが多いのに対し、色変換工程１０３はラスタ順に処理することが多いためである。
【０００５】
色変換工程１０３を実現する従来の技術として、ルックアップ・テーブル（ＬＵＴ）による色変換方法がある。しかし、すべての入力値に対する出力値をＬＵＴに格納するとＬＵＴの容量が大きくなるため、入力色空間を所定単位の小立方体に分割し、その頂点（格子点）に対する出力値だけをＬＵＴに格納する。そして、頂点以外の入力値については近傍の頂点（格子点）の出力値より補間演算によって算出する方法が一般的である。このように算出する方法は、例えば、特許文献１に開示されている。
【０００６】
量子化工程１０４は、色材毎の濃度データを印刷出力の解像度における色材量データに変換する。
出力画像バッファ１０５は、色材量データを印刷工程１０６の処理に都合が良い順に合わせたり、印刷工程１０６に同期して所定単位の動作で必要な色材量データを連続して供給したりする。
【０００７】
印刷工程１０６は、紙などの媒体上に印刷する。印刷手段は、所定単位の印刷動作、例えば、インクジェット方式においては印刷ヘッドの１回の走査、又は電子写真方式においては１ページ分の画像形成に必要なデータが連続して供給されることを前提に構成されていることが多い。
【０００８】
特許文献２には、同一の入力色が連続する部分を検出し、当該部分の各画素に対して繰り返し色変換処理を行うのに代えて、１回の色変換結果を当該部分全体に適用することにより処理の高速化を図る技術が開示されている。
特許文献３には、キャッシュ・メモリを用いた方法により、ＬＵＴからの格子点出力値の平均読み出し時間短縮を図る技術が開示されている。
特許文献４には、画像バッファに圧縮された画像データを格納することで、データ転送量の削減を図る技術が開示されている。
【０００９】
また、マイクロプロセッサの高性能化を図るために、複数データを同時に１命令で処理するＳＩＭＤ命令、複数命令を同一クロック・サイクルで実行するＶＬＩＷ命令、複数のプロセッサをひとつのパッケージに格納するマルチコア・プロセッサが知られている。さらに、これらの技術は組み合わせて適用することが可能であり、最大３２命令の同時実行が可能な高い演算能力を持つものが知られている。
【００１０】
【特許文献１】特開昭６３−２５４８６４号公報
【特許文献２】特開２００４−５４６５３号公報
【特許文献３】特開２００３−２８９４４９号公報
【特許文献４】特開平０９−１０９４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した色変換工程１０３において、ＬＵＴをダイナミックラム（ＤＲＡＭ）に格納する構成とした場合、ＬＵＴからの格子点データ読み出しにおいて遅延が発生してしまう。また、色変換工程１０３は、入力画像データとＬＵＴの両方を参照する必要があるため、入力画像データ、ＬＵＴ、及び出力画像データを同一のメモリに格納する構成とした場合、色変換工程１０３においてメモリ・アクセスがボトルネックとなり易い。
【００１２】
また、マイクロプロセッサを利用する構成では、メモリ・アクセスを待つために演算ユニットのストールが発生する。特にＶＬＩＷプロセッサでは、いずれかひとつのＶＬＩＷ命令スロットにおけるストール要因で全ＶＬＩＷスロットが停止してしまうため影響がより顕著になる。
【課題を解決するための手段】
【００１３】
本発明は、入力画像データ、及び色変換ＬＵＴを参照し、前記入力画像データの色空間と異なる色空間への色変換処理を行う画像処理装置であって、前記入力画像データ、及び前記色変換ＬＵＴを格納する記憶手段と、前記入力画像データのうち注目画素値と直前の画素値との比較により同一画素値の連続数を検出する画素比較手段と、色変換処理を行う色変換手段と、前記連続数、及び前記色変換手段による色変換処理の結果から符号化する符号化手段とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像処理に要する時間を短縮させることができる。また、例えば同一画素値の複数画素の色変換処理を１回にまとめて行うので、色変換の処理回数を削減、つまりＬＵＴ参照回数を削減することができる。また、入力画素バッファによって、同一画素値の連続数検出とＬＵＴ参照の並行動作をすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して、本発明を好適な実施形態について詳細に説明する。
（第１実施形態）
図２は、本発明に係る第１実施形態を説明するための図である。
画像構成部２０１は、一連の描画コマンドからなる印刷データである入力画像データを共有メモリ２０７内の入力画像バッファ２１０に展開する。
比較処理バッファ２０２は、入力画像バッファ２１０の画像データを構成する各画素を一定の処理順で読み出し、その画素列を画素比較部２０３に供給する。
【００１６】
画素比較部２０３は、画素比較手段であり、比較処理バッファ２０２内の注目画素の画素値と直前の処理済画素の画素値とを比較することによって、同一画素値が連続する区間の画素数（連続数）と、その区間内の画素の画素値を検出する。
色変換部２０４は、色変換手段であり、入力画像データの色空間と異なる色空間への色変換処理を行う。具体的には、共有メモリ２０７内の色変換ＬＵＴ２１１を参照し、画素比較部２０３による１区間の入力画素値を対応する出力画素値に色変換処理を行う。符号化部２０５は、符号化手段であり、画素比較部２０３による１区間の画素数、及び、色変換部２０４による出力画素値を符号化する。符号化結果は共有メモリ２０７内の色変換画像バッファ２１２に格納する。
【００１７】
復号化部２０６は、符号化部２０５による符号化結果を画素列に復号する。量子化部２０８は、復号化部２０６による画素列を印刷装置の階調数、及び解像度に変換する。
共有メモリ２０７は、記憶手段であり、入力画像バッファ２１０、色変換ＬＵＴ２１１、色変換画像バッファ２１２を有している。メモリバス２０９は、共有メモリ２０７とそれを参照する各部を接続する。
【００１８】
本実施形態では、メモリバス２０９におけるデータ転送量を削減するために、色変換部２０４は画素比較部２０３が検出した同一画素値が連続する区間について１回の色変換処理を行い、当該区間内の各画素にその色変換結果を適用する。
また、符号化部２０５は、色変換部２０４による処理結果を圧縮符号化して色変換画像バッファ２１２に格納する。
【００１９】
色変換部２０４の処理では、入力画素値に応じてＬＵＴの参照格子点が変わるため、あらかじめ読み出すべきデータを特定しておくことができない。特許文献３のようにキャッシュ・メモリを用いることで、平均の読み出し所要時間を短縮することは可能であるが、キャッシュ・ヒットの場合とキャッシュ・ミスの場合とで読み出しに必要な時間は変動する。
【００２０】
比較処理バッファ２０２は先入れ先出しのバッファであり、画素比較部２０３での処理に先立って、所定の順序で入力画像バッファ２１０に格納された処理対象の画像データを読み出す。ＬＵＴの読み出しのためにメモリバス２０９が使用されている間であっても、画素比較部２０３は比較処理バッファ２０２から供給される画素列に対して、画素値の比較処理を継続することが可能であり、ＬＵＴの読み出しに要する時間の変動を吸収できる。
【００２１】
すなわち、画素比較部２０３が、注目画素値と直前の画素値とを比較して同一画素値から相違する画素値を検出した場合、色変換部２０４は、注目画素値に対応した色変換ＬＵＴの読み出し操作を開始する。一方、画素比較部２０３は、読み出し操作と並行して注目画素値と比較処理バッファ２０２の未処理画素値とを比較することができる。
【００２２】
次に、画素比較部２０３の処理内容を以下に説明する。
例えば、図３の画像データから図４のＲＧＢ画素列が得られ、画素比較部２０３は図４の画素列の入力に対して以下のように、画素値とその連続数の組を得る。
まず、画素４０１の画素値（２５５、２５５、２５５）と、画素４０２の画素値（２５５、２５５、２５５）を比較する。両者は等しいので、この時点での同一画素値の連続数は２となる。次に、画素４０２の画素値（２５５、２５５、２５５）と画素４０３の画素値（２５５、２５５、２５５）を比較する。両者は等しいので、この時点で同一画素値の連続数は３となる。画素４０３の画素値（２５５、２５５、２５５）と画素４０４の画素値（０、０、０）を比較すると、両者は異なる。
【００２３】
よって、同一の画素値からなる第１の区間は、画素値（２５５、２５５、２５５）の３画素で構成されていることがわかる。以下、同様に、図５のようにＲＧＢ画素値とその連続数の組からなる画素比較部２０３の出力を得ることができる。
図５のＲＧＢ画素値と連続数の組からは、そのＲＧＢ画素値を連続数だけ繰り返すことによって、図４の入力画素列を復元することが可能である。
【００２４】
色変換部２０４は、ＲＧＢ画素値をＣＭＹＫ画素値に変換するためのものである。色変換部２０４は、特許文献１のように、いくつかの代表となるＲＧＢ画素値に対応するＣＭＹＫ画素値が格納されたＬＵＴを参照し、入力ＲＧＢ画素値に対応するＣＭＹＫ画素値を補間演算によって求める。ここでは、色変換部２０４によってＲＧＢ画素値(２５５、２５５、２５５)がＣＭＹＫ画素値（０、０、０、０）、ＲＧＢ（０、０、０）がＣＭＹＫ（０、０、０、２５５）、ＲＧＢ（８５、８５、８５）がＣＭＹＫ（０、０、０、１７０）に変換されるとする。図５のＲＧＢ画素値と連続数の組のうち、ＲＧＢ画素値をＣＭＹＫ画素値に置換することによって、図６のような色変換結果を得ることができる。
【００２５】
図６のＣＭＹＫ画素値と連続数の組から、そのＣＭＹＫ画素値を連続数だけ繰り返すことによって、図７のＣＭＹＫ画素列が得られる。よって、図４のＲＧＢ画素列に対して色変換部２０４による変換を作用させた場合と同じ結果を得ることが可能である。
【００２６】
符号化部２０５は、図６の色変換結果を、エントロピー符号化など既存の圧縮符号化方法を用いて符号化し、色変換画像バッファ２１２に格納する。
図７のようなＣＭＹＫ画素列の形式で格納せず、符号化部２０５による符号化、及び、復号化部２０６による復号化を行うことにより、色変換画像バッファ２１２の容量を削減することが可能である。
さらには、圧縮符号化による色変換結果のデータ量削減により、メモリバス２０９の帯域をより多くＬＵＴ参照に使うことが可能となり、色変換処理の高速化の効果がある。
【００２７】
（第２実施形態）
図８は、本発明に係る第２実施形態を説明するための図である。
本実施形態は、図２の比較処理バッファ２０２、画素比較部２０３、色変換部２０４、符号化部２０５を、マイクロプロセッサ８０２を用いて構成したものである。
【００２８】
画像構成部８０１は、一連の描画コマンドからなる印刷データの入力を共有メモリ807内の入力画像バッファ８１０に展開する。印刷データの入力方法については図示しないが、通信手段、又は、記憶媒体読み取り手段によって取得することが可能である。なお、他の入力方法として、受信した印刷データを一時的に共有メモリ８０７内に保持しておく、又は、画像構成部８０１をマイクロプロセッサ８０２、及びソフトウェアによって構成してもよい。
【００２９】
共有メモリ８０７は、記憶手段であり、入力画像バッファ８１０、色変換ＬＵＴ８１１、色変換画像バッファ８１２、ソフトウェア格納領域８１３を有している。
マイクロプロセッサ８０２は、色変換処理を行う。マイクロプロセッサ８０２ではソフトウェア格納領域８１３のソフトウェアが動作し、入力画像バッファ８１０に格納された画像データに対し色変換処理を行い、その結果を符号化して色変換画像バッファ８１２に格納する。
【００３０】
復号化部８０６は、色変換画像バッファ８１２内の符号化された画像データを画素列に復号する。
量子化部８０８は、復号化部８０６による画素列を印刷装置の階調数、及び解像度に変換する。
【００３１】
図９は、マイクロプロセッサの構成例を示した図である。
マイクロプロセッサ９０１は、メモリ・インタフェース部９０３、 命令キャッシュ部９０４、命令フェッチ部９０５、命令デコード部９０６、実行部９０７、ロード・ストア部９０８、データキャッシュ部９０９、レジスタ・ファイル９１０を備えている。マイクロプロセッサ９０１は、このほかにも、割り込み処理機構などを備えているが、図では省略する。
【００３２】
メモリ・インタフェース部９０３は、マイクロプロセッサ９０１とメモリバス９０２との間で入出力を行う。命令キャッシュ部９０４は、命令フェッチ部９０５による外部メモリ命令読み出し回数を削減するために外部メモリ９１１から読み込んだ命令を一時的に保持する。命令フェッチ部９０５は、外部メモリ９１１に格納されたソフトウェアを読み込む。なお、命令フェッチ部９０５は、命令デコード部９０６への命令供給を円滑にするために、ソフトウェアのうち近い将来実行するであろう部分を事前に読み込むよう構成しても良い。
【００３３】
命令デコード部９０６は、ソフトウェアの命令を解釈する。実行部９０７は、演算命令、制御命令を実行する。
本実施形態のマイクロプロセッサ９０１は、ロード命令に先立って外部メモリ９１１からデータキャッシュ部９０９への転送を開始するための、データ・プリロード命令を備えている。
【００３４】
ロード・ストア部９０８は、入出力命令を処理する。外部メモリ９１１への入出力は、実行部９０７とは分離してロード・ストア部９０８によって処理する構成としている。このため、実行部９０７は、演算と比較して時間がかかる外部メモリ９１１へのアクセスの完了を待たずに処理を継続することが可能である。
【００３５】
データキャッシュ部９０９は、ロード・ストア部９０８による外部メモリ９１１の読み書き回数を削減するために、外部メモリ９１１から読み込んだデータ、又は外部メモリ９１１へ書き込むべきデータを一時的に保持する。データキャッシュ部９０９は、外部メモリとの間のデータ転送とロード・ストア部９０８との間のデータ転送を分離し、キャッシュ・ミスが発生しない限りロード・ストア部９０８からの要求に応答可能なように構成しておく。
【００３６】
レジスタ・ファイル９１０は、演算のためのデータを保持する。レジスタ・ファイル９１０は、データのほか、ロード命令によるデータの到着待ちを示すフラグを保持していて、実行部９０７がロード命令の対象データの到着を確認することなく処理を継続することを可能にしている。すなわち、実行部９０７は、続く命令で演算の対象が到着待ちのレジスタ以外であれば実行を継続し、到着待ちのレジスタであればデータの到着まで実行を待つ。
【００３７】
図１０は色変換処理、及び符号化処理からなる画像処理を行うソフトウェアのフローチャートである。色変換処理では、色変換LUTからの格子点データ読み出しアドレスが画像データに依存するのに対して、処理対象画素のアドレスは所定の順序と決まっている。
図１０では、あらかじめ画像データの読み出しを行っておくことで、色変換ＬＵＴからの格子点データ読み出し時間を利用して同一画素値の連続の判定を行うことで、全体の処理時間の短縮を図っている。
【００３８】
ステップＳ１００１では、外部メモリ９１１からデータキャッシュ部９０９へ所定のプリロード・バッファ・サイズ分の入力画像データを読み込む。これは、ステップＳ１００７の画素入力でデータキャッシュ・ミスの発生を抑止するためのものである。このとき、実行部９０７はデータキャッシュ部９０９に対してプリロード命令の指示を伝達するとその完了を待たずにステップＳ１００２の画素入力処理を実行する。
【００３９】
プリロード・バッファ・サイズは、ステップＳ１００３による色変換格子点データ・ロードに要する時間内で、同一画素値が連続した場合にステップＳ１００４ないしステップＳ１００８の繰り返しで処理可能な画素数が連続して供給可能なようにすると良い。
【００４０】
ステップＳ１００２では、最初の処理対象画素の入力を行う。ステップＳ１００１の直後であるため、プリロード処理が完了していないことが予想される。その場合は、次のステップＳ１００３で画素データを参照する際に外部メモリ９１１からの読み出し完了まで実行部９０７が待つことになる。
【００４１】
ステップＳ１００３では、ステップＳ１００２、又はステップＳ１００７で最後に入力された画素値に対する色変換処理に必要な格子点データをＬＵＴから読み出す処理を行う。このとき読み出した格子点データは、ステップＳ１００９、又はステップＳ１０１１での色変換補間演算まで保持しておく。ここで、必要な格子点データがデータキャッシュ部９０９にない場合には、外部メモリ９１１からの読み出しが必要になる。
【００４２】
実行部９０７は読み出しと並行して以下のステップＳ１００４ないしステップＳ１００８からなる同一画素値の連続数検出処理を行う。
ステップＳ１００４では、全画素の入力が終了したか否かの判定を行い、完了している場合にはステップＳ１０１１へ進み、完了していない場合はステップＳ１００５以下の処理を継続する。
【００４３】
ステップＳ１００５では、プリロード済みで、かつ、ステップＳ１００７の画素入力が未完了の画素数のデータ量とプリロード・バッファ・サイズとを比較し、プリロード・バッファにデータキャッシュのキャッシュ・ライン以上の余地があるか否かを判定する。余地がある場合には、ステップＳ１００６において入力画像データのプリロードを実行する。
【００４４】
ステップＳ１００６では、ステップＳ１００７における画素入力におけるキャッシュ・ミスを抑止するために、外部メモリ９１１からデータキャッシュ部９０９へ画像データをプリロードしておく。このとき、実行部９０７はデータキャッシュ部９０９に対してプリロード命令の指示を伝達するとその完了を待たずにステップＳ１００７の画素入力処理を実行する。
【００４５】
ステップＳ１００７では、処理対象の画像データの入力を行う。ここでは、ステップＳ１００１、もしくは、ステップＳ１００６によるプリロードによりキャッシュ・ミスが抑止されている。キャッシュ・ミスとなる場合は、たとえば、ステップＳ１００８で同一画素値の連続が少なく、ステップＳ１００３による格子点データのロードでのキャッシュ・ミス、及びステップＳ１０１０における出力が頻繁に発生するときである。
【００４６】
ステップＳ１００８では、同一画素値の連続判定を行う。すなわち、ステップＳ１００７で直前に入力した画素値とステップＳ１００３で格子点データを準備した際の画素値とを比較する。両者が同一であればステップＳ１００４へと進み、異なる場合は、ステップＳ１００９へと進む。
【００４７】
ステップＳ１００７の入力でキャッシュ・ミスが発生した場合には、このステップＳ１００８における比較の際に実行部９０７が画像データの入力待ちとなる。
ステップＳ１００９では、ステップＳ１００３でロードした格子点データに対する補間演算により入力画素値に対する変換結果を求める。
【００４８】
ステップＳ１００３においてキャッシュ・ミスが発生した場合であっても、ステップＳ１００４ないしステップＳ１００８の繰り返しの回数が多い場合には、格子点データの読み出しが完了している。したがって、実行部９０７はステップＳ１００９では待たずに処理を継続することが可能である。実行部９０７は、ステップＳ１００３においてキャッシュ・ミスが発生し、かつ、ステップＳ１００４ないしステップＳ１００８の繰り返しの回数が少ない場合に限って、ステップＳ１００９において格子点データの読み出しを待つことになる。
【００４９】
ステップＳ１０１０では、同一の入力画素値が連続する数とその色変換結果を符号化し、その結果を外部メモリ９１１に出力する。実際には、データキャッシュ部９０９がライト・スルー方式であれば直ちに外部メモリ９１１へのアクセスが発生するが、ライト・バック方式であれば外部メモリ９１１へのアクセスはキャッシュ・ラインの単位にまとめられる。
【００５０】
ステップＳ１００４ないしＳ１００８の繰り返しの回数が少ない場合には、ステップＳ１０１０の処理回数が増え、出力データ量が多くなる。この場合には、ステップＳ１０１０において外部メモリ９１１への書き込みのため、実行部９０７がデータ出力待ちとなる。
【００５１】
以下、ステップＳ１００７において所定画素数の入力が完了するまでステップＳ１００３ないしステップＳ１０１０の処理を繰り返す。
ステップＳ１０１１は、最終の画素を含み、最終画素と同一色の連続からなる区間に対する色変換の補間演算を行うためのステップである。その内容はステップＳ１００９と同様である。
【００５２】
ステップＳ１０１２は、ステップＳ１０１０と同様に、ステップＳ１０１１による結果の符号し、また、画像データの終了の符号を付加して出力する。終了の符号は可変長符号の終了を復号化の処理に知らせるためのものである。
【００５３】
以上、説明したように、実行部９０７のデータ入出力待ちは、主として、ステップＳ１００７、ステップＳ１００９、又はステップＳ１０１０で発生する。
ステップＳ１００４ないしＳ１００８の繰り返しの回数が多い場合はステップＳ１００７ではステップＳ１００６によるプリロードのためキャッシュ・ミスが抑止され、またステップＳ１００９、及びステップＳ１０１０の処理回数は少なくなる。また、入力画像データ前後の画素値の相関が強い場合は、ステップＳ１００３においてキャッシュ・ミスが少なくなり、かつステップＳ１０１０では、より符号量を削減する圧縮符号化が期待できる。
【００５４】
よって、実行部９０７のデータ入出力待ちは、ステップＳ１００３においてキャッシュ・ミスが多く発生し、かつステップＳ１００４ないしステップＳ１００８の繰り返しの回数が少ない場合である。印刷される画像データでは、多くの場合、ある画素の画素値はその近傍の画素値と強い相関がある。このため、本実施形態によれば、実行部９０７のデータ入出力待ちを大幅に削減することができる。
【００５５】
また、特にＶＬＩＷプロセッサではデータ入出力待ちの間に、より多くの演算命令を処理することが可能であり、演算をより多く消費したとしても、データ出力量を削減するための圧縮符号化をする方が効率的である。
【００５６】
さらに、本実施形態によれば圧縮符号化処理、又は、その準備としての同一画素値の連続数検出処理をＬＵＴデータの読み出しと同時に実行することで処理性能向上を実現している。このように、本実施形態では、データキャッシュとデータ・プリロードによって入力画像データを外部メモリから読み出すようにした。
【００５７】
（第３実施形態）
第３実施形態として、マイクロプロセッサに内蔵するデータメモリ、及びデータメモリと外部メモリとの間のＤＭＡコントローラを利用してもよい。すなわち、プリロード命令に代えて、ＤＭＡコントローラに対して外部メモリから内蔵のデータメモリへの転送を指示することである。色変換処理のためのＬＵＴ参照による外部メモリからの格子点データのロードと並行して、内蔵のデータメモリの画像データに対して同一画素値の連続数検出処理を行うことで第２実施形態と同様に処理性能の向上が可能である。
【００５８】
上述した本発明の実施形態における画像処理装置を構成する各手段、並びに画像処理装置の画像処理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００５９】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器からなるシステムに適用してもよい。
【００６０】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００６２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６３】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６４】
【図１】従来の画像処理装置の構成を示す図である。
【図２】第１実施形態に係る画像処理装置の構成を示す図である。
【図３】第１実施形態に係る入力画像データを示す図である。
【図４】第１実施形態に係るＲＧＢ画素列を示す図である。
【図５】第１実施形態に係る画素比較結果を示す図である。
【図６】第１実施形態に係る色変換部による色変換の結果を示す図である。
【図７】第１実施形態に係る色変換部による色変換の結果を示す図である。
【図８】第２実施形態に係る画像処理装置の構成を示す図である。
【図９】第２実施形態に係るマイクロプロセッサの構成を示す図である。
【図１０】第２実施形態に係る画像処理のフローチャートである。
【符号の説明】
【００６５】
１０１  画像構成工程
１０２  入力画像バッファ
１０３  色変換工程
１０４  量子化工程
１０５  出力画像バッファ
１０６  印刷工程
２０１  画像構成部
２０２  比較処理バッファ
２０３  画素比較部
２０４  色変換部
２０５  符号化部
２０６  復号化部
２０７  共有メモリ
２０８  量子化部
２０９  メモリバス
２１０  入力画像バッファ
２１１  色変換ＬＵＴ
２１２  色変換画像バッファ
４０１  第１の画素
４０２  第２の画素
４０３  第３の画素
４０４  第４の画素
８０１  画像構成部
８０２  マイクロプロセッサ
８０６  復号化部
８０７  共有メモリ
８０８  量子化部
８０９  メモリバス
８１０  入力画像バッファ
８１１  色変換ＬＵＴ
８１２  色変換画像バッファ
９０１  マイクロプロセッサ
９０２  メモリバス
９０３  メモリ・インタフェース部
９０４  命令キャッシュ部
９０５  命令フェッチ部
９０６  命令デコード部
９０７  実行部
９０８  ロード・ストア部
９０９  データキャッシュ部
９１０  レジスタ・ファイル
【図１】
2008205636.tif 000003
【図２】
2008205636.tif 000004
【図３】
2008205636.tif 000005
【図４】
2008205636.tif 000006
【図５】
2008205636.tif 000007
【図６】
2008205636.tif 000008
【図７】
2008205636.tif 000009
【図８】
2008205636.tif 000010
【図９】
2008205636.tif 000011
【図１０】
2008205636.tif 000012