以下図面により本発明の実施の形態について説明する。
(第1実施形態)
図1は、本発明の画像処理装置の実施形態に係るコンピュータ装置10の電子回路の構成を示すブロック図である。
このコンピュータ装置10は、例えばシン・クライアント・システムにおけるサーバ装置として使用されるもので、このコンピュータ装置10はCPU11を備えている。
CPU11は、フラッシュROM12に予め記憶されたシステム・プログラムや外部から当該フラッシュROM12に読み込まれた装置制御プログラム、さらには各種のアプリケーション・プログラムに従い、RAM13を作業用のデータメモリとして回路各部の動作を制御するもので、前記ROM12に記憶された装置制御用の各種プログラムは、通信インターフェイス(I/F)14に接続されたクライアント装置(図示せず)からのユーザ操作入力信号や、キー入力装置15からのキー操作入力信号などに応じて起動され実行される。
前記CPU11には、ROM12、RAM13、通信I/F14、キー入力装置15が接続される他に、クライアント装置に対して送信転送する画像データの処理を行うための画像処理ボード16、CD,DVD,FDなどの記録再生装置である外部記憶装置17、ハードディスク,USBメモリ,メモリ・カードなどの補助記憶装置18、および表示装置19が接続される。
例えば通信I/F14を介して接続されているクライアント装置からのユーザ操作入力信号に応じてROM12に記憶されているアプリケーション・プログラムが起動され、当該アプリケーション処理に応じた表示用の画像(画面)データが生成されると、その表示用の画像(画面)データは表示更新の都度クライアント装置へ送信転送されて表示される。
この場合、前記アプリケーション処理に応じて生成された表示用の画像データは、画像処理ボード16において送信転送のための種々の画像処理が施され、通信I/F14を介してクライアント装置へ送信転送される。
図2は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16にて行われる転送すべき表示用画像データの生成処理を説明する図である。
先ず、RAM13には、前記アプリケーション処理に応じて生成された表示用画像データを記憶するためのメモリとして、今回の表示更新に応じて生成された変化後の画像データG′を記憶するための今回画像メモリ、この今回画像(G′)の生成に伴い前回画像となった変化前の画像データGを記憶するための前回画像メモリ、そして今回画像メモリに記憶された画像データG′を転送用の画像データとして処理した後の画像データGhnを記憶するための転送画像メモリが備えられる。
すなわち、画像処理ボード16は、図2(A)に示すように、前記RAM13内の前回画像メモリから読み出された前回(変化前)の表示用画像データGと、図2(B)に示すように、今回画像メモリから読み出された今回(変化後)の表示用画像データG′とをハードウエア回路により比較し、当該今回(変化後)の表示用画像データG′における画像の変化部分hを抽出する。またこれと共に、今回(変化後)の表示用画像データG′の中で未使用の色データnをハードウエア回路により検出する。そして、図2(C)に示すように、今回(変化後)の表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
この転送用の画像データGhnは、適切な圧縮処理が施され、前記透過色nおよび圧縮方式の情報が付加されて通信I/F14からクライアント装置へ送信転送される。
図3は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第1実施形態の未使用色検出回路16Mの構成を示す回路図である。
この未使用色検出回路16Mは、回路各部の動作状態を監視して当該回路各部に動作指令信号を出力するためのコントローラ21を備えている。
そして、この第1実施形態の未使用色検出回路16Mは、前記コントローラ21を動作制御部として、RGB比較回路22、R,G,B各最大時の色相演算回路23R,23G,23B、振り分け回路24、色相フラグレジスタ(A)25およびそのフラグカウンタ25c、色相使用頻度比較部26およびその基準値設定部27、色相比較終了検出部28、色相使用頻度レジスタ29、第2のRGB比較回路22′、第2のR,G,B各最大時の色相演算回路23R′,23G′,23B′、第2の振り分け回路24′、色相選択回路30、彩度・明度演算回路31、彩度フラグレジスタ(B)32およびそのフラグカウンタ32c、明度フラグレジスタ(B)33およびそのフラグカウンタ33c、彩度使用頻度比較部34およびその基準値設定部35、明度使用頻度比較部36およびその基準値設定部37、彩度・明度比較終了検出部38、彩度使用頻度レジスタ39、明度使用頻度レジスタ40、色決定回路41、HSV/RGB変換演算回路42、未使用色書込回路43を組み合わせて構成される。
図4は、前記画像処理ボード16に備えられた第1実施形態の未使用色検出回路16Mでのコントローラ21による動作指令の手順を示すフローチャートである。
この第1実施形態の未使用色検出回路16Mでは、今回(変化後)の表示用画像データG′の各画素(色)データ毎に主成分の色相Hを求めると共に、例えば図5(A)に示すように、当該画像データG′における色相Hの使用頻度を示すヒストグラム(主成分ヒストグラム)を測定する。次に、この色相Hのヒストグラム(主成分ヒストグラム)において、図5(B)(C)に示すように、最少(使用頻度)値の色相Hを有する画素(色)データについてだけ彩度S・明度Vを求めると共に、当該彩度S・明度Vのヒストグラムを測定し、その最少(使用頻度)値の彩度Sおよび明度Vを求める。そして、これにより得られた最少使用頻度の色相Hで且つその最少使用頻度の彩度S・明度Vからなる組合せデータHSVをRGBデータに変換し、未使用の色データ(透過色)nとするものである。
図5は、前記画像処理ボード16に備えられた第1実施形態の未使用色検出回路16Mにおいて測定される色相Hのヒストグラム(主成分ヒストグラム)およびその最少使用頻度の色相Hの画素に基づき求められた彩度S・明度Vのヒストグラムを示す図である。
コントローラ21によってRGB比較回路22が起動されると(ステップS1)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつRGB比較回路22に読み込まれる。
このRGB比較回路22は、前記今回画像メモリから読み込まれた1画素の色データを、R,G,Bそれぞれの色(濃度値)データに分解し何れか最大値の色データを検出するもので(図6参照)、“R”の色データが最大である場合には色相演算回路23Rが起動され、“G”の色データが最大である場合には色相演算回路23Gが起動され、“B”の色データが最大である場合には色相演算回路23Bが起動され、次に示すRGB/HSV変換公式(1)〜(3)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当画素の色相データHが計算される。
図6は、前記未使用色検出回路16MのRGB比較回路22による最大色データ比較判定処理を示す図である。
H=60[(G−B)/MAX−MIN]+0 ,if.MAX=R …式(1)
H=60[(B−R)/MAX−MIN]+120,if.MAX=G …式(2)
H=60[(R−G)/MAX−MIN]+240,if.MAX=B …式(3)
S=(MAX−MIN)/MAX …式(4)
V=MAX …式(5)
この各画素毎に計算された色相データHは、振り分け回路24においてその小数点以下が切り捨てられ、色相フラグレジスタ(A)25に送られる。
この色相フラグレジスタ(A)25は、各画素(色)データの色相Hの分解能に対応する分(例えば0〜360までの361個)のレジスタを有しその色相値0〜360によってアドレスされるもので(図7参照)、前記振り分け回路24を介して送られた各色相データHによってアドレスされるところのレジスタに対しフラグカウンタ25cによってフラグ(数値)“1”が加算される(ステップS2)。
図7は、前記未使用色検出回路16Mにおける色相フラグレジスタ(A)25を示す図である。
図8は、前記未使用色検出回路16Mにおける色相フラグレジスタ(A)25の動作例を示す図である。
つまり、例えば図8(B)に示すように、色相データHの値が“00”であった場合には色相フラグレジスタ(A)25のアドレス“00”に対応してフラグ“1”が加算され、また図8(C)に示すように、色相データHの値が“01”であった場合には同フラグレジスタ(A)25のアドレス“01”に対応してフラグ“1”が加算され、さらに続いて図8(D)に示すように、色相データHの値が“01”であった場合には同フラグレジスタ(A)25のアドレス“01”に対応してフラグ“1”が加算される。これにより色相フラグレジスタ(A)25には、前記今回(変化後)の表示用画像データG′における画素単位での色相Hの使用頻度(色相ヒストグラム(主成分ヒストグラム))がセットされることになる(ステップS2)。
前記色相フラグレジスタ(A)25において、前記今回(変化後)の表示用画像データG′における全画素の色相Hの使用頻度がセットされると(ステップS3)、コントローラ21によって色相使用頻度比較部26が起動され、基準値設定部27に“0”“1”“2”…と段階的にセットされる基準値を対象に前記色相フラグレジスタ(A)25のアドレス毎にセットされた当該アドレスに対応する色相データHの使用頻度が比較される。そして、この色相使用頻度比較部26において、最初に基準値と比較一致したところのアドレス(色相値)、つまり最も使用頻度が少ない色相データHが検出され(図9参照)、色相比較終了検出部28からその終了検出信号が出力されると、これに伴い、その最少使用頻度のデータと共にその色相データHが色相使用頻度レジスタ29に格納される(ステップS4,S5)。
図9は、前記未使用色検出回路16Mにおける色相フラグレジスタ(A)25を対象にした色相使用頻度比較部26の動作例を示す図である。
すると、第2のRGB比較回路22′が起動されると共に(ステップS6)、前記表示用画像データG′が再度1画素(色)データずつ読み込まれ、前記同様に“R”の色データが最大である場合には第2の色相演算回路23R′が起動され、“G”の色データが最大である場合には第2の色相演算回路23G′が起動され、“B”の色データが最大である場合には第2の色相演算回路23B′が起動されて、各画素毎の色相データHが再度計算される(ステップS7)。
すると、色相選択回路30が起動され、前記第2の色相演算回路23R′,23G′,23B′から第2の振り分け回路24′を介して整数値として入力される各画素データ毎の色相データHについて、前記色相使用頻度レジスタ29に格納されている最少使用頻度の色相データHと一致する色相データHを有する画素(色)データ(R,G,B)が検出される。そして、彩度・明度演算回路31により、前記RGB/HSV変換公式(4)(5)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当検出画素の彩度Sおよび明度Vが計算される(図10参照)。
図10は、前記未使用色検出回路16Mにおける色選択回路30の動作例を示す図である。
すなわち、表示用画像データG′の各画素の中で、最も使用頻度の少ない色相H(=20)として色相使用頻度レジスタ29に格納されている場合には、第2のRGB比較回路22′に再読込されて演算される各画素の色相データHについて、同一の色相H(=20)を有する画素(色)データ(R,G,B)が検出されて色相選択回路30に選択され、この選択画素だけの彩度Sおよび明度Vが演算される。
そして、最少使用頻度の色相Hを有する画素についてだけ前記彩度・明度演算回路31により求められた彩度データSと明度データVは、各対応する彩度フラグレジスタ(B)32と明度フラグレジスタ(B)33に送られる。
この彩度フラグレジスタ(B)32と明度フラグレジスタ(B)33は、各画素(色)データの彩度・明度の分解能に対応する分(例えば0〜255までの256個)のレジスタを有しその彩度値0〜255と明度値0〜255によってアドレスされるもので(図11参照)、前記彩度・明度演算回路31から送られた各彩度データSと明度データVによってアドレスされるところのレジスタに対し対応するカウンタ32c,33cによってフラグ(数値)“1”が加算される。これにより彩度フラグレジスタ(B)32と明度フラグレジスタ(B)33には、最少使用頻度の色相Hを有する画素の範囲内に基づき求められた彩度Sの使用頻度(彩度ヒストグラム)と明度Vの使用頻度(明度ヒストグラム)がセットされることになる(ステップS8)。
図11は、前記未使用色検出回路16Mにおける彩度フラグレジスタ(B)32と明度フラグレジスタ(B)33を示す図である。
前記彩度フラグレジスタ(B)32と明度フラグレジスタ(B)33において、前記今回(変化後)の表示用画像データG′における最少使用頻度の色相Hを有する画素の範囲内に基づく彩度Sの使用頻度と明度Vの使用頻度がセットされると(ステップS9)、コントローラ21によって彩度使用頻度比較部34と明度使用頻度比較部36が起動され、各対応する基準値設定部35,37に“0”“1”“2”…と段階的にセットされる基準値を対象に前記彩度フラグレジスタ(B)32と明度フラグレジスタ(B)33それぞれのアドレス毎にセットされた当該アドレスに対応する彩度データS、明度データVの使用頻度が比較される。そして、この彩度使用頻度比較部34と明度使用頻度比較部36のそれぞれにおいて、最初に基準値と比較一致したところのアドレス(彩度値、明度値)、つまり最も使用頻度が少ない彩度データSと明度データVが検出され、彩度・明度比較終了検出部38からその終了検出信号が出力されると、これに伴い、その最少使用頻度のデータと共にその彩度データSが彩度使用頻度レジスタ39に格納され、明度データVが明度使用頻度レジスタ40に格納される(ステップS10,S11)。
これにより、前記色相使用頻度レジスタ29には、表示用画像データG′の各画素データの中での最少使用頻度の色相データHが格納され、また前記彩度使用頻度レジスタ39と前記明度使用頻度レジスタ40には、それぞれ前記最少使用頻度の色相データHを有する画素の範囲に基づいた最少使用頻度の彩度データSと最少使用頻度の明度データVが格納された状態になる。
すると、色決定回路41が起動され、前記色相使用頻度レジスタ29に格納された最少使用頻度の色相データH、前記彩度使用頻度レジスタ39と前記明度使用頻度レジスタ40にそれぞれ格納された最少使用頻度の彩度データSと最少使用頻度の明度データVが選択され、未使用のHSV色データとして決定される(ステップS12)。
そして、HSV/RGB変換演算回路42が起動され、前記色決定回路41により選択決定されたHSV色データは前記RGB/HSV変換公式(1)〜(5)に従いRGBデータに変換され(ステップS13)、今回(変化後)の表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路43によりRAM13内の未使用色メモリに書き込まれる(ステップS14)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
図12は、前記未使用色検出回路16Mによる今回(変化後)の表示用画像データG′に対する未使用色決定の2つの具体例を説明する図である。
例えば図12(A)で示すように、今回(変化後)の表示用画像データG′の最少使用頻度の色相H(=50)として色相使用頻度レジスタ29に格納された場合には(ステップS1〜S5)、当該色相H=50を有する画素データについてのみ彩度Sと明度Vが求められ、彩度フラグレジスタ32と明度フラグレジスタ33にそれぞれそのヒストグラムが作成される(ステップS6〜S9)。
そして、前記彩度フラグレジスタ32と明度フラグレジスタ33それぞれのヒストグラムに従い、使用頻度“0”の彩度S=200と使用頻度“1”の明度V=10が検出されて彩度使用頻度レジスタ39と明度使用頻度レジスタ40に格納されると(ステップS10,S11)、前記最少頻度の色相H=50、そのうちの使用頻度“0”の彩度S=200、当該彩度S=200の使用頻度が“0”のためその色相Hと彩度Sを固定とした任意の値の明度Vが未使用のHSV色データとして色決定回路41で選択決定され(ステップS12)、未使用のRGB色データ(n)に変換出力される(ステップS13,S14)。
また、例えば図12(B)で示すように、今回(変化後)の表示用画像データG′の最少使用頻度の色相H(=50)として色相使用頻度レジスタ29に格納された場合であって(ステップS1〜S5)、前記彩度フラグレジスタ32と明度フラグレジスタ33それぞれのヒストグラムに従い、使用頻度“10”の彩度S=30と使用頻度“0”の明度V=10が検出されて彩度使用頻度レジスタ39と明度使用頻度レジスタ40に格納された場合には(ステップS6〜S11)、前記最少頻度の色相H=50、そのうちの使用頻度“0”の明度V=10、当該明度V=10の使用頻度が“0”のため当該色相Hと明度VVを固定とした任意の値の彩度Sが未使用のHSV色データとして色決定回路41で選択決定され(ステップS12)、未使用のRGB色データ(n)に変換出力される(ステップS13,S14)。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第1実施形態の未使用色検出回路16Mによれば、今回(変化後)の表示用画像データG′の各画素の色相データHのうちで、最も使用数の少ない色相データHを検出するとともに、この最少使用頻度の色相Hを有する画素についての彩度データSと明度データVを計算して彩度Sと明度Vのヒストグラムを測定しその最少使用頻度の彩度データSと明度データVを求める。そして、前記最少使用頻度の色相データH、彩度データS、明度データVからなるHSV色データをRGB色データに変換し、当該表示用画像データG′の未使用の色データ(透過色)nとして検出するようにしたので、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
例えば、RGB各8ビットの24ビットカラーの画像データの場合、通常では24ビットで表される全ての色、つまり2の24乗色(1,677,216色)を考慮に入れ同2の24乗色(1,677,216色)分のメモリを用意して未使用色を検出しなければならないが、本第1実施形態の未使用色検出回路16Mにおいて示したように、色相H・彩度S・明度Vのヒストグラムを用いて未使用のHSV色データを求めることにより、361個(色相分のメモリ数)+256個(彩度分のメモリ数)+256個(明度分のメモリ数)の大幅に少ないメモリを用意するだけで、未使用色を検出できるものである。
なお、前記未使用色検出回路16Mにおける色相使用頻度比較部26、彩度使用頻度比較部34、明度使用頻度比較部36の何れかにおいて、基準値“0”と比較一致した使用頻度の各対応するフラグレジスタ(A)25,(B)32,(B)33のアドレス(色相値,彩度値,明度値)が検出された場合には、この検出されたHSV色データの値は今回(変化後)の表示用画像データG′の中で全く使用されていないことになるので、当該HSV色データをRGB色データに変換することで、これを未使用色(透過色)nとして検出することができる。
なお、前記第1実施形態の未使用色検出回路16Mでは、先ず、その検出対象の表示用画像データG′について色相Hのヒストグラムを主成分ヒストグラムとして測定し、最少使用頻度の色相Hを有する画素データの中でさらに彩度Sと明度Vのヒストグラムを測定し、そのそれぞれの最少使用頻度のHSV色データから未使用のRGB色データを得る構成としたが、次の第2実施形態の未使用色検出回路16Maで説明するように、はじめに明度Vのヒストグラムを主成分ヒストグラムとして測定し、最少使用頻度の明度Vを有する画素データの中でさらに色相Hと彩度Sのヒストグラムを測定し、そのそれぞれの最少使用頻度のHSV色データから未使用のRGB色データを得る構成としてもよい。
(第2実施形態)
図13は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第2実施形態の未使用色検出回路16Maの構成を示す回路図である。
この第2実施形態の未使用色検出回路16Maでは、前段に表示画像データG′の明度Vのヒストグラム(主成分ヒストグラム)を測定しその最少使用頻度の明度Vを求めるための、RGB比較回路22v、明度フラグレジスタ25vおよびそのフラグカウンタ25vc、明度使用頻度比較部26vおよびその基準値設定部27v、明度比較終了検出部28v、明度使用頻度レジスタ29vを組み合わせて設ける。
また、後段には、前記前段で求められた最少使用頻度の明度Vを有する画素データの中でさらに色相Hと彩度Sのヒストグラムを測定しその最少使用頻度の色相Hと明度Vを求めるための、第2のRGB比較回路22v′、明度選択回路30v、RGB各最大値に対応する色相演算回路31R,31G,31Bとその振り分け回路24、色相フラグレジスタ(B)25hおよびそのフラグカウンタ25hc、色相使用頻度比較部26およびその基準値設定部27、色相使用頻度レジスタ29、また彩度演算回路31s、彩度フラグレジスタ(B)32およびそのフラグカウンタ32c、彩度使用頻度比較部34およびその基準値設定部35、彩度使用頻度レジスタ39、色相・彩度比較終了検出部38hsを組み合わせて設け、さらに色決定回路41、HSV/RGB変換演算回路42、未使用色書き込み回路43を設ける。
図14は、前記画像処理ボード16に備えられた第2実施形態の未使用色検出回路16Maでのコントローラ21aによる動作指令の手順を示すフローチャートである。
コントローラ21aによってRGB比較回路22vが起動されると(ステップS1a)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつRGB比較回路22vに読み込まれる。
このRGB比較回路22vは、前記今回画像メモリから読み込まれた1画素の色データを、R,G,Bそれぞれの色(濃度値)データに分解し何れか最大値の色データを検出すると共に、前記RGB/HSV変換公式(5)(MAX=RGB成分中の最大値)に基づいて該当画素の明度データVを計算するもので、この各画素毎に計算された明度データVは、明度フラグレジスタ(A)25vに送られる。
この明度フラグレジスタ(A)25vは、各画素(色)データの明度Vの分解能に対応する分(例えば0〜255までの256個)のレジスタを有しその明度値0〜255によってアドレスされるもので(図11(B)参照)、前記計算された各明度データVによってアドレスされるところのレジスタに対しフラグカウンタ25vcによってフラグ(数値)“1”が加算される(ステップS2a)。
これにより前記明度フラグレジスタ(A)25vには、前記今回(変化後)の表示用画像データG′における画素単位での明度Vの使用頻度(明度ヒストグラム)が主成分ヒストグラムとしてセットされることになる。
前記明度フラグレジスタ(A)25vにおいて、前記今回(変化後)の表示用画像データG′における全画素の明度Vの使用頻度(主成分ヒストグラム)がセットされると(ステップS3a)、コントローラ21aによって明度使用頻度比較部26vが起動され、基準値設定部27vに“0”“1”“2”…と段階的にセットされる基準値を対象に前記明度フラグレジスタ(A)25vのアドレス毎にセットされた当該アドレスに対応する明度データVの使用頻度が比較される。そして、この明度使用頻度比較部26vにおいて、最初に基準値と比較一致したところのアドレス(明度値)、つまり最も使用頻度が少ない明度データVが検出され、明度比較終了検出部28vからその終了検出信号が出力されると、これに伴い、その最少使用頻度のデータと共にその明度データVが明度使用頻度レジスタ29vに格納される(ステップS4a,S5a)。
すると、第2のRGB比較回路22v′が起動され(ステップS6a)、前記表示用画像データG′が再度1画素(色)データずつ読み込まれ、前記同様にR,G,Bそれぞれの色(濃度値)データに分解され何れか最大値の色データが検出されると共に、前記RGB/HSV変換公式(5)(MAX=RGB成分中の最大値)に基づいて該当画素の明度データVが再度計算される(ステップS7a)。
すると、明度選択回路30vが起動され、前記第2のRGB比較回路22v′により再計算された各画素データ毎の明度データVについて、前記明度使用頻度レジスタ29vに格納されている最少使用頻度の明度データVと一致する明度データVを有する画素(色)データ(R,G,B)が検出される。そして、彩度演算回路31sにより、前記RGB/HSV変換公式(4)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当検出画素の彩度Sが計算される。
またこれと共に、RGB各最大値に対応する色相演算回路31R,31G,31Bにより、前記RGB/HSV変換公式(1)〜(3)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当検出画素の色相Hが計算される。
そして、最少使用頻度の明度Vを有する画素についてだけ、前記彩度演算回路31sにより求められた彩度データSと前記色相演算回路31R,31G,31Bにより求められ振り分け回路24を介して整数化された色相データHは、各対応する彩度フラグレジスタ(B)32(図11(A)参照)と色相フラグレジスタ(B)25h(図7〜図9参照)に送られる。
これにより彩度フラグレジスタ(B)32と色相フラグレジスタ(B)25hには、最少使用頻度の明度Vを有する画素の範囲内に基づき求められた彩度Sの使用頻度(彩度ヒストグラム)と色相Hの使用頻度(色相ヒストグラム)がセットされることになる(ステップS8a)。
前記彩度フラグレジスタ(B)32と色相フラグレジスタ(B)25hにおいて、前記今回(変化後)の表示用画像データG′における最少使用頻度の明度Vを有する画素の範囲内に基づく彩度Sの使用頻度と色相Hの使用頻度がセットされると(ステップS9a)、コントローラ21aによって彩度使用頻度比較部34と色相使用頻度比較部26が起動され、各対応する基準値設定部35,27に“0”“1”“2”…と段階的にセットされる基準値を対象に前記彩度フラグレジスタ(B)32と色相フラグレジスタ(B)25hそれぞれのアドレス毎にセットされた当該アドレスに対応する彩度データS、色相データHの使用頻度が比較される。そして、この彩度使用頻度比較部34と色相使用頻度比較部26のそれぞれにおいて、最初に基準値と比較一致したところのアドレス(彩度値、色相値)、つまり最も使用頻度が少ない彩度データSと色相データHが検出され、彩度・色相比較終了検出部38hsからその終了検出信号が出力されると、これに伴い、その最少使用頻度のデータと共にその彩度データSが彩度使用頻度レジスタ39に格納され、色相データHが色相使用頻度レジスタ29に格納される(ステップS10a,S11a)。
すると、色決定回路41が起動され、前記明度使用頻度レジスタ29vに格納された最少使用頻度の明度データV、前記彩度使用頻度レジスタ39と前記色相使用頻度レジスタ29にそれぞれ格納された最少使用頻度の彩度データSと最少使用頻度の色相データHが選択され、未使用のHSV色データとして決定される(ステップS12)。
そして、HSV/RGB変換演算回路42が起動され、前記色決定回路41により選択決定されたHSV色データは前記RGB/HSV変換公式(1)〜(5)に従いRGBデータに変換され(ステップS13)、今回(変化後)の表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路43によりRAM13内の未使用色メモリに書き込まれる(ステップS14)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第2実施形態の未使用色検出回路16Maによれば、今回(変化後)の表示用画像データG′の各画素の明度データVのうちで、最も使用数の少ない明度データVを検出するとともに、この最少使用頻度の明度Vを有する画素についての彩度データSと色相データHを計算して彩度Sと色相Hのヒストグラムを測定しその最少使用頻度の彩度データSと色相データHを求める。そして、前記最少使用頻度の明度データV、彩度データS、色相データHからなるHSV色データをRGB色データに変換し、当該表示用画像データG′の未使用の色データ(透過色)nとして検出するようにしたので、前記第1実施形態と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
なお、次の第3実施形態の未使用色検出回路16Mbで説明するように、はじめに彩度Sのヒストグラムを主成分ヒストグラムとして測定し、最少使用頻度の彩度Sを有する画素データの中でさらに色相Hと明度Vのヒストグラムを測定し、そのそれぞれの最少使用頻度のHSV色データから未使用のRGB色データを得る構成としてもよい。
(第3実施形態)
図15は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第3実施形態の未使用色検出回路16Mbの構成を示す回路図である。
この第3実施形態の未使用色検出回路16Mbでは、前段に表示画像データG′の彩度Sのヒストグラム(主成分ヒストグラム)を測定しその最少使用頻度の彩度Sを求めるための、彩度演算回路22s、彩度フラグレジスタ25sおよびそのフラグカウンタ25sc、彩度使用頻度比較部26sおよびその基準値設定部27s、彩度比較終了検出部28s、彩度使用頻度レジスタ29sを組み合わせて設ける。
また、後段には、前記前段で求められた最少使用頻度の彩度Sを有する画素データの中でさらに色相Hと明度Vのヒストグラムを測定しその最少使用頻度の色相Hと明度Vを求めるための、第2の彩度演算回路22s′、彩度選択回路30s、RGB各最大値に対応する色相演算回路31R,31G,31Bとその振り分け回路24、色相フラグレジスタ(B)25hおよびそのフラグカウンタ25hc、色相使用頻度比較部26およびその基準値設定部27、色相使用頻度レジスタ29、また明度演算回路31v、明度フラグレジスタ(B)33およびそのフラグカウンタ33c、明度使用頻度比較部36およびその基準値設定部37、明度使用頻度レジスタ40、色相・明度比較終了検出部38hvを組み合わせて設け、さらに色決定回路41、HSV/RGB変換演算回路42、未使用色書き込み回路43を設ける。
図16は、前記画像処理ボード16に備えられた第3実施形態の未使用色検出回路16Mbでのコントローラ21bによる動作指令の手順を示すフローチャートである。
コントローラ21bによって彩度演算回路22sが起動されると(ステップS1b)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつ彩度演算回路22sに読み込まれる。
この彩度演算回路22sは、前記今回画像メモリから読み込まれた1画素の色データを、R,G,Bそれぞれの色(濃度値)データに分解し最大値および最小値の色データを検出すると共に、前記RGB/HSV変換公式(4)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当画素の彩度データSを計算するもので、この各画素毎に計算された彩度データSは、彩度フラグレジスタ(A)25sに送られる。
この彩度フラグレジスタ(A)25sは、各画素(色)データの彩度Sの分解能に対応する分(例えば0〜255までの256個)のレジスタを有しその彩度値0〜255によってアドレスされるもので(図11(A)参照)、前記計算された各彩度データSによってアドレスされるところのレジスタに対しフラグカウンタ25scによってフラグ(数値)“1”が加算される(ステップS2b)。
これにより前記彩度フラグレジスタ(A)25sには、前記今回(変化後)の表示用画像データG′における画素単位での彩度Sの使用頻度(彩度ヒストグラム)が主成分ヒストグラムとしてセットされることになる。
前記彩度フラグレジスタ(A)25sにおいて、前記今回(変化後)の表示用画像データG′における全画素の彩度Sの使用頻度がセットされると(ステップS3b)、コントローラ21bによって彩度使用頻度比較部26sが起動され、基準値設定部27sに“0”“1”“2”…と段階的にセットされる基準値を対象に前記彩度フラグレジスタ(A)25sのアドレス毎にセットされた当該アドレスに対応する彩度データSの使用頻度が比較される。そして、この彩度使用頻度比較部26sにおいて、最初に基準値と比較一致したところのアドレス(彩度値)、つまり最も使用頻度が少ない彩度データSが検出され、彩度比較終了検出部28sからその終了検出信号が出力されると、これに伴い、その最少使用頻度のデータと共にその彩度データSが彩度使用頻度レジスタ29sに格納される(ステップS4b,S5b)。
すると、第2の彩度演算22s′が起動され(ステップS6b)、前記表示用画像データG′が再度1画素(色)データずつ読み込まれ、前記同様にR,G,Bそれぞれの色(濃度値)データに分解され最大値および最小値の色データが検出されると共に、前記RGB/HSV変換公式(4)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当画素の彩度データSが再度計算される(ステップS7b)。
すると、彩度選択回路30sが起動され、前記第2の彩度演算回路22s′により再計算された各画素データ毎の彩度データSについて、前記彩度使用頻度レジスタ29sに格納されている最少使用頻度の彩度データSと一致する彩度データSを有する画素(色)データ(R,G,B)が検出される。そして、明度演算回路31vにより、前記RGB/HSV変換公式(5)(MAX=RGB成分中の最大値)に基づいて該当検出画素の明度Vが計算される。
またこれと共に、RGB各最大値に対応する色相演算回路31R,31G,31Bにより、前記RGB/HSV変換公式(1)〜(3)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当検出画素の色相Hが計算される。
そして、最少使用頻度の彩度Sを有する画素についてだけ、前記明度演算回路31vにより求められた明度データVと前記色相演算回路31R,31G,31Bにより求められ振り分け回路24を介して整数化された色相データHは、各対応する明度フラグレジスタ(B)33(図11(B)参照)と色相フラグレジスタ(B)25h(図7〜図9参照)に送られる。
これにより明度フラグレジスタ(B)33と色相フラグレジスタ(B)25hには、最少使用頻度の彩度Sを有する画素の範囲内に基づき求められた明度Vの使用頻度(明度ヒストグラム)と色相Hの使用頻度(色相ヒストグラム)がセットされることになる(ステップS8b)。
前記明度フラグレジスタ(B)33と色相フラグレジスタ(B)25hにおいて、前記今回(変化後)の表示用画像データG′における最少使用頻度の彩度Sを有する画素の範囲内に基づく明度Vの使用頻度と色相Hの使用頻度がセットされると(ステップS9b)、コントローラ21bによって明度使用頻度比較部36と色相使用頻度比較部26が起動され、各対応する基準値設定部37,27に“0”“1”“2”…と段階的にセットされる基準値を対象に前記明度フラグレジスタ(B)33と色相フラグレジスタ(B)25hそれぞれのアドレス毎にセットされた当該アドレスに対応する明度データV、色相データHの使用頻度が比較される。そして、この明度使用頻度比較部36と色相使用頻度比較部26のそれぞれにおいて、最初に基準値と比較一致したところのアドレス(明度値、色相値)、つまり最も使用頻度が少ない明度データVと色相データHが検出され、明度・色相比較終了検出部38hvからその終了検出信号が出力されると、これに伴い、その最少使用頻度のデータと共にその明度データVが明度使用頻度レジスタ40に格納され、色相データHが色相使用頻度レジスタ29に格納される(ステップS10b,S11b)。
すると、色決定回路41が起動され、前記彩度使用頻度レジスタ29sに格納された最少使用頻度の彩度データS、前記明度使用頻度レジスタ40と前記色相使用頻度レジスタ29にそれぞれ格納された最少使用頻度の明度データVと最少使用頻度の色相データHが選択され、未使用のHSV色データとして決定される(ステップS12)。
そして、HSV/RGB変換演算回路42が起動され、前記色決定回路41により選択決定されたHSV色データは前記RGB/HSV変換公式(1)〜(5)に従いRGBデータに変換され(ステップS13)、今回(変化後)の表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路43によりRAM13内の未使用色メモリに書き込まれる(ステップS14)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第3実施形態の未使用色検出回路16Mbによれば、今回(変化後)の表示用画像データG′の各画素の彩度データSのうちで、最も使用数の少ない彩度データSを検出するとともに、この最少使用頻度の彩度Sを有する画素についての明度データVと色相データHを計算して明度Vと色相Hのヒストグラムを測定しその最少使用頻度の明度データVと色相データHを求める。そして、前記最少使用頻度の彩度データS、明度データV、色相データHからなるHSV色データをRGB色データに変換し、当該表示用画像データG′の未使用の色データ(透過色)nとして検出するようにしたので、前記第1,第2実施形態と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
なお、前記第1〜第3実施形態の未使用色検出回路16M,16Ma,16Mbでは、検出対象の表示用画像データG′について、はじめに色相H,明度V,彩度S何れかのヒストグラムを主成分ヒストグラムとして測定し、その最少使用頻度の色相Hまたは明度Vまたは彩度Sを有する画素データの中でさらに他の2つの色度合の各ヒストグラムを測定し、そのそれぞれの最少使用頻度のHSV色データから未使用のRGB色データを得る構成としたが、次の第4実施形態の未使用色検出回路16Mcで説明するように、はじめに色相Hのヒストグラムを主成分ヒストグラムとして測定するのと共に当該色相ヒストグラムの分布毎にその色相Hを有する画素の彩度S,明度Vの各ヒストグラムも予め測定しておく。そして、最少使用頻度の色相データHを検出することで、その色相データHに対応するところの前記予め測定された彩度S,明度Vのヒストグラムから最少使用頻度の彩度データS,明度データVを検出し、未使用のHSV色データ(RGB色データ)として決定する構成としてもよい。
(第4実施形態)
図17は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第4実施形態の未使用色検出回路16Mcの構成を示す回路図である。
図18は、前記画像処理ボード16に備えられた第4実施形態の未使用色検出回路16Mcでのコントローラ21cによる動作指令の手順を示すフローチャートである。
図19は、前記画像処理ボード16に備えられた第4実施形態の未使用色検出回路16Mcにおいて測定される色相Hのヒストグラム(主成分ヒストグラム)およびその色相Hの分布毎に予め求められた彩度S・明度Vのヒストグラムを示す図である。
図20は、前記第4実施形態の未使用色検出回路16Mcにおける彩度フラグレジスタ(C)32′と明度フラグレジスタ(C)33′を示す図である。
この第4実施形態の未使用色検出回路16Mcでは、前段に表示画像データG′の各画素毎の色相Hを計算すると共に、その色相Hのヒストグラム(主成分ヒストグラム)の分布毎に当該色相Hを有する画素の彩度Sと明度Vを計算するための、RGB比較回路22、色相・彩度・明度演算回路23Rhsv,23Ghsv,23Bhsv、振り分け回路24hsvを組み合わせて設ける。
そして後段には、図19(A)で示すように、前記前段で計算された色相Hのヒストグラム(主成分ヒストグラム)を格納すると共に最少使用頻度の色相Hを求めるための、色相フラグレジスタ(A)25およびそのフラグカウンタ25c、色相使用頻度比較部26およびその基準値設定部27、色相比較終了検出部28、色相使用頻度レジスタ29を設ける。また同後段には、図19(B)で示すように、前記色相Hのヒストグラム(主成分ヒストグラム)の分布毎の彩度Sと明度Vの各ヒストグラムを測定して格納し、前記最少使用頻度の色相Hに対応するところの最少使用頻度の彩度Sと明度Vを求めるための、彩度フラグレジスタ32′(図20(A)参照)およびそのフラグカウンタ32c、彩度使用頻度比較部34およびその基準値設定部35、彩度使用頻度レジスタ39と、明度フラグレジスタ33′(図20(B)参照)およびそのフラグカウンタ33c、明度使用頻度比較部36およびその基準値設定部37、明度使用頻度レジスタ40、彩度・明度比較終了検出部38を組み合わせて設ける。そして、色決定回路41、HSV/RGB変換演算回路42、未使用色書き込み回路43を設ける。
この第4実施形態の未使用色検出回路16Mcにおいて、色相フラグレジスタ(A)25は、前記図7で示したように、各画素(色)データの色相Hの分解能に対応した色相値0〜360によってアドレスされる361個のレジスタを有する。一方で、彩度フラグレジスタ(C)32′と明度フラグレジスタ33′は、図20(A)(B)で示すように、各画素(色)データの彩度・明度の分解能に対応した彩度値0〜255と明度値0〜255によってアドレスされるそれぞれ256個のレジスタを前記色相Hの総数分である361個分有する。
すなわち、コントローラ21cによってRGB比較回路22が起動されると(ステップS1c)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつRGB比較回路22に読み込まれる。
するとこのRGB比較回路22により前記今回画像メモリから読み込まれた1画素の色データは、R,G,Bそれぞれの色(濃度値)データに分解されその最大値および最小値の色データが検出される。そして、前記RGB各最大値対応の色相・彩度・明度演算回路23Rhsv,23Ghsv,23Bhsvにおいて、前記RGB/HSV変換公式(1)〜(5)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づき、該当画素の色相データH、彩度データS、明度データVが計算される。
前記表示用画像データG′の各画素毎の色相データHは、色相フラグレジスタ25に書き込まれて色相Hのヒストグラム(主成分ヒストグラム)(図19(A)参照)が測定される。一方で、前記計算された彩度データSと明度データVは、前記色相ヒストグラムの分布毎に用意した彩度フラグレジスタ32′と明度フラグレジスタ33′に書き込まれ、当該色相分布毎の彩度Sのヒストグラムと明度Vのヒストグラム(図19(B)参照)が測定される(ステップS2c,S3c)。
すると、色相使用頻度比較部26により前記色相フラグレジスタ25から最少使用頻度の色相Hが検出されて色相使用頻度レジスタ29に格納されるのに伴い(ステップS4,S5)、当該最少使用頻度の色相Hに対応するところの彩度フラグレジスタ(C)32′から彩度使用頻度比較部34により最少使用頻度の彩度Sが検出されて彩度使用頻度レジスタ39に格納される(ステップS4b,S5b)。また同最少使用頻度の色相Hに対応するところの明度フラグレジスタ(C)33′から明度使用頻度比較部36により最少使用頻度の明度Vが検出されて明度使用頻度レジスタ40に格納される(ステップS4a,S5a)。
これにより、前記色相使用頻度レジスタ29には、表示用画像データG′の各画素データの中での最少使用頻度の色相データHが格納され、また前記彩度使用頻度レジスタ39と前記明度使用頻度レジスタ40には、それぞれ前記最少使用頻度の色相データHを有する画素の範囲に基づいた最少使用頻度の彩度データSと最少使用頻度の明度データVが格納された状態になる。
すると、色決定回路41が起動され、前記色相使用頻度レジスタ29に格納された最少使用頻度の色相データH、前記彩度使用頻度レジスタ39と前記明度使用頻度レジスタ40にそれぞれ格納された最少使用頻度の彩度データSと最少使用頻度の明度データVが選択され、未使用のHSV色データとして決定される(ステップS12)。
そして、HSV/RGB変換演算回路42が起動され、前記色決定回路41により選択決定されたHSV色データは前記RGB/HSV変換公式(1)〜(5)に従いRGBデータに変換され(ステップS13)、今回(変化後)の表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路43によりRAM13内の未使用色メモリに書き込まれる(ステップS14)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第4実施形態の未使用色検出回路16Mcによれば、今回(変化後)の表示用画像データG′の各画素データについて色相Hのヒストグラム(主成分ヒストグラム)を測定すると共に、当該色相Hの分布毎の彩度Sのヒストグラムと明度Vのヒストグラムを予め測定する。そして、最少使用頻度の色相データHを検出するとともに、この最少使用頻度の色相Hに対応するところの前記彩度Sのヒストグラムと前記明度Vのヒストグラムからその最少使用頻度の彩度データSと明度データVを求める。そして、前記最少使用頻度の色相データH、彩度データS、明度データVからなるHSV色データをRGB色データに変換し、当該表示用画像データG′の未使用の色データ(透過色)nとして検出するようにした。
これにより、前記第1〜第3実施形態の未使用色検出回路16M,16Ma,16Mbに較べて、この第4実施形態の未使用色検出回路16Mcでは、前記色相Hの分布毎の彩度Sのヒストグラムと明度Vのヒストグラムを各対応する彩度フラグレジスタ(C)32′と明度フラグレジスタ(C)33′により予め測定することから、用意すべき必要なメモリ量が増加するものの、それでも2の24乗色(1,677,216色)を考慮に入れ同2の24乗色(1,677,216色)分のメモリを用意する必要のある従来の未使用色検出手法に較べて大幅に少ないメモリ量で未使用色を検出できるものである。
しかも、この第4実施形態の未使用色検出回路16Mcによれば、前記第1〜第3実施形態の未使用色検出回路16M,16Ma,16Mbに較べて、表示用画像データG′の再読み込みを必要としないのでその処理時間を大幅に短縮できるものである。
よって、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
(第5実施形態)
図21は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第5実施形態の未使用色検出回路16Mdの構成を示す回路図である。
この第5実施形態の未使用色検出回路16Mdでは、表示用画像データG′の画素数(画像サイズ)を検出し、この画素数(画像サイズ)が前記色相Hの分解能である361未満で超小型画面に対する画像データあるか、または361以上の画面に対する画像データであるかに応じて、未使用色の検出をHSV色データのうち2つの色度合成分S,Vを任意の値に固定して行うか、または前記第1〜第4実施形態の何れかの未使用色検出回路16M,16Ma,16Mb,16Mcを使用して行う構成とする。
つまり、表示用画像データG′の画素数(画像サイズ)が361未満で超小型画面に対する画像データあると判断された場合には、最大でも色相データHの使用数は360種であることから、色相Hのヒストグラムから最少使用頻度の色相データHを検出すればその使用頻度は必ず“0”になる。よってこの最少使用頻度“0”の色相データHを固定にして彩度データSと明度データVを任意の値に固定することで、未使用色のHSV色データを得ることができる。
この第5実施形態の未使用色検出回路16Mbは、回路各部の動作状態を監視して当該回路各部に動作指令信号を出力するためのコントローラ21dを備えている。
そして、この未使用色検出回路16Mdは、その前段に、表示用画像データG′の画素数を検出して色相Hの分解能(0〜360)である361未満であるか361以上であるかを比較判断するための、画素数検出回路51、画素数レジスタ52、比較回路53を組み合わせて設ける。
またその後段には、前記前段の回路において前記表示用画像データG′の画素数が361未満であると判断された場合に、各画素毎の色相Hを求めそのヒストグラムを測定すると共に、当該色相Hのヒストグラムから最少使用頻度“0”の色相Hを検出するための、RGB比較回路22d、RGB各最大値対応の色相演算回路23Rd,23Gd,23Bd、振り分け回路24d、色相フラグレジスタ(A)25dおよびそのフラグカウンタ25dc、色相使用頻度比較部26dおよびその基準値設定部27d、色相比較終了検出部28d、色相使用頻度レジスタ29dを組み合わせて設ける。そして、色決定回路41、HSV/RGB変換演算回路42、未使用色書き込み回路43を設ける。
図22は、前記画像処理ボード16に備えられた第5実施形態の未使用色検出回路16Mdでのコントローラ21dによる動作指令の手順を示すフローチャートである。
すなわち、コントローラ21dによって画素数検出回路51が起動されると(ステップS1d)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつ画素数検出回路51に読み込まれる。
そして、この画素数検出回路51によって検出された前記表示用画像データG′の画素数(画像サイズ)は画素数レジスタ52に格納される(ステップS2d)。
前記表示用画像データG′の全画素の読み込みによってその画素数(画像サイズ)が検出格納されると(ステップS3d)、コントローラ21dによって比較回路53が起動され、当該検出画素数(画像サイズ)が361未満であるか、又は361以上であるかが判別される。そして、検出画素数が361未満であると判別された場合には、コントローラ21dによって本未使用色検出回路16Mdの後段にあるRGB比較回路22dが起動され、361以上であると判断別された場合には、コントローラ21dによって例えば前記第1実施形態の未使用色検出回路16MのRGB比較回路22が起動され、以降同第1実施形態の検出回路16Mにより未使用色の検出が行われる(ステップS4d)。
前記表示用画像データG′の画素数が色相Hの分解能(0〜360)である361未満であると判別され、後段にあるRGB比較回路22dが起動されると、同表示用画像データG′が、その1画素の色データずつRGB比較回路22dに読み込まれる。
するとRGB比較回路22dにより、前記今回画像メモリ13Gから読み込まれた1画素の色データがR,G,Bそれぞれの色(濃度値)データに分解され、そのうち最大値と最小値の色データが検出される。すると、前記検出されたRGB何れか最大値の色データに対応するところの色相演算回路23Rd,23Gd,23Bdにより、前記RGB/HSV変換公式(1)〜(3)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当画素の色相データHが計算される。そして、この各画素毎に計算された色相データHは、0〜360(361)の色相の分解能に応じてアドレスされる色相フラグレジスタ(A)25dに送られて書き込まれる(ステップS5d)。
これにより前記色相フラグレジスタ(A)25dには、前記表示用画像データG′における画素単位での色相Hの使用頻度(色相ヒストグラム)が361の分解能を持った主成分ヒストグラムとしてセットされることになる。
前記色相フラグレジスタ(A)25dにおいて、前記表示用画像データG′における全画素の色相Hの使用頻度がセットされると(ステップS6d)、コントローラ21dによって色相使用頻度比較部26dが起動され、基準値設定部27dにセットされる基準値“0”を対象に前記色相フラグレジスタ(A)25dの0〜360のアドレス毎にセットされた当該アドレスに対応する色相データHの使用頻度が比較される。そして、この色相使用頻度比較部26dにおいて、基準値“0”と比較一致したところのアドレス(色相値)、つまり最も使用頻度が少ない使用頻度“0”の色相データSが検出され、色相比較終了検出部28dからその終了検出信号が出力されると、これに伴い、その最少使用頻度“0”のデータと共にその色相データHが色相使用頻度レジスタ29dに格納される(ステップS7d,S8d)。
すると、色決定回路41が起動され、前記色相使用頻度レジスタ29dに格納された最少使用頻度“0”の色相データHを固定とし、彩度データSと明度データVを任意の値に選択した、未使用のHSV色データが決定される(ステップS12)。
そして、HSV/RGB変換演算回路42が起動され、前記色決定回路41により選択決定されたHSV色データは前記RGB/HSV変換公式(1)〜(5)に従いRGBデータに変換され(ステップS13)、今回(変化後)の表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路43によりRAM13内の未使用色メモリに書き込まれる(ステップS14)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第5実施形態の未使用色検出回路16Mdによれば、今回(変化後)の表示用画像データG′の画素数(画像サイズ)が色相Hの分解能(0〜360)に相当する361未満であって場合には、各画素毎の色相Hを計算することによりそのヒストグラムを測定して使用頻度“0”の色相データHを検出する。そして、この使用頻度“0”の色相データHを固定にして任意の値の彩度データSと明度データVを組み合わせた未使用のHSV色データを決定し、HSV/RGB変換して未使用の色データ(透過色)nを検出するようにしたので、前記各実施形態の未使用色検出回路16M,16Ma,16Mb,16Mcの場合と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
しかも、この第5実施形態の未使用色検出回路16Mdによれば、表示用画像データG′の画素数(画像サイズ)が361画素未満と小さい場合には、駆動する回路範囲が限定されるので、前記各実施形態の未使用色検出回路16,16Ma,16Mb,16Mcに較べて消費電力が小さくなる利点を有する。
(第6実施形態)
図23は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第6実施形態の未使用色検出回路16Meの構成を示す回路図である。
この第6実施形態の未使用色検出回路16Meでは、表示用画像データG′の使用色数を検出し、この使用色数が前記色相Hの分解能である361未満で比較的彩色の少ない画像データあるか、または361色以上の画像データであるかに応じて、未使用色の検出をHSV色データのうち2つの色度合成分S,Vを任意の値に固定して行うか、または前記第1〜第4実施形態の何れかの未使用色検出回路16M,16Ma,16Mb,16Mcを使用して行う構成とする。
つまり、表示用画像データG′の使用色数が361色未満であると判断された場合には、最大でも色相データHの使用数は360種であることから、色相Hのヒストグラムから最少使用頻度の色相データHを検出すればその使用頻度は必ず“0”になる。よってこの最少使用頻度“0”の色相データHを固定にして彩度データSと明度データVを任意の値に固定することで、未使用色のHSV色データを得ることができる。
この第6実施形態の未使用色検出回路16Meは、回路各部の動作状態を監視して当該回路各部に動作指令信号を出力するためのコントローラ21eを備えている。
そして、この未使用色検出回路16Meは、その前段に、表示用画像データG′の使用色数を検出して色相Hの分解能(0〜360)である361未満であるか361以上であるかを比較判断するための、色数検出回路61、色数レジスタ62、比較回路63を組み合わせて設ける。
またその後段には、前記前段の回路において前記表示用画像データG′の使用色数が361未満であると判断された場合に、各画素毎の色相Hを求めそのヒストグラムを測定すると共に、当該色相Hのヒストグラムから最少使用頻度“0”の色相Hを検出するための、RGB比較回路22d、RGB各最大値対応の色相演算回路23Rd,23Gd,23Bd、振り分け回路24d、色相フラグレジスタ(A)25dおよびそのフラグカウンタ25dc、色相使用頻度比較部26dおよびその基準値設定部27d、色相比較終了検出部28d、色相使用頻度レジスタ29dを組み合わせて設ける。そして、色決定回路41、HSV/RGB変換演算回路42、未使用色書き込み回路43を設ける。
図24は、前記画像処理ボード16に備えられた第6実施形態の未使用色検出回路16Meでのコントローラ21eによる動作指令の手順を示すフローチャートである。
すなわち、コントローラ21eによって色数検出回路61が起動されると(ステップS1e)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつ色数検出回路61に読み込まれる。
そして、この色数検出回路61によって検出された前記表示用画像データG′の使用色数は色数レジスタ62に格納される(ステップS2e)。
前記表示用画像データG′の全画素の読み込みによってその使用色数が検出格納されると(ステップS3e)、コントローラ21eによって比較回路63が起動され、当該検出色数が361色未満であるか、又は361色以上であるかが判別される。そして、検出色数が361色未満であると判別された場合には、コントローラ21eによって本未使用色検出回路16Meの後段にあるRGB比較回路22dが起動され、361色以上であると判断別された場合には、コントローラ21eによって例えば前記第1実施形態の未使用色検出回路16MのRGB比較回路22が起動され、以降同第1実施形態の検出回路16Mにより未使用色の検出が行われる(ステップS4e)。
前記表示用画像データG′の使用色数が色相Hの分解能(0〜360)である361未満であると判別され、後段にあるRGB比較回路22dが起動されると、同表示用画像データG′が、その1画素の色データずつRGB比較回路22dに読み込まれる。
するとRGB比較回路22dにより、前記今回画像メモリ13Gから読み込まれた1画素の色データがR,G,Bそれぞれの色(濃度値)データに分解され、そのうち最大値と最小値の色データが検出される。すると、前記検出されたRGB何れか最大値の色データに対応するところの色相演算回路23Rd,23Gd,23Bdにより、前記RGB/HSV変換公式(1)〜(3)(MAX=RGB成分中の最大値、MIN=RGB成分中の最小値)に基づいて該当画素の色相データHが計算される。そして、この各画素毎に計算された色相データHは、0〜360(361)の色相の分解能に応じてアドレスされる色相フラグレジスタ(A)25dに送られて書き込まれる(ステップS5d)。
これにより前記色相フラグレジスタ(A)25dには、前記表示用画像データG′における画素単位での色相Hの使用頻度(色相ヒストグラム)が361の分解能を持った主成分ヒストグラムとしてセットされることになる。
前記色相フラグレジスタ(A)25dにおいて、前記表示用画像データG′における全画素の色相Hの使用頻度がセットされると(ステップS6d)、コントローラ21eによって色相使用頻度比較部26dが起動され、基準値設定部27dにセットされる基準値“0”を対象に前記色相フラグレジスタ(A)25dの0〜360のアドレス毎にセットされた当該アドレスに対応する色相データHの使用頻度が比較される。そして、この色相使用頻度比較部26dにおいて、基準値“0”と比較一致したところのアドレス(色相値)、つまり最も使用頻度が少ない使用頻度“0”の色相データSが検出され、色相比較終了検出部28dからその終了検出信号が出力されると、これに伴い、その最少使用頻度“0”のデータと共にその色相データHが色相使用頻度レジスタ29dに格納される(ステップS7d,S8d)。
すると、色決定回路41が起動され、前記色相使用頻度レジスタ29dに格納された最少使用頻度“0”の色相データHを固定とし、彩度データSと明度データVを任意の値に選択した、未使用のHSV色データが決定される(ステップS12)。
そして、HSV/RGB変換演算回路42が起動され、前記色決定回路41により選択決定されたHSV色データは前記RGB/HSV変換公式(1)〜(5)に従いRGBデータに変換され(ステップS13)、今回(変化後)の表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路43によりRAM13内の未使用色メモリに書き込まれる(ステップS14)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第6実施形態の未使用色検出回路16Meによれば、今回(変化後)の表示用画像データG′の使用色数が色相Hの分解能(0〜360)に相当する361色未満であって場合には、各画素毎の色相Hを計算することによりそのヒストグラムを測定して使用頻度“0”の色相データHを検出する。そして、この使用頻度“0”の色相データHを固定にして任意の値の彩度データSと明度データVを組み合わせた未使用のHSV色データを決定し、HSV/RGB変換して未使用の色データ(透過色)nを検出するようにしたので、前記各実施形態の未使用色検出回路16M,16Ma,16Mb,16Mcの場合と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
しかも、この第6実施形態の未使用色検出回路16Meによれば、表示用画像データG′の使用色数が361色未満と少ない場合には、駆動する回路範囲が限定されるので、前記各実施形態の未使用色検出回路16,16Ma,16Mb,16Mcに較べて消費電力が小さくなる利点を有する。
なお、前記第5および第6実施形態の未使用色検出回路16Md,16Meでは、HSV色データのうちの主成分を色相Hとし、この色相Hの分解能(0〜360)に相当する361を基準に、表示用画像データG′の画素数が361画素未満であるか、あるいは色数が361色未満である場合に、必ず存在する使用頻度“0”の色相Hを固定にして彩度S,明度Vを任意の値とした未使用のHSV色データを決定する構成としたが、前記HSV色データのうちの主成分は限定されるものではなく、例えば彩度Sを主成分とし、この彩度Sの分解能(0〜255)に相当する256を基準に、表示用画像データG′の画素数が256画素未満であるか、あるいは色数が256色未満である場合に、必ず存在する使用頻度“0”の彩度Sを固定にして色相H,明度Vを任意の値とした未使用のHSV色データを決定する構成としてもよい。
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。