(57)【要約】【課題】画像の色情報の補正を短時間に行うことができる。【解決手段】画像処理装置１００は、インデックス付フレームバッファ２と、ルックアップテーブル３と、補正処理部５とを備える。ルックアップテーブル３は、画像データが表す色データを補正する補正情報をインデックスＩに対応付けて記憶する。インデックス付フレームバッファ２は、色データ（Ｒ，Ｇ，Ｂ）に加え、ルックアップテーブル３を参照するインデックスＩを画素毎に保持する。インデックス付フレームバッファ２から入力されるインデックスＩに基づいてルックアップテーブル３が参照され、補正データＲ´，Ｇ´，Ｂ´が補正処理部５に出力される。この補正データＲ´，Ｇ´，Ｂ´を用いて、補正処理部５において、インデックス付フレームバッファ２から入力される色データを補正する。【選択図】      図１
2008016879.tif 000002
【特許請求の範囲】
【請求項１】
画像データが表す色情報を補正する補正情報をインデックスに対応付けて記憶するルックアップテーブルと、
前記色情報と前記インデックスとを画素毎に保持するフレームバッファと、
前記画像データが表す色情報を前記フレームバッファに書き込む色情報書込手段と、
インデックスを前記フレームバッファに書き込むインデックス書込手段と、
前記フレームバッファから出力されるインデックスをもとに前記ルックアップテーブルを参照して、前記インデックスを補正情報に変換する変換手段と、
前記変換された補正情報を用いて前記フレームバッファから出力される色情報を補正する補正手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記ルックアップテーブルに記憶される補正情報を更新する更新手段をさらに具備することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記補正手段により補正された色情報を前記フレームバッファにフィードバックして書き込むフィードバック手段をさらに具備することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記補正情報は、色情報であることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記補正情報は、係数であることを特徴とする請求項１記載の画像処理装置。
【請求項６】
画像データが表す色情報を補正する補正情報をインデックスに対応付けて記憶するルックアップテーブルと、前記色情報と前記インデックスとを画素毎に保持するフレームバッファとを具備する画像処理装置で用いられ、
前記画像データが表す色情報を前記フレームバッファに書き込み、
インデックスを前記フレームバッファに書き込み、
前記フレームバッファから出力されるインデックスをもとに前記ルックアップテーブルを参照して、前記インデックスを補正情報に変換し、
前記変換された補正情報を用いて前記フレームバッファから出力される色情報を補正することを特徴とする画像処理方法。
【請求項７】
さらに、前記ルックアップテーブルに記憶される補正情報を更新することを特徴とする請求項６記載の画像処理方法。
【請求項８】
さらに、前記補正された色情報を前記フレームバッファにフィードバックして書き込むことを特徴とする請求項６記載の画像処理方法。
【請求項９】
前記補正情報は、色情報であることを特徴とする請求項６記載の画像処理方法。
【請求項１０】
前記補正情報は、係数であることを特徴とする請求項６記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データをもとにフレームバッファに書き込んだＲＧＢデータを出力する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来の画像出力装置は画面出力用にフレームバッファを１つもしくは複数持っており、グラフィック処理部（グラフィックプロセッサ等）で計算されたＲＧＢデータ１画面分をフレームバッファに書き込む。出力側はフレームバッファからＲＧＢデータを順次読み出し、画像表示装置（ＣＲＴ、ＬＣＤ等）に出力していた。
【０００３】
なお、原画像データを２つ以上の相異なる画像データに、それらの平均が原画像データと同等となるようにインデックスカラーの輝度値を用いて変換する画像処理手法が提案されている（例えば、特許文献１を参照。）。
【特許文献１】特開平２００２−７２９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的に従来の表示方式では、フレームバッファに書き込まれたＲＧＢデータを順次読み出して出力していたため、表示色の変更等の簡単な色補正であっても再度グラフィックプロセッサ等でＲＧＢデータを更新し、フレームバッファに書き込む必要があった。このため、特に高解像度の画像については処理負荷が増大し、表示されるまでに大幅に時間がかかっていた。
【０００５】
この発明は上記事情に着目してなされたもので、その目的とするところは、画像の色情報の補正を短時間に行うことができる画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためにこの発明に係わる画像処理装置は、画像データが表す色情報を補正する補正情報をインデックスに対応付けて記憶するルックアップテーブルと、前記色情報と前記インデックスとを画素毎に保持するフレームバッファと、前記画像データが表す色情報を前記フレームバッファに書き込む色情報書込手段と、インデックスを前記フレームバッファに書き込むインデックス書込手段と、前記フレームバッファから出力されるインデックスをもとに前記ルックアップテーブルを参照して、前記インデックスを補正情報に変換する変換手段と、前記変換された補正情報を用いて前記フレームバッファから出力される色情報を補正する補正手段とを具備することを特徴とする。
【０００７】
また、この発明に係わる画像処理方法は、画像データが表す色情報を補正する補正情報をインデックスに対応付けて記憶するルックアップテーブルと、前記色情報と前記インデックスとを画素毎に保持するフレームバッファとを具備する画像処理装置で用いられ、前記画像データが表す色情報を前記フレームバッファに書き込み、インデックスを前記フレームバッファに書き込み、前記フレームバッファから出力されるインデックスをもとに前記ルックアップテーブルを参照して、前記インデックスを補正情報に変換し、前記変換された補正情報を用いて前記フレームバッファから出力される色情報を補正することを特徴とする。
【０００８】
上記構成では、色情報とインデックスとを画素毎に保持するフレームバッファとを備え、ルックアップテーブルに画像データが表す色情報を補正する補正情報をインデックスに対応付けて記憶する。そして、フレームバッファから出力されるインデックスをルックアップテーブルにより補正情報に変換し、変換された補正情報を用いてフレームバッファから出力される色情報を補正するようにしている。これにより、フレームバッファを書き換えることなく画像の色情報を補正することが可能となる。
【発明の効果】
【０００９】
したがってこの発明によれば、画像の色情報の補正を短時間に行うことができる画像処理装置及び画像処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら本発明の実施の形態を詳細に説明する。  
図１は、この発明に係わる画像処理装置の一実施形態をブロック構成図である。  
この画像処理装置１００は、グラフィックボードとして構成され、パーソナル・コンピュータ（ＰＣ）等に搭載される。画像処理装置１００は、グラフィック処理部１と、インデックス付フレームバッファ２と、ルックアップテーブル３と、ルックアップテーブル制御部４と、補正処理部５とを備える。ルックアップテーブル３は、画像データが表す色データを補正する補正情報をインデックスＩに対応付けて記憶する。インデックス付フレームバッファ２は、色データに加え、ルックアップテーブル３を参照するインデックスＩを画素毎に保持する。
【００１１】
グラフィック処理部１は、ＰＣ等から画像データと、この画像データへの変換処理を指示するコマンドとを受け取る。グラフィック処理部１は画像データにしたがって各画素のアドレス（Ｘ，Ｙ座標）と色データ（Ｒ，Ｇ，Ｂ）の演算を行い、コマンドで指示される補正処理に応じたインデックス（Index）をインデックス付フレームバッファ２に書き込む。
【００１２】
インデックス付フレームバッファ２は、色データ（Ｒ，Ｇ，Ｂ）を読み出して補正処理部５に入力すると共に、この色データに対応するインデックスＩをルックアップテーブル３に入力する。このインデックスＩによりルックアップテーブル３が参照され、補正データＲ´，Ｇ´，Ｂ´が補正処理部５に出力される。補正処理部５は、この補正データＲ´，Ｇ´，Ｂ´を用いて、インデックス付フレームバッファ２から出力されるＲ，Ｇ，Ｂの各データの補正処理を行う。補正処理部５から出力されるＲｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔの値がディスプレイ（ＣＲＴ、ＬＣＤ等）に出力される。
【００１３】
ここで、ルックアップテーブル３の構成について説明する。Ｒ，Ｇ，Ｂの各データを８ビット、インデックスＩをｎビットとする。Ｒ´，Ｇ´，Ｂ´の各データはＲ，Ｇ，Ｂと同じ８ビットであるので、ルックアップテーブル３のサイズとしては２＾ｎ×３バイト必要となる。図２に、ルックアップテーブル３の構成の一例を示す。表示領域が１０２４×７６８の場合、インデックス付フレームバッファ２のサイズは約３Ｍバイト（１０２４×７６８×４バイト）となる。これに対し、ｎ＝８のとき、ルックアップテーブル３のサイズは７６８バイト（２＾８×３）となり、インデックス付フレームバッファ２に比べると、小さいメモリ容量で構成することができる。
【００１４】
このように構成される画像処理装置１００の動作について説明する。図３は、このグラフィック処理部１の処理手順とその内容を示すフローチャートである。  
ステップＳ３ａにより、ＰＣがグラフィックボードへコマンドを発行することで処理が開始される。コマンドとしては、図形描画、画素描画、画像補正処理、テーブル書換え等が予め用意されているが、これらに限定されるものではなく追加拡張が可能である。コマンドの例として図形描画（円）であれば、中心座標、半径、線の色、線の太さ等の情報が図形データとして含まれているものとする。
【００１５】
グラフィック処理部１は、ステップＳ３ｂにおいて、ＰＣからのコマンドを受けて、ステップＳ３ｃにおいてコマンドの指示内容を判別する。そして、ステップＳ３ｄにおいてコマンドの指示内容が描画処理であるか否かを判定し、図形描画、画素描画の場合はそのままグラフィック処理部１で処理を行う。
【００１６】
ステップＳ３ｅにおいて、描画処理が図形描画であるか否かを判定し、図形描画と判定されると、ステップＳ３ｆに移行して、図形データをもとに各画素のアドレスを計算し、ステップＳ３ｇにおいてインデックス付フレームバッファ２にデータ（ＲＧＢ＋index）の書き込む。ステップＳ３ｈの判定により図形描画が終了するまでステップＳ３ｆ〜Ｓ３ｇの処理を繰り返し行う。ステップＳ３ｅの判定において描画処理が画素描画であれば、ステップＳ３ｇにおいて指定されたアドレスにデータ（ＲＧＢ＋index）を書き込む。
【００１７】
一方、グラフィック処理部１は、コマンドの指示内容が画像補正処理の場合、ステップＳ３ｌにおいて、補正処理部５へ補正モードとパラメータを送る。これを受けて、補正処理部５は、ステップＳ３ｍにおいて色データの補正処理を行う。
【００１８】
ここで、補正処理部６、ＬＵＴ制御部５で行われる処理について詳細に説明する。  
まず、補正処理部６における補正処理の演算方法について説明する。グラフィック処理部１は、ＰＣから入力されたコマンドに応じて補正モードを選択し、補正処理部５に演算方法を指示する。
【００１９】
（１）補正データＲ´，Ｇ´，Ｂ´を色データとして扱う場合  
まず、補正データＲ´，Ｇ´，Ｂ´を色データとして扱う場合について説明する。  
ルックアップテーブル３から読み出したＲ´，Ｇ´，Ｂ´を２４ビットの色データとして扱うことにより、フレームバッファにＲ，Ｇ，Ｂによる画像とＲ´，Ｇ´，Ｂ´による画像２画面保存することができる。ただし、Ｒ，Ｇ，Ｂは各８ビットの計２４ビットのフルカラー表示（１６７７万色）に対し、Ｒ´，Ｇ´，Ｂ´はｎビットのインデックスカラー表示（１６７７万色中２＾ｎ色）になる。一度に２画面分のデータを扱える事により様々な補正を行う事ができる。以下ではＲを用いて示すが、Ｇ，Ｂについても同様である。
【００２０】
入力データＲ、補正データＲ´、出力データＲｏｕｔとすると、例えば、以下のような色補正をＲ，Ｇ，Ｂ独立に行うことができる。  
フルカラーＲ出力          ：Ｒｏｕｔ＝Ｒ  
インデックスカラーＲ´出力：Ｒｏｕｔ＝Ｒ´  
加算処理                  ：Ｒｏｕｔ＝Ｒ＋Ｒ´  
減算処理                  ：Ｒｏｕｔ＝Ｒ−Ｒ´  
平均                      ：Ｒｏｕｔ＝（Ｒ＋Ｒ´）／２  
比較                      ：Ｒｏｕｔ＝Ｒ    （Ｒ＞Ｒ´）  
比較                      ：Ｒｏｕｔ＝Ｒ´    （Ｒ＞Ｒ´）  
二値化                    ：Ｒｏｕｔ＝２５５（Ｒ＞Ｒ´），０（Ｒ≦Ｒ´）
（２）補正データＲ´，Ｇ´，Ｂ´を係数として扱う場合  
ルックアップテーブルから読み出したＲ´，Ｇ´，Ｂ´を各８ビットの係数（０〜１）として扱うことにより、Ｒ，Ｇ，Ｂの値にＲ´，Ｇ´，Ｂ´の値を乗算する事でＲｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔを得る。以下ではＲを用いて示すが、Ｇ、Ｂについても同様である。入力データＲ、補正データＲ´、出力データＲｏｕｔとする。  
色補正                    Ｒｏｕｔ＝Ｒ×Ｒ´（０＜Ｒ´＜１）  
色成分除去                Ｒｏｕｔ＝Ｒ×Ｒ´（Ｒ´＝０）
表示レイヤ、グループ、更新タイミングに応じて各画素のインデックスＩを付加し、ルックアップテーブルに格納されているＲ´，Ｇ´，Ｂ´を変更する事により、フレームバッファ内のＲ，Ｇ，Ｂの値を変更しなくても画像出力Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔを変更する事ができる。例えば、インデックスＩのＲ´，Ｇ´，Ｂ´の値をＲ´＝０，Ｇ´＝０，Ｂ´＝０とすると、インデックスにＩが格納されている画素はＲ，Ｇ，Ｂの値に関わらず黒（Ｒｏｕｔ＝０、Ｇｏｕｔ＝０、Ｂｏｕｔ＝０）を出力する。
【００２１】
さて、図３において、グラフィック処理部１は、コマンドの指示内容がルックアップテーブルの書換えであればステップＳ３ｊにおいて、ＬＵＴ制御部４にＬＵＴのインデックスとデータを送る。これを受けて、ＬＵＴ制御部４は、ステップＳ３ｋにおいてルックアップテーブルの更新処理を行う。
【００２２】
Ｒ´，Ｇ´，Ｂ´を色データとして扱う場合はルックアップテーブル３で使用する色の管理を行う。Ｒ´，Ｇ´，Ｂ´を係数（０≦Ｒ´，Ｇ´，Ｂ´≦１）として扱う場合はＲ´，Ｇ´，Ｂ´の値を必要に応じて更新する事で特定のインデックスを持つすべての画素を操作することができる。例えば、インデックスが１の画素のみＲ´＝１、Ｇ´＝１、Ｂ´＝１とし、それ以外のインデックスを持つ画素をＲ´＝０、Ｇ´＝０、Ｂ´＝０とルックアップテーブルで設定する事により、インデックスとして１を持つ画素のみ表示することができる。表示される色は各画素のＲ，Ｇ，Ｂとなる。また、ルックアップテーブルのＲ´，Ｇ´，Ｂ´を変えていくことでフレームバッファ内のＲ，Ｇ，Ｂのデータを変更することなくＲｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔのデータを変更することが可能となる。
【００２３】
さらに、補正処理部５から出力される補正処理後の画像をインデックス付フレームバッファ２にフィードバックする場合の画像処理装置１０１の構成例を図４に示す。なお、図４において、図１と同一部分には同一符号を付し、詳しい説明は省略する。また、フィードバック機能を追加した場合のフローチャートを図５に示す。
【００２４】
図４において、補正処理部５からグラフィック処理部１へのコマンドのフィードバックと補正処理部５にインデックスＩの入力を追加する。フィードバックするコマンドはＰＣからの画素描画のコマンドと同じフォーマットであり、画素のアドレス、Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔと、インデックスＩｏｕｔをグラフィック処理部１にフィードバックする。Ｉｏｕｔは、補正処理部５の入力のインデックスＩをそのまま出力してもよいし、補正処理部５で演算処理した結果を出力することもできる。
【００２５】
図５において、画像補正処理の具体的な流れとしては、図３に示したように、グラフィック処理部１は、画像補正処理コマンドを受付けると、補正モードを補正処理部５へ出力する。補正処理部５は補正モードに応じてインデックス付フレームバッファ２のＲ，Ｇ，ＢテーブルをＲ´，Ｇ´，Ｂ´の値を用いて補正処理し、補正後データＲｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔをディスプレイに出力する。画像処理装置１０１において、フィードバックをＯＮにすると、補正処理部５は、画素のアドレスと、Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ，Ｉｏｕｔをコマンドにして発行し、グラフィック処理部１に送る。この送られたコマンドに従い、グラフィック処理部１は、インデックス付フレームバッファ２を書き換える。
【００２６】
なお、グラフィック処理部１ではコマンドを受付順に実行するが、フィードバックＯＮの時はＰＣからの図形描画、画素描画のコマンドよりも補正処理部５からのコマンドを優先して実行する。つまり、インデックス付フレームバッファ２にフィードバックデータを優先して書き込む。フィードバックが終了した時点よりＰＣからの図形描画、画素描画コマンドを順に実行する。
【００２７】
また、インデックス付フレームバッファ２の書き込みと読み出しは独立しているため、グラフィック処理部１は、ＰＣからコマンドが来るたびに処理を行い、画素のアドレス・データをインデックス付フレームバッファ２に書き込む。一方、補正処理部５ではＰＣからのコマンドに関わらず一定のスピードでインデックス付フレームバッファ２から画素のデータを読み出し、ディスプレイに出力する。これにより、ＰＣからのコマンドによってＬＵＴの書換えや補正処理が変更された場合は即座に変更を反映してディスプレイに出力することが可能である。
【００２８】
以上述べたように上記実施形態では、画像処理装置１００は、インデックス付フレームバッファ２と、ルックアップテーブル３と、補正処理部５とを備える。ルックアップテーブル３は、画像データが表す色データを補正する補正情報をインデックスＩに対応付けて記憶する。インデックス付フレームバッファ２は、色データ（Ｒ，Ｇ，Ｂ）に加え、ルックアップテーブル３を参照するインデックスＩを画素毎に保持する。インデックス付フレームバッファ２から入力されるインデックスＩに基づいてルックアップテーブル３が参照され、補正データＲ´，Ｇ´，Ｂ´が補正処理部５に出力される。この補正データＲ´，Ｇ´，Ｂ´を用いて、補正処理部５において、インデックス付フレームバッファ２から入力される色データを補正するものである。
【００２９】
したがって上記実施形態によれば、フレームバッファを書き換えることなく画像の色情報を補正することでＣＰＵの負荷を軽減し、画像の色情報の補正を短時間に行うことが可能となる。特に、この発明は、大画面ディスプレイに表示する場合など、解像度が高くフレームバッファの書き換えに長時間を要する場合に非常に効果的である。
【００３０】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００３１】
【図１】この発明に係わる画像処理装置の一実施形態の構成を示すブロック図。
【図２】ルックアップテーブルの構成の一例を示す図。
【図３】図１に示す画像処理装置の処理手順とその内容を示すフローチャート。
【図４】補正後データをフィードバックする機能を追加した画像処理装置の構成を示すブロック図。
【図５】図４に示す画像処理装置の処理手順とその内容を示すフローチャート。
【符号の説明】
【００３２】
１００…画像処理装置、１…グラフィック処理部、２…インデックス付フレームバッファ、３…ルックアップテーブル、４…ルックアップテーブル制御部、５…補正処理部。
【図１】
2008016879.tif 000003
【図２】
2008016879.tif 000004
【図３】
2008016879.tif 000005
【図４】
2008016879.tif 000006
【図５】
2008016879.tif 000007