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