JP5799681B2 - Image processing apparatus, integral image creation method and program - Google Patents
Image processing apparatus, integral image creation method and program Download PDFInfo
- Publication number
- JP5799681B2 JP5799681B2 JP2011193247A JP2011193247A JP5799681B2 JP 5799681 B2 JP5799681 B2 JP 5799681B2 JP 2011193247 A JP2011193247 A JP 2011193247A JP 2011193247 A JP2011193247 A JP 2011193247A JP 5799681 B2 JP5799681 B2 JP 5799681B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- integral value
- coordinates
- area
- block
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Description
本発明は、画像処理装置、積分画像作成方法及びプログラムに関する。 The present invention relates to an image processing device, an integrated image creation method, and a program.
被写体の顔画像を撮像する撮像装置であって、被写体を含む画像データを取得する取得手段と、取得された画像データに、平均差分フィルタを実行するフィルタ手段と、平均差分フィルタが実行された画像データから、被写体の顔領域を検出する顔領域検出手段と、検出された被写体の顔領域に対して少なくとも焦点を合わせる制御を行って、被写体像を撮像する撮像手段とを有し、前記顔領域検出手段は、平均差分フィルタが実行された同被写体種の顔画像データから予め作成される特徴量を用いて、被写体の顔領域を検出すること、を特徴とする撮像装置は、従来から知られている。 An imaging device that captures a face image of a subject, an acquisition unit that acquires image data including the subject, a filter unit that executes an average difference filter on the acquired image data, and an image in which the average difference filter is executed Face area detecting means for detecting the face area of the subject from the data, and image pickup means for picking up a subject image by performing at least focusing control on the detected face area of the subject. 2. Description of the Related Art Conventionally, there has been known an imaging apparatus characterized in that a detection unit detects a face area of a subject using a feature amount created in advance from face image data of the same subject type on which an average difference filter has been executed. ing.
上記した撮像装置では画像データ内の画素について、平均差分フィルタ処理を平均輝度値と注目画素の輝度値との差の絶対値を算出することにより行っている。平均輝度値は注目画素(ある1画素)の近傍の画素の輝度の平均値をとったものである。平均輝度値を算出し易いよう、予め積分画像を作成しておくとよいことは従来から知られている。積分画像は各画素ブロックの輝度値の和を累積的に算出して作成されるものである(例えば特許文献1参照)。 In the imaging apparatus described above, the average difference filter process is performed on the pixels in the image data by calculating the absolute value of the difference between the average luminance value and the luminance value of the target pixel. The average luminance value is an average value of luminances of pixels in the vicinity of the target pixel (a certain pixel). It has been conventionally known that an integral image should be created in advance so that the average luminance value can be easily calculated. The integrated image is created by cumulatively calculating the sum of the luminance values of each pixel block (see, for example, Patent Document 1).
しかしながら、積分画像をRAM(ランダムアクセスメモリ)などの記憶装置に格納する場合は、積分値が非常に大きくなるため、積分画像を格納する為に必要な記憶容量が膨大になるという問題があった。 However, when the integral image is stored in a storage device such as a RAM (Random Access Memory), the integral value becomes very large, and there is a problem that the storage capacity necessary for storing the integral image becomes enormous. .
本発明は、上記の点に鑑みなされたもので、積分画像の格納に必要な記憶容量を削減できる画像処理装置、積分画像作成方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above points, and an object thereof is to provide an image processing apparatus, an integrated image creation method, and a program capable of reducing the storage capacity necessary for storing an integrated image.
上記した課題を解決するために、請求項1に記載の画像処理装置は、画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直方向に輝度値を累積的に足し合わせた垂直積分値、水平方向に輝度値を累積的に足し合わせた水平積分値及び輝度値を格納した記憶手段と、前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段とを有することを特徴とする。
In order to solve the above-described problem, the image processing apparatus according to
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。 In addition, what applied the component, expression, or arbitrary combination of the component of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention.
本発明によれば、積分画像の格納に必要な記憶容量を削減できる画像処理装置、積分画像作成方法及びプログラムを提供可能である。 According to the present invention, it is possible to provide an image processing apparatus, an integrated image creation method, and a program that can reduce the storage capacity required for storing an integrated image.
以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態における画像処理装置は、積分画像を作成する機器や装置、回路などであればよい。本実施の形態における画像処理装置は、例えばコンピュータ、複合機やコピー機、デジタルカメラ等の撮像装置、画像処理を行う回路である。本実施の形態における画像処理装置は複数の画素を1つのブロックとして扱い、ブロック単位で積分する積分画像作成方法において、従来と比較して積分画像の格納に必要な記憶容量を削減し、回路規模を削減する。 Hereinafter, embodiments of the present invention will be described in detail. Note that the image processing apparatus in the present embodiment may be a device, apparatus, circuit, or the like that creates an integral image. The image processing apparatus according to the present embodiment is, for example, a computer, an imaging apparatus such as a multifunction peripheral or a copier, a digital camera, or a circuit that performs image processing. The image processing apparatus according to the present embodiment treats a plurality of pixels as one block, and reduces the storage capacity necessary for storing the integral image compared with the conventional method in the integral image creation method in which integration is performed in units of blocks. To reduce.
(面積積分)
面積積分(積分画像)とは各画素ブロックの輝度値の和を累積的に算出して作成されるものである。図1は積分画像の一例の説明図である。
(Area integration)
Area integration (integrated image) is created by cumulatively calculating the sum of luminance values of each pixel block. FIG. 1 is an explanatory diagram of an example of an integral image.
図1(a)は入力画像の一例を示している。図1(a)の入力画像はVGA(縦480ピクセル、横640ピクセル)で輝度が8ビットであるとする。座標(i,j)の輝度値はY(i,j)とする。座標(i,j)の面積積分値はA(i,j)とする。なお、iは640以下の自然数とする。jは480以下の自然数とする。面積積分値A(i,j)は以下の式(1)のように定義される。 FIG. 1A shows an example of an input image. The input image in FIG. 1A is assumed to be VGA (vertical 480 pixels, horizontal 640 pixels) and 8 bits in luminance. The luminance value of the coordinates (i, j) is Y (i, j). The area integral value of the coordinates (i, j) is A (i, j). Note that i is a natural number of 640 or less. j is a natural number of 480 or less. The area integral value A (i, j) is defined as the following formula (1).
A(i,j)=∫∫Y(i,j)=ΣΣY(i,j)…(1)
図1(c)は積分画像の一例を示している。図1(c)の積分画像の積分方向は左上から右下である。すなわちA(1,1)はY(1,1)と等しい。また、A(640、480)は全ての座標(i,j)の輝度値Y(i,j)の合計と等しい。
A (i, j) = ∫∫Y (i, j) = ΣΣY (i, j) (1)
FIG. 1C shows an example of the integral image. The integration direction of the integrated image in FIG. 1C is from upper left to lower right. That is, A (1,1) is equal to Y (1,1). A (640, 480) is equal to the sum of the luminance values Y (i, j) of all coordinates (i, j).
図1(b)はRAMに格納された入力画像の一例を表している。図1(d)はRAMに格納された積分画像の一例を表している。例えば図1(b)のように入力画像を格納したあと、図1(d)のように計算する為には、図1(d)の記憶容量のRAMが1つあればよい。言い換えると、入力画像の確保と積分画像の計算とは物理的に同じRAMで兼用できる。 FIG. 1B shows an example of an input image stored in the RAM. FIG. 1D shows an example of the integral image stored in the RAM. For example, after storing an input image as shown in FIG. 1 (b), in order to calculate as shown in FIG. 1 (d), only one RAM having the storage capacity shown in FIG. 1 (d) is required. In other words, the securing of the input image and the calculation of the integral image can be combined in the physically same RAM.
輝度値Yの最大値は255(8ビット)である。したがって、面積積分値Aの最大値は78336000(=255×640×480)である。面積積分値AをRAMに格納する為には、27ビット(=132651000)必要である。したがって、面積積分値Aを格納する為に必要なRAMの記憶容量は、1012.5KB(=640×480×27ビット)となる。なお、本実施の形態においては、特に断りのない限り、8ビット=1バイト、1024バイト=1KB(キロバイト)で計算する。 The maximum value of the luminance value Y is 255 (8 bits). Therefore, the maximum value of the area integration value A is 78336000 (= 255 × 640 × 480). In order to store the area integration value A in the RAM, 27 bits (= 132651000) are required. Accordingly, the storage capacity of the RAM necessary for storing the area integration value A is 1012.5 KB (= 640 × 480 × 27 bits). In this embodiment, calculation is performed with 8 bits = 1 byte, 1024 bytes = 1 KB (kilobytes) unless otherwise specified.
図2は積分画像を利用した輝度の総和の計算の一例の説明図である。図2(a)は積分画像内の任意の長方形に囲まれた輝度値Yの総和Sが任意の長方形の4座標の面積積分値Aから計算できることを表している。なお、図2(a)では積分画像内の任意の長方形の4座標をP0、P1、M0及びM1で表している。 FIG. 2 is an explanatory diagram of an example of calculation of the total luminance using the integral image. FIG. 2A shows that the sum S of luminance values Y surrounded by an arbitrary rectangle in the integral image can be calculated from the area integral value A of the four coordinates of the arbitrary rectangle. In FIG. 2A, four coordinates of an arbitrary rectangle in the integrated image are represented by P0, P1, M0, and M1.
図2(b)は積分画像内の任意の長方形の4座標P0、P1、M0及びM1の面積積分値Aが示す輝度値Yの総和を視覚的に表している。図2(a)に示した積分画像内の任意の長方形に囲まれた輝度値Yの総和Sは以下の式(2)により計算できる。 FIG. 2B visually represents the sum of luminance values Y indicated by the area integral value A of four coordinates P0, P1, M0 and M1 of an arbitrary rectangle in the integral image. The sum S of luminance values Y surrounded by an arbitrary rectangle in the integral image shown in FIG. 2A can be calculated by the following equation (2).
S=A(P0)+A(P1)−A(M0)−A(M1)…(2)
任意の長方形に囲まれた画素の数は4座標P0、P1、M0及びM1の座標から求めることができる。したがって、積分画像内の任意の長方形に囲まれた輝度値Yの総和Sを任意の長方形に囲まれた画素の数で割ることにより、任意の長方形に囲まれた画素の輝度の平均値を求めることができる。
S = A (P0) + A (P1) -A (M0) -A (M1) (2)
The number of pixels surrounded by an arbitrary rectangle can be obtained from the coordinates of the four coordinates P0, P1, M0, and M1. Therefore, the average value of the luminance of the pixels surrounded by the arbitrary rectangle is obtained by dividing the sum S of the luminance values Y surrounded by the arbitrary rectangle in the integral image by the number of pixels surrounded by the arbitrary rectangle. be able to.
本実施の形態における画像処理装置は、積分画像内の任意の長方形に囲まれた輝度値Yの総和Sを、上記のようにRAMへの4回以下のアクセスで求めることができるという特性を失うことなく、積分画像の格納に必要なRAMの記憶容量を以下のように削減するものである。 The image processing apparatus according to the present embodiment loses the characteristic that the sum S of luminance values Y surrounded by an arbitrary rectangle in the integral image can be obtained by accessing the RAM four times or less as described above. The RAM storage capacity necessary for storing the integral image is reduced as follows.
(ハードウェア構成図)
画像処理装置10は例えば図3に示すようなPC(パーソナルコンピュータ)により実現される。図3はPCの一例のハードウェア構成図である。PCはバス19で相互に接続された入力装置11、出力装置12、記録媒体読取装置13、補助記憶装置14、主記憶装置15、演算処理装置16及びインタフェース装置17を有する構成である。
(Hardware configuration diagram)
The
入力装置11はキーボードやマウス等である。入力装置11は各種信号を入力するために用いられる。出力装置12はディスプレイ装置等である。出力装置12は各種ウインドウやデータ等を表示するために用いられる。インタフェース装置17は、モデム、LANカード等である。インタフェース装置17はLANやインターネット等のネットワークに接続するために用いられる。
The
画像処理装置10を実現するプログラムは、例えば記録媒体18の配布やネットワーク等からのダウンロードなどによって提供される。積分画像作成方法を実現するプログラムは画像処理装置10を実現するプログラムの少なくとも一部である。
A program for realizing the
記録媒体18はCD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
The
プログラムを記録した記録媒体18が記録媒体読取装置13にセットされると、プログラムは記録媒体18から記録媒体読取装置13を介して補助記憶装置14にインストールされる。ネットワーク等からダウンロードされたプログラムはインタフェース装置17を介して補助記憶装置14にインストールされる。
When the
補助記憶装置14はプログラム、必要なファイル、データ等を格納する。主記憶装置15はプログラムの起動時に補助記憶装置14からプログラムを読み出して格納する。演算処理装置16は主記憶装置15に格納されたプログラムに従って各種機能を実現する。
The
また、画像処理装置10は、例えば図17に示すようなハードウェアにより実現してもよい。図17は画像処理装置の他の例のハードウェア構成図である。図17はカメラ等の撮像装置21から送られる映像データをRAM23に格納し、顔検知回路26に面積積分値を出力する例を表している。なお、図17の例では輝度格納回路22、積分回路24及び積分値計算回路25が画像処理装置10に相当する。
Further, the
撮像装置21はYUV422やYUV420の映像データ(色情報は不要)を輝度格納回路22に送信する。なお、映像データがRGBの場合はYUV422等に変換された後で送信される。輝度格納回路22はRAM23に輝度値Yを格納する。この際、ブロック内の輝度値Yは全て同じアドレスに格納される。
The
RAM23への輝度値Yの格納が終わると、輝度格納回路22は検知結果が出力されるまで新しい映像データを取り込まない。積分回路24はRAM23に格納された輝度値Yを輝度値Y、水平積分値H、垂直積分値V、面積積分値Aの組み合わせに書き換える。
When the storage of the luminance value Y in the
積分値計算回路25は図4(c)に示す計算式の処理を実行する。積分値計算回路25は顔検知回路26から面積積分値を要求された座標が含まれるブロック内の輝度値Y、水平積分値H、垂直積分値V、面積積分値Aをまとめて読み、要求された座標の面積積分値Aを顔検出回路26に出力する。
The integral value calculation circuit 25 executes the processing of the calculation formula shown in FIG. The integral value calculation circuit 25 collectively reads the luminance value Y, horizontal integral value H, vertical integral value V, and area integral value A in the block including the coordinates for which the area integral value is requested from the
(アーキテクチャ)
画像処理装置10は、縦2ピクセル及び横2ピクセルの四角形を1つのブロックとして入力画像を320×240のブロックに分ける。画像処理装置10はブロック単位で後述のような積分画像のデータをRAMに格納する。図4は本実施の形態におけるブロック単位の積分画像の一例の説明図である。図4(a)は本実施の形態におけるブロック単位の積分画像のデータの一例を示す。
(architecture)
The
ブロック単位の積分画像のデータは、面積積分値A(i−1,j−1)と、垂直積分値V(i,j−1)と、水平積分値H(i−1,j)と、輝度値Y(i,j)とを含む構成である。座標(i,j)の水平積分値はH(i,j)とする。座標(i,j)の垂直積分値はV(i,j)とする。なお、i及びjは2の倍数である。 The integrated image data of the block unit includes area integrated value A (i−1, j−1), vertical integrated value V (i, j−1), horizontal integrated value H (i−1, j), And a luminance value Y (i, j). The horizontal integration value of the coordinates (i, j) is assumed to be H (i, j). The vertical integration value of the coordinates (i, j) is V (i, j). Note that i and j are multiples of 2.
垂直積分値Vは垂直方向に輝度値Yを累積的に足し合わせたものである。具体的に垂直積分値V(i,j)は輝度値Y(i,1)〜Y(i,j)を累積的に足し合わせたものである。水平積分値Hは水平方向に輝度値Yを累積的に足し合わせたものである。具体的に水平積分値H(i,j)は輝度値Y(1,j)〜Y(i,j)を累積的に足し合わせたものである。 The vertical integration value V is a cumulative addition of the luminance value Y in the vertical direction. Specifically, the vertical integration value V (i, j) is a cumulative addition of luminance values Y (i, 1) to Y (i, j). The horizontal integration value H is a cumulative addition of the luminance value Y in the horizontal direction. Specifically, the horizontal integration value H (i, j) is a cumulative addition of luminance values Y (1, j) to Y (i, j).
図4(b)はブロック単位でRAMの各アドレスに格納された積分画像のデータの一例である。RAMの各アドレスに格納された各ブロックの積分画像のデータには本来の面積積分値Aが1つしか含まれていない。 FIG. 4B is an example of integral image data stored at each address of the RAM in units of blocks. The integrated image data of each block stored at each address of the RAM contains only one original area integral value A.
しかし、図4(c)に回路で示す計算式により、RAMの1つのアドレスからブロック単位の積分画像のデータを読み出すことで、画像処理装置10は4つの面積積分値Aを読み出すことができる。図4(c)は以下の式(3)〜(5)を示している。
However, the
A(i,j−1)=A(i−1,j−1)+V(i,j−1)…(3)
A(i−1,j)=A(i−1,j−1)+H(i−1,j)…(4)
A(i,j)=A(i−1,j−1)+V(i,j−1)
+H(i−1,j)+Y(i,j)…(5)
図5はブロック単位の積分画像のデータから4つの面積積分値を読み出す処理の一例のイメージ図である。図5(a)はブロック単位の積分画像のデータに1つ含まれる面積積分値A(i−1,j−1)が輝度値Yの和を累積的に算出する画素の範囲を斜線で示したものである。また、図5(b)はブロック単位の積分画像のデータに1つ含まれる垂直積分値V(i,j−1)が垂直方向に輝度値Yの和を累積的に算出する画素の範囲を斜線で示したものである。また、図5(c)はブロック単位の積分画像のデータに1つ含まれる水平積分値H(i−1,j)が水平方向に輝度値Yの和を累積的に算出する画素の範囲を斜線で示したものである。
A (i, j-1) = A (i-1, j-1) + V (i, j-1) (3)
A (i-1, j) = A (i-1, j-1) + H (i-1, j) (4)
A (i, j) = A (i-1, j-1) + V (i, j-1)
+ H (i-1, j) + Y (i, j) (5)
FIG. 5 is an image diagram showing an example of a process for reading out four area integral values from block unit integral image data. FIG. 5A shows the range of pixels in which the area integral value A (i−1, j−1) included in the integrated image data in block units is cumulatively calculated as the sum of the luminance values Y by hatching. It is a thing. FIG. 5B shows a range of pixels in which the vertical integration value V (i, j−1) included in the block-unit integrated image data cumulatively calculates the sum of the luminance values Y in the vertical direction. This is indicated by diagonal lines. FIG. 5C shows a pixel range in which the horizontal integration value H (i−1, j) included in the block-based integrated image data cumulatively calculates the sum of the luminance values Y in the horizontal direction. This is indicated by diagonal lines.
式(3)は図5(a)の斜線部分に示した輝度値Yの和と、図5(b)の斜線部分に示した輝度値Yの和とを加算することにより、面積積分値A(i,j−1)を求めるものである。式(4)は図5(a)の斜線部分に示した輝度値Yの和と、図5(c)の斜線部分に示した輝度値Yの和とを加算することにより、面積積分値A(i−1,j)を求めるものである。 The expression (3) is obtained by adding the sum of the luminance values Y shown in the shaded portion of FIG. 5A and the sum of the luminance values Y shown in the shaded portion of FIG. (I, j-1) is obtained. Equation (4) is obtained by adding the sum of the luminance values Y shown in the shaded area in FIG. 5A and the sum of the luminance values Y shown in the shaded area in FIG. (I-1, j) is obtained.
また、式(5)は図5(a)の斜線部分に示した輝度値Yの和と、図5(b)の斜線部分に示した輝度値Yの和と、図5(c)の斜線部分に示した輝度値Yの和と、ブロック単位の積分画像のデータに1つ含まれる輝度値Y(i,j)とを加算することにより、面積積分値A(i,j)を求めるものである。 Equation (5) is the sum of the brightness values Y shown in the shaded area in FIG. 5A, the sum of the brightness values Y shown in the shaded area in FIG. 5B, and the hatched line in FIG. 5C. The area integral value A (i, j) is obtained by adding the sum of the luminance values Y shown in the part and the luminance value Y (i, j) included in the integrated image data in block units. It is.
以上のように、画像処理装置10はブロック毎に4つの面積積分値Aを一度に読み出すことができる。画像処理装置10は、どの座標の面積積分値AもRAMへの1回のアクセスで求めることができる。
As described above, the
ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は次のように見積もることができる。水平積分値Hの最大値は、163200(=255×640)である。水平積分値HをRAMに格納する為には、18ビット必要である。垂直積分値Vの最大値は、122400(=255×480)である。垂直積分値VをRAMに格納する為には、17ビット必要である。よって、1ブロックの積分画像のデータをRAMに格納する為には70ビット(輝度値Yが8ビット、水平積分値Hが18ビット、垂直積分値Vが17ビット、面積積分値Aが27ビット)必要である。 The storage capacity of the RAM necessary for storing the integral image data in block units can be estimated as follows. The maximum value of the horizontal integration value H is 163200 (= 255 × 640). In order to store the horizontal integration value H in the RAM, 18 bits are required. The maximum value of the vertical integration value V is 122400 (= 255 × 480). In order to store the vertical integration value V in the RAM, 17 bits are required. Therefore, 70 bits (the luminance value Y is 8 bits, the horizontal integration value H is 18 bits, the vertical integration value V is 17 bits, and the area integration value A is 27 bits in order to store the integrated image data of one block in the RAM. )is necessary.
したがって、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は656.25KB(=320×240×70ビット)となる。このように、画像処理装置10は、図1(d)に示した面積積分値Aを格納する為に必要なRAMの記憶容量1012.5KBよりも、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量を削減できている。
Therefore, the storage capacity of the RAM necessary for storing the integral image data in units of blocks is 656.25 KB (= 320 × 240 × 70 bits). As described above, the
上記では、縦2ピクセル及び横2ピクセルの四角形を1つのブロックとして説明しているが、1つのブロックに含まれるピクセル数を整数倍で増やすこともできる。画像処理装置10は、縦4ピクセル及び横4ピクセルの四角形を1つのブロックとして入力画像を160×120(=19200)のブロックに分けることもできる。
In the above description, a quadrangle of two vertical pixels and two horizontal pixels is described as one block. However, the number of pixels included in one block can be increased by an integral multiple. The
図6は本実施の形態におけるブロック単位の積分画像の他の例の説明図である。画像処理装置10は、ブロック単位で図6(a)に示すような積分画像のデータを、RAMに格納する。図6(a)は本実施の形態におけるブロック単位の積分データとブロック単位でRAMの各アドレスに格納された積分画像のデータの一例である。
FIG. 6 is an explanatory diagram of another example of the integral image in units of blocks in the present embodiment. The
図6(a)に示すブロック単位の積分画像のデータは、1つの面積積分値A、3つの水平積分値V、3つの垂直積分値H、9つの輝度値Yを含み、RAMの1つのアドレスに格納される。RAMの各アドレスに格納された各ブロックの積分画像のデータには本来の面積積分値Aが1つしか含まれていない。しかし、図6(b)に示す計算式により、RAMの1つのアドレスからブロック単位の積分画像のデータを読み出すことで、画像処理装置10は16の面積積分値Aを読み出すことができる。
The integrated image data in units of blocks shown in FIG. 6A includes one area integral value A, three horizontal integral values V, three vertical integral values H, and nine luminance values Y, and one address of the RAM. Stored in The integrated image data of each block stored at each address of the RAM contains only one original area integral value A. However, the
ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は次のように見積もることができる。縦2ピクセル及び横2ピクセルの四角形を1つのブロックとした説明と同様、縦4ピクセル及び横4ピクセルの四角形を1つのブロックとした場合も水平積分値HをRAMに格納する為には、18ビット必要である。垂直積分値VをRAMに格納する為には、17ビット必要である。輝度値YをRAMに格納する為には8ビット必要である。面積積分値AをRAMに格納する為には27ビット必要である。 The storage capacity of the RAM necessary for storing the integral image data in block units can be estimated as follows. Similarly to the description in which the square of 2 pixels in the vertical direction and the square of 2 pixels in the horizontal direction are made into one block, even when the square of 4 pixels in the vertical direction and 4 pixels in the horizontal direction are made into one block, in order to store the horizontal integration value H in the RAM, 18 A bit is needed. In order to store the vertical integration value V in the RAM, 17 bits are required. In order to store the luminance value Y in the RAM, 8 bits are required. In order to store the area integration value A in the RAM, 27 bits are required.
したがって、1つの面積積分値A、3つの水平積分値V、3つの垂直積分値H、9つの輝度値Yを含むブロック単位の積分画像のデータをRAMに格納する為には、面積積分値Aが27ビット、3つの水平積分値Vが18×3ビット、3つの垂直積分値Hが17×3ビット、9つの輝度値Yが8×9ビットの204ビット必要である。また、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は478.125KB(=160×120×204ビット)となる。 Therefore, in order to store the block-unit integrated image data including one area integral value A, three horizontal integral values V, three vertical integral values H, and nine luminance values Y in the RAM, the area integral value A Requires 27 bits, three horizontal integration values V are 18 × 3 bits, three vertical integration values H are 17 × 3 bits, and nine luminance values Y are 8 × 9 bits, 204 bits. In addition, the storage capacity of the RAM required to store the integral image data in units of blocks is 478.125 KB (= 160 × 120 × 204 bits).
このように、画像処理装置10は、図1(d)に示した面積積分値Aを格納する為に必要なRAMの記憶容量1012.5KBよりも、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量を削減できている。
As described above, the
なお、1つのブロックに含まれるピクセル数を増やせば増やすほど、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は削減できるが、図4(c)に示すようなブロック単位の積分画像のデータから複数の面積積分値Aを読み出すための計算式を実現する制御回路が大きくなる。 Note that as the number of pixels included in one block increases, the storage capacity of the RAM required to store the integral image data in block units can be reduced. However, the block units as shown in FIG. A control circuit that realizes a calculation formula for reading a plurality of area integral values A from the integral image data becomes larger.
また、FAB(ファウンドリ)によっては巨大なビット幅のRAMが存在しないということもある。この場合はRAMの枚数が増え、遅延が起きてしまう等の問題がある。限界まで全体の回路規模を削減しようとすると、FABによってどこまでブロックサイズを大きくするかは異なるが、一定以上ブロックサイズを大きくしても、RAMの記憶容量の削減への影響が、ほとんどなくなる。そこで、以下の説明では縦4ピクセル及び横4ピクセルの四角形を1つのブロックとして扱う。 Also, depending on the FAB (foundry), there may be no huge bit width RAM. In this case, there is a problem that the number of RAM increases and a delay occurs. When trying to reduce the entire circuit scale to the limit, the extent to which the block size is increased differs depending on the FAB, but even if the block size is increased beyond a certain level, there is almost no effect on the reduction in the storage capacity of the RAM. Therefore, in the following description, a quadrangle of 4 pixels in the vertical direction and 4 pixels in the horizontal direction are handled as one block.
画像処理装置10は、図7に示すように、入力画像を4分割して入力画像の中央から角4方向に面積積分を行ってもよい。図7は本実施の形態におけるブロック単位の四方向積分画像の一例の説明図である。なお、図7では等分割しているが、厳密に等分割である必要はない。図7では分割して出来た4つの領域をそれぞれ第一領域から第四領域まで名前を付けている。
As shown in FIG. 7, the
図8は、四方向積分画像のデータから面積積分値を読み出す処理の一例のイメージ図である。四方向積分画像内の任意の長方形は、a)1つの領域内、b)2つの領域内、c)1つの境界に接する場合、d)全ての領域を含む、e)2つの境界に接する場合、の何れかである。図8では、a)からe)の場合における、それぞれの長方形内の輝度の総和をSa、Sb、Sc、Sd、Seとする。 FIG. 8 is an image diagram of an example of a process of reading an area integral value from data of a four-way integral image. An arbitrary rectangle in the four-way integral image is a) in one region, b) in two regions, c) if it touches one boundary, d) includes all regions, e) if it touches two boundaries . In FIG. 8, the sum of the luminances in the respective rectangles in the cases a) to e) is Sa, Sb, Sc, Sd, and Se.
境界に接していないa)、b)、d)の場合における、それぞれの長方形内の輝度の総和Sa、Sb及びSdは4点の面積積分値Aが分かれば計算可能である。例えばa)の場合における長方形内の輝度の総和Saは、その長方形の4座標における面積積分値AをそれぞれM0a、M1a、P0a、P1aとすると、P0a+P1a−M0a−M1aにより算出できる。 In the cases of a), b), and d) that are not in contact with the boundary, the total luminances Sa, Sb, and Sd in the respective rectangles can be calculated if the four-point area integral values A are known. For example, the total luminance Sa in the rectangle in the case of a) can be calculated by P0a + P1a−M0a−M1a, where the area integral values A at the four coordinates of the rectangle are M0a, M1a, P0a, and P1a, respectively.
1つの境界に接しているc)の場合における、長方形内の輝度の総和Scは2点の面積積分値Aが分かれば計算可能である。例えばc)の場合における長方形内の輝度の総和Scは、その長方形の2座標における面積積分値AをそれぞれM0c、P0cとすると、P0c−M0cにより算出できる。 In the case of c) that is in contact with one boundary, the total luminance Sc in the rectangle can be calculated if the area integral values A at two points are known. For example, the total luminance Sc in the rectangle in the case of c) can be calculated by P0c−M0c, where the area integral values A at the two coordinates of the rectangle are M0c and P0c, respectively.
2つの境界に接しているe)の場合における、長方形内の輝度の総和Seは、1点の面積積分値Aが分かれば求まる。例えばe)の場合における長方形内の輝度の総和Seは、その長方形の1座標における面積積分値AをP0eとすると、P0eである。 In the case of e) in contact with the two boundaries, the total luminance Se in the rectangle can be obtained if the area integral value A at one point is known. For example, in the case of e), the total luminance Se in the rectangle is P0e where the area integral value A at one coordinate of the rectangle is P0e.
よって、四方向積分画像内の任意の長方形内の輝度の総和Sは上記のようにRAMへの4回以下のアクセスで求めることができるという特性を失わない。 Therefore, the characteristic that the sum S of luminances in an arbitrary rectangle in the four-way integral image can be obtained by accessing the RAM four times or less as described above is not lost.
図9は第一領域から第四領域のブロック単位の積分画像の一例の説明図である。画像処理装置10は、ブロック単位で図9(a−1)から図9(a−4)に示すような第一領域から第四領域の積分画像のデータを、RAMに格納する。図9(b)は本実施の形態におけるブロック単位の積分データとブロック単位でRAMの各アドレスに格納された積分画像のデータの他の例である。
FIG. 9 is an explanatory diagram of an example of an integral image in block units from the first region to the fourth region. The
図9(a−1)から図9(a―4)に示すように、第一領域から第四領域の各領域によりブロック内のどこの座標の面積積分を行うかは異なるが、1つの面積積分値A、3つの水平積分値V、3つの垂直積分値H、9つの輝度値Yを含む点で同じである。 As shown in FIGS. 9 (a-1) to 9 (a-4), the area integration of the coordinates in the block differs depending on each area from the first area to the fourth area, but one area This is the same in that it includes an integral value A, three horizontal integral values V, three vertical integral values H, and nine luminance values Y.
しかし、4分割したため、第一領域から第四領域の各領域の角(面積積分値Aが最大となる点)で足し合わせる輝度値Yの数が減り、面積積分値Aの最大値をRAMに格納する為に必要となるビットは、2ビット減って25ビットとなる。また、水平積分値HをRAMに格納する為に必要となるビットは、1ビット減って17ビットとなる。垂直積分値VをRAMに格納する為に必要となるビットは、1ビット減って16ビット必要である。 However, since it is divided into four, the number of luminance values Y added at the corners of each region from the first region to the fourth region (the point where the area integral value A is maximum) is reduced, and the maximum value of the area integral value A is stored in the RAM. The number of bits required for storage is reduced by 2 bits to 25 bits. Further, the bit required to store the horizontal integration value H in the RAM is reduced by 1 bit to 17 bits. The number of bits required to store the vertical integration value V in the RAM is 1 bit, which is 16 bits.
よって、1ブロックの積分画像のデータをRAMに格納する為には、面積積分値Aが25ビット、水平積分値Vが17×3ビット、垂直積分値Hが16×3ビット、9つの輝度値Yが8×9ビットの196ビット必要である。また、ブロック単位で積分画像のデータを格納するのに必要なRAMの記憶容量は459.375KB(=160×120×196ビット)となる。なお、用途によっては、制御を簡単にするため、入力画像を例えば左右に2分割してもよい。入力画像を2分割する場合、積分方向は第一領域及び第二領域が無くなって、第三領域及び第四領域の形となる。1ブロックの積分画像のデータをRAMに格納する為には、面積積分値Aが26ビット、水平積分値Vが17×3ビット、垂直積分値Hが17×3ビット、9つの輝度値Yが8×9ビットの200ビット必要である。 Therefore, in order to store the data of the integrated image of one block in the RAM, the area integrated value A is 25 bits, the horizontal integrated value V is 17 × 3 bits, the vertical integrated value H is 16 × 3 bits, and nine luminance values. Y needs 196 bits of 8 × 9 bits. In addition, the storage capacity of the RAM necessary for storing the integral image data in units of blocks is 459.375 KB (= 160 × 120 × 196 bits). Depending on the application, the input image may be divided into, for example, left and right to simplify the control. When the input image is divided into two, the integration direction has the shape of the third region and the fourth region without the first region and the second region. In order to store one block of integral image data in the RAM, the area integral value A is 26 bits, the horizontal integral value V is 17 × 3 bits, the vertical integral value H is 17 × 3 bits, and nine luminance values Y are 200 bits of 8 × 9 bits are required.
画像処理装置10は、顔検知のアルゴリズムに合わせて、面積積分を部分的に行うこともできる。ここでは、入力画像を左右2方向に2分割する例を説明する。顔検知時におけるスキャンは例えば特開2010−28370号公報に記載されているように行うことができる。
The
顔検知時におけるスキャンは簡単に説明すると以下の通りである。図10は顔検知時におけるスキャンの仕方を表した一例の説明図である。図10(a)は大きさの異なる走査窓の一例を表している。走査窓は顔の大きさに応じて用意する。図10(b)は各走査窓でスキャンを行う様子を表している。図10(b)に示すように、全ての走査窓は入力画像上を全てスキャンできるように左上から右下まで動かされる。 The scanning at the time of face detection is briefly described as follows. FIG. 10 is an explanatory diagram showing an example of how to scan during face detection. FIG. 10A shows an example of scanning windows having different sizes. Scan windows are prepared according to the size of the face. FIG. 10B shows how scanning is performed in each scanning window. As shown in FIG. 10B, all the scanning windows are moved from the upper left to the lower right so that the entire input image can be scanned.
そして、顔検知のアルゴリズムでは、走査窓内の輝度値Yを部分的に読み、予め用意されたフィルタとマッチングを行うことにより、顔か非顔かを判定する。なお、顔検知のアルゴリズムでは、一画面中の全ての面積積分値を一度に求める必要はない。顔検知のアルゴリズムでは、図11に示すフローチャートのように、部分的に面積積分値を更新していくことが可能である。 In the face detection algorithm, the luminance value Y in the scanning window is partially read and matched with a filter prepared in advance to determine whether it is a face or a non-face. In the face detection algorithm, it is not necessary to obtain all the area integral values in one screen at a time. In the face detection algorithm, the area integral value can be partially updated as in the flowchart shown in FIG.
図11は顔検知のアルゴリズムの一例のフローチャートである。画像処理装置10はステップS1において、輝度値Yをブロック毎にRAMに格納する。画像処理装置10はステップS2において、一番大きな走査窓と同じライン数である120ライン(ブロックのライン数の整数倍)だけ面積積分を行う。
FIG. 11 is a flowchart of an example of a face detection algorithm. In step S1, the
ステップS3において、画像処理装置10は全ての走査窓で120ラインのスキャンを行う。ステップS4において、画像処理装置10は次のブロックのライン数である4ラインの面積積分を行う。ステップS5において、画像処理装置10は4ラインの最後まで全ての走査窓でスキャンを行う。
In step S3, the
ステップS6において、画像処理装置10は入力画像全体のスキャンが終了したか否かを判定する。画像処理装置10は入力画像全体のスキャンが終了していなければステップS4に戻り、ステップS4〜S6の処理を繰り返す。画像処理装置10は入力画像全体のスキャンが終了していれば、図11のフローチャートの処理を終了する。
In step S6, the
図11のフローチャートでは、走査窓の大きさが120×120ピクセルのとき、走査窓の1回の移動幅が4ライン以上という条件は付くが、一般には走査窓の大きさの1割程度の移動幅となるため問題がない。 In the flowchart of FIG. 11, when the size of the scanning window is 120 × 120 pixels, there is a condition that the moving width of one scanning window is 4 lines or more, but generally the movement is about 10% of the size of the scanning window. There is no problem because of the width.
図12は顔検知時のRAMの動きを表した一例の説明図である。図12に示すように画像処理装置10は2枚のRAMを用いて輝度値Yの格納、120ラインの面積積分、4ラインの面積積分の更新を行う。
FIG. 12 is an explanatory diagram showing an example of the movement of the RAM during face detection. As shown in FIG. 12, the
図12(a)は2枚のRAMを用いて輝度値Yの格納を行う様子を表している。1つ目のRAM「RAM−A」はブロック(縦4ピクセル及び横4ピクセル)単位で8ビットの輝度値Yを格納する。RAM−Aは160×120(=19200)のブロックの輝度値Yを格納する。 FIG. 12A shows how the luminance value Y is stored using two RAMs. The first RAM “RAM-A” stores an 8-bit luminance value Y in units of blocks (vertical 4 pixels and horizontal 4 pixels). The RAM-A stores a luminance value Y of a block of 160 × 120 (= 19200).
また、図12(b)は2枚のRAMを用いて120ラインの面積積分を行う様子を表している。入力画像を2分割した場合、上記したように1ブロックの積分画像のデータをRAMに格納する為には、200ビット必要である。そこで、画像処理装置10は1つ目のRAM「RAM−A」と2つ目のRAM「RAM−B」とを共通化した160×30×200ビットにブロック単位で面積積分値Aを格納する。なお、RAM−Aには160×90(=14400)のブロックの輝度値Yが格納されたままとなる。
FIG. 12B shows a state where the area integration of 120 lines is performed using two RAMs. When the input image is divided into two, 200 bits are required to store the data of the integrated image of one block in the RAM as described above. Therefore, the
また、図12(c)は2枚のRAMを用いて4ラインの面積積分の更新を行う様子を表している。画像処理装置10は次のブロックの4ラインの面積積分を行う。更新を行う4ライン分の面積積分値Aはブロックの輝度値Yが格納されたままのRAM−Aの記憶領域に上書きされると共に、RAM−Bのアドレス0からアドレス3に121ラインから124ラインの面積積分値Aに上書きされる。
FIG. 12C shows a state in which the area integration of 4 lines is updated using two RAMs. The
図10において4方向に4分割しない理由は、垂直積分方向が第一及び第二領域と第三及び第四領域とで異なると、入力画像の中央から上に向かって始め、再度、入力画像の中央から重複してやり直さなければならないからである。RAMの容量は、342.1875KB(=160×120×128ビット+160×30×72ビット)となり、従来の積分画像作成方法で必要であった1012.5KBと比較して、約3分の1の記憶容量で積分画像を作成できる。 In FIG. 10, the reason for not dividing the image into four directions is that when the vertical integration direction is different between the first and second regions and the third and fourth regions, the input image starts from the center upward and again This is because it has to be repeated from the center. The capacity of the RAM is 342.1875 KB (= 160 × 120 × 128 bits + 160 × 30 × 72 bits), which is about one third of the 1012.5 KB required for the conventional integral image creation method. An integrated image can be created with a storage capacity.
ここでは補足の説明を行う。最初に面積積分するライン数は初期ライン数と呼ぶ。更新して面積積分するライン数は更新ライン数と呼ぶ。更新ライン数は、初期ライン数が十分に大きければ(必要なRAMの記憶容量は増える)大きくしても構わない。例えば初期ライン数が224ライン、更新ライン数が64ラインのとき、走査窓の大きさが160×160ピクセルまでなら、移動幅がいくらでも対応できる。 Here is a supplementary explanation. The number of lines for which area integration is performed first is called the initial number of lines. The number of lines for updating and integrating the area is called the number of updated lines. The number of update lines may be increased as long as the initial number of lines is sufficiently large (the required RAM storage capacity increases). For example, when the initial number of lines is 224 lines and the number of update lines is 64 lines, any moving width can be accommodated if the size of the scanning window is up to 160 × 160 pixels.
図11に示すフローチャートのように、部分的に面積積分値を更新していく場合は一括して面積積分する場合に比べて更新回数が多いほど僅かに遅延するため、少ない更新で済む方がよい。図13は初期ライン数224ライン、更新ライン数64ラインのときの四方向積分画像の一例の説明図である。図13では、第一領域及び第二領域を上側224ラインとし、第三領域及び第四領域を下側256ラインとすることで、積分方向を4方向に分割している。 As shown in the flowchart of FIG. 11, when the area integration value is partially updated, the delay is slightly delayed as the number of updates is larger as compared to the case where the area integration is performed all at once. . FIG. 13 is an explanatory diagram of an example of a four-way integral image when the initial number of lines is 224 and the update number of lines is 64. In FIG. 13, the integration direction is divided into four directions by setting the first region and the second region to the upper 224 lines and the third region and the fourth region to the lower 256 lines.
第一領域及び第二領域のライン数をkとすると、面積積分値を格納する為のビット数がどの領域でも増えないようにする為には、k≦2^8かつ480−k≦2^8であればよいことが分かる。なお、x^yはxのy乗を表している。つまり224≦k≦256で初期ライン数がk以上であれば、積分方向は4方向に分割してもよい。 If the number of lines in the first region and the second region is k, k ≦ 2 ^ 8 and 480−k ≦ 2 ^ in order to prevent the number of bits for storing the area integral value from increasing in any region. It can be seen that 8 is sufficient. X ^ y represents x to the power of y. That is, if 224 ≦ k ≦ 256 and the initial number of lines is k or more, the integration direction may be divided into four directions.
図14は走査窓で224ラインのスキャンを行う処理の一例の説明図である。例えば図14(a)は224ラインの面積積分を行い、160×160ピクセルの大きさの走査窓で左上から右下にスキャンを行う様子を表している。図14(b)は走査窓の大きさが160×160ピクセルのため、以後、上の64ラインが走査窓に含まれることが無い不要領域であることを表している。 FIG. 14 is an explanatory diagram of an example of processing for scanning 224 lines in the scanning window. For example, FIG. 14A shows a state in which area integration of 224 lines is performed, and scanning is performed from the upper left to the lower right in a scanning window having a size of 160 × 160 pixels. FIG. 14B shows that since the size of the scanning window is 160 × 160 pixels, the upper 64 lines are unnecessary areas that are not included in the scanning window.
図14(c)は不要領域の64ラインを破棄して、次の64ラインの面積積分を行い更新領域とすることを表している。図14(d)は不要領域が破棄され、更新領域が追加された新しい224ラインにおいて、160×160ピクセルの大きさの走査窓で左上から右下にスキャンを行う様子を表している。なお、スキャンは更新領域である下位64ラインを一部に含む位置と大きさの走査窓で行われる。 FIG. 14C shows that the 64 lines of the unnecessary area are discarded and the area of the next 64 lines is integrated to make an update area. FIG. 14D shows a state in which the unnecessary area is discarded and scanning is performed from the upper left to the lower right in the scanning window of 160 × 160 pixels in the new 224 lines in which the update area is added. Note that scanning is performed with a scanning window having a position and size that partially includes the lower 64 lines that are update regions.
顔検知のアルゴリズムによって検知した顔を顔認証用に登録する場合など、顔検知後に座標内の顔を輝度として取り出したいことがある。本実施の形態では全ての座標の面積積分値から上記のように全座標の輝度値を求めることができる。これは、本実施の形態が非可逆圧縮を利用することなくRAMの記憶容量の削減を行っていることによる。既存の非可逆圧縮技術を本実施の形態に適用することは応用として可能である。 In some cases, such as when a face detected by a face detection algorithm is registered for face authentication, the face in the coordinates may be desired to be extracted as luminance after the face detection. In the present embodiment, the luminance value of all coordinates can be obtained from the area integral value of all coordinates as described above. This is because the storage capacity of the RAM is reduced without using lossy compression in this embodiment. Application of the existing lossy compression technique to this embodiment is possible as an application.
医療用の画像診断では、例えば立体(人体)を輪切りにして細かくスキャンすることがある。この場合、特徴量は垂直方向にも出るため、体積積分を行う。モーション認識においては連続する画像を時間軸方向に積分することもある。この場合は時間積分を行う。 In medical image diagnosis, for example, a solid (human body) may be cut into small pieces and scanned finely. In this case, since the feature amount appears also in the vertical direction, volume integration is performed. In motion recognition, continuous images may be integrated in the time axis direction. In this case, time integration is performed.
図15は三次元積分画像の一例の説明図である。三次元積分の場合、直方体内の輝度の総和Iは図15(b)に示すように8点の三次元積分値P0〜P3、M0〜M3から以下の式(6)を利用して求められる。なお、図15(a)は積分方向を表している。 FIG. 15 is an explanatory diagram of an example of a three-dimensional integral image. In the case of the three-dimensional integration, the total luminance I in the rectangular parallelepiped is obtained from the eight-point three-dimensional integration values P0 to P3 and M0 to M3 using the following formula (6) as shown in FIG. . FIG. 15A shows the integration direction.
I=P0+P1+P2+P3−M0−M1−M2−M3…(6)
三次元積分画像は例えば図16に示すブロック単位に分けることができる。図16は本実施の形態におけるブロック単位の三次元積分画像の一例の説明図である。ブロック単位の三次元積分画像のデータは、図16(b)に示すように、三次元積分値と、3つの二次元積分値と、3つの一次元積分値と、輝度値yとを含む構成である。なお、体積積分したものを更に時間積分した場合は、図16(a)に示すように四次元積分となる。
I = P0 + P1 + P2 + P3-M0-M1-M2-M3 (6)
The three-dimensional integrated image can be divided into block units shown in FIG. 16, for example. FIG. 16 is an explanatory diagram of an example of a three-dimensional integral image in block units according to the present embodiment. As shown in FIG. 16B, the data of the block-unit three-dimensional integral image includes a three-dimensional integral value, three two-dimensional integral values, three one-dimensional integral values, and a luminance value y. It is. Note that when the volume integration is further time integrated, four-dimensional integration is performed as shown in FIG.
ここでは、r及びnを整数とし、rを0以上n以下として説明する。0次元積分値は輝度値yとする。本実施の形態では、n次元積分画像の2^nピクセルを1ブロックにして扱い、輝度値yを格納してから軸ごとに積分して、最終的にnCr個のr次元積分値で表現することで、必要なRAMの記憶容量を削減している。1ブロックのピクセル数は増やしても構わない。 Here, it is assumed that r and n are integers, and r is 0 or more and n or less. The zero-dimensional integral value is the luminance value y. In this embodiment, 2 ^ n pixels of an n-dimensional integrated image are handled as one block, the luminance value y is stored, integrated for each axis, and finally expressed by nCr r-dimensional integrated values. As a result, the required RAM storage capacity is reduced. The number of pixels in one block may be increased.
本実施の形態の画像処理装置10は顔検知回路、顔認識回路に利用できる。また、本実施の形態の画像処理装置10は指紋認証などの画像のパターンマッチングを行う回路、又は、三次元医療画像診断、モーション認証などの画像から特徴を抽出する回路への応用も可能である。
The
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば本発明は輝度値に限るものではなく、RGB値や輝度値の二乗なども含む。 The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims. For example, the present invention is not limited to luminance values, but includes RGB values and squares of luminance values.
なお、特許請求の範囲に記載した記憶手段は補助記憶装置14又は主記憶装置15に相当する。制御手段は図4(c)に示した計算式の処理を行う例えば演算処理装置16に相当する。
The storage means described in the claims corresponds to the
10 画像処理装置
11 入力装置
12 出力装置
13 記録媒体読取装置
14 補助記憶装置
15 主記憶装置
16 演算処理装置
17 インタフェース装置
18 記録媒体
19 バス
DESCRIPTION OF
Claims (11)
前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段と
を有することを特徴とする画像処理装置。 In the block unit into which the image is divided, the area integral value of one coordinate included in the block, the vertical integral value obtained by cumulatively adding the luminance value in the vertical direction of one or more coordinates, and the luminance value in the horizontal direction. Storage means for storing the horizontal integrated value and luminance value cumulatively added together ;
Control means for calculating the area integral value of all coordinates included in the block by the area integral value of one coordinate read from the storage means, the vertical integral value, the horizontal integral value and the luminance value of one or more coordinates An image processing apparatus comprising:
前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段と
を有し、
前記記憶手段は、前記ブロックに含まれる
座標(i,j)の輝度値(i,j)と、
座標(i,j−1)の垂直積分値(i,j−1)と、
座標(i−1,j)の水平積分値(i−1,j)と、
座標(i−1,j−1)の面積積分値(i−1,j−1)と
を格納し、
前記制御手段は、前記ブロックに含まれる
座標(i,j−1)の面積積分値(i,j−1)を面積積分値(i−1,j−1)+垂直積分値(i,j−1)により算出し、
座標(i−1,j)の面積積分値(i−1,j)を面積積分値(i−1,j−1)+水平積分値(i−1,j)により算出し、
座標(i,j)の面積積分値(i,j)を、面積積分値(i−1,j−1)+垂直積分値(i,j−1)+水平積分値(i−1,j)+輝度値(i,j)により算出する
ことを特徴とする画像処理装置。 Storage means for storing an area integral value of one coordinate included in the block, a vertical integral value of one or more coordinates, a horizontal integral value, and a luminance value in units of blocks into which the image is divided;
Control means for calculating the area integral value of all coordinates included in the block by the area integral value of one coordinate read from the storage means, the vertical integral value, the horizontal integral value and the luminance value of one or more coordinates When
Have
The storage means includes a luminance value (i, j) of coordinates (i, j) included in the block,
A vertical integral value (i, j-1) of coordinates (i, j-1),
Horizontal integration value (i-1, j) of coordinates (i-1, j);
Storing the area integral value (i-1, j-1) of the coordinates (i-1, j-1);
The control means converts the area integral value (i, j-1) of the coordinates (i, j-1) included in the block into an area integral value (i-1, j-1) + vertical integral value (i, j -1),
An area integral value (i-1, j) of coordinates (i-1, j) is calculated by area integral value (i-1, j-1) + horizontal integral value (i-1, j);
The area integral value (i, j) of the coordinates (i, j) is expressed as area integral value (i-1, j-1) + vertical integral value (i, j-1) + horizontal integral value (i-1, j). ) + luminance value (i, j) images processor you and calculates by.
前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段と
を有し、
前記記憶手段は、前記ブロックがn×nの大きさのとき、
(n−1)×(n−1)の輝度値と、
(n−1)の垂直積分値と、
(n−1)の水平積分値と、
1個の面積積分値と
を格納していること
を特徴とする画像処理装置。 Storage means for storing an area integral value of one coordinate included in the block, a vertical integral value of one or more coordinates, a horizontal integral value, and a luminance value in units of blocks into which the image is divided;
Control means for calculating the area integral value of all coordinates included in the block by the area integral value of one coordinate read from the storage means, the vertical integral value, the horizontal integral value and the luminance value of one or more coordinates When
Have
The storage means has a size of nxn when the block is
(N−1) × (n−1) luminance values;
A vertical integral value of (n−1),
A horizontal integral value of (n−1),
One image picture processor characterized in that it stores the area integration value.
画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直方向に輝度値を累積的に足し合わせた垂直積分値、水平方向に輝度値を累積的に足し合わせた水平積分値及び輝度値を格納した記憶手段から読み出した、1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により、前記ブロックに含まれる全ての座標の面積積分値を算出する
ことを特徴とする積分画像作成方法。 An integrated image creation method executed by a computer,
In the unit of the block into which the image is divided, the area integral value of one coordinate included in the block, the vertical integral value obtained by cumulatively adding the luminance value in the vertical direction of one or more coordinates, and the luminance value in the horizontal direction The block is obtained from the area integration value of one coordinate, the vertical integration value, the horizontal integration value, and the luminance value of one or more coordinates read out from the storage means storing the accumulated horizontal integration value and luminance value. An integral image creation method characterized by calculating an area integral value of all coordinates included in.
画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段から読み出した、1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により、前記ブロックに含まれる全ての座標の面積積分値を算出する
ことを特徴とし、
前記記憶手段は、前記ブロックに含まれる
座標(i,j)の輝度値(i,j)と、
座標(i,j−1)の垂直積分値(i,j−1)と、
座標(i−1,j)の水平積分値(i−1,j)と、
座標(i−1,j−1)の面積積分値(i−1,j−1)と
を格納し、
前記ブロックに含まれる全ての座標の面積積分値を算出は、
前記ブロックに含まれる
座標(i,j−1)の面積積分値(i,j−1)を面積積分値(i−1,j−1)+垂直積分値(i,j−1)により算出し、
座標(i−1,j)の面積積分値(i−1,j)を面積積分値(i−1,j−1)+水平積分値(i−1,j)により算出し、
座標(i,j)の面積積分値(i,j)を、面積積分値(i−1,j−1)+垂直積分値(i,j−1)+水平積分値(i−1,j)+輝度値(i,j)により算出
する積分画像作成方法。 An integrated image creation method executed by a computer,
In the block unit into which the image is divided, an area integration value of one coordinate included in the block, a vertical integration value of one or more coordinates, a horizontal integration value, and a luminance value are read out from a storage unit storing one piece. The area integral value of all coordinates included in the block is calculated from the area integral value of the coordinates, the vertical integral value of one or more coordinates, the horizontal integral value, and the luminance value.
It is characterized by
The storage means is included in the block
The luminance value (i, j) of the coordinates (i, j);
A vertical integral value (i, j-1) of coordinates (i, j-1),
Horizontal integration value (i-1, j) of coordinates (i-1, j);
The area integral value (i-1, j-1) of the coordinates (i-1, j-1) and
Store
The area integral value of all coordinates included in the block is calculated as follows:
Included in the block
An area integral value (i, j-1) of coordinates (i, j-1) is calculated by area integral value (i-1, j-1) + vertical integral value (i, j-1);
An area integral value (i-1, j) of coordinates (i-1, j) is calculated by area integral value (i-1, j-1) + horizontal integral value (i-1, j);
The area integral value (i, j) of the coordinates (i, j) is expressed as area integral value (i-1, j-1) + vertical integral value (i, j-1) + horizontal integral value (i-1, j). ) + Integral image creation method calculated by luminance value (i, j) .
画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段から読み出した、1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により、前記ブロックに含まれる全ての座標の面積積分値を算出する In the block unit into which the image is divided, an area integration value of one coordinate included in the block, a vertical integration value of one or more coordinates, a horizontal integration value, and a luminance value are read out from a storage unit storing one piece. The area integral value of all coordinates included in the block is calculated from the area integral value of the coordinates, the vertical integral value of one or more coordinates, the horizontal integral value, and the luminance value.
ことを特徴とし、It is characterized by
前記記憶手段は、前記ブロックがn×nの大きさのとき、 The storage means has a size of nxn when the block is
(n−1)×(n−1)の輝度値と、 (N−1) × (n−1) luminance values;
(n−1)の垂直積分値と、 A vertical integral value of (n−1),
(n−1)の水平積分値と、 A horizontal integral value of (n−1),
1個の面積積分値と One area integral value and
を格納していることTo store
を特徴とする積分画像作成方法。An integral image creation method characterized by the above.
画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直方向に輝度値を累積的に足し合わせた垂直積分値、水平方向に輝度値を累積的に足し合わせた水平積分値及び輝度値を格納した記憶手段と、
前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段と
として機能させるためのプログラム。 Computer
In the unit of the block into which the image is divided, the area integral value of one coordinate included in the block, the vertical integral value obtained by cumulatively adding the luminance value in the vertical direction of one or more coordinates, and the luminance value in the horizontal direction Storage means for storing the horizontal integrated value and luminance value cumulatively added together ;
Control means for calculating the area integral value of all coordinates included in the block by the area integral value of one coordinate read from the storage means, the vertical integral value, the horizontal integral value and the luminance value of one or more coordinates Program to make it function as.
画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段と、
前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段と
として機能させ、
前記記憶手段は、前記ブロックに含まれる
座標(i,j)の輝度値(i,j)と、
座標(i,j−1)の垂直積分値(i,j−1)と、
座標(i−1,j)の水平積分値(i−1,j)と、
座標(i−1,j−1)の面積積分値(i−1,j−1)と
を格納し、
前記制御手段は、前記ブロックに含まれる
座標(i,j−1)の面積積分値(i,j−1)を面積積分値(i−1,j−1)+垂直積分値(i,j−1)により算出し、
座標(i−1,j)の面積積分値(i−1,j)を面積積分値(i−1,j−1)+水平積分値(i−1,j)により算出し、
座標(i,j)の面積積分値(i,j)を、面積積分値(i−1,j−1)+垂直積分値(i,j−1)+水平積分値(i−1,j)+輝度値(i,j)により算出する
ことを特徴とするプログラム。 Computer
Storage means for storing an area integral value of one coordinate included in the block, a vertical integral value of one or more coordinates, a horizontal integral value, and a luminance value in units of blocks into which the image is divided;
Control means for calculating the area integral value of all coordinates included in the block by the area integral value of one coordinate read from the storage means, the vertical integral value, the horizontal integral value and the luminance value of one or more coordinates When
Function as
The storage means is included in the block
The luminance value (i, j) of the coordinates (i, j);
A vertical integral value (i, j-1) of coordinates (i, j-1),
Horizontal integration value (i-1, j) of coordinates (i-1, j);
The area integral value (i-1, j-1) of the coordinates (i-1, j-1) and
Store
The control means is included in the block
An area integral value (i, j-1) of coordinates (i, j-1) is calculated by area integral value (i-1, j-1) + vertical integral value (i, j-1);
An area integral value (i-1, j) of coordinates (i-1, j) is calculated by area integral value (i-1, j-1) + horizontal integral value (i-1, j);
The area integral value (i, j) of the coordinates (i, j) is expressed as area integral value (i-1, j-1) + vertical integral value (i, j-1) + horizontal integral value (i-1, j). ) + Luminance value (i, j)
A program characterized by that .
画像を分けたブロック単位で、前記ブロックに含まれる1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値を格納した記憶手段と、 Storage means for storing an area integral value of one coordinate included in the block, a vertical integral value of one or more coordinates, a horizontal integral value, and a luminance value in units of blocks into which the image is divided;
前記ブロックに含まれる全ての座標の面積積分値を、前記記憶手段から読み出した1個の座標の面積積分値、1個以上の座標の垂直積分値、水平積分値及び輝度値により算出する制御手段と Control means for calculating the area integral value of all coordinates included in the block by the area integral value of one coordinate read from the storage means, the vertical integral value, the horizontal integral value and the luminance value of one or more coordinates When
として機能させ、Function as
前記記憶手段は、前記ブロックがn×nの大きさのとき、 The storage means has a size of nxn when the block is
(n−1)×(n−1)の輝度値と、 (N−1) × (n−1) luminance values;
(n−1)の垂直積分値と、 A vertical integral value of (n−1),
(n−1)の水平積分値と、 A horizontal integral value of (n−1),
1個の面積積分値と One area integral value and
を格納しているIs stored
ことを特徴とするプログラム。A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011193247A JP5799681B2 (en) | 2011-09-05 | 2011-09-05 | Image processing apparatus, integral image creation method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011193247A JP5799681B2 (en) | 2011-09-05 | 2011-09-05 | Image processing apparatus, integral image creation method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013054597A JP2013054597A (en) | 2013-03-21 |
JP5799681B2 true JP5799681B2 (en) | 2015-10-28 |
Family
ID=48131512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011193247A Expired - Fee Related JP5799681B2 (en) | 2011-09-05 | 2011-09-05 | Image processing apparatus, integral image creation method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5799681B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102286874B1 (en) * | 2014-10-20 | 2021-08-09 | 한국전자통신연구원 | Object direction apparatus using multi-directional integral image and method using the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5058681B2 (en) * | 2007-05-31 | 2012-10-24 | キヤノン株式会社 | Information processing method and apparatus, program, and storage medium |
JP5423186B2 (en) * | 2009-07-07 | 2014-02-19 | 株式会社リコー | Imaging apparatus, area detection method, and program |
-
2011
- 2011-09-05 JP JP2011193247A patent/JP5799681B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013054597A (en) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4774816B2 (en) | Image processing apparatus, image processing method, and computer program. | |
JP6726060B2 (en) | Image processing apparatus, control method thereof, and program | |
JP2008527525A (en) | Method and electronic device for detecting graphical objects | |
JP5939154B2 (en) | Image processing apparatus and computer program | |
KR20110074453A (en) | Information processing apparatus and information processing method | |
CN111028176B (en) | Fingerprint image processing method, fingerprint image processing device, electronic equipment and computer readable medium | |
JP2011172101A (en) | Image encoding method, image encoding device, and imaging system | |
JP2006276948A (en) | Image processing device, image processing method, image processing program, and recording medium storing image processing program | |
KR20180027885A (en) | Image processing apparatus and recording media | |
JP4712885B2 (en) | Image processing apparatus and image processing method | |
US9633414B2 (en) | Update region detection device | |
JP2019121053A (en) | Image processing device and image processing method | |
JP5799681B2 (en) | Image processing apparatus, integral image creation method and program | |
JP5759126B2 (en) | Pattern identification apparatus, control method therefor, and program | |
CN110415175B (en) | Method for rapidly removing flat region coding mosaic | |
JP5820716B2 (en) | Image processing apparatus, image processing method, computer program, recording medium, and stereoscopic image display apparatus | |
JP6235860B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2010193154A (en) | Image processor and method | |
JP3318248B2 (en) | Image quality improvement device and recording medium | |
KR100903394B1 (en) | Processing Method for Character Animation in Mobile Terminal By Reducing Animation Data | |
CN117596394B (en) | Depth map inter-frame compression method with self-adaptive precision | |
CN112053295B (en) | Image noise reduction method, device, computer equipment and storage medium | |
CN110050458B (en) | Method of concurrently performing image compression and thumbnail generation and apparatus therefor | |
US8666157B2 (en) | Color segmenting a raster image | |
CN108770374B (en) | Image processing apparatus and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150619 |
|
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: 20150728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150810 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5799681 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |