(57)【特許請求の範囲】
【請求項１】
画像データを格納する格納手段と、
前記格納手段に格納された前記画像データを読み出す読み出し手段と、
前記読み出し手段により読み出された前記画像データから前記対象物を検出する検出手段と、
前記読み出し手段により読み出された前記画像データの解像度を変換する変換手段と、
前記変換手段により解像度が変換された変換データを前記格納手段に書き込む書き込み手段と、を備え、
前記読み出し手段が、前記読み出した画像データを、前記検出手段と前記変換手段とに並行して出力することを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記読み出し手段により読み出された前記画像データの解像度を、当該画像データの解像度よりも低く変換することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データを、相互に重複する部分を有する複数のバンドデータに分割する分割手段をさらに備えることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記検出手段は、前記分割手段により分割された前記バンドデータごとに前記対象物を検出し、
前記変換手段は、前記分割手段により分割された前記バンドデータごとに解像度を変換することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記バンドデータのうち切り出し対象となる画素位置を、前記バンドデータ同士が相互に重複する部分が減少するように指定する指定手段と、
前記バンドデータから、前記指定手段により指定された前記画素位置のデータを切り出す切り出し手段と、をさらに備え、
前記変換手段は、前記切り出し手段により切り出された前記画素位置のデータの解像度を変換することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
格納手段と、読み出し手段と、検出手段と、変換手段と、書き込み手段とを備え、画像データまたは当該画像データの解像度が変換された変換データから対象物を検出する画像処理装置の制御方法であって、
前記格納手段が、前記画像データを格納する格納工程と、
前記読み出し手段が前記格納工程で格納された前記画像データを読み出す読み出し工程と、
前記検出手段が、前記読み出し工程により読み出された前記画像データから前記対象物を検出する検出工程と、
前記変換手段が、前記読み出し工程により読み出された前記画像データの解像度を変換する変換工程と、
前記書き込み手段が、前記変換工程により解像度が変換された変換データを前記格納手段に書き込む書き込み工程と、を備え、
前記読み出し工程では、前記読み出し手段が、前記読み出した画像データを、前記検出手段と前記変換手段とに並行して出力することを特徴とする画像処理装置の制御方法。
【請求項７】
コンピュータに請求項６に記載の画像処理装置の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、縮小画像を生成して、画像認識などの処理を行う画像処理装置、画像処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
顔検出などの画像認識処理を行うにあたり、様々なサイズの検出対象物を検出するために、元画像を縮小して、ピラミッド画像を生成し、各ピラミッド画像に対して検出処理を行うことが一般的に行われている。
【０００３】
特許文献１では、複数の大きさの顔を検出するために、読み込んだ画像を所定の割合で順次縮小してピラミッド画像を生成し、その後に顔判別処理を行う方法が説明されている。図１は、様々なサイズの検出対象物を検出するためのピラミッド画像の一例であり、横３２０画素・縦２４０画素の入力画像１０１に対して、横・縦それぞれ１／１．２倍ずつ縮小している。そして、同様に８レベルの縮小画像１０２乃至縮小画像１０９（縮小画像Ａ乃至縮小画像Ｈ）を生成する例を示している。入力画像と縮小画像とを合わせて、９種類の解像度の画像に対して、検出対象物の検出処理を行うことにより、サイズの異なる検出対象物の検出を行うことができる。
【０００４】
また、特許文献２では、多重解像度処理部により生成された縮小画像データを、バスを介さずにパイプライン接続で、正規化処理部、特徴量導出部、および識別器に、順次与える構成により識別処理を行う画像識別装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０２６１１号公報
【特許文献２】特開２００８−２１０００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図２を参照して、読み込んだ画像を順次縮小してピラミッド画像を生成し、ピラミッド画像の生成後に検出処理を行う場合の特許文献１に記載の画像メモリへのアクセス処理について説明する。図２（ａ）は、ピラミッド画像を生成する縮小処理時の画像アクセスを説明する図である。図１に示されるように９種類の解像度のピラミッド画像を生成する場合、まず、入力画像１０１を画像メモリから読み出し、縮小処理を行った後、縮小画像１０２を画像メモリに書き込む。次に、縮小画像１０２を画像メモリから読み出し、縮小処理を行った後、縮小画像１０３を画像メモリに書き込む。以下、縮小画像１０３乃至縮小画像１０９についても同様に、最小の縮小画像１０９を画像メモリに書き込むまで、画像メモリからの読み出し処理、縮小処理、および画像メモリへの書き込み処理を繰り返す。
【０００７】
図２（ｂ）は、ピラミッド画像生成後に検出処理を行う場合の画像アクセスを説明する図である。まず、入力画像１０１を画像メモリから読み出し、最も高い解像度での検出処理を行う。検出処理の出力は、検出された検出対象物の情報であり、図２（ａ）で説明したように画像メモリへの画像の書き込み処理は行わない。以下、縮小画像１０２乃至縮小画像１０９についても、画像を画像メモリから読み出し、それぞれに対して検出処理を行うが、画像メモリへの画像の書き込み処理は行われない。
【０００８】
図１を参照して説明したピラミッド画像を図２で説明したように処理した場合のメモリアクセス数を画素数で表す。図２（ａ）の画像メモリからの読み出し数Ｒａ、画像メモリへの書き込み数Ｗａ、図２（ｂ）の画像メモリからの読み出し数Ｒｂは、それぞれ式（１）により計算される。ここで、図１に示されるように、入力画像１０１の画素数は７６８００、縮小画像１０２の画素数は５３２００、縮小画像１０３の画素数は３６６８６、…、縮小画像１０８の画素数は５６５５、縮小画像１０９の画素数は３８８８である。読み出し数Ｒａは、入力画像１０１、縮小画像１０２乃至縮小画像１０８の画素数を合計したものである。書き込み数Ｗａは、縮小画像１０２乃至縮小画像１０９の画素数を合計したものである。読み出し数Ｒｂは、入力画像１０１、縮小画像１０２乃至縮小画像１０９の画素数を合計したものである。
【０００９】
【数１】
0005683367.tif 000002
【００１０】
読み出し数Ｒａ、書き込み数Ｗａ、および読み出し数Ｒｂを全て合計すると、図２における処理での画像メモリへのアクセス数Ｎ（画素数）は、式（２）により計算される。
【００１１】
【数２】
0005683367.tif 000003
【００１２】
式（１）から分かるように、入力画像１０１、および縮小画像１０２乃至縮小画像１０８は、画像メモリから２回読み出されている。そのため、特許文献１に記載のこのような方法では、画像メモリへのアクセス数が多くなり処理に時間を要するという課題がある。
【００１３】
さらに、図３を参照して、読み込んだ画像を縮小処理し、それをパイプライン構成により検出する場合の特許文献２に記載の画像メモリへのアクセス処理について説明する。
【００１４】
図３は、入力画像１０１に対応する解像度から縮小画像１０９に対応する解像度までの縮小処理および検出処理を、パイプライン構成により実行した場合の画像メモリへのアクセス処理を示している。全ての検出解像度において、画像メモリから読み出されるのは入力画像１０１であり、入力画像１０１が必要に応じて縮小されて、そのまま検出処理部へ渡される。検出処理部の出力は、検出された検出対象物の情報であり、画像メモリへの画像の書き込み処理は行わない。
【００１５】
図１を参照して説明したピラミッド画像を図３で説明したように処理した場合のメモリアクセス数を画素数で表すと、画像メモリからの読み出し数Ｒは、式（３）により計算される。
【００１６】
【数３】
0005683367.tif 000004
【００１７】
図３で説明したように処理した場合、画像メモリの読み出しのみが行われるため、画像メモリへのアクセス数Ｎ（画素数）は、Ｎ＝ Ｒ＝６９１２００画素となる。
【００１８】
しかしながら、特許文献２に記載のこのような方法では、画像メモリへの書き込み処理はないものの、画像メモリから読み出す画像の解像度が高いため、画像メモリへのアクセス数が多くなってしまうという課題がある。
【００１９】
上記の課題に鑑み、本発明は、画像メモリへのアクセス数を低減することを目的とする。
【課題を解決するための手段】
【００２０】
上記の目的を達成する本発明に係る画像処理装置は、
画像データを格納する格納手段と、
前記格納手段に格納された前記画像データを読み出す読み出し手段と、
前記読み出し手段により読み出された前記画像データから前記対象物を検出する検出手段と、
前記読み出し手段により読み出された前記画像データの解像度を変換する変換手段と、
前記変換手段により解像度が変換された変換データを前記格納手段に書き込む書き込み手段と、を備え、
前記読み出し手段が、前記読み出した画像データを、前記検出手段と前記変換手段とに並行して出力することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、画像メモリへのアクセス数を低減することができる。
【図面の簡単な説明】
【００２２】
【図１】ピラミッド画像の一例を示す図。
【図２】ピラミッド画像の生成後に検出処理を行う場合の画像メモリアクセスの説明図。
【図３】縮小処理および検出処理をパイプラインで実行する場合の画像メモリアクセスの説明図。
【図４】第１実施形態に係る画像処理装置の機能の構成を示す図。
【図５】画像読み出し部の構成を示す図。
【図６】画像書き込み部の構成を示す図。
【図７】第１実施形態に係る画像スキャン方法の説明図。
【図８】画像メモリアクセスの説明図。
【図９】バンド分割の説明図。
【図１０】第１実施形態に係る画像処理装置の機能の構成を示す図。
【図１１】画像切り出し部の構成を示す図。
【図１２】画像切り出し部がない場合におけるバンド分割処理時の画像メモリアクセスの説明図。
【図１３】画像切り出し部がある場合におけるバンド分割処理時の画像メモリアクセスの説明図。
【発明を実施するための形態】
【００２３】
（第１実施形態）
以下、図面を参照して本発明の第１実施形態について説明する。図４は、第１実施形態に係る画像処理装置４０の機能構成例を示す。画像処理装置４０は、メモリ４０１と、インターコネクト部４０２と、画像読み出し部４０３と、画像縮小部４０４と、検出部４０５と、画像書き込み部４１０とを備える。メモリ４０１は、入力画像保持部４１１と、縮小出力画像保持部４１２とを備える。検出部４０５は、特徴抽出部４０６と、積分画像生成部４０７と、積分画像メモリ４０８と、照合処理部４０９とを備える。
【００２４】
インターコネクト部４０２は、例えば、バスやクロスバースイッチなどの接続部でありメモリ４０１と、画像読み出し部４０３と、画像書き込み部４１０とを接続制御する。
【００２５】
画像読み出し部４０３は、メモリ４０１が備える入力画像保持部４１１または縮小出力画像保持部４１２から入力画像または縮小画像（解像度が変換された変換データ）を読み出す。画像読み出し部４０３は、入力画像保持部４１１から読み出された入力画像または縮小出力画像保持部４１２から読み出された縮小画像を、画像縮小部４０４と検出部４０５とに出力する２系統の出力ポートを有する。画像読み出し部４０３および画像書き込み部４１０は、インターコネクト部４０２を介してメモリ４０１と接続されている。
【００２６】
画像縮小部４０４は、画像読み出し部４０３から入力画像または縮小画像を受信し、画像縮小アルゴリズムとして、例えば、バイリニア補間やバイキュービック補間、単純間引きなどの方法を用いて入力画像または縮小画像を縮小する縮小処理を行う。画像縮小部４０４から出力される縮小画像は、画像書き込み部４１０へ送信され、画像書き込み部４１０により縮小出力画像保持部４１２に書き込まれる。
【００２７】
検出部４０５は、画像読み出し部４０３から受信した画像について、検出対象物の有無を検出する。検出対象物としては、例えば、顔や人体などがあるが、これらに限定されるものではない。
【００２８】
特徴抽出部４０６は、画像読み出し部により読み出された入力画像または縮小画像から特徴量の抽出処理を行い、抽出された特徴量を積分画像生成部４０７へ送信する。
【００２９】
積分画像生成部４０７は、特徴抽出部４０６により抽出された特徴量を２次元的に累積していき、特徴量の積分画像を生成して積分画像メモリ４０８に格納する。
【００３０】
積分画像メモリ４０８は、照合処理部４０９により検出対象物の照合処理を行うために必要なだけの積分画像を保持する。照合処理部４０９は、積分画像メモリ４０８から積分された特徴量を必要なだけ読み出し、検出対象物との照合を行うことにより検出対象物の有無を検出する。
【００３１】
画像書き込み部４１０は、メモリ４０１が備える縮小出力画像保持部４１２へ縮小出力画像を書き込む。入力画像保持部４１１は、入力画像を格納する。縮小出力画像保持部４１２は、ピラミッド画像生成のために縮小された画像を格納する。
【００３２】
図５は、画像読み出し部４０３の機能構成例を示す。画像読み出し部４０３は、検出部出力インタフェース５０１と、画像縮小部出力インタフェース５０２と、画像データバッファ５０３と、フォーマット変換部５０４と、入力データバッファ５０５と、アドレス生成部５０６と、インターコネクトインタフェース５０７とを備える。
【００３３】
画像読み出し部４０３においては、まず、アドレス生成部５０６が入力画像（画像データ）の読み出しアドレスを生成し、インターコネクトインタフェース５０７へ送信する。インターコネクトインタフェース５０７は、アドレス生成部５０６により生成されたアドレスに基づいて、インターコネクト部４０２を経由してメモリ４０１から画像データを読み出す。そして、インターコネクトインタフェース５０７は、読み出された画像データを入力データバッファ５０５へ送信する。入力データバッファ５０５は、インターコネクトから入力された画像データを、フォーマット変換部５０４による変換処理のために一時的に保持しておくバッファである。フォーマット変換部５０４は、入力データバッファ５０５に保持された画像データを読み出し、データ形式を、検出部４０５や画像縮小部４０４による処理に適した形式に変換する。変換の内容としては、例えば、バイト単位やビット単位の分割、パディング、データ並びの並べ替え、色空間の変換などの処理がある。画像データバッファ５０３は、フォーマット変換部５０４により内部処理に適した形に変換された画像データを一時的に保持するバッファである。画像データバッファ５０３に保持された画像データは、検出部出力インタフェース５０１と、画像縮小部出力インタフェース５０２との双方により読み出され、両方に対して同じ画像データが送出される。検出部出力インタフェース５０１は、画像データバッファ５０３から画像データを読み出し、当該画像データを検出部４０５に送出する。その際、検出部４０５に適したデータ形式への変換が必要な場合には、変換処理を行う。変換処理の内容としては、例えば、必要なビットの取り出しや、ビット幅の拡張、パディング、ビットの結合などの処理がある。同様に、画像縮小部出力インタフェース５０２は、画像データバッファ５０３から画像データを読み出し、当該画像データを画像縮小部４０４に送出する。その際、画像縮小部４０４に適したデータ形式への変換が必要な場合には、同様に変換処理を行う。
【００３４】
図６は、画像書き込み部４１０の機能構成例を示す。画像書き込み部４１０は、画像縮小部入力インタフェース６０１と、フォーマット変換部６０２と、出力データバッファ６０３と、アドレス生成部６０４と、インターコネクトインタフェース６０５とを備える。
【００３５】
画像書き込み部４１０においては、まず、画像縮小部４０４から出力される縮小画像データが、画像縮小部入力インタフェース６０１に入力される。画像縮小部入力インタフェース６０１は、入力された画像データをフォーマット変換部６０２へ送信する。フォーマット変換部６０２は、画像縮小部４０４から出力されてきた画像データを、メモリに書き込むのに適した形式に変換して出力データバッファ６０３に格納する。変換の内容としては、例えば、ワード単位やバイト単位の分割、パディング、データの並び替えなどの処理がある。出力データバッファ６０３に格納された変換後の画像データは、インターコネクトインタフェース６０５に送信される。インターコネクトインタフェース６０５は、アドレス生成部６０４により生成された書き込みアドレスで指定された縮小出力画像保持部４１２の格納場所へ画像データを書き込む。
【００３６】
次に、図７（ａ）を参照して、本実施形態に係る画像処理装置の処理動作について説明する。図７（ａ）は、入力画像をラスタスキャン（横スキャン）で走査しながら処理する場合の説明図である。一方、図７（ｂ）は、入力画像をカラムスキャン（縦スキャン）で走査しながら処理する場合の説明図である。なお、まず図７（ａ）のラスタスキャンを例にして説明を行う。
【００３７】
図７（ａ）において、読み込み画像７０１は、入力画像保持部４１１に保持された入力画像に相当する。画像読み出し部４０３は、読み込み画像７０１に対して、図に示すように左から右、上から下へのラスタスキャンを行って画像データを読み出す。読み出された画像データは、検出部４０５と画像縮小部４０４との２系統に同時に送信され、検出部４０５側では、特徴抽出処理と、積分画像生成処理とが実行され、実行結果が積分画像メモリ４０８に書き込まれる。照合処理部４０９は、積分画像メモリ４０８内において、検出対象物の照合を行うために必要な領域である検出ウィンドウ７０２を移動させながら、各検出ウィンドウ７０２位置で照合処理を行い、検出対象物を検出する。一方、画像読み出し部４０３から画像縮小部４０４へ送信された画像データに関しては、縮小アルゴリズムの種別に応じた分量だけ、画像縮小部４０４内の縮小用ラインメモリ７０３に蓄積される。例えば、縮小アルゴリズムが、バイリニア補間の場合には、１ライン分のメモリが必要であり、単純間引きの場合には、縮小用ラインメモリ７０３は不要となる。画像縮小部４０４は、必要に応じて縮小用ラインメモリ７０３に蓄積された画像データ値を参照しながら縮小処理を行い、縮小画像データを画像書き込み部４１０へ送信する。画像書き込み部４１０は、縮小画像データを縮小出力画像保持部４１２に対して、矢印７０４により示されるようにラスタスキャン順で書き込む。なお、縮小画像を生成する必要がない場合については、画像読み出し部４０３は、検出部４０５だけに画像データを送出し、画像縮小部４０４および画像書き込み部４１０は動作しないようにしてもよい。
【００３８】
図８を参照して、本実施形態に係る画像メモリへのアクセス数について説明する。本実施形態では、画像読み出し部４０３により読みだされた画像データを、画像縮小部４０４と検出部４０５とに同時に送出するため、縮小処理と検出処理とを並行して実行できる。従って、図８に示されるように、入力画像１０１から縮小画像１０２を生成する過程で入力画像１０１に対する検出処理が実行できる。次に、縮小画像１０２を新たな入力として縮小画像１０３を生成する過程で、縮小画像１０２に対する検出処理を実行できる。以下、同様に低い解像度の画像に対して処理を行っていき、最後は、縮小画像１０９に対して検出処理を行うことにより、全ピラミッド画像に対する検出処理が完了する。図１で説明したピラミッド画像を、図８に示されるように処理した場合の、画像メモリへのアクセス数を画素数で表すと、画像メモリ読み出し数Ｒ、画像メモリ書き込み数Ｗ、画像メモリへのアクセス数Ｎは、式（４）により計算される。ここで、入力画像１０１の画素数は７６８００、縮小画像１０２の画素数は５３２００、縮小画像１０３の画素数は３６６８６、…、縮小画像１０８の画素数は５６５５、縮小画像１０９の画素数は３８８８である。読み出し数Ｒは、入力画像１０１、縮小画像１０２乃至縮小画像１０９の画素数を合計したものである。書き込み数Ｗは、縮小画像１０２乃至縮小画像１０９の画素数を合計したものである。画像メモリへのアクセス数Ｎは、読み出し数Ｒと書き込み数Ｗとの合計である。
【００３９】
【数４】
0005683367.tif 000005
【００４０】
本実施形態における画像メモリへのアクセス数（４０２３５２画素）と、図２で説明した処理での画像メモリへのアクセス数（６３８０４０画素）とを比較する。すると、縮小処理の入力画像データと検出処理の入力画像データとを同時に読み出している分、画像メモリへのアクセス数を低減できていることが分かる。また、本実施形態における画像メモリへのアクセス数と、図で説明した処理での画像メモリへのアクセス数（６９１２００画素）と比較する。すると、読み出す画像のサイズが解像度が低くなるのに応じて小さくなっている分、画像メモリへのアクセス数を低減できていることが分かる。
【００４１】
以上、画像をラスタスキャンする例で説明を行ったが、図７（ｂ）に示されるように、画像データをカラムスキャン（縦スキャン）する場合であっても、同様の処理を実現することが可能である。図７（ｂ）において、読み込み画像７０５は、入力画像保持部４１１に保持された入力画像に相当する。画像読み出し部４０３は、読み込み画像７０５に対して、図に示すように上から下、左から右へのカラムスキャンを行って画像データを読み出す。読み出された画像データは、検出部４０５と画像縮小部４０４との２系統に同時に送信され、検出部４０５側では、特徴抽出処理と、積分画像生成処理とが実行され、実行結果が積分画像メモリ４０８にカラムスキャン順に書き込まれる。照合処理部４０９は、積分画像メモリ４０８内で、検出対象物の照合を行うために必要な領域である検出ウィンドウ７０６を移動させながら、各検出ウィンドウ７０６位置で照合処理を行うことにより、検出対象物を検出する。一方、画像読み出し部４０３から画像縮小部４０４へ送信された画像データに関しては、縮小アルゴリズムの種別に応じた分量だけ、画像縮小部４０４内の縮小用カラムメモリ７０７に蓄積される。画像縮小部４０４は、必要に応じて縮小用カラムメモリ７０７に蓄積された画像データ値を参照しながら縮小処理を行い、縮小画像データを画像書き込み部４１０へ送信する。画像書き込み部４１０は、縮小画像データを、縮小出力画像保持部４１２に対して、矢印７０８に示されるようにカラムスキャン順で書き込む。
【００４２】
なお以上の説明では、検出部４０５において積分画像生成処理を行い、積分画像メモリ４０８に蓄積して照合処理を行った。しかし、積分画像を生成せずに、特徴抽出部４０６の出力をメモリにそのまま蓄積し、検出対象物を検出する場合であっても、本発明を適用できる。
【００４３】
また、本実施形態では、高解像度から低解像度に向けて順に処理を行ったため、画像縮小部４０４は、縮小処理のみ行った。しかし、低解像度から高解像度に向けて順に処理を行ったり、異なる順で処理を行ったりする場合、画像縮小部４０４を、拡大処理を含む解像度変換処理が可能な解像度変換部により置き換えても、本発明を適用できる。
【００４４】
さらに、本実施形態では、メモリ４０１が一つである場合を示しているが、メモリは一つでも複数でもよく、また、入力画像が配置されるメモリと、縮小出力画像が配置されるメモリとは、同一であってもよく、あるいは、異なっていてもよい。また、本実施形態の検出部４０５において実行される検出処理は、顔や人体など、ある不特定の対象物を検出する場合に限定されるものではなく、あるカテゴリに属する対象物の検出や、特定の人物や物体の検出などであってもよい。
【００４５】
以上、本実施形態によれば、画像メモリへのアクセス数を低減することができる。
【００４６】
（第２実施形態）
以下、図面を参照して本発明の第２実施形態について説明する。第２実施形態では、読み込み画像をバンド分割して処理する場合を考える。図９は、読み込み画像９０１を複数のバンドデータに縦に分割して処理する場合の説明図である。図９（ａ）において、バンド９０２は、読み込み画像９０１を縦にバンド分割した最初のバンドデータである。バンド９０２は、上から下にラスタスキャン順に読み込まれる。バンド９０２の読み込みおよびバンド９０２に対する処理が終わると、次に、図９（ｂ）に示されるようにバンド９０３が読み込まれる。この時、検出対象物の検出ウィンドウのサイズ（検出対象物に依存した数１０乃至数１００画素程度）を考慮した分、バンド９０２とバンド９０３とは、横方向にオーバーラップする必要がある。バンド９０３の読み込みおよびバンド９０３に対する処理が終わると、次に図９（ｃ）に示されるようにバンド９０４が読み込まれる。バンド９０３およびバンド９０４も、検出ウィンドウのサイズを考慮した分、横方向にオーバーラップする必要がある。以下、同様に横方向にオーバーラップするバンドを読み込みおよび当該バンドを処理していき、読み込み画像９０１の最後に図９（ｄ）に示される最後のバンド９０５を読み込みおよびバンド９０５に対する処理を行うことになる。このようにバンドデータ同士は相互に重複部分を有する。
【００４７】
図１０を参照して、図９に示されるようにバンド分割を行い、かつ、第１実施形態で説明したように縮小処理を行った場合の画像メモリへのアクセスについて説明する。図１０において、読み込み画像１００１は、縦にバンド分割され、縮小処理および検出処理が同時に行われ、バンド単位で書き込み画像１００２に書き込まれる。最初に、バンド１００３に対して縮小処理および検出処理が同時に行われ、バンド１００４に書き込まれる。次に、バンド１００５に対して縮小処理および検出処理が同時に行われ、バンド１００６に書き込まれる。さらに、バンド１００７に対して縮小処理および検出処理が同時に行われ、バンド１００８に書き込まれる。以下、同様に読み込み画像全体の処理が終わるまでバンド処理が続けられる。図９で説明したように、読み込み画像のバンド１００３とバンド１００５、およびバンド１００５とバンド１００７、以下同様にバンドＮとバンドＮ＋２は、検出ウィンドウサイズを考慮して横方向にオーバーラップする必要がある。このようにオーバーラップして入力されるバンドを縮小処理して出力した結果、書き込み画像におけるバンド１００４、バンド１００６、バンド１００８もまた、以下同様に横方向にオーバーラップすることになる。前述したように、検出ウィンドウの横サイズは、数１０画素程度あるため、書き込み画像において隣接するバンド同士も、数１０画素単位で横方向にオーバーラップすることになる。このようなバンド間のオーバーラップは、図８におけるメモリへのアクセス数の計算では考慮されていないため、図８の場合と比べるとメモリへのアクセス数が増加してしまう。このバンド間のオーバーラップによるメモリへのアクセス数の増加を抑制するのが、第２実施形態に係る画像処理装置である。
【００４８】
図１１は、第２実施形態に係る画像処理装置の機能構成例を示す。図１１に示される画像処理装置の機能構成は、図４を参照して説明した第１実施形態に係る画像処理装置の機能構成例と同様である。第２実施形態に係る画像処理装置は、図４に示される機能構成に加えて、画像読み出し部４０３と画像縮小部４０４との間に画像切り出し部１１０１を備える点が第１実施形態に係る画像処理装置とは異なる。画像切り出し部１１０１は、画像読み出し部４０３から送られてくる画像データに対し、画像の左側の、画像の右側の、あるいは画像の両側の、指定された画素数分の画素を捨て、切り出し後の画像を、画像縮小部４０４に与える機能を有する。
【００４９】
なお、図１１では、画像切り出し部１１０１は、画像読み出し部４０３と画像縮小部４０４との間に位置しているが、画像切り出し部１１０１は、画像縮小部４０４と画像書き込み部４１０との間に位置してもよい。
【００５０】
図１２は、画像切り出し部１１０１の内部構成例を示す。画像切り出し部１１０１は、画素位置カウント部１２０１と、画素位置比較部１２０２と、出力選択部１２０３と、切り出し位置指定部１２０４とを備える。画像切り出し部１１０１に入力された画像データは、出力選択部１２０３に送られるとともに、画素位置カウント部１２０１にも送られる。画素位置カウント部１２０１は、画像中での画素の座標位置をカウントする。画素位置カウント部１２０１は、入力された画像データに対応する画素位置を画素位置比較部１２０２へ出力する。また、切り出し位置指定部１２０４は、画像のどの位置を切り出すかを示す切り出し位置情報を指定する。切り出し位置は、バンドデータ同士のオーバーラップ部分が減少するように指定される。指定された切り出し位置は画素位置比較部１２０２へ出力される。画素位置比較部１２０２は、画素位置カウント部１２０１から受け取った入力画像データの画素位置と、切り出し位置指定部１２０４から受け取った切り出し位置情報とを比較する。そして、画素位置比較部１２０２は、入力画像データが、出力される画素位置にあるか、または捨てられる画素位置にあるかを判定する。画素位置比較部１２０２による判定結果は、出力選択部１２０３に送られる。出力選択部１２０３は、入力画像データを出力するかしないかを、画素位置比較部１２０２による判定結果に応じて選択する。
【００５１】
次に、図１３を参照して、第２実施形態に係る処理動作について説明する。図１３において、読み込み画像１３０１は、縦にバンド分割され、縮小処理および検出処理が同時に行われ、バンドデータ単位で書き込み画像１３０２に書き込まれる。図１３において、読み込み画像１３０１を分割して得られる最初のバンド１３０３に関しては、画像切り出し部１１０１による切り出し処理は行われずに、バンド全体が縮小処理されて、バンド１３０４に書き込まれる。次に読み込まれるバンド１３０５に関しては、前述したように、検出ウィンドウサイズを考慮した分、バンド１３０３と数１０画素単位で横方向にオーバーラップしている。このバンド１３０５については、バンド１３０３とオーバーラップしている部分のうち、縮小処理に不要な部分を画像切り出し部１１０１のより切り出して捨てることによって、書き込み画像１３０２でのオーバーラップを避けることができる。すなわち、図１３に示されるように、書き込み画像１３０２におけるバンド１３０４とバンド１３０６とのオーバーラップは避けられる。縮小処理に必要なオーバーラップ量は、バイリニア補間やバイキュービック補間、単純間引きなどの縮小アルゴリズムによって異なり、例えば、バイリニア補間の場合、バンドが１画素分オーバーラップしていれば縮小処理が可能である。従って、バイリニア補間の場合、バンド１３０４に対するバンド１３０６の左側のオーバーラップ量が１画素になるように画像切り出し部１１０１への設定を行えばよい。以下、バンド１３０７についても、同様に画像切り出し部１１０１による切り出し処理を行うことによって、書き込み画像１３０２におけるバンド１３０８と、バンド１３０６とのオーバーラップを避けることができる。以降のバンド処理に関しても同様である。なお、画像切り出し部１１０１による画像切り出し位置については、バンド毎に、切り出し位置指定部１２０４が適切な値を設定することによって、上述の動作を実現できる。
【００５２】
以上、説明したように、本実施形態では、バンド分割した場合の画像切り出し部における切り出し位置を、縮小処理に不要な分を捨てるように適切に設定する。その結果、本実施形態では、バンド分割した場合であっても書き込み画像におけるバンド間のオーバーラップを減少させることができ、メモリへのアクセス数を減らすことができる。
【００５３】
なお、以上の動作の説明では、画像切り出し部１１０１において、画像の左側を捨てる場合のみを説明したが、バンドの処理順序が右から左に向かって行われるような場合、画像の右側を捨てるようにしてもよい。また、バンドの処理順序が左から右に向かっても、右から左に向かっても両方に対応するため、画像切り出し部１１０１において、画像の両側についてそれぞれ指定された画素数分の画素を捨てるようにしてもよい。
【００５４】
また、本実施形態では、バンドを縦に分割する例を示したが、バンドを横に分割する場合であっても、画像切り出し部において、画像を切り出す方向を横方向から縦方向に変更することにより、本発明を適用可能である。
【００５５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005683367.tif 000006
【図２】
0005683367.tif 000007
【図３】
0005683367.tif 000008
【図４】
0005683367.tif 000009
【図５】
0005683367.tif 000010
【図６】
0005683367.tif 000011
【図７】
0005683367.tif 000012
【図８】
0005683367.tif 000013
【図９】
0005683367.tif 000014
【図１０】
0005683367.tif 000015
【図１１】
0005683367.tif 000016
【図１２】
0005683367.tif 000017
【図１３】
0005683367.tif 000018