JP2010081346A - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP2010081346A JP2010081346A JP2008248174A JP2008248174A JP2010081346A JP 2010081346 A JP2010081346 A JP 2010081346A JP 2008248174 A JP2008248174 A JP 2008248174A JP 2008248174 A JP2008248174 A JP 2008248174A JP 2010081346 A JP2010081346 A JP 2010081346A
- Authority
- JP
- Japan
- Prior art keywords
- pixels
- pixel
- color
- data
- flag
- 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.)
- Withdrawn
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
【課題】画像データの特徴量の検出に必要な処理を短縮化する。
【解決手段】メモリ101に記憶された画像データから4画素ずつを読み出し、これらの画素の色データを画素比較回路102にて比較する。その比較結果に応じて、フラグ設定回路103〜105にて各画素にフラグを設定する。フラグ判定回路106〜108では、前記フラグに基づいて同じ色データを有する画素を除いたものを処理対象として比較回路109〜112に与える。比較回路109〜112では、入力色格納レジスタ113を用いて色数の検出を行う。これにより、全ての画素を1つ1つ処理するよりも処理時間を短縮できる。
【選択図】 図3
【解決手段】メモリ101に記憶された画像データから4画素ずつを読み出し、これらの画素の色データを画素比較回路102にて比較する。その比較結果に応じて、フラグ設定回路103〜105にて各画素にフラグを設定する。フラグ判定回路106〜108では、前記フラグに基づいて同じ色データを有する画素を除いたものを処理対象として比較回路109〜112に与える。比較回路109〜112では、入力色格納レジスタ113を用いて色数の検出を行う。これにより、全ての画素を1つ1つ処理するよりも処理時間を短縮できる。
【選択図】 図3
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の各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算ステップと、前記演算ステップによって得られた色相・彩度・明度の各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップとを有することを特徴とする。
本発明によれば、所定数の画素を比較し、同じ色データを有するものを除外してから画像データの特徴量の検出に必要な処理を行うようにしたため、全ての画素を1つ1つ処理しいく場合に比べて処理時間を短縮化することができる。
以下、図面を参照して本発明の実施形態を説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係る画像処理装置をコンピュータ装置10に適用した場合の回路構成を示すブロック図である。
図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、フラグ設定回路103〜105、フラグレジスタ116、フラグ判定回路106〜108、比較回路109〜112、入力色格納レジスタ113、カウンタ114、色数レジスタ115が設けられている。
画素比較回路102は、メモリ101に記憶された画像データから所定数の画素を順次読み出し、これらの画素間で色データを比較する。なお、色データとは、ここではRGBのことであり、例えば各色毎に8ビットのデータで構成される。
図4に画素比較回路102の詳細な構成を示す。
今、比較対象とする4画素をA〜Dとする。画素比較回路102は、画素A〜Dを格納するためのバッファ102a〜102dと、このバッファ102a〜102dに格納された画素A〜Dの色データを比較するための比較回路102e〜102jとからなる。
今、比較対象とする4画素をA〜Dとする。画素比較回路102は、画素A〜Dを格納するためのバッファ102a〜102dと、このバッファ102a〜102dに格納された画素A〜Dの色データを比較するための比較回路102e〜102jとからなる。
比較回路102eはA画素とB画素の色データを比較し、比較回路102fはA画素とC画素の色データを比較し、比較回路102gはA画素とD画素の色データを比較する。比較回路102hはB画素とC画素の色データを比較し、比較回路102iはB画素とD画素の色データを比較する。比較回路102jはC画素とD画素の色データを比較する。
Aフラグ設定回路103は、画素比較回路102の比較結果に基づいて、画素Aに対応したフラグをフラグレジスタ116に設定する。この場合、画素比較回路102に同時に入力された他の画素と異なる色データを持つ場合にフラグ“1”が設定される。
同様に、Bフラグ設定回路104は、画素比較回路102の比較結果に基づいて、画素Bに対応したフラグをフラグレジスタ116に設定する。Cフラグ設定回路105は、画素比較回路102の比較結果に基づいて、画素Cに対応したフラグをフラグレジスタ116に設定する。なお、後述するように、画素Dについては、常にフラグ“1”として扱う(図6〜8参照)。
また、図3において、フラグレジスタ116は、画素A〜Dに対応したフラグを格納する。このフラグは、画素比較回路102による画素間の色データの比較結果を示す情報であり、1ビットからなり、“1”のとき「同一色なし」、“0”のとき「同一色あり」を示す。フラグ判定回路106〜108は、フラグレジスタ116に設定された画素A〜Dに対応したフラグの値(“1”か“0”)を判定する。
A比較回路109は、Aフラグ判定回路106によって画素Aのフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素Aの色データを既に入力された画素の色データと比較する。
B比較回路110とC比較回路111についても同様である。すなわち、B比較回路110は、Bフラグ判定回路107によって画素Bのフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素Bの色データを既に入力された画素の色データと比較する。C比較回路111は、Cフラグ判定回路108によって画素Cのフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素Cの色データを既に入力された画素の色データと比較する。
また、画素Dのフラグは常に“1”であるので、D比較回路112については、常に既に入力された画素の色データとの比較を行うように構成されている。
入力色格納レジスタ113は、比較回路109〜112に基づいて各画素の色データを格納する。カウンタ114は、入力色格納レジスタ113に格納された色データの数をカウントする。色数レジスタ115は、カウンタ114によってカウントされた数を当該画像データの色数として格納する。
次に、第1の実施形態の動作について説明する。
図5は第1の実施形態における画像処理ボード19の色数検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
図5は第1の実施形態における画像処理ボード19の色数検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
まず、コントローラ100は、フラグレジスタ116の画素A〜Dに対応したフラグの値をすべて“1”に初期化しておく(ステップS100)。
次に、コントローラ100は、画素比較回路102を起動し、メモリ101に記憶された画像データから所定数(ここでは4つ)の画素を読み出し、これらの画素間で色データの比較を行う(ステップS101)。そして、コントローラ100は、フラグ設定回路103〜105を起動し、画素比較回路102の比較結果に応じて、色データの値が一致した画素のフラグを“1”から“0”に設定する(ステップS102)。
この様子を図6乃至図8に示す。
図6は画素比較回路102の画素比較動作を示す図、図7はフラグ設定回路103〜105のフラグ設定動作、図8はフラグ設定結果を示す図である。
図6は画素比較回路102の画素比較動作を示す図、図7はフラグ設定回路103〜105のフラグ設定動作、図8はフラグ設定結果を示す図である。
比較対象とする4つの画素をそれぞれA,B,C,Dとしたとき、画素比較回路102によって、画素AとB画素、画素Aと画素C、画素Aと画素Dを比較し、その中のいずれかの画素間で色データの値が一致した場合に、Aフラグ設定回路103によってAフラグ(画素Aに対応したフラグ)の値を“0”にする。つまり、画素Aが画素B,C,Dのいずれかと同じ色を有する場合に、Aフラグが“0”にセットされることになる。
同様にして、画素Bと画素C、画素Bと画素Dを比較し、その中のいずれかの画素間で色データの値が一致した場合に、Bフラグ設定回路104によってBフラグ(画素Bに対応したフラグ)の値を“0”にする。つまり、画素Bが画素C,Dのいずれかと同じ色を有する場合に、Bフラグが“0”がセットされることになる。
また、画素Cと画素Dを比較し、その画素間で色データの値が一致した場合に、Cフラグ設定回路105によってCフラグ(画素Cに対応したフラグ)の値を“0”にする。つまり、画素Cが画素Dと同じ色を有する場合に、Cフラグが“0”がセットされることになる。
なお、Dフラグ(画素Dに対応したフラグ)の値は常に“1”である。例えば、4画素とも同じ色であれば、フラグレジスタ116の値は「1000」となる。また、4画素とも異なる色であれば、フラグレジスタ116の値は「1111」となる。図8の例の「1011」は、少なくとも画素Cについては、A,B,Dの中のいずれかの画素と同じ色データを有することを示す。
図5の説明に戻って、フラグレジスタ116に各画素のフラグが設定されると、コントローラ100は、フラグ判定回路106〜108を起動して(ステップS103)、フラグの値が“0”である“1”であるかを判定する(ステップS104)。
この場合、フラグが“0”になった画素については(ステップS104のNO)、画素比較回路102に同時に入力された画素の中に同じ色データを持つ画素があるということなので、比較処理を行う必要がない。したがって、コントローラ100は、フラグが“1”の画素についてのみ処理対象として選出し(ステップS104a)、比較回路109〜112を起動して、当該画素の色データの値と入力色格納レジスタ113に既にセットされている色データの値とを比較し、以前に入力された画素の色データと一致しなければ、その色データを新規の色データとして入力色格納レジスタ113にセットする(ステップS105)。
なお、画素Dのフラグは常に“1”であるので、D比較回路112では、常に入力色格納レジスタ113との比較を行うことになる。
この様子を図9に示す。
図9は比較回路109〜112による入力色の比較処理を示す図である。例えば、フラグレジスタ116の値が「1011」であった場合、画素Cについては、画素A、画素B、画素Dのいずれかと同じ色データを有するので、比較処理は行わない。つまり、この例では、画素Cを除く、画素A、画素B、画素Dが処理対象となる。
図9は比較回路109〜112による入力色の比較処理を示す図である。例えば、フラグレジスタ116の値が「1011」であった場合、画素Cについては、画素A、画素B、画素Dのいずれかと同じ色データを有するので、比較処理は行わない。つまり、この例では、画素Cを除く、画素A、画素B、画素Dが処理対象となる。
まず、画素Aについて、入力色格納レジスタ113に既にセットされている色データの値と比較する。一致する場合には、その色データは既に存在しているので、画素Bについて比較処理を行う。一致しない場合には、新規の色データということになるので、その色データを入力色格納レジスタ113にセットする。画素B、画素Dについても同様である。
なお、同時に入力された各画素の色データが全て同じ値であった場合には、画素Dのみを比較することになる。
図5の説明に戻って、入力色格納レジスタ113に新規の色データがセットされると、コントローラ100は、カウンタ114を+1カウントアップする(ステップS106)。
以後、画像データから4画素ずつ順次読み出し、前記同様の処理を繰り返し行う。全画素の処理が終了すると(ステップS107のYES)、コントローラ100は、カウンタ114の値を当該画像データの色数として色数レジスタ115にセットし(ステップS108)、ここでの処理を終了する。
色数レジスタ115にセットされた色数は、例えば画像データの圧縮処理の判断に用いられる。すなわち、コンピュータ装置10では、クライアント装置に転送する画像データの色数が所定数より多い場合に当該画像データを圧縮してから転送する。
このように、第1の実施形態によれば、画像データの色数を検出する場合において、4画素単位で色データを比較し、同じ色データを持つ画素を除外してから色数の検出処理を行うようにしたことで、全ての画素の色データを1つ1つ調べていく場合に比べ、処理時間を大幅に短縮することができる。
図10に本発明の手法と従来の手法とを比較して示す。
図10(a)が本発明の手法、同図(b)が従来の手法である。A〜Dの4つの画素に着目した場合に、本発明の手法では、(1)画素A〜D間で色を比較、(2)既に格納済みの色と比較、(3)色格納の3ステージで完了する。これに対し、従来の手法では、(1)画素Aの色を他の各画素の色と比較、(2)画素Aの比較結果を格納、(3)画素Bの色を他の各画素の色と比較、(4)画素Bの比較結果を格納…といったように8ステージの処理が必要となる。
図10(a)が本発明の手法、同図(b)が従来の手法である。A〜Dの4つの画素に着目した場合に、本発明の手法では、(1)画素A〜D間で色を比較、(2)既に格納済みの色と比較、(3)色格納の3ステージで完了する。これに対し、従来の手法では、(1)画素Aの色を他の各画素の色と比較、(2)画素Aの比較結果を格納、(3)画素Bの色を他の各画素の色と比較、(4)画素Bの比較結果を格納…といったように8ステージの処理が必要となる。
これにより、例えばシンクライアントシステムにおいて、コンピュータ装置10(サーバ装置)からクライアント装置に表示用の画像データを転送する際に、その画像データの色数に応じた処理を施してから送る場合でも時間をかけずに効率的に処理して速やかに送ることが可能となる。
さらに、処理時間の短縮化に伴い、消費電力を低減できるといった効果もある。
なお、前記第1の実施形態では、A〜Dの各画素の中で常にフラグを“1”として比較処理を行う画素をDに固定したが、他の画素であっても良い。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
次に、本発明の第2の実施形態について説明する。
前記第1の実施形態では、画像データの特徴量の検出に必要な処理として、「色数の検出処理」を行う場合を例にして説明したが、同様の手法にて、「RGBのヒストグラム検出処理」を行うことも可能である。
図11は本発明の第2の実施形態におけるコンピュータ装置10に備えられた画像処理ボード19の回路構成を示すブロック図であり、画像データのRGBヒストグラムを検出するための回路構成が示されている。なお、前記第1の実施形態における図3と同じ部分には同一符号を付して、その説明を省略するものとする。
第2の実施形態において、画像処理ボード19には、コントローラ100、メモリ101、画素比較回路102、フラグ設定回路103〜105、フラグレジスタ116、フラグ判定回路106〜108が設けられている。
さらに、この画像処理ボード19には、画像データのRGBヒストグラム検出処理に関わる構成要素として、同時入力色レジスタ200、RGB分解回路201〜204、Rレジスタ205、Gレジスタ206、Bレジスタ207、カウンタ208〜210が設けられている。
同時入力色レジスタ200は、画素Aに対応したレジスタA、画素Bに対応したレジスタB、画素Cに対応したレジスタCからなり、画素比較回路102に同時に入力された各画素の中で同じ色を有することを示す情報(ここでは数値「1」)を格納する。
RGB分解回路201は、Aフラグ判定回路106によって画素Aのフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素Aの色データをRGBの各色成分に分解する。なお、RはRED(赤色)、GはGREEN(緑色)、BはBLUE(青色)であり、それぞれに8ビットのデータからなり、0〜255の256階調を有する。
RGB分解回路202,203についても同様である。すなわち、RGB分解回路202は、Bフラグ判定回路107によって画素Bのフラグが“1”の場合、つまり、画素比較回路102に同時に入力された他の画素と色データが異なる場合にのみ、その画素Bの色データをRGBの各色成分に分解する。RGB分解回路203は、Cフラグ判定回路108によって画素Cのフラグが“1”の場合、つまり、画素比較回路102に同時に入力された他の画素と色データが異なる場合にのみ、その画素Cの色データをRGBの各色成分に分解する。
また、画素Dのフラグは常に“1”であるので、RGB分解回路204については、その画素Dの色データをRGBの各色成分に分解するように構成されている。
Rレジスタ205は、所定階調数分のアドレスを有し、RGB分解回路201〜204によって得られたR色(赤色)の値に対応したアドレスに使用数を格納する。同様に、Gレジスタ206は、所定階調数分のアドレスを有し、RGB分解回路201〜204によって得られたG色(緑色)の値に対応したアドレスに使用数を格納する。Bレジスタ207は、所定階調数分のアドレスを有し、RGB分解回路201〜204によって得られたB色(青色)の値に対応したアドレスに使用数を格納する。
カウンタ208は、Rレジスタ205のR色の各値に対応した使用数をカウントアップする。同様に、カウンタ209は、Gレジスタ206のG色の各値に対応した使用数をカウントアップする。カウンタ210は、Bレジスタ207のB色の各値に対応した使用数をカウントアップする。
次に、第2の実施形態の動作について説明する。
図12は第2の実施形態における画像処理ボード19のRGBヒストグラム検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
図12は第2の実施形態における画像処理ボード19のRGBヒストグラム検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
まず、コントローラ100は、フラグレジスタ116の画素A〜Dに対応したフラグの値をすべて“1”に初期化しておく(ステップS200)。
次に、コントローラ100は、画素比較回路102を起動し、メモリ101に記憶された画像データから所定数(ここでは4つ)の画素を読み出し、これらの画素間で色データの比較を行う(ステップS201)。そして、コントローラ100は、フラグ設定回路103〜105を起動し、画素比較回路102の比較結果に応じて、色データの値が一致した画素のフラグを“1”から“0”に設定する(ステップS202)。
ここで、第2の実施形態では、色データの値が一致したときに、コントローラ100は、同時入力色レジスタ200の中の当該画素に対応したレジスタに数値「1」をセットする(ステップS203)。
この様子を図13及び図14に示す。
図13はフラグ設定回路103〜105のフラグ設定動作を示す図、図14は同時入力色レジスタ200の数値設定動作を示す図である。
図13はフラグ設定回路103〜105のフラグ設定動作を示す図、図14は同時入力色レジスタ200の数値設定動作を示す図である。
比較対象とする4つの画素をそれぞれA,B,C,Dとしたとき、画素比較回路102によって、画素AとB画素、画素Aと画素C、画素Aと画素Dを比較し、その中のいずれかの画素間で色データの値が一致した場合に、Aフラグ設定回路103によってAフラグ(画素Aに対応したフラグ)の値を“0”にする。つまり、画素Aが画素B,C,Dのいずれかと同じ色を有する場合に、Aフラグが“0”にセットされることになる。
ここで、第2の実施形態では、色数ではなく、RGBのヒストグラムを測定するため、同時入力された画素間で同一色があった場合には、後でその分の色値を加算しなければならない。そこで、Aフラグが“0”にセットされたとき、同時入力色レジスタ200の中の当該画素Aに対応したレジスタAに同一色が存在することを示す数値「1」をセットしておく。
同様にして、画素Bと画素C、画素Bと画素Dを比較し、その中のいずれかの画素間で色データの値が一致した場合に、Bフラグ設定回路104によってBフラグ(画素Bに対応したフラグ)の値を“0”にする。つまり、画素Bが画素C,Dのいずれかと同じ色を有する場合に、Bフラグが“0”がセットされることになる。その際に、同時入力色レジスタ200の中の当該画素Bに対応したレジスタBに同一色が存在することを示す数値「1」がセットされる。
また、画素Cと画素Dを比較し、その画素間で色データの値が一致した場合に、Cフラグ設定回路105によってCフラグ(画素Cに対応したフラグ)の値を“0”にする。つまり、画素Cが画素Dと同じ色を有する場合に、Cフラグが“0”がセットされることになる。その際に、同時入力色レジスタ200の中の当該画素Cに対応したレジスタCに同一色が存在することを示す数値「1」がセットされる。
なお、Dフラグ(画素Dに対応したフラグ)の値は常に“1”であり、同時入力色レジスタ200の数値設定は関係しない。
図12の説明に戻って、フラグレジスタ116に各画素のフラグが設定されると、コントローラ100は、フラグ判定回路106〜108を起動して(ステップS204)、フラグの値が“0”である“1”であるかを判定する(ステップS205)。
この場合、フラグが“0”になった画素については(ステップS205のNO)、画素比較回路102に同時に入力された画素の中に同じ色データを持つ画素があるということなので、RGB分解処理を行う必要がない。したがって、コントローラ100は、フラグが“1”の画素についてのみ処理対象として選出し(ステップS205a)、RGB分解回路201〜204を起動して、当該画素の色データをRGBの各成分に分解し、それぞれの色値を求める(ステップS206)。
なお、画素Dのフラグは常に“1”であるので、RGB分解回路204では、常に画素Dの色データをRGBの各色成分に分解することになる。
このようにして、画素の色データをRGBの各色成分に分解すると、コントローラ100は、その分解後の色値に基づいてRレジスタ205,Gレジスタ206,Bレジスタ207の該当するレジスタのアドレスに使用数をセットする。その際、同一色として省いていた画素分を含ませるために、同時入力色レジスタ200にセットされた数値を当該使用数に加算してセットする(ステップS207)。
この様子を図15及び図16に示す。
図15はRGB分解回路201〜204のRGB分解動作を示す図、図16はRレジスタ205,Gレジスタ206,Bレジスタ207の数値設定動作を示す図である。なお、ここでは、各アドレスを00〜FFまでの2桁の16進数で表す。つまり、アドレス00〜FFは、0〜255の各色の値に対応している。
図15はRGB分解回路201〜204のRGB分解動作を示す図、図16はRレジスタ205,Gレジスタ206,Bレジスタ207の数値設定動作を示す図である。なお、ここでは、各アドレスを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〜204では、フラグ“1”が設定された画素の色データをR,G,Bの各色成分に分解する。そのときに得られる各色の値に応じて、Rレジスタ205,Gレジスタ206,Bレジスタ207の中の該当するアドレスに使用数「1」がセットされる。ここで、同時入力色レジスタ200に同一色が存在することを示す数値がセットされていた場合には、その数値が使用数に加算される。
図16に具体例を示す。
今、Rレジスタ205に着目して説明する。図16(a)に示すように、Rレジスタ205の各アドレスのデータ(使用数)は全て「0」に初期化されている。この状態で、R値として「00」のデータが入力されたとすると、同図(b)に示すように、アドレス「00」に使用数「1」がセットされる。その際、同時入力色レジスタ200の中の当該画素に対応したレジスタに「1」がセットされていた場合には、アドレス「00」の使用数が+1インクリメントされ、同図(c)に示すように、使用数「2」となる。
今、Rレジスタ205に着目して説明する。図16(a)に示すように、Rレジスタ205の各アドレスのデータ(使用数)は全て「0」に初期化されている。この状態で、R値として「00」のデータが入力されたとすると、同図(b)に示すように、アドレス「00」に使用数「1」がセットされる。その際、同時入力色レジスタ200の中の当該画素に対応したレジスタに「1」がセットされていた場合には、アドレス「00」の使用数が+1インクリメントされ、同図(c)に示すように、使用数「2」となる。
Gレジスタ206、Bレジスタ207についても同様であり、それぞれに各色の値に応じた使用数に同時入力色レジスタ200の値が加算されることになる。これにより、同時に入力された他の画素の色値と同じであったために処理されなかった画素の色値も正しくカウントすることができる。
図12の説明に戻って、以後、画像データから4画素ずつ順次読み出し、前記同様の処理を繰り返し行う。全画素の処理が終了すると(ステップS208のYES)、コントローラ100は、ここでの処理を終了する。
Rレジスタ205,Gレジスタ206,Bレジスタ207にセットされた各値の使用数から図17に示すようなRGBヒストグラムが生成される。このRGBヒストグラムは、図2で説明した未使用色を決定するときに有効的に用いられる。図17(a)はR成分のヒストグラムであり、Rレジスタ205の各アドレスにセットされた使用数を0〜255の階調数毎に分類して生成される。同図(b)はG成分のヒストグラムであり、Gレジスタ206の各アドレスにセットされた使用数を0〜255の階調数毎に分類して生成される。同図(c)はB成分のヒストグラムであり、Bレジスタ207の各アドレスにセットされた使用数を0〜255の階調数毎に分類して生成される。
このように、第2の実施形態によれば、RGBのヒストグラムを求める場合であっても、前記第1の実施形態と同様に、最初に所定数の画素の色データを比較し、同一色を持つ画素を除外してから処理を行うようにしたことで、全ての画素の1つ1つ色データに関して処理を行う場合に比べ、処理時間の短縮と共に消費電力を抑えることができる。
なお、前記第2の実施形態では、色データとしてRGBデータを例にして説明したが、CMYデータやYCbCrデータであっても同様に適用可能である。
また、常にフラグを“1”として比較処理を行う画素をDに固定したが、他の任意の画素であっても良い。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
次に、本発明の第3の実施形態について説明する。
前記第1の実施形態では、画像データの特徴量の検出に必要な処理として、「色数の検出処理」を行う場合を例にして説明したが、同様の手法にて、「色相・彩度・明度のヒストグラム検出処理」を行うことも可能である。
図18は本発明の第3の実施形態におけるコンピュータ装置10に備えられた画像処理ボード19の回路構成を示すブロック図であり、画像データの色相・彩度・明度のヒストグラムを検出するための回路構成が示されている。なお、前記第1の実施形態における図3と同じ部分には同一符号を付して、その説明を省略するものとする。
第3の実施形態において、画像処理ボード19には、コントローラ100、メモリ101、画素比較回路102、フラグ設定回路103〜105、フラグレジスタ116、フラグ判定回路106〜108が設けられている。
さらに、この画像処理ボード19には、画像データの色相・彩度・明度のヒストグラム検出処理に関わる構成要素として、同時入力色レジスタ200、RGB分解回路201〜204、演算回路301〜304、色相レジスタ305、彩度レジスタ306、明度レジスタ307、カウンタ308〜310が設けられている。
同時入力色レジスタ200は、画素Aに対応したレジスタA、画素Bに対応したレジスタB、画素Cに対応したレジスタCからなり、画素比較回路102に同時に入力された各画素の中で同じ色を有することを示す情報(ここでは数値「1」)を格納する。
RGB分解回路201は、Aフラグ判定回路106によって画素Aのフラグが“1”の場合、つまり、同時に入力された他の画素と色データが異なる場合にのみ、その画素Aの色データをRGBの各色成分に分解する。なお、RはRED(赤色)、GはGREEN(緑色)、BはBLUE(青色)であり、それぞれに8ビットのデータからなり、0〜255の256階調を有する。
RGB分解回路202,203についても同様である。すなわち、RGB分解回路202は、Bフラグ判定回路107によって画素Bのフラグが“1”の場合、つまり、画素比較回路102に同時に入力された他の画素と色データが異なる場合にのみ、その画素Bの色データをRGBの各色成分に分解する。RGB分解回路203は、Cフラグ判定回路108によって画素Cのフラグが“1”の場合、つまり、画素比較回路102に同時に入力された他の画素と色データが異なる場合にのみ、その画素Cの色データをRGBの各色成分に分解する。
また、画素Dのフラグは常に“1”であるので、RGB分解回路204については、その画素Dの色データをRGBの各色成分に分解するように構成されている。
演算回路301は、RGB分解回路201から出力されるRGBの各色成分の値に基づいて、画素Aの色相(H)、彩度(S)、明度(V)を求める。演算回路302〜304についても同様である。すなわち、演算回路302は、RGB分解回路202から出力されるRGBの各色成分の値に基づいて、画素Bの色相(H)、彩度(S)、明度(V)を求める。演算回路303は、RGB分解回路203から出力されるRGBの各色成分の値に基づいて、画素Cの色相(H)、彩度(S)、明度(V)を求める。演算回路304は、RGB分解回路204から出力されるRGBの各色成分の値に基づいて、画素Dの色相(H)、彩度(S)、明度(V)を求める。
ここで、演算回路301〜304には、以下のような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成分中の最小値である。
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成分中の最小値である。
色相レジスタ305は、所定階調数分のアドレスを有し、演算回路301〜304によって得られた色相(H)の値に対応したアドレスに使用数を格納する。同様に、彩度レジスタ306は、所定階調数分のアドレスを有し、演算回路301〜304によって得られた彩度(S)の値に対応したアドレスに使用数を格納する。明度レジスタ307は、所定階調数分のアドレスを有し、演算回路301〜304によって得られた明度(V)の値に対応したアドレスに使用数を格納する。
カウンタ308は、色相レジスタ305の色相(H)の各値に対応した使用数をカウントアップする。同様に、カウンタ309は、彩度レジスタ306の彩度(S)の各値に対応した使用数をカウントアップする。カウンタ310は、明度レジスタ307の明度(V)の各値に対応した使用数をカウントアップする。
次に、第3の実施形態の動作について説明する。
図19は第3の実施形態における画像処理ボード19の彩度・色相・明度ヒストグラム検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
図19は第3の実施形態における画像処理ボード19の彩度・色相・明度ヒストグラム検出処理の流れを示すフローチャートである。なお、このフローチャートで示される処理は、画像処理ボード19に備えられたコントローラ100によって実行される。
まず、コントローラ100は、フラグレジスタ116の画素A〜Dに対応したフラグの値をすべて“1”に初期化しておく(ステップS300)。
次に、コントローラ100は、画素比較回路102を起動し、メモリ101に記憶された画像データから所定数(ここでは4つ)の画素を読み出し、これらの画素間で色データの比較を行う(ステップS301)。そして、コントローラ100は、フラグ設定回路103〜105を起動し、画素比較回路102の比較結果に応じて、色データの値が一致した画素のフラグを“1”から“0”に設定する(ステップS302)。
ここで、前記第2の実施形態と同様に、色データの値が一致したときに、コントローラ100は、同時入力色レジスタ200の中の当該画素に対応したレジスタに数値「1」をセットする(ステップS303)。なお、この同時入力色レジスタ200に対する数値設定の詳細については、前記第2の実施形態において、図13及び図14を参照して既に説明済みであるため、ここでは省略する。
フラグレジスタ116に各画素のフラグが設定されると、コントローラ100は、フラグ判定回路106〜108を起動して(ステップS304)、フラグの値が“0”である“1”であるかを判定する(ステップS305)。
この場合、フラグが“0”になった画素については(ステップS305のNO)、画素比較回路102に同時に入力された画素の中に同じ色データを持つ画素があるということなので、RGB分解処理を行う必要がない。したがって、コントローラ100は、フラグが“1”の画素についてのみ処理対象として選出し(ステップS305a)、RGB分解回路201〜204を起動して、当該画素の色データをRGBの各成分に分解し、それぞれの色値を求める(ステップS306)。
なお、画素Dのフラグは常に“1”であるので、RGB分解回路204では、常に画素Dの色データをRGBの各色成分に分解することになる。
ここで、第3の実施形態では、画素の色データをRGBの各色成分に分解した後、コントローラ100は、演算回路301〜304を起動して、前記(1)〜(5)式に従ってRGBデータからHSVデータへの変換を行い、色相(H)・彩度(S)・明度(V)を求める(ステップS307)。
そして、コントローラ100は、その色相(H)・彩度(S)・明度(V)の各値に基づいて色相レジスタ305,彩度レジスタ306,明度レジスタ307の該当するレジスタのアドレスに使用数をセットする。その際、同一色として省いていた画素分を含ませるために、同時入力色レジスタ200にセットされた数値を当該使用数に加算してセットする(ステップS308)。
この様子を図20に示す。
図20は色相レジスタ305,彩度レジスタ306,明度レジスタ307の数値設定動作を示す図であり、図20(a)は色相レジスタ305の一例、同図(b)は彩度レジスタ306の一例、同図(c)は明度レジスタ307の一例を示す図である。なお、色相は0〜300の値を取り、彩度と明度は0〜255の値を取るものとする。
図20は色相レジスタ305,彩度レジスタ306,明度レジスタ307の数値設定動作を示す図であり、図20(a)は色相レジスタ305の一例、同図(b)は彩度レジスタ306の一例、同図(c)は明度レジスタ307の一例を示す図である。なお、色相は0〜300の値を取り、彩度と明度は0〜255の値を取るものとする。
色相・彩度・明度は、HSV色空間の3要素である。なお、HSV色空間は、HSV色空間、HSB色空間とも言われる。色相は、赤・黄・緑・青・紫といった「色合い」を表す。彩度は、色の「鮮やかさ」の度合いを表す。明度は、色の明度つまり「明るさ」を表す。
演算回路301〜304によって色相・彩度・明度の各値が得られると、色相レジスタ305、彩度レジスタ306、明度レジスタ307の中の該当するアドレスに使用数「1」がセットされる。ここで、同時入力色レジスタ200に同一色が存在することを示す数値がセットされていた場合には、その数値が使用数に加算される。
例えば、色相・彩度・明度の各値が0であった場合に、色相レジスタ305、彩度レジスタ306、明度レジスタ307のそれぞれのアドレス「0」に使用数「1」がセットされる。その際に、同時入力色レジスタ200の中の当該画素に対応したレジスタに「1」がセットされていた場合には、アドレス「0」の使用数が+1インクリメントされ、使用数「2」となる。
図19の説明に戻って、以後、画像データから4画素ずつ順次読み出し、前記同様の処理を繰り返し行う。全画素の処理が終了すると(ステップS309のYES)、コントローラ100は、ここでの処理を終了する。
色相レジスタ305,彩度レジスタ306,明度レジスタ307にセットされた各値の使用数から色相・彩度・明度のヒストグラムが生成される。この色相・彩度・明度のヒストグラムは、図2で説明した未使用色を決定するときに有効的に用いられる。
このように、第3の実施形態によれば、色相・彩度・明度のヒストグラムを求める場合であっても、前記第1の実施形態と同様に、最初に所定数の画素の色データを比較し、同一色を持つ画素を除外してから処理を行うようにしたことで、全ての画素の1つ1つ色データに関して処理を行う場合に比べ、処理時間の短縮と共に消費電力を抑えることができる。
なお、前記第3の実施形態では、色表現の分類方法として、色相・彩度・明度を例にして説明したが、色相・彩度・輝度などの他の分類方法を用いる場合であっても同様に適用可能である。
また、常にフラグを“1”として比較処理を行う画素をDに固定したが、他の任意の画素であっても良い。
また、前記各実施形態において、画素比較回路102によって読み出す画素の数を4つとしたが、少なくとも2つ以上あれば、1つ1つの画素を比較するようにも短時間で処理することができる。
さらに、例えば全画素数の半分をまとめて比較するような構成であっても良い。ただし、画素数が多すぎると、これらの画素間で同一色を検出するのに時間を要し、また、そのための回路数も多く必要となるため、本実施形態のように4つ程度の画素をまとめて比較することが好ましい。
また、「色数の検出処理」、「RGBのヒストグラム検出処理」、「色相・彩度・明度のヒストグラム検出処理」の他にも、画像データの特徴量の検出に必要な処理を行う場合であれば、前記各実施形態で説明したように、最初に所定数の画素間での色データの比較を行い、同じ色データを持つ画素を除いてから処理することで、処理時間の短縮化を図ることができる。
要するに、本発明は前記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10…コンピュータ装置、11…CPU、12…システムバス、13…ROM、14…RAM、14a〜14c…フレームバッファ、15…入力装置、16…表示装置、17…通信I/F、18…外部記憶装置、19…画像処理ボード、20…媒体読取り装置、20a…外部記録媒体、100…コントローラ、101…メモリ、102…画素比較回路、103〜105…フラグ設定回路、106〜108…フラグ判定回路、109〜112…比較回路、113…入力色格納レジスタ、114…カウンタ、115…色数レジスタ、116…フラグレジスタ、200…同時入力色レジスタ、201〜204…RGB分解回路、205…Rレジスタ、206…Gレジスタ、207…Bレジスタ、208〜210…カウンタ、301〜304…演算回路、305…色相レジスタ、306…彩度レジスタ、307…明度レジスタ、308〜310…カウンタ。
Claims (9)
- 画像データを記憶する画像記憶手段と、
この画像記憶手段に記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較手段と、
この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
このフラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
この処理対象選出手段によって選出された画素に基づいて、前記画像データの特徴量の検出に必要な処理を実行する処理実行手段と
を具備したことを特徴とする画像処理装置。 - 画像データを記憶する画像記憶手段と、
この画像記憶手段に記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較手段と、
この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
このフラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
画素の色データを格納するデータ格納手段と、
前記処理対象選出手段によって選出された画素の色データを前記データ格納手段に格納された色データと比較し、異なる場合に当該画素の色データを新規の色データとして前記データ格納手段に格納する比較手段と、
この比較手段によって前記データ格納手段に格納された色データの数を当該画像データの色数として計数する計数手段と
を具備したことを特徴とする画像処理装置。 - 画像データを記憶する画像記憶手段と、
この画像記憶手段に記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較手段と、
この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定手段と、
前記フラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
この処理対象選出手段によって選出された画素の色データをRGBの各色成分に分解するRGB分解手段と、
RGBの各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のデータ格納手段と、
前記RGB分解手段によって分解されたRGBの各色成分の値に基づいて、前記各データ格納手段の中の該当する使用数を前記同時入力色設定手段によって設定された数を加味して計数する計数手段と
を具備したことを特徴とする画像処理装置。 - 画像データを記憶する画像記憶手段と、
この画像記憶手段に記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較手段と、
この画素比較手段の比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定手段と、
前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定手段と、
前記フラグ設定手段によって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出手段と、
この処理対象選出手段によって選出された画素の色データをRGBの各色成分に分解するRGB分解手段と、
このRGB分解手段によって分解されたRGBの各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算手段と、
色相・彩度・明度の各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のデータ格納手段と、
前記演算手段によって得られた色相・彩度・明度の各色成分の値に基づいて、前記各データ格納手段の中の該当する使用数を前記同時入力色設定手段によって設定された数を加味して計数する計数手段と
を具備したことを特徴とする画像処理装置。 - 前記画素比較手段によって読み出す画素の数は、少なくとも2つ以上であることを特徴とする請求項1乃至4のいずれか1つに記載の画像処理装置。
- 画像データを記憶するメモリを備えたコンピュータに用いられる画像処理方法であって、
前記メモリに記憶された画像データから所定数の画素を順に読み出し、これらの画素の値を比較する画素比較ステップと、
この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ値があるか否かを示すフラグを設定するフラグ設定ステップと、
このフラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ値を持たない画素を処理対象として選出する処理対象選出ステップと、
この処理対象選出ステップによって選出された画素について、前記画像データの特徴量を検出するための処理を実行する処理実行ステップと
を有することを特徴とする画像処理方法。 - 画像データを記憶するメモリと、画素の色データを格納するレジスタとを備えたコンピュータに用いられる画像処理方法であって、
前記メモリに記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較ステップと、
この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、
このフラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、
前記処理対象選出ステップによって選出された画素の色データを前記レジスタに格納された色データと比較し、異なる場合に当該画素の色データを新規の色データとして前記レジスタに格納する比較ステップと、
この比較ステップによって前記レジスタに格納された色データの数を当該画像データの色数として計数する計数ステップと
を有することを特徴とする画像処理方法。 - 画像データを記憶するメモリと、RGBの各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のレジスタとを備えたコンピュータに用いられる画像処理方法であって、
前記メモリに記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較ステップと、
この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、
前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定ステップと、
前記フラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、
この処理対象選出ステップによって選出された画素の色データをRGBの各色成分に分解するRGB分解ステップと、
前記RGB分解ステップによって分解されたRGBの各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップと
を有することを特徴とする画像処理方法。 - 画像データを記憶するメモリと、色相・彩度・明度の各色成分毎に、それぞれの色成分の値に対応した使用数を格納する複数のレジスタとを備えたコンピュータに用いられる画像処理方法であって、
前記メモリに記憶された画像データから所定数の画素を順に読み出し、これらの画素の色データを比較する画素比較ステップと、
この画素比較ステップの比較結果に応じて、前記各画素毎に他の画素と同じ色データがあるか否かを示すフラグを設定するフラグ設定ステップと、
前記各画素の中で同じ色データを有する画素が存在した場合の数を設定する同時入力色設定ステップと、
前記フラグ設定ステップによって設定されたフラグに基づいて、前記各画素の中で同じ色データを持たない画素を処理対象として選出する処理対象選出ステップと、
この処理対象選出ステップによって選出された画素の色データをRGBの各色成分に分解するRGB分解ステップと、
このRGB分解ステップによって分解されたRGBの各色成分の値に基づいて、色相・彩度・明度の各色成分の値を演算する演算ステップと、
前記演算ステップによって得られた色相・彩度・明度の各色成分の値に基づいて、前記各レジスタの中の該当する使用数を前記同時入力色設定ステップによって設定された数を加味して計数する計数ステップと
を有することを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008248174A JP2010081346A (ja) | 2008-09-26 | 2008-09-26 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008248174A JP2010081346A (ja) | 2008-09-26 | 2008-09-26 | 画像処理装置及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010081346A true JP2010081346A (ja) | 2010-04-08 |
Family
ID=42211270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008248174A Withdrawn JP2010081346A (ja) | 2008-09-26 | 2008-09-26 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010081346A (ja) |
-
2008
- 2008-09-26 JP JP2008248174A patent/JP2010081346A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022110712A1 (zh) | 图像增强方法、装置、电子设备及计算机可读存储介质 | |
US20120014565A1 (en) | Image processing method, image processing apparatus and non-transitory computer-readable storage medium therefor | |
JP2011223633A (ja) | 高速フィルタ型のyuvからrgbへの変換 | |
JP2008187710A (ja) | 画像特性特定方法、画像特性特定システム、背景色決定方法、制御プログラム、および、記録媒体 | |
JP5223762B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2010081346A (ja) | 画像処理装置及び画像処理方法 | |
WO2023005421A1 (zh) | 作品封面显示方法、装置、介质和电子设备 | |
US11164034B2 (en) | Image analysis apparatus and image analysis method | |
US11543644B2 (en) | Digital imaging device and method for generating a digital color image | |
JP2016046701A (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
JP2019067365A (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
JP6536680B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6404865B2 (ja) | 乗算済みデータにおける色変換を支援する方法 | |
JP2018077712A (ja) | 情報処理装置及び情報処理プログラム | |
JP4188159B2 (ja) | 配色プログラム | |
JP2020088709A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2018085578A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN112053277B (zh) | 一种图像换肤的方法、装置、设备及存储介质 | |
JP4946399B2 (ja) | 画像処理装置およびプログラム | |
US20230041298A1 (en) | Information processing apparatus, information processing method, and medium | |
JP2016051277A (ja) | 被写体検索装置、被写体検索方法、および被写体検索プログラム | |
US11328383B2 (en) | Image provision apparatus, image provision method, and computer readable medium | |
JP5070116B2 (ja) | テーブルデータ生成装置及びテーブルデータ生成方法 | |
CN115482389A (zh) | 一种二值化阈值确定方法、装置、设备和存储介质 | |
JP6301278B2 (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20111206 |