(57)【特許請求の範囲】
【請求項１】
第１の色空間から第２の色空間に画像データを変換する方法であって、
前記第１の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、
前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、
a)予め定められた前記色集合を、複数のカラーバンドに分割するとともに、クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを生成する工程と、
b)前記画像データを複数の画素ブロックに分割するとともに、処理対象となる特定画素ブロックを選定する工程と、
c)前記特定画素ブロックの平均クロミナンス値を取得するクロミナンス値取得工程と、
d)前記特定画素ブロック中の各画素の輝度値を取得する輝度値取得工程と、
e)前記ルックアップテーブルおよび算出した平均クロミナンス値から、前記特定画素ブロックをいずれかの前記カラーバンドに対応付ける工程と、
f)前記特定画素ブロック中の各画素について、対応付けられているカラーバンドの中から各画素の輝度値に対応する特定色を選定する選定工程と、
g)前記特定画素ブロック中の各画素について選定された特定色を保存する工程と、
を備えることを特徴とする色空間変換方法。
【請求項２】
請求項１に記載の色空間変換方法において、
前記第１の色空間は、
YUV色空間、YCrCb色空間、または、YPrPb色空間、
を含むことを特徴とする色空間変換方法。
【請求項３】
請求項１に記載の色空間変換方法において、
前記第２の色空間は、
パレット色空間、
を含むことを特徴とする色空間変換方法。
【請求項４】
請求項１に記載の色空間変換方法において、
前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする色空間変換方法。
【請求項５】
請求項１に記載の色空間変換方法において、
前記画素ブロックは、
４行４列の１６の画素からなる２次元配列、
を含むことを特徴とする色空間変換方法。
【請求項６】
請求項１に記載の色空間変換方法において、
前記クロミナンス値取得工程は、
c-1)前記特定画素ブロックの平均クロミナンス値を算出する工程、
を含むことを特徴とする色空間変換方法。
【請求項７】
請求項１に記載の色空間変換方法において、
前記クロミナンス値取得工程は、
c-2)前記特定画素ブロックの平均クロミナンス値をビデオ圧縮エンジンを利用して求める工程、
を含むことを特徴とする色空間変換方法。
【請求項８】
請求項１に記載の色空間変換方法において、
前記輝度値取得工程は、
d-1)前記特定画素ブロック中の各画素の輝度値にディザ処理を施す工程、
を含むことを特徴とする色空間変換方法。
【請求項９】
請求項１に記載の色空間変換方法において、
前記輝度値取得工程は、
d-2)輝度値に誤り値を加算する工程、
を含むことを特徴とする色空間変換方法。
【請求項１０】
請求項１に記載の色空間変換方法において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、
前記選定工程は、
f-1)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する工程、
を含むことを特徴とする色空間変換方法。
【請求項１１】
第１の色空間から第２の色空間に画像データを変換する装置であって、
前記第１の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、
前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、
a)予め定められた前記色集合を、複数のカラーバンドに分割するカラーバンド生成手段と、
b)クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを記憶する手段と、
c)前記画像データを複数の画素ブロックに分割するとともに、処理対象の特定画素ブロックを特定する手段と、
d)前記特定画素ブロックの平均クロミナンス値から対応するカラーバンドを特定するとともに、前記特定画素ブロック中の各画素について、特定されたカラーバンドの中から、各画素の輝度値に応じて特定色を選定する変換手段と、
を備えることを特徴とする色空間変換装置。
【請求項１２】
請求項１１に記載の色空間変換装置において、
前記第１の色空間は、
YUV色空間、YCrCb色空間、またはYPrPb色空間、
を含むことを特徴とする色空間変換装置。
【請求項１３】
請求項１１に記載の色空間変換装置において、
前記第２の色空間は、
パレット色空間、
を含むことを特徴とする色空間変換装置。
【請求項１４】
請求項１１に記載の色空間変換装置において、
前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする色空間変換装置。
【請求項１５】
請求項１１に記載の色空間変換装置において、
前記変換手段は、
d-1)前記特定画素ブロックの平均クロミナンス値を算出する手段、
を含むことを特徴とする色空間変換装置。
【請求項１６】
請求項１１に記載の色空間変換装置において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、
前記変換手段は、
d-2)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する手段、
を含むことを特徴とする色空間変換装置。
【請求項１７】
２次元の画素配列であって、RGB（Red, Green, Blue）色空間で定義されている画像データを、第３の色空間を介して、第２の色空間に変換するための方法であって、
前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、
前記第３の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、
a)予め定められた前記色集合を、複数のカラーバンドに分割するとともに、クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを生成する工程と、
b)前記RGB色空間で保存された画像データを、前記第３の色空間に変換する工程と、
c)画像データ中の１画素のクロミナンス値を求める工程と、
d)画像データを分割したブロック内の各画素の輝度値を求める輝度値取得工程と、
e)前記ルックアップテーブルを用いて、求めたクロミナンス値を前記カラーバンドのうちの１つに対応付ける工程と、
f)各画素について求めた輝度値から、各画素に対して対応付けられた前記カラーバンドの中の特定色を選定する選定工程と、
g)画素ごとに選択された特定色を保存する工程と、
を備えることを特徴とする色空間変換方法。
【請求項１８】
請求項１７に記載の色空間変換方法において、
前記第２の色空間は、
パレット色空間、
を含むことを特徴とする色空間変換方法。
【請求項１９】
請求項１７に記載の色空間変換方法において、
前記第３の色空間は、
YUV色空間、YCrCb色空間、またはYPrPb色空間、
を含むことを特徴とする色空間変換方法。
【請求項２０】
請求項１７に記載の色空間変換方法において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、
前記選定工程は、
f-1)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する工程、
を含むことを特徴とする色空間変換方法。
【請求項２１】
請求項１７に記載の色空間変換方法において、
前記選定工程は、
f-2)輝度値にディザ処理を施す工程、
を含むことを特徴とする色空間変換方法。
【請求項２２】
請求項１７に記載の色空間変換方法において、
前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする色空間変換方法。
【請求項２３】
２次元の画素配列であって、RGB（Red, Green, Blue）色空間で保存された画像データを、第３の色空間を介して第２の色空間に変換する装置であり、
前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、
前記第３の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、
a)前記RGB色空間で保存された画像データの画素を、前記第３の色空間に変換する第１変換手段と、
b)予め定められた前記色集合を、複数のカラーバンドに分割するカラーバンド生成手段と、
c)クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを記憶する手段と、
d)画素のクロミナンス値から対応するカラーバンドを特定するとともに、特定されたカラーバンドの中から、各画素の輝度値に応じて特定色を選定する第２変換手段と、
を備えることを特徴とする色空間変換装置。
【請求項２４】
請求項２３に記載の色空間変換装置において、
前記第３の色空間は、
YUV色空間、YCrCb色空間、またはYPrPb色空間、
を含むことを特徴とする色空間変換装置。
【請求項２５】
請求項２３に記載の色空間変換装置において、
前記第２の色空間は、
パレット色空間、
を含むことを特徴とする色空間変換装置。
【請求項２６】
請求項２３に記載の色空間変換装置において、
前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする色空間変換装置。
【請求項２７】
請求項２３に記載の色空間変換装置において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、
前記第２変換手段は、
d-1)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する手段、
を含むことを特徴とする色空間変換装置。
【請求項２８】
コンピュータ読みとり可能な記録媒体であって、前記記録媒体に記録されたプログラム命令は、前記コンピュータに以下の工程を実行させる。
a)予め定められた色集合を、複数のカラーバンドに分割する工程、
b)画素ブロックを特定する工程、
c)前記画素ブロックの平均クロミナンス値を求める工程、
d)前記画素ブロック中の各画素の輝度値を求める工程、
e)ルックアップテーブルを使って、平均クロミナンス値を前記カラーバンドの１つに対応させる工程、
f)前記画素ブロック中の各画素について、対応する前記カラーバンドから画素の輝度値に応じて特定色を選定する工程、および、
g)前記画素ブロック中の各画素について選定された特定色を保存する工程。
【請求項２９】
コンピュータ読みとり可能な記録媒体であって、前記記録媒体に記録されたプログラム命令は、前記コンピュータに以下の工程を実行させる。
a)予め定められた色集合を、複数のカラーバンドに分割する工程、
b)RGB色空間で保存された画像データを、各画素の色を輝度値および少なくとも１つのクロミナンス値によって定義する第３の色空間に変換する工程、
c)画素ブロックを特定する工程、
d)１画素のクロミナンス値を求める工程、
e)画素ブロック中の各画素の輝度値を求める工程、
f)ルックアップテーブルを使って、クロミナンス値を前記カラーバンドの１つに対応させる工程、
g)前記画素ブロック中の各画素について、対応する前記カラーバンドから画素の輝度値に応じて特定色を選定する工程、および、
h)前記画素ブロック中の各画素について選定された特定色を保存する工程。
【請求項３０】
第１の色空間から第２の色空間へ画像データを変換するシステムであって、
前記第１の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、
前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、
a)予め定められた色集合を、複数のカラーバンドに分割する手段と、
b)前記画像データを複数の画素ブロックに分割するとともに、処理対象となる特定画素ブロックを選定する工程と、
c)前記特定画素ブロックの平均クロミナンス値を求める手段と、
d)前記特定画素ブロック中の各画素の輝度値を求める手段と、
e)ルックアップテーブルを使って、平均クロミナンス値を前記カラーバンドの１つに対応させる手段と、
f)前記特定画素ブロック中の各画素について、対応するカラーバンドから画素の輝度値に応じて特定色を選定する手段と、
g)前記特定画素ブロック中の各画素について、選定された特定色を保存する手段と、
を備えることを特徴とする色空間変換システム。
【請求項３１】
２次元の画素配列であって、RGB（Red, Green, Blue）色空間で保存された画像データを、第３の色空間を介して第２の色空間に変換する色空間変換システムであり、
前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、
前記第３の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、
a)予め定められた色集合を、複数のカラーバンドに分割する手段と、
b)RGB色空間で保存されている画像データを、前記第３の色空間に変換する手段と、
c)１画素のクロミナンス値を求める手段と、
d)画素ブロック中の各画素の輝度値を求める手段と、
e)ルックアップテーブルを使って、クロミナンス値を前記カラーバンドの１つに対応させる手段と、
f)各画素について、対応するカラーバンドから画素の輝度値に応じて特定色を選定する手段と、
g)各画素について、選定された特定色を保存する手段と、
を備えることを特徴とする色空間変換システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概してビデオ画像処理に関するものであり、特に、ビデオ画像をある色空間から別の色空間に変換するシステム及びその方法に関する。
【０００２】
【発明の背景】
多くの場合、映像データは、YUV色空間、YCrCb色空間またはYPrPb色空間などの輝度／クロミナンス色空間[luminance-chrominance color space]で保存される。輝度／クロミナンス色空間とは、輝度値およびクロミナンス値で色を定義する色空間である。例えば、YUV色空間は、３つの変数Y、U、Vの組み合わせで色を定義する。変数Yは、色の明るさ[luminosity]を表す。変数Uは、赤から変数Yを引いたもの（R-Y）、変数Vは、青から変数Yを引いたもの（B-Y）、をそれぞれ表す。一般に、輝度／クロミナンス色空間形式の映像データは、RGB（red, green, blue）形式の生映像データと比べて、かなり狭い記憶空間および伝送帯域幅で済む。このため、輝度／クロミナンス色空間は、通常、映像データを記憶及び伝送するのに好ましい。別の一般的な色空間としては、赤、緑、青をそれぞれ表す３つの値で色を定義するRGB色空間がある。
【０００３】
輝度／クロミナンス色空間では、一意的及び効率的に多数の色を定義することができる。しかし場合によって、映像データをコンピュータディスプレイ上に表示するのに、輝度／クロミナンス色空間を使用できないことがある。代わりに、パレット色空間など別の色空間を使って、映像データをコンピュータディスプレイ上に表示してもよい。パレット色空間は、各色がそれぞれ予め定められたRGB値を持つ、２５６色のカラーパレットを含む。
【０００４】
従って、視覚的に一応満足のいく表示画像が生成できるよう、輝度／クロミナンス色空間で保存された映像データをパレット色空間形式に効果的に変換するシステムおよび方法が必要になってくる。さらに、関連するデータ処理装置に必要以上に負担をかけることなく、輝度／クロミナンス色空間で保存された映像データを迅速かつ効果的に変換して、リアルタイムで表示するシステム及び方法が必要となる。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、請求項１記載の発明は、第１の色空間から第２の色空間に画像データを変換する方法であって、前記第１の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、a)予め定められた前記色集合を、複数のカラーバンドに分割するとともに、クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを生成する工程と、b)前記画像データを複数の画素ブロックに分割するとともに、処理対象となる特定画素ブロックを選定する工程と、c)前記特定画素ブロックの平均クロミナンス値を取得するクロミナンス値取得工程と、d)前記特定画素ブロック中の各画素の輝度値を取得する輝度値取得工程と、e)前記ルックアップテーブルおよび算出した平均クロミナンス値から、前記特定画素ブロックをいずれかの前記カラーバンドに対応付ける工程と、f)前記特定画素ブロック中の各画素について、対応付けられているカラーバンドの中から各画素の輝度値に対応する特定色を選定する選定工程と、g)前記特定画素ブロック中の各画素について選定された特定色を保存する工程と、を備えることを特徴とする。
【０００６】
請求項２記載の発明は、請求項１に記載の色空間変換方法において、前記第１の色空間は、YUV色空間、YCrCb色空間、または、YPrPb色空間、を含むことを特徴とする。
【０００７】
請求項３記載の発明は、請求項１に記載の色空間変換方法において、前記第２の色空間は、パレット色空間、を含むことを特徴とする。
【０００８】
請求項４記載の発明は、請求項１に記載の色空間変換方法において、前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする。
【０００９】
請求項５記載の発明は、請求項１に記載の色空間変換方法において、前記画素ブロックは、４行４列の１６の画素からなる２次元配列、を含むことを特徴とする。
【００１０】
請求項６記載の発明は、請求項１に記載の色空間変換方法において、前記クロミナンス値取得工程は、c-1)前記特定画素ブロックの平均クロミナンス値を算出する工程、を含むことを特徴とする。
【００１１】
請求項７記載の発明は、請求項１に記載の色空間変換方法において、前記クロミナンス値取得工程は、c-2)前記特定画素ブロックの平均クロミナンス値をビデオ圧縮エンジンを利用して求める工程、を含むことを特徴とする。
【００１２】
請求項８記載の発明は、請求項１に記載の色空間変換方法において、前記輝度値取得工程は、d-1)前記特定画素ブロック中の各画素の輝度値にディザ処理を施す工程、を含むことを特徴とする。
【００１３】
請求項９記載の発明は、請求項１に記載の色空間変換方法において、前記輝度値取得工程は、d-2)輝度値に誤り値を加算する工程、を含むことを特徴とする。
【００１４】
請求項１０記載の発明は、請求項１に記載の色空間変換方法において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、前記選定工程は、f-1)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する工程、を含むことを特徴とする。
【００１５】
請求項１１記載の発明は、第１の色空間から第２の色空間に画像データを変換する装置であって、前記第１の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、a)予め定められた前記色集合を、複数のカラーバンドに分割するカラーバンド生成手段と、b)クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを記憶する手段と、c)前記画像データを複数の画素ブロックに分割するとともに、処理対象の特定画素ブロックを特定する手段と、d)前記特定画素ブロックの平均クロミナンス値から対応するカラーバンドを特定するとともに、前記特定画素ブロック中の各画素について、特定されたカラーバンドの中から、各画素の輝度値に応じて特定色を選定する変換手段と、を備えることを特徴とする。
【００１６】
請求項１２記載の発明は、請求項１１に記載の色空間変換装置において、前記第１の色空間は、YUV色空間、YCrCb色空間、またはYPrPb色空間、を含むことを特徴とする。
【００１７】
請求項１３記載の発明は、請求項１１に記載の色空間変換装置において、前記第２の色空間は、パレット色空間、を含むことを特徴とする。
【００１８】
請求項１４記載の発明は、請求項１１に記載の色空間変換装置において、前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする。
【００１９】
請求項１５記載の発明は、請求項１１に記載の色空間変換装置において、前記変換手段は、d-1)前記特定画素ブロックの平均クロミナンス値を算出する手段、を含むことを特徴とする。
【００２０】
請求項１６記載の発明は、請求項１１に記載の色空間変換装置において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、前記変換手段は、d-2)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する手段、を含むことを特徴とする。
【００２１】
請求項１７記載の発明は、２次元の画素配列であって、RGB（Red, Green, Blue）色空間で定義されている画像データを、第３の色空間を介して、第２の色空間に変換するための方法であって、前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、前記第３の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、a)予め定められた前記色集合を、複数のカラーバンドに分割するとともに、クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを生成する工程と、b)前記RGB色空間で保存された画像データを、前記第３の色空間に変換する工程と、c)画像データ中の１画素のクロミナンス値を求める工程と、d)画像データを分割したブロック内の各画素の輝度値を求める輝度値取得工程と、e)前記ルックアップテーブルを用いて、求めたクロミナンス値を前記カラーバンドのうちの１つに対応付ける工程と、f)各画素について求めた輝度値から、各画素に対して対応付けられた前記カラーバンドの中の特定色を選定する選定工程と、g)画素ごとに選択された特定色を保存する工程と、を備えることを特徴とする。
【００２２】
請求項１８記載の発明は、請求項１７に記載の色空間変換方法において、前記第２の色空間は、パレット色空間、を含むことを特徴とする。
【００２３】
請求項１９記載の発明は、請求項１７に記載の色空間変換方法において、前記第３の色空間は、YUV色空間、YCrCb色空間、またはYPrPb色空間、を含むことを特徴とする。
【００２４】
請求項２０記載の発明は、請求項１７に記載の色空間変換方法において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、前記選定工程は、f-1)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する工程、を含むことを特徴とする。
【００２５】
請求項２１記載の発明は、請求項１７に記載の色空間変換方法において、前記選定工程は、f-2)輝度値にディザ処理を施す工程、を含むことを特徴とする。
【００２６】
請求項２２記載の発明は、請求項１７に記載の色空間変換方法において、前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする。
【００２７】
請求項２３記載の発明は、２次元の画素配列であって、RGB（Red, Green, Blue）色空間で保存された画像データを、第３の色空間を介して第２の色空間に変換する装置であり、前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、前記第３の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、a)前記RGB色空間で保存された画像データの画素を、前記第３の色空間に変換する第１変換手段と、b)予め定められた前記色集合を、複数のカラーバンドに分割するカラーバンド生成手段と、c)クロミナンス値と各カラーバンドとの対応づけを記録したルックアップテーブルを記憶する手段と、d)画素のクロミナンス値から対応するカラーバンドを特定するとともに、特定されたカラーバンドの中から、各画素の輝度値に応じて特定色を選定する第２変換手段と、を備えることを特徴とする。
【００２８】
請求項２４記載の発明は、請求項２３に記載の色空間変換装置において、前記第３の色空間は、YUV色空間、YCrCb色空間、またはYPrPb色空間、を含むことを特徴とする。
【００２９】
請求項２５記載の発明は、請求項２３に記載の色空間変換装置において、前記第２の色空間は、パレット色空間、を含むことを特徴とする。
【００３０】
請求項２６記載の発明は、請求項２３に記載の色空間変換装置において、前記色集合は、２５６種類またはそれ以下の種類の異なる色の集合であることを特徴とする。
【００３１】
請求項２７記載の発明は、請求項２３に記載の色空間変換装置において、各カラーバンドには識別番号が付与されており、前記識別番号に輝度値を加算することによって、各カラーバンドに所属する特定色を限定することが可能となるように前記識別番号が体系付けられており、前記第２変換手段は、d-1)各画素の輝度値を平均クロミナンス値に対応するカラーバンドの識別番号に加算することにより、特定色を選定する手段、を含むことを特徴とする。
【００３２】
請求項２８記載の発明は、コンピュータ読みとり可能な記録媒体であって、前記記録媒体に記録されたプログラム命令は、前記コンピュータに以下の工程を実行させる。a)予め定められた色集合を、複数のカラーバンドに分割する工程、b)画素ブロックを特定する工程、c)前記画素ブロックの平均クロミナンス値を求める工程、d)前記画素ブロック中の各画素の輝度値を求める工程、e)ルックアップテーブルを使って、平均クロミナンス値を前記カラーバンドの１つに対応させる工程、f)前記画素ブロック中の各画素について、対応する前記カラーバンドから画素の輝度値に応じて特定色を選定する工程、および、g)前記画素ブロック中の各画素について選定された特定色を保存する工程。
【００３３】
請求項２９記載の発明は、コンピュータ読みとり可能な記録媒体であって、前記記録媒体に記録されたプログラム命令は、前記コンピュータに以下の工程を実行させる。a)予め定められた色集合を、複数のカラーバンドに分割する工程、b)RGB色空間で保存された画像データを、各画素の色を輝度値および少なくとも１つのクロミナンス値によって定義する第３の色空間に変換する工程、c)画素ブロックを特定する工程、d)１画素のクロミナンス値を求める工程、e)画素ブロック中の各画素の輝度値を求める工程、f)ルックアップテーブルを使って、クロミナンス値を前記カラーバンドの１つに対応させる工程、g)前記画素ブロック中の各画素について、対応する前記カラーバンドから画素の輝度値に応じて特定色を選定する工程、および、h)前記画素ブロック中の各画素について選定された特定色を保存する工程。
【００３４】
請求項３０記載の発明は、第１の色空間から第２の色空間へ画像データを変換するシステムであって、前記第１の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、a)予め定められた色集合を、複数のカラーバンドに分割する手段と、b)前記画像データを複数の画素ブロックに分割するとともに、処理対象となる特定画素ブロックを選定する工程と、c)前記特定画素ブロックの平均クロミナンス値を求める手段と、d)前記特定画素ブロック中の各画素の輝度値を求める手段と、e)ルックアップテーブルを使って、平均クロミナンス値を前記カラーバンドの１つに対応させる手段と、f)前記特定画素ブロック中の各画素について、対応するカラーバンドから画素の輝度値に応じて特定色を選定する手段と、g)前記特定画素ブロック中の各画素について、選定された特定色を保存する手段と、を備えることを特徴とする。
【００３５】
請求項３１記載の発明は、２次元の画素配列であって、RGB（Red, Green, Blue）色空間で保存された画像データを、第３の色空間を介して第２の色空間に変換する色空間変換システムであり、前記第２の色空間は、各画素の色を、所定の色集合から選択した１つの色に対応付けて定義するものであり、前記第３の色空間は、各画素の色を、輝度値および少なくとも１つのクロミナンス値によって定義するものであり、a)予め定められた色集合を、複数のカラーバンドに分割する手段と、b)RGB色空間で保存されている画像データを、前記第３の色空間に変換する手段と、c)１画素のクロミナンス値を求める手段と、d)画素ブロック中の各画素の輝度値を求める手段と、e)ルックアップテーブルを使って、クロミナンス値を前記カラーバンドの１つに対応させる手段と、f)各画素について、対応するカラーバンドから画素の輝度値に応じて特定色を選定する手段と、g)各画素について、選定された特定色を保存する手段と、を備えることを特徴とする。
【００３６】
【発明の実施の形態】
｛第１の実施の形態｝
図１は、本発明で具現化されている色空間変換技術を実現するコンピュータシステム１００を示している。図示のように、コンピュータシステム１００は、ディスプレイ１０２、ディスプレイアダプター１０４、中央演算処理装置（ＣＰＵ）１０６、メモリ装置１０８、データ記憶装置１１０、入出力装置１１２，及び通信インターフェース１１４を備える。
【００３７】
ＣＰＵ１０６、メモリ装置１０８、記憶装置１１０、入出力装置１１２、及び通信インターフェース１１４は全て、システムバス１１６に接続されている。さらに、従来からあるＣＲＴや、ＬＣＤモニターなどで構成されるディスプレイ１０２も、ディスプレイアダプター１０４を介してシステムバス１１６に接続されている。また、ディスプレイ１０２は、画像および文字をユーザに対して表示するよう構成されている。ディスプレイアダプター１０４は、独立したビデオカードで構成される場合や、ＣＰＵ１０６に実装される場合などがあり、システムバス１１６を通じて受信した信号を、ディスプレイ１０２に対応した電気信号に変換する。ＣＰＵ１０６は、例えば、Intel Pentium（登録商標）またはIntel Celeron（登録商標）などのデータプロセッサーからなる。
【００３８】
メモリ装置１０８は、オペレーティングシステム１２２，色変換エンジン１２４，及びアプリケーション１２６を含む。一般に、メモリ装置１０８は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、及び不揮発性記憶装置のうちのいずれか１つかまたはそれらを組み合わせたものから構成され、プログラム命令、ファイル、及びその他のデータを記憶する。
【００３９】
オペレーティングシステム１２２は、例えばWindows（登録商標）98などのオペレーティングシステムである。アプリケーション１２６は、ビデオグラフィックスをリアルタイムで生成または復元してディスプレイ１０２などのコンピュータディスプレイに表示するためのアプリケーションソフトウェアであり、一般に用いられている様々なアプリケーションソフトウェアを利用することが可能である。
【００４０】
後で詳しく述べるように、色変換エンジン１２４は、アプリケーション１２６によって生成されたビデオグラフィックスを、例えばRGB色空間または輝度／クロミナンス色空間などの色空間からパレット色空間に変換するものであり、ディスプレイはＣＰＵ１０６のリソースを保護しながらリアルタイムでビデオグラフィックスを表示できる。
【００４１】
また、入出力装置１１２は、１つまたは複数のプリンター、キーボード、マウス、トラックボール等であり、ユーザまたは他の装置から情報を受信したり情報を伝達したりする機能を有する。また、入出力装置１１２として、デジタルカメラを含めてもよい。デジタルカメラを備える場合、当該デジタルカメラから入力した画像データに対して本発明の色変換処理を適用させることが可能である。また、各種のインタフェースケーブルや無線通信を介してデジタルカメラから画像データを取得するようにしてもよい。最後に、通信インターフェース１１４は、モデムや、イーサネット（登録商標）カードであり、ネットワーク（図示せず）を介して１つまたは複数の遠隔端末との間で通信を可能としている。
【００４２】
図２は、図１の色変換エンジン１２４の細部を模式的に示している。図示のように、色変換エンジン１２４は、カラーバンド生成部２０２、ルックアップテーブル２０４，変換モジュール２０６、及びピクセルバッファ２０８を含む。色変換エンジン１２４のモジュールは、効率的にかつリアルタイムで、輝度／クロミナンス色空間又はRGB色空間などのある色空間の映像データをパレット色空間の映像データに変換する。
【００４３】
一般に、カラーバンド生成部２０２は、色集合であるカラーパレットを複数の色部分集合であるカラーバンドに分割する。通常、オペレーティングシステム１２２（図１）は、予め定められた色集合（色セット）からなるカラーパレットを持っている。最も一般的なカラーパレットは２５６種の異なる色をセットとして含んでいる。この実施の形態では、RGB色空間又は輝度／クロミナンス色空間からパレット色空間へのビデオグラフィックデータの変換を容易にするため、カラーバンド生成部２０２は、２５６色のカラーパレットを１６個のカラーバンドに分割する。したがって、各カラーバンドはそれぞれ異なる１６色の色を含むことになる。このようにして生成される各カラーバンドは１組のパレットカラーを保有することになり、それぞれのパレットカラーは、全く同じとはいかないまでもほぼ同じ色成分を持ち、異なる輝度成分を持つ。カラーバンド生成部２０２についての詳細は、後で図３を参照しながら述べる。なお、本実施の形態においては、カラーパレットは２５６色のものを利用しているが、もちろん、カラーパレットの色セットは、２５６色以下のものであってもよいし、２５６色以上のものであってもよい。
【００４４】
ルックアップテーブル２０４は、ある画素のクロミナンス値または画素集合の平均クロミナンス値を、カラーバンド生成部２０２によって生成されたカラーバンドのうちのいずれか１つに効率的に対応づけるために利用されるテーブルである。この実施の形態において、ルックアップテーブル２０４は、各カラーバンドのクロミナンス値の範囲を示すマトリクスとなっており、色変換エンジン１２４はある画素のクロミナンス値または画素集合の平均クロミナンス値に対応するカラーバンドを迅速に特定することができる。ルックアップテーブル２０４の詳細については、後で図４を参照しながら述べる。
【００４５】
変換モジュール２０６は、ある画素について、パレット色空間中における対応する色を、ルックアップテーブル２０４で特定されたカラーバンド及びその画素の輝度値に基づいて決定する。この実施の形態によると、変換モジュール２０６は、画素の輝度値に応じて、特定されたカラーバンドの中から個別の色を選択する。この処理を実行する１つの方法として、変換モジュール２０６は、特定されたカラーバンドに対応する数値に画素の輝度値を加えて、個別のパレットカラーに対応する数値を求める。
【００４６】
変換モジュール２０６は、また、輝度値にディザ処理を施すことによって、誤差を考慮している。本発明では何千種類の中の１色を２５６種類の中の１色に変換しなければならないので、選択されたパレットカラーが元の色と完全に一致しないことがよくある。選択されたパレットカラーと元の色との誤差を考慮するため、本発明ではディザリング工程を設け、それによって輝度値の差異を隣接する画素に反映させる。輝度値のディザリングによって、変換後の画像が視覚的により満足のいくものとなる。変換モジュール２０６及びディザリング工程の詳細については、後で述べる。
【００４７】
ピクセルバッファ２１０は、パレット色空間に変換された映像データを、ディスプレイ１０２（図１）に表示する前に保存しておくための一時メモリバッファである。この実施の形態において、変換モジュール２０６は、変換後の映像データをピクセルバッファ２１０に保存する。そして、ピクセルバッファ２１０にアクセスすることによって、変換後の映像データをディスプレイ１０２に表示することを可能としている。
【００４８】
図３は、図２のカラーバンド生成部２０２の動作を示す。カラーバンド生成部２０２はカラーパレット３１０にアクセスし、カラーパレット３１０の種々の色を複数のカラーバンド３２０に分類する。上述のように、カラーパレット３１０は、通常、２５６種類の異なる色を備えており、各色はそれぞれ０〜２５５のいずれかの整数に対応する。カラーバンド生成部２０２が独自にカラーパレット３１０を持っていてもよいが、カラーパレット３１０は、通常、オペレーティングシステム１２２の一部としてメモリ１０８（図１）に保有されている。この実施の形態において、カラーバンド生成部２０２は、カラーパレット３１０の２５６色を、１６のカラーバンドに分類する。
【００４９】
ここで、各カラーバンドはそれぞれ１６種類の異なるパレットカラーを持っている。各カラーバンドが保有する色の集合は、異なる輝度値を持ちながら、全く同じでなくとも非常によく似たクロミナンス値を持つ色の集合であることが望ましい。後で図４を参照しながら述べるように、カラーバンド３２０は、ルックアップテーブル２０４（図２）によって利用される。
【００５０】
図４は、図２で示されたルックアップテーブル２０４の動作を示す。図示のように、ルックアップテーブル２０４は、クロミナンス値４１０を受け取り、受け取ったクロミナンス値４１０に対応するカラーバンド番号４２０を出力する。ルックアップテーブル２０４は、受け取ったクロミナンス値４１０に対応するカラーバンドを特定するための対応情報から成るマトリクスである。
【００５１】
１つの実施例としては、クロミナンス値４１０は、ある画素ブロックの平均クロミナンス値である。この実施例は、一般的に、輝度／クロミナンス色空間形式のデータを比較的高速にパレット色空間に変換する場合に用いられる。
【００５２】
別の実施例としては、クロミナンス値４１０は、単一画素のクロミナンス値である。この実施例は、一般的に、輝度／クロミナンス色空間形式のデータを比較的高品質にパレット空間に変換する場合に用いられる。
【００５３】
図５は、図２の変換モジュール２０６の細部を示す。図示されるように、変換モジュール２０６は、ルックアップテーブル２０４によって特定されたカラーバンド番号４２０（図２、４）及び選択された画素の輝度値５０２を入力として受け取る。パレットカラー決定モジュール５０４は、カラーバンド番号４２０及び輝度値５０２を受け取り、カラーバンド３２０及び誤差計算モジュール５０６を使って、特定の色空間形式の色５１０を出力する。
【００５４】
具体的には、パレットカラー決定モジュール５０４はカラーバンド番号４２０を受け取り、カラーバンド３２０にアクセスして任意の画素に対応するカラーバンドを特定する。次に、パレットカラー決定モジュール５０４は、着目する画素の輝度値５０２に対応する特定の色が見つかるまで、特定されたカラーバンドの個別の色を順次検索する。この実施の形態において、パレットカラー決定モジュール５０４は、カラーバンド番号４２０に輝度値５０２を加算して、特定されたカラーバンドの中からその輝度値５０２に対応する固有の１色を一意的に決定する。
【００５５】
また、パレットカラー決定モジュール５０４は、誤差計算モジュール５０６を実行することにより、輝度値にディザ処理を施し、輝度／クロミナンス色空間形式の色をパレット色空間形式の色へ変換する際の固有の誤差や近似を明らかにする。上述のように、輝度／クロミナンス色空間では、数千種類の異なる色が定義されるのに対し、パレット空間ではだいたい２５６種類またはそれより少ない種類の色が定義される。したがって、輝度／クロミナンス色空間からパレット色空間に変換する際には、本質的にある程度の近似が必要となる。実際、輝度／クロミナンス色空間からパレット色空間への変換で、当初の輝度／クロミナンスカラーと完全に一致するパレット色空間形式の色が存在しないことがよくある。誤差計算モジュール５０６は、ある画素に対して選択されたパレット色空間形式の色と、対応する輝度／クロミナンス色空間形式の色とがどの程度異なるのかを明らかにする。この色の違いは隣接する画素に加算され、その結果得られる画像は視覚的により満足のいくものとなる。後述するが、本実施の形態においては、この誤差は輝度値として求められるものであり、隣接する画素に対しては、誤差補正用の輝度値が加算されることになる。
【００５６】
特に、誤差計算モジュール５０６は、エラーバッファを保持して前の画素の誤り値を保存している。この誤り値は、パレットカラー決定モジュール５０４がカラーバンド番号４２０に対応するカラーバンドを割り出す前に、輝度値５２０に加算される。このように、例えばある近似による誤差を隣接する画素に反映させることによって、少なくとも部分的にこれらの誤差を考慮することができる。
【００５７】
例えば、前の画素で選択されたパレットカラーの輝度が対応する輝度／クロミナンスカラーの輝度よりもある程度低かった場合、誤差計算モジュールはエラーバッファにこの誤り値を保存する。そして、現在の画素に対して、誤差計算モジュール５０６は、エラーバッファに保存された誤り値を現在の画素の輝度値５０２に加算する。これによって、完全に一致する色よりもわずかに暗い色に対応付けられた前の画素とは異なり、現在の画素の輝度はわずかに高くなる。このように輝度値にディザ処理を施すことによって、場合によっては画質が向上することがわかっている。
【００５８】
図６は、輝度／クロミナンス色空間からパレット空間に、映像データをリアルタイムで変換する方法を示すフローチャート６５０である。この方法によると、まずステップＳ６００で、必要であれば、映像データを輝度／クロミナンス色空間に変換する。ただし、映像データがすでに輝度／クロミナンス色空間形式で表現されている場合には、最初に映像データを輝度／クロミナンス色空間に変換する処理は不要である。しかし、最初の状態において、映像データがRGB色空間形式である場合などにおいては、RGB色空間から輝度／クロミナンス色空間への変換用の計算式よって作成された周知のテーブルを用いて、映像データを輝度／クロミナンス形式に変換する。
【００５９】
次に、ステップＳ６０２で、カラーバンド生成部２０２（図３）は、パレットカラーを複数のカラーバンドに分割または組成する。一般的に、カラーバンド生成部２０２（図２）はカラーパレットを異なる色のカラーバンドに分割する。オペレーティングシステム１２２（図１）は、通常、予め定められた色セットからなるカラーパレットを保有している。最も一般的なカラーパレットは２５６種の異なる色を保有している。この実施の形態においては、RGB色空間または輝度／クロミナンス色空間からパレット色空間への映像グラフィックデータの変換を簡単にするため、カラーバンド生成部２０２は、２５６色のカラーパレットを１６のカラーバンドに分割する。ここで、各カラーバンドはそれぞれ１６種の別々の色を含む。しかし、当業者であれば分かるように、パレットカラーを別のグループ分けでカラーバンドに分類してもよいし、また、そのようなグループ分けを映像データの色に応じて最適化してもよい。
【００６０】
各カラーバンドは、１組のパレットカラーからなり、各色が全く同一ではなくともよく似た色成分と異なる輝度成分とを持つという利点を持つ。例えば、あるカラーバンドは、１組の色合いの異なるオレンジから成り、それぞれの色合いよって輝度が異なる。また、カラーバンドをたとえばグレーなどの特定の色のみにすることで、カラー画像を高速に白黒画像に変換することが可能である。
【００６１】
次に、ステップＳ６０４で、カラーバンドのルックアップテーブルを読み込む。ルックアップテーブル２０４は、各画素のクロミナンス値または画素集合の平均クロミナンス値を、カラーバンド生成部２０２で生成されたカラーバンドのうちの１つに効果的に対応させるようにしている。上述のように、この実施の形態において、ルックアップテーブル２０４は、カラーバンドごとのクロミナンス値の範囲を示すマトリクスなので、色変換エンジン１２４はある画素のクロミナンス値または画素集合の平均クロミナンス値に対応するカラーバンドを迅速に特定することができる。
【００６２】
次に、ステップＳ６０６で、輝度／クロミナンス色空間形式のある画素ブロックが選択される。ここで、輝度／クロミナンス色空間形式画素ブロックは、好ましくは、各画素がそれぞれ輝度成分及びクロミナンス成分を持つ輝度／クロミナンス色空間形式にフォーマットされており、１６個の画素からなる４×４の画素ブロックであることが望ましい。画素ブロックが選択されると、次にステップＳ６０８で、このブロック画素のクロミナンス成分またはクロミナンス値の平均を求めて、この画素ブロックの平均クロミナンス値を割り出す。
【００６３】
別の方法としては、画素ブロックの平均クロミナンス値を、アプリケーション１２６（図１）によって求める。アプリケーション１２６は、例えば、映像データ復元アプリケーションなどである。この実施の形態では、画素ブロックの平均クロミナンス値はアプリケーション１２６によって既に算出されているため、色変換エンジン１２４（図１）は画素ブロックの平均クロミナンス値を特定するだけでよい。
【００６４】
ステップＳ６１０では、色変換エンジン１２４は、ブロックの平均クロミナンス値に対応するカラーバンドを選択する。具体的には、色変換エンジン１２４（図１）は、ルックアップテーブル２０４（図４）を使って、画素ブロックの平均クロミナンス値と最も一致するカラーバンドを特定する。ルックアップテーブルは、好ましくは、画素ブロックの平均クロミナンス値に相当するカラーバンドに対応するカラーバンド番号を示していることが望ましい。
【００６５】
この実施の形態では、平均クロミナンス値は、１つのパレットカラーインデックスの４×４マトリクスを示す。平均クロミナンス値によっては、対応するカラーインデックスが存在する場合もあるが、他の平均クロミナンス値によっては、クロミナンス値にディザ処理を施して、より近い平均クロミナンスにしなければ、対応するカラーインデックスが存在しない場合もある。そして、各画素について、その画素のディザ化輝度値に応じて４×４のマトリクスの順次検索が行われ、画素ごとに個別のパレットカラーを特定する。
【００６６】
次に、ステップＳ６１２では、色変換エンジン１２４（図１）が選択されたブロックの中から１画素を選択する。画素が選択されると、ステップＳ６１４で、選択された画素に対応する輝度値５０２（図５）が、色変換エンジン１２４の変換モジュール２０６（図５）によって特定される。ステップＳ６１４で輝度値５０２が特定された後、誤差計算モジュール５０６により誤り値が指定されると、ステップＳ６１６で、特定した輝度値５０２に誤り値を加算する。上述のように、誤り値を輝度値５０２に加算することによって、輝度／クロミナンス色空間からパレット色空間への変換の際に起こる固有の誤差を考慮することができる。輝度値５０２と誤り値の合計は、以降、ディザ化輝度値と呼ぶこととする。誤り値がない場合、ディザ化輝度値は特定された輝度値と等しい。
【００６７】
次に、ステップＳ６１８において、パレットカラー決定モジュール５０４（図５）は、選択されたカラーバンドまたはカラーマトリクスからパレットカラーをディザ化輝度値に応じて選択し、パレット色空間形式の色５１０（図５）を決定する。具体的には、パレットカラー決定モジュール５０４は、選択されたカラーバンドのパレットカラーを順時検索し、カラーバンド中のディザ化輝度値に対応するパレットカラーを特定する。
【００６８】
この実施の形態において、パレットカラー決定モジュール５０４は、カラーバンド番号にディザ化輝度値を加算することによってパレット色空間形式の色５１０を特定する。ここでは、ディザ化輝度値とカラーバンド番号との合計値によって、選択されたカラーバンドの中の個別の色を定義している。パレット色空間形式の色５１０は、その後画素バッファ２１０（図２）に保存され、ディスプレイ１０２に表示される（図１）。
【００６９】
上記のようにパレットカラー決定モジュール５０４によってパレット色空間形式の色５１０が決まると、誤差計算モジュール５０６（図５）は、ブロック６２０で、新しい誤り値を求める。とりわけ、誤差計算モジュール５０６は、パレット色空間形式の色５１０の輝度と輝度値５０２との違いを求めることにより、新たな誤り値を求める。そして、次の画素の輝度にこの新しい誤り値が上述のように適用されるように、前の誤り値を新しい誤り値に置き換える。
【００７０】
ステップＳ６２２では、選択された画素がブロックの最後の画素であるかどうかを判断する。ステップＳ６２２の結果が"ｎｏ"であれば、プログラムはステップＳ６１２に戻り、ブロックの次の画素が選択される。逆に、ステップＳ６２２の結果が"ｙｅｓ"であれば、プログラムはステップＳ６２４に進み、選択された画素ブロックが変換すべき画素ブロックの最後の画素ブロックかどうかを判断する。ステップＳ６２４の結果が"ｎｏ"の場合、プログラムはステップＳ６０６に戻って、次の画素ブロックが選択される。ステップＳ６２４の結果が"ｙｅｓ"の場合、プログラムはステップＳ６２６に進んで、終了する。
【００７１】
｛第２の実施の形態｝
図７は、本発明の第２の実施の形態を示すフローチャート７５０である。図示のように、この方法によると、まずステップＳ７００で、必要であれば、映像データが輝度／クロミナンス色空間に変換される。ただし、映像データがすでに輝度／クロミナンス色空間形式である場合には、最初に映像データを輝度／クロミナンス色空間に変換する必要はない。しかし、最初の状態において映像データがRGB色空間形式などである場合には、RGB色空間等から輝度／クロミナンス色空間への変換用の計算式よって作成されたテーブルを使って、RGB色空間形式の映像データを輝度／クロミナンス色空間形式に変換する。
【００７２】
次に、ステップＳ７０２で、カラーバンド生成部２０２（図３）は、パレットカラーを複数のカラーバンドに分割または組成する。一般的に、カラーバンド生成部２０２（図２）はカラーパレットを異なる色のカラーバンドに分割する。オペレーティングシステム１２２（図１）は、通常、予め定められた色集合であるカラーパレットを持っている。最も一般的なカラーパレットは２５６種の異なる色を含んでいる。この実施の形態において、RGB色空間または輝度／クロミナンス色空間からパレット色空間へのビデオグラフィックデータの変換を簡単にするため、カラーバンド生成部２０２は、２５６色のカラーパレットを１６のカラーバンドに分割する。ここで、各カラーバンドはそれぞれ１６種の別々の色を含む。しかし、当業者であれば分かるように、パレットカラーを別のグループ分けでカラーバンドに分類してもよいし、また、そのようなグループ分けを映像データの色に応じて最適化してもよい。
【００７３】
各カラーバンドは、１組のパレットカラーから成り、各色が全く同一ではなくともよく似た色成分と異なる輝度成分とを持つという利点がある。例えば、あるカラーバンドは、１組の色合いの異なるオレンジから成り、それぞれの色合いよって輝度が異なる。
【００７４】
次に、ステップＳ７０４で、輝度テーブルおよびクロミナンステーブルを読み込む。輝度テーブルおよびクロミナンステーブルは、輝度／クロミナンス形式の画素データの輝度成分およびクロミナンス成分を１組の指数値に変換するのに使われるルックアップテーブルである。好ましくは、３つ１組の輝度およびクロミナンステーブルを設けて、１つ目のテーブルで輝度成分を示し、別の２つのテーブルで輝度／クロミナンスデータの２つのクロミナンス成分を示すようにすればよい。例えば、YUV形式の輝度／クロミナンスデータの場合、１つ目のテーブルはＹ値から指数への変換用、２つ目のテーブルはＵ値から指標への変換用、３つ目のテーブルはＶ値から指標への変換用である。
【００７５】
ステップＳ７０６では、輝度／クロミナンス色空間形式の映像データの１画素が、パレット色空間へ変換するために選択される。次に、ステップＳ７０８で、輝度の指数値及びクロミナンスの指数値を求める。輝度の指数値は、輝度／クロミナンスデータの輝度成分を輝度指数値に関連づける輝度指数テーブルを使って求められる。後述するように、輝度の指数値は、選択されたカラーバンドの中から個別のパレットカラーを特定するのに用いられる。
【００７６】
同様に、クロミナンス指数テーブルを使って、クロミナンスの指数値を求める。例えば、この実施の形態では、クロミナンスの指数値は、YUV形式の映像データのU成分及びV成分に対応する。後述するように、クロミナンスの指数値を組み合わせることによって、個別のカラーバンドを選択する。
【００７７】
次に、ステップＳ７１０では、クロミナンスの指数値を使って、輝度／クロミナンス形式の着目されている画素のクロミナンス成分に対応するカラーバンドを選択する。この実施の形態では、クロミナンスの指数値を全て加算して、得られた合計がちょうど１つのカラーバンドと対応するようになっている。例えば、上述のように、各カラーバンドにそれぞれ固有の番号を付けて、クロミナンスの指数値の合計がその番号の１つと等しくなるようになっている。従って、この場合、クロミナンスの指数値の合計と同じ番号をもつカラーバンドが、そのクロミナンス指数値に対応するカラーバンドとして選択される。
【００７８】
着目されている画素のクロミナンス成分に対応するカラーバンドが選択されると、次にステップＳ７１２で、選択されたカラーバンドの中から輝度の指数値に応じてパレットカラーが選択される。選択されたカラーバンドの中のどのパレットカラーを着目されている画素に対応する色として保存するかが、輝度の指数値から決定できる。この実施の形態によると、輝度の指数値をクロミナンスの指数値の合計に加算して１色のパレットカラーを一意的に特定し、その特定されたパレットカラーを着目している画素に対応する色として保存する。
【００７９】
ステップＳ７１４では、選択された色をピクセルバッファ２１０（図２）に保存して、ディスプレイ１０２（図１）に表示できるようにする。そして、ステップＳ７１６で、色変換エンジン１２４は、着目されている画素がパレット色空間に変換すべき最後の画素かどうかを判断する。ステップＳ１７６の結果が"ｎｏ"の場合、プログラムはステップＳ７０６に戻って、次の画素が選択される。逆に、ステップＳ７１６の結果が"ｙｅｓ"の場合、プログラムはステップＳ７１８に進み、終了する。
【００８０】
以上説明した本発明の概要を最後にまとめておく。本発明は、映像データを輝度／クロミナンス形式からパレット色空間形式に変換してリアルタイムで表示する際に起こる従来の問題を解決または実質的に改善するためのものである。本発明では、概して、カラーパレットを多数の別々のカラーバンド（color band）に分割し、ルックアップテーブルまたはマトリックスを用いて、任意のクロミナンス値を対応するカラーバンドに関連づける。対応するカラーバンドが明らかになると、輝度／クロミナンスカラーデータの輝度成分に応じて、そのカラーバンドの中から特定のパレットカラーが選択される。そして、特定された色がディスプレイに表示される。
【００８１】
また、表示画像を視覚的により満足のいくものにするために、輝度値にディザ処理を施す。また、RGB形式の色データをパレット空間形式に変換するのに、この発明を効果的に用いることが可能である。この場合、最初にRGB形式の色データをYPrPbなどの輝度／クロミナンス色空間形式に変換し、次に輝度／クロミナンス色空間からパレット色空間に変換する。
【００８２】
また、本発明の色変換エンジンはコンピュータで読み取り可能な媒体に保存して提供することが可能である。本発明の色変換エンジンにはカラーバンドテーブルが含まれる。カラーバンドテーブルは、カラーパレット中の別々のカラーバンドに分割された色から成る。さらに色変換エンジンには、輝度／クロミナンス映像データのクロミナンス値をカラーバンドに対応づけるルックアップテーブルも含まれている。また、輝度／クロミナンス値をパレット色空間値に変換するために、色変換エンジンの一部として変換モジュールも設けられている。これらのモジュールを使って、色変換エンジンは、効果的にかつリアルタイムで、輝度／クロミナンス映像データをパレット色空間形式のデータに変換することができる。
【００８３】
本発明の方法は、概して、任意の画素のクロミナンス値及び輝度値を検索する工程から成る。次に、色変換エンジンは、カラーバンド・ルックアップテーブルを用いてクロミナンス値に対応するカラーバンドを特定する。対応するカラーバンドが明らかになると、色変換エンジンは、輝度値に応じて特定されたカラーバンドの中から１色を選択し、付随のディスプレイに表示する。
【００８４】
あるいは、本発明の方法において、最初に、ある画素ブロックの輝度／クロミナンス色データを検索し、その画素ブロックの平均クロミナンス値を算出または取得してもよい。この場合、次に、色変換エンジンは、カラーバンド・ルックアップテーブルを用いて平均クロミナンス値に対応するカラーバンドを特定し、その後、ブロックの各画素に対応する輝度値に応じて各画素について対応する色を特定する。
【００８５】
以上、本発明について具体的な実施例に基づいて説明した。しかし、請求項に記載した本発明のより広範な目的および要旨を逸脱することなく、様々な変形および変更が可能であるということは言うまでもない。従って、上述の説明および図面は単に例示であり、本発明を限定するものではない。
【００８６】
【発明の効果】
以上説明したように、請求項１、１１、２８、２９、３０記載の発明では、クロミナンス値と輝度値を取得することにより、輝度／クロミナンス空間の色をパレット色空間の色に即座に変換することができるので、輝度／クロミナンス空間の色を容易に表示することが可能である。
【００８７】
請求項１７、２３、３１記載の発明では、RGB色空間の色を、一旦輝度／クロミナンス空間の色に変換し、その後、クロミナンス値と輝度値とを用いてパレット色空間の色に変換するので、RGB色空間の画像データについても、容易に表示可能となる。
【００８８】
請求項２、１２、１９、２４記載の発明では、輝度／クロミナンス色空間としてYUV色空間、YCrCb色空間、YPrPb色空間に適応可能であり、汎用性が高い。
【００８９】
請求項３、１３、１８、２５記載の発明では、パレット色空間を変換後の色空間として利用するので、コンピュータディスプレイとの親和性がよい。
【００９０】
請求項４、１４、２２、２６記載の発明では、変換後の色空間は、２５６色またはそれより少ない種類の色集合を利用するので、コンピュータディスプレイでの表示が容易である。
【００９１】
請求項５記載の発明では、画素ブロックとして４行４列の２次元画素配列を用いるので、処理が容易である。
【００９２】
請求項６、１５記載の発明では、平均クロミナンス値を算出する手段を含むので、処理対応力が高い。
【００９３】
請求項７記載の発明では、平均クロミナンス値をビデオ圧縮エンジンを利用して求めるので、汎用性の高い構成となる。
【００９４】
請求項８、２１記載の発明では、輝度値にディザ処理を施すので、表示画像の適正化を図ることができる。
【００９５】
請求項９記載の発明では、輝度値に誤り値を加算するので、表示画像の適正化を図ることができる。
【００９６】
請求項１０、１６、２０，２７記載の発明では、クロミナンス値に対応したカラーバンド番号に輝度値を加算することによって、特定の色を指定することが可能であるので、色の変換処理を簡素化することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るコンピュータシステムのブロック図である。
【図２】本発明に係る色変換エンジンの概略図である。
【図３】カラーバンド生成部の入出力を示す概略図である。
【図４】ルックアップテーブルを用いた処理概略を示す図である。
【図５】変換モジュールの機能ブロック構成および入出力を示す概略図である。
【図６】本発明に係る、映像データをパレット色空間に変換する方法を示すフローチャートである。
【図７】本発明に係る、映像データをパレット色空間に変換する別の方法を示すフローチャートである。
【符号の説明】
１０８    メモリ装置
１２２    オペレーティングシステム
１２４    色変換エンジン
１２６    アプリケーション
２０２    カラーバンド生成部
２０４    ルックアップテーブル
２０６    変換モジュール
２０８    ピクセルバッファ
３１０    カラーパレット
３２０    カラーバンド
４１０    クロミナンス値
４２０    カラーバンド番号
５０２    輝度値
５０４    パレットカラー決定部
５１０    （パレット色空間上の）色
【図１】
0003895170.tif 000002
【図２】
0003895170.tif 000003
【図３】
0003895170.tif 000004
【図４】
0003895170.tif 000005
【図５】
0003895170.tif 000006
【図６】
0003895170.tif 000007
【図７】
0003895170.tif 000008