(57)【要約】【課題】従来技術より短い処理時間でＮ次元配列上の領域に関する１次以上の統計量を求めることを目的とする。【解決手段】Ｎ次元配列（Ｎ≧２）の入力情報を読み込む入力手段と、入力情報からＮ次元配列の原点を頂点とする多角形領域内のモーメントを計算する累積モーメント計算手段と、モーメントをＮ次元配列である累積情報の各成分に書き込む累積情報生成手段と、を有することによって課題を解決する。【選択図】図１
2009265701.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ次元配列（Ｎ≧２）の入力情報を読み込む入力手段と、
前記入力情報からＮ次元配列の原点を頂点とする多角形領域内のモーメントを計算する累積モーメント計算手段と、
前記モーメントをＮ次元配列である累積情報の各成分に書き込む累積情報生成手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記累積モーメント計算手段は、２次元配列の原点を頂点とする長方形領域内のモーメントを計算することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
Ｎ＝２で、
前記入力情報の位置（ｘ，ｙ）成分をＩ（ｘ，ｙ）とし、ｆ（ｖ）はＩ（ｘ，ｙ）の出力を入力とする関数として、前記多角形領域をＰとした場合、前記累積モーメント計算手段は、次式に基づいて、前記モーメントを求めることを特徴とする請求項１に記載の情報処理装置。
【数１】
2009265701.tif 000017
【請求項４】
前記累積情報生成手段は、前記累積情報の位置（ｘ'，ｙ'）成分に次式で表される値をモーメントとして書き込むことを特徴とする請求項３に記載の情報処理装置。
【数２】
2009265701.tif 000018
【請求項５】
前記入力情報の位置（ｘ，ｙ）成分をＩ（ｘ，ｙ）とし、ｆ（ｖ）はＩ（ｘ，ｙ）の出力を入力とする関数として、前記多角形領域をＰとした場合、前記累積モーメント計算手段は、次式に基づいて、（ｘC，ｙC）を基準点として、前記モーメントを求めることを特徴とする請求項１に記載の情報処理装置。
【数３】
2009265701.tif 000019
【請求項６】
前記多角形領域のＰは、（０，０）−（ｘ'，ｙ'）を対角頂点とする長方形であり、前記累積情報生成手段は、前記累積情報の位置（ｘ'，ｙ'）成分に次式で表される値をモーメントして書き込むことを特徴とする請求項５に記載の情報処理装置。
【数４】
2009265701.tif 000020
【請求項７】
前記累積情報を基に前記入力情報を処理する入力情報処理手段を更に有することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
情報処理装置における情報処理方法であって、
Ｎ次元配列（Ｎ≧２）の入力情報を読み込む入力ステップと、
前記入力情報からＮ次元配列の原点を頂点とする多角形領域内のモーメントを計算する累積モーメント計算ステップと、
前記モーメントをＮ次元配列である累積情報の各成分に書き込む累積情報生成ステップと、
前記累積情報を基に前記入力情報を処理する入力情報処理ステップと、
を有することを特徴とする情報処理方法。
【請求項９】
前記累積モーメント計算ステップでは、２次元配列の原点を頂点とする長方形領域内のモーメントを計算することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
Ｎ＝２で、
前記入力情報の位置（ｘ，ｙ）成分をＩ（ｘ，ｙ）とし、ｆ（ｖ）はＩ（ｘ，ｙ）の出力を入力とする関数として、前記多角形領域をＰとした場合、前記累積モーメント計算ステップでは、次式に基づいて、前記モーメントを求めることを特徴とする請求項８に記載の情報処理方法。
【数５】
2009265701.tif 000021
【請求項１１】
前記累積情報生成ステップでは、前記累積情報の位置（ｘ'，ｙ'）成分に次式で表される値をモーメントして書き込むことを特徴とする請求項１０に記載の情報処理方法。
【数６】
2009265701.tif 000022
【請求項１２】
前記入力情報の位置（ｘ，ｙ）成分をＩ（ｘ，ｙ）とし、ｆ（ｖ）はＩ（ｘ，ｙ）の出力を入力とする関数として、前記多角形領域をＰとした場合、前記累積モーメント計算ステップでは、次式に基づいて、（ｘC，ｙC）を基準点として、前記モーメントを求めることを特徴とする請求項８に記載の情報処理方法。
【数７】
2009265701.tif 000023
【請求項１３】
前記多角形領域のＰは、（０，０）−（ｘ'，ｙ'）を対角頂点とする長方形であり、前記累積情報生成ステップでは、前記累積情報の位置（ｘ'，ｙ'）成分に次式で表される値をモーメントして書き込むことを特徴とする請求項１２に記載の情報処理方法。
【数８】
2009265701.tif 000024
【請求項１４】
前記累積情報を基に前記入力情報を処理する入力情報処理ステップを更に有することを特徴とする請求項８乃至１３の何れか１項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
情報処理の分野では、多次元配列を頻繁に扱う。その中で、特定範囲内の要素の和を求めることが多い。
コンピュータグラフィックスの分野では、Ｃｒｏｗが長方形のｓｕｍｍｅｄ−ａｒｅａ  ｔａｂｌｅと呼ばれる概念を提案している（非特許文献１）。この文献では、ｓｕｍｍｅｄ−ａｒｅａ  ｔａｂｌｅを２次元配列とし、入力画像の座標（ｘ，ｙ）における画素値をＩ（ｘ，ｙ）として、ｓｕｍｍｅｄ−ａｒｅａ  ｔａｂｌｅの（ｘ，ｙ）成分Ｃ（ｘ，ｙ）を
【数１】
2009265701.tif 000003
として定義している。
【０００３】
この定義によれば、入力画像上で水平又は垂直に置かれた任意の長方形内の画素値Ｉ（ｘ，ｙ）の和を、次式を使ってｓｕｍｍｅｄ−ａｒｅａ  ｔａｂｌｅ上の４点を参照するのみで、求めることができる。
【数２】
2009265701.tif 000004
ここで、（ｘ0，ｙ0）は長方形の左上の頂点、（ｘ1，ｙ1）は右下の頂点である。
これにより、画像上の長方形内の画素値の和を高速に求めることが可能となった。
【０００４】
また、特許文献１では、長方形以外の多角形領域についても、入力画像の画素値の和を高速に求めることができることを示している。
【０００５】
他方、画像認識の分野においては、輝度値の和よりも複雑な特徴量を求めることが多い。例えば、非特許文献２においては、人間の頭部を追跡するために色の平面的分布を求めている。その空間的分布を表現するために、色の配置の重心・分散・共分散を利用している。そして、画像上で色の平面的分布が頭部のものと一致する領域を、頭部として認識する。
入力画像上の（ｘ，ｙ）成分が色ｂである場合、Ｉb（ｘ，ｙ）＝１とし、色ｂでない場合Ｉb（ｘ，ｙ）＝０とする。すると、領域Ｑの重心とは、
【数３】
2009265701.tif 000005
のことを指す。また、分散と共分散とを含む共分散行列は、以下の通りである。
【数４】
2009265701.tif 000006
【０００６】
【特許文献１】米国特許第６５０７６７６号明細書
【非特許文献１】Ｃｒｏｗ，"Ｓｕｍｍｅｄ−Ａｒｅａ  Ｔａｂｌｅｓ  Ｆｏｒ  Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ"，Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ，１９８４．
【非特許文献２】Ｂｉｒｃｈｆｉｅｌｄ  ＆  Ｒａｎｇａｒａｊａｎ  （２００５）  “Ｓｐａｔｉｏｇｒａｍｓ  Ｖｅｒｓｕｓ  Ｈｉｓｔｏｇｒａｍｓ  ｆｏｒ  Ｒｅｇｉｏｎ−Ｂａｓｅｄ  Ｔｒａｃｋｉｎｇ”，ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ．
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術では、入力画像の一領域の１次以上の統計量を求める場合には、数式１１や数式１２のように領域内の個々の画素値を取得して統計量を求める必要があった。これらの統計量を求める際の処理は高速であることが望ましい。
【０００８】
本発明はこのような問題点に鑑みなされたもので、従来技術より短い処理時間でＮ次元配列上の領域に関する１次以上の統計量を求めることを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明は、Ｎ次元配列（Ｎ≧２）の入力情報を読み込む入力手段と、前記入力情報からＮ次元配列の原点を頂点とする多角形領域内のモーメントを計算する累積モーメント計算手段と、前記モーメントをＮ次元配列である累積情報の各成分に書き込む累積情報生成手段と、を有することを特徴とする。
【００１０】
また、本発明は、情報処理方法としてもよい。
【発明の効果】
【００１１】
本発明によれば、従来技術より短い処理時間でＮ次元配列上の領域に関する１次以上の統計量を求めることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
【００１３】
＜実施形態１＞
本実施形態では、非特許文献２に説明されているＳｐａｔｉｏｇｒａｍ  ｍａｔｃｈｉｎｇの方法を簡略化して示し、本実施形態によって処理を高速化する方法を提案する。Ｓｐａｔｉｏｇｒａｍは、ヒストグラムを拡張した概念であり、色情報の色域分布のみならず位置分布をも表す。非特許文献２によれば、ｓｐａｔｉｏｇｒａｍを利用して画像内検索を行うと、従来のヒストグラムに比べて位置精度が高いとのことである。
【００１４】
図１は、情報処理装置のハードウェア構成の一例を示す図である。ＣＰＵ（中央演算装置）１００は、実施形態で説明する情報処理（情報処理方法）をプログラムに従って実行する。プログラム  メモリ１０１には、ＣＰＵ１００により実行されるプログラムが記憶されている。ＲＡＭ１０２は、ＣＰＵ１００によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリである。本実施形態の２次元配列は、全てこのＲＡＭ１０２上に保持されているものとする。ハードディスク１０３は、画像ファイル等を保存するための記憶媒体（記録媒体）である。なお、プログラムは、ハードディスク１０３に記憶されていてもよい。ディスプレイ１０４は、本実施形態の処理結果をユーザに提示する。バス１１０は、これら各部とＣＰＵ１００とを接続している制御バス・データバスである。なお、情報処理装置は、これ以外にもキーボードやポインティング  デバイス等の入力機器等を備えていてもよい。
【００１５】
情報処理装置における全体の処理を図２に示す。図２は、実施形態１における情報処理装置の全体の処理を示すフローチャートである。
ステップＳ２０１において、ＣＰＵ１００は、ハードディスク１０３より入力情報の一例である画像をＲＡＭ１０２に読み込む。画像はＲＡＭ１０２上では２次元配列として保持される。
【００１６】
ステップＳ２０２において、ＣＰＵ１００は、画像より累積情報を生成（計算）する（累積情報生成）。この詳細については後述する図４、図５を用いて説明する。
ステップＳ２０３において、ＣＰＵ１００は、予めハードディスク１０３に保存されているＳｐａｔｉｏｇｒａｍをＲＡＭ１０２に読み込む。Ｓｐａｔｉｏｇｒａｍの詳細については後述する。
【００１７】
ステップＳ２０４において、ＣＰＵ１００は、ステップＳ２０２で生成した累積情報を用いてＳｐａｔｉｏｇｒａｍと一致する画像内の領域を検索する（入力情報処理）。
ステップＳ２０５において、ＣＰＵ１００は、ステップＳ２０４での検索の結果をディスプレイ１０４に表示（出力）する。
【００１８】
図３は、図２の処理をデータフローで示した図である。
２０５は、ハードディスク１０３に保存されている画像である。２０１の画像の読み込み処理にてＣＰＵ１００は、ハードディスク内の画像２０５をＲＡＭ１０２上に入力画像Ｉとして記憶する。２０２の累積情報の生成処理にてＣＰＵ１００は、後述する処理を実行し、累積情報２０６をＲＡＭ１０２上に生成する。
【００１９】
一方、２０９は、ハードディスク１０３に保存されているＳｐａｔｉｏｇｒａｍである。累積情報の生成とは別の流れで、２１０のＳｐａｔｉｏｇｒａｍ読み込み処理でＣＰＵ１００は、ハードディスク１０３内のＳｐａｔｉｏｇｒａｍ２０９をＲＡＭ１０２にテンプレートＳｐａｔｉｏｇｒａｍ２１１として読み込む。
【００２０】
２０３の検索処理でＣＰＵ１００は、テンプレートＳｐａｔｉｏｇｒａｍ２１１と一致する領域を入力画像Ｉの中から探す。このとき、処理の高速化のために検索処理２０３でＣＰＵ１００は、累積情報２０６を利用する。一致する領域を見つけると、ＣＰＵ１００は、一致する領域の位置情報を２０７の検索結果としてＲＡＭ１０２に書き込む。２０４の検索結果表示処理でＣＰＵ１００は、検索結果２０７の内容をディスプレイ１０４に表示する。
【００２１】
ここで、２次のＳｐａｔｉｏｇｒａｍを簡単に説明する。画像上の領域χのＳｐａｔｉｏｇｒａｍは、ｂを色を表す番号として、ｈχ＝｛ｈχ（ｂ），ｂ＝１，．．．，Ｂ｝で表される。白黒画像を扱う場合には、ｂは輝度の範囲を表す番号であっても良い。ｈχ（ｂ）とは＜ｎｂχ，μｂχ，Σｂχ＞の組である。ｎｂχは画像上の領域χ内にある色ｂの画素の数である。μｂχは、２次元ベクトルであり、領域χ内にある色ｂの画素の重心を表す。また、Σｂχは領域χ内にある色ｂの画素のｘ座標とｙ座標との共分散行列である。即ち、数式１１と数式１２とのＱをχに置き換えたものである。
【００２２】
２つのＳｐａｔｉｏｇｒａｍ  ｈχとｈΦとがあるとき、その類似度ρ（ｈχ，ｈΦ）は次式で求められる。
【数５】
2009265701.tif 000007
【００２３】
ηは確率密度関数を正規化するための定数である。入力画像Ｉの中からＳｐａｔｉｏｇｒａｍ  ｈχに一致する領域を検索するとは、入力画像Ｉ上の領域の中からρ（ｈχ，ｈΦ）が最大となる領域Φを探すことである。
【００２４】
次に図３の累積情報２０６を説明する。本実施形態では、累積情報２０６は各色６枚の２次元配列で構成される。入力画像の（ｘ，ｙ）成分をＩ（ｘ，ｙ）として、Ｉb（ｘ，ｙ）を次のように定義する。
【数６】
2009265701.tif 000008
【００２５】
累積情報の（ｘ'，ｙ'）成分（モーメント）は、次式で定義される。
【数７】
2009265701.tif 000009
【００２６】
ここで、（ｍ，ｎ）∈｛（０，０），（１，０），（０，１），（１，１），（２，０），（０，２）｝。また、入力画像の範囲外の座標（ｘ，ｙ）についてはＩ（ｘ，ｙ）＝０とする。ただ、定義の通りに累積情報を求めると、時間がかかってしまうので、実際には次のような式を利用して求めるのが望ましい。
【数８】
2009265701.tif 000010
【００２７】
ここで、ａm,n,b（ｘ'，ｙ'）は一時変数であり、配列として保持する必要はない。図４は、数式１６の求め方を示した図である。黒色の領域はＲm,n,b（ｘ'，ｙ'−１）を表しており、縞模様の領域はａm,n,b（ｘ'，ｙ'）を表している。図４より両方を加算することによって、Ｒm,n,b（ｘ'，ｙ'）が求まることが分かる。
【００２８】
図３の累積情報の生成処理２０２の一例を図５に示す。図５は、累積情報の生成処理の一例を示すフローチャートである。
ステップＦＡ００からステップＦＡ０８までのループで、ＣＰＵ１００は、累積情報の各２次元配列についてステップＦＡ０１以降の処理を繰り返す。ステップＦＡ０１からステップＦＡ０７までのループで、ＣＰＵ１００は、累積情報の各行についてステップＦＡ０２以降の処理を繰り返す。
【００２９】
各列を処理する前に、ＣＰＵ１００は、ステップＦＡ０２で一時変数ａを０で初期化する。そしてＣＰＵ１００は、累積情報の各列についてステップＦＡ０３からステップＦＡ０６までの処理を繰り返す。ステップＦＡ０４とステップＦＡ０５とでＣＰＵ１００は、数式１６に示した加算と配列への代入とを行う（累積モーメント計算、累積情報生成）。ＣＰＵ１００がステップＦＡ０８までの処理を終えることで、累積情報として６枚の２次元配列が用意される。
【００３０】
数式１５のような累積情報を用意すると、入力画像Ｉ上の（ｘ0，ｙ0）−（ｘ1，ｙ1）を対角頂点とする長方形領域（長方形領域内）ＱにおけるｘmｙnＩb（ｘ，ｙ）の和は、次のように配列の４点を参照するのみで求めることができる。なお、ここで、（ｘ0，ｙ0）は、原点ということができる。
【数９】
2009265701.tif 000011
【００３１】
これにより、先のＳｐａｔｉｏｇｒａｍの各要素を高速に求めることができる。より具体的に説明すると、次式により求めることができる。
【数１０】
2009265701.tif 000012
【００３２】
次に図３の検索処理２０３について説明する。図３のテンプレートＳｐａｔｉｏｇｒａｍ２１１には、Ｓｐａｔｉｏｇｒａｍの情報ｈP＝｛ｈP（ｂ）｝，ｈP（ｂ）＝＜ｎbP，μbP，ΣbP＞の他に、テンプレートＳｐａｔｉｏｇｒａｍを抽出した画像Ｐの幅ＷPと高さＨPとの情報が含まれている。画像Ｐは、例えば検索したい物体を含む画像である。
【００３３】
図６は、検索処理２０３の一例を示すフローチャートである。
まずステップＦＳ０１でＣＰＵ１００は、変数ＲとＸとＹとを初期化する。Ｒは後にステップＦＳ０５で求める類似度ρの最大値を保持するための変数である。ＸとＹとは類似度が最大値を取る位置の座標を保持するための変数である。ステップＦＳ０２からステップＦＳ０８までのループでＣＰＵ１００は、入力画像Ｉの各点（ｘ，ｙ）についてステップＦＳ０３以降の処理を繰り返す。まず、ステップＦＳ０３でＣＰＵ１００は、注目領域を表す構造体Ｑに（ｘ，ｙ）−（ｘ＋ＷP，ｙ＋ＨP）を設定する。そして、ステップＦＳ０４でＣＰＵ１００は、数式１８に示したように領域ＱのＳｐａｔｉｏｇｒａｍ  ｈQを求める。
【００３４】
次に、ステップＦＳ０５でＣＰＵ１００は、数式１３に従って類似度ρ（ｈP，ｈQ）を求める。ステップＦＳ０６でＣＰＵ１００は、ρ（ｈP，ｈQ）がこれまでの最大値Ｒを超えたか否かを判定する。ρ（ｈP，ｈQ）がこれまでの最大値Ｒを越えたことが判明した場合、ＣＰＵ１００は、ステップＦＳ０７で変数ＲとＸとＹとをρ（ｈP，ｈQ）とｘとｙとの値で更新する。最後にループを抜けると、ステップＦＳ０９でＣＰＵ１００は、ＲとＸとＹとの値を図３の検索結果２０７に記録する。
【００３５】
図３の検索結果の表示処理２０４では、このＸとＹとの情報を入力画像Ｉとテンプレート画像Ｐと共に表示する。図７は、表示結果の一例を示す図である。Ｄには図３の入力画像Ｉの内容が表示されている。なお、図７では例として地図を挙げている。Ｔは検索したい物体の画像の内容である。検索結果はＣの点線の枠で表示されている。この枠の対角頂点が入力画像Ｉ上の（Ｘ，Ｙ）−（Ｘ＋ＷP，Ｙ＋ＨP）に合わせて描画されている。これにより、テンプレート画像Ｔと一致する領域が示される。
【００３６】
以上、本実施形態により、比較的、計算負荷の軽い処理により入力画像中の所望のパターンを検索することができる。ここでは、多角形領域の一例として長方形領域を用い、長方形領域内のモーメントを求める例を挙げたが、米国特許第６５０７６７６号明細書のような方法を利用すれば長方形以外の多角形領域（多角形領域内）のモーメントについても同様に求めることができる。
【００３７】
＜実施形態２＞
本実施形態では、入力画像の中の明るい領域の位置と大きさとを見つける方法を説明する。また、累積情報を作成するにあたり、必要なビット数を削減する工夫についても述べる。
なお、本実施形態に係わる情報処理装置のハードウェア構成は実施形態と同じである。
【００３８】
図８は、実施形態２における情報処理装置の全体の処理を示すフローチャートである。
ステップＢＳ０１において、ＣＰＵ１００は、ハードディスク１０３より入力情報の一例である画像をＲＡＭ１０２に読み込む。画像はＲＡＭ１０２上では２次元配列として保持される。
ステップＢＳ０２において、ＣＰＵ１００は、画像より累積情報を生成する。この詳細については後述する。
【００３９】
ステップＢＳ０３において、ＣＰＵ１００は、ステップＢＳ０２で生成した累積情報を用いて明るい領域を画像内で検索する。
ステップＢＳ０４において、ＣＰＵ１００は、ステップＢＳ０３での検索結果をディスプレイ１０４に表示する。
【００４０】
図９は、図８の処理をデータフローで示した図である。
ＢＤ０１は、ハードディスク１０３に保存されている画像である。本実施形態では、２値画像とする。ＢＤ０２の画像の読み込み処理にてＣＰＵ１００は、ハードディスク内の画像ＢＤ０１をＲＡＭ１０２上に入力画像Ｉとして記憶する。ＢＤ０３の累積情報の生成処理でＣＰＵ１００は、後述する処理を実行し、入力画像Ｉの累積情報ＢＤ０４をＲＡＭ１０２上に生成する。
【００４１】
ＢＤ０５の検索処理ではＣＰＵ１００は、入力画像Ｉの明るい領域を探す。ここで明るいとは入力画像Ｉの中で要素が１の領域である。検索処理ＢＤ０５でＣＰＵ１００は、処理の高速化のために累積情報（累積画像）ＢＤ０４を利用する。適合する領域を見つけると、ＣＰＵ１００は、見つけた領域の位置情報をＢＤ０６の検索結果としてＲＡＭ１０２に書き込む。ＢＤ０７の検索結果の表示処理でＣＰＵ１００は、検索結果ＢＤ０６の内容をディスプレイ１０４に表示する。
【００４２】
図９の累積情報ＢＤ０４を説明する。本実施形態において、累積情報ＢＤ０４は５枚の２次元配列で構成される。累積情報の（ｘ'，ｙ'）成分（モーメント）は、（ｘC，ｙC）を基準点として次式で定義される。
【数１１】
2009265701.tif 000013
【００４３】
ここで、（ｍ，ｎ）∈｛（０，０），（１，０），（０，１），（２，０），（０，２）｝。入力画像の範囲外の（ｘ，ｙ）についてはＩ（ｘ，ｙ）＝０とする。また、ｘの符号によらずｘ0＝１とする。数式１５と比較して、（ｘ，ｙ）から（ｘC，ｙC）を引いているのは、累積情報に必要なビット数を抑えるためである。というのは、画素数の多い画像や大きなｍやｎについて数式１５では値がオーバーフローする可能性が高くなるからである。この点から、（ｘC，ｙC）は入力画像Ｉの中央付近に定義されるのが望ましい。ただ、定義の通りに累積情報を求めると、時間がかかってしまうので、実際には数式１６と同様に次のような式を利用して求めるのが効果的である。
【数１２】
2009265701.tif 000014
【００４４】
ここで、ａm,n（ｘ'，ｙ'）は一時変数であり、配列として保持する必要はない。
また、ｘ'−ｘCやｙ'−ｙCについても一時変数として用意できる。
数式１９のように累積情報を定義すると、入力画像Ｉ上の（ｘ0，ｙ0）−（ｘ1，ｙ1）を対角頂点とする長方形領域Ｑ内の（ｘ−ｘC）m、（ｙ−ｙC）n、Ｉ（ｘ，ｙ）の和は、次のように配列の４点を参照するのみで求めることができる。
【数１３】
2009265701.tif 000015
【００４５】
累積情報を用意しておくと、注目領域Ｑ内の画素値１である点の数ｎQと重心μQ、ｘ軸方向の分散（σxQ）2、ｙ軸方向の分散（σyQ）2は、次式により求めることができる。
【数１４】
2009265701.tif 000016
【００４６】
図９の検索処理ＢＤ０５を、図１０を用いて説明する。図１０は、検索処理ＢＤ０５の一例を示すフローチャートである。まずステップＢＦ０１にてＣＰＵ１００は、注目領域を表す構造体Ｑが入力画像Ｉの全領域を表すように初期化する。そしてＣＰＵ１００は、ステップＢＦ０２からステップＢＦ０６までのループを繰り返す。ステップＢＦ０３ではＣＰＵ１００は、入力画像Ｉの注目長方形領域Ｑに関して数式２２により統計量μQと（σxQ）2と（σyQ）2とを求める。
【００４７】
次の収束判定（ステップＢＦ０４）ではＣＰＵ１００は、これら統計量が前回のループで求めた値と等しいか差が定数ε（ε＞０）以内か否かを判定する。例えば収束条件として、統計量μQと（σxQ）2と（σyQ）2の前回のループでの値をpμQと（pσxQ）2と（pσyQ）2として、｜μQ−ｐμQ｜＜εかつ｜（σxQ）２−（pσxQ）２｜＜εかつ｜（σxQ）2−（pσyQ）2｜＜εがある。判定が成立すれば、ＣＰＵ１００は、ステップＢＦ０２からステップＢＦ０６までのループを抜ける。判定が成立しなければ、ＣＰＵ１００は、次のステップＢＦ０５で変数Ｑを再設定する。ここでは、ＣＰＵ１００は、Ｑの中心がμQと一致するように、またＳを定数としてＱの幅がＳσxQ、高さがＳσyQとなるように設定する。Ｓには、例えば√（１２）を使用する。
【００４８】
以上のような処理を終えると、入力画像Ｉの中の明るい領域にＱを収束させることができる。期待したとおりに収束する様子をイメージ図にしたのが図１１である。図１１は、収束の様子の一例を示した図である。（ａ）は入力画像Ｉの例である。印刷の都合上明るさを反転しているので、画素値が１の領域は黒くなっている。（ｂ）〜（ｆ）は注目領域Ｑを長方形として描画した画像である。それぞれ（ａ）の画像を重ね合わせている。始めに入力画像全体を占めていたＱは（ｂ），（ｃ），（ｄ），（ｅ）の順に右下の領域に収束していくのが分かる。最後の（ｆ）において、Ｑは（ｅ）のときと同じ領域を指しているので、収束が完了する。そして、図９の検索結果の表示処理ＢＤ０７では、図１１（ｆ）の画像がディスプレイに表示される。
【００４９】
以上、本実施形態により、比較的、計算負荷の軽い処理により入力画像から明るい領域を検索することができる。また、累積情報の生成方法の工夫により、必要なビット数が大きくなりすぎるのを抑えることができる。当然のことながら、入力画像を反転することにより暗い領域を探すようにすることもできる。また、実施形態１の数式１４にあるＩb（ｘ，ｙ）を利用することにより特定の色の集積を検索することもできる。
【００５０】
以上、上述した各実施形態によれば、従来技術より短い処理時間でＮ次元配列上の領域に関する１次以上の統計量を求めることができる。
【００５１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５２】
【図１】情報処理装置のハードウェア構成の一例を示す図である。
【図２】実施形態１における情報処理装置の全体の処理を示すフローチャートである。
【図３】図２の処理をデータフローで示した図である。
【図４】数式１６の求め方を示した図である。
【図５】累積情報の生成処理の一例を示すフローチャートである。
【図６】検索処理２０３の一例を示すフローチャートである。
【図７】表示結果の一例を示す図である。
【図８】実施形態２における情報処理装置の全体の処理を示すフローチャートである。
【図９】図８の処理をデータフローで示した図である。
【図１０】検索処理ＢＤ０５の一例を示すフローチャートである。
【図１１】収束の様子の一例を示した図である。
【符号の説明】
【００５３】
１００  ＣＰＵ
１０１  プログラム  メモリ
１０２  ＲＡＭ
１０３  ハードディスク
１０４  ディスプレイ
【図１】
2009265701.tif 000025
【図２】
2009265701.tif 000026
【図３】
2009265701.tif 000027
【図４】
2009265701.tif 000028
【図５】
2009265701.tif 000029
【図６】
2009265701.tif 000030
【図７】
2009265701.tif 000031
【図８】
2009265701.tif 000032
【図９】
2009265701.tif 000033
【図１０】
2009265701.tif 000034
【図１１】
2009265701.tif 000035