JP5223762B2 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP5223762B2
JP5223762B2 JP2009094156A JP2009094156A JP5223762B2 JP 5223762 B2 JP5223762 B2 JP 5223762B2 JP 2009094156 A JP2009094156 A JP 2009094156A JP 2009094156 A JP2009094156 A JP 2009094156A JP 5223762 B2 JP5223762 B2 JP 5223762B2
Authority
JP
Japan
Prior art keywords
pixel
pixels
color
data
color data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009094156A
Other languages
English (en)
Other versions
JP2010244410A (ja
Inventor
由紀 吉濱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2009094156A priority Critical patent/JP5223762B2/ja
Publication of JP2010244410A publication Critical patent/JP2010244410A/ja
Application granted granted Critical
Publication of JP5223762B2 publication Critical patent/JP5223762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本発明は、例えばPC(personal computer)において、画像データの色数等を検出する場合に用いて好適な画像処理装置及び画像処理方法に関する。
画像処理を行う場合に、その処理対象となる画像データの色数を検出することがある。例えば、画像データの色数に応じて圧縮処理を行う場合などである。また、シンクライアントシステムにおいて、サーバ装置からクライアント装置に対して画像データを転送する際にも必要となる。
シンクライアントシステムとは、「サーバベースコンピューティング(SBC:Server Based Computing)システム」とも呼ばれ、サーバ装置とクライアント装置がLAN(Local Area Network)等のネットワークを介して接続されたネットワークシステムにおいて、クライアント装置にて入出力・表示される全てのアプリケーションプログラムをサーバ装置上で動作させるようにしたものである。
このようなシンクライアントシステムでは、クライアント装置の操作入力に応じてサーバ装置側で処理更新される表示用の画像データが該サーバ装置からその画像更新の都度クライアント装置へと転送されて表示される。このため、サーバ装置では、ネットワーク上の複数のクライアント装置からの操作入力に応じた各処理を支障なく行うために、画像データの転送を如何に効率良く行うかかが重要になってくる。
そこで、サーバ装置からクライアント装置へ画像データを転送する際に、前回の画像データに対して今回の画像データの変化部分を抽出すると共に、未変化部分の全ての画素データを透過色として一律に設定して転送することが考えられている。
画像データの未変化部分の全ての画素データを透過色として一律に設定するとは、当該画像データで使用されている色以外の未使用色を設定することである。サーバ装置から転送する画像データに透過色(未使用色)が何色あるのかを示す情報を付加しておくことで、クライアント装置では当該透過色に設定された画像部分の書き替え処理を省略することができる。
ここで、画像データの色数を検出する場合に、通常、その画像データを構成する各画素の1つ1つを読み出し、これらの画素の色データを個々に比較しながら、積分器を用いて各色データ毎にカウントしていくといった方法が一般的である(例えば、特許文献1参照)。
特開2001−352558号公報
しかしながら、従来のように画像データの各画素の1つ1つの色データを個々に比較する方法では、全ての画素をチェックするまでに時間を要する。特に、画像データのサイズが大きいと、その分だけ全ての画素の処理を完了するまで時間がかかり、例えばシンクライアントシステムにおいて、サーバ装置からクライアント装置へ表示用の画像データを転送するような場合に遅れが生じてしまうなどの問題がある。
本発明は前記のような点に鑑みなされたもので、画像データの特徴量の検出に必要な処理を短縮化することのできる画像処理装置及び画像処理方法を提供することを目的とする。
本発明の請求項1に係る画像処理装置は、画像データを記憶する画像記憶手段と、この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、このフラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、この処理対象選出手段によって選出された画素に基づいて、前記画像データの特徴量の検出に必要な処理を実行する処理実行手段とを具備したことを特徴とする。
本発明の請求項2に係る画像処理装置は、画像データを記憶する画像記憶手段と、この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、このフラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、画素の色データを格納するデータ格納手段と、前記処理対象選出手段によって選出された画素の色データを前記データ格納手段に格納された色データと比較し、異なる場合に当該画素の色データを新規の色データとして前記データ格納手段に格納する比較手段と、この比較手段によって前記データ格納手段に格納された色データの数を当該画像データの色数として計数する計数手段とを具備したことを特徴とする画像処理装置。
本発明の請求項3に係る画像処理装置は、画像データを記憶する画像記憶手段と、この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定手段と、前記フラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、この処理対象選出手段によって選出された画素の色データをRGBの各色成分に分解するRGB分解手段と、RGBの各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のデータ格納手段と、前記RGB分解手段によって分解されたRGBの各色成分の値に基づいて、前記各データ格納手段の中の該当する使用数を前記同時入力色設定手段によって設定された数を加味して計数する計数手段とを具備したことを特徴とする。
本発明の請求項4に係る画像処理装置は、画像データを記憶する画像記憶手段と、この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定手段と、前記フラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、この処理対象選出手段によって選出された画素の色データをRGBの各色成分に分解するRGB分解手段と、このRGB分解手段によって分解されたRGBの各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算手段と、色相・彩度・明度の各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のデータ格納手段と、前記演算手段によって得られた色相・彩度・明度の各色成分の値に基づいて、前記各データ格納手段の中の該当する使用数を前記同時入力色設定手段によって設定された数を加味して計数する計数手段とを具備したことを特徴とする。
本発明の請求項5に係る画像処理装置は、前記請求項1乃至4のいずれか1つに記載の画像処理装置において、前記画素比較手段によって処理対象として読み出す画素数の単位は、少なくとも2つ以上であることを特徴とする。
本発明の請求項6に係る画像処理方法は、画像データを記憶するメモリを備えたコンピュータに用いられる画像処理方法であって、前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ値があるか否かを示すフラグを設定するフラグ設定ステップと、このフラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ値を持たない画素を処理対象として選出する処理対象選出ステップと、この処理対象選出ステップによって選出された画素について、前記画像データの特徴量を検出するための処理を実行する処理実行ステップとを有することを特徴とする。
本発明の請求項7に係る画像処理方法は、画像データを記憶するメモリと、画素の色データを格納するレジスタとを備えたコンピュータに用いられる画像処理方法であって、前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、このフラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、前記処理対象選出ステップによって選出された画素の色データを前記レジスタに格納された色データと比較し、異なる場合に当該画素の色データを新規の色データとして前記レジスタに格納する比較ステップと、この比較ステップによって前記レジスタに格納された色データの数を当該画像データの色数として計数する計数ステップとを有することを特徴とする画像処理方法。
本発明の請求項8に係る画像処理方法は、画像データを記憶するメモリと、RGBの各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のレジスタとを備えたコンピュータに用いられる画像処理方法であって、前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定ステップと、前記フラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、この処理対象選出ステップによって選出された画素の色データをRGBの各色成分に分解するRGB分解ステップと、前記RGB分解ステップによって分解されたRGBの各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップとを有することを特徴とする画像処理方法。
本発明の請求項9に係る画像処理方法は、画像データを記憶するメモリと、色相・彩度・明度の各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のレジスタとを備えたコンピュータに用いられる画像処理方法であって、前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定ステップと、前記フラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、この処理対象選出ステップによって選出された画素の色データをRGBの各色成分に分解するRGB分解ステップと、このRGB分解ステップによって分解されたRGBの各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算ステップと、前記演算ステップによって得られた色相・彩度・明度の各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップとを有することを特徴とする。
本発明によれば、画像の色数の検出処理の他、画像のRGBのヒストグラムの検出処理、画像の色相・彩度・明度のヒストグラムの検出処理など、画像データの特徴量の検出に必要な処理を行う場合において、所定数の画素を比較し、同じ色データを有するものを除外してから画像データの特徴量の検出に必要な処理を行うようにしたため、全ての画素を1つ1つ処理しいく場合に比べて処理時間を短縮化することができる。
特に、前記所定数の各画素の色データを比較する際に、これらの全てを同時に比較する構成ではなく、各画素に分けて、それぞれに個別に他の画素と順次比較する構成とし、それぞれに色データの値が一致した場合にそれ以降の比較処理を行わないようにしたことで、同時入力の画素数が多くなった場合に回路規模を大幅に削減することができる。その結果、同時入力の画素数が増えても高速処理でき、それに伴い、消費電力を削減することができるなどの効果が奏せられる。
図1は本発明の第1の実施形態に係る画像処理装置をコンピュータ装置に適用した場合の回路構成を示すブロック図である。 図2は同実施形態におけるコンピュータ装置に備えられた画像処理ボードにて行われる表示用画像データの生成処理を説明するための図である。 図3は同実施形態におけるコンピュータ装置に備えられた画像処理ボードの回路構成を示すブロック図であり、画像データの色数を検出するための回路構成を示す図である。 図4は同実施形態における画像処理ボードの画素処理回路の詳細な構成を示す図である。 図5は同実施形態における画像処理ボードの色数検出処理の流れを示すフローチャートである。 図6は同実施形態における画像処理ボードの画素処理回路の画素比較動作を示す図である。 図7は同実施形態における画像処理ボードの同時入力画素の構成を示す図である。 図8は同実施形態における画像処理ボードのフラグレジスタのフラグ設定結果を示す図である。 図9は同実施形態における画像処理ボードの比較回路による入力色の比較処理を示す図である。 図10は本発明の第2の実施形態におけるコンピュータ装置に備えられた画像処理ボードの回路構成を示すブロック図であり、画像データのRGBヒストグラムを検出するための回路構成を示す図である。 図11は同実施形態における画像処理ボードのRGBヒストグラム検出処理の流れを示すフローチャートである。 図12は同実施形態における同時入力色レジスタの数値設定動作を示す図である。 図13は同実施形態におけるRGB分解回路のRGB分解動作を示す図である。 図14は同実施形態におけるRレジスタ,Gレジスタ,Bレジスタの数値設定動作を示す図である。 図15は同実施形態におけるRGBヒストグラムの一例を示す図であり、図15(a)はR成分のヒストグラム、同図(b)はG成分のヒストグラム、同図(c)はB成分のヒストグラムの一例を示す図である。 図16は本発明の第3の実施形態におけるコンピュータ装置に備えられた画像処理ボードの回路構成を示すブロック図であり、画像データの色相・彩度・明度のヒストグラムを検出するための回路構成を示す図である。 図17は同実施形態における画像処理ボードの彩度・色相・明度ヒストグラム検出処理の流れを示すフローチャートである。 図18は同実施形態における色相レジスタ,彩度レジスタ,明度レジスタの数値設定動作を示す図であり、図18(a)は色相レジスタの一例、同図(b)は彩度レジスタの一例、同図(c)は明度レジスタの一例を示す図である。
以下、図面を参照して本発明の実施形態を説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係る画像処理装置をコンピュータ装置10に適用した場合の回路構成を示すブロック図である。
本実施形態におけるコンピュータ装置10は、例えばシンクライアントシステムにおけるサーバ装置として使用されるものである。このコンピュータ装置10は、装置全体の制御を行うCPU11を備える。CPU11には、システムバス12を介してROM13、RAM14、入力装置15、表示装置16、通信I/F(インターフェイス)17、外部記憶装置18、画像処理ボード19、媒体読取り装置20が接続される。
CPU21は、ROM13に予め記憶されているプログラム、あるいは、外部記録媒体20aから媒体読取り装置20を介して読み取られたプログラム、あるいは、ネットワークを介して外部のサーバから提供されたプログラムを読み込み、そのプログラムに記述された手順に従って各種処理を実行する。
ROM13には、CPU11を起動するためのプログラムを含む各種データが予め記憶されている。RAM14は、CPU11の作業領域として用いられ、CPU11の動作に必要な各種データを記憶する。
また、このRAM14には、アプリケーションプログラムの起動に伴い、図示せぬクライアント装置からの入力イベントに応じて生成される表示用の画像データをフレーム単位で記憶するためのクライアント用フレームバッファとして、3つのフレームバッファ14a,14b,14cが設けられている。なお、これらのフレームバッファ14a,14b,14cについては図2を参照して後述する。
入力装置15は、例えばキーボード、マウスなどの入力デバイスからなり、オペレータが各種データの入力や指示を行う場合に用いられる。表示装置16は、各種データを表示するものであり、例えばCRT(Cathode-ray tube)やLCD(Liquid Crystal Display)などからなる。
通信I/F17は、ネットワークを介して接続されたクライアント装置との間のデータの送受信処理を行う。画像処理ボード19は、クライアント装置に転送する表示用の画像データに対する様々な画像処理を行う部分であり、本発明の画像処理装置に相当する。この画像処理ボード19は、画像データの特徴量の検出に必要な処理を実行する。
ここで、画像データの特徴量の検出に必要な処理とは、具体的には、後述する「色数の検出処理」、「RGBのヒストグラム検出処理」、「色相・彩度・明度のヒストグラム検出処理」である。
外部記憶装置18は、各データの保存記憶用として用いられる。媒体読取り装置20は、外部記録媒体20aに記録されたデータを読み取る。外部記録媒体20aとしては、例えば磁気ディスク、光ディスク、フレシキブルディスク、メモリカードなどがある。
このような構成において、CPU11は、ROM13に予め記憶されたシステムプログラムやアプリケーションプログラムに従ってRAM14を作業用メモリとして回路各部の動作を制御し、入力装置15からのキー入力や通信I/F17を介して受信される入力イベントに応じた処理を実行する。
このコンピュータ装置(サーバ装置)10において、図示せぬクライアント装置からの入力イベントに応じて生成された様々なデータは外部記憶装置18に記憶され、また、表示用の画像データはRAM14に設けられたフレームバッファ14a,14b,14cを使用して生成され、画像処理ボード19により所定の方式で圧縮処理されて通信I/F17を介してクライアント装置に転送される。
図2はコンピュータ装置10に備えられた画像処理ボード19にて行われる表示用画像データの生成処理を説明するための図である。
RAM13には、表示用画像データを記憶するためのフレームバッファとして、今回の表示更新で生成された変化後の画像データG′を記憶するためのフレームバッファ14b、この今回画像(G′)の生成によって前回画像となった変化前の画像データGを記憶するためのフレームバッファ14a、そして、フレームバッファ14bに記憶された画像データG′を転送用の画像データとして処理した画像データGhnを記憶するためのフレームバッファ14cが設けられる。
すなわち、画像処理ボード19は、図2(a)に示すように、RAM13内のフレームバッファ14aから読み出された前回(変化前)の表示用画像データGと、同図(b)に示すように、フレームバッファ14bから読み出された今回(変化後)の表示用画像データG′とを比較し、今回(変化後)の表示用画像データG′における画像の変化部分hを抽出する。
また、画像処理ボード19は、今回(変化後)の表示用画像データG′の中で未使用の色データnを検出する。そして、同図(c)に示すように、今回(変化後)の表示用画像データG′における画像の変化部分hをそのままに、それ以外の未変化部分の全画素データを前記未使用の色データ(透過色)nに置換した転送用の画像データGhnを生成する。この転送用の画像データGhnには、所定の圧縮処理が施された後、前記未使用の色データ(透過色)nおよび圧縮方式の情報が付加されて通信I/F17からクライアント装置へ転送される。
以下に、画像データの特徴量の検出に必要な処理として、「色数の検出処理」を行う場合を想定して、画像処理ボード19の具体的な構成とその処理動作について詳しく説明する。
図3は本発明の第1の実施形態におけるコンピュータ装置10に備えられた画像処理ボード19の回路構成を示すブロック図であり、画像データの色数を検出するための回路構成が示されている。
第1の実施形態において、この画像処理ボード19には、コントローラ100とメモリ101が設けられている。コントローラ100は、CPU11からの指示に従って画像処理ボード19内の各回路部の動作を制御し、画像データの色数検出処理を実行する。メモリ101は、処理対象となる画像データを記憶する。なお、このメモリ101として、図1のRAM14を利用することでも良い。
また、この画像処理ボード19には、画像データの色数検出処理に関わる構成要素として、画素処理回路102〜108、フラグレジスタ109、フラグ判定回路110〜116、比較回路117〜124、入力色格納レジスタ125、カウンタ126、色数レジスタ127が設けられている。
画素処理回路102〜108は、メモリ101に記憶された画像データから所定数の画素を順次読み出し、これらの画素間で同じ値の色データがあるか否かを各画素毎に並列的にチェックする。なお、色データとは、ここではRGBのことであり、例えば各色毎に8ビットのデータで構成される。
この画素処理回路102〜108は、(同時入力画素数−1)の数だけ設けられている。図3の例では、A〜Hで示される8画素の単位で同時入力する構成であり、そのうちのA〜Gの画素に対応した7つの画素処理回路102〜108が設けられている。
図4に画素処理回路102〜108の詳細な構成を示す。
A画素処理回路102は、A画素を基準として、他の画素との間で色データの比較処理を行う。このA画素処理回路102は、A画素比較回路102aと、一致判定回路102bと、フラグ判定回路102cとからなる。
A画素比較回路102aは、A画素と他の画素(B〜H画素)との間で色データを比較する。一致判定回路102bは、A画素比較回路102aの比較結果を受けて色データが一致したか否かを判定する。フラグ判定回路102cは、一致判定回路102bの判定結果を受けて、A画素に対応したフラグをフラグレジスタ109に設定する。この場合、フラグレジスタ109の各フラグのデェフォルトは“1”であり、A画素の色データが他の画素と一致した時点で、Aフラグが“0”に設定されて、A画素処理回路102の処理動作が終了する。色データが一致しなければ、A画素比較回路102aに戻って次の画素との比較が行われる。
他の画素処理回路103〜108についても同様である。
すなわち、B画素処理回路103は、B画素を基準として、他の画素との間で色データの比較処理を行う。ただし、A画素との比較は上位の画素処理回路102で行われているので、A画素を除く、C〜H画素の色データと比較することになる。そして、B画素の色データが他の画素と一致した時点で、フラグレジスタ109のB画素に対応したフラグが“0”に設定される。
C画素処理回路104は、C画素を基準として、他の画素との間で色データの比較処理を行う。ただし、A画素,B画素との比較は上位の画素処理回路102,103で行われているので、A画素,B画素を除く、D〜H画素の色データと比較することになる。そして、C画素の色データが他の画素と一致した時点で、フラグレジスタ109のC画素に対応したフラグが“0”に設定される。
D画素処理回路105は、D画素を基準として、他の画素との間で色データの比較処理を行う。ただし、A画素,B画素,C画素との比較は上位の画素処理回路102,103,104で行われているので、A画素,B画素,C画素を除く、E〜H画素の色データと比較することになる。そして、D画素の色データが他の画素と一致した時点で、フラグレジスタ109のC画素に対応したフラグが“0”に設定される。
E画素処理回路106は、E画素を基準として、他の画素との間で色データの比較処理を行う。ただし、A画素,B画素,C画素,D画素との比較は上位の画素処理回路102,103,104,105で行われているので、A画素,B画素,C画素,D画素を除く、F〜H画素の色データと比較することになる。そして、E画素の色データが他の画素と一致した時点で、フラグレジスタ109のC画素に対応したフラグが“0”に設定される。
F画素処理回路107は、F画素を基準として、他の画素との間で色データの比較処理を行う。ただし、A画素,B画素,C画素,D画素,E画素との比較は上位の画素処理回路102,103,104,105で行われているので、A画素,B画素,C画素,D画素,E画素を除く、G〜H画素の色データと比較することになる。そして、F画素の色データが他の画素と一致した時点で、フラグレジスタ109のC画素に対応したフラグが“0”に設定される。
G画素処理回路108は、G画素を基準として、他の画素との間で色データの比較処理を行う。ただし、A画素,B画素,C画素,D画素,E画素,F画素との比較は上位の画素処理回路102,103,104,105で行われているので、A画素,B画素,C画素,D画素,E画素,F画素を除く、H画素の色データと比較することになる。そして、F画素の色データが他の画素と一致した時点で、フラグレジスタ109のC画素に対応したフラグが“0”に設定される。
また、図3において、フラグレジスタ109は、同時入力されたA〜H画素に対応したフラグを格納する。各フラグは、1ビットからなり、“1”のとき「同一色なし」、“0”のとき「同一色あり」を示す。
フラグ判定回路110〜116は、フラグレジスタ109に設定されたA〜G画素に対応したフラグの値(“1”か“0”)を判定する。なお、H画素に対応したフラグは常に“1”である。
比較回路117〜124は、各画素毎に既に入力色格納レジスタ125に入力された色データと比較を行うものであり、A比較回路117は、Aフラグ判定回路110によってA画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素Aの色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
他の比較回路110〜124についても同様である。すなわち、B比較回路118は、Bフラグ判定回路111によってB画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、そのB画素の色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
C比較回路119は、Cフラグ判定回路112によってC画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、そのC画素の色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
D比較回路120は、Dフラグ判定回路113によってD画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、そのD画素の色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
E比較回路121は、Eフラグ判定回路114によってE画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、そのE画素の色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
F比較回路122は、Fフラグ判定回路115によってF画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、そのF画素の色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
G比較回路123は、Gフラグ判定回路116によってG画素のフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、そのG画素の色データを既に入力色格納レジスタ125に入力された画素の色データと比較する。
なお、H画素のフラグは常に“1”であるので、H比較回路124については、常に既に入力色格納レジスタ125に入力された画素の色データとの比較を行うように構成されている。
また、入力色格納レジスタ125は、比較回路117〜124に基づいて各画素の色データを格納する。カウンタ126は、入力色格納レジスタ125に格納された色データの数をカウントする。色数レジスタ127は、カウンタ126によってカウントされた数を当該画像データの色数として格納する。
次に、第1の実施形態の動作について説明する。
図5は第1の実施形態における画像処理ボード19の色数検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
まず、コントローラ100は、フラグレジスタ109の各画素に対応したフラグの値をすべて“1”に初期化しておく(ステップS101)。そして、コントローラ100は、メモリ101から所定数(ここでは8つ)の画素データを読み出して画素処理回路102〜108に与える(ステップS102)。
ここで、コントローラ100は、画素処理回路102〜108のそれぞれを起動し、メモリ101から読み出された各画素毎に色データの比較処理を並列的に行う(ステップS103a,S103b…S103g)。
この様子を図6乃至図8に示す。
図6は画素処理回路102〜108の処理動作を示すフローチャート、図7は同時入力画素の構成、図8はフラグレジスタ109のフラグ設定結果を示す図である。
今、図7に示すように、同時入力画素数を8つとし、これらの画素データをA〜Hとする。A画素処理回路102では、A画素を基準とし、そのA画素と他の画素の色データとの間で色データの比較を行い、B画素処理回路103では、B画素を基準とし、そのB画素と他の画素の色データとの間で色データの比較を行うといったように、それぞれに個別に色データの比較を行う。その際、画素処理回路102〜108の間で比較対象とする画素の組み合わせが重複しないように、A画素から順に他の画素処理回路で比較した画素を除外して色データの比較を行う。
すなわち、図6に示すように、A画素処理回路102では、まず、A画素とB画素を比較して、色データが一致するか否かを判断する。ここで、A画素とB画素との間で色データが一致すれば、図8に示すフラグレジスタ109のA画素に対応したフラグを“0”にする。この場合、色データが一致した時点で比較処理を終了して、それ以降の画素の比較を行わない。
一方、A画素とB画素との間で色データが一致しなければ、続いてA画素とC画素を比較して、色データが一致するか否かを判断する。そして、A画素とB画素との間で色データが一致すれば、A画素に対応したフラグを“0”にして比較処理を終了する。一致しなければ、次にD画素との比較を行う。
このように、A画素処理回路102では、A画素を基準にして、A画素−B画素,A画素−C画素,A画素−D画素,A画素−E画素,A画素−F画素,A画素−G画素,A画素−H画素の比較を順に行い、その途中で色データが一致すれば、A画素に対応したフラグを“0”にして比較処理を終了する。
他の画素処理回路102〜108でも同様である。ただし、画素の組み合わせが重複しないように、A画素から順に除外して色データの比較を行う。
すなわち、B画素処理回路103では、B画素を基準にして他の画素と比較するが、その際にA画素を除外する。これは、A画素−B画素の組み合わせは、既にA画素処理回路102で行われているからである。したがって、B画素処理回路103では、B画素−C画素,B画素−D画素,B画素−E画素,B画素−F画素,B画素−G画素,B画素−H画素の比較を順に行い、その途中で色データが一致すれば、B画素に対応したフラグを“0”にして比較処理を終了する。
また、C画素処理回路104では、A画素とB画素を除外して、C画素−D画素,C画素−E画素,C画素−F画素,C画素−G画素,C画素−H画素の比較を順に行い、その途中で色データが一致すれば、C画素に対応したフラグを“0”にして比較処理を終了する。最終的に、G画素処理回路108では、G画素とH画素との比較のみを行うことになる。G画素とH画素との色データが一致すれば、G画素に対応したフラグを“0”にして比較処理を終了する。
なお、H画素については、他の画素との比較はなく、そのフラグは常に“1”である。したがって、8画素とも同じ色であれば、フラグレジスタ109の値は「00000001」となる。また、8画素とも異なる色であれば、フラグレジスタ109の値は「11111111」となる。
図5の説明に戻って、フラグレジスタ109に各画素のフラグが設定されると、コントローラ100は、フラグ判定回路110〜116を起動して(ステップS104a,S104b…S104g)、各画素のフラグの値が“0”である“1”であるかを判定する(ステップS105a,S105b…S105g)。
この場合、フラグが“0”になった画素については、同時入力された各画素の中に同じ色データを持つ画素があるということなので、比較処理を行う必要がない。したがって、コントローラ100は、フラグが“1”の画素についてのみ処理対象として選出する(ステップS106a,S106b…S106g)。
そして、コントローラ100は、比較回路117〜124を起動して、当該画素の色データの値と入力色格納レジスタ125に既にセットされている色データの値とを比較する(ステップS107a,S107b…S107g,S107h)。その結果、以前に入力された画素の色データと一致しなければ(ステップS108aのNo,S108bのNo…S108gのNo,S108hのNo)、コントローラ100は、その色データを新規の色データとして入力色格納レジスタ125にセットする(ステップS109a,S109b…S109g,S109h)。
なお、H画素のフラグは常に“1”であるので、H比較回路124では、常に入力色格納レジスタ125との比較を行うことになる。
この様子を図9に示す。
図9は比較回路117〜124による入力色の比較処理を示す図である。例えば、フラグレジスタ109の値が「00100111」であった場合、A画素,B画素,D画素,E画素については、他のいずれかの画素と同じ色データを有するということなので、比較処理は行わない。つまり、この例では、C画素,F画素,G画素,H画素が処理対象となる。
まず、C画素について、入力色格納レジスタ125に既にセットされている色データの値と比較する。一致する場合には、その色データは既に存在しているので、次のF画素について比較処理を行う。一致しない場合には、新規の色データということになるので、その色データを入力色格納レジスタ125にセットする。G画素,H画素についても同様である。
なお、同時に入力された各画素の色データが全て同じ値であった場合(「00000001」)には、H画素のみを入力色格納レジスタ125に既にセットされている色データの値と比較することになる。
図5の説明に戻って、入力色格納レジスタ125に新規の色データがセットされると、コントローラ100は、カウンタ126を+1カウントアップする(ステップS110a,S110b…S110g,S110h)。
以後、画像データから8画素ずつ順次読み出し、前記同様の処理を繰り返し行う。全画素の処理が終了すると(ステップS111のYes)、コントローラ100は、カウンタ126の値を当該画像データの色数として色数レジスタ127にセットし(ステップS112)、ここでの処理を終了する。
色数レジスタ127にセットされた色数は、例えば画像データの圧縮処理の判断に用いられる。すなわち、コンピュータ装置10では、クライアント装置に転送する画像データの色数が所定数より多い場合に当該画像データを圧縮してから転送する。
このように、第1の実施形態によれば、画像データの色数を検出する場合において、所定数単位で各画素のデータを入力し、これらの画素の中で同じ色データを持つ画素を除外してから色数の検出処理を行うようにしたことで、画像中の全ての画素の色データを1つ1つ調べていく場合に比べ、処理時間を大幅に短縮することができる。
特に、前記所定数の各画素の色データを比較する際に、これらの全てを同時に比較する構成ではなく、各画素に分けて、それぞれに個別に他の画素と順次比較する構成とし、それぞれに色データの値が一致した場合にそれ以降の比較処理を行わないようにしたことで、同時入力の画素数が多くなった場合に回路規模を大幅に削減できるといった効果が得られる。
すなわち、例えば8画素を同時に比較する構成では、8個から2個を取り出す組み合わせの数、すなわち、(8×7)/(2×1)=28個の画素比較回路が必要となる。これに対し、本手法では、「同時入力画素数−1」、つまり、7個の画素比較回路で対応でき、大幅に回路規模を減らすことができる。
これにより、例えばシンクライアントシステムにおいて、コンピュータ装置10(サーバ装置)からクライアント装置に表示用の画像データを転送する際に、その画像データの色数に応じた処理を施してから送る場合でも時間をかけずに効率的に処理して速やかに送ることが可能となる。
さらに、処理時間の短縮化に伴い、消費電力を低減できるといった効果もある。
なお、前記第1の実施形態では、A〜Hの各画素の中で常にフラグを“1”として比較処理を行う画素をHに固定したが、他の画素であっても良い。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
前記第1の実施形態では、画像データの特徴量の検出に必要な処理として、「色数の検出処理」を行う場合を例にして説明したが、同様の手法にて、「RGBのヒストグラム検出処理」を行うことも可能である。
図10は本発明の第2の実施形態におけるコンピュータ装置10に備えられた画像処理ボード19の回路構成を示すブロック図であり、画像データのRGBヒストグラムを検出するための回路構成が示されている。なお、前記第1の実施形態における図3と同じ部分には同一符号を付して、その説明を省略するものとする。
第2の実施形態において、画像処理ボード19には、コントローラ100、メモリ101、画素処理回路102〜108、フラグレジスタ109、フラグ判定回路110〜116が設けられている。
さらに、この画像処理ボード19には、画像データのRGBヒストグラム検出処理に関わる構成要素として、同時入力色レジスタ200、RGB分解回路201〜207,208、Rレジスタ209、Gレジスタ210、Bレジスタ211、カウンタ212〜214が設けられている。
同時入力色レジスタ200は、A〜Gの各画素に対応したレジスタ群からなり、これらの画素の中で同じ色を有することを示す情報(ここでは数値「1」)を格納する。
RGB分解回路201〜207,208は、同時入力された各画素に対応して設けられている。このうち、A〜Gの各画素に対応したRGB分解回路201〜207は、それぞれに対応したフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素の色データをRGBの各色成分に分解する。なお、RはRED(赤色)、GはGREEN(緑色)、BはBLUE(青色)であり、それぞれに8ビットのデータからなり、0〜255の256階調を有する。
また、H画素のフラグは常に“1”であるので、RGB分解回路208については、そのH画素の色データをRGBの各色成分に分解するように構成されている。
Rレジスタ209は、所定階調数分のアドレスを有し、RGB分解回路201〜207,208によって得られたR色(赤色)の値に対応したアドレスに使用数を格納する。同様に、Gレジスタ210は、所定階調数分のアドレスを有し、RGB分解回路201〜207,208によって得られたG色(緑色)の値に対応したアドレスに使用数を格納する。Bレジスタ211は、所定階調数分のアドレスを有し、RGB分解回路201〜207,208によって得られたB色(青色)の値に対応したアドレスに使用数を格納する。
カウンタ212は、Rレジスタ209のR色の各値に対応した使用数をカウントアップする。同様に、カウンタ213は、Gレジスタ210のG色の各値に対応した使用数をカウントアップする。カウンタ214は、Bレジスタ211のB色の各値に対応した使用数をカウントアップする。
次に、第2の実施形態の動作について説明する。
図11は第2の実施形態における画像処理ボード19のRGBヒストグラム検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
まず、コントローラ100は、フラグレジスタ109のA〜Hの各画素に対応したフラグの値をすべて“1”に初期化しておく(ステップS201)。
次に、コントローラ100は、画素処理回路102〜108を起動し、メモリ101に記憶された画像データから所定数(ここではA〜Hの8つ)の画素を読み出し、これらの画素間で色データの比較を行う(ステップS202)。その際、前記第1の実施形態と同様に、A〜Hの各画素に分けて、それぞれに個別に他の画素と順次比較する。そして、色データの値が一致した場合に画素のフラグを“1”から“0”に設定し、それ以降の比較処理を行わないようにする。
ここで、第2の実施形態では、色データの値が一致したときに、コントローラ100は、同時入力色レジスタ200の中の当該画素に対応したレジスタに数値「1」をセットする(ステップS203)。
この様子を図12に示す。
図12は同時入力色レジスタ200の数値設定動作を示す図である。
図6で説明したように、A画素処理回路102では、まず、A画素とB画素を比較して、色データが一致するか否かを判断する。ここで、A画素とB画素との間で色データが一致すれば、フラグレジスタ109のA画素に対応したフラグを“0”にする。他の画素処理回路103〜108でも同様であり、それぞれに色データの値が一致した場合に当該画素のフラグを “0”にする。
ここで、第2の実施形態では、色数ではなく、RGBのヒストグラムを測定するため、同時入力された画素間で同一色があった場合には、後でその分の色値を加算しなければならない。そこで、A画素のフラグが“0”にセットされたとき、同時入力色レジスタ200の中の当該画素に対応したレジスタAに同一色が存在することを示す数値「1」がカウントされる。
同様にして、B画素,C画素,D画素…G画素についても、それぞれに他の画素との間で色データの値が一致した場合に、当該画素のフラグが“0”にセットされ、その際に同時入力色レジスタ200の中の当該画素に対応したレジスタに同一色が存在することを示す数値「1」がカウントされる。
なお、Hフラグ(H画素に対応したフラグ)の値は常に“1”であり、同時入力色レジスタ200の数値設定は関係しない。
図11の説明に戻って、フラグレジスタ109に各画素のフラグが設定されると、コントローラ100は、フラグ判定回路110〜116を起動して(ステップS204)、フラグの値が“0”であるか“1”であるかを判定する(ステップS205)。
この場合、フラグが“0”になった画素については(ステップS205のNo)、画素処理回路102〜108に同時に入力された各画素の中に同じ色データを持つ画素があるということなので、RGB分解処理を行う必要がない。したがって、コントローラ100は、フラグが“1”の画素についてのみ処理対象として選出し(ステップS206)、RGB分解回路201〜207,208を起動して、当該画素の色データをRGBの各成分に分解し、それぞれの色値を求める(ステップS207)。
なお、H画素のフラグは常に“1”であるので、RGB分解回路208では、常にH画素の色データをRGBの各色成分に分解することになる。
このようにして、画素の色データをRGBの各色成分に分解すると、コントローラ100は、その分解後の色値に基づいてRレジスタ209,Gレジスタ210,Bレジスタ211の該当するレジスタのアドレスに使用数をセットする。その際、同一色として省いていた画素分を含ませるために、同時入力色レジスタ200にセットされた数値を当該使用数に加算してセットする(ステップS208)。
この様子を図13及び図14に示す。
図13はRGB分解回路201〜207,208のRGB分解動作を示す図、図14はRレジスタ209,Gレジスタ210,Bレジスタ211の数値設定動作を示す図である。なお、ここでは、各アドレスを00〜FFまでの2桁の16進数で表す。つまり、アドレス00〜FFは、0〜255の各色の値に対応している。
画像データを構成する各画素の色データは、R(赤色)、G(緑色)、B(青色)の各色成分からなる。各色は、それぞれに8ビットのデータで構成され、0〜255までの256階調で表示される。つまり、R,G,Bの各色の組み合わせにより、256×256×256=1,677,216色を表現することができる。
RGB分解回路201〜207,208では、フラグ“1”が設定された画素の色データをR,G,Bの各色成分に分解する。そのときに得られる各色の値に応じて、Rレジスタ209,Gレジスタ210,Bレジスタ211の中の該当するアドレスに使用数「1」がセットされる。ここで、同時入力色レジスタ200に同一色が存在することを示す数値がセットされていた場合には、その数値が使用数に加算される。
図14に具体例を示す。
今、Rレジスタ209に着目して説明する。図14(a)に示すように、Rレジスタ209の各アドレスのデータ(使用数)は全て「0」に初期化されている。この状態で、R値として「00」のデータが入力されたとすると、同図(b)に示すように、アドレス「00」に使用数「1」がセットされる。その際、同時入力色レジスタ200の中の当該画素に対応したレジスタに「1」がセットされていた場合には、アドレス「00」の使用数が+1インクリメントされ、同図(c)に示すように、使用数「2」となる。
Gレジスタ210、Bレジスタ211についても同様であり、それぞれに各色の値に応じた使用数に同時入力色レジスタ200の値が加算されることになる。これにより、同時に入力された他の画素の色値と同じであったために処理されなかった画素の色値も正しくカウントすることができる。
図11の説明に戻って、以後、画像データから8画素ずつ順次読み出し、前記同様の処理を繰り返し行う。全画素の処理が終了すると(ステップS209のYes)、コントローラ100は、ここでの処理を終了する。
Rレジスタ209,Gレジスタ210,Bレジスタ211にセットされた各値の使用数から図15に示すようなRGBヒストグラムが生成される。このRGBヒストグラムは、図2で説明した未使用色を決定するときに有効的に用いられる。図15(a)はR成分のヒストグラムであり、Rレジスタ209の各アドレスにセットされた使用数を0〜255の階調数毎に分類して生成される。同図(b)はG成分のヒストグラムであり、Gレジスタ210の各アドレスにセットされた使用数を0〜255の階調数毎に分類して生成される。同図(c)はB成分のヒストグラムであり、Bレジスタ211の各アドレスにセットされた使用数を0〜255の階調数毎に分類して生成される。
このように、第2の実施形態によれば、RGBのヒストグラムを求める場合であっても、前記第1の実施形態と同様に、最初に所定数の画素の色データを比較し、同一色を持つ画素を除外してから処理を行うようにしたことで、全ての画素の1つ1つ色データに関して処理を行う場合に比べ、処理時間の短縮と共に消費電力を抑えることができる。
また、前記所定数の各画素の色データを比較する際に、これらの全てを同時に比較する構成ではなく、各画素に分けて、それぞれに個別に他の画素と順次比較する構成とし、それぞれに色データの値が一致した場合にそれ以降の比較処理を行わないようにしたことで、同時入力の画素数が多くなった場合に回路規模を大幅に削減することができる。
なお、前記第2の実施形態では、色データとしてRGBデータを例にして説明したが、CMYデータやYCbCrデータであっても同様に適用可能である。
また、常にフラグを“1”として比較処理を行う画素をHに固定したが、他の任意の画素であっても良い。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
前記第1の実施形態では、画像データの特徴量の検出に必要な処理として、「色数の検出処理」を行う場合を例にして説明したが、同様の手法にて、「色相・彩度・明度のヒストグラム検出処理」を行うことも可能である。
図16は本発明の第3の実施形態におけるコンピュータ装置10に備えられた画像処理ボード19の回路構成を示すブロック図であり、画像データの色相・彩度・明度のヒストグラムを検出するための回路構成が示されている。なお、前記第1の実施形態における図3と同じ部分には同一符号を付して、その説明を省略するものとする。
第3の実施形態において、画像処理ボード19には、コントローラ100、メモリ101、画素処理回路102〜108、フラグレジスタ109、フラグ判定回路110〜116が設けられている。
さらに、この画像処理ボード19には、画像データの色相・彩度・明度のヒストグラム検出処理に関わる構成要素として、同時入力色レジスタ200、RGB分解回路201〜207,208、演算回路301〜307,308、色相レジスタ309、彩度レジスタ310、明度レジスタ311、カウンタ312〜314が設けられている。
同時入力色レジスタ200は、A〜Gの各画素に対応したレジスタ群からなり、これらの画素の中で同じ色を有することを示す情報(ここでは数値「1」)を格納する。
RGB分解回路201〜207,208は、同時入力された各画素に対応して設けられている。このうち、A〜Gの各画素に対応したRGB分解回路201〜207は、それぞれに対応したフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素の色データをRGBの各色成分に分解する。なお、RはRED(赤色)、GはGREEN(緑色)、BはBLUE(青色)であり、それぞれに8ビットのデータからなり、0〜255の256階調を有する。
また、H画素のフラグは常に“1”であるので、RGB分解回路208については、そのH画素の色データをRGBの各色成分に分解するように構成されている。
演算回路301〜307,308は、RGB分解回路201〜207,208に対応して設けられている。このうち、演算回路301〜307は、RGB分解回路201〜207から出力されるRGBの各色成分の値に基づいて、A〜Gの各画素毎に色相(H)、彩度(S)、明度(V)を求める。演算回路308は、RGB分解回路208から出力されるRGBの各色成分の値に基づいて、H画素の色相(H)、彩度(S)、明度(V)を求める。
ここで、演算回路301〜307,308には、以下のようなRGBデータからHSVデータへの変換式(1)〜(5)が組み込まれている。
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)
なお、前記各式において、MAX:RGB成分中の最大値、MIN:RGB成分中の最小値である。
色相レジスタ309は、所定階調数分のアドレスを有し、演算回路301〜307,308によって得られた色相(H)の値に対応したアドレスに使用数を格納する。同様に、彩度レジスタ310は、所定階調数分のアドレスを有し、演算回路301〜307,308によって得られた彩度(S)の値に対応したアドレスに使用数を格納する。明度レジスタ311は、所定階調数分のアドレスを有し、演算回路301〜307,308によって得られた明度(V)の値に対応したアドレスに使用数を格納する。
カウンタ312は、色相レジスタ309の色相(H)の各値に対応した使用数をカウントアップする。同様に、カウンタ313は、彩度レジスタ310の彩度(S)の各値に対応した使用数をカウントアップする。カウンタ314は、明度レジスタ311の明度(V)の各値に対応した使用数をカウントアップする。
次に、第3の実施形態の動作について説明する。
図19は第3の実施形態における画像処理ボード19の彩度・色相・明度ヒストグラム検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
まず、コントローラ100は、フラグレジスタ109のA〜Hの各画素に対応したフラグの値をすべて“1”に初期化しておく(ステップS301)。
次に、コントローラ100は、画素処理回路102〜108を起動し、メモリ101に記憶された画像データから所定数(ここではA〜Hの8つ)の画素を読み出し、これらの画素間で色データの比較を行う(ステップS302)。その際、前記第1の実施形態と同様に、A〜Hの各画素に分けて、それぞれに個別に他の画素と順次比較する。そして、色データの値が一致した場合に画素のフラグを“1”から“0”に設定し、それ以降の比較処理を行わないようにする。
ここで、前記第2の実施形態と同様に、色データの値が一致したときに、コントローラ100は、同時入力色レジスタ200の中の当該画素に対応したレジスタに数値「1」をセットする(ステップS303)。なお、この同時入力色レジスタ200に対する数値設定の詳細については、前記第2の実施形態において、図12を参照して既に説明済みであるため、ここでは省略する。
フラグレジスタ109に各画素のフラグが設定されると、コントローラ100は、フラグ判定回路110〜116を起動して(ステップS304)、フラグの値が“0”であるか“1”であるかを判定する(ステップS305)。
この場合、フラグが“0”になった画素については(ステップS305のNo)、画素処理回路102〜108に同時に入力された各画素の中に同じ色データを持つ画素があるということなので、RGB分解処理を行う必要がない。したがって、コントローラ100は、フラグが“1”の画素についてのみ処理対象として選出し(ステップS306)、RGB分解回路201〜207,208を起動して、当該画素の色データをRGBの各成分に分解し、それぞれの色値を求める(ステップS307)。
なお、H画素のフラグは常に“1”であるので、RGB分解回路208では、常にH画素の色データをRGBの各色成分に分解することになる。
ここで、第3の実施形態では、画素の色データをRGBの各色成分に分解した後、コントローラ100は、演算回路301〜307,308を起動して、前記(1)〜(5)式に従ってRGBデータからHSVデータへの変換を行い、色相(H)・彩度(S)・明度(V)を求める(ステップS308)。
そして、コントローラ100は、その色相(H)・彩度(S)・明度(V)の各値に基づいて色相レジスタ309,彩度レジスタ310,明度レジスタ311の該当するレジスタのアドレスに使用数をセットする。その際、同一色として省いていた画素分を含ませるために、同時入力色レジスタ200にセットされた数値を当該使用数に加算してセットする(ステップS309)。
この様子を図18に示す。
図18は色相レジスタ309,彩度レジスタ310,明度レジスタ311の数値設定動作を示す図であり、図18(a)は色相レジスタ309の一例、同図(b)は彩度レジスタ310の一例、同図(c)は明度レジスタ311の一例を示す図である。なお、色相は0〜300の値を取り、彩度と明度は0〜255の値を取るものとする。
色相・彩度・明度は、HSV色空間の3要素である。なお、HSV色空間は、HSV色空間、HSB色空間とも言われる。色相は、赤・黄・緑・青・紫といった「色合い」を表す。彩度は、色の「鮮やかさ」の度合いを表す。明度は、色の明度つまり「明るさ」を表す。
演算回路301〜307,308によって色相・彩度・明度の各値が得られると、色相レジスタ309、彩度レジスタ310、明度レジスタ311の中の該当するアドレスに使用数「1」がセットされる。ここで、同時入力色レジスタ200に同一色が存在することを示す数値がセットされていた場合には、その数値が使用数に加算される。
例えば、色相・彩度・明度の各値が0であった場合に、色相レジスタ309、彩度レジスタ310、明度レジスタ311のそれぞれのアドレス「0」に使用数「1」がセットされる。その際に、同時入力色レジスタ200の中の当該画素に対応したレジスタに「1」がセットされていた場合には、アドレス「0」の使用数が+1インクリメントされ、使用数「2」となる。
図17の説明に戻って、以後、画像データから8画素ずつ順次読み出し、前記同様の処理を繰り返し行う。全画素の処理が終了すると(ステップS309のYes)、コントローラ100は、ここでの処理を終了する。
色相レジスタ309,彩度レジスタ310,明度レジスタ311にセットされた各値の使用数から色相・彩度・明度のヒストグラムが生成される。この色相・彩度・明度のヒストグラムは、図2で説明した未使用色を決定するときに有効的に用いられる。
このように、第3の実施形態によれば、色相・彩度・明度のヒストグラムを求める場合であっても、前記第1の実施形態と同様に、最初に所定数の画素の色データを比較し、同一色を持つ画素を除外してから処理を行うようにしたことで、全ての画素の1つ1つ色データに関して処理を行う場合に比べ、処理時間の短縮と共に消費電力を抑えることができる。
また、前記所定数の各画素の色データを比較する際に、これらの全てを同時に比較する構成ではなく、各画素に分けて、それぞれに個別に他の画素と順次比較する構成とし、それぞれに色データの値が一致した場合にそれ以降の比較処理を行わないようにしたことで、同時入力の画素数が多くなった場合に回路規模を大幅に削減することができる。
なお、前記第3の実施形態では、色表現の分類方法として、色相・彩度・明度を例にして説明したが、色相・彩度・輝度などの他の分類方法を用いる場合であっても同様に適用可能である。
また、常にフラグを“1”として比較処理を行う画素をHに固定したが、他の任意の画素であっても良い。
また、前記各実施形態において、同時入力の画素数の単位を8つとしたが、少なくとも2つ以上あれば、1つ1つの画素を比較するようにも短時間で処理することができる。ただし、画素数が少ないと本手法のメリットがなくなるため、8個以上の画素を同時入力して各画素毎に色データの比較処理を並列的に行うような構成が好ましい。
また、「色数の検出処理」、「RGBのヒストグラム検出処理」、「色相・彩度・明度のヒストグラム検出処理」の他にも、画像データの特徴量の検出に必要な処理を行う場合であれば、前記各実施形態で説明したように、最初に所定数の画素間での色データの比較を行い、同じ色データを持つ画素を除いてから処理することで、処理時間の短縮化を図ることができる。
要するに、本発明は前記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10…コンピュータ装置、11…CPU、12…システムバス、13…ROM、14…RAM、14a〜14c…フレームバッファ、15…入力装置、16…表示装置、17…通信I/F、18…外部記憶装置、19…画像処理ボード、20…媒体読取り装置、20a…外部記録媒体、100…コントローラ、101…メモリ、102〜108…画素処理回路、109…フラグレジスタ、110〜116…フラグ判定回路、117〜124…比較回路、125…入力色格納レジスタ、126…カウンタ、127…色数レジスタ、200…同時入力色レジスタ、201〜208…RGB分解回路、209…Rレジスタ、210…Gレジスタ、211…Bレジスタ、212〜214…カウンタ、301〜308…演算回路、309…色相レジスタ、310…彩度レジスタ、311…明度レジスタ、312〜314…カウンタ。

Claims (9)

  1. 画像データを記憶する画像記憶手段と、
    この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、
    この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
    このフラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
    この処理対象選出手段によって選出された画素に基づいて、前記画像データの特徴量の検出に必要な処理を実行する処理実行手段と
    を具備したことを特徴とする画像処理装置。
  2. 画像データを記憶する画像記憶手段と、
    この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、
    この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
    このフラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
    画素の色データを格納するデータ格納手段と、
    前記処理対象選出手段によって選出された画素の色データを前記データ格納手段に格納された色データと比較し、異なる場合に当該画素の色データを新規の色データとして前記データ格納手段に格納する比較手段と、
    この比較手段によって前記データ格納手段に格納された色データの数を当該画像データの色数として計数する計数手段と
    を具備したことを特徴とする画像処理装置。
  3. 画像データを記憶する画像記憶手段と、
    この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、
    この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
    前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定手段と、
    前記フラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
    この処理対象選出手段によって選出された画素の色データをRGBの各色成分に分解するRGB分解手段と、
    RGBの各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のデータ格納手段と、
    前記RGB分解手段によって分解されたRGBの各色成分の値に基づいて、前記各データ格納手段の中の該当する使用数を前記同時入力色設定手段によって設定された数を加味して計数する計数手段と
    を具備したことを特徴とする画像処理装置。
  4. 画像データを記憶する画像記憶手段と、
    この画像記憶手段に記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較手段と、
    この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
    前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定手段と、
    前記フラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
    この処理対象選出手段によって選出された画素の色データをRGBの各色成分に分解するRGB分解手段と、
    このRGB分解手段によって分解されたRGBの各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算手段と、
    色相・彩度・明度の各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のデータ格納手段と、
    前記演算手段によって得られた色相・彩度・明度の各色成分の値に基づいて、前記各データ格納手段の中の該当する使用数を前記同時入力色設定手段によって設定された数を加味して計数する計数手段と
    を具備したことを特徴とする画像処理装置。
  5. 前記画素比較手段によって処理対象として読み出す画素数の単位は、少なくとも2つ以上であることを特徴とする請求項1乃至4のいずれか1つに記載の画像処理装置。
  6. 画像データを記憶するメモリを備えたコンピュータに用いられる画像処理方法であって、
    前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、
    この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ値があるか否かを示すフラグを設定するフラグ設定ステップと、
    このフラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ値を持たない画素を処理対象として選出する処理対象選出ステップと、
    この処理対象選出ステップによって選出された画素について、前記画像データの特徴量を検出するための処理を実行する処理実行ステップと
    を有することを特徴とする画像処理方法。
  7. 画像データを記憶するメモリと、画素の色データを格納するレジスタとを備えたコンピュータに用いられる画像処理方法であって、
    前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、
    この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、
    このフラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、
    前記処理対象選出ステップによって選出された画素の色データを前記レジスタに格納された色データと比較し、異なる場合に当該画素の色データを新規の色データとして前記レジスタに格納する比較ステップと、
    この比較ステップによって前記レジスタに格納された色データの数を当該画像データの色数として計数する計数ステップと
    を有することを特徴とする画像処理方法。
  8. 画像データを記憶するメモリと、RGBの各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のレジスタとを備えたコンピュータに用いられる画像処理方法であって、
    前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、
    この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、
    前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定ステップと、
    前記フラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、
    この処理対象選出ステップによって選出された画素の色データをRGBの各色成分に分解するRGB分解ステップと、
    前記RGB分解ステップによって分解されたRGBの各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップと
    を有することを特徴とする画像処理方法。
  9. 画像データを記憶するメモリと、色相・彩度・明度の各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のレジスタとを備えたコンピュータに用いられる画像処理方法であって、
    前記メモリに記憶された画像データから所定単位で読み出される各画素毎にそれぞれに重複しない組み合わせで他の画素との間で色データを並列的に順次比較し、色データが一致した場合に当該画素の比較処理を終了する画素比較ステップと、
    この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、
    前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定ステップと、
    前記フラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、
    この処理対象選出ステップによって選出された画素の色データをRGBの各色成分に分解するRGB分解ステップと、
    このRGB分解ステップによって分解されたRGBの各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算ステップと、
    前記演算ステップによって得られた色相・彩度・明度の各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップと
    を有することを特徴とする画像処理方法。
JP2009094156A 2009-04-08 2009-04-08 画像処理装置及び画像処理方法 Active JP5223762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009094156A JP5223762B2 (ja) 2009-04-08 2009-04-08 画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009094156A JP5223762B2 (ja) 2009-04-08 2009-04-08 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2010244410A JP2010244410A (ja) 2010-10-28
JP5223762B2 true JP5223762B2 (ja) 2013-06-26

Family

ID=43097346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009094156A Active JP5223762B2 (ja) 2009-04-08 2009-04-08 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP5223762B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5764435B2 (ja) * 2011-08-29 2015-08-19 綜研化学株式会社 粘着剤組成物、粘着シートおよびタッチパネル用積層体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3255720B2 (ja) * 1992-08-11 2002-02-12 株式会社リコー 画像形成装置
JPH08161507A (ja) * 1994-12-09 1996-06-21 Canon Inc 画像処理装置およびその方法
JP2001352558A (ja) * 2000-06-07 2001-12-21 Matsushita Electric Ind Co Ltd デジタルカメラ
JP4285290B2 (ja) * 2004-03-22 2009-06-24 富士ゼロックス株式会社 画像処理装置、画像処理方法、およびプログラム
JP2006238291A (ja) * 2005-02-28 2006-09-07 Ricoh Printing Systems Ltd カラー画像情報の符号化処理方法、復号化処理方法およびこれを用いた印刷装置

Also Published As

Publication number Publication date
JP2010244410A (ja) 2010-10-28

Similar Documents

Publication Publication Date Title
CN112446839B (zh) 图像增强方法、装置、电子设备及计算机可读存储介质
WO2019041842A1 (zh) 一种图像处理方法及装置、存储介质和计算机设备
CN107451272B (zh) 信息展示方法、介质、装置和计算设备
US9659387B2 (en) Graphics primitive and color channels
US10540811B2 (en) Radial gradient module
US10580343B2 (en) Display data transmission method and apparatus, display panel drive method and apparatus
CN113887599A (zh) 屏幕光检测模型训练方法、环境光检测方法及装置
CN108475213B (zh) 图像处理装置、图像处理方法和图像处理程序
JP7255636B2 (ja) 端末管理装置、端末管理方法、およびプログラム
JP5223762B2 (ja) 画像処理装置及び画像処理方法
CN114119778A (zh) 用户界面的深色模式生成方法、电子设备及存储介质
WO2023005421A1 (zh) 作品封面显示方法、装置、介质和电子设备
CN109614064A (zh) 一种图片显示方法、图片显示装置及终端设备
EP4006806A1 (en) Information processing device, information processing method, and information processing program
JP2010081346A (ja) 画像処理装置及び画像処理方法
US20210174126A1 (en) Image analysis apparatus and image analysis method
US10540788B2 (en) Radial gradient module
CN106341572B (zh) 用于支持对于预乘数据的颜色变换的方法
US9883078B2 (en) Systems and methods for efficient halftone where different dithering matrices are combined
US11308375B2 (en) System and method for detecting color conversion problems in a printed image
JP4946399B2 (ja) 画像処理装置およびプログラム
CN115482389A (zh) 一种二值化阈值确定方法、装置、设备和存储介质
JP2011019184A (ja) 画像処理装置及び画像処理方法
JP4957558B2 (ja) 画像処理装置および画像処理方法
CN115718586A (zh) 像素颜色混合操作方法、图形绘制方法、装置和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130225

R150 Certificate of patent or registration of utility model

Ref document number: 5223762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3