(57)【特許請求の範囲】
【請求項１】
画像毎に三原色（赤、緑、青）の組み合わせで発色表示される多色画像に対し、前記多色の色種を所定の色数まで減色して表示する表示装置であって、
前記三原色の組み合わせの色種のうち前記多色画像データの発色に使用された色種のＲＧＢ値および出現頻度を登録する頻度テーブルと、
前記出現頻度の多い順にソートした前記頻度テーブル上の色種の数が前記所定の色数を越えていた場合に、該所定の色数を越える順の中に登録されている第一の色種につき、該頻度テーブル上で最も前記ＲＧＢ値の距離の近い第二の色種を算出し、該第二の色種が該頻度テーブル上で所定の色数を越えない順の中に登録されていた場合には、該第一の色種の該頻度を該第二の色種の該頻度に加算するとともに該第一の色種を該頻度テーブルから削除し、該第二の色種が該頻度テーブル上で所定の色数を越える順の中に登録されていた場合には、該第二の色種のＲＧＢ値を該第一の色種と該第二の色種とのＲＧＢ値を平均した値に変更するとともに、該第一の色種を該頻度テーブルから削除することで、前記頻度テーブルに登録された色種を前記所定の色数にまで減ずる減色テーブル作成手段と、
前記多色画像データを、前記減色テーブル作成手段で処理された前記頻度テーブルの色数に基づいて、減色された色種情報付多色画像データに変換する多色画像データ変換手段と、
を備えることを特徴とする多色画像の減色表示装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はカラー画像表示時の減色方法であって、特にフルカラーの画像を指定色数の例えば２５６色に減色し、この減色した色種を同時発色させる画像表示装置に関する。
【０００２】
【従来の技術】
現在、多色表示可能な表示装置によって、カラー画像を表示することが一般に行なわれてきている。この場合でも、表示時の色種／色数は多々あり、簡易な表示装置では「８色」または「１６色」の同時発色程度である。或いは、１６７７万色の自然色（フルカラーと称し、光の三原色「赤（Ｒ），緑（Ｇ），青（Ｂ）」のそれぞれを８ビットの輝度範囲から選択したディジタル値で表示する）を表示できる表示装置も製品化されているが、これは高解像度を必要とするために製品価格が高価となり、一般ユーザ向きでない。
【０００３】
ー方、同時発色が２５６色程度の表示装置は、画面サイズと解像度のバランスが採られ、手頃な価格で販売されている。
２５６色同時発色の表示装置を使用する場合、例えば原画像の表示色数が３万２千色の場合であっても、この色数から「２５６色種」を選び出して同時発色させる時、選択できる色種の組み合わせは種々あり、ユーザが希望する色が必ずしも表色されないことになる。
【０００４】
近年、フルカラー画像として「ＰＨＯＴＯ画像」等の写真画像が容易に入力できるようになってきているが、このような画像は上述した１６７７万色の同時発色であり、表示装置側が三原色（Ｒ，Ｇ，Ｂ）表示とする方式では、ハードウェア側で１画素毎に２４ビット「Ｒ（赤），Ｇ（緑），Ｂ（青）の各８ビット」の発色機能を持つ必要がある。
【０００５】
【発明が解決しようとする課題】
しかし、上述したように、フルカラーの１６７７万色をそのまま表示できる装置は高価であり、そのため、このような自然色の画像を表示させる場合は、減色して表示させる方式が一般に採用されている。
【０００６】
ソフトウェアで減色する従来の方式では、ユーザはメーカ提供の予め用意した２５６色種のパターンを使用するか、または、（Ｒ，Ｇ，Ｂ）を個別に０〜２５５までの範囲の値に指定する方式のものがあった。
【０００７】
この場合、前者によるフルカラー画像はメーカ提供のパターン内の２５６色に限定して発色するため、例えば、「春，夏，秋，冬」の、各シーズンが見せる風景画等を個別にこの方式で減色したのでは、例えば「夏の陽射し」に適正な２５６に設定したカラーマップを一律に使用すると、「春の暖かさ」，「秋の紅葉」，「冬の寒々しさ」等のシーズンでは、特徴を生かした風景画像に変換出来ない不具合があった。
【０００８】
また、上記の後者による彩色選択の方式では、彩色に不慣れなユーザは自己が好む色合いの微妙な調合が困難であり、意図したものがなかなか得られないという問題があった。
【０００９】
本発明は、多色のカラー画像をより自然な彩色で容易に減色できる装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記の課題は下記の如くに構成された本発明によって解決される。
【００１１】
請求項１の発明では、画像毎に三原色（赤、緑、青）の組み合わせで発色表示される多色画像に対し、前記多色の色種を減色して表示する表示装置において、前記多色画像データの発色に使用された色種の使用頻度を管理する頻度テーブルに登録し、前記頻度テーブルに基づいて表示可能な色数を越えない色数まで登録色種を減ずる減色テーブルを作成し、前記多色画像データを前記減色テーブルに基づいて減色した色種情報付多色画像データに変換する多色画像の減色表示装置であって、前記頻度テーブル上の色種を頻度順に並べたとき前記表示可能な色数を越える第１の色種に対して他の前記頻度テーブル上の第２の色種との距離を算出する手段と、前記算出された最も近い前記第２の色種が前記頻度テーブルの前記表示可能な色数を越えた色種であったときには前記第２の色種を前記第１及び第２の色種の三原色要素を平均した色種に変更する手段と、前記第１の色種の頻度を前記第２の色種の頻度に加算するとともに、前記頻度テーブルから前記第１の色種を削除する手段とを備える。
【００１３】
更に、色種間の距離算出に、前記三原色同士で、少なくとも差の２乗和を用いるように構成する。そして、色種の頻度テーブル４０３を生成する際に、頻度が一致する色種の優先登録順については前記三原色から算出した「輝度」を用いるように構成する。
【００１４】
【作用】
請求項１の構成によれば、１６７７万色のフルカラー画像１の発色に使用されている色種（Ｒ，Ｇ，Ｂ）から２５６色を選んで減色種登録テーブルに登録する。
【００１６】
その際、多色画像データに使用している各画素における色種（Ｒ，Ｇ，Ｂ）の使用頻度による頻度テーブルを生成し、この頻度テーブルへの登録色種が２５６色を越える際には、各登録色種間の距離を算出し、最短距離を有する二色を一色に減色して登録することで、登録色種を２５６色までに減色する。
【００１７】
また、各出現画素は出現回数を計数すると共に、三原色（Ｒ，Ｇ，Ｂ）からの輝度・色相データ（ｙ，ｕ，ｖ）変換による輝度（ｙ）を算出しておき、出現頻度の一致した場合は輝度で優先順を決定する。
【００１８】
【実施例】
以下に図を用いて本発明の実施例を詳細に説明する。
図１は、本発明の原理説明図である。画素毎に三原色（赤，緑，青）それぞれを組み合わせて発色表示した多色画像データ１と、この多色画像データ１で使用されている色種を減色して登録した減色種登録テーブル４１および前記減色種登録テーブル４１への登録から溢れた色種を前記減色種登録テーブル４１に登録されている色種に関連付けて格納する予備色種の退避テーブル４２を含む色種テーブル４を生成する減色テーブル作成手段２と、前記多色画像データ１を前記色種テーブル４に登録された減色種対応に減色し、前記減色種登録テーブル４１に基づく色種情報付多色画像データ５に変換する多色画像データ変換手段３、とを備えて構成する。更に、前記減色種登録テーブル４１を生成する際に、前記多色画像データ１に使用された色種の使用頻度によって色種の頻度テーブル４０３を生成し、前記頻度テーブル４０３へ登録した色種間の距離を算出して当該頻度テーブル４０３への登録色数を減じる登録制御を行なうように構成する。
本発明で対象となる画像データのフォーマットを図６，図７で説明する。図６は三原色（Ｒ，Ｇ，Ｂ）それぞれ８ビットによる発色を、カラーマップ（或いは，カラーパレット）を用いない時の画像ファイル１１０の模式図である。図６（Ａ）はファイルフォーマットを示し、ファイル情報を記述したヘッダ部と終了情報を記載したトレーラ部の間に、ＲＧＢ値の組で示されるｐｉｘｅｌ部１０１が配置されている。また、１０２は各ＲＧＢ値を組として格納した具体例である。また、図６（Ｂ）は画素における三原色（Ｒ＝赤，Ｇ＝緑，Ｂ＝青）の８ビットの組み合わせによる時の発色の呼称図であり、例えば、「Ｒ＝７，Ｇ＝０，Ｂ＝０」の時は「真紅」を発色し、「Ｒ＝０，Ｇ＝７，Ｂ＝０」の時は「鮮やかな緑」を発色し、「Ｒ＝０，Ｇ＝０，Ｂ＝７」の時は「真っ青な青」を発色し、「Ｒ＝７，Ｇ＝７，Ｂ＝７」の時は「純白」となり、「Ｒ＝０，Ｇ＝０，Ｂ＝０」の時は「純黒」となる。
【００１９】
また、図６（Ｃ）は表示装置であって、画面上の画素位置座標を説明する図である。図６（Ｃ）で画面９０は左上隅を原点とするＸ−Ｙ直角座標で定義され、垂直（下）方向をＹ軸とするラインと、このライン内で水平（右）方向をＸ軸とする位置で１つの画素点が指示される。そして、図６（Ａ）に示すようにｐｉｘｅｌ部１０１は画面９０におけるライン毎に区切られ、かつライン内でＸ方向順に各三原色（Ｒ，Ｇ，Ｂ）の値が「組」として格納されている。従って、図６（Ａ）おける具体例１０２は「ライン０」上の「第０位置画素」乃至「第２位置画素」の値を示すものである。
【００２０】
次に、図７は三原色（Ｒ，Ｇ，Ｂ）それぞれ８ビットによる発色を、カラーマップを用いた時のカラーマップ付画像ファイル５１０の模式図である。図７（Ａ）はファイルフォーマットを示し、ヘッダ部とトレーラ部の間にカラーマップ番号とｐｉｘｅｌ部５０１が配置されている。そして、ｐｉｘｅｌ部５０１は図６（Ｃ）の画面９０におけるラインライン毎で区切られ、かつライン内でＸ方向順に図７（Ｂ）で示す発色（ＲＧＢ）対応のインデックスが格納されている。ここで、５０２は具体例であって同図（Ｂ）におけるインデックス番号５０３を記入したものであり、同図（Ｂ）の５０５は各ＲＧＢ値の具体例としての組合わせ値である。
【００２１】
従って、上記図６（Ａ）に示すフォーマットで格納されている画像ファイル１１０の具体例１０２における第０ライン上の「第０画素＝１１，３２，１００／第１画素＝６２，１２３，４５／第２画素＝５４，２３，５５」を、図７（Ｂ）に示すカラーマップ５０５で変換した時は、図７（Ａ）における具体例５０２に示すインデックス番号で「０，１，２」に置き代えられることになる。
【００２２】
図２は本発明の実施例ブロック図である。
図で、１００はファイル装置、１１０は図６に示す画像ファイル、７００は読出部、７１０は入力指示部、６００は画像ファイル１１０をー時的に格納する画像データ格納領域、２００は減色処理部、４００はテーブル、４０１は減色テーブル（図５）、４０２は予備色テーブル（図５）、４０３は頻度テーブル（図３）、３００は画像変換処理部、５００はカラーマップ付画像ファイル５１０（図７）を格納するカラーマップ付画像データ格納領域、８００はカラーマップ更新部、８０１はカラーマップ、９は表示制御部をそれぞれ示す。
【００２３】
以下、上記構成による実施例の動作を説明する。
入力指示部７１０から読出部７００へ表示すべき画像ファイルの例えばファイル名等が入力される。
【００２４】
読出部７００はファイル装置１００をサーチし、指定された画像ファイル１１０を読み出して画像データ格納領域６００へ書き込む。この書き込まれた画像ファイルは図６（Ａ）のフォーマットに示され、画面９０上の個々の画素発色を（Ｒ，Ｇ，Ｂ）の値の組で示すことになる。
【００２５】
減色処理部２００は画像データ格納領域６００から画像ファイル１１０の画素（Ｒ，Ｇ，Ｂ）を逐次読み出し、後述する図４のフローチャートに従って図３で後述する頻度テーブル４０３を作成する。次に、頻度テーブル４０３が完成すると、頻度テーブル４０３の基本領域４３４を複写して減色テーブル４０１を得る。次に再度、画像データ格納領域６００内の画像ファイル１１０から画素を逐次読み出し、図５（Ａ）の減色テーブル４０１内に登録済の色種と比較し、図５（Ｂ）の予備色テーブル４０２を生成する。
【００２６】
画像変換処理部３００は画像データ格納領域６００から画像ファイル１１０の画素を逐次読み出し、減色テーブル４０１及び予備色テーブル４０２を参照して図７（Ａ）のカラーマップ付画像ファイル５１０のフォーマットに変換し、カラーマップ付画像データ格納領域５００に格納する。
【００２７】
次に、カラーマップ更新部８００は作成された減色テーブル４０１をカラーマップ８０１に複写する。
表示制御部９はカラーマップ付画像データ格納領域５００に格納されているカラーマップ付画像ファイル５１０を更新されたカラーマップ８０１を用いて表示装置の画面９０に表示する。
【００２８】
次に、図３，図４，図５を併用してテーブル４００に含まれる頻度テーブル４０３，減色テーブル４０１および予備色テーブル４０２の生成を説明する。
図３は画像ファイル１１０の発色に使用されている色種の出現頻度及び当該色の輝度（後述するｙ）を登録する頻度テーブルフォーマット説明図である。図３は４欄で上下２段から構成され、第１欄はテーブルの行番号を示すインデックス４３０、第２欄は１画素の色種を定める三原色（ＲＧＢ）値、第３欄は後述する変換による輝度ｙ４３２、第４欄は出現回数である。また、上段の０〜２５５行は基本領域４３４で下段の２５６〜ｎ行は溢れ領域４３５である。そして、この頻度テーブル４０３が完成した時の、第１欄インデックス４３０と第２欄ＲＧＢ値４３１の基本領域４３４の部分が減色テーブル４０１（図５）に反映されることとなる。
【００２９】
ここで、各Ｒ，Ｇ，Ｂの値は８ビット表現による「０〜２５５」の値をとるものであり、図８に示すような「Ｒ，Ｇ，Ｂ」のそれぞれを直交軸とする三次元空間内の同一点における出現回数をそれぞれにカウントするものである。
【００３０】
また、図８は三原色（ＲＧＢ）とＹＣｂＣｒとのベクトル関係を説明した図である。因みに、ＲＧＢ値を輝度・色相データ（ｙ，ｕ，ｖ）に変換する公知の式は、各Ｒ，Ｇ，Ｂが８ビットで０〜２５５迄の値をとるとき、
【００３１】
【数１】
0003641846.tif 000002
【００３２】
を用いて「０．０〜１．０」に，Ｒ，Ｇ，Ｂを正規化し、更に
【００３３】
【数２】
0003641846.tif 000003
【００３４】
なる行列積を施して得られた変数「Ｙ，Ｃｂ，Ｃｒ」に対し、
【００３５】
【数３】
0003641846.tif 000004
【００３６】
上記定数を用いた計算を行ない、この得られた「ｙ」を輝度データとして用いるものである。
次に、図４によって、頻度テーブル４０３を利用して減色テーブル４０１を得る作成手順を説明する。
【００３７】
最初に、頻度テーブル４０３（図３）の領域を定義する。上段の基本領域４３４は０〜２５５の２５６行（２５６色への減色）であり、下段の溢れ領域４３５は一般にｎ行とする。この頻度テーブル４０３は降順のキーソートを行ない、第１キーを出現回数（Ｍ）４３３とし、第２キーを輝度（ｙ）４３２とする。
【００３８】
次に、「画像サイズ：」のステップを実行する。
画像ファイル１１０から逐次１画素づつのデータ（ＲＧＢ）を読み出し、画素数（ｐ）をカウントするとともに画像データ格納領域６００へ書き込んでいく。全画素の読込が完了すると、次の「発色数：」のステップを実行する。
【００３９】
「発色数：」ステップでは、フルカラー（Ｒ＝０〜２５５，Ｇ＝０〜２５５，Ｂ＝０〜２５５）の各組み合わせ値を１サイクル毎に逐次設定し、この設定値が画像データ格納領域６００に書き込んだ画像データ中の画素に「使用されているか？」を確認する。
使用されている設定値については、頻度テーブル４０３内を走査して同値を持つＲＧＢ値が登録済であれば、当該登録行の出現回数Ｍに１加算し、未登録ならばその時のＲＧＢ値による輝度（ｙ；前出の式（３））を算出するとともに出現回数Ｍ＝１をセットし、エントリ数（インデックス欄）を次行にセットしてその行位置の「ＲＧＢ，ｙ，Ｍ」欄内に書き込み登録する。
【００４０】
この操作が反復完了したら、次の「Ｓｏｒｔ：」のステップを実行する。
「Ｓｏｒｔ：」のステップでは、エントリ数ｎの範囲で、出現回数Ｍを第１キー，輝度ｙを第２キー  とする降順ソートを遂行する。
【００４１】
この時、エントリ数ｎが減色数の「２５６色」以下であれば、「格納：」のステップを遂行して減色テーブル４０１が生成される。一方、エントリ数ｎが減色数の「２５６色」以上であれば、頻度テーブル４０３の溢れ領域４３５を抹消するために「逓減：」のステップを遂行する。
【００４２】
「逓減：」のステップでは、エントリ数ｎの範囲で、ｉ＝０〜ｎとし、この時のｉ値毎に、ｊ＝０〜ｎをセットする。即ち、頻度テーブル４０３から第ｉ行目の「ＲＧＢ，ｙ，Ｍ」を読み出し、第ｊ行目毎に、
【００４３】
【数４】
0003641846.tif 000005
【００４４】
を算出して、Ｓが最小値を持つ番号ｊを見つける。この時のｊについて、２５５以下であれば「基本域：」のステップを実行し、２５６以上であれば「溢れ域：」のステップを実行する。
【００４５】
このいずれかの操作を遂行して、エントリ数ｎを−１する。この後に再度、「Ｓｏｒｔ：」のステップを遂行する。エントリ数ｎが２５５以上の場合は再度「逓減：」のステップを実行させることにより、頻度テーブル４０３は溢れ領域４３５内の登録値がなくなり基本領域４３４だけとなり、次に「格納」のステップを遂行することで減色テーブル４０１が生成される。この生成された減色テーブル４０１を用いて予備色テーブル４０２を生成する。
【００４６】
図５は色種テーブルの模式図で、（Ａ）は減色テーブル４０１、（Ｂ）は予備色テーブル４０２である。予備色テーブル４０２は左右二欄に別けられ、左欄は画像ファイル１１０内に使用された色種であって且つ減色テーブル４０１に登録されなかった色種を書き込んだ欄である。
【００４７】
減色処理部２００は、画像データ格納領域６００から画像の画素を逐次読み出し、当該画素の「ＲＧＢ」値が減色テーブル４０１に未登録な「ＲＧＢ」値で且つ予備色テーブル４０２にも未登録な「ＲＧＢ」値であれば、当該画素の「ＲＧＢ」値を予備色テーブル４０２の未登録ＲＧＢ欄へ書き込むとともに、減色テーブル４０１に登録されている「ＲＧＢ」値から類似のものを走査選択し、その時の選択したインデックス番号を予備色テーブル４０２のＰｏｉｎｔｅｒ欄にエントリ数ｍをカウントして登録する。
【００４８】
因みに、減色対象の画像が１６７７万色のフルカラー画像の時、輪郭色部分でなければ近隣画素は緩やかなグラデーションが掛かっている場合が多い。従って、上記の操作におけるサーチ範囲は局所的に収斂する確率が高く、高速に処理できる。
【００４９】
以上の処理で減色テーブル４０１と予備色テーブル４０２が生成されると、画像変換処理部３００を実行する。
画像変換処理部３００は画像データ格納領域６００から画像ファイル１１０の画素を逐次読み出し、減色テーブル４０１の「ＲＧＢ」値を逆引きして該当する「ＲＧＢ」値があれば、その時のインデックス番号をカラーマップ付画像データ格納領域５００へ送出する。また、減色テーブル４０１内に該当する「ＲＧＢ」値がなければ、予備色テーブル４０２内の「未登録ＲＧＢ」欄をサーチし、該当する「ＲＧＢ」値における当該行のＰｏｉｎｔｅｒ欄に書き込まれているインデックス番号を読みだしてカラーマップ付画像データ格納領域５００へ送出する。
【００５０】
以上の実施例では、フルカラー画像を２５６色に減色する場合で説明したが、本発明はこれに限られることなく、本発明の趣旨を変更しない範囲で多色の画像を任意の色数に減色する際にも適用できるものである。
【００５１】
【発明の効果】
以上、詳細に説明したように、１６７７万色のフルカラー画像を減色（例えば、２５６色）する際にも、当該フルカラー画像で発色させている色種が青系色だとか赤色系等の特徴を損なうこと無く、減色したことによる違和感のない自然な色表示が容易かつ高速に実施できる格別な効果を奏している。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明実施例ブロック図である。
【図３】頻度テーブルフォーマット説明図である。
【図４】減色テーブルの作成手順図である。
【図５】色種テーブルの模式図である。
【図６】ＲＧＢによる多色イメージファイル構成模式図である。
【図７】カラーマップ付ＲＧＢによる多色イメージファイル構成模式図である。
【図８】ＲＧＢとＹＣｂＣｒのベクトル関係説明図である。
【符号の説明】
１      多色画像データ
２      減色テーブル作成手段
３      多色画像データ変換手段
４      色種テーブル
５      色種情報付多色画像データ
９      表示制御部
４１    減色種登録テーブル
４２    予備色種退避テーブル
１０１  ｐｉｘｅｌ部
１１０  画像ファイル
２００  減色処理部
３００  画像変換処理部
４００  テーブル
４０１  減色テーブル
４０２  予備色テーブル
４０３  頻度テーブル
４３０  インデックス
４３１  ＲＧＢ値
４３２  輝度
４３３  出現回数
４３４  基本領域
４３５  溢れ領域
５００  カラーマップ付画像データ格納領域
５０１  ｐｉｘｅｌ部
５１０  カラーマップ付画像ファイル
６００  画像データ格納領域
７００  読出部
７１０  入力指示部
８００  カラーマップ更新部
８０１  カラーマップ
【図１】
0003641846.tif 000006
【図２】
0003641846.tif 000007
【図３】
0003641846.tif 000008
【図４】
0003641846.tif 000009
【図５】
0003641846.tif 000010
【図６】
0003641846.tif 000011
【図７】
0003641846.tif 000012
【図８】
0003641846.tif 000013