(57)【要約】【課題】画像データの色数を検出する際のメモリの使用量を削減すること。【解決手段】フラグレジスタ１０３は、処理対象となる画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させた行列からなる色フラグを記憶する。フラグ設定回路１０２は、メモリ１０１に記憶された処理対象となる画像データから前記画素データ毎に色の種類を判別し、該当する前記行列からなる色フラグのフラグをオンにし、加算回路１０４は、このフラグ設定回路１０２によってオンに設定された前記色フラグにおけるフラグの数を計数することにより、前記処理対象となる画像データの色数を算出する。【選択図】図３
2011019184.tif 000002
【特許請求の範囲】
【請求項１】
処理対象となる画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させた行列からなる色フラグを記憶する色フラグ記憶手段と、
前記処理対象となる画像データから前記画素データ毎に色の種類を判別し、該当する前記行列からなる色フラグのフラグをオンにする色フラグ設定手段と、
この色フラグ設定手段によってオンに設定された前記色フラグにおけるフラグの数を計数することにより、前記処理対象となる画像データの色数を算出する計数手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記色フラグ設定手段は、前記画素データの値を、前記行列からなる色フラグの１行のビット数で除算した結果の商と余りとから、前記オンにする色フラグのフラグを決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記計数手段は、前記行列からなる色フラグの行におけるオンになった列のフラグの和を、行の数だけ順次算出し、その算出した行数分の和を加算することで、前記処理対象となる画像データの色数を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記色フラグ設定手段を複数備え、前記処理対象となる画像データにおける複数の画素データについて並列処理することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
処理対象となる画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させた行列からなる色フラグを記憶する色フラグ記憶ステップと、
前記処理対象となる画像データから前記画素データ毎に色の種類を判別し、該当する前記行列からなる色フラグのフラグをオンにする色フラグ設定ステップと、
この色フラグ設定ステップによってオンに設定された前記色フラグにおけるフラグの数を計数することにより、前記処理対象となる画像データの色数を算出する計数ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＰＣ（personal computer）において、画像データの色数等を検出する場合に用いて好適な画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
画像処理を行う場合に、その処理対象となる画像データの色数を検出することがある。例えば、画像データの色数に応じて圧縮処理を行う場合などである。また、シンクライアントシステムにおいて、サーバ装置からクライアント装置に対して画像データを転送する際にも必要となる。
【０００３】
シンクライアントシステムとは、「サーバベースコンピューティング（ＳＢＣ：Server Based Computing）システム」とも呼ばれ、サーバ装置とクライアント装置がＬＡＮ（Local Area Network）等のネットワークを介して接続されたネットワークシステムにおいて、クライアント装置にて入出力・表示される全てのアプリケーションプログラムをサーバ装置上で動作させるようにしたものである。
【０００４】
このようなシンクライアントシステムでは、クライアント装置の操作入力に応じてサーバ装置側で処理更新される表示用の画像データが該サーバ装置からその画像更新の都度クライアント装置へと転送されて表示される。このため、サーバ装置では、ネットワーク上の複数のクライアント装置からの操作入力に応じた各処理を支障なく行うために、画像データの転送を如何に効率良く行うかが重要になってくる。
【０００５】
そこで、サーバ装置からクライアント装置へ画像データを転送する際に、前回の画像データに対して今回の画像データの変化部分を抽出すると共に、未変化部分の全ての画素データを透過色として一律に設定して転送することが考えられている。
【０００６】
画像データの未変化部分の全ての画素データを透過色として一律に設定するとは、当該画像データで使用されている色以外の未使用色を設定することである。サーバ装置から転送する画像データに透過色（未使用色）が何色あるのかを示す情報を付加しておくことで、クライアント装置では当該透過色に設定された画像部分の書き替え処理を省略することができる。
【０００７】
ここで、画像データの色数を検出する場合に、通常、色の種類毎の度数レジスタを設け、その画像データを構成する各画素の１つ１つを読み出して、これらの画素の色を個々に比較しながら、各色毎にカウントして、その結果を度数レジスタに格納していくといった方法が一般的である（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−３５２５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のように色の種類毎の度数レジスタに、全ての画素に関して１画素ずつカウントした色数を格納していく方法では、例えば画素の色がＲＧＢ各８ビットずつ計２４ビットで表わされるとすると、度数レジスタは、その色を表す２４ビットのデータが色数１６，７７７，２１６色分のメモリ容量が必要となる。すなわち、２４ビット×１６，７７７，２１６色＝４０２，６５３，１８４ビット（約５０メガバイト）も必要となってしまう。
【００１０】
本発明は、前記の点に鑑みてなされたもので、画像データの色数を検出する際のメモリの使用量を削減可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の請求項１に係る画像処理装置は、処理対象となる画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させた行列からなる色フラグを記憶する色フラグ記憶手段と、前記処理対象となる画像データから前記画素データ毎に色の種類を判別し、該当する前記行列からなる色フラグのフラグをオンにする色フラグ設定手段と、この色フラグ設定手段によってオンに設定された前記色フラグにおけるフラグの数を計数することにより、前記処理対象となる画像データの色数を算出する計数手段と、を備えたことを特徴としている。
【００１２】
本発明の請求項２に係る画像処理装置は、前記請求項１に記載の画像処理装置において、前記色フラグ設定手段は、前記画素データの値を、前記行列からなる色フラグの１行のビット数で除算した結果の商と余りとから、前記オンにする色フラグのフラグを決定することを特徴としている。
【００１３】
本発明の請求項３に係る画像処理装置は、前記請求項１に記載の画像処理装置において、前記計数手段は、前記行列からなる色フラグの行におけるオンになった列のフラグの和を、行の数だけ順次算出し、その算出した行数分の和を加算することで、前記処理対象となる画像データの色数を算出することを特徴としている。
【００１４】
本発明の請求項４に係る画像処理装置は、前記請求項１に記載の画像処理装置において、前記色フラグ設定手段を複数備え、前記処理対象となる画像データにおける複数の画素データについて並列処理することを特徴としている。
【００１５】
本発明の請求項５に係る画像処理方法は、処理対象となる画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させた行列からなる色フラグを記憶する色フラグ記憶ステップと、前記処理対象となる画像データから前記画素データ毎に色の種類を判別し、該当する前記行列からなる色フラグのフラグをオンにする色フラグ設定ステップと、この色フラグ設定ステップによってオンに設定された前記色フラグにおけるフラグの数を計数することにより、前記処理対象となる画像データの色数を算出する計数ステップと、を有することを特徴としている。
【発明の効果】
【００１６】
本発明によれば、色を表すデータを色フラグの各ビットで表し、対応するフラグを立てることで以前に入力されて検出済みの色かどうかを判別することで、色を表すデータ自体を色の種類毎に記憶する度数レジスタが不要としたので、画像データの色数を検出する際のメモリの使用量を削減可能な画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の第１実施形態に係る画像処理装置をコンピュータ装置に適用した場合の回路構成を示すブロック図である。
【図２】図２は、第１実施形態におけるコンピュータ装置に備えられた画像処理回路にて行われる表示用画像データの生成処理を説明するための図である。
【図３】図３は、第１実施形態における画像処理回路の回路構成を示すブロック図であり、画像データの色数を検出するための回路構成を示す図である。
【図４】図４は、第１実施形態における画像処理回路のフラグ設定回路の詳細な構成を示す図である。
【図５】図５は、第１実施形態における画像処理回路のフラグレジスタに記憶された色フラグの詳細な構成を示す図である。
【図６】図６は、第１実施形態における画像処理回路の加算回路の詳細な構成を示す図である。
【図７】図７は、第１実施形態における画像処理回路の色数検出処理の流れを示すフローチャートである。
【図８】図８は、第１実施形態におけるフラグ設定回路の動作を説明するためのフラグレジスタの色フラグへのフラグ設定結果の一例を示す図である。
【図９】図９は、第１実施形態における加算回路の色数計算動作を説明するための図である。
【図１０】図１０は、従来の方法及び第１実施形態におけるメモリ使用量を説明するための図である。
【図１１】図１１は、本発明の第２実施形態に係る画像処理装置をコンピュータ装置に適用した場合の画像処理回路の回路構成を示すブロック図であり、画像データの色数を検出するための回路構成を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態を図面を参照して説明する。
【００１９】
［第１実施形態］
図１は、本発明の第１実施形態に係る画像処理装置をコンピュータ装置１０に適用した場合の回路構成を示すブロック図である。
【００２０】
本実施形態におけるコンピュータ装置１０は、例えば、シンクライアントシステムにおけるサーバ装置として使用されるものである。このコンピュータ装置１０は、装置全体の制御を行うＣＰＵ１１を備える。ＣＰＵ１１には、システムバス１２を介して、ＲＯＭ１３、ＲＡＭ１４、入力装置１５、表示装置１６、通信Ｉ／Ｆ（インターフェイス）１７、外部記憶装置１８、画像処理回路１９、等が接続される。
【００２１】
ＣＰＵ１１は、ＲＯＭ１３に予め記憶されているプログラム、あるいは、図示せぬ外部記録媒体から不図示の媒体読取装置を介して読み取られたプログラム、あるいは、ネットワークを介して外部のサーバから提供されたプログラムを通信Ｉ／Ｆ１７を介して読み込み、そのプログラムに記述された手順に従って各種処理を実行する。
【００２２】
ＲＯＭ１３には、ＣＰＵ１１を起動するためのプログラムを含む各種データが予め記憶されている。ＲＡＭ１４は、ＣＰＵ１１の作業領域として用いられ、ＣＰＵ１１の動作に必要な各種データを記憶する。
【００２３】
また、このＲＡＭ１４には、アプリケーションプログラムの起動に伴い、図示せぬクライアント装置からの入力イベントに応じて生成される表示用の画像データをフレーム単位で記憶するためのクライアント用フレームバッファとして、各クライアント装置毎に３つのフレームバッファが設けられている。なお、これらのフレームバッファについては、図２を参照して後述する。
【００２４】
入力装置１５は、例えばキーボード、マウスなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。表示装置１６は、各種データを表示するものであり、例えばＣＲＴ（Cathode-ray tube）やＬＣＤ（Liquid Crystal Display）などからなる。
【００２５】
通信Ｉ／Ｆ１７は、ネットワークを介して接続されたクライアント装置との間のデータの送受信処理を行う。画像処理回路１９は、クライアント装置に転送する表示用の画像データに対する様々な画像処理を行う部分であり、本発明の第１実施形態に係る画像処理装置に相当する。この画像処理回路１９は、画像データの特徴量の検出に必要な処理を実行する。ここで、画像データの特徴量の検出に必要な処理とは、具体的には、後述する「色数の検出処理」である。
【００２６】
外部記憶装置１８は、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどの記憶媒体に、各データを保存記憶するものである。
【００２７】
このような構成において、ＣＰＵ１１は、ＲＯＭ１３に予め記憶されたシステムプログラムやアプリケーションプログラムに従ってＲＡＭ１４を作業用メモリとして回路各部の動作を制御し、入力装置１５からのキー入力や通信Ｉ／Ｆ１７を介して受信される入力イベントに応じた処理を実行する。
【００２８】
このコンピュータ装置（サーバ装置）１０において、図示せぬクライアント装置からの入力イベントに応じて生成された様々なデータは外部記憶装置１８に記憶される。また、表示用の画像データは、ＲＡＭ１４に設けられた当該クライアント装置用のフレームバッファを使用して生成され、画像処理回路１９により所定の方式で圧縮処理されて通信Ｉ／Ｆ１７を介してクライアント装置に転送される。
【００２９】
図２は、コンピュータ装置１０に備えられた画像処理回路１９にて行われる表示用画像データの生成処理を説明するための図である。
【００３０】
ＲＡＭ１４には、表示用画像データを記憶するためのフレームバッファとして、３つのフレームバッファ１４ａ，１４ｂ，１４ｃが設けられる。ここで、フレームバッファ１４ｂは、今回の表示更新で生成された変化後の画像データＧ’を記憶するためのものであり、フレームバッファ１４ａは、この今回画像（Ｇ’）の生成によって前回画像となった変化前の画像データＧを記憶する。そして、フレームバッファ１４ｃは、フレームバッファ１４ｂに記憶された画像データＧ’を転送用の画像データとして処理した画像データＧｈｎを記憶する。
【００３１】
すなわち、画像処理回路１９は、ＲＡＭ１４内のフレームバッファ１４ａから読み出された前回（変化前）の表示用画像データＧと、フレームバッファ１４ｂから読み出された今回（変化後）の表示用画像データＧ’とを比較し、今回（変化後）の表示用画像データＧ’における画像の変化部分ｈを抽出する。
【００３２】
また、画像処理回路１９は、今回（変化後）の表示用画像データＧ’の中で未使用の色ｎを検出する。そして、今回（変化後）の表示用画像データＧ’における画像の変化部分ｈをそのままに、それ以外の未変化部分の全画素データを前記未使用の色（透過色）ｎに置換した転送用の画像データＧｈｎを生成する。この転送用の画像データＧｈｎには、所定の圧縮処理が施された後、前記未使用の色（透過色）ｎおよび圧縮方式の情報が付加されて、通信Ｉ／Ｆ１７からクライアント装置へ転送される。
【００３３】
以下に、画像データの特徴量の検出に必要な処理として、「色数の検出処理」を行う場合を想定して、画像処理回路１９の具体的な構成とその処理動作について詳しく説明する。
【００３４】
図３は本発明の第１実施形態におけるコンピュータ装置１０に備えられた画像処理回路１９の回路構成を示すブロック図であり、画像データの色数を検出するための回路構成が示されている。
【００３５】
第１の実施形態において、この画像処理回路１９には、コントローラ１００とメモリ１０１とが設けられている。コントローラ１００は、ＣＰＵ１１からの指示に従って画像処理回路１９内の各回路部の動作を制御し、画像データの色数検出処理を実行する。メモリ１０１は、処理対象となる画像データを記憶する。なお、このメモリ１０１として、図１のＲＡＭ１４を利用することでも良い。
【００３６】
また、この画像処理回路１９には、画像データの色数検出処理に関わる構成要素として、フラグ設定回路１０２、フラグレジスタ１０３、加算回路１０４、色数レジスタ１０５が設けられている。
【００３７】
ここで、フラグレジスタ１０３は、処理対象となる画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させた行列からなる色フラグを記憶する色フラグ記憶手段として機能する。また、フラグ設定回路１０２は、処理対象となる画像データから前記画素データ毎に色の種類を判別し、該当する前記行列からなる色フラグのフラグをオンにする色フラグ設定手段として機能する。そして、加算回路１０４は、このフラグ設定回路１０２によってオンに設定された前記色フラグにおけるフラグの数を計数することにより、前記処理対象となる画像データの色数を算出する計数手段として機能し、その算出結果が色数レジスタ１０５に保存される。
【００３８】
図４は、フラグ設定回路１０２の詳細な構成を示す図である。このフラグ設定回路１０２は、除算回路１０２ａ、商レジスタ１０２ｂ、余りレジスタ１０２ｃ、フラグアドレス算出回路１０２ｄから構成される。除算回路１０２ａには、メモリ１０１から画像データが１画素ずつ入力され、除算回路１０２ａは、その入力された画素データの値を定数（詳細は後述する）で除算する。商レジスタ１０２ｂは、その除算の結果として得られる商の値を格納し、余りレジスタ１０２ｃは、その除算の結果として得られる余りの値を格納する。そして、フラグアドレス算出回路１０２ｄは、それら商レジスタ１０２ｂおよび余りレジスタ１０２ｃに格納された値に基づいてフラグレジスタ１０３のオンにするフラグのアドレスを算出する。
【００３９】
図５は、フラグレジスタ１０３に記憶された色フラグの詳細な構成を示す図である。この色フラグは、画像データを構成する画素データの色の種類毎に１ビットのフラグを対応させたものである。例えば、画素データがＲＧＢ各８ビットずつ計２４ビットで表わされるとすると、色の総数は１６，７７７，２１６色となり、その総数分のフラグが存在する。本実施形態では、この１６，７７７，２１６ビット分のフラグを、図５（Ａ）に示すように、６５，５３６（＝２５６×２５６）行×２５６列の行列からなる色フラグとして構成している。すなわち、色フラグは、例えば第１行目のｆｌｇ［０］は、図５（Ｂ）に示すように、１列目（ビット［０］）がＲ＝０，Ｇ＝０，Ｂ＝０の色に、２列目（ビット［１］）がＲ＝０（１０進），Ｇ＝０（１０進），Ｂ＝１（１０進）の色に、・・・、２５５列目（ビット［２５５］）がＲ＝０（１０進），Ｇ＝０（１０進），Ｂ＝２５５（１０進）の色に、というように、各フラグが画素データの色の種類毎に対応している。
【００４０】
フラグ設定回路１０２の除算回路１０２ａにおける除算の際に使用する定数は、この色フラグの１行のビット数に相当する。従って、本実施形態では、「２５６」である。
【００４１】
なお、色フラグの１行のビット数は前記２５６に限定するものでないことは勿論であり、色フラグの列数および除算の定数は、色フラグの１行のビット数に応じて決まるものである。
【００４２】
図６は、加算回路１０４の詳細な構成を示す図である。この加算回路１０４は、ビット列加算回路１０４ａと列和算出回路１０４ｂとから構成される。ビット列加算回路１０４ａは、前記行列からなる色フラグの行におけるオンになった列のフラグの和を、行の数だけ順次算出する。また、列和算出回路１０４ｂは、そのビット列加算回路１０４ａで算出した行の数だけの和を加算することで、画像データにおける色数を算出する。
【００４３】
次に、第１実施形態の動作について説明する。  
図７は、第１実施形態における画像処理回路１９の色数検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理回路１９に備えられたコントローラ１００によって実行される。
【００４４】
まず、コントローラ１００は、フラグレジスタ１０３の各色の種類に対応したフラグの値をすべてオフ、本実施形態では“０”、に初期化しておく（ステップＳ１）。
【００４５】
そして、コントローラ１００は、メモリ１０１から１画素の画素データを読み出してフラグ設定回路１０２に与えて、フラグ設定回路１０２により、フラグレジスタ１０３の色フラグのその画素データの色に対応するフラグをオン、本実施形態では“１”、に設定させる（ステップＳ２）。すなわち、フラグ設定回路１０２では、除算回路１０２ａにより、読み込まれた画素データを定数、本実施形態では“２５６”で除算し、求めた商と余りを商レジスタ１０２ｂと余りレジスタ１０２ｃに格納する。そして、フラグアドレス算出回路１０２ｄは、それら商レジスタ１０２ｂおよび余りレジスタ１０２ｃに格納された値に基づいてフラグレジスタ１０３のオンにするフラグのアドレスを算出して、フラグレジスタ１０３の色フラグにおける当該アドレスのフラグを“１”に設定する。
【００４６】
この様子を図８に示す。  
図８は、フラグ設定回路１０２の動作を説明するためのフラグレジスタ１０３の色フラグへのフラグ設定結果の一例を示す図である。例えば、読み出した画素データがＲＧＢ＝５１６（１０進）（すなわち、Ｒ＝００００００００（２進）、Ｇ＝００００００１０（２進）、Ｂ＝０００００１００（２進））であったとすると、除算回路１０２ａは５１６／２５６の計算を行ない、その結果として、商レジスタ１０２ｂには「２」が、余りレジスタ１０２ｃには「４」が、それぞれ格納される。よって、フラグアドレス算出回路１０２ｄは、図８に示すように、色フラグのｆｌｇ［２］の４列目（ビット［３］）のフラグを示すアドレスを発生する。このアドレスをフラグレジスタ１０３に与えることで、該当するフラグが“１”に設定される。
【００４７】
その後、コントローラ１００は、メモリ１０１に記憶した画像データの全画素に対する処理が終了したか否かを判別する（ステップＳ３）。未だ全画素分の処理が終了していなければ、前記ステップＳ２に戻って、次の１画素に対する処理を繰り返す。
【００４８】
而して、メモリ１０１に記憶した画像データの全画素分の処理が終了したならば、コントローラ１００は、フラグレジスタ１０３の色フラグにおいて、前記フラグ設定回路１０２によってオンに設定されたフラグの数を、加算回路１０４に計数させることにより色数を算出する（ステップＳ４）。すなわち、加算回路１０４では、ビット列加算回路１０４ａにより、行列からなる色フラグの行におけるオンになった列のフラグの和を、行の数だけ順次算出し、列和算出回路１０４ｂによって、そのビット列加算回路１０４ａで算出した行の数だけの和を加算することで、画像データにおける色数を算出する。
【００４９】
この様子を図９に示す。  
図９は、加算回路１０４の色数計算動作を説明するための図である。ビット列加算回路１０４ａは、色フラグの１行分のフラグを先頭（ビット［０］）からフラグの状態を読み込んでいき、“１”が立っている毎に＋１カウントしていくことで、当該行において“１”が立っている数を計数する。これを、色フラグの行数分、繰り返す。これにより、例えば、色フラグのｆｌｇ［０］において“１”が立っている数として「３」、色フラグのｆｌｇ［１］において“１”が立っている数として「５」、・・・、色フラグのｆｌｇ［６５５３５］において“１”が立っている数として「２」、というように、各行におけるオンになった列のフラグの和を順次算出することができる。各行の算出結果は、順次、列和算出回路１０４ｂに与えられ、列和算出回路１０４ｂでは、それら順次与えられた算出結果を合計することで、画像データにおける色数を求めることができる。
【００５０】
そして、コントローラ１００は、この加算回路１０４の列和算出回路１０４ｂの値を当該画像データの色数として色数レジスタ１０５にセットし（ステップＳ５）、ここでの処理を終了する。
【００５１】
色数レジスタ１０５にセットされた色数は、例えば画像データの圧縮処理の判断に用いられる。すなわち、コンピュータ装置１０では、クライアント装置に転送する画像データの色数が所定数より多い場合に当該画像データを圧縮してから転送する。
【００５２】
このように、第１実施形態によれば、画像データの色数を検出する場合において、色を表す２４ビットのデータを色フラグの各ビットで表し、対応するフラグを立てることで以前に入力されて検出済みの色かどうかを判別するので、色を表す２４ビットのＲＧＢデータ自体を、色の種類毎に記憶する度数レジスタが不要となるので、メモリ使用量の削減が可能となる。
【００５３】
図１０は、従来の方法と第１実施形態におけるメモリ使用量を説明するための図である。
【００５４】
すなわち、従来の色の種類毎の度数レジスタに全ての画素に関して１画素ずつカウントした色数を格納していく方法では、図１０（Ａ）に示すように、度数レジスタは、２４ビット×１６，７７７，２１６色＝４０２，６５３，１８４ビット（約５０メガバイト）もメモリ容量が必要となってしまう。
【００５５】
これに対して、本第１実施形態のように、検出済みかどうかをフラグによって判断する構成を採用すると、図１０（Ｂ）に示すように、２５６ビット×６５，５３６行＝１６，７７７，２１６ビット（約２メガバイト）のメモリ使用量で済む。
【００５６】
このように、本第１実施形態では、メモリ使用量を従来の２４分の１に削減することができるため、非常に効果的である。
【００５７】
また、画素データの値を行列からなる色フラグの１行のビット数で除算した結果の商と余りとから、オンにする色フラグのフラグを決定するようにしたので、簡単な構成で高速な決定が可能となる。
【００５８】
さらに、行列からなる色フラグの行におけるオンになった列のフラグの和を、行の数だけ順次算出し、その算出した行数分の和を加算することで、処理対象となる画像データの色数を算出するようにしたので、単純な計数処理で高速に色数を算出できる。
【００５９】
［第２実施形態］
前記第１実施形態では、画素データを１画素ずつ処理する場合の処理を示したが、複数画素同時に処理することも可能である。
【００６０】
図１１は、本発明の第２実施形態に係る画像処理装置をコンピュータ装置に適用した場合の画像処理回路の回路構成を示すブロック図であり、画像データの色数を検出するための回路構成を示す図である。
【００６１】
すなわち、本第２実施形態では、画像処理回路１９は、４つのフラグ設定回路１０２Ａ〜１０２Ｄを備えている。また、これらフラグ設定回路１０２Ａ〜１０２Ｄは、何れも、図４に示したような前記第１実施形態におけるフラグ設定回路１０２の構成と同様の回路構成を有している。それ以外のコンピュータ装置１０、画像処理回路１９の構成は、前記第１実施形態と同様である。
【００６２】
動作に関しては、本実施形態では、前記のステップＳ２において、コントローラ１００は、メモリ１０１から４画素の画素データを読み出して、それぞれ１画素ずつフラグ設定回路１０２Ａ〜１０２Ｄに同時に与えて、各フラグ設定回路１０２Ａ〜１０２Ｄで独立に、フラグレジスタ１０３の色フラグのその画素データの色に対応するフラグをオン（“１”）に設定させる。
【００６３】
これにより、本第２実施形態は、前記第１実施形態と同様の効果を奏するだけでなく、さらに、複数画素データを並列に処理することで処理時間の短縮化が図れる。従って、例えばシンクライアントシステムにおいて、コンピュータ装置１０（サーバ装置）からクライアント装置に表示用の画像データを転送する際に、その画像データの色数に応じた処理を施してから送る場合でも時間をかけずに効率的に処理して速やかに送ることが可能となる。
【００６４】
さらに、処理時間の短縮化に伴い、消費電力を低減できるといった効果もある。
【００６５】
なお、同時処理される画素数は４画素に限定されるものではなく、フラグ設定回路を適宜設けることで、任意の画素数を同時に処理させることができることは勿論である。
【００６６】
また、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【００６７】
１０…コンピュータ装置
１１…ＣＰＵ
１２…システムバス
１３…ＲＯＭ
１４…ＲＡＭ
１４ａ，１４ｂ，１４ｃ…フレームバッファ
１５…入力装置
１６…表示装置
１７…通信Ｉ／Ｆ（インターフェイス）
１８…外部記憶装置
１９…画像処理回路
１００…コントローラ
１０１…メモリ
１０２，１０２Ａ〜１０２Ｄ…フラグ設定回路
１０２ａ…除算回路
１０２ｂ…商レジスタ
１０２ｃ…余りレジスタ
１０２ｄ…フラグアドレス算出回路
１０３…フラグレジスタ
１０４…加算回路
１０４ａ…ビット列加算回路
１０４ｂ…列和算出回路
１０５…色数レジスタ
【図１】
2011019184.tif 000003
【図２】
2011019184.tif 000004
【図３】
2011019184.tif 000005
【図４】
2011019184.tif 000006
【図５】
2011019184.tif 000007
【図６】
2011019184.tif 000008
【図７】
2011019184.tif 000009
【図８】
2011019184.tif 000010
【図９】
2011019184.tif 000011
【図１０】
2011019184.tif 000012
【図１１】
2011019184.tif 000013