(57)【要約】【課題】  ＪＰＥＧ２０００のように離散ウェーブレット変換を用いた階層符号化技術を利用して画像を蓄積する際に、その中間的なデータを利用してエッジヒストグラムを生成することで、画像データとエッジヒストグラムとを効率良く蓄積する。【解決手段】  画像検索装置に登録しようとする画像データが画像入力部４０１より入力される。画像データは、タイル分割部４０３で１以上のタイルに分割され、各タイルは離散ウェーブレット変換部４０４で離散ウェーブレット変換を行なう。そして、係数量子化部４０５、エントロピー符号化部４０６を経て符号化画像データストリームとして蓄積部４１０に蓄積される。また、離散ウェーブレット変換結果はエッジヒストグラム生成部４０８に供給され、ここでエッジヒストグラムが生成され、符号化画像データと関連づけられ、蓄積部４１０に蓄積される。【選択図】  図４
2006195817.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置であって、
登録対象となる画像データを入力する入力手段と、
入力された画像データを所定数のタイルに分割し、タイル毎に、複数の周波数成分のサブバンドの係数データに変換し、各サブバンド係数を所定の順に圧縮符号化する符号化手段と、
前記タイル毎に前記各サブバンド係数から、各サブバンドの種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成手段と、
該仮エッジヒストグラム生成手段で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、
前記符号化手段で得られた符号化画像データと、前記エッジヒストグラム生成手段で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納手段と
を備えることを特徴とする画像検索装置。
【請求項２】
前記仮エッジヒストグラム生成手段は、
前記サブバンド係数を、前記タイル数と前記Ｍ×Ｎに基づいて決定される分割数で細分化し、細分化された各サブバンド係数から、各サブバンドの種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて仮エッジヒストグラムデータを生成し、
前記エッジヒストグラム生成手段は、
前記仮エッジヒストグラム生成手段で生成された、画像全体に対する仮エッジヒストグラムの個数をＰ×Ｑ個としたとき、Ｐ／Ｍ×Ｑ／Ｎ個の仮エッジヒストグラムを１つにまとめることでＭ×Ｎ個のエッジヒストグラムデータを生成する
ことを特徴とする請求項１に記載の画像検索装置。
【請求項３】
前記仮エッジヒストグラム生成手段は、
Ｍ×Ｎに基づいて画像全体を分割した際の各領域のうち、処理対象のタイルが含む領域と領域内の範囲を求め、含む領域と領域内の範囲ごとに仮エッジヒストグラムデータを生成する
ことを特徴とする請求項１に記載の画像検索装置。
【請求項４】
前記エッジ方向判定用のエッジフィルタには、水平、垂直、４５度、１３５度を判定するフィルタが含まれることを特徴とする請求項１に記載の画像検索装置。
【請求項５】
前記エッジ方向判定用のエッジフィルタによって複数のエッジ方向が存在するときは、無方向のエッジと判定することを特徴とする請求項４に記載の画像検索装置。
【請求項６】
前記符号化手段は、ＪＰＥＧ２０００符号化に基づいて符号化することを特徴とする請求項１に記載の画像検索装置。
【請求項７】
前記仮エッジヒストグラム生成手段は、離散ウェーブレット変換処理して得られた高周波のサブバンドＬＨ１、ＨＨ１、ＨＬ１から仮エッジヒストグラムを生成することを特徴とする請求項６に記載の画像検索装置。
【請求項８】
前記仮エッジヒストグラム生成手段は、前記タイル数をｍ×ｎとしたとき、
前記ＰはＭとｍの最小公倍数、前記ＱはＮとｎの最小公倍数として決定し、
１つのタイルの各サブバンドの分割数は、Ｐ／ｍ×Ｑ／ｎ個として決定する
ことを特徴とする請求項２に記載の画像検索装置。
【請求項９】
前記エッジヒストグラムは、ＭＰＥＧ−７に準拠した４×４個のエッジヒストグラム、もしくは、４の整数倍×４の整数倍のエッジヒストグラムとすることを特徴とする請求項１に記載の画像検索装置。
【請求項１０】
ＪＰＥＧ２０００で符号化された画像データを入力する入力手段と、
該入力手段で入力された画像データを解析して得られたタイル分割数に基づき、各タイルを離散ウェーブレット変換後の係数にまで復号する復号手段と、
前記タイル毎に前記復号手段の復号結果から、各サブバンド係数の種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成手段と、
該仮エッジヒストグラム生成手段で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、
生成されたエッジヒストグラムデータと前記入力手段で入力した符号化画像データとを互いに関連付けて前記所定の記憶装置に格納する格納手段と
を備えることを特徴とする画像検索装置。
【請求項１１】
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置の制御方法であって、
登録対象となる画像データを入力する入力工程と、
入力された画像データを所定数のタイルに分割し、タイル毎に、複数の周波数成分のサブバンドの係数データに変換し、各サブバンド係数を所定の順に圧縮符号化する符号化工程と、
前記タイル毎に前記各サブバンド係数から、各サブバンドの種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成工程と、
該仮エッジヒストグラム生成工程で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成工程と、
前記符号化工程で得られた符号化画像データと、前記エッジヒストグラム生成工程で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納工程と
を備えることを特徴とする画像検索装置の制御方法。
【請求項１２】
前記仮エッジヒストグラム生成工程は、
前記サブバンド係数を、前記タイル数と前記Ｍ×Ｎに基づいて決定される分割数で細分化し、細分化された各サブバンド係数から、各サブバンドのの種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて仮エッジヒストグラムを生成し、
前記エッジヒストグラム生成工程は、
該仮エッジヒストグラム生成工程で生成された、画像全体に対する仮エッジヒストグラムの個数をＰ×Ｑ個としたとき、Ｐ／Ｍ×Ｑ／Ｎ個の仮エッジヒストグラムを１つにまとめることでＭ×Ｎ個のエッジヒストグラムデータを生成する
ことを特徴とする請求項１１に画像検索装置の制御方法。
【請求項１３】
請求項９に記載の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１４】
請求項１０に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１５】
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置であって、
登録対象となる画像データを入力する入力手段と、
入力された画像データを所定数のタイルに分割する分割手段と、
該分割手段で分割されたタイル毎に、複数の周波数成分のサブバンドの係数データに変換し、各サブバンドの係数を所定の順に圧縮符号化する符号化手段と、
前記分割手段で分割された各タイルから、各サブバンド係数の種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成手段と、
該仮エッジヒストグラム生成手段で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、
前記符号化手段で得られた符号化画像データと、前記エッジヒストグラム生成手段で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納手段と
を備えることを特徴とする画像検索装置。
【請求項１６】
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置の制御方法であって、
登録対象となる画像データを入力する入力工程と、
入力された画像データを所定数のタイルに分割する分割工程と、
該分割工程で分割された各タイル毎に、複数の周波数成分のサブバンドの係数データに変換し、各サブバンドの係数を所定の順に圧縮符号化する符号化工程と、
前記分割工程で分割された各タイルから、各サブバンド係数の種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成工程と、
該仮エッジヒストグラム生成工程で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成工程と、
前記符号化工程で得られた符号化画像データと、前記エッジヒストグラム生成工程で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納工程と
を備えることを特徴とする画像検索装置の制御方法。
【請求項１７】
請求項１６に記載の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１８】
請求項１７に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１９】
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置であって、
登録対象となる画像データを入力する入力手段と、
入力された画像データを複数の周波数成分のサブバンドの係数データに変換し、各サブバンド係数を所定の順に圧縮符号化する符号化手段と、
前記サブバンド係数をＭ×Ｎに分割した領域毎に、各サブバンドの種別毎に設けられた水平、垂直、４５度、１３５度を含むエッジ方向を判定するのエッジフィルタを用いて、Ｍ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、
前記符号化手段で得られた符号化画像データと、前記エッジヒストグラム生成手段で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納手段と
を備えることを特徴とする画像検索装置。
【請求項２０】
前記エッジ方向判定用のエッジフィルタによって複数のエッジ方向が存在するときは、無方向のエッジと判定することを特徴とする請求項１９に記載の画像検索装置。
【請求項２１】
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置の制御方法であって、
登録対象となる画像データを入力する入力工程と、
入力された画像データを複数の周波数成分のサブバンドの係数データに変換し、各サブバンド係数を所定の順に圧縮符号化する符号化工程と、
前記サブバンド係数をＭ×Ｎに分割した領域毎に、各サブバンドの種別毎に設けられた水平、垂直、４５度、１３５度を含むエッジ方向を判定するのエッジフィルタを用いて、Ｍ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成工程と、
前記符号化工程で得られた符号化画像データと、前記エッジヒストグラム生成手段で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納工程と
を備えることを特徴とする画像検索装置の制御方法。
【請求項２２】
前記エッジ方向判定用のエッジフィルタによって複数のエッジ方向が存在するときは、無方向のエッジと判定することを特徴とする請求項１９に記載の画像検索装置の制御方法。
【請求項２３】
請求項２１に記載の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２４】
請求項２３に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像検索技術、特にエッジヒストグラムを利用して画像検索する装置における画像の登録に関する技術に関するものである。
【背景技術】
【０００２】
従来より、デジタルカメラ、デジタルカムコーダなどによって撮像を行ったり、スキャナによって紙文書をスキャンするなどして、画像データを得ることが可能である。
【０００３】
近年では、撮像解像度が高くなる一方であり、必然、上記のようにして得られる画像データのデータ量も大きなものとなる。従って、画像データを蓄積管理するためには、その画像データを圧縮符号化することでデータ量を小さなものとすることが行われる。かかる圧縮符号化技術として注目されているものに、ＪＰＥＧ２０００がある。ＪＰＥＧ２０００では、離散ウェーブレット変換を何回か行なうことで、階層構造の異なる周波数のサブバンド成分を生成するものであり、異なる解像度の画像を生成するのに都合が良く、且つ、高い画質を維持することが可能な点が特徴となっている。
【０００４】
一方、画像を解析して、色、エッジ、テクスチャなどの特徴量を抽出し、その抽出された登録画像の特徴量と、キーワードとしての特徴量とを比較によって、類似画像を検索する技術がある。特に、特徴量の記述に関しては、ＭＰＥＧ−７などによる規格化が既に行われている（非特許文献１）。
【０００５】
そして、かかる類似画像検索のため、離散ウェーブレット変換後の係数の変化点から、水平、垂直のエッジを検出し、このときに生成されるＬＨ、ＨＨ、ＨＬ等のサブバンドをブロックに分割し、ブロックごとにエッジを検出し、２枚の画像に対するサブバンド内での同じブロックに含まれるエッジの量などを比較し、類似性を判定する方法も知られている（特許文献１）。
【０００６】
また、Ｍｏｔｉｏｎ−ＪＰＥＧ２０００を対象としたものもある（特許文献２）。この文献は、動画像中のフレームを静止画としてＪＰＥＧ２０００に従ってエンコードするものであり、フレーム画像を比較する際に、ＪＰＥＧ２０００のヘッダからＬＨ，ＨＨ，ＨＬのサブバンドのパケット長を得て、その合計を符号量として算出する。そして、同じ位置で、最も大きな符号量をもつサブバンドに対応する方向を、その位置のエッジ方向とすることで、エッジ特徴量を得る。このエッジ特徴量を比較して、フレーム画像の類似性を判定している。
【０００７】
ここで、前述のＭＰＥＧ−７におけるエッジヒストグラムについて説明する。
【０００８】
エッジヒストグラムでは、まず、図１に示したように入力画像を４×４のsub-imageに分割する。それぞれのsub-imageを更に所定数に近くなるように正方形(image-block)に分割する。次に、image-blockを更に４（＝２×２）分割し、それぞれの小領域に対して平均輝度を求める。次に、図２（ａ）乃至（ｄ）に示した４つの方向、すなわち、垂直方向、水平方向、４５度方向、１３５度方向と、同図（ｅ）の無方向に対応するフィルタを用いて、それぞれのエッジ強度m_v, m_h, m_d45, m_d135, m_ndを計算する。
【０００９】
例えば、垂直方向のエッジ強度m_vは、image-blockの４分割された各小領域の平均輝度をa(n)と表現すると次式のようになる（なお、n=0〜3であり、４分割された各小領域に付加した番号を示している）。
【００１０】
m_v =  |1x a(0) + (-1) x a(1) + 1 x a(2) + (-1) x a(3)|     ‥‥（１）
そして、他のエッジ強度m_v, m_h, m_d45, m_d135, m_ndも同様にして求め、その中ｍの最大値が、所定の閾値Ａ以上のとき、その最大値の方向がimage_blockのエッジの方向であると判定する。閾値Ａは、エッジが存在しているとみなせる強度の下限値である。sub-image に含まれる各image-blockの方向をカウントすることで、エッジヒストグラムEijが計算される(なお、i = 0〜4は各フィルタに対応し、j=0〜15は各sub-imageに対応する)。このようにして得られたエッジ特徴量がエッジヒストグラムである。つまり、エッジヒストグラムとは、sub-image内の各エッジ方向の頻度情報と言い換えることができる。
【非特許文献１】ETRI Journal, Volume 24, Number 1, February 2002 (“Efficient Use of MPEG-7 Edge Histogram Descriptor”  Chee Sun Won et al.)
【特許文献１】特開２００２−１９１０１２公報
【特許文献２】特開２００４−１２０４９７公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来技術（上記の特許文献１、２）によって、ＭＰＥＧ−７で規定されているエッジヒストグラムに相当する特徴量を抽出しようとすると、次のような問題が発生する。
【００１２】
先ず、特許文献１に開示されている方法では、水平、垂直のエッジしか検出されない。また、特許文献２に開示されている方法では、サブバンドＨＨには、水平方向と垂直方向のエッジ成分が混在しているため、斜め方向のエッジとして検出されることになるため、４５度と１３５度のエッジの区別して扱うことができない。
【００１３】
更に、特許文献１、２共に、無方向エッジを検出する方法が開示されていない。よって、ＭＰＥＧ−７で規定されているエッジヒストグラムを生成することができない。
【００１４】
ＪＰＥＧ２０００では、画像を、一辺が１乃至２32−１の範囲で任意のサイズでタイルに分割することが許されており、タイルごとに離散ウェーブレット変換などを行うために、タイル分割数が、エッジヒストグラムの分割数４×４＝１６と異なる場合は、エッジヒストグラムを生成することが出来ない。 
上記の理由により、結局、画像を圧縮する際にＪＰＥＧ２０００を利用する場合には、そのＪＰＥＧ２０００によるエンコード処理とは独立した、オリジナルの画像からエッジヒストグラムを抽出する処理が必要であった。また、ＪＰＥＧ２０００にエンコード済みのデータしかない場合は、エッジヒストグラムの抽出処理は、一旦、完全に復号せざるを得なかった。
【００１５】
本発明は上記の課題に鑑みてなされたものであり、ＪＰＥＧ２０００等の階層符号化による符号化処理での中間的なデータを利用して、エッジヒストグラムデータを生成することで、画像の蓄積処理に係る処理を簡易なものとし、高速にすることを可能ならしめる技術を提供しようとするものである。
【課題を解決するための手段】
【００１６】
この課題を解決するため、本発明の画像検索装置は以下の構成を備える。すなわち、
Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置であって、
登録対象となる画像データを入力する入力手段と、
入力された画像データを所定数のタイルに分割し、タイル毎に、複数の周波数成分のサブバンドの係数データに変換し、各サブバンド係数を所定の順に圧縮符号化する符号化手段と、
前記タイル毎に前記各サブバンド係数から、各サブバンドの種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成手段と、
該仮エッジヒストグラム生成手段で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、
前記符号化手段で得られた符号化画像データと、前記エッジヒストグラム生成手段で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納手段とを備える。
【００１７】
また、本発明の画像検索装置は、ＪＰＥＧ２０００で符号化された画像データを入力する入力手段と、該入力手段で入力された画像データを解析して得られたタイル分割数に基づき、各タイルを離散ウェーブレット変換後の係数にまで復号する復号手段と、前記タイル毎に前記復号手段の復号結果から、各サブバンド係数の種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成手段と、該仮エッジヒストグラム生成手段で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、生成されたエッジヒストグラムデータと前記入力手段で入力した符号化画像データとを互いに関連付けて前記所定の記憶装置に格納する格納手段とを備える。
【００１８】
また、本発明の画像検索装置は、Ｍ×Ｎのエッジヒストグラムデータをキーとし、所定の記憶装置に蓄積された画像データを検索する画像検索装置であって、登録対象となる画像データを入力する入力手段と、入力された画像データを所定数のタイルに分割する分割手段と、該分割手段で分割されたタイル毎に、複数の周波数成分のサブバンドの係数データに変換し、各サブバンドの係数を所定の順に圧縮符号化する符号化手段と、前記分割手段で分割された各タイルから、各サブバンド係数の種別毎に設けられたエッジ方向判別用のエッジフィルタを用いて、仮エッジヒストグラムデータを生成する仮エッジヒストグラム生成手段と、該仮エッジヒストグラム生成手段で生成された画像全体に対する仮エッジヒストグラムからＭ×Ｎ個のエッジヒストグラムデータを生成するエッジヒストグラム生成手段と、前記符号化手段で得られた符号化画像データと、前記エッジヒストグラム生成手段で生成されたエッジヒストグラムデータとを互いに関連付けて前記所定の記憶装置に格納する格納手段とを備える。
【発明の効果】
【００１９】
本発明によれば、ＪＰＥＧ２０００のように離散ウェーブレット変換を用いた階層符号化技術を利用して画像を蓄積する際に、その中間的なデータを利用してエッジヒストグラムを生成することで、画像データとエッジヒストグラムとを効率良く蓄積することが可能になる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００２１】
＜第１の実施形態＞
以下に本実施の形態について図面を用いて詳細に説明する。
【００２２】
図３は、本実施形態における画像処理装置の制御構成を示すブロック図である。
【００２３】
図３において、３０１はＣＰＵであり、本実施形態の画像処理装置における各種制御を実行する。３０２はＲＯＭであり、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。３０３はＲＡＭであり、ＣＰＵ３０１が処理するための制御プログラムを格納するとともに、ＣＰＵ３０１が各種制御を実行する際の作業領域を提供する。３０４はキーボード、３０５はマウスであり、ユーザによる各種入力操作環境を提供する。３１２は上記の構成を接続するバスである。
【００２４】
３０６は外部記憶装置であり、ハードディスクやフロッピー（登録商標）ディスク、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ、不揮発性のメモリカード等で構成される。この外部記憶装置３０６には、ＯＳをはじめ、実施形態における画像データを蓄積するデータベース並びに、そのデータベースへの登録と検索処理を行なうアプリケーションプログラムが格納されている。
【００２５】
３０７は表示器であり、ディスプレイなどで構成され、結果等をユーザに対して表示する。３０８はネットワークインターフェースであり、ネットワーク上の各機器との通信を可能とする。３０９はＩＥＥＥ１３９４、ＵＳＢなどのインターフェースであり、３１０のスキャナや３１１のデジタルカメラなどの機器と通信を行う。
【００２６】
なお、上記の構成において外部記憶装置３０６、スキャナ３１０、デジタルカメラ３１１はネットワーク上に配置されたもので代用してもよい。
【００２７】
図４は、本実施形態におけるアプリケーションプログラムが外部記憶装置３０６からＲＡＭ３０３に読込まれ、ＣＰＵ３０１で実行した際の機能ブロック構成図である。
【００２８】
図４において、４０１は画像入力部であり、スキャナ３１０、デジタルカメラ３１１などの機器で取得した画像を、インターフェース３０９を介して、或いは、インターネット上やＬＡＮ上に存在する非圧縮の画像を、ネットワーク(インターネット、ＬＡＮ)からネットワークインターフェース３０８を介して入力するものである。４０２は色変換部であり、入力された画像を所定の色空間（実施形態では輝度、２つの色差成分）に変換するものである。４０３はタイル分割部であり、色変換部４０２より入力されたコンポーネントごとにタイル状に分割を行うものである。ただし、この処理は必須ではなく、タイル分割を行わない場合（１画像＝１タイルの場合）は、省略される。４０４は離散ウェーブレット変換部であり、４０５は離散ウェーブレット変換結果の係数を量子化する係数量子化部である。４０６はエントロピー符号化部であり、量子化された離散ウェーブレット係数を、エントロピー符号化するものである。
【００２９】
４０７はビットストリーム形成部であり、エントロピー符号化されたデータを配置し、ビットストリームを形成するものである。４０８はエッジヒストグラム生成部であり、離散ウェーブレット変換部４０４で得られたサブバンドからエッジを検出し、エッジヒストグラムを生成する。４０９は記録部であり、ビットストリーム形成部４０７で得られたＪＰＥＧ２０００のビットストリームと、エッジヒストグラム生成部４０８で得られたエッジヒストグラムをもとにファイルを作成し、蓄積部４１０に蓄積するものである。このとき、エッジヒストグラムのデータとビットストリームは、１つのファイルにして格納しても良いし、別々なファイルとして格納しても良い。後者の場合には、エッジヒストグラムのファイルと、ビットストリームのファイルとを関連付けるようにして格納する。実施形態では、後者を例にして説明する。
【００３０】
４１０は蓄積部であり、外部記憶装置３０６で構成され、ＪＰＥＧ２０００の画像データとＭＰＥＧ−７の特徴量データ（上記エッジヒストグラムのデータ）を蓄積するものである。４１１は操作部であり、キーボード３０４、マウス（登録商標）等のポインティングデバイス３０５などで構成され、ユーザからの検索指示などを受け付けるものである。４１２は比較部であり、ユーザより入力された情報より生成されたエッジヒストグラムと、蓄積部４１０に蓄積されたエッジヒストグラム同士を順に比較して、その距離を演算するものである。４１３は表示部であり、表示器３０７で構成され、ユーザに対して検索結果の画像（距離が所定以下の画像）の表示を行うものである。
【００３１】
本画像処理装置では、画像をＪＰＥＧ２０００に準拠した符号化(画像入力部４０１からビットストリーム形成部４０７)を行って、蓄積部４１０へ記録する(記録部４０９)。そして、この符号化を行なっている途中段階でのデータから、ＭＰＥＧ−７のエッジヒストグラムに相当する特徴量を抽出し(エッジヒストグラム生成部４０８)、前記ＪＰＥＧ２０００で符号化された画像データに関連付けて、記録する(記録部４０９)。以上のようにして登録した画像を検索対象画像として、エッジヒストグラムをもとに検索を行う(操作部４１１〜表示部４１３)ことを可能にする。
【００３２】
＜画像の登録処理＞
先ず、実施形態における本画像処理装置に、新規に画像データとそのエッジヒストグラムの登録する処理を説明する。
【００３３】
そこで、まず、画像入力部４０１からビットストリーム形成部４０７における、ＪＰＥＧ２０００符号化処理について説明する。
【００３４】
＜JPEG2000符号化処理の説明＞
図５はＪＰＥＧ２０００の符号化処理のフローチャートである。図４と図５を用いて、画像の符号化の処理を説明する。なお、ヘッダの作成方法等、詳細についてはＩＳＯ／ＩＥＣ勧告書を参照されたい。
【００３５】
本実施の形態における符号化対象となる画像データは、ＲＧＢの各色成分について、８ビットが割り当てられているカラー画像とする。しかしながら、各成分が４ビット、１０ビット、１２ビットといった具合に８ビット以外のビット数で表すカラー画像に適用することも可能である。
【００３６】
まず、画像入力部４０１において、符号化対象となる画像を構成する画素データがラスタースキャン順に入力され、色変換部４０２に出力される(ステップＳ５００)。
【００３７】
次に、色変換部４０２は、入力された３色成分Ｒ、Ｇ、Ｂの画像データに対して色変換を行い、得られた色差成分を、縦横方向を１／２にサブサンプリングする(ステップＳ５０１)。なお、色変換式は以下の通りであり、Ｙ０が輝度成分，Ｙ１、Ｙ２が色差成分である。
Y0=0.2991*R+0.5871*G+0.114B
Y1=-0.16875*R-0.33126*G+0.5*B
Y2=0.5R-0.41869*G-0.08131*B
【００３８】
色変換部４０２からは、生成した輝度，２つの色差のデータ（以下、これらを総称してコンポーネントデータという）が、順にタイル分割部４０３に送られる。なお、タイル分割部４０３以降の処理において、コンポーネントデータは独立に符号化されるものとする。
【００３９】
次に、タイル分割部４０３において、画像をタイル状に分割する。(ステップＳ５０２)。なおこのステップは、前述した通りタイル分割を行わない場合（１画像＝１タイルの場合）は、省略される。また、タイルの縦横のサイズはそれぞれ、１から２32−１までの任意のサイズが指定できる。
【００４０】
離散ウェーブレット変換部４０４は、タイル分割部４０３から入力される、１つの静止画像中の１つのタイルデータx(n)に対して、複数の画素（参照画素）のデータ（参照画素データ）を用いて離散ウェーブレット変換を行う（ステップＳ５０３）。
【００４１】
以下に、輝度成分に関する離散ウェーブレット変換後のデータ（離散ウェーブレット変換係数）を示す。
【００４２】
Y(2n)   = X(2n) + floor{ (Y(2n-1) + Y(2n+1) + 2)/4 }
Y(2n+1) = X(2n+1) - floor{ (X(2n) + X(2n+2))/2 }
Y(2n),Y(2n+1)は離散ウェーブレット変換係数列であり、Y(2n)は低周波サブバンド、Y(2n+1)は高周波サブバンドに相当する。また、上式においてfloor{X}はXを超えない最大の整数値を表す。
【００４３】
本変換式は一次元のデータに対するものであるが、この変換を水平方向、垂直方向の順に適用して二次元空間である画像に対して変換処理を行なうことになる。この結果生成されるサブバンドを示すのが図６（ａ）であり、図示のように、ＬＬ，ＨＬ，ＬＨ，ＨＨの４つのサブバンドに分割することができる。ここで、Ｌは低周波サブバンド、Ｈは高周波サブバンドを示している。
【００４４】
次に同図（ａ）のＬＬサブバンドを、同様に４つのサブバンドに分け（図６（ｂ））、その中のＬＬサブバンドをまた４サブバンドに分ける（図６（ｃ））。この結果、合計１０個のサブバンドが生成できる。１０個のサブバンドそれぞれに対して、図６（ｃ）の様にＨＨ１，ＨＬ１，ＬＨ１、ＨＨ２、ＨＬ２、ＬＨ２、…ＬＬと表現する。なお、サブバンドＬＬは、１タイル中に１つしか存在しないので添え字は付けない。上記で表わされるサブバンドと画像の解像度の関係は次の通りに定義できる。
・ＬＬのみ復号することで得られる画像：レベル０の解像度の復号画像
・レベル０の画像＋ＬＨ３,ＨＬ３,ＨＨ３を復号することで得られる画像：レベル１の解像度の復号画像；
・レベル１の画像＋ＬＨ２,ＨＬ２,ＨＨ２を復号することで得られる画像：レベル２の解像度の復号画像；
・レベル２の画像＋ＬＨ１,ＨＬ１,ＨＨ１を復号することで得られる画像：レベル３の解像度の復号画像；
上記の画像において、レベル数が高い程、解像度が高い（画素数が多い）ことを示すことになる。
【００４５】
１０個のサブバンドの変換係数は、一旦ＲＡＭ３０３に格納されＬＬ，ＨＬ３，ＬＨ３，ＨＨ３，ＨＬ２，ＬＨ２，ＨＨ２，ＨＬ１，ＬＨ１，ＨＨ１の順、つまり、レベルが低いサブバンドからレベルが高いサブバンドの順に、係数量子化部４０５へ出力される。
【００４６】
なお、色差成分に対する離散ウェーブレット変換に関しては、輝度成分に対する離散ウェーブレット変換と比較して、分割回数が１回少なくなる。
【００４７】
係数量子化部４０５では、ＲＡＭ３０３から出力される各サブバンドの変換係数を各周波数成分毎に定めた量子化ステップで量子化し、量子化後の値（係数量子化値）をエントロピー符号化部４０６へ出力する（ステップＳ５０４）。係数値をＸ、この係数の属する周波数成分に対する量子化ステップの値をｑとするとき、量子化後の係数値Q(X)は次式によって求めるものとする。
Q(X)=floor{(X/q)+0.5}
【００４８】
本実施の形態における各周波数成分と量子化ステップとの対応を図２０に示す。同図に示す様に、よりレベルが高いサブバンドの方に、大きい量子化ステップを与えている。なお、各サブバンド毎の量子化ステップは予めＲＡＭ３０３やＲＯＭ３０２などのメモリに格納されているものとする。
【００４９】
図５の説明に戻る。上記のようにして、１つのサブバンドにおける全ての変換係数を量子化すると、それら係数量子化値をエントロピー符号化部４０６へ出力する。エントロピー符号化部４０６は、入力された係数量子化値をエントロピー符号化することになる（ステップＳ５０５）。
【００５０】
ここでは、まず、図７に示されているように、入力された係数量子化値の集まりである各サブバンドが矩形（コードブロックと呼ぶ）に分割される。なお、このコードブロックの大きさには、２ｍ×２ｎ（ｍ、ｎは２以上の整数）等が設定される。さらにこのコードブロックは、図８に示されているように、各係数の同ビット位置で表わされるビットプレーンに分割される。その上で、図９に示されているように、あるビットプレーンにおける各ビットは、ある分類規則に基づいて３種類に分けられて、同じ種類のビットを集めたコーディングパスが３種類生成される。入力された係数量子化値は、ここで得られたコーディングパスを単位として、エントロピー符号化である二値算術符号化が行われ、エントロピー符号化値が生成される。
【００５１】
なお、ここでエントロピー符号化の具体的な処理順序は、１つのコードブロックに注目すると上位ビットプレーンから下位ビットプレーンの順に符号化され、その１コードブロックのあるビットプレーンに注目すると、図１０にある３種類のパスを上から順に符号化する様になっている。エントロピー符号化されたコーディングパスは、ビットストリーム形成部４０７に出力される。
【００５２】
次に、符号化すべきコンポーネントデータが残っている場合は、処理をステップＳ５０３に戻し、符号化すべきコンポーネントデータが残っていない場合は、処理をステップＳ５０７に進める（ステップＳ５０６）。
【００５３】
次に、符号化すべきタイルが残っている場合は、処理をステップＳ５０３に戻し、符号化すべきタイルが残っていない場合は、処理をステップＳ５０８に進める（ステップＳ５０７）。
【００５４】
なお、コンポーネント、タイルそれぞれの単位での終了判定（Ｓ５０６,Ｓ５０７）は、どちらの単位から行ってもよい。即ち、ステップＳ５０６とＳ５０７の順番を入れ替えても構わない。また、タイル分割を行わないときは、もちろん、ステップＳ５０７は省略される。
【００５５】
ビットストリーム形成部４０７では、全てのコンポーネントデータからコーディングパスを集め、単一もしくは複数のレイヤーを構成し、それらレイヤーをデータの単位としてビットストリームが形成される（ステップＳ５０８）。更に詳しく説明する次の通りである。
【００５６】
ビットストリーム形成部４０７は、図１１に示されているように、全てのコンポーネントデータの複数のサブバンドにおける複数のコードブロックから、エントロピー符号化されたコーディングパスを集めた上で、レイヤーを構成する。なお、図１１に示されているように、あるコードブロックからコーディングパスを取得する際、常に該コードブロックにおいて最上位に存在するコーディングパスが選ばれる。このコーディングパスの選択基準は、復号画像の画質向上への寄与度（PSNR，MSE）などである。
【００５７】
その後、ビットストリーム形成部４０７は、図１２に示されているように、生成したレイヤーを上位レイヤーから下位レイヤーに順に並べ、さらに各レイヤーにおいては、低周波レベルから高周波レベルまで順にならべ、また各周波数レベルにおいては、Y0,Y1,Y2の順に、データを並べる。その上で、その先頭にヘッダを付加してビットストリームを生成する。このヘッダには、入力画像やタイルの縦横のサイズ、圧縮に使用した様々なパラメータ，レイヤーの符号長に関する情報等が格納される。
【００５８】
以上、ＪＰＥＧ２０００による画像の符号化処理、すなわち、図４の符号４０１乃至４０７の各処理部について説明した。
【００５９】
次に、ＭＰＥＧ−７のエッジヒストグラムに相当する特徴量を抽出する処理(エッジヒストグラム生成部４０８)について説明する。
【００６０】
先に説明したように、離散ウェーブレット変換部４０４で変換して得られた各サブバンドの係数データは、ＲＡＭ３０３に一時的に格納されている。実施形態におけるエッジヒストグラム生成部４０８は、１タイル分の係数データのＲＡＭ３０３への格納が完了したことをトリガにして、エッジヒストグラムの生成処理を行なう。なお、説明を容易にするためにタイル分割を行わない場合、すなわち、１画像＝１タイルの場合のエッジヒストグラム生成処理について先ず述べる。そして、その上で１画像＝複数タイルについて説明することとする。
【００６１】
輝度成分に関する離散ウェーブレット変換係数のうち、図６(ｃ)に示した、ＬＨ１,ＨＨ１，ＨＬ１が最も高周波成分を多く含んでいる。また、一次元の離散ウェーブレット変換を、水平方向に適用した後、垂直方向に適用していることから、サブバンドＬＨ１には垂直方向、ＨＬ１には水平方向、ＨＨ１に垂直方向と水平方向を組み合わせた斜め方向(45度方向と135度方向)、それぞれのエッジの成分が最も多く含まれることがわかる。
【００６２】
本実施形態では、このような特徴を利用して、エッジヒストグラムで使用しているフィルタ(図２（ａ）乃至（ｅ）)を、前述の各サブバンド対して適用して、エッジを抽出し、ヒストグラムを取ることによって、エッジヒストグラムを抽出する。
【００６３】
なお、エッジヒストグラムでは前述した通り、エッジ抽出用フィルタを画像データに対して施しているため、サブバンドに対してエッジフィルタを適用する方法は、前述の方法とは厳密には異なる。しかしながら、サブバンドは元画像を、各エッジ成分を強調したような画像に分解したものであるといえる。なおかつ、エッジヒストグラムは、ブロック中のエッジの厳密な個数でなく、エッジの統計情報であるヒストグラムを取ることが重要であるため、どちらの方法でもほぼ同等の結果が得られると言える。よって、２つの方法（画像からダイレクトにエッジヒストグラムを抽出する方法と、ウェーブレット変換して得られた最高解像度のサブバンドからエッジヒストグラムを抽出する方法）で抽出したエッジヒストグラムが混在していても、後述する距離計算に大きな影響がないため、正しい検索を行うことが出来る。
【００６４】
ここでの説明は、１画像＝１タイルとしており、ＭＰＥＧ−７によるエッジヒストグラムは４×４個のヒストグラムデータで構成するから、図２１に示すように、サブバンドＬＨ１、ＨＨ１、ＨＬ１それぞれを４×４の領域に分割する。各サブバンド内の各領域を、その座標でＬＨ１（ｎ，ｍ）、ＨＨ１（ｎ，ｍ）、ＨＬ１（ｎ，ｍ）（ｎ、ｍ＝０乃至３）として表現すると、同じ相対座標、例えば、ＬＨ１（０、０）、ＨＨ１（０、０）、ＨＬ１（０、０）は原画像中の同じ領域位置における成分値であると見なせる。この各領域を、sub-imageと見立てて、離散ウェーブレット係数４つ１組を平均輝度をとった後のimage-blockと見立てるか、各領域を所定数（例えば１０×１０）に更に分割した各領域をimage-blockと見立て、各々のサブバンドの属性に従ったエッジ強度を算出する。例えば、サブバンドＬＨ１は、垂直方向のエッジ強度m_vを求めるために利用し、サブバンドＨＬ１は水平方向のエッジ強度m_h、サブバンドＨＨ１では４５度及び１３５度のエッジ強度m_d45、m_d135を算出するために利用する。
【００６５】
処理の詳細を図１３のフローチャートを用いて説明する。
【００６６】
まず、ステップＳ１３０１にて、サブバンドＬＨ１（係数の絶対値）に対し、垂直フィルタを用い処理を施す（式（１）の処理を行なう）。サブバンドはサブサンプリングされているために、解像度は元の画像のより低くなっている。エッジヒストグラムにおいても、image-blockを更に4分割した領域について平均輝度をとるため、フィルタを施す段階では、解像度が低くなっているとみなせる。そこで、離散ウェーブレット係数４つ一組を平均輝度をとったあとのimage-blockとみなして、フィルタを施すことにする。なお、元の画像の解像度が十分に高ければ、サブバンド内で、所定の大きさのimage-blockをとり、通常のエッジヒストグラムを作成するときと同様に、image-block内を4分割した領域の係数の絶対値を平均してもよい。こうすることによって、ノイズなどの影響を減らすことができる。
【００６７】
次に、ステップＳ１３０２にて、サブバンドＨＬ１１(係数の絶対値)に水平フィルタを用いて式（１）を適用する。
【００６８】
次に、ステップＳ１３０３にて、サブバンドＨＨ１(係数の絶対値)は、前述した通り、45度と135度両方のエッジを含むので、まず、４５度フィルタを用いて式（１）を適用する。
【００６９】
次に、ステップＳ１３０４にて、サブバンドHH１(係数の絶対値)に135度フィルタを用いて式（１）を適用する。
【００７０】
次に、各サブバンドのimage-blockに相当する同じ相対位置のエッジ強度(m_v、m_h、m_d45、m_d135)を比較し、エッジ方向の決定を行う。最も大きいエッジ強度で、所定の閾値以上であるエッジ方向がそのimage-blockのエッジ方向とする。ただし、垂直に交わる２つのエッジ方向(例えば、水平と垂直方向)、または、３つ以上のエッジ強度が十分に大きいときは、エッジの方向が特定できないので、無方向のエッジであるとみなす（ステップＳ１３０５）。
【００７１】
次に、各位置のエッジ方向をエッジヒストグラムのSub-imageに合うように、サブバンドを４×４のブロックに相当する領域ごとにヒストグラムを取ることで、エッジヒストグラムを生成する（ステップＳ１３０６）。
【００７２】
なお、サブバンドからエッジを抽出してからブロックごとにエッジのヒストグラムを取ったが、先にブロック分割を行い、ブロックごとにステップＳ１３０１からＳ１３０５の処理を行い、エッジヒストグラムを生成してももちろん構わない。
【００７３】
以上は１画像＝１タイルの例であったが、以下では、１画像を複数のタイルに分割した場合のエッジヒストグラム生成処理について説明する。
【００７４】
タイルの分割数は、画像の縦・横のサイズを、それぞれタイルの縦・横サイズで除算することで求まる。前述したとおり、タイルのサイズは１から２32−１までの範囲内で任意であるため、エッジヒストグラムの分割数４×４と同じになるとは限らない。もちろん、１つの画像を４×４のタイルに分割するのであれば、各タイルのサブバンドＬＨ１、ＨＨ１、ＨＬ１が、エッジヒストグラムの１つのSub-image内のヒストグラムデータを生成するために利用できることになるので、容易に作成できる。そこで、ここでは、タイル数が４×４以外の例を説明する。
【００７５】
エッジヒストグラムは４×４個のヒストグラムデータで構成される。そこで、画像が水平方向Ｍ、垂直方向Ｎに分割され、各分割領域をタイルとして離散ウェーブレット変換、量子化、エントロピー符号化を行なう場合には、そのＭと４の最小公倍数、Ｎと４の最小公倍数を単位に先ず仮のエッジヒストグラム作成し、その後で４×４の正規のエッジヒストグラムに集計するようにした。
【００７６】
一例を図１４（ａ）及び（ｂ）を用いて説明する。同図（ａ）において、符号１４０１の太実線が画像全体を表している。この例では、タイル分割は、実線１４０２によって３×３で行われている例である。エッジヒストグラムの４×４の分割は、破線１４０３で示した通りになり、当然ながら分割数が揃っていないし、分割の境界も揃っていない。
【００７７】
ここで、上記条件に従えば、最小公倍数である総計１２×１２で分割されているものとして、１２×１２個の仮のエッジヒストグラム用のデータ領域をＲＡＭ３０３に確保し、仮エッジヒストグラムを作成する。このとき、１タイルのサブバンドＨＬ１、ＨＨ１、ＬＨ１の水平方向の分割数を、「１２」をタイル数で除算して得られた数「４」で決定する。また、垂直方向の分割数も同様に決定する。
【００７８】
そして、エッジヒストグラム生成部４０８は、タイルごとに図１４（ｂ）に示したようにタイル１４０４を実線１４０５で示した４×４で分割した単位で、各方向のエッジの個数を集計(前述のステップＳ１３０１からＳ１３０５の処理)する。４×４で表わされる領域は、画像全体を１２×１２に分割した際の３×３のタイルの大きさに対応するためである。
【００７９】
このようにして得られた１２×１２の仮エッジヒストグラムを、３×３単位に１つにまとめることによって、最終的に４×４の正規のエッジヒストグラムを得ることが出来る。なお、まとめる際には、ヒストグラムの各ビンを単純に足し合わせればよいことは、言うまでも無い。
【００８０】
以上説明したＪＰＥＧ２０００の符号化処理によりビットストリーム形成１０７より得られるＪＰＥＧ２０００ビットストリームと、エッジヒストグラム生成部４０８より得られるエッジヒストグラムは、記録部４０９に送られ、蓄積部４１０に記録（登録）される。
【００８１】
以上であるが、ＭＰＥＧ−７ではＸＭＬの形式で記述されるので、これを一つのファイルして外部記憶装置３０６に記録し、ＪＰＥＧ２０００ビットストリームはＩＳＯ/ＩＥＣ１５４４４−１に規定されているＪＰ２ファイルの形式で外部記憶装置３０６に記憶する。そして、外部記憶装置３０６に予め設けられや双方のファイルを関連付けるインデックス情報を更新する。
【００８２】
図１５は、実施形態におけるインデックス情報の内容を示す一例である。第１フィールドの画像ＩＤは、登録される画像に割り当てられたＩＤ(識別子)である。第２フィールドには、エッジヒストグラムが記述されたＭＰＥＧ−７ファイルへのパス付きファイル名が格納される。第３フィールドには、画像ファイル名がやはりパス付きで格納される。画像検索時には、第２フィールドのＭＰＥＧ−７（検索ファイル）の内容と、検索キーワードとしてのエッジヒストグラムとを順に比較することで、類似度の高い順（距離の短い順）に並べ、その順番に従った所定数の画像を読出し、表示することになる。以下、この検索処理について説明する。
【００８３】
［検索処理］
本画像処理装置における検索処理について、図１６のフローチャートを用いて説明する。
【００８４】
まず、検索元画像を指定する(ステップＳ１６０１)。この検索元画像を指定する方法としては、例えば、蓄積部４１０中の画像をランダムに選び出し、表示部４１３にして、ユーザはその中から所望する画像に近いものを指示して、対応するエッジヒストグラムを読み出す方法や、ユーザが所望の画像に類似した画像そのものを画像入力部１０１より入力する方法がある。後者の場合、エッジヒストグラムは、前述と全く同様なステップで抽出される。
【００８５】
次に、比較部４１２は、蓄積部４１０中の各画像のエッジヒストグラムを順に読み出し、検索元画像のエッジヒストグラムとの距離を算出する（ステップＳ１６０２）。具体的には、エッジヒストグラムの各ビンの差分の絶対値の総和を求めればよい。距離が小さいほど類似していることになり、最も距離が小さいものが第一候補となる。このように算出された距離と検索先画像のＩＤのリストをＲＡＭ３０３に一時保存する。なお、差分の絶対値の総和を求める代わりに、差分の２乗和を求めるようにしても構わない（要は、求める距離には、正負の符号が無くなれば良い）。
【００８６】
次に、比較部４１２は、前記リストを距離の昇順にソートした後、順に画像ＩＤからインデックスを参照して画像ファイルを蓄積部４１０より読み出し、レベル０の解像度まで復号した画像をサムネイル画像とする。（ステップＳ１６０３）
次に、表示部４１３は、検索結果として候補の前記サムネイル画像を距離と共にマトリックス上に並べて表示する（ステップＳ１６０４）。第一候補から順に列の左から右へ、上の列から下の列へ並べて表示する。ユーザはこれにより所望の画像が得られたかどうかを確認することができる。
【００８７】
なお、検索候補の中の所望とする画像が選択された場合、該当する画像の編集処理や印刷処理に移行させる等の処理を行なうことも可能である。
【００８８】
＜第２の実施形態＞
上記第１の実施形態では、エッジヒストグラム生成部４０８を、離散ウェーブレット変換部４０３の出力(サブバンド)を入力とするように構成したが、図１７に示したように、タイル分割部４０３の出力(タイルごとの画像データ)を入力とするように構成してもよい。
【００８９】
図１７において、図４と同じ番号を付与したものは、同様の処理を行うので、説明は省略する。
【００９０】
第１の実施形態との違いは、本第２の実施形態のエッジヒストグラム生成部１７０８はエッジヒストグラム作成をサブバンドに対してではなく、画像データそのものに対して行う点にある。即ち、タイル単位に通常のエッジヒストグラム作成時のように、各方向に対応するエッジフィルタを施し、同じ位置に対して、最も強く、かつ、閾値以上のエッジ方向を、その位置のエッジ方向とする。もちろん、無方向エッジフィルタも使用して構わない。また、タイル分割数がＭ×Ｎの場合には、Ｍと４、Ｎと４それぞれの最小公倍数を求め、これを単位に仮エッジヒストグラムを求める。そして、最終的に４×４のエッジヒストグラムにまとめるようにすればよい。
【００９１】
＜第３の実施形態＞
上記第１、第２の実施形態では、画像を符号化する際に、エッジヒストグラムを抽出し、記録する方法について述べたが、既に、圧縮符号化されたＪＰＥＧ２０００の画像データを実施形態の装置に登録する場合について説明する。この場合、ＪＰＥＧ２０００の符号化データを、画像データにまで復号するのではなく、逆量子化を行なって、サブバンドまでの復号化を行い、その後に、第１の実施形態と同様な処理を行なうことで、エッジヒストグラムが抽出できる。なお、登録画像は入力した符号化データをそのまま採用すればよい。
【００９２】
このときの構成は図１８に示すようなものとなる。図４と同じ番号を付与してあるものは、第１の実施形態と同様であるので説明を省略する。なお、本第３の実施形態を第１の実施形態に組み合わせる場合には、入力した画像が符号化されているのか否かを判別する処理を設け、非符号化データである場合に第１の実施形態の構成に、符号化されている場合には第３の実施形態の構成になるようにすれば良い。
【００９３】
以下、本第３の実施形態の処理の流れを図１９のフローチャートに従って説明する。
【００９４】
まず、符号化データ入力部１８０１において、ＪＰＥＧ２０００のファイルを読み出す(ステップＳ１９０１)。ＪＰＥＧ２０００のファイルは、ネットワークから入力しても構わないし、外部記憶装置３０６に一時的に記憶したファイルでも構わない。このとき、ＪＰＥＧファイルのヘッダを調べることで、その画像のタイル数Ｍ×Ｎを検出する。そして、検出されたＭと４の最小公倍数、Ｎと４の最小公倍数で、１タイルについてのサブバンドＬＨ１、ＨＨ１、ＨＬ１の分割数を求める。
【００９５】
ＪＰＥＧ２０００のビットストリームはパケットごとに、５種類のプログレッシブ形態で並べることができる。例えば、ＬＲＣＰ(Layer-resolution level-component position progressive)の形態でパケットが配置されているときは、レイヤーごとにパケットが並んでいるので、全パケットを解いて、以降の処理を行う。また、例えば、ＲＬＣＰ(Resolution level-layer-component-position progressive)の形態でパケットが配置されているときは、解像度のレベルに応じて、パケットが並んでいるので、最も高周波のサブバンドに対応するパケットのみを解いて、以降の処理を行うようにすればよい。
【００９６】
次に、エントロピー復号部１８０２でエントロピー復号される(ステップＳ１９０２)。
【００９７】
続いて、エントロピー復号された量子化値は、逆量子化部１８０３で逆量子化される(ステップＳ１９０３)。なお、逆量子化は以下の通り行われる。
【００９８】
Ｘｒ＝Ｑ×ｑ
ただし、Ｑは量子化値、ｑは量子化ステップ、Ｘｒは復元された離散ウェーブレット変換係数である。
【００９９】
なお、エントロピー復号、逆量子化する対象は、ＬＨ１、ＨＨ１、ＨＬ１についてのみで良く、それ以下の解像度のサブバンドについては復号処理する必要はない。以上の結果、サブバンドＬＨ１、ＨＨ１、ＨＬ１の係数を得ることができる。
【０１００】
次いで、先に決定した分割数で、サブバンドＬＨ１、ＨＨ１、ＨＬ１それぞれを分割し、各分割領域毎に、それぞれに対して仮エッジヒストグラムを作成する（ステップＳ１９０４）。
【０１０１】
そして、ステップＳ１９０５にて、全タイルに対する処理が終了したか否かを判断し、否の場合にはステップＳ１９０２以降の処理を繰り返す。
【０１０２】
さて、上記処理を全タイルに対して行なうと、結局のところ、タイル数がＭ×Ｎである場合、「４とＭの最小公倍数」×「４とＮの最小公倍数」個の仮エッジヒストグラムが作成できる。４とＭの最小公倍数をｑ、４とＮの最小公倍数をｐと定義すると、ｑ／４×ｐ／４個の仮ヒストグラムデータを１つにまとめることで、ＭＰＥＧ−７に規定される４×４のエッジヒストグラムを作成する（ステップＳ１９０６）。
【０１０３】
なお、ステップＳ１９０４、Ｓ１９０６のエッジヒストグラム生成処理については、第１の実施形態で述べた処理(図１３)と同様であるので省略する。ただし、量子化される前の係数の値に戻すことはできないので、同じ画像を対象としても、エッジフィルタを施した結果は、第１、第２の実施形態と完全に一致した値にはならないが、エッジヒストグラムそのものが統計量であるので、値の傾向は変わらず、よって、検索には十分なものが得られる。
【０１０４】
＜その他の実施の形態＞
上記実施形態において、サブバンドＬＨ１に対して垂直フィルタ、ＨＬ１に対して水平フィルタを施したが、それぞれの係数(の絶対値)そのものが、既に、それぞれ水平、垂直方向のエッジの強度を表しているので、これをそのまま利用してもよい。ただしこの場合は、離散ウェーブレット変換のフィルタとエッジヒストグラムのフィルタ特性が異なるため、通常の方法で抽出されたエッジヒストグラムと、本方法によって抽出されたエッジヒストグラムを混在させて検索を行う場合には、いずれで検索するのかを選択する必要がある。
【０１０５】
また、実施形態では、インデックス情報を用いて、ＭＰＥＧ−７ファイルとＪＰ２Ｋファイル（ＪＰＥＧ２０００による符号化画像データファイル）を関連付けたが、ディレクトリ構成を規定し、対応するＭＰＥＧ−７ファイルとＪＰ２ファイルで必ず同一のファイル名（拡張子が異なる）を使用するなどの規定を設けることによっても、関連付けて記録することができる。
【０１０６】
また、実施形態において、エッジヒストグラムとＪＰＥＧ２０００ビットストリームはそれぞれ、別ファイルとしたが、１つのファイルとして記録してもよい。その方法として例えば、ＪＰ２Ｋファイルフォーマット中にはＸＭＬ boxesというＸＭＬ形式でデータを記述する領域が存在するので、それを利用する。ＭＰＥＧ−７のデータはＸＭＬ形式で記述されるので、この領域に記述することによって、ひとつのファイルとして記録できる。また、ＭＰＥＧ−７はバイナリ形式(ＢｉＭ)で記述することもできるが、新規に専用のboxを定義すれば、ＪＰ２Ｋファイル内に記述することが可能である。
【０１０７】
また、ファイル中に記述する以外にも、ＪＰＥＧ２０００ビットストリーム中に記述する方法もある。例えば、メインヘッダ中のコメント領域を利用する方法である。
【０１０８】
また、実施形態において、エッジヒストグラム生成部は、画像のエンコード及びデコード処理に影響を与えることなくエッジヒストグラム抽出処理を行うことが可能である。そこで、エッジヒストグラム生成部の処理のＯＮ／ＯＦＦを可能とする設定部を設けることによって、ユーザの意思によって、本装置を単なるエンコーダ・デコーダとして使用したり、同時にエッジヒストグラムを生成したりすることが可能となる。
【０１０９】
また、実施形態では、タイル分割が行われた場合は、タイルの水平、垂直の分割数と４との最小公倍数で分割したときのエッジヒストグラムをまず求めるようにしたが、次の方法によってもよい。タイルごとに４×４のブロック分割したときの、どのブロックの領域が含まれているかを事前に求めておき、それに従ってエッジのヒストグラムをとっていくという方法である。具体的には、図１４（ａ）の状態（タイル数が３×３）になっているとき、左上のタイルは図１４（ｃ）に示したようになっている。即ち、太線１４０６がタイルを示しており、点線１４０７がブロック分割時のブロック境界にあたる。本タイルに含まれるブロック領域は４つあるので、その位置として、例えば、ブロックに対して左上を１として、左から右へ、順に上から下へ番号をつければ、１，２，５，６を本タイルに関連付けて記憶する。そして、前記と共にブロック境界の直線とタイルの境界との交点を、タイルの左上を原点とした座標で記憶しておく。そして、エッジヒストグラム抽出時は、現在処理しているタイルに対応する、ブロック番号とブロック境界の位置座標を取り出して、これに基づいてエッジのヒストグラムを取っていくことで、４×４のエッジヒストグラムを生成する。
【０１１０】
また、実施形態では、エッジヒストグラムとして、ＭＰＥＧ−７に対応させるべく、１つの画像に対して、４×４個のエッジヒストグラムを生成する例を説明したが、ＭＰＥＧ−７にこだわらないのであれば、この個数に限定されるものではない。ｍ×ｎ個のエッジヒストグラムを作成する場合には、水平方向のタイル数とｍとの最小公倍数（ｐ）、垂直方向のタイル数とｎとの最小公倍数（ｑ）を求め、ｐ×ｑ個の仮エッジヒストグラムを作成すれば、同様に実現できるからである。また、ＭＰＥＧ−７に準拠しつつ、更に検索精度を高めるために４の整数倍のエッジヒストグラムを作成し記憶するようにし、検索キーワードとして４×４のエッジヒストグラムが入力された場合には、複数の仮エッジヒストグラムをまとめて１つのエッジヒストグラムとして見たてて検索するようにすれば良いであろう。
【０１１１】
また、実施形態では、ＭＰＥＧ−７で規定されているエッジヒストグラムでなくても同様なエッジ特徴量であればよい。例えば、無方向フィルタを用いず、水平、垂直、45度、135度方向のみでヒストグラムを作成する場合についても、適用可能である。
【０１１２】
また、第１、第２の実施形態では、静止画をＪＰＥＧ２０００で符号化する例を用いて説明したが、動画像のフレーム画像に対しても、もちろん、本発明は適用できる。また、本第３の実施形態では、ＪＰＥＧ２０００で符号化された静止画を復号化する例で説明したが、Motion-JPEG2000などのようにフレーム画像がＪＰＥＧ２０００で符号化された動画像に対しても、もちろん、本発明は適用できる。
【０１１３】
以上、本発明に係る実施形態を説明したが、検索するための画像を入力するため、及び、蓄積するためのハードウェア（スキャナインタフェース、ネットワークインタフェース、記憶媒体ドライブ）等を必要とするものの、主要となる処理の多くはコンピュータプログラムによって実現できるものであるから、当然、本発明はパーソナルコンピュータ等の汎用の情報処理装置上で実行するコンピュータプログラムに適用できるものである。また、通常、コンピュータプログラムは、ＣＤＲＯＭ等のコンピュータ可読記憶媒体に格納されていて、それをコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になるわけであるから、当然、そのようなコンピュータ可読記憶媒体も本発明に範疇にあることは明らかである。
【図面の簡単な説明】
【０１１４】
【図１】画像に対するsub-imageとimage-blockの関係を表した図である
【図２】エッジの型と抽出フィルタの例を示した図である
【図３】実施形態における画像処理装置の制御構成を示すブロック図である。
【図４】第１の実施形態における機能ブロック構成図である。
【図５】実施形態におけるＪＰＥＧ２０００符号化処理を示すフローチャートである。
【図６】実施形態におけるウェーブレット変換の回数と、生成されるサブバンドとの関係を示す図である。
【図７】サブバンドとコードブロックの関係を示す図である。
【図８】ビットプレーンの分割を示す図である。
【図９】符号化パスを示す図である。
【図１０】レイヤー生成を説明するための図である。
【図１１】レイヤー生成を説明するための図である。
【図１２】タイル符号化データの構成の説明図である。
【図１３】実施形態におけるエッジヒストグラム抽出処理を示すフローチャートである。
【図１４】タイル分割数とエッジヒストグラムのブロック分割数との関係の一例を示す図である。
【図１５】実施形態におけるインデックス情報の構造の例を示す図である。
【図１６】実施形態における検索処理を示すフローチャートである。
【図１７】第２の実施形態における機能構成を示すブロック図である。
【図１８】第３の実施形態における機能構成を示すブロック図である。
【図１９】第３の実施形態における処理を示すフローチャートである。
【図２０】符号化する際のサブバンドと量子化ステップの関係を示す図である。
【図２１】実施形態におけるタイル中のサブバンドと、エッジヒストグラムを求める単位との関係を示す図である。
【図１】
2006195817.tif 000003
【図２】
2006195817.tif 000004
【図３】
2006195817.tif 000005
【図４】
2006195817.tif 000006
【図５】
2006195817.tif 000007
【図６】
2006195817.tif 000008
【図７】
2006195817.tif 000009
【図８】
2006195817.tif 000010
【図９】
2006195817.tif 000011
【図１０】
2006195817.tif 000012
【図１１】
2006195817.tif 000013
【図１２】
2006195817.tif 000014
【図１３】
2006195817.tif 000015
【図１４】
2006195817.tif 000016
【図１５】
2006195817.tif 000017
【図１６】
2006195817.tif 000018
【図１７】
2006195817.tif 000019
【図１８】
2006195817.tif 000020
【図１９】
2006195817.tif 000021
【図２０】
2006195817.tif 000022
【図２１】
2006195817.tif 000023