(57)【要約】【課題】色空間変換行列を用いた色空間変換に要する処理時間を短縮する画像処理装置、プリンタ、画像処理方法及び画像処理プログラムを提供する。【解決手段】複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換する画像処理装置であって、前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の画素成分が取り得る各値との積を記憶している記憶手段と、前記ディジタル画像から注目画素を選択する画素選択手段と、前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の画素成分の値との積を前記記憶手段から取得し、取得した積を行毎に加算する行列演算手段と、を備えることを特徴とする画像処理装置。【選択図】図１
2007158777.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換する画像処理装置であって、
前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との積を記憶している記憶手段と、
前記ディジタル画像から注目画素を選択する画素選択手段と、
前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の前記画素成分の値との積を前記記憶手段から取得し、取得した積を行毎に加算する行列演算手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との乗算を行って積を求め、求めた積を前記記憶手段に記憶させる乗算手段を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段は、同一列にある複数の行列成分について、各行列成分の値と当該列の乗算対象の前記画素成分が取り得る各値との積を、当該画素成分が取り得る値毎に連続した記憶領域に記憶していることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記画素値の各前記画素成分に個別に前処理を施す前処理手段を更に備え、
前記記憶手段は、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値に前記前処理手段によってそれぞれ前処理を施した後の値との積を、前記画素成分の前処理前の値に対応付けて記憶していることを特徴とする請求項１、２又は３に記載の画像処理装置。
【請求項５】
ディジタル画像を入力する入力手段と、
請求項１〜４のいずれか一項に記載の画像処理装置と、
前記入力手段により入力され前記画像処理装置で色空間変換されたディジタル画像を印刷する印刷手段と、
を備えるプリンタ。
【請求項６】
複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換する画像処理方法であって、
コンピュータが、前記ディジタル画像から注目画素を選択する画素選択段階と、
コンピュータが、前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の前記画素成分の値との積を、前記色空間変換行列の各行列成分について行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との積を記憶している記憶手段から取得し、取得した積を行毎に加算する行列演算段階と、
を含むことを特徴とする画像処理方法。
【請求項７】
複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換するための画像処理プログラムであって、
前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との積を記憶している記憶手段と、
前記ディジタル画像から注目画素を選択する画素選択手段と、
前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の前記画素成分の値との積を前記記憶手段から取得し、取得した積を行毎に加算する行列演算手段としてコンピュータを機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プリンタ、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、式１に示すように複数の画素成分からなる画素値と色空間変換行列との行列演算を行うことによってディジタル画像の色空間を変換することが行われている。
【数１】
2007158777.tif 000003
【０００３】
ここでＲ、ＧおよびＢは画素成分、（Ｒ，Ｇ，Ｂ）は複数の画素成分からなる画素値であって変換前のディジタル画像の画素値、（Ｒ’，Ｇ’，Ｂ’）は変換後のディジタル画像の画素値、ｅ０〜ｅ８は色空間変換行列を構成する行列成分である。
【０００４】
式１から明らかなように、従来の色空間変換によると一画素分の変換に９回の乗算が必要であり、ディジタル画像全体では（画素数×９）回の乗算が必要である。例えば３００万画素（縦２０００画素×横１５００画素）のディジタル画像の場合、３００万×９回＝２７００万回もの乗算が必要である。このように色空間変換行列を用いた従来の色空間変換によると、膨大な数の乗算が必要であり、それにより色空間変換に長時間を要するという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上述の問題を解決するために創作されたものであって、色空間変換行列を用いた色空間変換に要する処理時間を短縮する画像処理装置、プリンタ、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するための画像処理装置は、複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換する画像処理装置であって、前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との積を記憶している記憶手段と、前記ディジタル画像から注目画素を選択する画素選択手段と、前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の前記画素成分の値との積を前記記憶手段から取得し、取得した積を行毎に加算する行列演算手段と、を備える。
本発明によると、注目画素の画素値と色空間変換行列との行列演算を行うとき、色空間変換行列の行列成分の値と注目画素の当該行列成分の乗算対象の画素成分の値との積を記憶手段から取得することにより、乗算を行うことなく積を得ることができる。すなわち乗算を行うことなく行列演算の結果を得ることができる。これにより乗算回数を低減でき、色空間変換に要する処理時間を短縮できる。
【０００７】
（２）前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との乗算を行って積を求め、求めた積を前記記憶手段に記憶させる乗算手段を更に備えてもよい。
本発明によると、行列成分の値と当該行列成分の乗算対象の画素成分が取り得る各値との積を動的に記憶手段に記憶させるので、積を所定の不揮発性のメモリに固定で記憶させておく場合に比べ、当該所定の不揮発性のメモリの記憶領域を節約できる。
【０００８】
（３）前記記憶手段は、同一列にある複数の行列成分について、各行列成分の値と当該列の乗算対象の前記画素成分が取り得る各値との積を、当該画素成分が取り得る値毎に連続した記憶領域に記憶していてもよい。
同一列にある行列成分は乗算対象の画素成分が同一である。すなわち、ある一つの注目画素に対する行列演算において、同一列にある行列成分には同一の値が乗算される。従って、各列について、当該列の乗算対象の画素成分が取り得る各値を当該列の各行列成分にそれぞれ乗算して得られる複数の積を画素成分が取り得る値毎に記憶手段の連続した領域に記憶させると、注目画素が選択されて画素成分の値が特定されたとき、当該特定された値と当該列にある各行列成分との積を効率よく読み込むことができる。これにより、色空間変換に要する処理時間をより短縮できる。
【０００９】
（４）前記画素値の各前記画素成分に個別に前処理を施す前処理手段を更に備え、前記記憶手段は、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値に前記前処理手段によってそれぞれ前処理を施した後の値との積を、前記画素成分の前処理前の値に対応付けて記憶していてもよい。
本発明によると、行列成分の値と、当該行列成分の乗算対象の画素成分の値の前処理後の値との積を、当該画素成分の前処理前の値に基づいて記憶手段から取得できる。すなわち本発明によると、画素成分の前処理前の値に基づいて記憶手段から積を取得することにより、前処理と色空間変換とをまとめて実行することができる。これにより、注目画素が選択されたとき画素成分毎に前処理を行う時間が不要になる。よって、前処理および色空間変換の合計時間を短縮できる。
【００１０】
（５）上記目的を達成するためのプリンタは、ディジタル画像を入力する入力手段と、請求項１〜４のいずれか一項に記載の画像処理装置と、前記入力手段により入力され前記画像処理装置で色空間変換されたディジタル画像を印刷する印刷手段と、を備える。
本発明によると、入力されたディジタル画像を短時間で印刷できる。
【００１１】
（６）上記目的を達成するための画像処理方法は、複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換する画像処理方法であって、コンピュータが、前記ディジタル画像から注目画素を選択する画素選択段階と、コンピュータが、前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の前記画素成分の値との積を、前記色空間変換行列の各行列成分について行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との積を記憶している記憶手段から取得し、取得した積を行毎に加算する行列演算段階と、を含む。
本発明によると、乗算回数を低減でき、色空間変換に要する処理時間を短縮できる。
【００１２】
（７）上記目的を達成するための画像処理プログラムは、複数の画素成分からなる画素値と色空間変換行列との行列演算によってディジタル画像の色空間を変換するための画像処理プログラムであって、前記色空間変換行列の各行列成分について、行列成分の値と当該行列成分の乗算対象の前記画素成分が取り得る各値との積を記憶している記憶手段と、前記ディジタル画像から注目画素を選択する画素選択手段と、前記各行列成分について行列成分の値と前記注目画素の当該行列成分の乗算対象の前記画素成分の値との積を前記記憶手段から取得し、取得した積を行毎に加算する行列演算手段としてコンピュータを機能させることを特徴とする。
本発明によると、乗算回数を低減でき、色空間変換に要する処理時間を短縮できる。
【００１３】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を複数の実施例に基づいて説明する。尚、各実施例で対応する構成要素及び処理には同一の符号を付し、各実施例で対応する構成要素及び処理について重複する説明は省略する。
（第１実施例）
図２は、本発明の一実施例に係るプリンタ１０の概略構成を示すブロック図である。プリンタ１０はリムーバブルメモリ１１からディジタル画像を読み込み、そのディジタル画像に基づいて印刷が可能な所謂スタンドアロン型プリンタである。またプリンタ１０は、ディジタルカメラ３０、ＰＣ（Personal Computer）３１、カメラ付携帯型電話端末３２などの外部システムからディジタル画像を入力し、そのディジタル画像に基づいて印刷が可能である。
【００１５】
外部ＩＦ（Inter Face）１２は、ディジタルカメラ３０、ＰＣ３１、カメラ付携帯型電話端末３２などの外部システムと通信するためのＵＳＢコントローラ、ＵＳＢコネクタなどを備える。通信規格はＵＳＢに限らず、ＩＥＥＥ１３９４、赤外線、イーサネット（登録商標）などのいかなる規格でもよい。
入力手段としてのリムーバブルメモリコントローラ（ＲＭＣ）１３は、図示しないコネクタを介してリムーバブルメモリ１１に接続され、リムーバブルメモリ１１とＲＡＭ１４との間でデータ転送を制御する。リムーバブルメモリ１１は、カード型フラッシュメモリ（所謂メモリカード）でもよいし、その他の繰り返し書き込み可能ないかなる不揮発性記憶媒体であってもよい。
【００１６】
画像処理部１５は、圧縮されているディジタル画像の伸張処理、ＹＣｂＣｒ色空間からｓＲＧＢ色空間への色空間変換、逆γ補正、ｓＲＧＢ色空間からプリンタ固有のＲＧＢ色空間への色空間変換、γ補正、シャープネス補整処理・階調補整処理などの画像補整処理、分版処理、ハーフトーニング、インタレース処理などをＣＰＵ１６と協働して実行し、印刷データを生成する画像処理ＬＳＩである。なお、画像処理部１５は例えばＤＳＰで構成されもよい。また、これらの処理をＣＰＵ１６によるプログラム処理によって実行してもよい。本実施例ではＹＣｂＣｒ色空間からｓＲＧＢ色空間への色空間変換変換、逆γ補正、ｓＲＧＢ色空間からプリンタ固有のＲＧＢ色空間への色空間変換、およびγ補正をＣＰＵ１６で実行する場合を例に説明する。なお、ＹＣｂＣｒ色空間からｓＲＧＢ色空間への変換はガマットが変更されるのではなくフォーマットが変換されるに過ぎないが、便宜上、本実施例では色空間変換というものとする。
【００１７】
印刷手段としての印刷部１７は、画像処理部１５で生成された印刷データに基づいてインクジェット方式で用紙に画像を形成するための記録ヘッド、記録ヘッドの往復移動機構、給排紙機構などを備える。尚、印刷方式は、インクジェット方式、レーザ方式、サーマル方式、ドットインパクト方式などのいかなる印刷方式でも採用し得る。
【００１８】
表示部２０は、ＬＣＤなどのＦＰＤ（Flat Panel Display）、グラフィックコントローラなどを備える。ＦＰＤに文字や画像を表示するために必要なフレームメモリ領域は表示部２０の専用メモリに確保してもよいし、ＲＡＭ１４の一部領域に割り当ててもよい。フレームメモリ領域に書き込まれたデータがグラフィックコントローラによって定期的に読み出されることにより、ＦＰＤに表示される文字や画像が更新される。
【００１９】
操作部１９は、ユーザのメニュー操作や印刷要求を受け付けるための操作ボタン、ジョグダイヤル、その他各種のボタンを供えている。特定のモードで特定のボタンが押されると、そのモードに応じた各種の要求がプリンタ１０に入力される。
記憶手段としてのＲＡＭ１４は、各種のプログラムやデータが一時的に格納される揮発性メモリである。
【００２０】
ＣＰＵ１６は、フラッシュメモリ１８に格納されている制御プログラムを実行することにより、プリンタ１０の各部を制御して印刷の実行を制御する。ＣＰＵ１６は制御プログラムを実行することにより、記憶手段、入力手段および印刷手段としても機能する。また、ＣＰＵ１６はフラッシュメモリ１８に格納されている画像処理プログラムを実行することにより、画素選択手段、行列演算手段、乗算手段、および前処理手段としても機能する。制御プログラムや画像処理プログラムはコンピュータ読み取り可能な記憶媒体からフラッシュメモリ１８に転送してもよいし、遠隔地のサーバから通信ネットワークを経由してフラッシュメモリ１８に転送してもよい。ＲＡＭ１４とＣＰＵ１６とは特許請求の範囲に記載の「画像処理装置」に相当する。
【００２１】
次に、ＣＰＵ１６において実行される色空間変換、逆γ補正およびγ補正について説明する。ＣＰＵ１６では以下に示す流れで色空間変換、逆γ補正およびγ補正が実行される。
（１）色空間変換行列の適用
以下に示す式２はＹＣｂＣｒ色空間からｓＲＧＢ色空間への色空間変換を行う式である。一般にディジタル画像はＹＣｂＣｒ色空間に色空間変換されてＪＰＥＧ圧縮されている。このため、プリンタ１０はＹＣｂＣｒ色空間からｓＲＧＢ色空間への色空間変換を行うための色空間変換行列Ｓを用いてディジタル画像をｓＲＧＢ色空間に変換する。
【００２２】
【数２】
2007158777.tif 000004
【００２３】
（２）入力トランスファーの適用
以下に示す式３、４および５は、入力トランスファーを説明するための式である。入力トランスファーは具体的には例えばディジタル画像に添付されているγ（ガンマ）値あるいは所定のγ値を用いてディジタル画像の逆γ補正を行い、ディジタル画像のγ特性をリニアな状態に戻す処理である。入力トランスファーは特許請求の範囲に記載の「前処理」に相当する。
【００２４】
R'=R_InputTransfer[R]  ・・・式３
G'=G_InputTransfer[G]  ・・・式４
B'=B_InputTransfer[B]  ・・・式５
（３）色空間変換行列の適用
プリンタ１０は以下に示す式６によりディジタル画像の色空間をｓＲＧＢ色空間からプリンタ１０固有のＲＧＢ色空間に変換する。
【００２５】
【数３】
2007158777.tif 000005
【００２６】
（４）出力トランスファーの適用
以下に示す式７、８および９は、出力トランスファーを説明するための式である。出力トランスファーは具体的には例えばプリンタ１０に固有のγ値を用いてγ補正を行う処理である。
【００２７】
R'''=R_OutputTransfer[R'']  ・・・式７
G'''=G_OutputTransfer[G'']  ・・・式８
B'''=B_OutputTransfer[B'']  ・・・式９
以上が本実施例における色空間変換、逆γ補正およびγ補正の流れである。本実施例では上述した処理において「（２）入力トランスファーの適用」および「（３）色空間変換行列の適用」をルックアップテーブルを参照することによって少ない乗算回数で実行する方法について説明する。
【００２８】
次に、色空間変換、逆γ補正およびγ補正を実行するための画像処理プログラムについて説明する。
図３は、色空間変換、逆γ補正およびγ補正を実行するための画像処理プログラムの論理的な構成を示すブロック図である。尚、図３に示すモジュール構成は、プリンタ１０の構成及び作動の理解を容易にするための概念的例示であって、画像処理プログラムをどのようなモジュール群で構成するかは、適宜選択し得る設計事項である。
【００２９】
テーブル生成モジュール４１は、ＣＰＵ１６を乗算手段として機能させるプログラム部品である。テーブル生成モジュール４１は、色空間変換行列Ｅの各行列成分について、行列成分の値と当該行列成分の乗算対象の画素成分が取り得る各値との乗算を行って積を求め、求めた積に基づいて後述するルックアップテーブルを生成し、ＲＡＭ１４に記憶させる。
【００３０】
画素取得モジュール４２は、ＣＰＵ１６を画素選択手段として機能させるプログラム部品である。画素取得モジュール４２は、変換対象のディジタル画像の画素を一画素ずつ注目画素として取得する。
第１の行列演算モジュール４３は、上述した「（１）色空間変換行列の適用」の処理を実行するプログラム部品である。
【００３１】
第２の行列演算モジュール４４は、ＣＰＵ１６を行列演算手段および前処理手段として機能させるプログラム部品であって、上述した「（２）入力トランスファーの適用」および「（３）色空間変換行列の適用」の処理を実行する。
出力トランスファーモジュール４５は、上述した「（４）出力トランスファーの適用」の処理を実行するプログラム部品である。
【００３２】
次に、画像処理プログラムを実行するＣＰＵ１６の処理を、ルックアップテーブルを生成する処理と、ルックアップテーブルを用いて色空間変換、逆γ補正およびγ補正を実行する処理とに分けて説明する。
図４は、ルックアップテーブルを生成する処理の流れを示すフローチャートである。本処理は例えばユーザが操作部１９を操作してディジタル画像の印刷要求を入力すると開始される。
【００３３】
Ｓ１０５では、図５に示すように画素成分Ｒ用のルックアップテーブルＲ＿ＴａｂｌｅをＲＡＭ１４上に生成する。Ｒ＿Ｔａｂｌｅは３列からなる。Ｒ＿Ｔａｂｌｅの第一列には画素成分Ｒとの乗算が行われる行列成分ｅ０、ｅ３およびｅ６をそれぞれ一意に識別するための識別子が格納される。第２列には画素成分Ｒが取り得る値０〜２５５が識別子毎に格納される。第３列には、第２列に格納されている値に式３に示す入力トランスファーを適用して求めた入力トランスファー後の値Ｒ’と当該行の第１列に格納されている識別子で特定される行列成分の値との積が格納される。
【００３４】
例えばＲ＿Ｔａｂｌｅの第１行から第２５６行については、第１列には全てｅ０の識別子としての文字列”ｅ０”が格納され、第２列には画素成分Ｒが取り得る値０〜２５５が格納される。第２５７行から第５１２行については、第１列に全てｅ３の識別子としての文字列”ｅ３”が格納され、第２列には画素成分Ｒが取り得る値０〜２５５が格納される。第５１３行から第７６８行については、第１列に全てｅ６の識別子としての文字列”ｅ６”が格納され、第２列には画素成分Ｒが取り得る値０〜２５５が格納される。各行の第３列には、第１行を例に説明すると、式３に第２列の０を代入して逆γ補正を行った後の値Ｒ’と第１列の識別子で特定される行列成分ｅ０の値との乗算を行って得られた積R_Table[0]["e0"]が格納される。なお、ここでは積をR_Table[0]["e0"]として表しているが、実際には具体的な数値が格納される。他の行についても同様である。
【００３５】
このようにして生成したＲ＿Ｔａｂｌｅを参照すると、例えば入力トランスファー前の画素成分Ｒの値から、入力トランスファー後の画素成分の値Ｒ’と各行列成分ｅ０、ｅ３およびｅ６との積、すなわちＲ’×ｅ０、Ｒ’×ｅ３、およびＲ’×ｅ６の乗算結果を、乗算を行うことなく得ることができる。
Ｓ１１０では、図６に示すように画素成分Ｇ用のルックアップテーブルＧ＿ＴａｂｌｅをＲＡＭ１４上に生成する。Ｇ＿Ｔａｂｌｅも同様に３列からなる。Ｇ＿Ｔａｂｌｅの第一列には画素成分Ｇとの乗算が行われる行列成分ｅ１、ｅ４およびｅ７をそれぞれ一意に識別するための識別子が格納される。第２列には画素成分Ｇが取り得る値０〜２５５が識別子毎に格納される。第３列には、第２列に格納されている値に式４に示す入力トランスファーを適用して求めた入力トランスファー後の値Ｇ’と当該行の第１列に格納されている識別子で特定される行列成分の値との積が格納される。
【００３６】
Ｓ１１５では、図７に示すように画素成分Ｂ用のルックアップテーブルＢ＿ＴａｂｌｅをＲＡＭ１４上に生成する。Ｂ＿Ｔａｂｌｅも同様に３列からなる。Ｂ＿Ｔａｂｌｅの第一列には画素成分Ｂとの乗算が行われる行列成分ｅ２、ｅ５およびｅ８をそれぞれ一意に識別するための識別子が格納される。第２列には画素成分Ｇが取り得る値０〜２５５が識別子毎に格納される。第３列には、第２列に格納されている値に式５に示す入力トランスファーを適用して求めた入力トランスファー後の値Ｂ’と当該行の第１列に格納されている識別子で特定される行列成分の値との積が格納される。
【００３７】
上述したＲ＿Ｔａｂｌｅ、Ｇ＿ＴａｂｌｅおよびＢ＿Ｔａｂｌｅの行数はそれぞれ７６８行なので、７６８回の乗算を行えばこれら３つのテーブルを生成できる。ただしここでいう回数とは入力トランスファー後の画素成分の値と行列成分の値とを乗算する回数のことをいい、入力トランスファーの適用の際に乗算が行われたとしてもその回数は含んでいない。
【００３８】
なお、本実施例ではディジタル画像の印刷要求が入力されるとＲＡＭ１４上にルックアップテーブルを生成するが、例えばプリンタ１０に電源が投入されたときに生成してもよい。また、上述した各テーブルは予めフラッシュメモリ１８に固定で記憶されていてもよい。これによりテーブルを生成する処理が不要になり、処理時間をより短縮できる。ただし、固定で記憶させておく場合はフラッシュメモリ１８の記憶領域が常にテーブルによって占有されてしまう。これに対し、本実施例のようにテーブルを動的に生成すると、フラッシュメモリ１８の記憶領域を節約できるという利点がある。
【００３９】
次に、ＣＰＵ１６がルックアップテーブルを用いて色空間変換、逆γ補正およびγ補正を実行する処理について説明する。
図８は、プリンタ１０の処理の流れを示すフローチャートである。本処理は例えばディジタル画像の印刷要求が入力され、上述した各ルックアップテーブルが生成されると開始される。
【００４０】
Ｓ２０５では、ＣＰＵ１６はディジタル画像から１画素を選択し、選択した画素の画素値（Ｙ，Ｃｂ，Ｃｒ）を取得する。
Ｓ２１０では、ＣＰＵ１６はＳ２０５で取得した画素値（Ｙ，Ｃｂ，Ｃｒ）について式２に示す演算を行い、色空間変換後の画素値（Ｒ，Ｇ，Ｂ）を求める。
Ｓ２１５では、ＣＰＵ１６はＳ２１０で求めた画素値（Ｒ，Ｇ，Ｂ）について以下の式１０に示す演算を行い、逆γ補正および色空間変換後の画素値（Ｒ”，Ｇ”，Ｂ”）を求める。
【００４１】
【数４】
2007158777.tif 000006
【００４２】
ここで式１０は式６と等価な式である。ＣＰＵ１６は図１に模式的に示すように注目画素の画素値（Ｒ，Ｇ，Ｂ）に応じてＲ＿ＴａｂｌｅからR_Table[R]["e0"]、R_Table[R]["e3"]、およびR_Table[R]["e6"]の値を取得し、同様にＧ＿ＴａｂｌｅからG_Table[G]["e2"]、G_Table[G]["e4"]、およびG_Table[G]["e7"]の値を取得し、Ｂ＿ＴａｂｌｅからB_Table[B]["e3"]、B_Table[B]["e5"]、およびB_Table[B]["e8"]の値を取得する。次に、ＣＰＵ１６は取得した値を行毎に加算する。これより式１０の演算結果である（Ｒ”，Ｇ”，Ｂ”）が得られる。このように本実施例ではＳ２１５において一度の乗算も行うことなく逆γ補正と色空間変換とを行うことができる。
【００４３】
Ｓ２２０では、ＣＰＵ１６はＳ２１５で求めた画素値（Ｒ”，Ｇ”，Ｂ”）に式７、８および９で示す出力トランスファーを適用し、適用後の画素値（Ｒ'''，Ｇ'''，Ｂ'''）を求める。
Ｓ２２５では、ＣＰＵ１６は全ての画素の選択が終了したか否かを判定し、終了していなければＳ２０５に戻って全ての画素の選択が終了するまで処理を繰り返す。全ての画素の選択が終了していれば処理を終了する。
【００４４】
例えば３００万画素（縦２０００画素×横１５００画素）のディジタル画像の場合、従来の色空間変換によると３００万×９回＝２７００万回もの乗算が必要である。しかしながら、各画素成分が取り得る値が０〜２５５までであるとすると、行列成分ｅ０の乗算パターンはディジタル画像の画素数によらずｅ０×０、ｅ０×１、ｅ０×２、・・・、ｅ０×２５５の２５６パターンしかない。ｅ１〜ｅ８についても同様であり、乗算パターンはそれぞれ２５６パターンしかない。従って、ディジタル画像全体では２５６×９＝２３０４パターンしかない。にもかかわらず従来の色空間変換において２７００万回もの乗算が行われるのは、同一パターンの乗算が重複して行われているからである。例えばディジタル画像に（２００、４８、１６５）という画素値と（２００、１２８、１７９）という画素値があるとすると、これらの画素値はいずれも画素成分Ｒの値が２００なので、従来の色空間変換ではｅ０×２００という乗算は少なくとも２回重複して行われることになる。このように同一パターンの乗算が重複して行われるので、乗算回数が増加することになる。
【００４５】
これに対し、本実施例ではＲ＿Ｔａｂｌｅ、Ｇ＿ＴａｂｌｅおよびＢ＿Ｔａｂｌｅを生成してそれら各テーブルから積を取得するので、行列演算においては一度も乗算を行う必要がない。ただし、各テーブルの生成の際に乗算を行っておく必要があるが、その乗算回数は２３０４回でよく、２７００万回に比べて大幅に少ない。このように本実施例によると従来の色空間変換方法よりも乗算回数を減らすことができるので、色空間変換に要する処理時間を短縮できる。
【００４６】
また、本実施例の画像処理方法ではディジタル画像の画素数によらず乗算回数が一定であり、ディジタル画像の画素数が増えても乗算回数の増加による処理時間の増加は起きない。従って、本実施例の画像処理方法によると、画素数の多いディジタル画像ほど処理時間を短縮する効果が大きくなる。
また、本実施例では前処理としての入力トランスファー（逆γ補正）を各テーブルの作成時に適用している。各テーブルの作成時に適用される入力トランスファーの適用回数は１テーブルにつき多くとも７６８回であり、３テーブルで合計２３０４回である。仮にディジタル画像の各画素値について画素成分毎に個別に入力トランスファーを適用するとすると、３００万画素のディジタル画像では９００万回も適用しなければならない。これに対し、本実施例ではテーブルを参照するので入力トランスファーの適用回数はディジタル画像の画素数によらず２３０４回でよく、入力トランスファーの適用に要する時間を短縮できる。
【００４７】
更に、本実施例では、入力トランスファーの適用前（逆γ補正前）の画素成分の値から入力トランスファーの適用後（逆γ補正後）の画素成分の値と行列成分の値との積を取得できる。すなわち、テーブルを参照することで逆γ補正と色空間変換とを一度に行うことができる。このため、逆γ補正用のテーブルと色空間変換用のテーブルとを別々に生成する場合に比べてテーブルの参照に要する時間を低減でき、逆γ補正および色空間変換の合計時間を短縮できる。
【００４８】
以上説明した本発明の一実施例に係るプリンタ１０によると、行列成分の値と、注目画素の当該行列成分の乗算対象の画素成分の値の逆γ補正後の値との積を、当該画素成分の逆γ補正前の値に基づいてＲＡＭ１４から取得できる。すなわちプリンタ１０によると、ＲＡＭ１４を参照することににより、注目画素に対する逆γ補正および色空間変換を乗算を行うことなく行うことができる。よってプリンタ１０によると、逆γ補正および色空間変換に要する処理時間を短縮できる。
【００４９】
なお、本実施例では入力トランスファーと色空間変換とをテーブルを参照して一括して行う場合を例に説明したが、入力トランスファーが不要であれば色空間変換のみをテーブルを参照して行ってもよい。
また、本実施例では色空間変換行列としてｓＲＧＢ色空間からプリンタ固有のＲＧＢ色空間への変換を行う行列Ｅを例に説明したが、色空間変換行列は目的に応じて任意に選択可能である。例えば、ＹＣｂＣｒ色空間からｓＲＧＢ色空間に変換するための行列Ｓに本発明を適用してもよいし、ＡｄｏｂｅＲＧＢ色空間からプリンタ固有のＲＧＢ色空間に変換するための行列に本発明を適用してもよい。また、ｓＲＧＢ色空間からＸＹＺ色空間に変換するための行列に適用してもよい。
【００５０】
また、例えばｓＲＧＢ色空間、ＸＹＺ色空間、プリンタ固有のＲＧＢ色空間の順で色空間変換を行う場合もある。この場合、色空間変換行列はｓＲＧＢ色空間からＸＹＺ色空間に変換する色空間変換行列Ａと、ＸＹＺ色空間からプリンタ固有のＲＧＢ色空間に変換する色空間変換行列Ｂとを合成した合成行列であってもよい。
【００５１】
また、本実施例では画像処理装置としてスタンドアロン型プリンタを例に説明したが、パーソナルコンピュータ（ＰＣ）とＰＣに制御されて印刷を行うプリンタとで画像処理装置を構成してもよい。
また、本実施例では画像処理装置としてプリンタを例に説明したが、画像処理装置はディジタルスチルカメラ、ディジタルビデオカメラ（ＤＳＣ）、ディジタルカメラ付携帯型電話端末、イメージスキャナなどであってもよい。例えばＤＳＣは、被写体の撮像を行うとＤＳＣに固有のＲＧＢ色空間で表されるディジタル画像を生成し、生成したディジタル画像の色空間を例えばｓＲＧＢ色空間やＡｄｏｂｅＲＧＢ色空間に変換している。この色空間変換に本発明を適用してもよい。イメージスキャナについても同様である。
【００５２】
（第２実施例）
図９、図１０および図１１は、ルックアップテーブルの他の例を示す模式図である。図９、図１０および図１１に示すルックアップテーブルは、図５、図６および図７に示すルックアップテーブルの行を、第２列の画素成分を第１のソートキー、第１列の行列成分の識別子を第２のソートキーとして昇順にソートした状態のテーブルである。例えば行列成分ｅ０、ｅ３、ｅ６は色空間変換行列の同一列にあるので、ある一つの画素値の行列演算においてｅ０、ｅ３、ｅ６には同一の値が乗算される。この場合、ｅ０、ｅ３、ｅ６に当該同一の値をそれぞれ乗算した積がＲＡＭ１４の連続した記憶領域に記憶されていれば、それらの積を効率良く読み込むことができる。上述したようにルックアップテーブルの行を画素成分を第１のソートキーとし、行列成分を第２のソートキーとしてソートした状態で記憶するようにすると、ｅ０、ｅ３、ｅ６にそれぞれ当該同一の値を乗算した積がｅ０、ｅ３、ｅ６の順でＲＡＭ１４の連続した記憶領域に記憶されるので、３つの積を効率良く読み込むことができる。これにより逆γ補正および色空間変換をより高速に実行できる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施例に係る画像処理装置の処理の概略を示す模式図。
【図２】本発明の一実施例に係る画像処理装置の概略構成を示すブロック図。
【図３】本発明の一実施例に係る画像処理プログラムの構成を示すブロック図。
【図４】本発明の一実施例に係るフローチャート。
【図５】本発明の一実施例に係るルックアップテーブルの模式図。
【図６】本発明の一実施例に係るルックアップテーブルの模式図。
【図７】本発明の一実施例に係るルックアップテーブルの模式図。
【図８】本発明の一実施例に係るフローチャート。
【図９】本発明の一実施例に係るルックアップテーブルの模式図。
【図１０】本発明の一実施例に係るルックアップテーブルの模式図。
【図１１】本発明の一実施例に係るルックアップテーブルの模式図。
【符号の説明】
【００５４】
１０  プリンタ、１３  リムーバブルメモリコントローラ（入力手段）、１４  ＲＡＭ（画像処理装置、記憶手段）、１６  ＣＰＵ（画像処理装置、記憶手段、画素選択手段、行列演算手段、乗算手段、前処理手段、印刷手段、入力手段）、１７  印刷部（印刷手段）
【図１】
2007158777.tif 000007
【図２】
2007158777.tif 000008
【図３】
2007158777.tif 000009
【図４】
2007158777.tif 000010
【図５】
2007158777.tif 000011
【図６】
2007158777.tif 000012
【図７】
2007158777.tif 000013
【図８】
2007158777.tif 000014
【図９】
2007158777.tif 000015
【図１０】
2007158777.tif 000016
【図１１】
2007158777.tif 000017