以下図面により本発明の実施の形態について説明する。
(第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を備えている。
図4は、前記画像処理ボード16に備えられた第1実施形態の未使用色検出回路16Mでのコントローラ21による動作指令の手順を示すフローチャートである。
この第1実施形態の未使用色検出回路16Mは、前記コントローラ21を動作制御部として、RGBデコーダ22、フラグレジスタ(A)23R,23G,23Bおよび各対応するカウンタRc,Gc,Bc、R使用数比較部24R、G使用数比較部24G、B使用数比較部24B、基準値設定部25、比較終了検出部26、濃度値・使用数レジスタ27、濃度値設定回路28、RGBアドレスレジスタ29、アドレス加算回路30、画素比較回路31、フラグレジスタ(B)32およびそのフラグセット部33、一致回路34、未使用色書込回路35を組み合わせて構成される。
コントローラ21によってRGBデコーダ22が起動されると(ステップS1)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつRGBデコーダ22に読み込まれる。
このRGBデコーダ22は、前記今回画像メモリから読み込まれた1画素の色データを、R,G,Bそれぞれの色(濃度値)データに分解するもので(図5参照)、この分解されたR濃度値データはフラグレジスタ(A)23Rに送られ、G濃度値データはフラグレジスタ(A)23Gに送られ、B濃度値データはフラグレジスタ(A)23Bに送られる。
図5は、前記未使用色検出回路16MのRGBデコーダ22による色データ分解処理を示す図である。
前記各フラグレジスタ(A)23R,23G,23Bは、何れも各色(濃度値)データの分解能(ビット数)に対応する分(8ビットの場合は256個)のレジスタを有しその濃度値0〜255(16進値で00〜FF)によってアドレスされるもので(図6参照)、前記RGBデコーダ22から送られた各濃度値データによってアドレスされるところのレジスタに対し各対応するカウンタRc,Gc,Bcによってフラグ(数値)“1”が加算される(ステップS2)。
図6は、前記未使用色検出回路16Mにおける各フラグレジスタ(A)23R,23G,23Bを示す図である。
図7は、前記未使用色検出回路16Mにおける各フラグレジスタ(A)23R,23G,23Bの動作例を示す図である。
つまり、例えば図7(B)に示すように、R濃度値データの値がX “00” (16進値)であった場合にはフラグレジスタ(A)23RのアドレスX“00”に対応してフラグ“1”が加算され、また図7(C)に示すように、R濃度値データの値がX“01”であった場合には同フラグレジスタ(A)23RのアドレスX“01”に対応してフラグ“1”が加算され、さらに続いて図7(D)に示すように、R濃度値データの値がX“01”であった場合には同フラグレジスタ(A)23RのアドレスX“01”に対応してフラグ“1”が加算されるもので、各フラグレジスタ(A)23R,23G,23Bには、前記今回(変化後)の表示用画像データG′におけるRGBそれぞれの画素単位での色濃度の使用数がセットされることになる(ステップS2)。
前記各フラグレジスタ(A)23R,23G,23Bにおいて、前記今回(変化後)の表示用画像データG′における全画素のRGBそれぞれの色濃度の使用数がセットされると(ステップS3)、コントローラ21によってR使用数比較部24R、G使用数比較部24G、B使用数比較部24Bが起動され、基準値設定部25に“0”“1”“2”…と段階的にセットされる基準値を対象に前記各フラグレジスタ(A)23R,23G,23Bのアドレス毎にセットされた当該アドレスに対応する色濃度の使用数が比較される。そして、R使用数比較部24R、G使用数比較部24G、B使用数比較部24Bのそれぞれにおいて、最初に基準値と比較一致したところのアドレス(色濃度値)、つまり最も使用数が少ないR濃度値,G濃度値,B濃度値が検出され(図8参照)、比較終了検出部26からその終了検出信号が出力されると、これに伴い、それぞれその最少使用数のデータと共にその色濃度値が濃度値・使用数レジスタ27に格納される(ステップS4,S5)。
図8は、前記未使用色検出回路16Mにおける各フラグレジスタ(A)23R,23G,23Bを対象にした各色使用数比較部24R,24G,24Bの動作例を示す図である。
図9は、前記未使用色検出回路16MのRGB各色使用数比較部24R,24G,24Bによって濃度値・使用数レジスタ27に格納されたRGB各色の最少使用濃度値とその使用数の具体例を示す図である。
この濃度値・使用数レジスタ27において、前記今回画像メモリに記憶されている今回(変化後)の表示用画像データG′についてRGB各色毎の最少使用濃度値とその使用数が格納されると、さらにコントローラ21によって濃度値設定回路28が起動され、当該RGB各色間において最も使用数が少ない色とその濃度値が検出される(ステップS6)。
そして、前記濃度値設定回路28は、検出された最少使用数の色の濃度値を固定にしたRGBの色データを生成し、RGBアドレスレジスタ29にセットする(ステップS7)。
図10は、前記未使用色検出回路16MのRGBアドレスレジスタ29にセットされた色データを示す図である。
すなわち、例えば図9で示したように、濃度値・使用数レジスタ27において、前記今回(変化後)の表示用画像データG′についてRGB各色毎の最少使用濃度値(R:FF/G:03/B:00)とその使用数(2/10/100)が格納されると(ステップS4,S5)、濃度値設定回路28において、そのうち最も使用数が少ない色(R)とその濃度値(FF)が検出され(ステップS6)、図10に示すように、この検出された最少使用数の色の濃度値(R:FF)を固定にしたRGBの色データがRGBアドレスレジスタ29にセットされる(ステップS7)。
ここで、コントローラ21によって画素比較回路31が起動される(ステップS8)。
前記RGBアドレスレジスタ29において一部の色濃度値が固定された色データは、その未固定部分の色データについてアドレス加算回路30により一巡するまで加算される。
そしてこのRGBアドレスレジスタ29において一巡されるRGB一部固定の色データは、画素比較回路31において、前記RAM13内の今回画像メモリから1画素データずつ読み出される今回(変化後)の表示用画像データG′の色データと比較される。
そして、前記画素比較回路31において、前記RGBアドレスレジスタ29において一巡されるRGB一部固定の限られた色データの中で、今回(変化後)の表示用画像データG′から読み出された1画素の色データと一致する色データが検出された場合には、その一致時点の色データに対応するRGBアドレス(29)がフラグレジスタ(B)32に出力される。
このフラグレジスタ(B)32は、前記RGBアドレスレジスタ29にて一部固定された色以外の未固定部分の色データの分解能(ビット数)に対応する分(1色8ビット固定の場合には2色16ビットに対応する2の16乗個)のレジスタを有し、その色データによってアドレスされるもので(図11参照)、前記画素比較回路31にて一致検出された色データによってアドレスされるところのレジスタに対しフラグセット部33によってフラグ(数値)“1”がセットされる(ステップS9)。
図11は、前記未使用色検出回路16MにおけるRGBアドレスレジスタ29およびフラグレジスタ(B)32の動作例を示す図である。
すなわち、今回(変化後)の表示用画像データG′の中で最少使用数の色濃度値を固定にしてRGBアドレスレジスタ29にてインクリメントされる限られたRGB色データのうちで、当該表示用画像データG′の各画素の色データと一致したところのRGB色データに対応するフラグレジスタ(B)32上のアドレス位置に、フラグ“1”がセットされる。
そして、前記画素比較回路31によって前記表示用画像データG′の全画素の色データについて前記RGBアドレスレジスタ29にて限られたRGB色データとの一致検出処理が終了すると(ステップS10)、コントローラ21によって一致回路34が起動され、前記フラグレジスタ(B)32内のレジスタ値が“0”と一致するアドレス(RGB色データ)がその先頭レジスタから順次検出され(ステップS11)、レジスタ値“0”であるところのアドレス(RGB色データ)が当該表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路35によりRAM13内の未使用色メモリに書き込まれる(ステップS12)。
こうして前記未使用色検出回路16Mにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第1実施形態の未使用色検出回路16Mによれば、今回(変化後)の表示用画像データG′の各画素のR濃度値データ,G濃度値データ,B濃度値データのうちで、最も使用数の少ない色の濃度値データを固定にして残りの色の濃度値データの組み合わせとなる限られたRGB色データのなかから、当該表示用画像データG′の各画素の色データに一致しない未使用の色データ(透過色)nを検出するようにしたので、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
例えば、RGB各8ビットの24ビットカラーの画像データの場合、通常では24ビットで表される全ての色、つまり2の24乗色(1,677,216色)を考慮に入れて未使用色を検出しなければならないが、本第1実施形態の未使用色検出回路16Mにおいて示したように、1つの色成分を固定にすることにより、残りの16ビットで表される全ての色、つまり2の16乗色(65,536色)の中から未使用色を検出すればよいものである。
RGB各8ビットの24ビットカラーの画像データを対象にして実際の回路設計を行った結果、先ず、24ビットで表される全ての色から未使用色を検出する回路の場合は、22,020,096個のFFが必要である。
これに対し、1つの色成分を固定して残りの16ビットを変化させることにより未使用色を検出する本第1実施形態の未使用色検出回路16Mの場合、FFは86,016個で済む。この場合、RGBの各色成分毎の濃度値の使用度数(ヒストグラム)を測定するための各フラグレジスタ(A)23R,23G,23Bに関係するFFが9,240個必要となるが、それを加えても、86,016+9,240=95,256個となり、24ビット全てを考慮にいれて未使用色を検出した場合よりも大幅に少ないFFを使用して設計することができる。
なお、前記未使用色検出回路16MにおけるR使用数比較部24R、G使用数比較部24G、B使用数比較部24Bの何れかにおいて、基準値“0”と比較一致した使用数のフラグレジスタ(A)23R,23G,23Bのアドレス(色濃度値)が検出された場合には、この検出された色の濃度値は今回(変化後)の表示用画像データG′の中で全く使用されていないことになるので、当該未使用の色の濃度値を固定にして残りの色の濃度値を任意の組合せに設定したRGB色データを生成することで、これを未使用色(透過色)nとして検出することができる。
また、前記第1実施形態の未使用色検出回路16Mでは、未使用色を検出するための対象となるRGBの色データの組合せについて、固定する色成分を1色として構成したが、当該固定する色成分を2色として構成してもよい。
図12は、前記未使用色検出回路16Mにおいて未使用色の検出対象となるRGB色データに対し2つの色成分を固定にする場合に、RGB各色使用数比較部24R,24G,24Bによって濃度値・使用数レジスタ27に格納されたRGB各色の最少使用濃度値とその使用数、および2番目に少ない使用濃度値とその使用数、および3番目に少ない使用濃度値とその使用数の具体例を示す図である。
図13は、前記未使用色検出回路16Mにおいて濃度値設定回路28によりRGBアドレスレジスタ29に対し2つの色成分を固定したRGB色データを設定して未使用色を検出する場合の処理の流れを示す図である。
すなわち、今回(変化後)の表示用画像データG′では、図12(A)に示すように、“R”の“FF”が使用数“1”で一番使用されていないので、図13(A)に示すように、R成分を濃度値“FF”で固定すると共に、図13(B)に示すように、残り2つの色成分(G,B)のうち、次に使用数が少ない使用数“10”の色成分“G”を判断しその濃度値“00”を固定にする。
このように2つの色成分R,Gを固定にした残り8ビットの色成分“B”の組合せの中から、画素比較回路31による表示用画像データG′の各画素色データとの比較により未使用色が検出されれば終了、検出されなければ図13(C)(D)に示すように、2つ目に固定した色成分“G”について、2番目に使用されていない濃度値“01”(図12(B)参照)を固定、また3番目に使用されていない濃度値“02” (図12(C)参照)を固定とし、同様の処理を繰り返しながら未使用色を検出する。
これにより、RGBの1成分を固定とした場合に較べて、2成分を固定とすることで、さらに効率良く未使用色を検出することができる。
(第2実施形態)
図14は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第2実施形態の未使用色検出回路16Maの構成を示す回路図である。
この第2実施形態の未使用色検出回路16Maでは、表示用画像データG′の各画素毎のRGBデータから輝度Yを抽出し、この輝度Yの使用度数を測定することに基づき、未使用色の検出対象となるRGB色データの各色成分の上位ビットを暗い濃度値となる“0”または明るい濃度値となる“1”に固定する。
つまり、表示用画像データG′の各画素毎の輝度Yの使用度数の測定結果と所定の基準から、当該画像データG′が暗い画像であると判断された場合には、明るい濃度値のRGB色データの使用数が少なくその中に未使用の色データが存在する確率が高いことから、未使用色の検出対象となるRGB色データの各色成分の上位ビットを明るい濃度値となる“1”に固定する。一方、同様にして表示用画像データG′が暗くない(明るい)画像であると判断された場合には、暗い濃度値のRGB色データの使用数が少なくその中に未使用の色データが存在する確率が高いことから、未使用色の検出対象となるRGB色データの各色成分の上位ビットを暗い濃度値となる“0”に固定する。
この第2実施形態の未使用色検出回路16Maにおいて、前記図3における第1実施形態の未使用色検出回路16Mと同様の回路部分については、同一の符号を付してその詳細な説明を省略する。
この未使用色検出回路16Maは、回路各部の動作状態を監視して当該回路各部に動作指令信号を出力するためのコントローラ21aを備えている。
図15は、前記画像処理ボード16に備えられた第2実施形態の未使用色検出回路16Maでのコントローラ21aによる動作指令の手順を示すフローチャートである。
この第2実施形態の未使用色検出回路16Maでの動作指令手順において、前記図4における第1実施形態の未使用色検出回路16Mでの動作指令手順と同様の指令手順については、同一のステップ番号を付してその詳細な説明を省略する。
この第2実施形態の未使用色検出回路16Maでは、前記第1実施形態の未使用色検出回路16Mに備えられたR,G,Bの各フラグレジスタ(A)23R,23G,23B、各使用数比較部24R,24G,24B、基準値設定部25、比較終了検出部26、濃度値・使用数レジスタ27、濃度値設定回路28に替えて、RGBデコーダ22によって分解されたRGBの各色(濃度値)データに基づき輝度信号(Y)と色差信号(C)とを分離して輝度値Yを抽出する演算回路23a、輝度値Yのビット数に応じた輝度総数分のレジスタを有し前記演算回路23aにより抽出された輝度値Yに対応するところのレジスタにフラグ“1”を加算して当該輝度値Yの使用度数を測定するフラグレジスタ(C)24aおよびカウンタ24ac、このフラグレジスタ(C)24aにて使用度数が測定された輝度値Yをその度数分読み出して上位ビットが全て“0”である暗い輝度の画素であるか又は上位ビットの少なくとも何れかが“1”である明るい(暗くない)輝度の画素であるかを振り分ける読出し回路25a、この読出し回路25aこのより振り分けられた明るい輝度の画素数と暗い輝度の画素数とをそれぞれカウントする各カウンタ26an,26ak、各カウンタ26an,26akによりカウントされた明るい輝度の画素数と暗い輝度の画素数とを格納する輝度大小レジスタ27a、この輝度大小レジスタ27aに格納された明るい輝度の画素数と暗い輝度の画素数とに基づいて、明るい輝度の画素数が大きい場合にはRGBの各濃度値の上位ビットを暗い“0”に固定したRGB色データをRGBアドレスレジスタ29に設定し、また暗い輝度の画素数が大きい場合にはRGBの各濃度値の上位ビットを明るい“1”に固定したRGB色データをRGBアドレスレジスタ29に設定する濃度値設定回路28aが備えられる。
すなわち、コントローラ21aによってRGBデコーダ22が起動されると(ステップS1)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつRGBデコーダ22に読み込まれる。
そして、このRGBデコーダ22によってR,G,Bそれぞれの色(濃度値)データに分解されたR濃度値データ、G濃度値データ、B濃度値データは、演算回路23aに送られる。
すると演算回路23aでは、RGBデコーダ22によって分解されたRGBの各色(濃度値)データに基づいて輝度値Yを抽出し、フラグレジスタ(C)24aに出力する。
フラグレジスタ(C)24aは、輝度値Yのビット数に対応する分(8ビットの場合は256個)のレジスタを有しその輝度値0〜255によってアドレスされるもので、前記演算回路23aから送られた輝度値Yによってアドレスされるところのレジスタに対しカウンタ24acによってフラグ(数値)“1”が加算される(ステップS2a)。
前記フラグレジスタ(C)24aにおいて、前記今回(変化後)の表示用画像データG′における全画素の輝度値の使用度数がセットされると(ステップS3a)、コントローラ21aによって読出し回路25aが起動される。そして、前記フラグレジスタ(C)24aにて使用度数がセットされた輝度値Yがその度数分読み出され、図16に示すように、上位ビットが全て“0”である暗い輝度の画素であるか又は上位ビットの少なくとも何れかが“1”である明るい(暗くない)輝度の画素であるかが振り分けられると共に、各カウンタ26an,26akによって明るい輝度の画素数と暗い輝度の画素数とがカウントされ、輝度大小レジスタ27aに格納される(ステップS4a)。
図16は、前記未使用色検出回路16Maにおける読出し回路25aの動作例を示す図である。
前記読出し回路25aから輝度大小レジスタ27aに対して、前記今回(変化後)の表示用画像データG′の全画素についての明るい輝度の画素数と暗い輝度の画素数とがカウントされて格納されると(ステップS5a)、さらにコントローラ21によって濃度値設定回路28aが起動される。すると、この濃度値設定回路28aは、図17に示すように、前記明るい輝度の画素数が大きい場合にはRGBの各濃度値の上位ビットを暗い“0”に固定したRGB色データをRGBアドレスレジスタ29に設定し、また暗い輝度の画素数が大きい場合にはRGBの各濃度値の上位ビットを明るい“1”に固定したRGB色データをRGBアドレスレジスタ29に設定する(ステップS6a)。
図17は、前記未使用色検出回路16MaのRGBアドレスレジスタ29にセットされた明るい画素数が多い場合の色データと暗い画素数が多い場合の色データとを対比して示す図である。
こうして前記濃度値設定回路28aによってRGBアドレスレジスタ29に未使用色検出対象のベースとなるRGB色データが設定されると(ステップS7)、コントローラ21aによって画素比較回路31が起動される(ステップS8)。
前記RGBアドレスレジスタ29においてアドレス加算回路30により一巡されるRGB部分固定の色データは、画素比較回路31において、前記RAM13内の今回画像メモリから1画素データずつ読み出される今回(変化後)の表示用画像データG′の色データと比較される。
そして、前記画素比較回路31において、前記RGBアドレスレジスタ29において一巡されるRGB部分固定の限られた色データの中で、今回(変化後)の表示用画像データG′から読み出された1画素の色データと一致する色データが検出された場合には、その一致時点の色データに対応するRGBアドレス(29)がフラグレジスタ(B)32に出力される。
すると、フラグレジスタ(B)32では、前記画素比較回路31にて一致検出された色データによってアドレスされるところのレジスタに対しフラグセット部33によってフラグ(数値)“1”がセットされる(ステップS9)。
そして、前記画素比較回路31によって前記表示用画像データG′の全画素の色データについて前記RGBアドレスレジスタ29にて限られたRGB色データとの一致検出処理が終了すると(ステップS10)、コントローラ21によって一致回路34が起動され、前記フラグレジスタ(B)32内のレジスタ値が“0”と一致するアドレス(RGB色データ)がその先頭レジスタから順次検出され(ステップS11)、レジスタ値“0”であるところのアドレス(RGB色データ)が当該表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路35によりRAM13内の未使用色メモリに書き込まれる(ステップS12)。
こうして前記未使用色検出回路16Maにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第2実施形態の未使用色検出回路16Maによれば、今回(変化後)の表示用画像データG′の各画素の輝度値Yに基づいて、明るい画素が多い場合か又は暗い画素が多い場合かでRGB各色上位ビットをその逆の暗い“0”の濃度値データか又は明るい“1”の濃度値データかに固定し、残り下位ビットの色の濃度値データの組み合わせとなる限られたRGB色データのなかから、当該表示用画像データG′の各画素の色データに一致しない未使用の色データ(透過色)nを検出するようにしたので、前記第1実施形態の未使用色検出回路16Mの場合と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
しかも、この第2実施形態の未使用色検出回路16Maによれば、前記第1実施形態の未使用色検出回路16MのようにRGB各色の濃度値の使用度数を測定格納する3つのフラグレジスタ(A)23R,23G,23Bを用意する必要なく、輝度値Yの使用度数を測定格納するための1つのフラグレジスタ(C)24aを用意すればよいので、さらにメモリを節約し効率的で且つ小規模な未使用色検出回路16Maを実現できる。
(第3実施形態)
図18は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第3実施形態の未使用色検出回路16Mbの構成を示す回路図である。
この第3実施形態の未使用色検出回路16Mbでは、表示用画像データG′の画素数(画像サイズ)を検出し、この画素数(画像サイズ)が256未満で超小型画面に対する画像データあるか、または256×256未満で小型画面に対する画像データであるかに基づき、未使用色の検出対象となるRGB色データのうち2つの色成分R,Gを任意の濃度値に固定するか、または1つの色成分Rを任意の濃度値に固定する。
つまり、表示用画像データG′の画素数(画像サイズ)が256未満で超小型画面に対する画像データあると判断された場合には、最大でもRGB色データの使用数は256色であることから、未使用色の検出対象となるRGB各8ビットで24ビットの色データのうち上位16ビットに対応するRとGの色データを任意の濃度値(例えば“0”)に固定する。一方、同様にして表示用画像データG′の画素数(画像サイズ)が256以上であっても256×256未満で小型画面に対する画像データあると判断された場合には、最大でもRGB色データの使用数は256×256色であることから、未使用色の検出対象となるRGB各8ビットで24ビットの色データのうち上位8ビットに対応するRの色データを任意の濃度値(例えば“0”)に固定する。
この第3実施形態の未使用色検出回路16Mbにおいて、前記図3における第1実施形態の未使用色検出回路16Mと同様の回路部分については、同一の符号を付してその詳細な説明を省略する。
この未使用色検出回路16Mbは、回路各部の動作状態を監視して当該回路各部に動作指令信号を出力するためのコントローラ21bを備えている。
図19は、前記画像処理ボード16に備えられた第3実施形態の未使用色検出回路16Mbでのコントローラ21bによる動作指令の手順を示すフローチャートである。
この第3実施形態の未使用色検出回路16Mbでの動作指令手順において、前記図4における第1実施形態の未使用色検出回路16Mでの動作指令手順と同様の指令手順については、同一のステップ番号を付してその詳細な説明を省略する。
この第3実施形態の未使用色検出回路16Mbでは、前記第1実施形態の未使用色検出回路16Mに備えられたRGBデコーダ22、R,G,Bの各フラグレジスタ(A)23R,23G,23B、各使用数比較部24R,24G,24B、基準値設定部25、比較終了検出部26、濃度値・使用数レジスタ27、濃度値設定回路28に替えて、表示用画像データG′の画素数(画像サイズ)を検出する画素数検出回路41、この画素数検出回路41により検出された画素数(画像サイズ)を格納する画素数レジスタ42、この画素数レジスタ42に格納された表示用画像データG′の画素数(画像サイズ)が256未満であるか、又は256以上で256×256未満であるか、又は256×256以上であるかを比較判断する各比較回路43a,43b、この比較回路43a,43bを介して判断された前記表示用画像データG′の画素数(画像サイズ)に応じてRGB色データの1つの色成分Rを固定するか又は2つの色成分RとGを固定するかを設定する固定値設定回路44、2つの色成分RとGの予め設定された固定の濃度値(例えば“0”)を格納する固定値レジスタ45、前記固定値設定回路44にて固定設定された1つ又は2つの色成分および前記固定値レジスタ45に格納された各色成分の固定の濃度値に従い、表示用画像データG′の画素数(画像サイズ)が256未満である場合には2つの色成分RとGの各濃度値を“0”に固定したRGB色データをRGBアドレスレジスタ29に設定し、また当該画素数(画像サイズ)が256以上で256×256未満である場合には1つの色成分Rの濃度値を“0”に固定したRGB色データをRGBアドレスレジスタ29に設定する濃度値設定回路28bが備えられる。
すなわち、コントローラ21bによって画素数検出回路41が起動されると(ステップS1b)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつ画素数検出回路41に読み込まれる。
そして、この画素数検出回路41によって検出された前記表示用画像データG′の画素数(画像サイズ)は画素数レジスタ42に格納される(ステップS2b)。
前記表示用画像データG′の全画素の読み込みによってその画素数(画像サイズ)が検出格納されると(ステップS3b)、コントローラ21bによって各比較回路43a,43bが起動され、当該検出画素数(画像サイズ)が256未満であるか、又は256以上で256×256未満であるか、又は256×256以上であるかが判別された後、さらにコントローラ21bによって固定値設定回路44が起動される(ステップS4b)。
そして、固定値設定回路44により、前記検出画素数(画像サイズ)が256未満である場合に固定値レジスタ45に格納された2つの色成分RとGの濃度値“0”が固定値として設定されるか、又は前記検出画素数(画像サイズ)が256以上で256×256未満である場合に固定値レジスタ45に格納された1つの色成分Rの濃度値“0”が固定値として設定されると(ステップS5b)、コントローラ21bによって濃度値設定回路28bが起動される。
すると、この濃度値設定回路28bは、図20に示すように、前記表示用画像データG′の画素数(画像サイズ)が256未満で超小型画面である場合には2つの色成分RとGの濃度値を“0”に固定したRGB色データをRGBアドレスレジスタ29に設定し、また前記表示用画像データG′の検出画素数(画像サイズ)が256以上で256×256未満の小型画面である場合には1つの色成分Rの濃度値を“0”に固定したRGB色データをRGBアドレスレジスタ29に設定する(ステップS6b)。
図20は、前記未使用色検出回路16MbのRGBアドレスレジスタ29にセットされた画素数(画像サイズ)が256未満で超小型画面の場合の色データと画素数(画像サイズ)が256以上256×256未満で小型画面の場合の色データとを対比して示す図である。
こうして前記濃度値設定回路28bによってRGBアドレスレジスタ29に未使用色検出対象のベースとなるRGB色データが設定されると(ステップS7)、コントローラ21bによって画素比較回路31が起動される(ステップS8)。
前記RGBアドレスレジスタ29においてアドレス加算回路30により一巡されるRGB一部固定の色データは、画素比較回路31において、前記RAM13内の今回画像メモリから1画素データずつ読み出される今回(変化後)の表示用画像データG′の色データと比較される。
そして、前記画素比較回路31において、前記RGBアドレスレジスタ29において一巡されるRGB一部固定の限られた色データの中で、今回(変化後)の表示用画像データG′から読み出された1画素の色データと一致する色データが検出された場合には、その一致時点の色データに対応するRGBアドレス(29)がフラグレジスタ(B)32に出力される。
すると、フラグレジスタ(B)32では、前記画素比較回路31にて一致検出された色データによってアドレスされるところのレジスタに対しフラグセット部33によってフラグ(数値)“1”がセットされる(ステップS9)。
そして、前記画素比較回路31によって前記表示用画像データG′の全画素の色データについて前記RGBアドレスレジスタ29にて限られたRGB色データとの一致検出処理が終了すると(ステップS10)、コントローラ21によって一致回路34が起動され、前記フラグレジスタ(B)32内のレジスタ値が“0”と一致するアドレス(RGB色データ)がその先頭レジスタから順次検出され(ステップS11)、レジスタ値“0”であるところのアドレス(RGB色データ)が当該表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路35によりRAM13内の未使用色メモリに書き込まれる(ステップS12)。
こうして前記未使用色検出回路16Mbにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第3実施形態の未使用色検出回路16Mbによれば、今回(変化後)の表示用画像データG′の画素数(画像サイズ)に基づき、256未満の画像サイズの場合か又はそれ以上256×256未満の画像サイズの場合で、2つの色成分RとGを“0”の濃度値データか又は1つの色成分Rを“0”の濃度値データに固定し、残りの色成分の濃度値データの組み合わせとなる限られたRGB色データのなかから、当該表示用画像データG′の各画素の色データに一致しない未使用の色データ(透過色)nを検出するようにしたので、前記第1実施形態の未使用色検出回路16Mの場合と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
しかも、この第3実施形態の未使用色検出回路16Mbによれば、表示用画像データG′の画素数(画像サイズ)が小さい場合には、駆動する回路範囲が限定されるので、前記第1実施形態の未使用色検出回路16Mおよび前記第2実施形態の未使用色検出回路16Maに較べて消費電力が小さくなる利点を有する。
なお、この第3実施形態の未使用色検出回路16Mbにおいて、表示用画像データG′の画素数(画像サイズ)が256×256以上と判別された場合には、未使用色の検出対象となるRGB各8ビットで全24ビットの色データをRGBアドレスレジスタ29に設定する。
(第4実施形態)
図21は、前記コンピュータ装置(サーバ装置)10の画像処理ボード16に備えられた第4実施形態の未使用色検出回路16Mcの構成を示す回路図である。
この第4実施形態の未使用色検出回路16Mcでは、表示用画像データG′の使用色数を検出し、この色数が256色未満の画像データであるか、または256×256色未満の画像データであるかに基づき、未使用色の検出対象となるRGB色データのうち2つの色成分R,Gを任意の濃度値に固定するか、または1つの色成分Rを任意の濃度値に固定する。
つまり、表示用画像データG′の使用色数が256色未満であると判断された場合には、最大でもRGB色データの使用数は256色であることから、未使用色の検出対象となるRGB各8ビットで24ビットの色データのうち上位16ビットに対応するRとGの色データを任意の濃度値(例えば“0”)に固定する。一方、同様にして表示用画像データG′の使用色数が256色以上であっても256×256色未満であると判断された場合には、最大でもRGB色データの使用数は256×256色であることから、未使用色の検出対象となるRGB各8ビットで24ビットの色データのうち上位8ビットに対応するRの色データを任意の濃度値(例えば“0”)に固定する。
この第4実施形態の未使用色検出回路16Mcにおいて、前記図18における第3実施形態の未使用色検出回路16Mbと同様の回路部分については、同一の符号を付してその詳細な説明を省略する。
この未使用色検出回路16Mcは、回路各部の動作状態を監視して当該回路各部に動作指令信号を出力するためのコントローラ21cを備えている。
図22は、前記画像処理ボード16に備えられた第4実施形態の未使用色検出回路16Mcでのコントローラ21cによる動作指令の手順を示すフローチャートである。
この第4実施形態の未使用色検出回路16Mcでの動作指令手順において、前記図19における第3実施形態の未使用色検出回路16Mbでの動作指令手順と同様の指令手順については、同一のステップ番号を付してその詳細な説明を省略する。
つまり、この第4実施形態の未使用色検出回路16Mcでは、前記第3実施形態の未使用色検出回路16Mbが表示用画像データG′の画素数(画像サイズ)を検出して未使用色を検出するための対象となるRGB色データの1つまたは2つの色成分を固定値に設定したのに対して、同表示用画像データG′の使用色数を検出して未使用色を検出するための対象となるRGB色データの1つまたは2つの色成分を固定値に設定するものである。従って、表示用画像データG′の使用色数を検出する色数検出回路41′、この色数検出回路41′により検出された色数を格納する色数レジスタ42′、この色数レジスタ42′に格納された表示用画像データG′の使用色数が256色未満であるか、又は256色以上で256×256色未満であるか、又は256×256色以上であるかを比較判断する各比較回路43a′,43b′、この比較回路43a′,43b′を介して判断された前記表示用画像データG′の使用色数に応じてRGB色データの1つの色成分Rを固定するか又は2つの色成分RとGを固定するかを設定する固定値設定回路44′が備えられる。
すなわち、コントローラ21cによって色数検出回路41′が起動されると(ステップS1c)、前記RAM13内の画像データメモリ13Gに備えられた今回画像メモリに生成記憶されている今回(変化後)の表示用画像データG′が、その1画素の色データずつ色数検出回路41′に読み込まれる。
そして、この色数検出回路41′によって検出された前記表示用画像データG′の使用色数は色数レジスタ42′に格納される(ステップS2c)。
前記表示用画像データG′の全画素の読み込みによってその使用色数が検出格納されると(ステップS3c)、コントローラ21cによって各比較回路43a′,43b′が起動され、当該使用色数が256色未満であるか、又は256色以上で256×256色未満であるか、又は256×256色以上であるかが判別された後、さらにコントローラ21cによって固定値設定回路44′が起動される(ステップS4c)。
そして、固定値設定回路44′により、前記検出色数が256色未満である場合に固定値レジスタ45に格納された2つの色成分RとGの濃度値“0”が固定値として設定されるか、又は前記検出色数が256色以上で256×256色未満である場合に固定値レジスタ45に格納された1つの色成分Rの濃度値“0”が固定値として設定されると(ステップS5c)、コントローラ21cによって濃度値設定回路28bが起動される。
すると、この濃度値設定回路28bは、前記表示用画像データG′の使用色数が256色未満である場合には2つの色成分RとGの濃度値を“0”に固定したRGB色データをRGBアドレスレジスタ29に設定し、また前記表示用画像データG′の使用色数が256色以上で256×256色未満である場合には1つの色成分Rの濃度値を“0”に固定したRGB色データをRGBアドレスレジスタ29に設定する(ステップS6c)。
こうして前記濃度値設定回路28bによってRGBアドレスレジスタ29に未使用色検出対象のベースとなるRGB色データが設定されると(ステップS7)、コントローラ21cによって画素比較回路31が起動される(ステップS8)。
前記RGBアドレスレジスタ29においてアドレス加算回路30により一巡されるRGB一部固定の色データは、画素比較回路31において、前記RAM13内の今回画像メモリから1画素データずつ読み出される今回(変化後)の表示用画像データG′の色データと比較される。
そして、前記画素比較回路31において、前記RGBアドレスレジスタ29において一巡されるRGB一部固定の限られた色データの中で、今回(変化後)の表示用画像データG′から読み出された1画素の色データと一致する色データが検出された場合には、その一致時点の色データに対応するRGBアドレス(29)がフラグレジスタ(B)32に出力される。
すると、フラグレジスタ(B)32では、前記画素比較回路31にて一致検出された色データによってアドレスされるところのレジスタに対しフラグセット部33によってフラグ(数値)“1”がセットされる(ステップS9)。
そして、前記画素比較回路31によって前記表示用画像データG′の全画素の色データについて前記RGBアドレスレジスタ29にて限られたRGB色データとの一致検出処理が終了すると(ステップS10)、コントローラ21によって一致回路34が起動され、前記フラグレジスタ(B)32内のレジスタ値が“0”と一致するアドレス(RGB色データ)がその先頭レジスタから順次検出され(ステップS11)、レジスタ値“0”であるところのアドレス(RGB色データ)が当該表示用画像データG′の未使用のRGB色データ(n)として未使用色書込回路35によりRAM13内の未使用色メモリに書き込まれる(ステップS12)。
こうして前記未使用色検出回路16Mcにて今回(変化後)の表示用画像データG′における未使用の色データnが検出されることで、前記図2で示したように、画像処理ボード16では、当該表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換してなる転送用の画像データGhnを生成する。
したがって、前記構成のコンピュータ装置(サーバ装置)10における第4実施形態の未使用色検出回路16Mcによれば、今回(変化後)の表示用画像データG′の使用色数に基づき、256色未満の場合か又はそれ以上256×256色未満の場合で、2つの色成分RとGを“0”の濃度値データか又は1つの色成分Rを“0”の濃度値データに固定し、残りの色成分の濃度値データの組み合わせとなる限られたRGB色データのなかから、当該表示用画像データG′の各画素の色データに一致しない未使用の色データ(透過色)nを検出するようにしたので、前記第1実施形態の未使用色検出回路16Mの場合と同様に、効率的で且つ回路規模が膨大になることもなく、またソフトウエア処理によってCPU11に多大な負荷を掛けることもなく、高速に未使用色(透過色)nを検出することができ、転送用の画像データGhnの生成・送信処理も高速に行うことができる。
しかも、この第4実施形態の未使用色検出回路16Mcによれば、表示用画像データG′の使用色数が少ない場合には、駆動する回路範囲が限定されるので、前記第1実施形態の未使用色検出回路16Mおよび前記第2実施形態の未使用色検出回路16Maに較べて消費電力が小さくなる利点を有する。
なお、この第4実施形態の未使用色検出回路16Mcにおいて、表示用画像データG′の使用色数が256×256色以上と判別された場合には、未使用色の検出対象となるRGB各8ビットで全24ビットの色データをRGBアドレスレジスタ29に設定する。
なお、前記第3および第4実施形態の未使用色検出回路16Mb,16Mcにおいて、RGBアドレスレジスタ29に設定するRGB色データのうち1つの色成分を固定する場合にはR成分を固定設定し、2つの色成分を固定する場合にはR成分とG成分を固定設定する構成としたが、この固定対象成分の組合せは限定されるものではなく、例えば1つの色成分を固定する場合にはB成分を固定設定し、2つの色成分を固定する場合にはB成分とG成分を固定設定する構成としてもよい。
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。