JP2009116763A - Image processing apparatus, and memory access method for image data - Google Patents

Image processing apparatus, and memory access method for image data Download PDF

Info

Publication number
JP2009116763A
JP2009116763A JP2007291464A JP2007291464A JP2009116763A JP 2009116763 A JP2009116763 A JP 2009116763A JP 2007291464 A JP2007291464 A JP 2007291464A JP 2007291464 A JP2007291464 A JP 2007291464A JP 2009116763 A JP2009116763 A JP 2009116763A
Authority
JP
Japan
Prior art keywords
image
unit
block
memory
image data
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.)
Pending
Application number
JP2007291464A
Other languages
Japanese (ja)
Inventor
Rei Numata
怜 沼田
Koji Ozaki
浩治 尾崎
Manabu Kubo
久保  学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007291464A priority Critical patent/JP2009116763A/en
Publication of JP2009116763A publication Critical patent/JP2009116763A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Input (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing method capable of reducing a bus band when a plurality of image data processing parts is connected to an image memory via a system. <P>SOLUTION: A memory controller writes an image data of results processed in the first image processing part, into the first memory area of an image memory part, by the first block unit with a combination of the number of vertical-directional lines of a screen and the number of horizontal-directional pixels thereof serving as the first combination, and writes the image data, into the second memory area of the image memory part, by the second block unit with a combination of the number of vertical-directional lines of the screen and the number of horizontal-directional pixels thereof serving as the second combination different from the first combination. The controller reads out the image data written into the first memory area of the image memory part, to be supplied to the second image processing part, and reads out the image data written into the second memory area of the image memory part, to be supplied to the third image processing part. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

この発明は、システムバスを介して画像メモリ部と、種々の画像処理部とが接続され、画像メモリをアクセスしながら、前記種々の画像処理部がそれぞれの画像データ処理を実行するようにする画像処理装置に関し、特に、画像メモリ部への画像データのアクセス方法に関するものである。   According to the present invention, an image memory unit and various image processing units are connected via a system bus, and the various image processing units execute respective image data processing while accessing the image memory. More particularly, the present invention relates to a method for accessing image data to an image memory unit.

この明細書で、画面とは、1フレーム分または1フィールド分の画像データからなり、1枚分としてディスプレイに表示される画像を意味しているものとしている。   In this specification, the screen means an image that is composed of image data for one frame or one field and is displayed on the display as one image.

2つの画面間の動きベクトルを、画像情報自身から求めるブロックマッチング手法は、歴史の古い技術である。テレビジョンカメラのパン・チルト検出や被写体追尾、MPEG(Moving Picture Experts Group)方式の動画符号化などを中心に開発が進み、90年代に入ってからは、画像の重ね合わせによる、センサレス手ブレ補正や低照度撮影時のノイズ除去(Noise Reduction:以降、NRと表記する)など多岐に渡って応用が進められている。   A block matching method for obtaining a motion vector between two screens from image information itself is an old technology. Development has been centered on pan / tilt detection of TV cameras, subject tracking, moving picture experts group (MPEG) video coding, and sensorless camera shake correction by superimposing images since the 1990s. Applications such as noise reduction (Noise Reduction: hereinafter referred to as NR) at the time of low-illuminance photography are being promoted.

ブロックマッチングは、注目画面である参照画面と、当該参照画面の動きの元となる元画面(ターゲット画面と称する)との間の2画面間の動きベクトルを、所定の大きさの矩形領域のブロックについて、参照画面と元画面との間での相関を算出することにより算出する方法である
元画面が時間的に参照画面よりも前の画面とされる場合(例えば、MPEGにおける動き検出の場合)と、参照画面が時間的に元画面よりも前の画面とされる場合(例えば、後述する画像フレームの重ね合わせによるノイズ低減の場合)の両方がある。
In block matching, a motion vector between two screens between a reference screen that is a target screen and an original screen (referred to as a target screen) that is a source of motion of the reference screen is a block of a rectangular area having a predetermined size. Is a method of calculating by calculating the correlation between the reference screen and the original screen When the original screen is temporally before the reference screen (for example, in the case of motion detection in MPEG) In some cases, the reference screen is temporally the screen before the original screen (for example, in the case of noise reduction by superimposing image frames described later).

なお、この明細書で、画面とは、1フレームまたは1フィールドの画像データからなり、1枚分としてディスプレイに表示される画像を意味しているものとしているが、この明細書における以下の説明の便宜上、画面は1フレームからなるものとして、画面をフレームと称する場合もある。例えば、参照画面は参照フレーム、元画面は元フレームと称する場合もある。   In this specification, the screen means an image that is composed of one frame or one field of image data and is displayed on the display as one frame. In the following description of this specification, For convenience, the screen may be referred to as a frame, assuming that the screen is composed of one frame. For example, the reference screen may be referred to as a reference frame, and the original screen may be referred to as an original frame.

図64〜図69は、従来のブロックマッチングの概要を説明するための図である。ここで説明するブロックマッチング手法においては、例えば、図64(A)に示すように、元フレーム(ターゲットフレーム)100を、それぞれ水平方向の複数画素および垂直方向の複数ライン分からなる所定の大きさの矩形領域(ブロックという)の複数個に分割する。ターゲットフレームにおけるこれらの複数個のブロック102のそれぞれを、ターゲットブロックという。   FIGS. 64 to 69 are diagrams for explaining the outline of the conventional block matching. In the block matching method described here, for example, as shown in FIG. 64 (A), an original frame (target frame) 100 has a predetermined size composed of a plurality of pixels in the horizontal direction and a plurality of lines in the vertical direction, respectively. Divide into rectangular areas (called blocks). Each of the plurality of blocks 102 in the target frame is referred to as a target block.

ブロックマッチングにおいては、ターゲットブロック102と相関性の高いブロックを、参照フレーム101の中から検索する。この検索の結果、相関性が最も高いとして参照フレーム101内に検出されたブロック103(図64(B)参照)を、動き補償ブロックと呼ぶ。また、ターゲットブロック102と動き補償ブロック103との間の位置ずれ量を、動きベクトル(図64(B)の符号104参照)と称する。   In block matching, a block having a high correlation with the target block 102 is searched from the reference frame 101. As a result of this search, the block 103 (see FIG. 64B) detected in the reference frame 101 as having the highest correlation is referred to as a motion compensation block. In addition, the amount of positional deviation between the target block 102 and the motion compensation block 103 is referred to as a motion vector (see reference numeral 104 in FIG. 64B).

ターゲットブロック102と動き補償ブロック103との間の位置ずれ(位置ずれ量と位置ずれ方向を含む)に対応する動きベクトル104は、参照フレーム101において、ターゲットフレーム100の各ターゲットブロック102の位置と同じ位置に、ターゲットブロック102の射影イメージブロック109を想定したとき、このターゲットブロックの射影イメージブロック109の位置(例えば中心位置)と、動き補償ブロック103の位置(例えば中心位置)との間の位置ずれに相当し、位置ずれ量と位置ずれの方向成分も有するものである。   A motion vector 104 corresponding to a position shift (including a position shift amount and a position shift direction) between the target block 102 and the motion compensation block 103 is the same as the position of each target block 102 of the target frame 100 in the reference frame 101. Assuming that the projection image block 109 of the target block 102 is assumed as the position, a positional shift between the position of the projection image block 109 of the target block (for example, the center position) and the position of the motion compensation block 103 (for example, the center position). It also has a positional deviation amount and a positional deviation direction component.

ブロックマッチング処理の概要を説明する。図65において点線で示すように、参照フレーム101において、ターゲットフレーム100の各ターゲットブロック102の位置と同じ位置にターゲットブロックの射影イメージブロック109を想定し、このターゲットブロックの射影イメージブロック109の中心の座標を、動き検出の原点105とする。そして、動きベクトル104が、動き検出の原点105から或る範囲内に存在すると仮定し、この動き検出の原点105を中心した所定の範囲をサーチ範囲106(図65の一点鎖線参照)と設定する。   An outline of the block matching process will be described. As shown by a dotted line in FIG. 65, a projected image block 109 of the target block is assumed at the same position as the position of each target block 102 of the target frame 100 in the reference frame 101, and the center of the projected image block 109 of this target block is assumed. The coordinates are set as a motion detection origin 105. Then, assuming that the motion vector 104 exists within a certain range from the motion detection origin 105, a predetermined range centered on the motion detection origin 105 is set as the search range 106 (see the one-dot chain line in FIG. 65). .

次に、ターゲットブロック102と同じ大きさのブロック(参照ブロックという)108を参照画面において設定する。そして、この参照ブロック108の位置を、サーチ範囲106内において、例えば水平方向および垂直方向に、1画素または複数画素単位で移動させるようにする。したがって、サーチ範囲106においては、複数個の参照ブロック108が設定されることになる。   Next, a block (referred to as a reference block) 108 having the same size as the target block 102 is set on the reference screen. The position of the reference block 108 is moved within the search range 106 in units of one pixel or a plurality of pixels, for example, in the horizontal direction and the vertical direction. Accordingly, a plurality of reference blocks 108 are set in the search range 106.

ここで、参照ブロック108を、サーチ範囲106内を移動させるというのは、この例では、動き検出原点105がターゲットブロックの中心位置であるので、参照ブロック108の中心位置を、サーチ範囲106内を移動させることを意味し、参照ブロック108を構成する画素は、サーチ範囲106よりもはみ出すことがある。   Here, the reference block 108 is moved within the search range 106. In this example, since the motion detection origin 105 is the center position of the target block, the center position of the reference block 108 is moved within the search range 106. This means that the pixels constituting the reference block 108 may protrude beyond the search range 106.

そして、サーチ範囲において、設定される各参照ブロック108に対して、当該各参照ブロック108とターゲットブロック102との位置ずれ量および位置ずれ方向を表すベクトル(参照ベクトルという)107(図65参照)を設定し、それぞれの参照ベクトル107が指し示す位置にある参照ブロック108の画像内容と、ターゲットブロック102の画像内容との相関性を評価する。   Then, for each reference block 108 to be set in the search range, a vector (referred to as a reference vector) 107 (refer to FIG. 65) representing the positional deviation amount and the positional deviation direction between each reference block 108 and the target block 102. Then, the correlation between the image content of the reference block 108 at the position indicated by each reference vector 107 and the image content of the target block 102 is evaluated.

参照ベクトル107は、図66に示すように、参照ブロック108の水平方向(X方向)の位置ずれ量Vxとし、垂直方向(Y方向)の位置ずれ量をVyとしたとき、ベクトル(Vx,Vy)と表すことができ、参照ブロック108の位置座標(例えば中心位置座標)とターゲットブロック102の位置座標(例えば中心位置座標)とが同じときには、参照ベクトル107は、ベクトル(0,0)と表す。   As shown in FIG. 66, the reference vector 107 is a vector (Vx, Vy) where the horizontal direction (X direction) displacement amount Vx of the reference block 108 and the vertical direction (Y direction) displacement amount is Vy. When the position coordinates (for example, center position coordinates) of the reference block 108 and the position coordinates (for example, center position coordinates) of the target block 102 are the same, the reference vector 107 is represented as a vector (0, 0). .

例えば、参照ブロック108が、ターゲットブロック102の位置から、X方向に1画素ずれた位置にある場合、参照ベクトル107はベクトル(1,0)となる。また、図67に示すように、参照ブロック108が、ターゲットブロック102の位置から、X方向に3画素、Y方向に2画素ずれた位置にある場合には、参照ベクトル107はベクトル(3,2)となる。   For example, when the reference block 108 is at a position shifted by one pixel in the X direction from the position of the target block 102, the reference vector 107 is a vector (1, 0). As shown in FIG. 67, when the reference block 108 is at a position shifted by 3 pixels in the X direction and 2 pixels in the Y direction from the position of the target block 102, the reference vector 107 is a vector (3, 2 )

つまり、参照ベクトル107は、図67の例に示すように、ターゲットブロック102および参照ブロック108の位置を、それぞれのブロックの中心位置とした場合、各参照ベクトル108は、対応する各参照ブロック108の中心位置とターゲットブロック102の中心位置との位置ずれ(位置ずれ量と位置ずれの方向を含むベクトルとなる)を意味する。   That is, as shown in the example of FIG. 67, when the positions of the target block 102 and the reference block 108 are the center positions of the respective blocks, each reference vector 108 has a corresponding reference block 108. This means a displacement between the center position and the center position of the target block 102 (a vector including a displacement amount and a displacement direction).

参照ブロック108は、サーチ範囲106において移動するものとなるが、その場合に、参照ブロック108の中心位置がサーチ範囲106内を移動する。前述もしたように、参照ブロック108は、水平方向および垂直方向の複数画素からなるので、ターゲットブロック102とブロックマッチング処理される対象となる参照ブロック108が移動する最大範囲は、図67に示すように、サーチ範囲106よりも広いマッチング処理範囲110となる。   The reference block 108 moves within the search range 106. In this case, the center position of the reference block 108 moves within the search range 106. As described above, since the reference block 108 includes a plurality of pixels in the horizontal direction and the vertical direction, the maximum range in which the reference block 108 that is subject to block matching processing with the target block 102 is as shown in FIG. Furthermore, the matching processing range 110 is wider than the search range 106.

そして、ターゲットブロック102の画像内容との相関が最も強いとして検出された参照ブロック108の位置を、ターゲットフレーム100のターゲットブロック102の、参照フレーム101における位置(動いた後の位置)として検出し、検出した参照ブロックを、前述した動き補償ブロック103とする。そして、その検出した動き補償ブロック103の位置と、ターゲットブロック102の位置との間の位置ずれ量を、方向成分を含む量としての動きベクトル104として検出するようにする(図64(B)参照)。   Then, the position of the reference block 108 detected as having the strongest correlation with the image content of the target block 102 is detected as the position of the target block 102 of the target frame 100 in the reference frame 101 (position after moving), The detected reference block is set as the motion compensation block 103 described above. Then, the displacement amount between the detected position of the motion compensation block 103 and the position of the target block 102 is detected as a motion vector 104 as an amount including a direction component (see FIG. 64B). ).

ここで、ターゲットブロック102と、サーチ範囲106において移動する参照ブロック108との相関の強さを表す相関値は、基本的にはターゲットブロック102と参照ブロック108との対応する画素値を用いて算出されるが、その算出方法は、自乗平均を用いる方法やその他種々の方法が提案されている。   Here, the correlation value indicating the strength of correlation between the target block 102 and the reference block 108 moving in the search range 106 is basically calculated using the pixel values corresponding to the target block 102 and the reference block 108. However, as the calculation method, a method using a root mean square and various other methods have been proposed.

そのうち、動きベクトルを算出する際に一般的に用いられる相関値としては、例えば、ターゲットブロック102内の各画素の輝度値と、参照ブロック106内の対応する各画素の輝度値との差分の絶対値の、ブロック内の全画素についての総和(この差分の絶対値の総和を差分絶対値和と呼ぶ。以下、この差分絶対値和をSAD(Sum of Absolute Difference)と記載することとする)が用いられる(図68参照)。   Among them, as a correlation value generally used when calculating a motion vector, for example, the absolute value of the difference between the luminance value of each pixel in the target block 102 and the luminance value of each corresponding pixel in the reference block 106 is used. The sum of the values of all the pixels in the block (the sum of the absolute values of the differences is referred to as the sum of absolute values of the difference. Hereinafter, the sum of the absolute values of the differences is referred to as SAD (Sum of Absolute Difference)). Used (see FIG. 68).

相関値としてSAD値が用いられる場合には、SAD値が小さいほど相関が強いものとされる。したがって、サーチ範囲106において移動する参照ブロック108のうち、SAD値が最小となる位置の参照ブロック108が最も相関が強い最強相関参照ブロックとなり、この最強相関参照ブロックが、動き補償ブロック103として検出され、その検出された動き補償ブロック103のターゲットブロック102の位置に対する位置ずれ量が動きベクトルとして検出される。   When the SAD value is used as the correlation value, the smaller the SAD value, the stronger the correlation. Therefore, among the reference blocks 108 that move in the search range 106, the reference block 108 at the position where the SAD value is minimum becomes the strongest correlation reference block with the strongest correlation, and this strongest correlation reference block is detected as the motion compensation block 103. The amount of displacement of the detected motion compensation block 103 relative to the position of the target block 102 is detected as a motion vector.

前述したように、ブロックマッチングでは、サーチ範囲106において設定される複数個の参照ブロック108のそれぞれの、ターゲットブロック102の位置に対する位置ずれ量は、方向成分を含む量としての参照ベクトル107で表現される。各参照ブロック108の参照ベクトル107は、参照ブロック108の参照フレーム102上の位置に応じた値となる。前述したように、ブロックマッチングでは、相関値であるSAD値が最小値となる参照ブロック108の参照ベクトルを、動きベクトル104として検出する。   As described above, in block matching, the amount of positional deviation of each of the plurality of reference blocks 108 set in the search range 106 with respect to the position of the target block 102 is expressed by the reference vector 107 as an amount including a direction component. The The reference vector 107 of each reference block 108 has a value corresponding to the position of the reference block 108 on the reference frame 102. As described above, in block matching, the reference vector of the reference block 108 in which the SAD value that is the correlation value has the minimum value is detected as the motion vector 104.

そこで、ブロックマッチングでは、一般に、図69に示すように、サーチ範囲106において設定される複数個の参照ブロック108のそれぞれとターゲットブロック102との間におけるSAD値(以下、説明の簡単のため参照ブロック108についてのSAD値という)を、それぞれの参照ブロック108の位置に応じた参照ベクトル107(以下、説明の簡単のため、参照ブロック106の位置に応じた参照ベクトル107を参照ブロック108の参照ベクトル107という)のそれぞれに対応させて、メモリに記憶しておき、そのメモリに記憶された全ての参照ブロック108についてのSAD値の中から、最小のSAD値の参照ブロック108を検出することで、動きベクトル104を検出するようにしている。   Therefore, in block matching, generally, as shown in FIG. 69, SAD values between each of the plurality of reference blocks 108 set in the search range 106 and the target block 102 (hereinafter referred to as reference block for the sake of simplicity). The reference vector 107 corresponding to the position of each reference block 108 (hereinafter referred to as the reference vector 107 corresponding to the position of the reference block 106 is referred to as the reference vector 107 of the reference block 108 for the sake of simplicity). By detecting the reference block 108 having the smallest SAD value from the SAD values for all the reference blocks 108 stored in the memory. The vector 104 is detected.

サーチ範囲106において設定された複数個の参照ブロック108の位置に応じた参照ベクトル107のそれぞれに対応させて、それぞれの参照ブロック108についての相関値(この例では、SAD値)を記憶したものを相関値テーブルと呼ぶ。この例では、相関値として差分絶対値和であるSAD値を用いるので、この相関値テーブルを、差分絶対値和テーブル(以下SADテーブルという)と呼ぶことにする。   Corresponding to each of the reference vectors 107 corresponding to the positions of the plurality of reference blocks 108 set in the search range 106, a correlation value (in this example, SAD value) for each reference block 108 is stored. This is called a correlation value table. In this example, since the SAD value which is the sum of absolute differences is used as the correlation value, this correlation value table will be referred to as a difference absolute value sum table (hereinafter referred to as SAD table).

図69のSADテーブルTBLが、これを示しており、このSADテーブルTBLにおいて、それぞれの参照ブロック108についての相関値(この例ではSAD値)を相関値テーブル要素という。図69の例では、符号111で指し示すSAD値は、参照ベクトルがベクトル(0,0)のときのSAD値である。そして、図69の例では、SAD値の最小値は、参照ベクトルがベクトル(3,2)のときの「7」であるので、求める動きベクトル104は、当該(3,2)となる。   This is shown in the SAD table TBL of FIG. 69. In this SAD table TBL, the correlation value (SAD value in this example) for each reference block 108 is referred to as a correlation value table element. In the example of FIG. 69, the SAD value indicated by reference numeral 111 is the SAD value when the reference vector is the vector (0, 0). In the example of FIG. 69, since the minimum value of the SAD value is “7” when the reference vector is the vector (3, 2), the motion vector 104 to be obtained is (3, 2).

なお、上述の説明において、ターゲットブロック102および参照ブロック108の位置とは、それらのブロックの任意の特定の位置、例えば中心位置を意味するものであり、参照ベクトル107は、参照フレーム102におけるターゲットブロック102の射影イメージブロック109の位置と、参照ブロック108の位置との間のずれ量(方向を含む)を示すものである。   In the above description, the positions of the target block 102 and the reference block 108 mean arbitrary specific positions of these blocks, for example, the center position, and the reference vector 107 is the target block in the reference frame 102. The amount of deviation (including direction) between the position of the projection image block 109 of 102 and the position of the reference block 108 is shown.

そして、各参照ブロック108に対応する参照ベクトル107は、参照フレーム101上において、ターゲットブロック102に対応する射影イメージブロック109の位置からの、各参照ブロック108の位置ずれとなっているので、参照ブロック108の位置が特定されると、その位置に対応して参照ベクトルの値も特定される。したがって、SADテーブル110のメモリにおける参照ブロックの相関値テーブル要素のアドレスが特定されると、対応する参照ベクトルは特定されることになる。   Since the reference vector 107 corresponding to each reference block 108 is a position shift of each reference block 108 from the position of the projection image block 109 corresponding to the target block 102 on the reference frame 101, the reference block When the position 108 is specified, the value of the reference vector is also specified corresponding to the position. Therefore, when the address of the correlation value table element of the reference block in the memory of the SAD table 110 is specified, the corresponding reference vector is specified.

なお、SAD値は、同時に、2つ以上のターゲットブロックについて計算するようにしてもよい。同時に処理するターゲットブロックが増加すると、処理は高速化する。しかし、SAD値を計算するハードウエアの規模が増大するので、処理の高速化と、回路規模の増大のトレードオフになる。   Note that the SAD value may be calculated for two or more target blocks at the same time. As the number of target blocks to be processed simultaneously increases, the processing speed increases. However, since the hardware scale for calculating the SAD value increases, there is a trade-off between speeding up the processing and increasing the circuit scale.

以上のように、ブロックマッチング手法は、ターゲットフレームを、複数個のターゲットブロックに分割し、各ターゲットブロックに対して、参照フレームに検索範囲を設定し、画像メモリから、ターゲットフレームのターゲットブロックと参照フレームの検索範囲内の参照ブロックを読み出し、各画素のSAD値を計算し、検索範囲の広さ分のSAD値テーブルを形成し、その最小値の座標値をターゲットブロックについての動きベクトルとしている。   As described above, the block matching method divides the target frame into a plurality of target blocks, sets a search range in the reference frame for each target block, and refers to the target block of the target frame from the image memory. A reference block in the frame search range is read, the SAD value of each pixel is calculated, a SAD value table corresponding to the width of the search range is formed, and the coordinate value of the minimum value is used as a motion vector for the target block.

画像メモリと、動きベクトル検出部などとは、システムバスを通じて接続され、メモリコントローラにより、画像メモリに対する書き込みおよび読み出しが制御される。   The image memory and the motion vector detection unit are connected through a system bus, and writing and reading to and from the image memory are controlled by the memory controller.

そして、上述のように、ブロックマッチング手法では、画像メモリからの画素単位のデータについてのSAD値を計算するようにするので、画像自体の画素数や、検索範囲の広さに比例して、画像メモリへのアクセスが多くなり、バス帯域を大きくする必要がある。ここで、バス帯域とは、データを転送するバス上で、輻輳を回避してデータ転送することができるデータレートおよびバス幅(ビット数)などからなる量である。バス帯域が大きくなると、システムの規模が大きくなると共に、コストが増大するという問題がある。   As described above, in the block matching method, the SAD value for the pixel unit data from the image memory is calculated, so that the image is proportional to the number of pixels of the image itself and the width of the search range. Access to the memory increases and the bus bandwidth needs to be increased. Here, the bus bandwidth is an amount including a data rate, a bus width (number of bits), and the like at which data can be transferred while avoiding congestion on a bus for transferring data. When the bus band is increased, there is a problem that the scale of the system is increased and the cost is increased.

この問題に対して、従来、画像に動きが無い静止状態であれば、マッチング処理をしない手法(特許文献1(特開2005−210503号公報)など)や、参照フレームの画像を間引いて情報量を落とす手法(特許文献2(特開2006−287583号公報)など)などが提案されている。   To solve this problem, conventionally, if the image is in a stationary state with no motion, a method that does not perform a matching process (eg, Patent Document 1 (Japanese Patent Laid-Open No. 2005-210503)) or a reference frame image is thinned to obtain an information amount. A method of dropping the image (Patent Document 2 (Japanese Patent Laid-Open No. 2006-287583) and the like) has been proposed.

また、ブロックマッチング精度を落とさずに、バス帯域を削減する方法としては、参照フレームの参照ブロックの共有部分を保持しておき、追加部分のみを更新する手法(特許文献3(特開2006−340139号公報))が有効である。   Further, as a method of reducing the bus bandwidth without reducing the block matching accuracy, a method of holding only the shared part of the reference block of the reference frame and updating only the added part (Japanese Patent Laid-Open No. 2006-340139). No.)) is effective.

上述した参考となる特許文献は、次の通りである。
特開2005−210503号公報 特開2006−287583号公報 特開2006−340139号公報
The above-mentioned reference patent documents are as follows.
JP 2005-210503 A JP 2006-287583 A JP 2006-340139 A

しかしながら、特許文献1および特許文献2の手法は、ブロックマッチングの精度を落とすものであって、高い精度が求められないような、ある限定されたアプリケーションにしか適用できないという問題がある。   However, the methods of Patent Literature 1 and Patent Literature 2 have a problem that the accuracy of block matching is lowered and can be applied only to a limited application in which high accuracy is not required.

また、特許文献3の手法によれば、ブロックマッチング精度を落とさずにバス帯域を削減することができるが、マッチング処理を行うブロックの順番が重要になり、隣り合うブロックを続けてマッチング処理しない場合、マッチング処理の順番が特定できない場合などについてはバス帯域削減を図れないという問題がある。   Further, according to the method of Patent Document 3, the bus bandwidth can be reduced without degrading the block matching accuracy, but the order of the blocks for which the matching process is performed becomes important, and the adjacent blocks are not continuously matched. When the order of matching processing cannot be specified, there is a problem that the bus bandwidth cannot be reduced.

また、画像メモリに対してシステムバスを介して、ブロックマッチング処理部以外の複数個の画像データ処理部が接続されている場合に、画像メモリに対する画像データのメモリアクセスの仕方を、ブロックマッチング処理のためには効率が良い方式を採用したとしても、他の画像データ処理部については、その画像メモリに対する画像データのメモリアクセス手法が適しておらず、かえってバス帯域を増大する方向になってしまう場合があるという問題がある。   In addition, when a plurality of image data processing units other than the block matching processing unit are connected to the image memory via the system bus, the memory access method of the image data with respect to the image memory is determined by the block matching processing. For this reason, even if an efficient method is adopted, the memory access method of the image data for the image memory is not suitable for other image data processing units, and the bus bandwidth is likely to increase. There is a problem that there is.

この発明は、以上の点にかんがみ、画像メモリに対してシステムバスを介して、複数個の画像データ処理部が接続されている場合において、上述の問題点を回避しながら、バス帯域の削減を図ることができる画像処理装置および画像データのメモリアクセス方法を提供することを目的とする。   In view of the above points, the present invention reduces the bus bandwidth while avoiding the above-mentioned problems when a plurality of image data processing units are connected to the image memory via the system bus. An object of the present invention is to provide an image processing apparatus and a memory access method for image data.

上記の課題を解決するために、この発明は、
複数画面分の画像データを記録可能な画像メモリ部と、
入力される画像データについて第1の処理を行って、前記画像メモリ部に、その処理結果の画像データを格納する第1の画像処理部と、
前記画像メモリ部から前記処理結果の画像データを読み出して第2の処理を行なう第2の画像処理部と、
前記画像メモリ部から前記処理結果の画像データを読み出して第3の処理を行なう第3の画像処理部と、
前記画像メモリ部と、前記第1の画像処理部と、前記第2の画像処理部と、前記第3の画像処理部とが接続されるバスと、
前記画像メモリ部に対する前記バスを介した画像データの書き込みおよび読み出しを制御するメモリコントローラと、
を備え、
前記第1の画像処理部での前記第1の処理の結果の画像データは、前記メモリコントローラにより、画面の垂直方向のライン数と水平方向の画素数との組み合わせが第1の組み合わせとされた第1のブロック単位で、前記画像メモリ部の第1のメモリ領域に書き込まれると共に、画面の垂直方向のライン数と水平方向の画素数との組み合わせが、前記第1の組み合わせとは異なる第2の組み合わせとされた第2のブロック単位で、前記画像メモリ部の第2のメモリ領域に書き込まれるようにされ、
前記第2の画像処理部には、前記メモリコントローラにより、前記画像メモリ部の前記第1のメモリ領域に書き込まれた画像データが読み出されて供給され、
前記第3の画像処理部には、前記メモリコントローラにより、前記画像メモリ部の前記第2のメモリ領域に書き込まれた画像データが読み出されて供給される
ことを特徴とする画像処理装置を提供する。
In order to solve the above problems, the present invention provides:
An image memory unit capable of recording image data for a plurality of screens;
A first image processing unit that performs first processing on input image data and stores image data of the processing result in the image memory unit;
A second image processing unit that reads out the image data of the processing result from the image memory unit and performs a second process;
A third image processing unit that reads out the image data of the processing result from the image memory unit and performs a third process;
A bus to which the image memory unit, the first image processing unit, the second image processing unit, and the third image processing unit are connected;
A memory controller that controls writing and reading of image data via the bus to the image memory unit;
With
The image data as a result of the first processing in the first image processing unit has the first combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction on the screen by the memory controller. The second block is written in the first memory area of the image memory unit in the first block unit, and the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction of the screen is different from the first combination. And is written in the second memory area of the image memory unit in a second block unit that is a combination of
The second image processing unit is read and supplied with the image data written in the first memory area of the image memory unit by the memory controller,
Provided to the third image processing unit is an image processing device in which the memory controller reads and supplies the image data written in the second memory area of the image memory unit. To do.

上述の構成のこの発明においては、第1の画像処理部での処理結果の画像データは、第2の画像処理部での画像処理において、バス効率が良好となり、バス帯域の削減が可能な第1のブロック単位で画像メモリ部に書き込み、読み出して、第2の画像処理部に転送することができる。   In the present invention having the above-described configuration, the image data obtained as a result of processing in the first image processing unit is improved in bus efficiency and can reduce the bus bandwidth in the image processing in the second image processing unit. The data can be written to, read from, and transferred to the second image processing unit in units of one block.

これと共に、第1の画像処理部での処理結果の画像データは、第3の画像処理部での画像処理において、バス効率が良好となり、バス帯域の削減が可能な第2のブロック単位で画像メモリ部に書き込み、読み出して、第3の画像処理部に転送することができる。   At the same time, the image data obtained as a result of processing in the first image processing unit is imaged in units of the second block in which the bus efficiency is improved and the bus bandwidth can be reduced in the image processing in the third image processing unit. The data can be written to and read from the memory unit and transferred to the third image processing unit.

この発明によれば、画像メモリに対してシステムバスを介して、複数個の画像処理部が接続されている場合においても、複数の画像処理部のそれぞれに最適の画像データフォーマットで、画像メモリ部をアクセスすることができ、バス帯域の削減を図ることができる。   According to the present invention, even when a plurality of image processing units are connected to the image memory via the system bus, the image memory unit has an optimum image data format for each of the plurality of image processing units. Can be accessed, and the bus bandwidth can be reduced.

以下、この発明による画像処理装置の実施形態として、撮像装置の場合を例にとって、図を参照しながら説明する。また、画像処理として、ブロックマッチングにより2画面間の動きベクトルを検出し、検出した動きベクトルを用いて動き補償画像を生成し、生成した動き補償画像とノイズ低減対象の画像を重ね合わせてノイズ低減を行う場合を例として説明する。   Hereinafter, an embodiment of an image processing apparatus according to the present invention will be described with reference to the drawings, taking the case of an imaging apparatus as an example. In addition, as image processing, a motion vector between two screens is detected by block matching, a motion compensated image is generated using the detected motion vector, and the generated motion compensated image and a noise reduction target image are superimposed to reduce noise. The case of performing is described as an example.

[この発明による画像処理装置の実施形態としての撮像装置]
以下に説明する実施の形態の撮像装置では、図2に示すように、連続して撮影された複数枚の画像、例えばP1,P2,P3を、動き検出および動き補償を用いて位置合わせをした後、重ね合わせすることで、ノイズが低減された画像Pmixを得ることができるようにしている。すなわち、複数枚の画像のそれぞれにおけるノイズはランダムなものであるので、同一内容の画像を重ね合わせることで、画像に対してノイズが低減されるものである。
[Imaging Device as an Embodiment of an Image Processing Device According to the Invention]
In the imaging apparatus according to the embodiment described below, as shown in FIG. 2, a plurality of images, for example, P1, P2, and P3, which are continuously captured, are aligned using motion detection and motion compensation. Thereafter, by superimposing, an image Pmix with reduced noise can be obtained. That is, since noise in each of a plurality of images is random, the noise is reduced with respect to the images by superimposing images having the same content.

以下の説明において、動き検出および動き補償を用いて複数枚の画像を重ね合わせて、ノイズを低減することをNR(Noise Reduction)と呼び、NRによりノイズ低減された画像をNR画像と称することとする。   In the following description, the noise reduction by superimposing a plurality of images using motion detection and motion compensation is referred to as NR (Noise Reduction), and the image whose noise is reduced by NR is referred to as an NR image. To do.

この明細書では、ノイズ低減を施したい画面(画像)をターゲット画面(ターゲットフレーム)、重ね合わせたい画面を参照画面(参照フレーム)と定義する。連続して撮影された画像は、撮影者の手ブレなどにより、画像の位置がずれており、両画像の重ね合わせを行うには、位置合わせが重要となる。ここで、考慮しなければならないのは、手ブレのような画面全体のブレと共に、画面内における被写体の動きも存在することである。   In this specification, a screen (image) to be subjected to noise reduction is defined as a target screen (target frame), and a screen to be superimposed is defined as a reference screen (reference frame). Images taken consecutively are misaligned due to the camera shake of the photographer, etc., and alignment is important to superimpose both images. Here, it is necessary to consider that there is a movement of the subject in the screen as well as a blur of the entire screen such as a camera shake.

このため、被写体に対してもノイズ低減効果を高めるためには、図3に示すように、ターゲットフレーム100を分割して生成される複数個のターゲットブロック102のそれぞれ単位での位置合わせが必要になる。   For this reason, in order to enhance the noise reduction effect for the subject as well, as shown in FIG. 3, it is necessary to align each of the plurality of target blocks 102 generated by dividing the target frame 100. Become.

したがって、この実施の形態では、複数個のターゲットブロック102の全てについて、ブロック単位の動きベクトル(以下、ブロック動きベクトルという)104Bを検出し、それぞれのターゲットブロック102について、対応するブロック動きベクトル104Bを用いて位置合わせを行い、画像を重ね合わせるようにする。   Accordingly, in this embodiment, a motion vector (hereinafter referred to as a block motion vector) 104B is detected for each of the plurality of target blocks 102, and the corresponding block motion vector 104B is detected for each target block 102. To align the images and superimpose the images.

この実施の形態の撮像装置において、静止画撮影時は、図4に示すように、高速で複数枚の画像の撮影を行い、1枚目の撮影画像をターゲットフレーム100とし、2枚目以降、所定枚数の撮影画像を参照フレーム101とし、重ね合わせを行い、その重ね合わせたものを静止画撮影画像として記録するようにする。すなわち、撮影者が撮像装置のシャッターボタンを押下操作すると、高速で前記所定枚数の画像が撮影され、その1枚目に撮影した画像(フレーム)に対して、時間的に後で撮影された複数枚の画像(フレーム)が、重ね合わされることになる。   In the image pickup apparatus of this embodiment, at the time of still image shooting, as shown in FIG. 4, a plurality of images are shot at high speed, the first shot image is used as the target frame 100, and the second and subsequent frames. A predetermined number of photographed images are used as a reference frame 101 and are superimposed, and the superimposed image is recorded as a still image photographed image. That is, when the photographer depresses the shutter button of the imaging device, the predetermined number of images are photographed at a high speed, and a plurality of images (frames) photographed later in time for the first image (frame). One sheet of image (frame) is superimposed.

また、動画撮影時は、図5のように、撮像素子から出力されている現フレームの画像をターゲットフレーム100の画像とし、その前フレームの過去の画像を参照フレーム101の画像とする。したがって、現フレームの画像のノイズ低減を行うために、現フレームの前フレームの画像を現フレームに重ね合わせるということになる。   At the time of moving image shooting, as shown in FIG. 5, the current frame image output from the image sensor is used as the target frame 100 image, and the previous image of the previous frame is used as the reference frame 101 image. Therefore, in order to reduce the noise of the current frame image, the image of the previous frame of the current frame is superimposed on the current frame.

なお、上述の図4および図5の画像の重ね合わせの方法の説明の場合は、記録する動画画像のフレームレートを60fps(flame/second)としたときに、撮像素子から当該60fpsのフレームレートの2枚の画像フレームを重ね合わせて、その結果としてノイズの低減された60fpsのフレームレートで撮像画像信号が得られる場合である。   In the description of the method for superimposing the images in FIGS. 4 and 5 described above, when the frame rate of the moving image to be recorded is 60 fps (frame / second), the frame rate of 60 fps is obtained from the image sensor. This is a case where two image frames are superimposed, and as a result, a captured image signal is obtained at a frame rate of 60 fps with reduced noise.

しかし、撮像素子から、より高速の、例えば240fpsの高フレームレートで、撮像画像が出力されるように構成されている場合において、動画撮影時においても、4枚ずつの画像を重ねて1枚の動画フレームを生成することで、60fpsのフレームレートの撮像画像信号を得るようにすることもできる。もちろん、240fpsの撮像動画画像を、この例と同様にして、2枚の画像フレームを重ね合わせて、その結果として240fpsのフレームレートのノイズ低減された撮像画像信号を得るようにすることもできる。   However, when the captured image is output from the image sensor at a higher frame rate of, for example, 240 fps, even when capturing a moving image, one image is superimposed on each other. It is also possible to obtain a captured image signal having a frame rate of 60 fps by generating a moving image frame. Needless to say, 240 fps captured moving image can be obtained by superimposing two image frames in the same manner as in this example, and as a result, a noise-captured captured image signal having a frame rate of 240 fps can be obtained.

なお、この実施の形態においては、さらに、より高精度で画像の重ね合わせができるように、処理対象画像の画素ピッチの精度(ピクセル(画素)精度という)よりも高精度、つまり、元の画面(ターゲットフレーム)の画素ピッチよりも小さいピッチの高精度(この高精度をサブピクセル精度と呼ぶことにする)で、ブロック動きベクトルを検出するようにする。このサブピクセル精度での動きベクトル算出のために、後述するように、この実施の形態においては、ピクセル精度で求めた動きベクトルと、その近傍の参照ベクトルとを用いて補間処理をするようにする。   In this embodiment, the accuracy of the pixel pitch of the image to be processed (referred to as pixel (pixel) accuracy) is higher, that is, the original screen so that the images can be superimposed with higher accuracy. The block motion vector is detected with high accuracy with a pitch smaller than the pixel pitch of (target frame) (this high accuracy will be referred to as sub-pixel accuracy). In order to calculate the motion vector with the sub-pixel accuracy, as will be described later, in this embodiment, the interpolation processing is performed using the motion vector obtained with the pixel accuracy and the reference vector in the vicinity thereof. .

図1は、この発明の画像処理装置の実施形態としての撮像装置の一例のブロック図を示すものである。   FIG. 1 shows a block diagram of an example of an imaging apparatus as an embodiment of the image processing apparatus of the present invention.

この図1に示すように、この実施形態の撮像装置は、システムバス2にCPU(Central Processing Unit)1が接続されると共に、システムバス2に、撮像信号処理系10や、ユーザ操作入力部3、画像メモリ部4、記録再生装置部5などが接続されて構成されている。なお、この明細書においては、CPU1は、図示は省略するが、種々のソフトウエア処理を行なうプログラムを記憶するROM(Read Only Memory)やワークエリア用RAM(Random Access Memory)などを含むものとしている。   As shown in FIG. 1, in the imaging apparatus of this embodiment, a CPU (Central Processing Unit) 1 is connected to a system bus 2, and an imaging signal processing system 10 and a user operation input unit 3 are connected to the system bus 2. The image memory unit 4 and the recording / reproducing device unit 5 are connected to each other. In this specification, the CPU 1 includes a ROM (Read Only Memory) and a work area RAM (Random Access Memory) that store programs for performing various software processes, although not shown. .

画像メモリ部4は、この画像メモリ部4に対する書き込みおよび読み出しを制御するメモリコントローラ8を介して、システムバス2に接続されている。   The image memory unit 4 is connected to the system bus 2 via a memory controller 8 that controls writing to and reading from the image memory unit 4.

ユーザ操作入力部3を通じた撮像記録開始操作を受けて、図1の撮像装置の撮像信号処理系は、後述するような撮像画像データの記録処理を行なう。また、ユーザ操作入力部3を通じた撮像記録画像の再生開始操作を受けて、図1の撮像装置の撮像信号処理系10は、記録再生装置部5の記録媒体に記録された撮像画像データの再生処理を行なう。なお、撮像信号処理系10の後述する各部は、制御レジスタ部7を通じたCPU3の制御コマンドを受けて、CPU3の制御を受けながら、それぞれの処理を実行するものである。   In response to an imaging recording start operation through the user operation input unit 3, the imaging signal processing system of the imaging apparatus in FIG. 1 performs recording processing of captured image data as described later. In response to an operation for starting the reproduction of the captured image through the user operation input unit 3, the imaging signal processing system 10 of the imaging apparatus in FIG. 1 reproduces the captured image data recorded on the recording medium of the recording / reproduction device unit 5. Perform processing. Note that each unit described later of the imaging signal processing system 10 receives a control command from the CPU 3 through the control register unit 7 and executes each process while receiving control from the CPU 3.

図1に示すように、撮像信号処理系10においては、撮像レンズ10Lを備えるカメラ光学系(図示は省略)を通じた被写体からの入射光は、撮像素子11に照射されて撮像される。この例では、撮像素子11は、CCD(Charge Coupled Device)イメージャで構成されている。なお、撮像素子12は、CMOS(Complementary Metal Oxide Semiconductor)イメージャで構成してもよい。   As shown in FIG. 1, in the imaging signal processing system 10, incident light from a subject through a camera optical system (not shown) provided with an imaging lens 10 </ b> L is irradiated to the imaging element 11 and imaged. In this example, the imaging device 11 is configured by a CCD (Charge Coupled Device) imager. Note that the image sensor 12 may be a CMOS (Complementary Metal Oxide Semiconductor) imager.

この例の撮像装置においては、撮像記録開始操作がなされると、レンズ10Lを通じて入力された映像が、撮像素子11により撮像画像信号に変換され、タイミング信号発生部12からのタイミング信号に同期した信号として、赤(R)、緑(G)、青(B)の3原色から構成されるベイヤー配列のRAW信号(生の信号)であるアナログ撮像信号が出力される。出力されたアナログ撮像信号は、前処理部13に供給され、欠陥補正やγ補正等の前処理が施され、データ変換部14に供給される。   In the imaging apparatus of this example, when an imaging recording start operation is performed, a video input through the lens 10L is converted into a captured image signal by the imaging element 11, and a signal synchronized with the timing signal from the timing signal generation unit 12 As a result, an analog imaging signal, which is a RAW signal (raw signal) in a Bayer array composed of three primary colors of red (R), green (G), and blue (B), is output. The output analog imaging signal is supplied to the preprocessing unit 13, subjected to preprocessing such as defect correction and γ correction, and supplied to the data conversion unit 14.

データ変換部14は、これに入力されたRAW信号であるアナログ撮像信号を、輝度信号成分Yと、色差信号成分Cb/Crとにより構成されるデジタル撮像信号(YCデータ)に変換し、そのデジタル撮像信号を画像補正・解像度変換部15に供給する。画像補正・解像度変換部15では、ユーザ操作入力部3を通じて指定された解像度に、デジタル撮像信号を変換し、システムバスを介して、画像メモリ部4に供給する。   The data converter 14 converts the analog imaging signal, which is a RAW signal input thereto, into a digital imaging signal (YC data) composed of a luminance signal component Y and a color difference signal component Cb / Cr, and the digital image The imaging signal is supplied to the image correction / resolution conversion unit 15. The image correction / resolution conversion unit 15 converts the digital imaging signal to the resolution designated through the user operation input unit 3 and supplies the converted signal to the image memory unit 4 via the system bus.

ユーザ操作入力部3を通じた撮影指示が、シャッターボタンの押下による静止画撮影指示であったときには、画像補正・解像度変換部15で解像度変換されたデジタル撮像信号は、前述した複数フレーム分が画像メモリ部4に書き込まれる。そして、複数フレーム分の画像が画像メモリ部4に書き込まれた後、ターゲットフレームの画像データと参照フレームの画像データが、動き検出・動き補償部16によって読み込まれ、後述するようなこの実施形態におけるブロックマッチング処理がなされて、動きベクトルが検出され、当該検出された動きベクトルに基づいて、画像重ね合わせ部17で後述するような画像の重ね合わせ処理が行われ、その重ね合わせ結果、ノイズ低減されたNR画像の画像データが画像メモリ部4に格納される。   When the shooting instruction through the user operation input unit 3 is a still image shooting instruction by pressing the shutter button, the digital imaging signal whose resolution has been converted by the image correction / resolution conversion unit 15 includes the above-described plurality of frames in the image memory. Part 4 is written. Then, after images for a plurality of frames are written in the image memory unit 4, the image data of the target frame and the image data of the reference frame are read by the motion detection / motion compensation unit 16, and in this embodiment as will be described later. A block matching process is performed to detect a motion vector, and based on the detected motion vector, an image superimposing process as described later is performed by the image superimposing unit 17, and as a result of the superimposition, noise is reduced. The image data of the NR image is stored in the image memory unit 4.

そして、この画像メモリ部4に格納された重ね合わせ結果のNR画像の画像データは、静止画コーデック部18においてコーデック変換され、システムバス2を通じて記録再生装置部5の例えばDVD(Digital Versatile Disc)やハードディスクなどの記録媒体に記録される。この実施形態では、静止画コーデック部18では、JPEG(Joint Photographic Experts Group)方式の静止画についての画像圧縮符号化処理が行われる。   Then, the image data of the superposed NR image stored in the image memory unit 4 is codec converted by the still image codec unit 18, and for example, a DVD (Digital Versatile Disc) or the like of the recording / reproducing device unit 5 through the system bus 2. It is recorded on a recording medium such as a hard disk. In this embodiment, the still image codec unit 18 performs image compression encoding processing on a still image of JPEG (Joint Photographic Experts Group) system.

また、この静止画撮影時、シャッターボタンが押下操作される前においては、画像補正・解像度変換部15からの画像データは、画像メモリ部4を通じてNTSC(National Television System Committee)エンコーダ20に供給され、このNTSCエンコーダ20によりNTSC方式の標準カラー映像信号に変換され、例えばLCD(Liquid Crystal Display;液晶ディスプレイ)からなるモニターディスプレイ6に供給され、静止画撮影時のモニター画像がその表示画面にモニター表示される。   At the time of still image shooting, before the shutter button is pressed, the image data from the image correction / resolution conversion unit 15 is supplied to the NTSC (National Television System Committee) encoder 20 through the image memory unit 4. This NTSC encoder 20 converts it into an NTSC standard color video signal and supplies it to a monitor display 6 comprising, for example, an LCD (Liquid Crystal Display), and a monitor image at the time of still image shooting is displayed on the display screen. The

また、ユーザ操作入力部3を通じた撮影指示が、動画記録ボタンの押下による動画撮影指示であったときには、解像度変換された画像データは、画像メモリ部4に書き込まれると共に、リアルタイムに動き検出・動き補償部16へ送られ、後述するようなこの実施形態におけるブロックマッチング処理がなされて、動きベクトルが検出され、当該検出された動きベクトルに基づいて、画像重ね合わせ部17で後述するような画像の重ね合わせ処理が行われ、その重ね合わせ結果、ノイズ低減されたNR画像の画像データが画像メモリ部4に格納される。   When the shooting instruction through the user operation input unit 3 is a moving image shooting instruction by pressing the moving image recording button, the resolution-converted image data is written in the image memory unit 4 and the motion detection / movement is performed in real time. A block matching process in this embodiment, which will be described later, is sent to the compensation unit 16 to detect a motion vector. Based on the detected motion vector, an image superimposing unit 17 performs image processing as described later. An overlay process is performed, and the image data of the NR image with the noise reduced as a result of the overlay is stored in the image memory unit 4.

そして、この画像メモリ部4に格納された重ね合わせ結果のNR画像の画像データは、NTSCエンコーダ部20を通じてモニターディスプレイ6の表示画面に出力されながら、動画コーデック部19でコーデック変換され、システムバス2を通じて記録再生装置部5に供給され、DVDやハードディスクなどの記録媒体に記録される。この実施形態では、動画コーデック部18では、MPEG(Moving Picture Experts Group)方式の動画についての画像圧縮符号化処理が行われる。   The image data of the superimposed NR image stored in the image memory unit 4 is codec-converted by the moving image codec unit 19 while being output to the display screen of the monitor display 6 through the NTSC encoder unit 20, and the system bus 2 Is supplied to the recording / reproducing apparatus unit 5 and recorded on a recording medium such as a DVD or a hard disk. In this embodiment, the moving image codec unit 18 performs image compression coding processing on moving images of the MPEG (Moving Picture Experts Group) method.

この記録再生装置部5の記録媒体に記録された撮像画像データは、ユーザ操作入力部3を通じた再生開始操作に応じて読み出され、動画コーデック部19に供給されて、再生デコードされる。そして、再生デコードされた画像データはNTSCエンコーダ20を通じてモニターディスプレイ6に供給され、再生画像がその表示画面に表示される。なお、図1では、図示を省略したが、NTSCエンコーダ20からの出力映像信号は、映像出力端子を通じて外部に導出することが可能とされている。   The captured image data recorded on the recording medium of the recording / reproducing apparatus unit 5 is read in response to a reproduction start operation through the user operation input unit 3, supplied to the moving image codec unit 19, and reproduced and decoded. The reproduced and decoded image data is supplied to the monitor display 6 through the NTSC encoder 20, and the reproduced image is displayed on the display screen. Although not shown in FIG. 1, the output video signal from the NTSC encoder 20 can be derived outside through a video output terminal.

上述した動き検出・動き補償部16は、ハードウエアにより構成することできるし、また、DSP(Digital Signal Processor)を用いて構成することもできる。さらには、CPU1によりソフトウエア処理とすることもできる。   The motion detection / compensation unit 16 described above can be configured by hardware, or can be configured by using a DSP (Digital Signal Processor). Furthermore, software processing can be performed by the CPU 1.

同様に、画像重ね合わせ部17も、ハードウエアにより構成することできるし、また、DSPを用いて構成することもできる。さらには、CPU1によりソフトウエア処理とすることもできる。また、静止画コーデック部18、動画コーデック部19なども、同様である。   Similarly, the image superimposing unit 17 can also be configured by hardware or can be configured by using a DSP. Furthermore, software processing can be performed by the CPU 1. The same applies to the still image codec unit 18 and the moving image codec unit 19.

[動き検出・動き補償部16の説明]
動き検出・動き補償部16では、この実施の形態では、基本的には、図64〜図69を用いて説明した、SAD値を用いてブロックマッチング処理を行うことで、動きベクトル検出を行うようにする。ただし、この実施の形態では、動き検出・動き補償部16は、後述するようなハードウエアで構成され、共通のハードウエアで階層化したブロックマッチング処理を行うようにする。また、後述するように、共通のハードウエアで、静止画についてのノイズ低減処理と、動画についてのノイズ低減処理とが実現できるように構成している。
[Description of Motion Detection / Compensation Unit 16]
In this embodiment, the motion detection / compensation unit 16 basically performs motion vector detection by performing block matching processing using the SAD values described with reference to FIGS. To. However, in this embodiment, the motion detection / motion compensation unit 16 is configured by hardware as described later, and performs block matching processing hierarchized by common hardware. Further, as will be described later, the noise reduction processing for the still image and the noise reduction processing for the moving image can be realized by common hardware.

<実施の形態の階層化ブロックマッチング処理の概要>
一般的な従来のブロックマッチングにおける動きベクトル検出処理は、ピクセル(画素)単位(1ピクセル単位または複数ピクセル単位)で参照ブロックを移動させて、各移動位置における参照ブロックについてのSAD値を算出し、その算出したSAD値の中から最小値を示すSAD値を検出し、当該最小SAD値を呈する参照ブロック位置に基づいて動きベクトルを検出するようにする。
<Outline of Hierarchical Block Matching Processing of Embodiment>
A motion vector detection process in a general conventional block matching is performed by moving a reference block in pixel (pixel) units (one pixel unit or a plurality of pixel units), and calculating a SAD value for the reference block at each moving position. A SAD value indicating a minimum value is detected from the calculated SAD values, and a motion vector is detected based on a reference block position exhibiting the minimum SAD value.

しかし、このような従来の動きベクトル検出処理では、サーチ範囲内をピクセル単位で参照ブロックを移動させるようにするので、検索するサーチ範囲に比例して、SAD値を算出するマッチング処理回数が多くなって、マッチング処理時間が大きくなると共に、SADテーブルの容量も大きくなるという問題があった。   However, in such a conventional motion vector detection process, the reference block is moved in units of pixels within the search range, so that the number of matching processes for calculating the SAD value increases in proportion to the search range to be searched. As a result, the matching processing time increases and the capacity of the SAD table also increases.

そこで、この実施の形態では、ターゲット画像(ターゲットフレーム)および参照画像(参照フレーム)に対して縮小画像を作成し、作成した縮小画像でブロックマッチングを行い、縮小画像での動き検出結果を基に、もとのターゲット画像でのブロックマッチングを行う。ここで、縮小画像のことを縮小面、縮小化をしていない元の画像のことを基底面と呼ぶことにする。したがって、この第2の実施の形態では、縮小面でのブロックマッチングを行ったあと、そのマッチング結果を用いて基底面でのブロックマッチングを行う。   Therefore, in this embodiment, a reduced image is created for the target image (target frame) and the reference image (reference frame), block matching is performed on the created reduced image, and based on the motion detection result in the reduced image. Perform block matching on the original target image. Here, the reduced image is referred to as a reduced surface, and the original image that has not been reduced is referred to as a base surface. Therefore, in the second embodiment, after performing block matching on the reduced surface, block matching on the base surface is performed using the matching result.

図6および図7に、ターゲットフレーム(画像)および参照フレーム(画像)の画像縮小化のイメージを示す。すなわち、この実施の形態においては、例えば図6に示すように、基底面ターゲットフレーム130は、水平方向および垂直方向のそれぞれを、1/n(nは正の数)に縮小して、縮小面ターゲットフレーム132とする。したがって、基底面ターゲットフレーム130を複数個に分割して生成した基底面ターゲットブロック131は、縮小面ターゲットフレームでは、水平方向および垂直方向のそれぞれが1/n×1/nに縮小された縮小面ターゲットブロック133となる。   FIG. 6 and FIG. 7 show images of image reduction of the target frame (image) and the reference frame (image). That is, in this embodiment, for example, as shown in FIG. 6, the basal plane target frame 130 is reduced to 1 / n (n is a positive number) in the horizontal direction and the vertical direction to reduce the reduction surface. The target frame 132 is assumed. Accordingly, the basal plane target block 131 generated by dividing the basal plane target frame 130 into a plurality is a reduced plane in which each of the horizontal direction and the vertical direction is reduced to 1 / n × 1 / n in the reduced plane target frame. The target block 133 is obtained.

そして、ターゲットフレームの画像縮小倍率1/nに合わせて、参照フレームを縮小する。すなわち、図7に示すように、基底面参照フレーム134は、水平方向および垂直方向のそれぞれを、1/nに縮小して、縮小面参照フレーム135とする。そして、基底面参照フレーム134上で検出された動き補償ブロック103についての動きベクトル104は、縮小面参照フレーム135では、1/n×1/nに縮小された縮小面動きベクトル136として検出される。   Then, the reference frame is reduced in accordance with the image reduction magnification 1 / n of the target frame. That is, as shown in FIG. 7, the basal plane reference frame 134 is reduced to 1 / n in the horizontal direction and the vertical direction to form a reduced plane reference frame 135. The motion vector 104 for the motion compensation block 103 detected on the base plane reference frame 134 is detected as a reduced plane motion vector 136 reduced to 1 / n × 1 / n in the reduced plane reference frame 135. .

なお、上記の例では、ターゲットフレームと参照フレームとの画像縮小倍率は同じとしたが、演算量削減のため、ターゲットフレーム(画像)と参照フレーム(画像)とで異なる画像縮小倍率を用い、画素補間等の処理で、両フレームの画素数を合わせて、マッチングを行うようにしてもよい。   In the above example, the image reduction magnification of the target frame and the reference frame is the same. However, in order to reduce the calculation amount, different image reduction magnifications are used for the target frame (image) and the reference frame (image). Matching may be performed by matching the number of pixels in both frames by processing such as interpolation.

また、水平方向および垂直方向のそれぞれの縮小倍率を同一としたが、水平方向と垂直方向とで、縮小倍率を異ならせるようにしても良い。例えば水平方向は1/nに縮小し、垂直方向は、1/m(mは正の数で、n≠m)に縮小する場合には、縮小画面は、元の画面の1/n×1/mの大きさになる。   Further, although the reduction ratios in the horizontal direction and the vertical direction are the same, the reduction ratios may be different between the horizontal direction and the vertical direction. For example, when the horizontal direction is reduced to 1 / n and the vertical direction is reduced to 1 / m (m is a positive number, n ≠ m), the reduced screen is 1 / n × 1 of the original screen. / M.

図8に、縮小面参照ベクトルと基底面参照ベクトルの関係を示す。基底面参照フレーム134において、動き検出原点105と、サーチ範囲106が、図8(A)に示すように決定されたとすると、1/n×1/nに画像縮小された縮小面参照フレーム135上では、図8(B)に示すように、サーチ範囲は、1/n×1/nに縮小された縮小面サーチ範囲137とされる。   FIG. 8 shows the relationship between the reduced plane reference vector and the base plane reference vector. If the motion detection origin 105 and the search range 106 are determined as shown in FIG. 8A in the basal plane reference frame 134, the reduced plane reference frame 135 on which the image is reduced to 1 / n × 1 / n. Then, as shown in FIG. 8B, the search range is a reduced plane search range 137 reduced to 1 / n × 1 / n.

そして、この実施の形態では、縮小面サーチ範囲137内において、縮小面参照フレーム135での動き検出原点105からの位置ズレ量を表す縮小面参照ベクトル138を設定し、それぞれの縮小面参照ベクトル138が指し示す位置にある縮小面参照ブロック139と、縮小面ターゲットブロック131(図8では図示は省略)との相関性を評価する。   In this embodiment, within the reduction plane search range 137, reduction plane reference vectors 138 representing the amount of positional deviation from the motion detection origin 105 at the reduction plane reference frame 135 are set, and the respective reduction plane reference vectors 138 are set. The correlation between the reduction plane reference block 139 at the position indicated by and the reduction plane target block 131 (not shown in FIG. 8) is evaluated.

この場合、縮小画像において、ブロックマッチングを行うので、縮小面参照フレーム135においてSAD値を算出すべき縮小面参照ブロック位置(縮小面参照ベクトル)の数を少なくすることができ、SAD値の算出回数(マッチング処理回数)が少なくなる分だけ、処理を高速化することができると共に、SADテーブルを小規模とすることができる。   In this case, since block matching is performed on the reduced image, the number of reduced surface reference block positions (reduced surface reference vectors) for which SAD values should be calculated in the reduced surface reference frame 135 can be reduced, and the number of times of calculating the SAD value. The processing can be speeded up by the amount of (the number of matching processings), and the SAD table can be made small.

図9に示すように、縮小面サーチ範囲137に応じて定まる縮小面マッチング処理範囲143内に設定される複数個の縮小面参照ブロック139と縮小面ターゲットブロック131とのブロックマッチングによる相関性評価により、縮小面参照フレーム135における縮小面動きベクトル136が算出される。この縮小面動きベクトル136の精度は、画像が1/n×1/nに縮小されているので、1ピクセルのn倍の低精度となっている。そこで、この算出された縮小面動きベクトル136をn倍しても、基底面参照フレーム134において、1ピクセル精度の動きベクトル104は得られない。   As shown in FIG. 9, by correlation evaluation by block matching between a plurality of reduced surface reference blocks 139 and a reduced surface target block 131 set in a reduced surface matching processing range 143 determined according to the reduced surface search range 137. The reduced plane motion vector 136 in the reduced plane reference frame 135 is calculated. The accuracy of the reduced plane motion vector 136 is as low as n times one pixel because the image is reduced to 1 / n × 1 / n. Therefore, even if the calculated reduced plane motion vector 136 is multiplied by n, the motion vector 104 with 1 pixel accuracy cannot be obtained in the base plane reference frame 134.

しかし、基底面参照フレーム134においては、縮小面動きベクトル136をn倍した動きベクトルの近傍に、1ピクセル精度の基底面動きベクトル104が存在することは明らかである。   However, in the base plane reference frame 134, it is clear that the base plane motion vector 104 with 1 pixel accuracy exists in the vicinity of the motion vector obtained by multiplying the reduced plane motion vector 136 by n.

そこで、この実施の形態では、図8(C)および図9に示すように、基底面参照フレーム134において、縮小面動きベクトル136をn倍した動きベクトル(基底面参照ベクトル141)が指し示す位置を中心として、基底面動きベクトル104が存在するであろうと考えられる狭い範囲に、基底面サーチ範囲140を設定し、設定された基底面サーチ範囲140に応じて基底面マッチング処理範囲144を設定する。   Therefore, in this embodiment, as shown in FIGS. 8C and 9, in the base plane reference frame 134, the position indicated by the motion vector (base plane reference vector 141) obtained by multiplying the reduced plane motion vector 136 by n times points. A basal plane search range 140 is set in a narrow range where the basal plane motion vector 104 is considered to exist as a center, and a basal plane matching processing range 144 is set according to the set basal plane search range 140.

そして、図8(C)に示すように、この基底面サーチ範囲140内の位置を示すものとして、基底面参照フレーム134における基底面参照ベクトル141を設定し、各基底面参照ベクトル141が指し示す位置に基底面参照ブロック142を設定して、基底面参照フレーム134におけるブロックマッチングを行うようにする。   Then, as shown in FIG. 8C, a base surface reference vector 141 in the base surface reference frame 134 is set to indicate the position in the base surface search range 140, and the position indicated by each base surface reference vector 141 is set. The base plane reference block 142 is set to block matching in the base plane reference frame 134.

ここで設定された基底面サーチ範囲140および基底面マッチング処理範囲144は、図9に示すように、縮小面サーチ範囲137および縮小面マッチング処理範囲143を縮小率の逆数倍であるn倍したサーチ範囲137´およびマッチング処理範囲143´に比較して非常に狭い範囲でよい。   As shown in FIG. 9, the base plane search range 140 and the base plane matching processing range 144 set here are obtained by multiplying the reduction plane search range 137 and the reduction plane matching processing range 143 by n times the reciprocal of the reduction ratio. It may be a very narrow range compared to the search range 137 ′ and the matching processing range 143 ′.

したがって、階層化マッチングを行わずに、基底面においてのみブロックマッチング処理をした場合には、基底面においては、サーチ範囲137´およびマッチング処理範囲143´において、複数個の参照ブロックを設定して、ターゲットブロックとの相関値を求める演算をする必要があるが、階層化マッチング処理においては、図9のように、非常に狭い範囲においてのみマッチング処理を行えばよい。   Therefore, when block matching processing is performed only on the base plane without performing hierarchical matching, a plurality of reference blocks are set in the search range 137 ′ and matching processing range 143 ′ on the base plane, Although it is necessary to perform an operation for obtaining a correlation value with the target block, in the hierarchical matching process, the matching process may be performed only in a very narrow range as shown in FIG.

このため、当該狭い範囲である、基底面サーチ範囲140および基底面マッチング処理範囲144に設定される基底面参照ブロックの数は非常に少なくなり、マッチング処理回数(相関値演算回数)および保持するSAD値を非常に小さくすることができ、処理を高速化することができると共に、SADテーブルを小規模化することができるという効果を得ることができる。   For this reason, the number of base plane reference blocks set in the base plane search range 140 and base plane matching processing range 144, which are the narrow ranges, is very small, and the number of matching processes (number of correlation value calculations) and the SAD to be held The value can be made very small, the processing can be speeded up, and the SAD table can be reduced in size.

こうして、基底面参照フレーム134において、ピクセル精度の基底面動きベクトル136が検出できたら、この実施の形態においては、基底面動きベクトル136が指し示す参照ブロックのSAD値、すなわち、最小SAD値と、その近傍の近傍SAD値とを用いて、この例においても二次曲線近似補間処理を行って、サブピクセル精度の基底面高精度動きベクトルを算出するようにする。   In this way, if the pixel-basis motion vector 136 is detected in the base-surface reference frame 134, in this embodiment, the SAD value of the reference block pointed to by the base-surface motion vector 136, that is, the minimum SAD value, In this example, a quadratic curve approximate interpolation process is also performed using the neighboring SAD values in the neighborhood to calculate a base-plane high-precision motion vector with sub-pixel accuracy.

サブピクセル精度の基底面高精度動きベクトルについて説明する。前述したブロックマッチング手法では、ピクセル単位でブロックマッチングを行っているため、動きベクトルはピクセル精度でしか算出されない。図69に示したように、マッチング処理を行った点、つまり、参照ブロックの位置は、ピクセル精度で存在し、より精度の高い動きベクトルを算出するには、サブピクセル単位でのマッチング処理が必要になる。   The base plane high-precision motion vector with subpixel accuracy will be described. In the block matching method described above, since block matching is performed in units of pixels, the motion vector is calculated only with pixel accuracy. As shown in FIG. 69, the point at which the matching process is performed, that is, the position of the reference block exists with pixel accuracy, and in order to calculate a more accurate motion vector, matching processing in units of subpixels is necessary. become.

N倍のピクセル精度(画素ピッチは、1/N)の動きベクトルを算出するために、N倍のピクセル単位でマッチング処理を行うと、SADテーブルは約N倍の大きさになり、膨大なメモリが必要になる。また、ブロックマッチング処理のために、N倍にアッパーサンプルした画像を生成しなくてはならず、ハードウエアの規模は飛躍的に増大する。 In order to calculate a motion vector with N times the pixel accuracy (pixel pitch is 1 / N), if the matching process is performed in units of N times the pixel, the SAD table becomes about N 2 times larger, Memory is required. In addition, for the block matching process, an image that is N times the upper sample must be generated, and the scale of hardware increases dramatically.

そこで、二次曲線を用いて、SADテーブルを補間することで、ピクセル単位でマッチング処理を行ったSADテーブルから、サブピクセル精度の動きベクトルを算出することを考える。この場合において、二次曲線近似補間ではなく、線形補間や、3次以上の高次の近似曲線補間を用いても良いが、精度とハードウエア化との兼ね合いから、この例では、二次曲線近似補間を用いている。   Therefore, it is considered that a motion vector with sub-pixel accuracy is calculated from the SAD table that has been subjected to the matching process in units of pixels by interpolating the SAD table using a quadratic curve. In this case, instead of quadratic curve approximation interpolation, linear interpolation or higher-order approximation curve interpolation of cubic or higher may be used. However, in this example, a quadratic curve is used in consideration of the balance between accuracy and hardware implementation. Approximate interpolation is used.

この二次曲線近似補間においては、図10に示すように、ピクセル精度の基底面動きベクトル104が指し示すSADテーブルのSAD値の基底面最小値Smin(図10の参照符号113参照)と、当該最小値Sminの位置の近傍位置の複数個のSAD値(基底面近傍SAD値という)、この例では、基底面最小値Sminの位置のX方向およびY方向に隣接する4個の基底面近傍SAD値Sx1、Sx2およびSy1、Sy2(図10の参照符号114,115,116,117参照)を使用する。   In this quadratic curve approximate interpolation, as shown in FIG. 10, the basal plane minimum value Smin (see reference numeral 113 in FIG. 10) of the SAD value indicated by the basal plane motion vector 104 with pixel accuracy and the minimum A plurality of SAD values near the position of the value Smin (referred to as a basal plane vicinity SAD value), in this example, four basal plane vicinity SAD values adjacent to the position of the minimum basal plane value Smin in the X and Y directions Sx1, Sx2 and Sy1, Sy2 (see reference numerals 114, 115, 116, 117 in FIG. 10) are used.

図11に示すように、基底面最小値Sminと、X方向(水平方向)の基底面近傍2点の近傍SAD値Sx1、Sx2を使って、二次の近似曲線118を当てはめ、この二次曲線118の極小を取る座標が、サブピクセル精度の基底面高精度最小値SXminとなる動きベクトル(高精度動きベクトル)のX座標Vxとなる。このときの二次曲線近似補間の式を、次式(1)に示す。   As shown in FIG. 11, a quadratic approximate curve 118 is fitted using the base plane minimum value Smin and the SAD values Sx1 and Sx2 near the two base plane vicinity in the X direction (horizontal direction). The coordinate at which 118 is minimum is the X coordinate Vx of the motion vector (high-precision motion vector) that becomes the base-plane high-precision minimum value SXmin with sub-pixel accuracy. The equation of quadratic curve approximate interpolation at this time is shown in the following equation (1).

SXmin=1/2×(Sx2−Sx1)/(Sx2−2Smin+Sx1)…式(1)
この計算式(1)で求めたサブピクセル精度の基底面高精度最小値SXminがSADテーブル上で取るX座標が、サブピクセル精度のSAD値の最小値となるX座標Vxとなる。
SXmin = 1/2 × (Sx2-Sx1) / (Sx2-2Smin + Sx1) (1)
The X coordinate taken on the SAD table by the basal plane high-precision minimum value SXmin with sub-pixel accuracy obtained by the calculation formula (1) is the X-coordinate Vx that is the minimum value of the SAD value with sub-pixel accuracy.

この計算式(1)の割り算は、複数回の引き算で実現可能である。求めたいサブピクセル精度が、例えば元の基底面における画素ピッチの1/4の画素ピッチの精度であれば、僅か2回の引き算でも求められるため、回路規模、演算時間、共に小さく、二次の近時曲線補間よりもかなり複雑な三次曲線補間と殆ど変わらない性能が実現できる。   The division of the calculation formula (1) can be realized by a plurality of subtractions. If the subpixel accuracy to be obtained is, for example, an accuracy of 1/4 of the pixel pitch on the original base surface, it can be obtained by subtraction only twice, so both the circuit scale and the computation time are small. Performance that is almost the same as cubic curve interpolation, which is considerably more complicated than recent curve interpolation, can be realized.

同様に、基底面最小値Sminと、Y方向(垂直方向)の近傍2点の基底面近傍SAD値Sy1、Sy2を使って、二次の近似曲線を当て嵌め、この二次曲線の極小値SYminを取るY座標が、サブピクセル精度の基底面高精度最小値となるY座標Vyとなる。このときの二次曲線近似補間の式を、次式(2)に示す。   Similarly, using a basal plane minimum value Smin and two basal plane vicinity SAD values Sy1 and Sy2 in the vicinity of the Y direction (vertical direction), a quadratic approximate curve is fitted, and a minimum value SYmin of the quadratic curve is applied. The Y coordinate taking Y becomes the Y coordinate Vy that is the minimum value of the base surface high accuracy with sub-pixel accuracy. The equation of quadratic curve approximate interpolation at this time is shown in the following equation (2).

SYmin=1/2×(Sy2−Sy1)/(Sy2−2Smin+Sy1)…式(2)
以上のようにして、二次曲線の近似を、X方向およびY方向の2回、行うことで、サブピクセル精度の基底面高精度の動きベクトル(Vx、Vy)が求まる。
SYmin = 1/2 × (Sy2−Sy1) / (Sy2−2Smin + Sy1) (2)
As described above, the approximation of the quadratic curve is performed twice in the X direction and the Y direction, whereby the motion vector (Vx, Vy) of the base pixel high accuracy with subpixel accuracy is obtained.

以上の説明では、SAD値の最小値と、そのX方向(水平方向)およびY方向(垂直方向)の近傍2点のSAD値を使用したが、各方向の近傍のSAD値は2点以上であってもよい。また、二次曲線をX方向、Y方向に代えて、例えば、斜め方向に近似曲線を当て嵌めてもかまわない。さらに、X方向、Y方向に、斜め方向を加えて近似曲線を当て嵌めてもかまわない。   In the above description, the minimum SAD value and two SAD values in the vicinity in the X direction (horizontal direction) and the Y direction (vertical direction) are used. However, the SAD value in the vicinity in each direction is two points or more. There may be. Further, instead of the quadratic curve in the X direction and the Y direction, for example, an approximate curve may be fitted in an oblique direction. Furthermore, an approximate curve may be applied by adding an oblique direction to the X direction and the Y direction.

以上のような手段、手順を用いることにより、ピクセル単位の精度のSADテーブルの値から、サブピクセル精度のベクトル検出結果が得られることを図12に示す。図12の横軸は、補間倍率であり、1次元方向に分解能を何倍にするかを表している。SADテーブルは2次元のため、テーブル面積は、この2乗の割合で削減されるのに対し、補間による誤差は、線形程度にしか増加しないことから、上述の補間手法の有用性が分かる。   FIG. 12 shows that a vector detection result with sub-pixel accuracy can be obtained from the value of the SAD table with pixel accuracy by using the above means and procedures. The horizontal axis in FIG. 12 represents the interpolation magnification, and represents how many times the resolution is increased in the one-dimensional direction. Since the SAD table is two-dimensional, the table area is reduced at a ratio of the square, whereas the error due to interpolation increases only to a linear level, so that the usefulness of the above-described interpolation method can be seen.

<動き検出・動き補償部16の構成例>
図13に、動き検出・動き補償部16の構成例のブロック図を示す。この例では、動き検出・動き補償部16は、ターゲットブロック102の画素データを保持するターゲットブロックバッファ部161と、参照ブロック108の画素データを保持する参照ブロックバッファ部162と、ターゲットブロック102と参照ブロック108とで対応する画素についてのSAD値を計算するマッチング処理部163と、マッチング処理部163から出力されるSAD値情報から動きベクトルを算出する動きベクトル算出部164と、それぞれのブロックを制御するコントロール部165と、を備える。
<Configuration Example of Motion Detection / Motion Compensation Unit 16>
FIG. 13 shows a block diagram of a configuration example of the motion detection / motion compensation unit 16. In this example, the motion detection / compensation unit 16 includes a target block buffer unit 161 that stores pixel data of the target block 102, a reference block buffer unit 162 that stores pixel data of the reference block 108, and the target block 102. The matching processing unit 163 that calculates the SAD value for the corresponding pixel in the block 108, the motion vector calculation unit 164 that calculates the motion vector from the SAD value information output from the matching processing unit 163, and the respective blocks are controlled. A control unit 165.

そして、動き検出・動き補償部16と、画像メモリ部4とは、システムバス2を通じて接続されている。すなわち、この例では、システムバス2とターゲットブロックバッファ部161および参照ブロックバッファ部162との間には、それぞれバス・インターフェース部21およびバス・インターフェース部22が接続されている。また、画像メモリ部4と、システムバス2との間には、画像メモリ部4に対する書き込みおよび読み出しのメモリアクセスを制御するためのメモリコントローラ8が接続されている。ここで、システムバス2でのプロトコルは、この例では、AXIインターコネクトが用いられている。   The motion detection / compensation unit 16 and the image memory unit 4 are connected through the system bus 2. That is, in this example, the bus interface unit 21 and the bus interface unit 22 are connected between the system bus 2 and the target block buffer unit 161 and the reference block buffer unit 162, respectively. Further, a memory controller 8 is connected between the image memory unit 4 and the system bus 2 for controlling memory access for writing to and reading from the image memory unit 4. Here, the AXI interconnect is used as the protocol in the system bus 2 in this example.

静止画撮像時においては、ターゲットブロックバッファ部161には、画像メモリ部4に記憶されている縮小面ターゲット画像Prtまたは基底面ターゲット画像Pbtの画像フレームからの縮小面ターゲットブロックまたは基底面ターゲットブロックが、メモリコントローラ8による読み出し制御にしたがって画像メモリ部4から読み出されて、書き込まれる。   At the time of still image capturing, the target block buffer unit 161 includes a reduced plane target block or a basal plane target block from the image frame of the reduced plane target image Prt or the basal plane target image Pbt stored in the image memory unit 4. The image data is read from the image memory unit 4 and written according to the read control by the memory controller 8.

縮小面ターゲット画像Prtまたは基底面ターゲット画像Pbtは、1枚目は、シャッターボタン押下後の最初の撮像フレームの画像が画像メモリ部4から読み出されて、ターゲットフレーム102として、ターゲットブロックバッファ部161に書き込まれる。参照画像とのブロックマッチングに基づき画像の重ね合わせがなされると、画像メモリ部4に当該画像の重ね合わせ後のNR画像が書き込まれ、ターゲットブロックバッファ部161のターゲットフレーム102が、当該NR画像に書き換えられてゆく。   As for the reduced surface target image Prt or the base surface target image Pbt, in the first image, the image of the first imaging frame after the shutter button is pressed is read from the image memory unit 4, and the target block buffer unit 161 is used as the target frame 102. Is written to. When the images are superimposed based on the block matching with the reference image, the NR image after the image is superimposed is written in the image memory unit 4, and the target frame 102 of the target block buffer unit 161 is added to the NR image. It will be rewritten.

参照ブロックバッファ部162には、画像メモリ部4に記憶されている縮小面参照画像Prrまたは基底面参照画像Pbrの画像フレームからの縮小面マッチング処理範囲または基底面マッチング処理範囲の画像データが、画像メモリ部4から読み出されて、書き込まれる。縮小面参照画像Prrまたは基底面参照画像Pbrは、前記最初の撮像フレームの後の撮像フレームが、参照フレーム108として画像メモリ部4に書き込まれる。   In the reference block buffer unit 162, image data of the reduced surface matching processing range or the base surface matching processing range from the image frame of the reduced surface reference image Prr or the base surface reference image Pbr stored in the image memory unit 4 is stored in the image. It is read from the memory unit 4 and written. In the reduced plane reference image Prr or the base plane reference image Pbr, the imaging frame after the first imaging frame is written in the image memory unit 4 as the reference frame 108.

この場合、連続して撮影された複数枚の撮像画像を取り込みながら画像の重ね合わせ処理を行う場合(これを撮影中加算と呼ぶことにする)には、基底面参照画像および縮小面参照画像としては、前記最初の撮像フレームの後の撮像フレームが、1枚ずつ順次に画像メモリ部4に取り込まれる。したがって、画像メモリ部4は、基底面参照画像および縮小面参照画像としては、1枚ずつを保持すればよい。   In this case, when image superimposition processing is performed while capturing a plurality of continuously captured images (hereinafter referred to as addition during shooting), the base plane reference image and the reduced plane reference image are used. The image frames after the first image frame are sequentially taken into the image memory unit 4 one by one. Therefore, the image memory unit 4 only needs to hold one base surface reference image and one reduced surface reference image.

しかし、連続して撮影された複数枚の撮像画像を画像メモリ部4に取り込んだ後、動き検出・動き補償部16および画像重ね合わせ部17で、動きベクトル検出を行い、画像の重ね合わせを実行するようにする場合(これを撮影後加算と呼ぶことにする)には、基底面参照画像および縮小面参照画像としては、前記最初の撮像フレームの後の複数枚の撮像フレームの全てを画像メモリ部4に格納保持しておく必要がある。   However, after capturing a plurality of continuously captured images into the image memory unit 4, the motion detection / motion compensation unit 16 and the image superimposing unit 17 perform motion vector detection and perform image superposition. In the case of doing so (hereinafter referred to as “addition after shooting”), as the base plane reference image and the reduced plane reference image, all of the plurality of imaging frames after the first imaging frame are stored in the image memory. It is necessary to store and hold in the unit 4.

撮像装置としては、撮影中加算および撮影後加算のいずれも用いることができるが、この実施形態では、静止画NR処理は、多少処理時間がかかっても、ノイズが低減された綺麗な画像が要求されることを考慮して、撮影後加算の処理を採用している。この実施形態における静止画NR処理の詳細な動作説明は、後で詳述する。   As an imaging device, both addition during shooting and addition after shooting can be used, but in this embodiment, the still image NR processing requires a clean image with reduced noise even if processing time is somewhat long. In consideration of this, the post-shooting addition process is employed. Detailed operation description of the still image NR processing in this embodiment will be described later.

一方、動画撮影時においては、動き検出・動き補償部16には、画像補正・解像度変換部15からの撮像フレームがターゲットフレーム102として入力される。ターゲットブロックバッファ部161には、この画像補正・解像度変換部15からの、ターゲットフレームから抽出されたターゲットブロックが書き込まれる。また、参照ブロックバッファ部162には、前記ターゲットフレームよりも1枚前の、画像メモリ部4に記憶されている撮像フレームが、参照フレーム108とされ、この参照フレーム(基底面参照画像Pbrまたは縮小面参照画像Prr)からの基底面マッチング処理範囲または縮小面マッチング処理範囲が書き込まれる。   On the other hand, at the time of moving image shooting, the imaging frame from the image correction / resolution conversion unit 15 is input to the motion detection / motion compensation unit 16 as the target frame 102. The target block extracted from the target frame from the image correction / resolution conversion unit 15 is written in the target block buffer unit 161. In the reference block buffer unit 162, the imaging frame stored in the image memory unit 4 immediately before the target frame is set as a reference frame 108, and this reference frame (base reference image Pbr or reduced size) is used. The basal plane matching process range or the reduced plane matching process range from the plane reference image Prr) is written.

この動画撮影時には、画像メモリ部4には、画像補正・解像度変換部15からのターゲットフレームとの間でブロックマッチングをすべき、1枚前の撮像画像フレームを基底面参照画像Pbrおよび縮小面参照画像Prrとして保持するだけでよく、画像メモリ部4に保持する画像情報は、1枚分(1フレーム分)でよいので、この例では、基底面参照画像Pbrおよび縮小面参照画像Prrとしては、画像データ圧縮していない。   At the time of this moving image shooting, the image memory unit 4 stores the previous captured image frame to be subjected to block matching with the target frame from the image correction / resolution conversion unit 15 as a base plane reference image Pbr and a reduced plane reference. Since the image information stored in the image memory unit 4 may be stored in one image (one frame), the base plane reference image Pbr and the reduced plane reference image Prr may be used as the base plane reference image Prr. Image data is not compressed.

マッチング処理部163では、縮小面でのマッチング処理および基底面でのマッチング処理を、ターゲットブロックバッファ部161に記憶されたターゲットブロックと、参照ブロックバッファ部162に記憶された参照ブロックとについて行う。   The matching processing unit 163 performs matching processing on the reduced surface and matching processing on the base surface for the target block stored in the target block buffer unit 161 and the reference block stored in the reference block buffer unit 162.

ここで、ターゲットブロックバッファ部161に記憶されたものが縮小面ターゲットブロックの画像データであり、参照ブロックバッファ162に記憶されたものが縮小面参照画面から抽出された縮小面マッチング処理範囲の画像データである場合には、マッチング処理部163では、縮小面マッチング処理が実行される。また、ターゲットブロックバッファ部161に記憶されたものが基底面ターゲットブロックの画像データであり、参照ブロックバッファ162に記憶されたものが基底面参照画面から抽出された基底面マッチング処理範囲の画像データである場合には、マッチング処理部163では、基底面マッチング処理が実行されることになる。   Here, what is stored in the target block buffer unit 161 is image data of the reduced plane target block, and what is stored in the reference block buffer 162 is image data of the reduced plane matching processing range extracted from the reduced plane reference screen. In the case of, the matching processing unit 163 performs a reduced surface matching process. Also, what is stored in the target block buffer unit 161 is image data of the base plane target block, and what is stored in the reference block buffer 162 is image data of the base plane matching processing range extracted from the base plane reference screen. In some cases, the matching processing unit 163 performs the basal plane matching process.

マッチング処理部163で、ブロックマッチングにおけるターゲットブロックと、参照ブロックとの相関の強さを検出するためには、この実施の形態においても、画像データの輝度情報を用いてSAD値算出を行い、その最小SAD値を検出して、当該最小SAD値を呈する参照ブロックを最強相関参照ブロックとして検出するようにする。   In order to detect the strength of the correlation between the target block and the reference block in the block matching by the matching processing unit 163, the SAD value is calculated using the luminance information of the image data in this embodiment as well. The minimum SAD value is detected, and the reference block exhibiting the minimum SAD value is detected as the strongest correlation reference block.

なお、SAD値の算出は、輝度情報ではなく、色差信号や、3原色信号R,G,Bの情報を使用しても良いことは言うまでもない。また、SAD値の算出に当たっては、通常は、ブロック内の全画素を用いるようにするが、演算量削減のため、間引き等により、飛び飛びの位置の限られた画素の画素値のみを使用するようにしてもよい。   Needless to say, the SAD value may be calculated by using not only the luminance information but also the color difference signal and the information of the three primary color signals R, G and B. In calculating the SAD value, all the pixels in the block are usually used. However, in order to reduce the amount of calculation, only the pixel value of the pixel with a limited jump position is used by thinning out or the like. It may be.

動きベクトル算出部164は、マッチング処理部163のマッチング処理結果からターゲットブロックに対する参照ブロックの動きベクトルを検出する。この実施形態では、動きベクトル算出部164は、SAD値の最小値を検出保持すると共に、この最小SAD値を呈する参照ベクトルの近傍の複数個の参照ベクトルのSAD値をも保持して、例えば二次曲線近似補間処理を行って、サブピクセル精度の高精度動きベクトルを検出する機能も備える。   The motion vector calculation unit 164 detects the motion vector of the reference block with respect to the target block from the matching processing result of the matching processing unit 163. In this embodiment, the motion vector calculation unit 164 detects and holds the minimum value of the SAD value and also holds the SAD values of a plurality of reference vectors in the vicinity of the reference vector exhibiting the minimum SAD value. A function of detecting a high-precision motion vector with sub-pixel accuracy by performing a quadratic approximate interpolation process is also provided.

コントロール部165は、CPU1による制御を受けながら、この動き検出・動き補償部16における階層化ブロックマッチング処理の処理動作を制御するようにする。   The control unit 165 controls the processing operation of the hierarchical block matching process in the motion detection / compensation unit 16 while being controlled by the CPU 1.

<ターゲットブロックバッファ161の構成例>
ターゲットブロックバッファ161の構成例のブロック図を、図14に示す。この図14に示すように、ターゲットブロックバッファ161は、基底面バッファ部1611と、縮小面バッファ部1612と、縮小化処理部1613と、セレクタ1614,1615および1616とを備えている。セレクタ1614,1615および1616は、図14では、図示は省略したが、コントロール部165からの選択制御信号によりそれぞれ選択制御される。
<Configuration Example of Target Block Buffer 161>
A block diagram of a configuration example of the target block buffer 161 is shown in FIG. As shown in FIG. 14, the target block buffer 161 includes a base plane buffer unit 1611, a reduction plane buffer unit 1612, a reduction processing unit 1613, and selectors 1614, 1615 and 1616. The selectors 1614, 1615, and 1616 are selected and controlled by a selection control signal from the control unit 165, although not shown in FIG. 14.

基底面バッファ部1611は、基底面ターゲットブロックを一時格納するためのものである。この基底面バッファ部1611は、基底面ターゲットブロックを、画像重ね合わせ部17に送ると共に、セレクタ1616に供給する。   The basal plane buffer unit 1611 is for temporarily storing the basal plane target block. The basal plane buffer unit 1611 sends the basal plane target block to the image superimposing unit 17 and supplies it to the selector 1616.

縮小面バッファ部1612は、縮小面ターゲットブロックを一時格納するためのものである。縮小面バッファ部1612は、縮小面ターゲットブロックを、セレクタ1616に供給する。   The reduction plane buffer unit 1612 is for temporarily storing reduction plane target blocks. The reduction plane buffer unit 1612 supplies the reduction plane target block to the selector 1616.

縮小化処理部1613は、動画撮影時には上述したように、ターゲットブロックは、画像補正・解像度変換部15から送られてくるので、この縮小化処理部1613で縮小面ターゲットブロックを生成するために設けられている。縮小化処理部1613からの縮小面ターゲットブロックは、セレクタ1615に供給される。   As described above, since the target block is sent from the image correction / resolution conversion unit 15 at the time of moving image shooting, the reduction processing unit 1613 is provided for generating a reduction plane target block by the reduction processing unit 1613. It has been. The reduced surface target block from the reduction processing unit 1613 is supplied to the selector 1615.

セレクタ1614は、動画撮影時には画像補正・解像度変換部15からのターゲットブロック(基底面ターゲットブロック)を、静止画撮影時には画像メモリ部4からの基底面ターゲットブロックまたは縮小面ターゲットブロックを、コントロール部165からの選択制御信号により選択して出力し、その出力を基底面バッファ部1611と、縮小化処理部1613と、セレクタ1615とに供給する。   The selector 1614 selects a target block (basal plane target block) from the image correction / resolution conversion unit 15 when shooting a moving image, and a base block target block or a reduced plane target block from the image memory unit 4 when shooting a still image. Is selected and output in accordance with a selection control signal from, and the output is supplied to a base plane buffer unit 1611, a reduction processing unit 1613, and a selector 1615.

セレクタ1615は、動画撮影時には縮小化処理部15からの縮小面ターゲットブロックを、静止画撮影時には画像メモリ部4からの縮小面ターゲットブロックを、コントロール部165からの選択制御信号により選択して出力し、その出力を縮小面バッファ部1612に供給する。   The selector 1615 selects and outputs the reduction plane target block from the reduction processing unit 15 during moving image shooting, and the reduction plane target block from the image memory unit 4 during still image shooting using a selection control signal from the control unit 165. The output is supplied to the reduction plane buffer unit 1612.

セレクタ1616は、コントロール部1615からの選択制御信号に応じて、縮小面でのブロックマッチング時には、縮小面バッファ部1612からの縮小面ターゲットブロックを、基底面でのブロックマッチング時には、基底面バッファ部1611からの基底面ターゲットブロックを、それぞれ選択出力し、出力した縮小面ターゲットブロックまたは基底面ターゲットブロックをマッチング処理部163に送る。   In accordance with a selection control signal from the control unit 1615, the selector 1616 selects the reduced surface target block from the reduced surface buffer unit 1612 at the time of block matching on the reduced surface, and the base surface buffer unit 1611 at the time of block matching at the base surface. The base plane target blocks from are respectively selected and output, and the output reduced plane target block or base plane target block is sent to the matching processing unit 163.

<参照ブロックバッファ162の構成例>
参照ブロックバッファ162の構成例のブロック図を、図15に示す。この図15に示すように、参照ブロックバッファ162は、基底面バッファ部1621と、縮小面バッファ部1622と、セレクタ1623とを備えている。セレクタ1623は、図15では、図示は省略したが、コントロール部165からの選択制御信号により選択制御される。
<Configuration Example of Reference Block Buffer 162>
A block diagram of a configuration example of the reference block buffer 162 is shown in FIG. As shown in FIG. 15, the reference block buffer 162 includes a base surface buffer unit 1621, a reduced surface buffer unit 1622, and a selector 1623. Although not shown in FIG. 15, the selector 1623 is selected and controlled by a selection control signal from the control unit 165.

基底面バッファ部1621は、画像メモリ部4からの基底面参照ブロックを一時格納し、その基底面参照ブロックを、セレクタ1623に供給すると共に、画像重ね合わせ部17に、動き補償ブロックとして送る。   The basal plane buffer unit 1621 temporarily stores the basal plane reference block from the image memory unit 4, supplies the basal plane reference block to the selector 1623 and sends it to the image overlay unit 17 as a motion compensation block.

縮小面バッファ部1622は、画像メモリ部4からの縮小面参照ブロックを一時格納するためのものである。縮小面バッファ部1622は、縮小面参照ブロックを、セレクタ1623に供給する。   The reduction plane buffer unit 1622 is for temporarily storing the reduction plane reference block from the image memory unit 4. The reduction plane buffer unit 1622 supplies the reduction plane reference block to the selector 1623.

セレクタ1623は、コントロール部1615からの選択制御信号に応じて、縮小面でのブロックマッチング時には、縮小面バッファ部1612からの縮小面参照ブロックを、基底面でのブロックマッチング時には、基底面バッファ部1611からの基底面参照ブロックを、それぞれ選択出力し、出力した縮小面参照ブロックまたは基底面参照ブロックをマッチング処理部163に送る。   In accordance with a selection control signal from the control unit 1615, the selector 1623 selects a reduced surface reference block from the reduced surface buffer unit 1612 when performing block matching on the reduced surface, and a base surface buffer unit 1611 when performing block matching on the base surface. The base plane reference blocks from are selected and output, and the output reduced plane reference block or base plane reference block is sent to the matching processing unit 163.

<画像重ね合わせ部17の構成例>
画像重ね合わせ部17の構成例のブロック図を、図16に示す。この図16に示すように、画像重ね合わせ部17は、加算率計算部171と、加算部172と、基底面出力バッファ部173と、縮小面生成部174と、縮小面出力バッファ部175とを備えて構成されている。
<Configuration Example of Image Superimposing Unit 17>
A block diagram of a configuration example of the image superimposing unit 17 is shown in FIG. As shown in FIG. 16, the image superposition unit 17 includes an addition rate calculation unit 171, an addition unit 172, a basal plane output buffer unit 173, a reduction plane generation unit 174, and a reduction plane output buffer unit 175. It is prepared for.

そして、画像重ね合わせ部17と、画像メモリ部4とは、システムバス2を通じて接続されている。すなわち、この例では、システムバス2と基底面出力バッファ部173および縮小面出力バッファ部162との間には、それぞれバス・インターフェース部23およびバス・インターフェース部24が接続されている。   The image superposition unit 17 and the image memory unit 4 are connected through the system bus 2. That is, in this example, the bus interface unit 23 and the bus interface unit 24 are connected between the system bus 2 and the base plane output buffer unit 173 and the reduced plane output buffer unit 162, respectively.

加算率計算部171は、動き検出・動き補償部16からのターゲットブロックおよび動き補償ブロックを受けて、両者の加算率を、採用する加算方式が単純加算方式であるか、または平均加算方式であるかに応じて定め、定めた加算率を、ターゲットブロックおよび動き補償ブロックと共に加算部172に供給する。   The addition rate calculation unit 171 receives the target block and the motion compensation block from the motion detection / motion compensation unit 16 and adopts the addition rate of both the simple addition method or the average addition method. The determined addition rate is supplied to the adding unit 172 together with the target block and the motion compensation block.

加算部172での加算結果の基底面NR画像は、基底面出力バッファ部173およびバス・インターフェース23を通じて画像メモリ部4に書き込まれる。また、加算部172での加算結果の基底面NR画像は、縮小面生成部174にて縮小面NR画像に変換され、当該縮小面生成部174からの縮小面NR画像が、縮小面出力バッファ部175およびバス・インターフェース24を通じて画像メモリ部4に書き込まれる。   The basal plane NR image as a result of the addition by the adding unit 172 is written into the image memory unit 4 through the basal plane output buffer unit 173 and the bus interface 23. Further, the base surface NR image as a result of addition by the adding unit 172 is converted into a reduced surface NR image by the reduced surface generation unit 174, and the reduced surface NR image from the reduced surface generation unit 174 is converted into a reduced surface output buffer unit. 175 and the bus interface 24 to be written in the image memory unit 4.

[撮像画像のノイズ低減処理の概要の流れ]
<静止画撮影時>
上述の構成の実施の形態の撮像装置において、静止画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートを、図17および図18に示す。この図17および図18のフローチャートの各ステップは、CPU1およびこのCPU1により制御される動き検出・動き補償部16のコントロール部165の制御の下に実行されると共に、画像重ね合わせ部17により実行されるものである。
[Overview of noise reduction processing for captured images]
<When shooting still images>
FIG. 17 and FIG. 18 are flowcharts of noise reduction processing by image superposition at the time of still image shooting in the image pickup apparatus having the above-described configuration. Each step in the flowcharts of FIGS. 17 and 18 is executed under the control of the CPU 1 and the control unit 165 of the motion detection / compensation unit 16 controlled by the CPU 1, and is also executed by the image superposition unit 17. Is.

まず、シャッターボタンが押下されると、この例の撮像装置においては、CPU1による制御によって、高速で複数枚の画像の高速撮影が行われる。この例では、静止画撮影時に重ね合わすべきM枚(Mフレーム;Mは2以上の整数)の撮像画像データを高速で取り込み、画像メモリ部4に貼っておく(ステップS1)。   First, when the shutter button is pressed, in the imaging apparatus of this example, high-speed shooting of a plurality of images is performed at high speed under the control of the CPU 1. In this example, M (M frames; M is an integer of 2 or more) captured image data to be superimposed at the time of still image shooting is captured at high speed and pasted in the image memory unit 4 (step S1).

次に、参照フレームは、画像メモリ部4に蓄積されているM枚の画像フレームのうちの時間的にN番目(Nは2以上の整数で、最大値はM)とするのであるが、コントロール部165は、その何番目とする値Nの初期値を、N=2とする(ステップS2)。そして、次に、コントロール部165は、1枚目の画像フレームをターゲット画像(ターゲットフレーム)に設定し、N=2枚目の画像を参照画像(参照フレーム)に設定する(ステップS3)。   Next, the reference frame is Nth in time among the M image frames stored in the image memory unit 4 (N is an integer of 2 or more, and the maximum value is M). The unit 165 sets the initial value of the value N, which is the order, to N = 2 (step S2). Next, the control unit 165 sets the first image frame as a target image (target frame), and sets the N = 2nd image as a reference image (reference frame) (step S3).

次に、コントロール部165は、ターゲットフレームにターゲットブロックを設定し(ステップS4)、動き検出・動き補償部16において、画像メモリ部4から、ターゲットブロックバッファ部161へターゲットブロックを読み込み(ステップS5)、また、画像メモリ部4から、参照ブロックバッファ部162へマッチング処理範囲の画素データを読み込む(ステップS6)。   Next, the control unit 165 sets a target block in the target frame (step S4), and the motion detection / motion compensation unit 16 reads the target block from the image memory unit 4 into the target block buffer unit 161 (step S5). Further, the pixel data in the matching processing range is read from the image memory unit 4 to the reference block buffer unit 162 (step S6).

次に、コントロール部165は、参照ブロックバッファ部162から、サーチ範囲内において参照ブロックを読み出し、マッチング処理部163で、この実施形態における階層化マッチング処理を行う。なお、この例では、後述するように、マッチング処理部163で算出されたSAD値のうちの後述するSAD値は、SAD値の最小値およびその近傍のSAD値を保持して二次曲線近似補間処理を行うために、動きベクトル算出部164へ送られる。以上の処理をサーチ範囲内のすべての参照ベクトルで繰り返した後、二次曲線近似補間処理部で、前述した補間処理を行い、高精度の基底面動きベクトルを出力する(ステップS7)。   Next, the control unit 165 reads the reference block within the search range from the reference block buffer unit 162, and the matching processing unit 163 performs the hierarchical matching process in this embodiment. In this example, as will be described later, of the SAD values calculated by the matching processing unit 163, a SAD value described later holds a minimum value of the SAD value and a SAD value in the vicinity thereof, and approximates quadratic curve approximation. In order to perform processing, it is sent to the motion vector calculation unit 164. After the above processing is repeated for all the reference vectors in the search range, the quadratic curve approximation interpolation processing unit performs the above-described interpolation processing and outputs a highly accurate basal plane motion vector (step S7).

次に、コントロール部165は、以上のようにして検出された高精度の基底面動きベクトルにしたがって、参照ブロックバッファ部162から、検出した動きベクトル分の動きを補償した動き補償ブロックを読み出し(ステップS8)、ターゲットブロックと同期して、後段の画像重ね合わせ部17へ送る(ステップS9)。   Next, the control unit 165 reads out a motion compensation block that compensates for the motion corresponding to the detected motion vector from the reference block buffer unit 162 according to the high-accuracy basal plane motion vector detected as described above (step). S8) In synchronization with the target block, the image is sent to the subsequent image superimposing unit 17 (step S9).

次に、CPU1の制御に従って、画像重ね合わせ部17は、ターゲットブロックと動き補償ブロックの重ね合わせを行い、重ね合わせたブロックのNR画像データを画像メモリ部4に貼る。すなわち、画像重ね合わせ部17は、重ね合わせたブロックのNR画像データを画像メモリ部4に書き込む(ステップS10)。   Next, under the control of the CPU 1, the image superimposing unit 17 superimposes the target block and the motion compensation block, and pastes the NR image data of the superimposed block on the image memory unit 4. That is, the image superimposing unit 17 writes the NR image data of the superimposed block in the image memory unit 4 (step S10).

次に、コントロール部165は、ターゲットフレーム内のすべてのターゲットブロックについてのブロックマッチングを終了したか否か判別し(ステップS11)、すべてのターゲットブロックについては未だブロックマッチングの処理が終了していないと判別したときには、ステップS4に戻って、ターゲットフレーム内の次のターゲットブロックを設定して、ステップS4〜ステップS11までの処理を繰り返す。   Next, the control unit 165 determines whether or not block matching has been completed for all target blocks in the target frame (step S11), and block matching processing has not been completed for all target blocks. When it is determined, the process returns to step S4, the next target block in the target frame is set, and the processes from step S4 to step S11 are repeated.

また、コントロール部165は、ステップS11で、ターゲットフレーム内のすべてのターゲットブロックについてのブロックマッチングを終了したと判別したときには、重ね合わすべきすべての参照フレームについての処理が終了したか否か、つまり、M=Nであるか否か判別する(ステップS12)。   Further, when the control unit 165 determines in step S11 that the block matching for all the target blocks in the target frame has been completed, it is determined whether or not the processing for all the reference frames to be overlapped is completed, that is, It is determined whether or not M = N (step S12).

ステップS12で、M=Nではないと判別したときには、N=N+1とし(ステップS13)、次に、ステップS10での重ね合わせにより生成されたNR画像をターゲット画像(ターゲットフレーム)とし、また、N=N+1枚目の画像を参照画像(参照フレーム)とする(ステップS14)。その後、ステップS4に戻って、このステップS4以降の処理を繰り返す。つまり、Mが3以上の場合は、全てのターゲットブロックにおいて重ね合わせを行った画像を次のターゲット画像とし、3枚目以降の画像を参照フレームとして、上記の処理を繰り返して行く。これをM枚目の重ね合わせが終わるまで繰り返す。そして、ステップS12で、M=Nであると判別したときには、この処理ルーチンを終了する。   If it is determined in step S12 that M = N is not satisfied, N = N + 1 is set (step S13). Next, the NR image generated by the superposition in step S10 is set as a target image (target frame). = N + 1-th image is set as a reference image (reference frame) (step S14). Then, it returns to step S4 and repeats the process after this step S4. In other words, when M is 3 or more, the above processing is repeated with the image that has been superimposed in all target blocks as the next target image and the third and subsequent images as reference frames. This is repeated until the Mth overlap is completed. If it is determined in step S12 that M = N, this processing routine is terminated.

なお、M枚の撮影画像が重ね合わされた結果のNR画像の画像データは、静止画コーデック部18により圧縮符号化エンコードされて、記録再生装置部5に供給されて、その記録媒体に記録されるものである。   The image data of the NR image as a result of superimposing the M photographed images is compression-encoded by the still image codec unit 18, supplied to the recording / reproducing device unit 5, and recorded on the recording medium. Is.

なお、以上の静止画のノイズ低減処理方法は、M枚の画像データを画像メモリ部4に貼っておく手法であるが、1枚撮影するたびに重ね合わせを行っても良い。その場合には、画像メモリ部4に記憶する画像フレームは、1枚でよいので、図17および図18の処理ルーチンのノイズ低減処理方法に比べて、撮影間隔は長くなるが、メモリコストを最小にすることが可能である。   The above-described still image noise reduction processing method is a method of pasting M pieces of image data on the image memory unit 4, but the image may be superimposed each time one image is taken. In that case, since only one image frame is stored in the image memory unit 4, the shooting interval is longer than that in the noise reduction processing method of the processing routines of FIGS. 17 and 18, but the memory cost is minimized. It is possible to

<動画撮影時>
次に、この実施の形態の撮像装置において、動画撮影時における画像の重ね合わせによるノイズ低減処理のフローチャートを、図19に示す。この図19のフローチャートの各ステップも、CPU1およびこのCPU1により制御される動き検出・動き補償部16のコントロール部165の制御の下に実行されるものである。動画記録ボタンがユーザにより操作されると、CPU1は、図19の処理をスタートから開始するように指示する。
<When shooting movies>
Next, FIG. 19 shows a flowchart of the noise reduction processing by image superposition at the time of moving image shooting in the image pickup apparatus of this embodiment. Each step in the flowchart of FIG. 19 is also executed under the control of the CPU 1 and the control unit 165 of the motion detection / compensation unit 16 controlled by the CPU 1. When the moving image recording button is operated by the user, the CPU 1 instructs the process of FIG. 19 to start from the start.

この実施の形態では、動き検出・動き補償部16は、ターゲットブロック単位でマッチング処理をするのに適した構成とされている。そこで、画像補正・解像度変換部15は、CPU1の制御に従って、フレーム画像を保持し、ターゲットブロック単位で、動き検出・動き補償部16へ画像データを送る(ステップS21)。   In this embodiment, the motion detection / compensation unit 16 has a configuration suitable for performing matching processing in units of target blocks. Therefore, the image correction / resolution conversion unit 15 holds the frame image according to the control of the CPU 1 and sends the image data to the motion detection / motion compensation unit 16 in units of target blocks (step S21).

動き検出・動き補償部16に送られたターゲットブロックの画像データは、ターゲットブロックバッファ部161に格納される。次に、コントロール部165は、ターゲットブロックに対応した参照ベクトルを設定し(ステップS22)、画像メモリ部4から、マッチング処理範囲の画像データを参照ブロックバッファ部162へ読み込む(ステップS23)。   The target block image data sent to the motion detection / motion compensation unit 16 is stored in the target block buffer unit 161. Next, the control unit 165 sets a reference vector corresponding to the target block (step S22), and reads image data in the matching processing range from the image memory unit 4 into the reference block buffer unit 162 (step S23).

次に、マッチング処理部163および動きベクトル算出部164は、この実施形態における階層化ブロックマッチングによる動き検出処理を行う(ステップS24)。すなわち、マッチング処理部163は、先ず、縮小面において、縮小面ターゲットブロックの画素値と縮小面参照ブロックの画素値との間のSAD値を算出し、算出したSAD値を動きベクトル算出部164へ送る。マッチング処理部163は、この処理をサーチ範囲内のすべての縮小面参照ブロックで繰り返す。サーチ範囲内のすべての縮小面参照ブロックについてのSAD値の算出が終了した後、動きベクトル算出部164は、最小のSAD値を特定して、縮小面動きベクトルを検出する。   Next, the matching processing unit 163 and the motion vector calculation unit 164 perform motion detection processing by hierarchical block matching in this embodiment (step S24). That is, the matching processing unit 163 first calculates the SAD value between the pixel value of the reduction plane target block and the pixel value of the reduction plane reference block on the reduction plane, and sends the calculated SAD value to the motion vector calculation section 164. send. The matching processing unit 163 repeats this process for all reduced surface reference blocks in the search range. After the calculation of the SAD values for all the reduced surface reference blocks in the search range is completed, the motion vector calculation unit 164 identifies the minimum SAD value and detects the reduced surface motion vector.

コントロール部165は、動きベクトル算出部164で検出された縮小面動きベクトルを縮小率の逆数倍して、基底面上における動きベクトルに変換し、その変換したベクトルが、基底面において指し示す位置を中心した領域を、基底面におけるサーチ範囲とする。そして、コントロール部165は、マッチング処理部163に、当該サーチ範囲において、基底面におけるブロックマッチング処理を行わせるように制御する。マッチング処理部163は、基底面ターゲットブロックの画素値と基底面参照ブロックの画素値との間のSAD値を算出し、算出したSAD値を動きベクトル算出部164へ送る。   The control unit 165 multiplies the reduced plane motion vector detected by the motion vector calculation unit 164 by a reciprocal of the reduction ratio to convert it into a motion vector on the basal plane, and the converted vector indicates a position indicated on the basal plane. The center area is set as a search range on the basal plane. Then, the control unit 165 controls the matching processing unit 163 to perform block matching processing on the basal plane in the search range. The matching processing unit 163 calculates an SAD value between the pixel value of the base surface target block and the pixel value of the base surface reference block, and sends the calculated SAD value to the motion vector calculation unit 164.

サーチ範囲内のすべての縮小面参照ブロックについてのSAD値の算出が終了した後、動きベクトル算出部164は、最小のSAD値を特定して、縮小面動きベクトルを検出すると共に、その近傍のSAD値を特定し、それらのSAD値を用いて、前述した二次曲線近似補間処理を行い、サブピクセル精度の高精度の動きベクトルを出力する。   After the calculation of the SAD values for all the reduced surface reference blocks in the search range is finished, the motion vector calculation unit 164 identifies the minimum SAD value, detects the reduced surface motion vector, and also detects the SAD in the vicinity thereof. A value is specified, and the quadratic curve approximation interpolation process described above is performed using those SAD values, and a high-precision motion vector with sub-pixel accuracy is output.

次に、コントロール部165は、ステップS24で算出された高精度の動きベクトルにしたがって、参照ブロックバッファ部162から動き補償ブロックの画像データを読み出し(ステップS25)、ターゲットブロックと同期して、後段の画像重ね合わせ部17へ送る(ステップS26)。   Next, the control unit 165 reads out the image data of the motion compensation block from the reference block buffer unit 162 in accordance with the high-precision motion vector calculated in step S24 (step S25), and synchronizes with the target block. The image is sent to the image superimposing unit 17 (step S26).

画像重ね合わせ部17においては、ターゲットブロックと動き補償ブロックの重ね合わせを行い、その重ね合わせた結果のNR画像の画像データを、画像メモリ部4に書き込む(ステップS27)。そして、画像重ね合わせ部17は、NR画像の画像データを、次のターゲットフレームに対する参照フレームとして、また、NTSCエンコーダ20を通じてモニターディスプレイ6に出力する動画記録モニターとして、さらに、動画コーデック部19を通じて記録再生装置部6に記録する記録用として、画像メモリ部4に格納する(ステップS28)。   The image superimposing unit 17 superimposes the target block and the motion compensation block, and writes the image data of the NR image as a result of the superimposition to the image memory unit 4 (step S27). Then, the image superimposing unit 17 records the image data of the NR image as a reference frame for the next target frame, as a moving image recording monitor to be output to the monitor display 6 through the NTSC encoder 20, and through the moving image codec unit 19. The data is stored in the image memory unit 4 for recording to be recorded in the playback device unit 6 (step S28).

そして、CPU1は、動画記録停止操作がユーザによりなされたか否か判別し(ステップS29)、当該動画記録停止操作がユーザによりなされていないと判別したときには、ステップS21に戻って、このステップS21以降の処理を繰り返すように指示する。また、ステップS29で、動画記録停止操作がユーザによりなされたと判別したときには、CPU1は、この処理ルーチンを終了するようにする。   Then, the CPU 1 determines whether or not the moving image recording stop operation has been performed by the user (step S29). When it is determined that the moving image recording stop operation has not been performed by the user, the CPU 1 returns to step S21, and after this step S21. Instruct to repeat the process. If it is determined in step S29 that the moving image recording stop operation has been performed by the user, the CPU 1 ends this processing routine.

以上の動画のノイズ低減処理の処理ルーチンにおいては、1フレーム前の画像フレームを参照フレームとするようにしたが、1フレームよりもさらに過去のフレームの画像を参照フレームとして用いるようにしても良い。また、1フレーム前と2フレーム前の画像を、画像メモリ部4に格納しておき、それらの2枚の画像情報の内容から、どちらの画像フレームを参照フレームにするかを選択しても良い。   In the above-described processing routine for noise reduction processing of a moving image, an image frame one frame before is used as a reference frame. However, an image of a frame earlier than one frame may be used as a reference frame. In addition, the image before the first frame and the image before the second frame may be stored in the image memory unit 4, and the image frame to be used as the reference frame may be selected from the contents of the two pieces of image information. .

上記のような手段、手順、システム構成を用いることで、一つの共通したブロックマッチング処理のハードウエアで、静止画ノイズ低減処理および動画ノイズ低減処理を行うことが可能になる。   By using the means, procedure, and system configuration as described above, it is possible to perform still image noise reduction processing and moving image noise reduction processing with one common block matching processing hardware.

[動きベクトル算出部164について]
次に、動きベクトル算出部164の構成例およびその動作について説明する。
[About the motion vector calculation unit 164]
Next, a configuration example and operation of the motion vector calculation unit 164 will be described.

従来から知られている動きベクトル算出部の例においては、サーチ範囲において算出したSAD値を全て記憶するSADテーブルTBLを生成し、そのSADテーブルTBLから最小SAD値を検出し、当該最小SAD値を呈する参照ブロックの位置に対応する参照ベクトルを動きベクトルとして算出する。そして、二次曲線近似補間をする場合には、生成したSADテーブルTBLから、前記最小SAD値の近傍の複数個、この例では、4個のSAD値を抽出し、これらのSAD値を用いて補間処理をする。したがって、この方法は、SADテーブルTBLの分だけ、大規模なメモリを必要とする。   In an example of a conventionally known motion vector calculation unit, an SAD table TBL that stores all SAD values calculated in a search range is generated, a minimum SAD value is detected from the SAD table TBL, and the minimum SAD value is calculated. A reference vector corresponding to the position of the reference block to be presented is calculated as a motion vector. When quadratic curve approximate interpolation is performed, a plurality of SAD values in the vicinity of the minimum SAD value, in this example, four SAD values are extracted from the generated SAD table TBL, and these SAD values are used. Interpolate. Therefore, this method requires a large-scale memory corresponding to the SAD table TBL.

以下に説明する例は、サーチ範囲で算出したSAD値を全て記憶するSADテーブルTBLを生成しないことにより、より回路規模を削減することができるとともに、処理時間も削減することができるようにするものである。   In the example described below, by not generating the SAD table TBL that stores all the SAD values calculated in the search range, the circuit scale can be further reduced and the processing time can also be reduced. It is.

<実施形態の動きベクトル算出部164の第1の例>
上述したように、ブロックマッチング処理は、参照ベクトルの示す位置を参照ブロックの位置とし、各参照ブロックの各画素とターゲットブロックの各画素のSAD値を計算し、その計算処理を、サーチ範囲内のすべての参照ベクトルの示す位置の参照ブロックについて行う。
<First Example of Motion Vector Calculation Unit 164 of Embodiment>
As described above, the block matching process uses the position indicated by the reference vector as the position of the reference block, calculates the SAD value of each pixel of each reference block and each pixel of the target block, and performs the calculation process within the search range. This is performed for reference blocks at positions indicated by all reference vectors.

ここで、サーチ範囲内において参照ブロックの位置を変えて、動き補償ブロックをサーチする場合に、サーチを画面(フレーム)の端から順番に行う、画面(フレーム)の中心から外側に向かって行う、などいろいろな方法が考えられるが、この実施の形態では、サーチ方向は、図20(A)で矢印120に示すように設定され、サーチ範囲の左上端から水平方向にサーチを開始し、1ライン分のサーチが終わった後、垂直方向に1ライン下のラインを、左端から水平方向にサーチする、という手順を繰り返すサーチ方法を採用する。   Here, when searching for a motion compensation block by changing the position of the reference block within the search range, the search is performed in order from the end of the screen (frame), and from the center of the screen (frame) to the outside. In this embodiment, the search direction is set as indicated by an arrow 120 in FIG. 20A, and the search is started in the horizontal direction from the upper left end of the search range. After the minute search is completed, a search method is adopted in which a procedure is repeated in which a line one line below in the vertical direction is searched in the horizontal direction from the left end.

すなわち、図20(B)に示すように、サーチ範囲106において、当該サーチ範囲106の左上から水平方向に参照ブロック108を順次に設定してサーチして、各参照ブロック108についてのSAD値の計算を行う。すると、図20(C)に示すように、対応するSADテーブルも左上から水平方向に埋まっていく。このとき、実際にマッチング処理に使用される画素データの範囲は、参照ブロック108の大きさに応じたマッチング処理範囲110となるのは、前述した通りである。   That is, as shown in FIG. 20B, in the search range 106, the reference block 108 is sequentially set and searched in the horizontal direction from the upper left of the search range 106, and the SAD value for each reference block 108 is calculated. I do. Then, as shown in FIG. 20C, the corresponding SAD table is also buried in the horizontal direction from the upper left. At this time, the range of pixel data actually used for the matching process becomes the matching process range 110 corresponding to the size of the reference block 108 as described above.

図10および図11に示したように、この例のサブピクセル精度の二次曲線近似補間処理を行うためには、SAD値の最小値Smin、およびその近傍のSAD値Sx1、Sx2、Sy1、Sy2が求まれば良い。   As shown in FIGS. 10 and 11, in order to perform the sub-pixel accuracy quadratic curve approximate interpolation processing of this example, the minimum value Smin of the SAD value and SAD values Sx1, Sx2, Sy1, Sy2 in the vicinity thereof are used. Find what you want.

各参照ブロックについてのSAD値を算出した際に、その算出したSAD値と、その時点までのSAD値の最小値とを比較して、算出したSAD値がその時までのSAD値の最小値よりも小さければ、算出したSAD値を最小値として保持すると共に、そのSAD値とそのときの参照ベクトルを保持することにより、SAD値の最小値および当該最小値を取る参照ブロックの位置情報(参照ベクトルの情報)とを、SADテーブルを生成することなく、求めることができる。   When the SAD value for each reference block is calculated, the calculated SAD value is compared with the minimum value of the SAD value up to that point, and the calculated SAD value is greater than the minimum value of the SAD value up to that point. If it is smaller, the calculated SAD value is held as the minimum value, and the SAD value and the reference vector at that time are held, so that the minimum value of the SAD value and the position information of the reference block that takes the minimum value (reference vector Information) can be obtained without generating the SAD table.

そして、検出したSAD値の最小値を保持すると共に、その最小SAD値となる参照ブロック位置の近傍の参照ブロックのSAD値を、近傍SAD値として保持するようにすれば、近傍SAD値をも、SADテーブルを生成することなく、保持することができる。   Then, if the minimum value of the detected SAD value is held and the SAD value of the reference block near the reference block position that becomes the minimum SAD value is held as the neighboring SAD value, the neighboring SAD value is also obtained. The SAD table can be held without being generated.

このとき、この例では、図21(A)に示すように、上述の図20(A)に示したようなサーチ方法を採用しているので、従来のSADテーブルTBLにおいて水平方向の1ライン分のSAD値を記憶する容量のメモリ(以下、ラインメモリという)を設ければ、新たに参照ブロックのSAD値が算出されたときには、SADテーブルTBL上では、図21(B)で斜線を付して示すように、当該新たに算出されたSAD値121に対して、それより前に算出されたSADテーブルTBLの1ライン分の複数個の参照ブロックのSAD値が、格納データ122として前記ラインメモリに格納されていることになる。   At this time, in this example, as shown in FIG. 21 (A), the search method as shown in FIG. 20 (A) described above is adopted, so that one line in the horizontal direction in the conventional SAD table TBL is used. If a memory having a capacity for storing the SAD value (hereinafter referred to as a line memory) is provided, when the SAD value of the reference block is newly calculated, the SAD table TBL is hatched in FIG. As shown, the SAD values of a plurality of reference blocks for one line of the SAD table TBL calculated before the newly calculated SAD value 121 are stored as the storage data 122 in the line memory. Will be stored.

そこで、新たに算出された参照ブロックのSAD値が、最小のSAD値として検出されたときには、SADテーブルTBL上において、前記最小SAD値121を呈する参照ブロックの位置の1ライン上の位置の参照ブロックのSAD値123(近傍SAD値(Sy1))と、前記最小SAD値121を呈する参照ブロックの位置の左横の位置の参照ブロックのSAD値124(近傍SAD値(Sx1))は、前記ラインメモリから取得することができる。   Therefore, when the newly calculated SAD value of the reference block is detected as the minimum SAD value, the reference block at a position on one line of the position of the reference block exhibiting the minimum SAD value 121 on the SAD table TBL. SAD value 123 (neighboring SAD value (Sy1)) and the SAD value 124 (neighboring SAD value (Sx1)) of the reference block on the left side of the position of the reference block exhibiting the minimum SAD value 121 are the line memory. Can be obtained from.

そして、SADテーブルTBL上において、最小SAD値の参照ブロックの位置の右横の位置の参照ブロックのSAD値である近傍SAD値(Sx2)(図21(C)の符号125参照)は、後で、その参照ブロック位置で算出されたSAD値を保持すればよい。同様に、SADテーブルTBL上において、新たに算出された最小SAD値の参照ブロックの位置の1ライン下の位置の参照ブロックのSAD値である近傍SAD値(Sy2)(図21(C)の符号126参照)も、後で、その参照ブロック位置で算出されたSAD値を保持すればよい。   Then, on the SAD table TBL, the neighborhood SAD value (Sx2) (see reference numeral 125 in FIG. 21C) that is the SAD value of the reference block at the position to the right of the reference block position of the minimum SAD value is The SAD value calculated at the reference block position may be held. Similarly, on the SAD table TBL, the neighborhood SAD value (Sy2) that is the SAD value of the reference block at a position one line below the position of the reference block of the newly calculated minimum SAD value (sign of FIG. 21C) 126), the SAD value calculated at the reference block position may be held later.

以上のことを考慮して、この動きベクトル算出部164の第1の例は、図22に示すようなハードウエア構成とする。   Considering the above, the first example of the motion vector calculation unit 164 has a hardware configuration as shown in FIG.

すなわち、この動きベクトル算出部164の第1の例においては、算出された全てのSAD値を保持するSADテーブルTBLは備えず、SAD値書き込み部1641と、SAD値比較部1642と、SAD値保持部1643と、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645と、二次曲線近似補間処理部1646と、SADテーブルTBLの1ライン分のメモリ(ラインメモリという)1647とを備えてなる。   In other words, the first example of the motion vector calculation unit 164 does not include the SAD table TBL that holds all the calculated SAD values, but the SAD value writing unit 1641, the SAD value comparison unit 1642, and the SAD value holding. Unit 1643, X direction (horizontal direction) neighborhood value extraction unit 1644, Y direction (vertical direction) neighborhood value extraction unit 1645, quadratic curve approximation interpolation processing unit 1646, and memory for one line of SAD table TBL (line 1647).

SAD値保持部1643は、最小SAD値Sminおよび近傍SAD値Sx1、Sx2、Sy1、Sy2の保持部(メモリ)を備える。そして、この第1の例においては、SAD値保持部1643は、その最小SAD値保持部からの最小SAD値SminをSAD値比較部1642に供給する共に、保持している近傍SAD値のうち、最小SAD値Sminの右側の近傍SAD値Sx2の参照ブロックの位置情報(参照ベクトル)と、最小SAD値Sminの下側の近傍SAD値Sy2の参照ブロックの位置情報(参照ベクトル)とを、SAD値書き込み部1641に供給する。   The SAD value holding unit 1643 includes a holding unit (memory) for the minimum SAD value Smin and the neighboring SAD values Sx1, Sx2, Sy1, and Sy2. In this first example, the SAD value holding unit 1643 supplies the minimum SAD value Smin from the minimum SAD value holding unit to the SAD value comparison unit 1642, and among the stored nearby SAD values, The position information (reference vector) of the reference block of the neighboring SAD value Sx2 on the right side of the minimum SAD value Smin and the position information (reference vector) of the reference block of the neighboring SAD value Sy2 on the lower side of the minimum SAD value Smin The data is supplied to the writing unit 1641.

SAD値比較部1642は、この第1の例においては、マッチング処理部163からの参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを受けると共に、SAD値保持部1643の最小SAD値保持部からの最小SAD値Sminとを受ける。   In this first example, the SAD value comparison unit 1642 receives the position information (reference vector) of the reference block from the matching processing unit 163 and the SAD value Sin of the reference block, and the SAD value holding unit 1643 The minimum SAD value Smin from the minimum SAD value holding unit is received.

そして、SAD値比較部1642は、マッチング処理部163からの当該時点で算出されたSAD値Sinと、SAD値保持部1643の最小SAD値保持部からの最小SAD値Sminとの両者を比較し、マッチング処理部163からの当該時点で算出されたSAD値Sinの方が小さいときには、当該時点で、そのSAD値を最小SAD値であるとして検出し、また、SAD値Sinの方が小さいときには、当該時点では、SAD値保持部1643の最小SAD値保持部からの最小SAD値Sminが未だ最小値であると検出する。そして、SAD値比較部1642は、その検出結果の情報DETをSAD値書き込み部1641およびSAD値保持部1643に供給する。   Then, the SAD value comparison unit 1642 compares both the SAD value Sin calculated at that time from the matching processing unit 163 and the minimum SAD value Smin from the minimum SAD value holding unit of the SAD value holding unit 1643, When the SAD value Sin calculated at the time from the matching processing unit 163 is smaller, the SAD value is detected as the minimum SAD value at the time, and when the SAD value Sin is smaller, At the time, it is detected that the minimum SAD value Smin from the minimum SAD value holding unit of the SAD value holding unit 1643 is still the minimum value. The SAD value comparison unit 1642 supplies the detection result information DET to the SAD value writing unit 1641 and the SAD value holding unit 1643.

SAD値書き込み部1641は、マッチング処理部163からの算出されたSAD値Sinおよびその位置情報(参照ベクトル)を一時保持するための1画素分のバッファメモリを備え、この第1の例においては、マッチング処理部163からの参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを、ラインメモリ1647に書き込む。この場合、ラインメモリ1647は、シフトレジスタと同様の動作を行い、空きスペースが無いときには、新規の位置情報およびSAD値が記憶されると、ラインメモリ1647において最も古い前記位置情報およびSAD値が廃棄される。   The SAD value writing unit 1641 includes a buffer memory for one pixel for temporarily storing the SAD value Sin calculated from the matching processing unit 163 and its position information (reference vector). In this first example, The reference block position information (reference vector) from the matching processing unit 163 and the SAD value Sin of the reference block are written in the line memory 1647. In this case, the line memory 1647 performs the same operation as that of the shift register, and when there is no empty space, when the new position information and SAD value are stored, the oldest position information and SAD value in the line memory 1647 are discarded. Is done.

また、SAD値書き込み部1641は、算出されたSAD値Sinおよびその位置情報をラインメモリ1647に書き込む前に、この第1の例においては、次のような処理を行う。   In addition, the SAD value writing unit 1641 performs the following processing in the first example before writing the calculated SAD value Sin and its position information into the line memory 1647.

すなわち、SAD値書き込み部1641は、SAD値比較部1642からの比較検出結果の情報DETが、SAD値Sinが最小値であることを示しているときには、マッチング処理部163からの参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを、SAD値保持部1643に送る。   That is, the SAD value writing unit 1641, when the comparison detection result information DET from the SAD value comparison unit 1642 indicates that the SAD value Sin is the minimum value, the position information of the reference block from the matching processing unit 163. (Reference vector) and the SAD value Sin of the reference block are sent to the SAD value holding unit 1643.

SAD値保持部1643は、SAD値比較部1642からの比較検出結果の情報DETにより、SAD値Sinが最小値であることを検知し、SAD値書き込み部1641から送られてくる参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを、最小SAD値保持部に格納する。   The SAD value holding unit 1643 detects that the SAD value Sin is the minimum value based on the comparison detection result information DET from the SAD value comparison unit 1642, and the position information of the reference block transmitted from the SAD value writing unit 1641. (Reference vector) and the SAD value Sin of the reference block are stored in the minimum SAD value holding unit.

また、SAD値書き込み部1641は、この第1の例においては、マッチング処理部163からの参照ブロックの位置情報(参照ベクトル)が、SAD値保持部1643から受け取った近傍SAD値Sx2またはSy2の位置情報と一致したときにも、マッチング処理部163からの参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを、SAD値保持部1643に送る。   In the first example, the SAD value writing unit 1641 uses the position information (reference vector) of the reference block from the matching processing unit 163 as the position of the neighboring SAD value Sx2 or Sy2 received from the SAD value holding unit 1643. Even when the information matches, the reference block position information (reference vector) from the matching processing unit 163 and the SAD value Sin of the reference block are sent to the SAD value holding unit 1643.

SAD値保持部1643は、受け取った参照ブロックの位置情報(参照ベクトル)から、いずれの近傍SAD値に関する情報かを認識して、対応する近傍SAD値保持部に格納する。   The SAD value holding unit 1643 recognizes which neighboring SAD value is information from the received reference block position information (reference vector), and stores it in the corresponding neighboring SAD value holding unit.

以上の処理をサーチ範囲における全ての参照ブロックについて終了すると、SAD値保持部1643には、前述したように、最小SAD値およびその位置情報ならびに4個の近傍SAD値およびその位置情報が保持される。   When the above processing is completed for all the reference blocks in the search range, the SAD value holding unit 1643 holds the minimum SAD value and its position information, and the four neighboring SAD values and its position information, as described above. .

そこで、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645が、SAD値保持部1643に保持された、前記検出した最小のSAD値Sminとその近傍SAD値Sx1、Sx2、Sy1、Sy2およびそれらの位置情報を読み出し、二次曲線近似補間処理部1646に送る。これを受けた二次曲線近似補間処理部1646は、二次曲線による補間を、X方向およびY方向の2回行い、前述したようにして、サブピクセル精度の高精度の動きベクトルを算出する。   Therefore, the X direction (horizontal direction) neighborhood value extraction unit 1644 and the Y direction (vertical direction) neighborhood value extraction unit 1645 store the detected minimum SAD value Smin and its neighboring SAD values held in the SAD value holding unit 1643. Sx1, Sx2, Sy1, Sy2 and their position information are read out and sent to the quadratic curve approximation interpolation processing unit 1646. Receiving this, the quadratic curve approximation interpolation processing unit 1646 performs interpolation by the quadratic curve twice in the X direction and the Y direction, and calculates a high-precision motion vector with sub-pixel accuracy as described above.

以上のようにして、第1の例においては、SADテーブルTBLの代わりに、SADテーブルTBLの1ライン分のラインメモリを用いることにより、サブピクセル精度の動きベクトルの検出ができる。   As described above, in the first example, by using a line memory for one line of the SAD table TBL instead of the SAD table TBL, it is possible to detect a motion vector with sub-pixel accuracy.

この第1の例における縮小面でのブロックマッチング処理時の流れの例を図23のフローチャートに、基底面でのブロックマッチング処理時の流れの例を図24および図25のフローチャートに、それぞれ示す。これらの第1の例のフローチャートの各ステップは、コントロール部165の制御の基に、マッチング処理部163および動きベクトル算出部164においてなされるものである。   An example of the flow at the time of block matching processing on the reduced surface in the first example is shown in the flowchart of FIG. 23, and an example of the flow at the time of block matching processing on the basal plane is shown in the flowcharts of FIGS. Each step of the flowchart of the first example is performed in the matching processing unit 163 and the motion vector calculation unit 164 under the control of the control unit 165.

先ず、縮小面におけるブロックマッチング処理時の流れの例である図23のフローチャートについて説明する。   First, the flowchart of FIG. 23 which is an example of the flow at the time of the block matching process in a reduction surface is demonstrated.

はじめに、動きベクトル算出部164のSAD値保持部1643の最小SAD値Sminの初期値を設定する(ステップS31)。この最小SAD値Sminの初期値としては、例えば、画素の差分の最大値が設定される。   First, an initial value of the minimum SAD value Smin of the SAD value holding unit 1643 of the motion vector calculation unit 164 is set (step S31). As the initial value of the minimum SAD value Smin, for example, the maximum value of the pixel difference is set.

次に、マッチング処理部163では、縮小面の参照ベクトル(Vx,Vy)を設定して、SAD値を計算する縮小面参照ブロック位置を設定し(ステップS32)、設定した縮小面参照ブロックの画素データを、参照ブロックバッファ部162から読み込む(ステップS33)と共に、ターゲットブロックバッファ部161から縮小面ターゲットブロックの画素データを読み込んで、縮小面ターゲットブロックおよび縮小面参照ブロックの各画素データの差分の絶対値の総和、つまり、SAD値を求め、求めたSAD値を動きベクトル算出部164に送出する(ステップS34)。   Next, the matching processing unit 163 sets a reduced plane reference vector (Vx, Vy), sets a reduced plane reference block position for calculating the SAD value (step S32), and sets the pixels of the set reduced plane reference block. The data is read from the reference block buffer unit 162 (step S33), and the pixel data of the reduction plane target block is read from the target block buffer unit 161, and the absolute difference between each pixel data of the reduction plane target block and the reduction plane reference block is read. The sum of the values, that is, the SAD value is obtained, and the obtained SAD value is sent to the motion vector calculation unit 164 (step S34).

動きベクトル算出部164では、SAD値書き込み部1641により、そのSAD値をラインメモリ1647に書き込む(ステップS35)。   In the motion vector calculation unit 164, the SAD value writing unit 1641 writes the SAD value into the line memory 1647 (step S35).

そして、動きベクトル算出部164では、SAD値比較部1642が、マッチング処理部163で算出されたSAD値Sinと、SAD値保持部1643に保持されている最小SAD値Sminとを比較して、算出されたSAD値Sinが、それまで保持されている最小SAD値Sminよりも小さいか否か判別する(ステップS36)。   In the motion vector calculation unit 164, the SAD value comparison unit 1642 compares the SAD value Sin calculated by the matching processing unit 163 with the minimum SAD value Smin held in the SAD value holding unit 1643 to calculate It is determined whether or not the SAD value Sin is smaller than the minimum SAD value Smin held so far (step S36).

このステップS36で、算出されたSAD値Sinが最小SAD値Sminより小さいと判別したときには、ステップS37に進み、SAD値保持部1643に保持される最小SAD値Sminの情報およびその位置情報(縮小面参照ベクトル)の更新がなされる。   If it is determined in step S36 that the calculated SAD value Sin is smaller than the minimum SAD value Smin, the process proceeds to step S37, and information on the minimum SAD value Smin held in the SAD value holding unit 1643 and its position information (reduction plane) The reference vector is updated.

また、ステップS36で、算出されたSAD値Sinが最小SAD値Sminより大きいと判別したときには、ステップS37の保持情報の更新処理は行わずにステップS38に進み、マッチング処理部163は、サーチ範囲の全ての縮小面参照ブロックの位置(縮小面参照ベクトル)でマッチング処理を終了したか否か判別し、未だ、サーチ範囲においては、未処理の参照ブロックがあると判別したときには、ステップS32に戻り、前述したステップS32以降の処理を繰り返す。   When it is determined in step S36 that the calculated SAD value Sin is larger than the minimum SAD value Smin, the process proceeds to step S38 without performing the update processing of the retained information in step S37, and the matching processing unit 163 determines whether the search range is within the search range. It is determined whether or not the matching process has been completed at the positions of all reduced surface reference blocks (reduced surface reference vectors). If it is determined that there is still an unprocessed reference block in the search range, the process returns to step S32. The processes after step S32 described above are repeated.

また、マッチング処理部163は、ステップS38で、サーチ範囲の全ての縮小面参照ブロックの位置(縮小面参照ベクトル)でマッチング処理を終了したと判別したときには、その旨を動きベクトル算出部164に伝える。   If the matching processing unit 163 determines in step S38 that the matching processing has been completed at the positions of all the reduced surface reference blocks (reduced surface reference vectors) in the search range, the matching processing unit 163 notifies the motion vector calculating unit 164 to that effect. .

動きベクトル算出部164では、これを受けて、SAD値保持部1643に保持される最小SAD値Sminの位置情報(縮小面参照ベクトル)を、コントロール部165に出力する(ステップS39)。   In response to this, the motion vector calculation unit 164 outputs the position information (reduced plane reference vector) of the minimum SAD value Smin held in the SAD value holding unit 1643 to the control unit 165 (step S39).

以上で、この例における縮小面におけるブロックマッチング処理を終了する。   This is the end of the block matching process on the reduced surface in this example.

次に、基底面におけるブロックマッチング処理時の流れの例である図24および図25のフローチャートについて説明する。   Next, the flowcharts of FIGS. 24 and 25 which are examples of the flow at the time of block matching processing on the base surface will be described.

はじめに、動きベクトル算出部164のSAD値保持部1643の最小SAD値Sminの初期値を設定する(ステップS41)。この最小SAD値Sminの初期値としては、例えば、画素の差分の最大値が設定される。   First, an initial value of the minimum SAD value Smin of the SAD value holding unit 1643 of the motion vector calculation unit 164 is set (step S41). As the initial value of the minimum SAD value Smin, for example, the maximum value of the pixel difference is set.

次に、マッチング処理部163では、基底面における参照ベクトル(Vx,Vy)を設定して、SAD値を計算する基底面参照ブロック位置を設定し(ステップS42)、設定した基底面参照ブロックの画素データを、参照ブロックバッファ部162から読み込む(ステップS43)。   Next, the matching processing unit 163 sets the reference vector (Vx, Vy) on the base plane, sets the base plane reference block position for calculating the SAD value (step S42), and sets the pixels of the set base plane reference block Data is read from the reference block buffer unit 162 (step S43).

そして、ターゲットブロックバッファ部161から基底面ターゲットブロックの画素データを読み込んで、基底面ターゲットブロックおよび基底面参照ブロックの各画素データの差分の絶対値の総和、つまり、SAD値を求め、求めたSAD値を動きベクトル算出部164に送出する(ステップS44)。   Then, the pixel data of the base plane target block is read from the target block buffer unit 161, and the sum of absolute values of differences between the pixel data of the base plane target block and the base plane reference block, that is, the SAD value is obtained. The value is sent to the motion vector calculation unit 164 (step S44).

動きベクトル算出部164では、SAD値書き込み部1641により、そのSAD値をラインメモリ1647に書き込む(ステップS45)。そして、動きベクトル算出部164では、SAD値比較部1642が、マッチング処理部163で算出されたSAD値Sinと、SAD値保持部1643に保持されている最小SAD値Sminとを比較して、算出されたSAD値Sinが、それまで保持されている最小SAD値Sminよりも小さいか否か判別する(ステップS46)。   In the motion vector calculation unit 164, the SAD value writing unit 1641 writes the SAD value into the line memory 1647 (step S45). In the motion vector calculation unit 164, the SAD value comparison unit 1642 compares the SAD value Sin calculated by the matching processing unit 163 with the minimum SAD value Smin held in the SAD value holding unit 1643 to calculate It is determined whether or not the SAD value Sin is smaller than the minimum SAD value Smin held so far (step S46).

このステップS46で、算出されたSAD値Sinが最小SAD値Sminより小さいと判別したときには、ステップS47に進み、SAD値保持部1643に保持される最小SAD値Sminの情報および当該最小SAD値Sminを呈する参照ブロック位置の1ピクセル上および1ピクセル左の位置の参照ブロックのSAD値およびその位置情報(基底面参照ベクトル)の更新がなされる。   When it is determined in step S46 that the calculated SAD value Sin is smaller than the minimum SAD value Smin, the process proceeds to step S47, and information on the minimum SAD value Smin held in the SAD value holding unit 1643 and the minimum SAD value Smin are obtained. The SAD value and the position information (base plane reference vector) of the reference block at a position one pixel above and one pixel to the left of the reference block position to be presented are updated.

すなわち、SAD値比較部1642は、算出されたSAD値Sinが最小SAD値Sminより小さい旨の比較結果の情報DETをSAD値書き込み部1641に送る。すると、SAD値書き込み部1641は、当該算出されたSAD値Sinおよびその位置情報(基底面参照ベクトル)を、新たな最小SAD値Sminの情報としてSAD値保持部1643に送ると共に、図21(B)から分かるように、ラインメモリ1647の最も古いSAD値およびその位置情報(基底面参照ベクトル)と、最も新しいSAD値およびその位置情報(基底面参照ベクトル)とを、最小SAD値の位置の1ピクセル上の位置の基底面参照ブロックのSAD値Sy1の情報および1ピクセル左の位置の基底面参照ブロックのSAD値Sx1の情報として、SAD値保持部1643に送る。SAD値保持部1643は、受け取った新たな最小SAD値Sminの情報および1ピクセル上の位置の基底面参照ブロックのSAD値Sy1の情報および1ピクセル左の位置の基底面参照ブロックのSAD値Sx1の情報により、それぞれ対応する保持情報を更新する。   That is, the SAD value comparison unit 1642 sends the comparison result information DET to the SAD value writing unit 1641 that the calculated SAD value Sin is smaller than the minimum SAD value Smin. Then, the SAD value writing unit 1641 sends the calculated SAD value Sin and its position information (base plane reference vector) to the SAD value holding unit 1643 as information on a new minimum SAD value Smin, and FIG. ), The oldest SAD value and its position information (base plane reference vector) of the line memory 1647 and the newest SAD value and its position information (base plane reference vector) are set to 1 of the position of the minimum SAD value. The information is sent to the SAD value holding unit 1643 as information on the SAD value Sy1 of the base plane reference block at the position on the pixel and information on the SAD value Sx1 of the base plane reference block at the position one pixel to the left. The SAD value holding unit 1643 receives the received information on the new minimum SAD value Smin, the information on the SAD value Sy1 of the base plane reference block at the position one pixel above, and the SAD value Sx1 of the base plane reference block at the position one pixel left. The corresponding holding information is updated with the information.

そして、ステップ47の次には、図25のステップS51に進む。また、ステップS46で、算出されたSAD値Sinが最小SAD値Sminより大きいと判別したときには、ステップS47の保持情報の更新処理は行わずにステップS51に進む。   Then, after step 47, the process proceeds to step S51 in FIG. If it is determined in step S46 that the calculated SAD value Sin is greater than the minimum SAD value Smin, the process advances to step S51 without performing the holding information update process in step S47.

ステップS51では、SAD値書き込み部1641は、算出されたSAD値Sinについての位置情報(参照ベクトル)の指す位置が、最小SAD値Sminとして保持されている基底面参照ブロックの位置の1ピクセル下の基底面参照ブロックの位置であるか否か判別し、1ピクセル下の基底面参照ブロックの位置であると判別したときには、算出されたSAD値Sinおよびその位置情報(参照ベクトル)をSAD値保持部1643に送る。SAD値保持部1643は、受け取ったSAD値およびその位置情報により、前記1ピクセル下の位置の基底面参照ブロックについての近傍SAD値Sy2の保持情報を更新する(ステップS52)。   In step S51, the SAD value writing unit 1641 indicates that the position indicated by the position information (reference vector) for the calculated SAD value Sin is one pixel below the position of the base surface reference block held as the minimum SAD value Smin. It is determined whether or not the position is the position of the base plane reference block, and when it is determined that the position is the position of the base plane reference block one pixel below, the calculated SAD value Sin and its position information (reference vector) are stored in the SAD value holding unit. Send to 1643. The SAD value holding unit 1643 updates the holding information of the neighboring SAD value Sy2 for the basal plane reference block at the position one pixel below by using the received SAD value and its position information (step S52).

ステップS51で、算出されたSAD値Sinについての位置情報(基底面参照ベクトル)の指す位置が、最小SAD値Sminとして保持されている基底面参照ブロックの位置の1ピクセル下の基底面参照ブロックの位置でないと判別したときには、SAD値書き込み部1641は、算出されたSAD値Sinについての位置情報(基底面参照ベクトル)の指す位置が、最小SAD値Sminとして保持されている基底面参照ブロックの位置の1ピクセル下の基底面参照ブロックの位置であるか否か判別する(ステップS53)。   In step S51, the position pointed to by the position information (base plane reference vector) for the calculated SAD value Sin is that of the base plane reference block one pixel below the position of the base plane reference block held as the minimum SAD value Smin. When it is determined that the position is not a position, the SAD value writing unit 1641 indicates the position of the base plane reference block in which the position indicated by the position information (base plane reference vector) regarding the calculated SAD value Sin is held as the minimum SAD value Smin. It is determined whether or not it is the position of the base plane reference block 1 pixel below (step S53).

このステップS53で、算出されたSAD値Sinについての位置情報(基底面参照ベクトル)の指す位置が、最小SAD値Sminとして保持されている基底面参照ブロックの位置の1ピクセル右の基底面参照ブロックの位置であると判別したときには、SAD値書き込み部1641は、算出されたSAD値Sinおよびその位置情報(基底面参照ベクトル)をSAD値保持部1643に送る。SAD値保持部1643は、受け取ったSAD値およびその位置情報により、前記1ピクセル右の位置の基底面参照ブロックについての近傍SAD値Sx2の保持情報を更新する(ステップS54)。   In this step S53, the position pointed to by the position information (base plane reference vector) for the calculated SAD value Sin is the base plane reference block one pixel to the right of the position of the base plane reference block held as the minimum SAD value Smin. When it is determined that the position is, the SAD value writing unit 1641 sends the calculated SAD value Sin and its position information (base plane reference vector) to the SAD value holding unit 1643. The SAD value holding unit 1643 updates the holding information of the neighboring SAD value Sx2 with respect to the basal plane reference block at the position one pixel to the right based on the received SAD value and its position information (step S54).

ステップS53で、算出されたSAD値Sinについての位置情報(基底面参照ベクトル)の指す位置が、最小SAD値Sminとして保持されている基底面参照ブロックの位置の1ピクセル右の基底面参照ブロックの位置でないと判別したときには、SAD値書き込み部1641は、算出されたSAD値Sinおよびその位置情報(基底面参照ベクトル)は、ラインメモリ1647にのみ書き込み(前述のステップS45)、SAD値保持部1643に送らない。   In step S53, the position pointed to by the position information (base plane reference vector) for the calculated SAD value Sin is the base plane reference block one pixel to the right of the base plane reference block position held as the minimum SAD value Smin. When it is determined that the position is not the position, the SAD value writing unit 1641 writes the calculated SAD value Sin and its position information (base plane reference vector) only in the line memory 1647 (step S45 described above), and the SAD value holding unit 1643. Do not send to.

そして、マッチング処理部163は、サーチ範囲の全ての基底面参照ブロックの位置(参照ベクトル)でマッチング処理を終了したか否か判別し(ステップS55)、未だ、サーチ範囲においては、未処理の基底面参照ブロックがあると判別したときには、図28のステップS42に戻り、前述したステップS42以降の処理を繰り返す。   Then, the matching processing unit 163 determines whether or not the matching process has been completed at the positions (reference vectors) of all the base plane reference blocks in the search range (step S55). When it is determined that there is a surface reference block, the process returns to step S42 in FIG. 28, and the processes after step S42 described above are repeated.

また、マッチング処理部163は、ステップS45で、サーチ範囲の全ての基底面参照ブロックの位置(基底面参照ベクトル)でマッチング処理を終了したと判別したときには、その旨を動きベクトル算出部164に伝える。   If the matching processing unit 163 determines in step S45 that the matching processing has been completed at the positions of all the base plane reference blocks in the search range (base plane reference vectors), the matching processing unit 163 notifies the motion vector calculation unit 164 accordingly. .

動きベクトル算出部164では、これを受けて、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645が、SAD値保持部1643に保持された、前記検出した最小のSAD値Sminとその近傍SAD値Sx1、Sx2、Sy1、Sy2およびそれらの位置情報を読み出し、二次曲線近似補間処理部1646に送る。これを受けた二次曲線近似補間処理部1646は、二次曲線による補間を、X方向およびY方向の2回行い、前述したようにして、サブピクセル精度の高精度の動きベクトルを算出する(ステップS56)。以上で、1枚の基底面参照フレームについての第2の例のブロックマッチング処理を終了する。   In response to this, the motion vector calculation unit 164 detects that the X direction (horizontal direction) neighborhood value extraction unit 1644 and the Y direction (vertical direction) neighborhood value extraction unit 1645 are held in the SAD value holding unit 1643. The minimum SAD value Smin and its neighboring SAD values Sx1, Sx2, Sy1, Sy2 and their position information are read out and sent to the quadratic curve approximation interpolation processing unit 1646. Receiving this, the quadratic curve approximation interpolation processing unit 1646 performs interpolation by the quadratic curve twice in the X direction and the Y direction, and calculates a high-precision motion vector with subpixel accuracy as described above ( Step S56). The block matching process of the second example for one base plane reference frame is thus completed.

以上のように、この第1の例においては、算出された全てのSAD値を保持するSADテーブルを保持することなく、SADテーブルの1ライン分を設けると共に、SAD値書き込み部1641に1画素分のSAD値を保持しておくだけで、補間処理によるサブピクセル精度の動きベクトル検出を行うことができる。   As described above, in the first example, one line of the SAD table is provided without holding the SAD table holding all the calculated SAD values, and one pixel is provided in the SAD value writing unit 1641. It is possible to perform sub-pixel precision motion vector detection by interpolation processing only by holding the SAD value.

この第1の例の方法は、従来のSADテーブルTBLのすべてを保持する手法と比べて、ブロックマッチング回数は同じであるため、処理時間は変わらず、ハードウエア規模を削減できるという効果を奏する。   The method of the first example has the effect that the processing time does not change and the hardware scale can be reduced because the number of times of block matching is the same as the method of holding all of the conventional SAD table TBL.

なお、上述した第1の例の説明においては、SAD値比較部1642は、マッチング処理部163からの算出されたSAD値Sinと、SAD値保持部163に保持されている最小SAD値Sminとを比較するようにしたが、SAD値比較部1642が最小SAD値の保持部を備え、その保持した最小SAD値と、算出されたSAD値Sinとを比較し、算出されたSinの方が小さいときには、保持した最小SAD値を更新すると共に、その位置情報と共に、SAD値書き込み部1641を通じてSAD値保持部1643に送って、SAD値保持部1643の最小SAD値保持部に保持させるようにしても良い。   In the description of the first example described above, the SAD value comparison unit 1642 uses the calculated SAD value Sin from the matching processing unit 163 and the minimum SAD value Smin held in the SAD value holding unit 163. Although the comparison is made, the SAD value comparison unit 1642 includes a holding unit for the minimum SAD value, and the held minimum SAD value is compared with the calculated SAD value Sin. When the calculated Sin is smaller The held minimum SAD value is updated, and the position information is sent to the SAD value holding unit 1643 through the SAD value writing unit 1641 so as to be held in the minimum SAD value holding unit of the SAD value holding unit 1643. .

<実施形態の動きベクトル算出部164の第2の例>
この動きベクトル算出部164の第2の例においては、前記第1の例の場合のラインメモリ1647も省略して、より、ハードウエア規模の削減を図るようにした例である。
<Second Example of Motion Vector Calculation Unit 164 of Embodiment>
The second example of the motion vector calculation unit 164 is an example in which the line memory 1647 in the case of the first example is also omitted to further reduce the hardware scale.

この第2の例においては、サーチ範囲における参照ブロックのSAD値の最小値Sminおよびその位置情報(参照ベクトル)の検出および保持は、上述した第1の例と全く同様に行う。しかし、近傍SAD値およびその位置情報の取得および保持に関しては、第1の例のように、SAD値Sminの検出時と同時には行わず、検出された最小SAD値Sminの位置情報を、マッチング処理部163に返して、マッチング処理部163で、最小SAD値Sminの近傍4点位置の参照ブロックについてのSAD値を再度、算出して、動きベクトル算出部164に供給するようにする。   In the second example, the minimum value Smin of the SAD value of the reference block in the search range and its position information (reference vector) are detected and held in the same manner as in the first example described above. However, the acquisition and holding of the neighboring SAD value and its position information are not performed simultaneously with the detection of the SAD value Smin, as in the first example, and the position information of the detected minimum SAD value Smin is matched. Returning to the unit 163, the matching processing unit 163 again calculates the SAD values for the reference blocks at the four point positions in the vicinity of the minimum SAD value Smin, and supplies them to the motion vector calculation unit 164.

動きベクトル算出部164では、当該マッチング処理部163からの再度のブロックマッチング処理により算出された前記近傍4点位置のSAD値およびその位置情報(参照ベクトル)を受け取って、SAD値保持部1643のそれぞれの保持部に格納するようにする。   The motion vector calculation unit 164 receives the SAD values of the four neighboring positions calculated by the block matching process again from the matching processing unit 163 and its position information (reference vector), and each of the SAD value holding units 1643 Store in the holding part.

この動きベクトル算出部164の第2の例のハードウエア構成例を、図26に示す。すなわち、この動きベクトル算出部164の第3の例においては、第1の例のラインメモリ1647は備えずに、図26に示すように、SAD値書き込み部1641と、SAD値比較部1642と、SAD値保持部1643と、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645と、二次曲線近似補間処理部1646とを備えてなる。   A hardware configuration example of the second example of the motion vector calculation unit 164 is shown in FIG. That is, in the third example of the motion vector calculation unit 164, the line memory 1647 of the first example is not provided, but as shown in FIG. 26, an SAD value writing unit 1641, an SAD value comparison unit 1642, An SAD value holding unit 1643, an X direction (horizontal direction) neighborhood value extraction unit 1644, a Y direction (vertical direction) neighborhood value extraction unit 1645, and a quadratic curve approximation interpolation processing unit 1646 are provided.

この第2の例においても、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645と、二次曲線近似補間処理部1646とは、前述した第1の例と同様の動作を行うが、SAD値書き込み部1641、SAD値比較部1642、SAD値保持部1643およびラインメモリ1647の部分は、前述の第1の例とは、異なる動作を行う。   Also in the second example, the X direction (horizontal direction) neighborhood value extraction unit 1644, the Y direction (vertical direction) neighborhood value extraction unit 1645, and the quadratic curve approximation interpolation processing unit 1646 are the same as those in the first example described above. The SAD value writing unit 1641, the SAD value comparison unit 1642, the SAD value holding unit 1643, and the line memory 1647 perform different operations from those in the first example.

SAD値保持部1643は、第1の例と同様に、最小SAD値Sminおよび近傍SAD値Sx1、Sx2、Sy1、Sy2の保持部(メモリ)を備える。そして、この第2の例においても、SAD値保持部1643は、その最小SAD値保持部からの最小SAD値SminをSAD値比較部1642に供給する。しかし、この第2の例においては、SAD値保持部1643は、第1の例とは異なり、近傍SAD値の位置情報を、SAD値書き込み部1641に供給することしない。   Similar to the first example, the SAD value holding unit 1643 includes a holding unit (memory) for the minimum SAD value Smin and the neighboring SAD values Sx1, Sx2, Sy1, and Sy2. Also in this second example, the SAD value holding unit 1643 supplies the minimum SAD value Smin from the minimum SAD value holding unit to the SAD value comparison unit 1642. However, in the second example, unlike the first example, the SAD value holding unit 1643 does not supply the position information of the neighboring SAD value to the SAD value writing unit 1641.

SAD値比較部1642は、この第2の例においても、マッチング処理部163からの当該時点で算出されたSAD値Sinと、SAD値保持部1643の最小SAD値保持部からの最小SAD値Sminとの両者を比較し、マッチング処理部163からの当該時点で算出されたSAD値Sinの方が小さいときには、当該時点で、そのSAD値を最小SAD値であるとして検出し、また、SAD値Sinの方が小さいときには、当該時点では、SAD値保持部1643の最小SAD値保持部からの最小SAD値Sminが未だ最小値であると検出する。そして、SAD値比較部1642は、その検出結果の情報DETをSAD値書き込み部1641およびSAD値保持部1643に供給する。   In this second example, the SAD value comparison unit 1642 also calculates the SAD value Sin calculated at that time from the matching processing unit 163 and the minimum SAD value Smin from the minimum SAD value storage unit of the SAD value storage unit 1643. When the SAD value Sin calculated at the time from the matching processing unit 163 is smaller, the SAD value is detected as the minimum SAD value at the time, and the SAD value Sin When the value is smaller, it is detected that the minimum SAD value Smin from the minimum SAD value holding unit of the SAD value holding unit 1643 is still the minimum value at that time. The SAD value comparison unit 1642 supplies the detection result information DET to the SAD value writing unit 1641 and the SAD value holding unit 1643.

SAD値書き込み部1641は、前述例と同様に、マッチング処理部163からの算出されたSAD値Sinおよびその位置情報(参照ベクトル)を一時保持するための1画素分のバッファメモリを備える。そして、この第2の例においては、SAD値書き込み部1641は、SAD値比較部1642からの比較検出結果の情報DETが、SAD値Sinが最小値であることを示しているときには、マッチング処理部163からの参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを、SAD値保持部1643に送る。   Similar to the above example, the SAD value writing unit 1641 includes a buffer memory for one pixel for temporarily storing the SAD value Sin calculated from the matching processing unit 163 and its position information (reference vector). In this second example, when the SAD value writing unit 1641 indicates that the comparison detection result information DET from the SAD value comparison unit 1642 indicates that the SAD value Sin is the minimum value, the matching processing unit The reference block position information (reference vector) from 163 and the SAD value Sin of the reference block are sent to the SAD value holding unit 1643.

SAD値保持部1643は、SAD値比較部1642からの比較検出結果の情報DETにより、SAD値Sinが最小値であることを知り、SAD値書き込み部1641から送られてくる参照ブロックの位置情報(参照ベクトル)と、当該参照ブロックのSAD値Sinとを、最小SAD値保持部に格納する。   The SAD value holding unit 1643 knows that the SAD value Sin is the minimum value based on the comparison detection result information DET from the SAD value comparison unit 1642, and the position information of the reference block sent from the SAD value writing unit 1641 ( Reference vector) and the SAD value Sin of the reference block are stored in the minimum SAD value holding unit.

以上の処理を、サーチ範囲内の全ての参照ブロックについてマッチング処理部163で算出されたSAD値について、行う。そして、この第2の例においては、サーチ範囲内の全ての参照ブロックについてのSAD値の算出が終了したときに、SAD値保持部1643は、保持している最小SAD値Sminの位置情報(参照ベクトル)Vminを、マッチング処理部163に供給して、当該位置情報の近傍の4点の参照ブロックについてのSAD値の再算出を依頼する。   The above processing is performed on the SAD values calculated by the matching processing unit 163 for all reference blocks in the search range. In the second example, when the calculation of the SAD values for all the reference blocks within the search range is completed, the SAD value holding unit 1643 stores the position information (reference (reference) of the held minimum SAD value Smin. Vector) Vmin is supplied to matching processing section 163 to request recalculation of SAD values for four reference blocks in the vicinity of the position information.

マッチング処理部163では、SAD値保持部1643から最小SAD値Sminの位置情報(参照ベクトル)Vminを含む近傍参照ブロックについてのSAD値の再算出の依頼を受け取ると、前記最小SAD値Sminの位置情報(参照ベクトル)Vminから、その近傍4点の近傍参照ブロックの位置を検出し、検出した位置の参照ブロックについて、SAD値の算出を行う。そして、算出したSAD値を、その位置情報(参照ベクトル)と共に、SAD値書き込み部1641に順次に供給する。   When the matching processing unit 163 receives from the SAD value holding unit 1643 a request for recalculation of the SAD value for the neighborhood reference block including the position information (reference vector) Vmin of the minimum SAD value Smin, the position information of the minimum SAD value Smin From the reference vector Vmin, the positions of the four neighboring reference blocks are detected, and the SAD value is calculated for the reference block at the detected position. Then, the calculated SAD value is sequentially supplied to the SAD value writing unit 1641 together with the position information (reference vector).

この場合、マッチング処理部163は、サーチ方向の順にブロックマッチング処理を行うので、近傍SAD値は、SAD値Sy1、Sx1、Sx2、Sy2の順に算出される。SAD値書き込み部1641は、受け取った再算出されたSAD値およびその位置情報(参照ベクトル)を、順次にSAD値保持部1643に供給する。   In this case, since the matching processing unit 163 performs block matching processing in the order of the search direction, the neighboring SAD values are calculated in the order of SAD values Sy1, Sx1, Sx2, and Sy2. The SAD value writing unit 1641 sequentially supplies the received recalculated SAD value and its position information (reference vector) to the SAD value holding unit 1643.

SAD値保持部1643は、この再算出されたSAD値およびその位置情報(参照ベクトル)を、順次に、対応する格納部に書き込んで保持する。   The SAD value holding unit 1643 sequentially writes and holds the recalculated SAD value and its position information (reference vector) in the corresponding storage unit.

こうして、近傍参照ブロックについてのSAD値の再算出が終了すると、前述の第1の例と同様にして、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645が、SAD値保持部1643に保持された、前記検出した最小のSAD値Sminとその近傍SAD値Sx1、Sx2、Sy1、Sy2およびそれらの位置情報を読み出し、二次曲線近似補間処理部1646に送る。これを受けた二次曲線近似補間処理部1646は、二次曲線による補間を、X方向およびY方向の2回行い、前述したようにして、サブピクセル精度の高精度の動きベクトルを算出する。   Thus, when the recalculation of the SAD value for the neighborhood reference block is completed, the X direction (horizontal direction) neighborhood value extraction unit 1644 and the Y direction (vertical direction) neighborhood value extraction unit 1645 are the same as in the first example described above. Reads out the detected minimum SAD value Smin, its neighboring SAD values Sx1, Sx2, Sy1, Sy2 and their position information held in the SAD value holding unit 1643, and sends them to the quadratic curve approximation interpolation processing unit 1646. . Receiving this, the quadratic curve approximation interpolation processing unit 1646 performs interpolation by the quadratic curve twice in the X direction and the Y direction, and calculates a high-precision motion vector with sub-pixel accuracy as described above.

以上のようにして、第2の例においては、SADテーブルTBLやラインメモリを用いずに、サブピクセル精度の動きベクトルの検出ができる。   As described above, in the second example, the motion vector can be detected with sub-pixel accuracy without using the SAD table TBL or the line memory.

この第2の例における縮小面でのブロックマッチング処理時の流れの例は、ラインメモリ1647への書き込みを行わない点を除いて、図23に示した第1の例の場合と同様であるので、ここでは、説明を省略する。そして、この第2の例における基底面でのブロックマッチング処理時の流れの例を、図27のフローチャートを参照しながら説明する。   The example of the flow at the time of block matching processing on the reduction surface in the second example is the same as the case of the first example shown in FIG. 23 except that writing to the line memory 1647 is not performed. Here, the description is omitted. An example of the flow at the time of block matching processing on the base surface in the second example will be described with reference to the flowchart of FIG.

はじめに、動きベクトル算出部164のSAD値保持部1643の最小SAD値Sminの初期値を設定する(ステップS61)。この最小SAD値Sminの初期値としては、例えば、画素の差分の最大値が設定される。   First, an initial value of the minimum SAD value Smin of the SAD value holding unit 1643 of the motion vector calculation unit 164 is set (step S61). As the initial value of the minimum SAD value Smin, for example, the maximum value of the pixel difference is set.

次に、マッチング処理部163では、基底面での参照ベクトル(Vx,Vy)を設定して、SAD値を計算する基底面参照ブロック位置を設定し(ステップS62)、設定した基底面参照ブロックの画素データを、参照ブロックバッファ部162から読み込む(ステップS63)と共に、ターゲットブロックバッファ部161から基底面ターゲットブロックの画素データを読み込んで、基底面ターゲットブロックおよび基底面参照ブロックの各画素データの差分の絶対値の総和、つまり、SAD値を求め、求めたSAD値を動きベクトル算出部164に送出する(ステップS64)。   Next, the matching processing unit 163 sets a reference vector (Vx, Vy) at the base plane, sets a base plane reference block position for calculating the SAD value (step S62), and sets the base plane reference block of the set base plane reference block. The pixel data is read from the reference block buffer unit 162 (step S63), the pixel data of the base plane target block is read from the target block buffer unit 161, and the difference between the pixel data of the base plane target block and the base plane reference block is calculated. The sum of absolute values, that is, the SAD value is obtained, and the obtained SAD value is sent to the motion vector calculating unit 164 (step S64).

動きベクトル算出部164では、SAD値比較部1642が、マッチング処理部163で算出されたSAD値Sinと、SAD値保持部1643に保持されている最小SAD値Sminとを比較して、算出されたSAD値Sinが、それまで保持されている最小SAD値Sminよりも小さいか否か判別する(ステップS65)。   In the motion vector calculation unit 164, the SAD value comparison unit 1642 is calculated by comparing the SAD value Sin calculated by the matching processing unit 163 with the minimum SAD value Smin held in the SAD value holding unit 1643. It is determined whether or not the SAD value Sin is smaller than the minimum SAD value Smin held so far (step S65).

このステップS65で、算出されたSAD値Sinが最小SAD値Sminより小さいと判別したときには、ステップS66に進み、SAD値保持部1643に保持される最小SAD値Sminおよびその位置情報の更新がなされる。   When it is determined in step S65 that the calculated SAD value Sin is smaller than the minimum SAD value Smin, the process proceeds to step S66, and the minimum SAD value Smin held in the SAD value holding unit 1643 and its position information are updated. .

すなわち、SAD値比較部1642は、算出されたSAD値Sinが最小SAD値Sminより小さい旨の比較結果の情報DETをSAD値書き込み部1641に送る。すると、SAD値書き込み部1641は、当該算出されたSAD値Sinおよびその位置情報(基底面参照ベクトル)を、新たな最小SAD値Sminの情報としてSAD値保持部1643に送る。SAD値保持部1643は、保持すべき最小SAD値Sminおよびその位置情報を、受け取った新たなSAD値Sinおよびその位置情報に更新する。   That is, the SAD value comparison unit 1642 sends the comparison result information DET to the SAD value writing unit 1641 that the calculated SAD value Sin is smaller than the minimum SAD value Smin. Then, the SAD value writing unit 1641 sends the calculated SAD value Sin and its position information (base plane reference vector) to the SAD value holding unit 1643 as new minimum SAD value Smin information. The SAD value holding unit 1643 updates the minimum SAD value Smin to be held and its position information to the received new SAD value Sin and its position information.

ステップS66の後には、ステップS67に進む。また、ステップS65で、算出されたSAD値Sinが最小SAD値Sminより大きいと判別したときには、ステップS66の保持情報の更新処理は行わずにステップS67に進む。   After step S66, the process proceeds to step S67. If it is determined in step S65 that the calculated SAD value Sin is greater than the minimum SAD value Smin, the process advances to step S67 without performing the holding information update process in step S66.

ステップS67では、マッチング処理部163は、サーチ範囲の全ての基底面参照ブロックの位置(基底面参照ベクトル)でマッチング処理を終了したか否か判別し、未だ、サーチ範囲においては、未処理の基底面参照ブロックがあると判別したときには、ステップS62に戻り、前述したステップS62以降の処理を繰り返す。   In step S67, the matching processing unit 163 determines whether or not the matching process has been completed at the positions of all the base plane reference blocks (base plane reference vectors) in the search range. When it is determined that there is a surface reference block, the process returns to step S62, and the processes after step S62 are repeated.

また、マッチング処理部163は、ステップS67で、サーチ範囲の全ての基底面参照ブロックの位置(参照ベクトル)でマッチング処理を終了したと判別したときには、SAD値保持部1643からの最小SAD値Sminの位置情報を受け取り、その近傍4点の位置の基底面参照ブロックについてのSAD値の再算出を行い、再算出した近傍SAD値をSAD値書き込み部1641を通じてSAD値保持部1643に供給し、保持させるようにする(ステップS68)。   If the matching processing unit 163 determines in step S67 that the matching process has been completed at the positions (reference vectors) of all the base plane reference blocks in the search range, the minimum SAD value Smin from the SAD value holding unit 1643 is determined. The position information is received, the SAD value is recalculated for the basal plane reference block at the positions of the four neighboring points, and the recalculated neighboring SAD value is supplied to the SAD value holding unit 1643 through the SAD value writing unit 1641 and held. (Step S68).

次に、動きベクトル算出部164では、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645が、SAD値保持部1643に保持された、前記検出した最小のSAD値Sminとその近傍SAD値Sx1、Sx2、Sy1、Sy2およびそれらの位置情報を読み出し、二次曲線近似補間処理部1646に送る。これを受けた二次曲線近似補間処理部1646は、二次曲線による補間を、X方向およびY方向の2回行い、前述したようにして、サブピクセル精度の高精度の動きベクトルを算出する(ステップS69)。以上で、1枚の参照フレームについての第2の例の基底面でのブロックマッチング処理を終了する。   Next, in the motion vector calculation unit 164, the X direction (horizontal direction) neighborhood value extraction unit 1644 and the Y direction (vertical direction) neighborhood value extraction unit 1645 are stored in the SAD value holding unit 1643 and the detected minimum The SAD value Smin and its neighboring SAD values Sx1, Sx2, Sy1, Sy2 and their position information are read out and sent to the quadratic curve approximation interpolation processing unit 1646. Receiving this, the quadratic curve approximation interpolation processing unit 1646 performs interpolation by the quadratic curve twice in the X direction and the Y direction, and calculates a high-precision motion vector with subpixel accuracy as described above ( Step S69). This completes the block matching process on the base surface of the second example for one reference frame.

この第2の例においては、上述した第1の例に比較して、SAD値を再算出する分だけ、処理時間が増加するが、ラインメモリをも必要としないので、回路規模を、第1の例よりも削減することができる。しかも、SAD値の再算出は、近傍SAD値のみであるので、上述の例では、高々4回であるので、処理時間の増加は少ない。   In this second example, the processing time is increased by recalculating the SAD value as compared with the first example described above, but since no line memory is required, the circuit scale is reduced to the first. It can be reduced more than the example. In addition, since the SAD value is recalculated only for the neighborhood SAD value, in the above example, since the number of times is at most four, the increase in the processing time is small.

なお、上述した第2の例の説明では、最小SAD値は、検出しながらSAD値保持部1643に保持するようにしたが、SAD値比較部1642において、最小SAD値を呈する参照ブロックの位置情報(参照ベクトル)を検出して保持するように構成し、1回目のブロックマッチングが終了したら、SAD値比較部1642から、当該最小SAD値の位置情報をマッチング処理部163に供給するようにしてもよい。   In the description of the second example described above, the minimum SAD value is held in the SAD value holding unit 1643 while being detected. However, in the SAD value comparison unit 1642, the position information of the reference block that exhibits the minimum SAD value. (Reference vector) is detected and held, and when the first block matching is completed, the position information of the minimum SAD value is supplied from the SAD value comparison unit 1642 to the matching processing unit 163. Good.

その場合には、マッチング処理部163でのSAD値の再算出においては、近傍4点のSAD値に加えて、最小SAD値をも再算出するようにする。この場合には、SAD値の再算出回数が5回となり、1回増加するが、1回目のブロックマッチングでは、SAD値比較部1642のみが動作すればよく、SAD値書き込み部1641およびSAD値保持部1643は、再算出されたSAD値を保持するように動作すればよいので、処理動作が簡略化されるというメリットがある。   In this case, in the recalculation of the SAD value in the matching processing unit 163, the minimum SAD value is recalculated in addition to the SAD values of the four neighboring points. In this case, the number of recalculations of the SAD value is 5 and increases by 1. However, in the first block matching, only the SAD value comparison unit 1642 needs to operate, and the SAD value writing unit 1641 and the SAD value holding Since the unit 1643 only needs to operate so as to hold the recalculated SAD value, there is an advantage that the processing operation is simplified.

また、動き検出および動き補償部16での処理は、ターゲットフレームにおいて設定された複数個のターゲットブロックについて、並列および並行して、実行することができる。その場合には、以上説明した動き検出および動き補償部16のハードウエアの系を、当該並列・並行処理するターゲットブロック数に応じた数だけ、設ける必要がある。   Further, the processing in the motion detection and motion compensation unit 16 can be executed in parallel and in parallel for a plurality of target blocks set in the target frame. In that case, it is necessary to provide as many hardware systems as the motion detection and motion compensation unit 16 described above in accordance with the number of target blocks to be processed in parallel and in parallel.

従来例のように、SADテーブルTBLを生成する方法の場合には、当該ターゲットブロック数分だけのSADテーブルを生成する必要があり、非常に大きなメモリが必要となってしまう。しかし、第1の例では、1ターゲットブロック当たりについて、SADテーブルの1ライン分でよく、メモリ容量を非常に少なくすることができる。さらに、第2の例の場合には、ラインメモリをも必要としないので、メモリ容量の大幅な削減をすることができる。   In the case of the method for generating the SAD table TBL as in the conventional example, it is necessary to generate as many SAD tables as the number of target blocks, and a very large memory is required. However, in the first example, one line of the SAD table is sufficient for one target block, and the memory capacity can be greatly reduced. Furthermore, in the case of the second example, since no line memory is required, the memory capacity can be greatly reduced.

[階層化ブロックマッチング処理の流れの例]
次に、図28および図29に、この実施の形態における動き検出・動き補償部16での階層化ブロックマッチング処理の動作例のフローチャートを示す。
[Example of hierarchical block matching process flow]
Next, FIG. 28 and FIG. 29 show flowcharts of an operation example of the hierarchical block matching processing in the motion detection / compensation unit 16 in this embodiment.

なお、この図28および図29に示す処理の流れは、前述したマッチング処理部163、動き算出部164の処理例の流れとしての説明と、一部重複するものとなるが、この実施の形態の動作を、より理解し易くするために、説明するものである。   Note that the processing flow shown in FIG. 28 and FIG. 29 partially overlaps with the description of the processing example of the matching processing unit 163 and the motion calculation unit 164 described above. The operation will be described for easier understanding.

はじめに、動き検出・動き補償部16において、ターゲットブロックバッファ部161から、ターゲットブロックの縮小画、つまり、縮小面ターゲットブロックを読み込む(図28のステップS71)。次に、動きベクトル算出部164のSAD値保持部1643の最小SAD値Sminの初期値として、縮小面最小SAD値の初期値を設定する(ステップS72)。この縮小面最小SAD値Sminの初期値としては、例えば、画素の差分の最大値が設定される。   First, the motion detection / compensation unit 16 reads a reduced image of the target block, that is, a reduced surface target block from the target block buffer unit 161 (step S71 in FIG. 28). Next, the initial value of the reduced surface minimum SAD value is set as the initial value of the minimum SAD value Smin of the SAD value holding unit 1643 of the motion vector calculation unit 164 (step S72). As an initial value of the reduced surface minimum SAD value Smin, for example, a maximum value of pixel difference is set.

次に、マッチング処理部163では、縮小面サーチ範囲を設定すると共に、設定した縮小サーチ範囲において、縮小面参照ベクトル(Vx/n,Vy/n:1/nは縮小倍率)を設定して、SAD値を計算する縮小面参照ブロック位置を設定する(ステップS73)。そして、設定した縮小面参照ブロックの画素データを、参照ブロックバッファ部162から読み込み(ステップS74)、縮小面ターゲットブロックおよび縮小面参照ブロックの各画素データの差分の絶対値の総和、つまり、縮小面SAD値を求め、求めた縮小面SAD値を動きベクトル算出部164に送出する(ステップS75)。   Next, the matching processing unit 163 sets a reduction plane search range, sets a reduction plane reference vector (Vx / n, Vy / n: 1 / n is a reduction ratio) in the set reduction search range, The reduced surface reference block position for calculating the SAD value is set (step S73). Then, the pixel data of the set reduction plane reference block is read from the reference block buffer unit 162 (step S74), and the sum of absolute values of differences between the pixel data of the reduction plane target block and the reduction plane reference block, that is, the reduction plane The SAD value is obtained, and the obtained reduced surface SAD value is sent to the motion vector calculation unit 164 (step S75).

動きベクトル算出部164では、SAD値比較部1642が、マッチング処理部163で算出された縮小面SAD値Sinと、SAD値保持部1643に保持されている縮小面最小SAD値Sminとを比較して、算出された縮小面SAD値Sinが、それまで保持されている縮小面最小SAD値Sminよりも小さいか否か判別する(ステップS76)。   In the motion vector calculation unit 164, the SAD value comparison unit 1642 compares the reduced surface SAD value Sin calculated by the matching processing unit 163 with the reduced surface minimum SAD value Smin held in the SAD value holding unit 1643. Then, it is determined whether or not the calculated reduced surface SAD value Sin is smaller than the reduced surface minimum SAD value Smin held so far (step S76).

このステップS76で、算出された縮小面SAD値Sinが縮小面最小SAD値Sminより小さいと判別したときには、ステップS77に進み、SAD値保持部1643に保持される縮小面最小SAD値Sminおよびその位置情報の更新がなされる。   If it is determined in step S76 that the calculated reduction surface SAD value Sin is smaller than the reduction surface minimum SAD value Smin, the process proceeds to step S77, and the reduction surface minimum SAD value Smin held in the SAD value holding unit 1643 and its position. Information is updated.

すなわち、SAD値比較部1642は、算出された縮小面SAD値Sinが縮小面最小SAD値Sminより小さい旨の比較結果の情報DETをSAD値書き込み部1641に送る。すると、SAD値書き込み部1641は、当該算出された縮小面SAD値Sinおよびその位置情報(縮小面参照ベクトル)を、新たな縮小面最小SAD値Sminの情報としてSAD値保持部1643に送る。SAD値保持部1643は、保持すべき縮小面最小SAD値Sminおよびその位置情報を、受け取った新たな縮小面SAD値Sinおよびその位置情報に更新する。   That is, the SAD value comparison unit 1642 sends the comparison result information DET to the SAD value writing unit 1641 that the calculated reduction surface SAD value Sin is smaller than the reduction surface minimum SAD value Smin. Then, the SAD value writing unit 1641 sends the calculated reduced surface SAD value Sin and its position information (reduced surface reference vector) to the SAD value holding unit 1643 as information on a new reduced surface minimum SAD value Smin. The SAD value holding unit 1643 updates the reduced reduction surface minimum SAD value Smin and its position information to be held to the received new reduction surface SAD value Sin and its position information.

ステップS77の後には、ステップS78に進む。また、ステップS76で、算出された縮小面SAD値Sinが縮小面最小SAD値Sminより大きいと判別したときには、ステップS77の保持情報の更新処理は行わずにステップS78に進む。   After step S77, the process proceeds to step S78. If it is determined in step S76 that the calculated reduced surface SAD value Sin is larger than the reduced surface minimum SAD value Smin, the process advances to step S78 without performing the holding information update process in step S77.

ステップS78では、マッチング処理部163は、縮小面サーチ範囲の全ての縮小面参照ブロックの位置(縮小面参照ベクトル)でマッチング処理を終了したか否か判別し、未だ、縮小面サーチ範囲においては、未処理の縮小面参照ブロックがあると判別したときには、ステップS73に戻り、前述したステップS73以降の処理を繰り返す。   In step S78, the matching processing unit 163 determines whether or not the matching process has been completed at the positions of all reduced surface reference blocks (reduced surface reference vectors) in the reduced surface search range. When it is determined that there is an unprocessed reduced surface reference block, the process returns to step S73, and the processes after step S73 are repeated.

また、マッチング処理部163は、ステップS78で、縮小面サーチ範囲の全ての縮小面参照ブロックの位置(縮小面参照ベクトル)でマッチング処理を終了したと判別したときには、SAD値保持部1643からの縮小面最小SAD値Sminの位置情報(縮小面動きベクトル)を受け取り、受け取った縮小面動きベクトルを、縮小倍率の逆数倍、すなわち、n倍したベクトルが、基底面ターゲットフレームにおいて指し示す位置座標を中心とした位置に基底面ターゲットブロックを設定するとともに、前記n倍したベクトルが指し示す位置座標を中心とした比較的狭い範囲として、基底面サーチ範囲を、基底面ターゲットフレームに設定し(ステップS79)、ターゲットブロックバッファ部161から、基底面ターゲットブロックの画素データを読み込む(ステップS80)。   If the matching processing unit 163 determines in step S78 that the matching process has been completed at the positions of all reduced surface reference blocks (reduced surface reference vectors) in the reduced surface search range, the reduction processing from the SAD value holding unit 1643 is performed. The position information (reduced surface motion vector) of the surface minimum SAD value Smin is received, and the received reduced surface motion vector is the reciprocal of the reduction magnification, that is, the vector obtained by multiplying by n is centered on the position coordinates indicated in the base plane target frame. The base plane target block is set at the position and the base plane search range is set as the base plane target frame as a relatively narrow range centered on the position coordinate indicated by the n-fold vector (step S79). From the target block buffer 161, the pixel data of the base surface target block is displayed. Read the data (step S80).

そして、次に、動きベクトル算出部164のSAD値保持部1643の最小SAD値Sminの初期値として、基底面最小SAD値の初期値を設定する(図29のステップS81)。この基底面最小SAD値Sminの初期値としては、例えば、画素の差分の最大値が設定される。   Next, the initial value of the base surface minimum SAD value is set as the initial value of the minimum SAD value Smin of the SAD value holding unit 1643 of the motion vector calculation unit 164 (step S81 in FIG. 29). As the initial value of the basal plane minimum SAD value Smin, for example, the maximum value of the pixel difference is set.

次に、マッチング処理部163では、ステップS79で設定した基底面縮小サーチ範囲において、基底面参照ベクトル(Vx,Vy)を設定して、SAD値を計算する基底面参照ブロック位置を設定する(ステップS82)。そして、設定した基底面参照ブロックの画素データを、参照ブロックバッファ部162から読み込み(ステップS83)、基底面ターゲットブロックおよび基底面参照ブロックの各画素データの差分の絶対値の総和、つまり、基底面SAD値を求め、求めた基底面SAD値を動きベクトル算出部164に送出する(ステップS84)。   Next, the matching processing unit 163 sets the basal plane reference vector (Vx, Vy) in the basal plane reduction search range set in step S79, and sets the basal plane reference block position for calculating the SAD value (step). S82). Then, the set pixel data of the base plane reference block is read from the reference block buffer unit 162 (step S83), and the sum of absolute values of differences between the pixel data of the base plane target block and the base plane reference block, that is, the base plane The SAD value is obtained, and the obtained basal plane SAD value is sent to the motion vector calculation unit 164 (step S84).

動きベクトル算出部164では、SAD値比較部1642が、マッチング処理部163で算出された基底面SAD値Sinと、SAD値保持部1643に保持されている基底面最小SAD値Sminとを比較して、算出された基底面SAD値Sinが、それまで保持されている基底面最小SAD値Sminよりも小さいか否か判別する(ステップS85)。   In the motion vector calculation unit 164, the SAD value comparison unit 1642 compares the basal plane SAD value Sin calculated by the matching processing unit 163 with the basal plane minimum SAD value Smin held in the SAD value holding unit 1643. Then, it is determined whether or not the calculated basal plane SAD value Sin is smaller than the basal plane minimum SAD value Smin held so far (step S85).

このステップS85で、算出された基底面SAD値Sinが基底面最小SAD値Sminより小さいと判別したときには、ステップS86に進み、SAD値保持部1643に保持される基底面最小SAD値Sminおよびその位置情報の更新がなされる。   When it is determined in this step S85 that the calculated basal plane SAD value Sin is smaller than the basal plane minimum SAD value Smin, the process proceeds to step S86, and the basal plane minimum SAD value Smin held in the SAD value holding unit 1643 and its position. Information is updated.

すなわち、SAD値比較部1642は、算出された基底面SAD値Sinが基底面最小SAD値Sminより小さい旨の比較結果の情報DETをSAD値書き込み部1641に送る。すると、SAD値書き込み部1641は、当該算出された基底面SAD値Sinおよびその位置情報(参照ベクトル)を、新たな基底面最小SAD値Sminの情報としてSAD値保持部1643に送る。SAD値保持部1643は、保持すべき基底面最小SAD値Sminおよびその位置情報を、受け取った新たな基底面SAD値Sinおよびその位置情報に更新する。   That is, the SAD value comparison unit 1642 sends the comparison result information DET to the SAD value writing unit 1641 that the calculated basal plane SAD value Sin is smaller than the basal plane minimum SAD value Smin. Then, the SAD value writing unit 1641 sends the calculated base surface SAD value Sin and its position information (reference vector) to the SAD value holding unit 1643 as information of a new base surface minimum SAD value Smin. The SAD value holding unit 1643 updates the base surface minimum SAD value Smin to be held and its position information to the received new base surface SAD value Sin and its position information.

ステップS86の後には、ステップS87に進む。また、ステップS85で、算出された基底面SAD値Sinが基底面最小SAD値Sminより大きいと判別したときには、ステップS86の保持情報の更新処理は行わずにステップS87に進む。   After step S86, the process proceeds to step S87. If it is determined in step S85 that the calculated basal plane SAD value Sin is greater than the basal plane minimum SAD value Smin, the process proceeds to step S87 without performing the holding information update process in step S86.

ステップS87では、マッチング処理部163は、基底面サーチ範囲の全ての基底面参照ブロックの位置(基底面参照ベクトル)でマッチング処理を終了したか否か判別し、未だ、基底面サーチ範囲においては、未処理の基底面参照ブロックがあると判別したときには、ステップS82に戻り、前述したステップS82以降の処理を繰り返す。   In step S87, the matching processing unit 163 determines whether or not the matching process has been completed at the positions of all base plane reference blocks (base plane reference vectors) in the base plane search range. When it is determined that there is an unprocessed base plane reference block, the process returns to step S82, and the processes after step S82 are repeated.

また、マッチング処理部163は、ステップS87で、基底面サーチ範囲の全ての基底面参照ブロックの位置(基底面参照ベクトル)でマッチング処理を終了したと判別したときには、SAD値保持部1643からの基底面最小SAD値Sminの位置情報(基底面動きベクトル)を受け取り、その近傍4点の位置の基底面参照ブロックについての基底面SAD値の再算出を行い、再算出した近傍基底面SAD値をSAD値書き込み部1641を通じてSAD値保持部1643に供給し、保持させるようにする(ステップS88)。   When the matching processing unit 163 determines in step S87 that the matching processing has been completed at all base plane reference block positions (base plane reference vectors) in the base plane search range, the basis from the SAD value holding unit 1643 is determined. The position information (base plane motion vector) of the surface minimum SAD value Smin is received, the base plane SAD value is recalculated for the base plane reference block at the positions of the four neighboring points, and the recalculated vicinity base plane SAD value is SAD. The value is supplied to the SAD value holding unit 1643 through the value writing unit 1641 and held (step S88).

次に、動きベクトル算出部164では、X方向(水平方向)近傍値抽出部1644およびY方向(垂直方向)近傍値抽出部1645が、SAD値保持部1643に保持された、前記検出した最小の基底面SAD値Sminとその近傍基底面SAD値Sx1、Sx2、Sy1、Sy2およびそれらの位置情報を読み出し、二次曲線近似補間処理部1646に送る。これを受けた二次曲線近似補間処理部1646は、二次曲線による補間を、X方向およびY方向の2回行い、前述したようにして、サブピクセル精度の高精度の基底面動きベクトルを算出する(ステップS89)。以上で、1枚の参照フレームについてのこの例のブロックマッチング処理を終了する。   Next, in the motion vector calculation unit 164, the X direction (horizontal direction) neighborhood value extraction unit 1644 and the Y direction (vertical direction) neighborhood value extraction unit 1645 are stored in the SAD value holding unit 1643 and the detected minimum The basal plane SAD value Smin and its neighboring basal plane SAD values Sx1, Sx2, Sy1, Sy2 and their position information are read out and sent to the quadratic curve approximation interpolation processing unit 1646. Receiving this, the quadratic curve approximation interpolation processing unit 1646 performs interpolation by the quadratic curve twice in the X direction and the Y direction, and calculates a high-precision basal plane motion vector with subpixel accuracy as described above. (Step S89). This completes the block matching process of this example for one reference frame.

次に、この実施の形態による階層化ブロックマッチング手法を用いた画像処理方法の効果を、具体例を挙げて説明する。   Next, the effect of the image processing method using the hierarchical block matching method according to this embodiment will be described with a specific example.

図30に、上述の実施の形態の説明で用いた基底面、縮小面での、参照ブロック、サーチ範囲、マッチング処理範囲の具体例を示す。図30の例は、水平方向および垂直方向の縮小倍率1/nは、n=4に設定した場合である。   FIG. 30 shows specific examples of the reference block, the search range, and the matching processing range on the base surface and the reduction surface used in the description of the above-described embodiment. In the example of FIG. 30, the reduction ratio 1 / n in the horizontal direction and the vertical direction is set to n = 4.

比較例として、図30(A)および(B)に示すように、例えば、縮小画像を用いない参照ブロック108は、横(水平)×縦(垂直)=32×32ピクセルとし、また、サーチ範囲106は、横(水平)×縦(垂直)=144×64ピクセル、マッチング処理範囲110は、横(水平)×縦(垂直)=176×96ピクセルとする。   As a comparative example, as shown in FIGS. 30A and 30B, for example, a reference block 108 that does not use a reduced image has horizontal (horizontal) × vertical (vertical) = 32 × 32 pixels and a search range. 106 is horizontal (horizontal) × vertical (vertical) = 144 × 64 pixels, and the matching processing range 110 is horizontal (horizontal) × vertical (vertical) = 176 × 96 pixels.

すると、上述した実施の形態において、水平方向および垂直方向に、1/n=1/4に縮小された縮小面では、図30(C)および(D)に示すように、縮小面参照ブロック139は、横(水平)×縦(垂直)=8×8ピクセル、縮小面サーチ範囲137は、横(水平)×縦(垂直)=36×16ピクセル、縮小面マッチング処理範囲143は、横(水平)×縦(垂直)=44×24ピクセルとなる。   Then, in the above-described embodiment, in the reduced surface reduced to 1 / n = 1/4 in the horizontal direction and the vertical direction, as shown in FIGS. 30C and 30D, the reduced surface reference block 139 is used. Is horizontal (horizontal) × vertical (vertical) = 8 × 8 pixels, the reduction plane search range 137 is horizontal (horizontal) × vertical (vertical) = 36 × 16 pixels, and the reduction plane matching processing range 143 is horizontal (horizontal). ) × vertical (vertical) = 44 × 24 pixels.

水平方向および垂直方向に、1/4に縮小された縮小面で、ブロックマッチングを行った場合、縮小面動きベクトルは、4ピクセル精度の動きベクトルであり、単純に4倍しただけでは、1ピクセル精度の動きベクトルに対して誤差が生じる。すなわち、基底面での画素が図35に示すようなものとした場合、基底面でのマッチング処理点148は、当該基底面の全ての画素が対象となるが、1/4に縮小された縮小面で、ブロックマッチングを行う場合のマッチング処理点は、図31において、黒丸で示す4ピクセル単位のマッチング処理点147となっているからである。   When block matching is performed with a reduction plane reduced to ¼ in the horizontal direction and the vertical direction, the reduction plane motion vector is a motion vector with a precision of 4 pixels. An error occurs with respect to the precision motion vector. In other words, if the pixels on the base surface are as shown in FIG. 35, the matching processing point 148 on the base surface covers all pixels on the base surface, but is reduced to 1/4. This is because the matching processing points when performing block matching on the surface are the matching processing points 147 in units of 4 pixels indicated by black circles in FIG.

しかし、少なくとも、1ピクセル精度の動きベクトルは、縮小面動きベクトルが指し示す縮小面でのマッチング処理点の周囲、4ピクセル範囲以内に存在するであろうことは予測できる。   However, it can be predicted that at least a 1-pixel precision motion vector will exist within a 4-pixel range around the matching processing point on the reduced plane indicated by the reduced plane motion vector.

そこで、この実施の形態では、算出された縮小面動きベクトルを元に基底面サーチ範囲を定める基底面マッチングでは、縮小面動きベクトルを縮小倍率の逆数である4倍した参照ベクトルが指し示すピクセル位置を中心に、基底面ターゲットブロックを設定するとともに、4ピクセル分のサーチ範囲(基底面サーチ範囲140)を決定して、基底面ブロックマッチングを行い、再度動きベクトルを算出する。   Therefore, in this embodiment, in basal plane matching that determines the basal plane search range based on the calculated reduced plane motion vector, the pixel position indicated by the reference vector obtained by multiplying the reduced plane motion vector by 4 that is the reciprocal of the reduction magnification is indicated. A base plane target block is set at the center, a search range for 4 pixels (base plane search range 140) is determined, base plane block matching is performed, and a motion vector is calculated again.

したがって、図30(E)および(F)に示すように、基底面参照ブロック142は、横(水平)×縦(垂直)=32×32ピクセル、基底面サーチ範囲140は、横(水平)×縦(垂直)=4×4ピクセル、基底面マッチング処理範囲144は、横(水平)×縦(垂直)=40×40ピクセルとなる。   Therefore, as shown in FIGS. 30E and 30F, the basal plane reference block 142 is horizontal (horizontal) × vertical (vertical) = 32 × 32 pixels, and the basal plane search range 140 is horizontal (horizontal) ×. The vertical (vertical) = 4 × 4 pixels and the basal plane matching processing range 144 is horizontal (horizontal) × vertical (vertical) = 40 × 40 pixels.

図32に、この実施の形態のように、縮小面マッチングと、基底面マッチングの2階層マッチングを行う場合において、SADテーブルを使用すると仮定した場合における、基底面、縮小面での、SADテーブルのサイズを示す。なお、図32の例は、図30に示した具体例に対応したものである。   In FIG. 32, in the case of performing two-layer matching of reduced plane matching and basal plane matching as in this embodiment, it is assumed that the SAD table is used, and the SAD table of the basal plane and reduced plane is used. Indicates size. The example of FIG. 32 corresponds to the specific example shown in FIG.

縮小する前の144×64のサーチ範囲(図30(B)参照)の場合におけるSADテーブルTBLは、図32(A)に示すように、145×65点である。   The SAD table TBL in the case of the 144 × 64 search range (see FIG. 30B) before the reduction is 145 × 65 points as shown in FIG.

これに対して、36×16の縮小面サーチ範囲(図30(D)参照)の場合における縮小面SADテーブルは、図32(B)に示すように、37点×17点となる。   On the other hand, the reduced surface SAD table in the case of the 36 × 16 reduced surface search range (see FIG. 30D) is 37 points × 17 points as shown in FIG.

また、4×4の基底面サーチ範囲(図30(F)参照)の場合における基底面SADテーブルは5点×5点となる。   In the case of a 4 × 4 base plane search range (see FIG. 30F), the base plane SAD table is 5 points × 5 points.

したがって、階層マッチングを施さない場合のマッチング処理回数は145×65=9425回であるのに対し、階層マッチングを適用した場合のマッチング回数は37×17+5×5=654回となり、処理時間を大幅に短縮できることが分かる。   Therefore, the number of matching processes when layer matching is not performed is 145 × 65 = 9425 times, whereas the number of matching processes when layer matching is applied is 37 × 17 + 5 × 5 = 654 times, which greatly increases the processing time. It can be seen that it can be shortened.

そして、前述した動きベクトル検出方法の第1の例の場合におけるラインメモリは、縮小面SADテーブルの1ライン分でよいので、37個のSAD値およびその位置情報を格納できるものでよく、SADテーブルTBLの場合の、9425個のSAD値およびその位置情報を格納するメモリに対して非常に小さいメモリでよくなる。   The line memory in the case of the first example of the motion vector detection method described above may be one line in the reduced-surface SAD table, so that it can store 37 SAD values and their position information. In the case of TBL, a very small memory is sufficient for the memory storing 9425 SAD values and their position information.

また、前述した動きベクトル算出部164の構成例の第2の例の場合には、37個のSAD値およびその位置情報を格納する縮小面SADテーブルさえも不要となるので、さらに回路規模を小さくすることができる。   Further, in the case of the second example of the configuration example of the motion vector calculation unit 164 described above, even the reduced surface SAD table for storing the 37 SAD values and the position information thereof becomes unnecessary, so that the circuit scale can be further reduced. can do.

以上のようにして、上記の実施の形態によれば、階層化したマッチング処理を行った後、基底面において補間処理をすることにより、広いサーチ範囲で、サブピクセル精度の動きベクトル検出を行うことが可能になる。   As described above, according to the above-described embodiment, after performing the hierarchical matching process, the interpolation process is performed on the basal plane, thereby performing motion vector detection with sub-pixel accuracy in a wide search range. Is possible.

なお、図33に、この実施形態の階層化ブロックマッチング方式における、縮小面および基底面におけるターゲットブロックサイズおよびマッチング処理範囲の例を示す。この図33の例は、縮小面ターゲットブロック133のサイズを、図33(A)に示すように、横×縦=8×8画素で固定値としている。このため、縮小面マッチング処理範囲143は、図33(B)に示すように、横×縦=44×24画素分となる。   FIG. 33 shows an example of target block sizes and matching processing ranges on the reduction plane and the base plane in the hierarchical block matching method of this embodiment. In the example of FIG. 33, the size of the reduction plane target block 133 is a fixed value of horizontal × vertical = 8 × 8 pixels as shown in FIG. For this reason, the reduced surface matching processing range 143 is horizontal × vertical = 44 × 24 pixels as shown in FIG.

そして、基底面ターゲットブロック131のサイズ、基底面マッチング処理範囲144のサイズおよび基底面参照ベクトル数は、図33(C)に示すようなものとなる。この図33(C)は、基底面に対する縮小面の縮小倍率が1/2、1/4、1/8の場合の例のそれぞれにおける基底面ターゲットブロック131のサイズ、基底面マッチング処理範囲144のサイズおよび基底面参照ベクトル数を示している。   The size of the base plane target block 131, the size of the base plane matching processing range 144, and the number of base plane reference vectors are as shown in FIG. FIG. 33C shows the size of the base plane target block 131 and the base plane matching processing range 144 in each of the examples when the reduction ratio of the reduction plane with respect to the base plane is 1/2, 1/4, and 1/8. The size and the number of base plane reference vectors are shown.

[静止画NR処理時におけるメモリ容量削減および効率的なメモリアクセス]
上述したように、この実施形態では、静止画NR処理、および動画NR処理に対応している。動画NR処理では、精度よりもリアルタイム性、すなわちスピードが要求されるのに対して、静止画NR処理は多少処理時間がかかっても、ノイズの取れた綺麗な画像が求められる。
[Reduced memory capacity and efficient memory access during still image NR processing]
As described above, this embodiment supports still image NR processing and moving image NR processing. In moving image NR processing, real-time performance, that is, speed is required rather than accuracy, whereas still image NR processing requires a clean image with no noise even if processing time is somewhat long.

前述したように、画像の重ね合わせ方法をシステムアーキテクトの観点から大きく分類すると、静止画撮影時の高速連写中に、リアルタイムに画像の重ね合わせを行う手法である撮影中加算法と、前記高速連写後に、すべての参照画像が揃ってから画像の重ね合わせを行う手法である撮影後加算法の、2種類がある。十分な処理時間をかけてNR処理を行うには、撮影中加算法ではなく、撮影後加算法の方が望ましく、この実施形態では、撮影後加算法を採っている。   As described above, when the image overlay method is largely classified from the viewpoint of the system architect, the during-shoot addition method, which is a method for performing image overlay in real time during high-speed continuous shooting during still image shooting, After high-speed continuous shooting, there are two types, a post-shooting addition method, which is a method of superimposing images after all reference images are gathered. In order to perform the NR process with sufficient processing time, the post-shooting addition method is preferable rather than the during-shooting addition method. In this embodiment, the post-shooting addition method is used.

しかしながら、撮影後加算法は、参照画像を画像メモリに保持しておかなくてはならず、重ね合わせ枚数が増えるほど、画像メモリとして大容量が必要になるという問題がある。   However, the post-shooting addition method has to store the reference image in the image memory, and there is a problem that a larger capacity is required as the image memory as the number of superimposed images increases.

この実施形態では、この問題点にかんがみ、静止画NR処理時に、撮影後加算法を用いるに当たって、画像メモリ部4の容量をできるだけ削減すると共に、効率的にメモリアクセスを行うことができるように工夫している。以下、この点について説明する。   In this embodiment, in view of this problem, in using the post-shooting addition method at the time of still image NR processing, the capacity of the image memory unit 4 is reduced as much as possible and the memory access can be performed efficiently. is doing. Hereinafter, this point will be described.

<静止画NR処理時のメモリアクセス時のデータフォーマット>
先ず、この実施形態における画像メモリ部4に対するメモリアクセス時のデータフォーマットについて説明する。
<Data format for memory access during still image NR processing>
First, a data format at the time of memory access to the image memory unit 4 in this embodiment will be described.

図13および図16のブロック図に示したように、動き検出・動き補償部16および画像重ね合わせ部17とは、それぞれバス・インターフェース部21,22,23,24を介してシステムバス2に接続されている。   As shown in the block diagrams of FIGS. 13 and 16, the motion detection / motion compensation unit 16 and the image superposition unit 17 are connected to the system bus 2 via bus interface units 21, 22, 23, and 24, respectively. Has been.

この実施形態におけるシステムバス2は、バス幅は、例えば64ビットであり、メモリコントローラ8によるバースト長(所定の複数画素データ単位でバースト転送を連続して行える回数)は、例えば最大16バーストとされている。つまり、バースト転送の最大連続可能回数qは、この例では、q=16とされている。   The system bus 2 in this embodiment has a bus width of, for example, 64 bits, and the burst length by the memory controller 8 (the number of times burst transfer can be continuously performed in units of predetermined plural pixel data) is, for example, 16 bursts at maximum ing. In other words, the maximum number q of continuous burst transfers that can be performed is q = 16 in this example.

動き検出・動き補償部16のターゲットブロックバッファ部161および参照ブロックバッファ部162からの読み込み要求が、バス・インターフェース部21,22を通じてメモリコントローラ8に供給され、当該メモリコントローラ8にて、画像メモリ部4の所定のメモリに対して、スタートアドレス、バースト長、その他のバスプロトコルを生成して、アクセスしている。   Read requests from the target block buffer unit 161 and the reference block buffer unit 162 of the motion detection / compensation unit 16 are supplied to the memory controller 8 through the bus interface units 21 and 22, and the memory controller 8 uses the image memory unit. 4 predetermined memories are accessed by generating a start address, a burst length, and other bus protocols.

この実施形態の撮像装置で使用している画像データは、1画素が、輝度信号Yとクロマ信号C(Cr,Cb)とからなる。そして、Y:Cr:Cb=4:2:2のフォーマットであり、輝度信号Y、クロマ信号C(Cr,Cb)は、共に符号なしの8ビット(Cr=4ビット、Cb=4ビット)であって、64ビットのメモリアクセス幅に、YC4画素分が並んでいるものである。システムバス2のデータ処理単位(1バースト転送で転送可能なデータ量)は、64ビットであり、1画素分のYC画素データが16ビットであるので、4画素分になる。つまり、1バースト転送で転送可能な画素数pは、この例では、p=4画素である。   In the image data used in the imaging apparatus of this embodiment, one pixel is composed of a luminance signal Y and a chroma signal C (Cr, Cb). The format is Y: Cr: Cb = 4: 2: 2, and the luminance signal Y and chroma signal C (Cr, Cb) are both unsigned 8 bits (Cr = 4 bits, Cb = 4 bits). Therefore, YC4 pixels are arranged in a memory access width of 64 bits. The data processing unit of the system bus 2 (the amount of data that can be transferred by one burst transfer) is 64 bits, and the YC pixel data for one pixel is 16 bits. That is, the number of pixels p that can be transferred in one burst transfer is p = 4 pixels in this example.

図1に示したようなグローバルなシステムバス2に、撮像装置の各処理部がつながっている場合、バス帯域と、各処理部で共有しているメモリコントローラ8の処理単位とは、密接な関係がある。ここで、バス帯域とは、データを転送するバス上で、輻輳を回避してデータ転送することができるデータレートおよびバス幅(ビット数)などからなる量である。   When each processing unit of the imaging device is connected to the global system bus 2 as shown in FIG. 1, the bus bandwidth and the processing unit of the memory controller 8 shared by each processing unit are closely related. There is. Here, the bus bandwidth is an amount including a data rate, a bus width (number of bits), and the like at which data can be transferred while avoiding congestion on a bus for transferring data.

ところで、上述したように、この実施形態では、メモリコントローラ8が処理できる最大バースト長は16バーストである。例えば、同じデータサイズの画像データを、画像メモリ部4のメモリに書き込む場合でも、16バーストの転送をたくさん使える方が、バスのアービトレーション回数も減り、メモリコントローラ8によるメモリアクセス処理の効率が良く、バス帯域を削減できる。   By the way, as described above, in this embodiment, the maximum burst length that can be processed by the memory controller 8 is 16 bursts. For example, even when image data of the same data size is written in the memory of the image memory unit 4, if a large number of 16 burst transfers can be used, the number of bus arbitrations is reduced, and the memory access processing by the memory controller 8 is efficient. The bus bandwidth can be reduced.

したがって、この実施形態では、YC画素データの4画素分のデータ(64ビット)を16バーストでバスアクセスすることができると、効率が良い。これを画素数に換算すると、4×16=64画素分のデータになる。   Therefore, in this embodiment, it is efficient if the data (64 bits) of 4 pixels of YC pixel data can be bus-accessed by 16 bursts. When this is converted into the number of pixels, the data is 4 × 16 = 64 pixels.

そこで、この実施形態では、図34(A)に示すように、1画面分の画像の水平方向を、1バースト転送(64画素)単位で分割して、1画面分の画像を、縦長の分割ブロックの画像単位(以下、短冊と称する)の複数個からなるものとすることを考える。そして、画像メモリ部4に対する画像データのメモリアクセスのフォーマットの1つとして、画像データを、この短冊単位で、画像メモリ部4に書き込み、また、画像メモリ部4から読み出しするメモリアクセス方式(以下、短冊アクセス形式と称する)を採用する。静止画NR処理時には、基本的に、この短冊アクセス形式により画像メモリ部4に対する画像データのメモリアクセスを行う。   Therefore, in this embodiment, as shown in FIG. 34 (A), the horizontal direction of the image for one screen is divided in units of 1 burst transfer (64 pixels), and the image for one screen is divided vertically. Suppose that it is composed of a plurality of block image units (hereinafter referred to as strips). Then, as one of the memory access formats of the image data to the image memory unit 4, a memory access method for writing image data to the image memory unit 4 and reading it from the image memory unit 4 (hereinafter referred to as “the memory access method”). Adopt a strip access format). During still image NR processing, image data memory access to the image memory unit 4 is basically performed using this strip access format.

ここで、水平方向の64画素を16バーストでバスアクセスするフォーマットを、64×1フォーマットと称することとする。この64×1フォーマットは、図36(B)に示すように、4画素毎のバースト転送を、最大連続バースト回数である16回、連続して繰り返すメモリアクセス方式である。メモリコントローラ8は、64×1フォーマットのバスアクセスを実行するためのアドレス生成部(図示は省略)を備えている。すなわち、図36(B)に示すように、4画素毎のバースト転送の先頭のアドレスA1,A2,A3・・・A16が定まると、自動的に、64×1フォーマットのバスアクセスができる。メモリコントローラ8は、64×1フォーマットのメモリアクセスを実行するためのアドレス生成部(図示は省略)を備えている。   Here, a format in which 64 pixels in the horizontal direction are bus-accessed by 16 bursts is referred to as a 64 × 1 format. This 64 × 1 format is a memory access method in which burst transfer for every four pixels is continuously repeated 16 times, which is the maximum number of continuous bursts, as shown in FIG. The memory controller 8 includes an address generation unit (not shown) for executing 64 × 1 format bus access. That is, as shown in FIG. 36 (B), when the start addresses A1, A2, A3... A16 of burst transfer for every four pixels are determined, the bus access in the 64 × 1 format can be automatically performed. The memory controller 8 includes an address generation unit (not shown) for executing 64 × 1 format memory access.

そして、短冊アクセス形式は、64×1フォーマットを、画面の垂直方向に連続して行う方式ということになる。64×1フォーマットを、水平方向に繰り返し、1ライン分の全てのアクセスを終了したら、次のラインについて同様のアクセスをすることで、ラスタースキャン形式の画像データのアクセスができる。   The strip access format is a system in which the 64 × 1 format is continuously performed in the vertical direction of the screen. When the 64 × 1 format is repeated in the horizontal direction and all accesses for one line are completed, the same access is made for the next line, thereby enabling access to image data in the raster scan format.

この実施形態のメモリコントローラ8は、このような短冊アクセス形式を実行するためのアドレス生成部(図示は省略)を備えている。   The memory controller 8 of this embodiment includes an address generation unit (not shown) for executing such a strip access format.

なお、水平方向の画像データが64画素で割り切れない場合は、図34で、影線を付して示すように、水平方向の右端にダミー領域151を設けて、このダミー領域151に、例えば黒や白の画素データをダミーデータとして付加し、水平方向の画素数が、64の倍数になるようにしている。   If the horizontal image data is not divisible by 64 pixels, a dummy area 151 is provided at the right end in the horizontal direction as shown with a shadow line in FIG. Or white pixel data is added as dummy data so that the number of pixels in the horizontal direction is a multiple of 64.

従来のラスタースキャン方式は、画像メモリへのアクセスに対して、水平方向にアドレスが連続しているため、1ラインずつデータを読むのに適しているのに対して、短冊アクセス形式は、1バースト転送(64画素)単位で垂直方向にアドレスがインクリメントするため、水平方向が64画素以内であるブロック状のデータを読むのに適している。   The conventional raster scan method is suitable for reading data line by line because the addresses are continuous in the horizontal direction when accessing the image memory, whereas the strip access format is 1 burst. Since the address is incremented in the vertical direction in units of transfer (64 pixels), it is suitable for reading block-like data whose horizontal direction is within 64 pixels.

例えば、64画素×64ラインの短冊形式のブロックを読み込む際には、画像メモリ部4に対して、メモリコントローラ8は、YC画素データの4画素分のデータ(64ビット)を16バーストでバスアクセスすると、当該16バーストで、4×16=64画素分のデータになるので、水平方向の64画素からなる1ライン目のアドレスの設定以降は、垂直方向にアドレスをインクリメントしていくだけで、残り63ライン分の画素データのアドレス設定をすることが可能である。   For example, when reading a strip block of 64 pixels × 64 lines, the memory controller 8 accesses the four pixels of YC pixel data (64 bits) in 16 bursts for the image memory unit 4. Then, since the data of 4 × 16 = 64 pixels is obtained in the 16 bursts, after setting the address of the first line composed of 64 pixels in the horizontal direction, the remaining 63 is simply incremented in the vertical direction. It is possible to set the address of pixel data for a line.

この実施形態では、動き検出・動き補償部16が、上記の短冊アクセス形式で画像メモリ部4にアクセスできるように、その前段にある、画像補正・解像度変換部15においても、短冊アクセス形式のアクセスに対応している。また、この実施形態では、静止画撮影時の静止画NR処理においては、高速連写撮影して得た複数枚の撮像画像を、圧縮して画像メモリ部4に記憶しておき、必要に応じて伸長デコードして読み出して、動き検出・動き補償部16でのブロックマッチング処理ができるようにするため、静止画コーデック部19においても、短冊アクセス形式に対応している。   In this embodiment, in order to allow the motion detection / motion compensation unit 16 to access the image memory unit 4 in the above-described strip access format, the image correction / resolution conversion unit 15 in the preceding stage also accesses the strip access format. It corresponds to. In this embodiment, in still image NR processing at the time of still image shooting, a plurality of captured images obtained by high-speed continuous shooting are compressed and stored in the image memory unit 4, as necessary. Therefore, the still image codec unit 19 is also compatible with the strip access format so that the motion detection / compensation unit 16 can perform the block matching process by decoding and reading the data.

図35(A)は、1画面分の画像が、横×縦=640×480画素からなる例における短冊単位の分割例である。この例においては、1画面分の画像が、水平方向の64画素単位で分割される結果、10個の短冊T0〜T9に分けられている。   FIG. 35A is an example of division in strip units in an example in which an image for one screen includes horizontal × vertical = 640 × 480 pixels. In this example, the image for one screen is divided into ten strips T0 to T9 as a result of being divided in units of 64 pixels in the horizontal direction.

前述した図33に示した縮小倍率1/4の場合では、1つの短冊の中には、図35(B)に示すように、32×32画素の基底面ターゲットブロックが、B0〜B29として示すように、水平方向に2個、垂直方向に15個、合計30個入っている。   In the case of the reduction ratio ¼ shown in FIG. 33 described above, in one strip, as shown in FIG. 35 (B), the basal plane target block of 32 × 32 pixels is shown as B0 to B29. Thus, there are 30 in total, 2 in the horizontal direction and 15 in the vertical direction.

静止画NR処理時において、画像メモリ部4から基底面ターゲットブロックを読み込むときは、短冊アクセス形式の利点を活かすために、この実施形態では、64画素×1ラインずつアクセスし、バス効率を上げるようにしている。   At the time of still image NR processing, when reading the basal plane target block from the image memory unit 4, in order to take advantage of the strip access format, in this embodiment, 64 pixels × 1 line is accessed to increase bus efficiency. I have to.

例えば、図36に示すように、基底面に対する縮小面の縮小倍率が1/2のときは、この実施形態では、基底面ターゲットブロックの大きさは、横×縦=16画素×16ラインとされる。したがって、この基底面ターゲットブロックを4個、水平方向に並べると、水平方向の画素数が64画素となる。そこで、この実施形態では、縮小倍率1/2のときは、図36の右側に示すように、画像メモリ部4に対するアクセス単位を、当該ターゲットブロックの4個とし、上述した64×1フォーマットの短冊アクセス形式でアクセスする。つまり、4個のターゲットブロックは、水平方向の64画素単位のアクセス(4画素×16バースト)を、アドレスを垂直方向に変更しながら、16回繰り返すことで転送することができる。   For example, as shown in FIG. 36, when the reduction ratio of the reduction surface with respect to the base surface is 1/2, in this embodiment, the size of the base surface target block is horizontal × vertical = 16 pixels × 16 lines. The Therefore, when four basal plane target blocks are arranged in the horizontal direction, the number of pixels in the horizontal direction is 64 pixels. Therefore, in this embodiment, when the reduction ratio is 1/2, as shown on the right side of FIG. 36, the access unit to the image memory unit 4 is four of the target blocks, and the above-described strip of 64 × 1 format is used. Access by access type. That is, the four target blocks can be transferred by repeating access in units of 64 pixels in the horizontal direction (4 pixels × 16 bursts) 16 times while changing the address in the vertical direction.

同様にして、図36に示すように、基底面に対する縮小面の縮小倍率が1/4のときは、この実施形態では、基底面ターゲットブロックの大きさは、横×縦=32画素×32ラインとされるので、基底面ターゲットブロックは2個ずつ、画像メモリに対してアクセスするようにすることで、上述した64×1フォーマットの短冊アクセス形式でアクセスすることができる。また、基底面に対する縮小面の縮小倍率が1/8のときは、この実施形態では、基底面ターゲットブロックの大きさは、横×縦=64画素×64ラインとされるので、基底面ターゲットブロックは1個ずつ、画像メモリに対してアクセスするようにすることで、上述した64×1フォーマットの短冊アクセス形式でアクセスすることができる。   Similarly, as shown in FIG. 36, when the reduction ratio of the reduction surface with respect to the base surface is 1/4, in this embodiment, the size of the base surface target block is horizontal × vertical = 32 pixels × 32 lines. Therefore, by accessing the image memory two by two, the base plane target blocks can be accessed in the above-described 64 × 1 format strip access format. When the reduction ratio of the reduction plane with respect to the base plane is 1/8, in this embodiment, the size of the base plane target block is horizontal × vertical = 64 pixels × 64 lines. By accessing the image memory one by one, it is possible to access in the strip access format of the 64 × 1 format described above.

短冊アクセス形式は、バス帯域という面だけでなく、上記の回路の内部処理においても、非常に有益な手法である。第一に、垂直方向のフィルタ処理等を行うための、垂直フィルタ処理部の内部ラインメモリのサイズを削減することができる。   The strip access format is a very useful technique not only in terms of bus bandwidth but also in the internal processing of the above circuit. First, it is possible to reduce the size of the internal line memory of the vertical filter processing unit for performing vertical filter processing and the like.

すなわち、ラスタースキャン形式で画素データのアクセスをする場合には、垂直方向のフィルタ処理のためには、1ライン分のすべての画素が垂直フィルタ処理部の内部ラインメモリに蓄積された後でないと、次のラインの画素データの蓄積が開始されないので、内部ラインメモリは、1ライン分の容量のラインメモリを複数個必要とするが、短冊アクセス形式の場合には、上述の例では、64画素単位で、垂直方向の次のラインの画素データが到来することになるので、垂直フィルタ処理部の内部ラインメモリは、64画素分の容量のラインメモリを複数個備えるだけでよくなり、ラインメモリのサイズを削減することができる。   That is, when accessing pixel data in the raster scan format, for vertical filter processing, all the pixels for one line must be stored in the internal line memory of the vertical filter processing unit. Since the accumulation of the pixel data of the next line is not started, the internal line memory requires a plurality of line memories having a capacity for one line. In the case of the strip access format, in the above example, in the unit of 64 pixels Thus, since the pixel data of the next line in the vertical direction arrives, the internal line memory of the vertical filter processing unit only needs to have a plurality of line memories having a capacity of 64 pixels, and the size of the line memory Can be reduced.

また、解像度変換処理のような、ブロック形式で処理を行う回路にとっては、ラスタースキャン形式から任意のブロックに変換するよりも、短冊形式から任意のブロック形式に変換した方が、効率が良いという利点がある。   For circuits that perform processing in block format, such as resolution conversion processing, it is more efficient to convert from strip format to arbitrary block format than to convert from raster scan format to arbitrary block There is.

<静止画撮影時の静止画NR処理における撮像画像の圧縮、伸長処理>
前述したように、この実施形態では、静止画撮影時の静止画NR処理における加算処理としては、撮影後加算処理を採用している。このため、静止画撮影時の静止画NR処理においては、全ての参照画像を、画像メモリ部4に保持しておく必要がある。すなわち、この実施形態では、シャッターボタンが押下されると、撮像装置では、高速連写により、2枚以上の複数枚の撮像画像が取り込まれ、画像メモリ部4に格納される。
<Compression and decompression processing of captured image in still image NR processing during still image shooting>
As described above, in this embodiment, post-shooting addition processing is employed as the addition processing in the still image NR processing during still image shooting. For this reason, in the still image NR processing at the time of still image shooting, it is necessary to store all the reference images in the image memory unit 4. That is, in this embodiment, when the shutter button is pressed, the imaging apparatus captures two or more captured images by high-speed continuous shooting and stores them in the image memory unit 4.

撮影中加算方式では、画像メモリ部4には、最大2フレーム分の参照画像を保持するだけでよいのに対して、撮影後加算方式では、それ以上の枚数の参照画像を画像メモリ部4に保持する必要がある。そこで、この実施形態では、画像メモリ4の容量を削減するため、高速連写により取り込んだ撮像画像は、静止画コーデック部18で画像データ圧縮符号化して、画像メモリ部4に格納し、取り込んだ画像を参照画像として用いるときには、圧縮符号化されている画像データを伸長復号化して用いるようにする。   In the addition method during shooting, the image memory unit 4 only needs to store reference images for a maximum of two frames, whereas in the addition method after shooting, a larger number of reference images are stored in the image memory unit 4. Need to hold. Therefore, in this embodiment, in order to reduce the capacity of the image memory 4, the captured image captured by high-speed continuous shooting is compressed and encoded by the still image codec unit 18, stored in the image memory unit 4, and captured. When an image is used as a reference image, the compressed and encoded image data is decompressed and used.

静止画撮影時の静止画NR処理の流れについては、図17および図18に示したフローチャートに概要を説明したが、この図17および図18に示したフローチャート中の幾つかのステップにおいて、画像データの圧縮符号化処理または伸長復号化処理がなされることになる。   The outline of the flow of the still image NR processing at the time of still image shooting has been described in the flowcharts shown in FIGS. 17 and 18, but the image data is processed at some steps in the flowcharts shown in FIGS. The compression encoding process or the decompression decoding process is performed.

図17のステップS1においては、シャッターボタン操作に基づく高速連写により取り込まれた複数枚の撮像画像が画像メモリ部4に書き込まれるが、その際、取り込まれた撮像画像の画像データは、静止画コーデック部18で圧縮符号化される。図37に、このときの画像データの流れを、点線で示す。   In step S1 of FIG. 17, a plurality of captured images captured by high-speed continuous shooting based on the shutter button operation are written into the image memory unit 4. At this time, the captured image data of the captured images is a still image. The codec unit 18 performs compression encoding. FIG. 37 shows the flow of image data at this time by dotted lines.

すなわち、撮像素子11からの撮像画像は、前処理部13でセンサー補正などの前処理がなされた後、RAW信号形式(カメラ信号処理を行う前のデータ形式)で、一旦、画像メモリ部4に格納される。   That is, the captured image from the image sensor 11 is subjected to preprocessing such as sensor correction in the preprocessing unit 13 and then temporarily stored in the image memory unit 4 in the RAW signal format (data format before performing camera signal processing). Stored.

その後、撮影画像は、画像メモリ部4から短冊アクセス形式で読み出されてデータ変換部14でRAW信号からYC画素データに変換され、画像補正・解像度変換部15で画像補正、解像度変換などが行われた後、画像メモリ部4を介さずに、直接、静止画コーデック部18で、この例ではJPEG(Joint Photographic Experts Group)方式で圧縮符号化されて圧縮された状態で、画像メモリ部4に書き込まれる。したがって、ここでは、画像を圧縮する単位は、画像の1枚単位ではなく、短冊単位になる。高速連写時は、以上の手順が複数枚分、繰り返して行われて、画像メモリ部4には、当該複数枚の撮像画像データの圧縮データが格納保持される。   Thereafter, the photographed image is read from the image memory unit 4 in a strip access format, converted from the RAW signal to YC pixel data by the data conversion unit 14, and subjected to image correction, resolution conversion, and the like by the image correction / resolution conversion unit 15. After being transmitted to the image memory unit 4 in a state of being directly compressed and encoded by the still image codec unit 18 without using the image memory unit 4, in this example by the JPEG (Joint Photographic Experts Group) method. Written. Therefore, here, the unit for compressing the image is not a single image unit but a strip unit. During high-speed continuous shooting, the above procedure is repeated for a plurality of sheets, and the image memory unit 4 stores and holds compressed data of the plurality of captured image data.

高速連写されて取り込まれた全ての撮像画像の圧縮符号化および画像メモリ部4への格納が終わったら、図17のステップS3の処理のうちのターゲット画像の設定処理を行う。図38に、このときの画像データの流れを示す。   When all of the captured images captured by high-speed continuous shooting are compressed and stored in the image memory unit 4, the target image setting process in the process of step S3 in FIG. 17 is performed. FIG. 38 shows the flow of image data at this time.

すなわち、シャッターボタンが押下されてから最初に取り込まれた撮像画像の圧縮画像データが画像メモリ部4から短冊アクセス形式で読み出されて、静止画コーデック部19に供給され、伸長復号化される。伸長復号化された画像データは、短冊アクセス形式で基底面ターゲット画像Pbtとして、画像メモリ4に書き込まれる。   That is, compressed image data of a captured image that is first captured after the shutter button is pressed is read from the image memory unit 4 in a strip access format, supplied to the still image codec unit 19, and decompressed and decoded. The decompressed and decoded image data is written in the image memory 4 as a base surface target image Pbt in a strip access format.

そして、画像メモリ部4に書き込まれた、伸長復号化された基底面ターゲット画像Pbtの画像データは短冊アクセス形式で読み出されて、動き検出・動き補償部16を通じて画像重ね合わせ部17に供給され、図16に示した画像重ね合わせ部17の縮小面生成部174で縮小化される。そして、この縮小面生成部174からの縮小化されたターゲット画像が、縮小面ターゲット画像Prtとして、短冊単位で画像メモリ部4に書き込まれる。   Then, the decompressed and decoded base surface target image Pbt image data written in the image memory unit 4 is read out in a strip access format and supplied to the image superposition unit 17 through the motion detection / motion compensation unit 16. The image is reduced by the reduction plane generation unit 174 of the image superposition unit 17 shown in FIG. Then, the reduced target image from the reduced surface generation unit 174 is written in the image memory unit 4 in strip units as the reduced surface target image Prt.

以上のようにしてターゲット画像についての処理が終了した後、図17のステップS3の処理のうちの参照画像についての設定処理がなされる。このときの画像データの流れを、図39に示す。   After the process for the target image is completed as described above, the setting process for the reference image in the process of step S3 in FIG. 17 is performed. The flow of the image data at this time is shown in FIG.

すなわち、画像メモリ4に格納されている圧縮符号化された複数枚の撮像画像のうち、ブロックマッチングの参照画像となる、2枚目の撮影画像が画像メモリ部4から短冊アクセス形式で読み出されて、静止画コーデック部18に供給され、伸長復号化される。伸長復号化された画像データは、短冊アクセス形式で基底面参照画像Pbrとして、画像メモリ4に書き込まれる。   That is, among the plurality of compression-encoded captured images stored in the image memory 4, a second captured image serving as a block matching reference image is read from the image memory unit 4 in a strip access format. Then, it is supplied to the still image codec unit 18 and decompressed and decoded. The decompressed and decoded image data is written in the image memory 4 as a base reference image Pbr in a strip access format.

そして、画像メモリ部4に書き込まれた、伸長復号化された基底面参照画像Pbrの画像データは短冊アクセス形式で読み出されて、動き検出・動き補償部16を通じて画像重ね合わせ部17に供給され、図16に示した画像重ね合わせ部17の縮小面生成部174で縮小化される。そして、この縮小面生成部174からの縮小化された参照画像が、縮小面参照画像Prrとして、短冊アクセス形式で画像メモリ部4に書き込まれる。   The decompressed and decoded base plane reference image Pbr image data written in the image memory unit 4 is read out in a strip access format and supplied to the image superposition unit 17 through the motion detection / motion compensation unit 16. The image is reduced by the reduction plane generation unit 174 of the image superposition unit 17 shown in FIG. Then, the reduced reference image from the reduced surface generation unit 174 is written in the image memory unit 4 in a strip access format as a reduced surface reference image Prr.

次に、伸長復号化ターゲット画像と、伸長復号化した参照画像とで動き検出・動き補償を行う。これは、図17のステップS4〜ステップS9の処理に相当する。また、図28および図29のフローチャートに示した処理に対応する。図40に、このときの画像データの流れを示す。   Next, motion detection / motion compensation is performed on the decompression-decoded target image and the decompressed and decoded reference image. This corresponds to the processing in steps S4 to S9 in FIG. Further, it corresponds to the processing shown in the flowcharts of FIGS. FIG. 40 shows the flow of image data at this time.

先ず、縮小面ブロックマッチング処理を行う。すなわち、画像メモリ部4の縮小面ターゲット画像Prtから、設定された縮小面ターゲットブロックの画像データを短冊アクセス形式で読み出して、動き検出・動き補償部16のターゲットブロックバッファ部161に格納すると共に、縮小面参照画像Prrから、縮小面ターゲットブロックについてのサーチ範囲に対応する縮小面マッチング処理範囲を短冊アクセス形式で読み出して、参照ブロックバッファ部162に格納する。   First, reduction plane block matching processing is performed. That is, the image data of the set reduction plane target block is read out from the reduction plane target image Prt of the image memory unit 4 in the strip access format, and is stored in the target block buffer unit 161 of the motion detection / motion compensation unit 16. The reduced surface matching processing range corresponding to the search range for the reduced surface target block is read from the reduced surface reference image Prr in the strip access format and stored in the reference block buffer unit 162.

そして、それぞれのバッファ部161および162から、縮小面ターゲットブロックおよび縮小面参照ブロックの画素データを読み出して、マッチング処理部163で、縮小面ブロックマッチング処理を行い、設定された縮小面ターゲットブロックについての縮小面動きベクトルの検出を行い、設定された縮小面ターゲットブロックについての縮小面動きベクトルを検出する。   Then, the pixel data of the reduced surface target block and the reduced surface reference block are read out from the respective buffer units 161 and 162, the reduced surface block matching process is performed in the matching processing unit 163, and the set reduced surface target block is set. A reduction plane motion vector is detected, and a reduction plane motion vector for the set reduction plane target block is detected.

次に、縮小面動きベクトルに基づいて、前述したようにして、基底面ターゲットブロックを設定すると共に、基底面サーチ範囲を設定し、画像メモリ部4の基底面ターゲット画像Pbtから、設定された基底面ターゲットブロックを短冊アクセス形式で読み出してターゲットブロックバッファ161に格納すると共に、設定された基底面サーチ範囲に対応する基底面マッチング処理範囲を画像メモリ部4の基底面参照画像Pbrから短冊アクセス形式で読み出し、参照ブロックバッファ部162に格納する。   Next, based on the reduced plane motion vector, as described above, the base plane target block is set, the base plane search range is set, and the base set from the base plane target image Pbt of the image memory unit 4 is set. The plane target block is read in the strip access format and stored in the target block buffer 161, and the base plane matching processing range corresponding to the set base plane search range is read from the base plane reference image Pbr of the image memory unit 4 in the strip access format. Read and store in the reference block buffer unit 162.

そして、それぞれのバッファ部161および162から、基底面ターゲットブロックおよび基底面参照ブロックの画素データを読み出して、マッチング処理部163で、基底面ブロックマッチング処理を行い、動きベクトル算出部164で、設定された基底面ターゲットブロックについてのサブピクセル精度の基底面動きベクトルの検出を行う。   Then, pixel data of the basal plane target block and the basal plane reference block are read from the respective buffer units 161 and 162, the basal plane block matching process is performed by the matching processing unit 163, and the motion vector calculation unit 164 sets the pixel data. The base plane motion vector with sub-pixel accuracy is detected for the base plane target block.

そして、動き検出・動き補償部16は、検出された基底面動きベクトルに基づいて、動き補償ブロックを参照ブロックバッファ部162の基底面参照画像から読み出し、基底面ターゲットブロックと共に、画像重ね合わせ部17に供給する。画像重ね合わせ部17では、ブロック単位の画像の重ね合わせを行い、その結果のブロック単位の基底面NR画像Pbnrを、短冊アクセス形式で画像メモリ部4に貼る。また、画像重ね合わせ部17は、その縮小面生成部174で生成した縮小面NR画像Prnrも、画像メモリ部4に貼る。   Then, the motion detection / compensation unit 16 reads out the motion compensation block from the base plane reference image of the reference block buffer unit 162 based on the detected base plane motion vector, and the image overlay unit 17 together with the base plane target block. To supply. The image superimposing unit 17 superimposes the images in block units, and pastes the resulting base NR image Pbnr in block units on the image memory unit 4 in a strip access format. The image superimposing unit 17 also pastes the reduced surface NR image Prnr generated by the reduced surface generation unit 174 to the image memory unit 4.

以上の動作を、ターゲット画像の全てのターゲットブロックについて繰り返し行い、全てのターゲットブロックについてのブロックマッチングが終了したら、3枚目の画像を参照画像とすると共に、基底面NR画像Pbnrおよび縮小面NR画像Prnrを、ターゲット画像として(図18のステップS14)、上述と同様のブロックマッチング処理を繰り返し行う(図17のステップS4〜図18のステップS14)。そして、取り込んだ全ての画像についての処理が終了すると、最終的に得られる基底面NR画像Pbnrを、静止画コーデック部18で圧縮符号化して、記録再生装置部5の記録媒体に記録するようにする。   The above operation is repeated for all target blocks of the target image, and when block matching for all target blocks is completed, the third image is used as a reference image, and the base NR image Pbnr and reduced surface NR image Prnr is used as a target image (step S14 in FIG. 18), and the same block matching process as described above is repeated (step S4 in FIG. 17 to step S14 in FIG. 18). When all the captured images have been processed, the finally obtained base NR image Pbnr is compressed and encoded by the still image codec unit 18 and recorded on the recording medium of the recording / reproducing device unit 5. To do.

上述したように、この実施形態では、ターゲット画像と参照画像を重ね合わせたNR画像は、次の重ね合わせを行うときのターゲット画像になる。また、基底面ターゲットブロックは、ブロックマッチング処理が終わった後は、必要のないデータになる。   As described above, in this embodiment, the NR image obtained by superimposing the target image and the reference image becomes a target image for the next superposition. In addition, the basal plane target block becomes unnecessary data after the block matching process is completed.

以上の特徴から、この実施形態において、画像重ね合わせ部17では、基底面ターゲットブロックと動き補償ブロックを重ね合わせたNR済みのブロックを、もとの基底面ターゲットブロックのあったアドレスに上書きしている。   Due to the above characteristics, in this embodiment, the image superimposing unit 17 overwrites the NR-completed block obtained by superimposing the basal plane target block and the motion compensation block on the address where the original basal plane target block was located. Yes.

例えば、図41(A),(B)に示すように、今、短冊T5のブロックB4をターゲットブロックとしたブロックマッチング処理をしているときは、短冊T0から短冊T4、および、ブロックB0からブロックB3は、全て、NR済みのブロックということになる。   For example, as shown in FIGS. 41A and 41B, when block matching processing is performed using the block B4 of the strip T5 as a target block, the strip T0 to the strip T4 and the block B0 to the block B0. B3 is all NR completed blocks.

以上のようにして、画像補正・解像度変換部15で短冊アクセス形式のメモリアクセスを行い、静止画についての圧縮符号化の処理も短冊アクセス形式でアクセスすることで、画像補正・解像度変換部15から静止画コーデック部18に、画像メモリ部4を介さず、直接、画像データを転送することができ、高速連写画像を効率よく圧縮符号化して、画像メモリ部4に格納することができる。   As described above, the image correction / resolution conversion unit 15 performs memory access in the strip access format, and the compression encoding process for the still image is also accessed in the strip access format. Image data can be transferred directly to the still image codec unit 18 without going through the image memory unit 4, and high-speed continuous shot images can be efficiently compression-encoded and stored in the image memory unit 4.

<画像メモリ容量の削減>
次に、参照画像の伸長復号化時の、画像メモリ容量の削減について説明する。
<Reduction of image memory capacity>
Next, reduction of the image memory capacity at the time of decompression decoding of the reference image will be described.

この実施形態における静止画撮影時の静止画NR処理時においては、画像メモリ部4に圧縮符号化して取り込んだ画像について、ターゲット画像は全て伸長復号化するが、図42の画像データフローに示すように、参照画像については、マッチング処理に使用する短冊単位の画像データだけを伸長復号化することで、画像メモリ容量を削減している。すなわち、画像メモリ部4における伸長復号化された参照画像(基底面および縮小面)を格納する画像メモリの容量を、短冊単位に画像データを伸長復号化することにより、削減している。   At the time of still image NR processing at the time of still image shooting in this embodiment, the target image is all decompressed and decoded for the image captured by compression encoding in the image memory unit 4, but as shown in the image data flow of FIG. In addition, with respect to the reference image, only the image data in strip units used for the matching process is decompressed and decoded, thereby reducing the image memory capacity. That is, the capacity of the image memory that stores the decompressed and decoded reference images (base plane and reduced plane) in the image memory unit 4 is reduced by decompressing and decoding the image data in strip units.

このことについて、例を挙げて説明する。例えば、基底面ターゲット画像は、図43(A)に示すように、水平方向が64画素の短冊T0から短冊T9にまで分割されており、基底面参照画像は、図43(B)に示すように、同様に水平方向が64画素の短冊R0から短冊R9にまで分割されているとする。   This will be described with an example. For example, the basal plane target image is divided into strips T0 to T9 having 64 pixels in the horizontal direction as shown in FIG. 43 (A), and the basal plane reference image is as shown in FIG. 43 (B). Similarly, suppose that the horizontal direction is divided into strips R0 to R9 having 64 pixels.

今、短冊T4の中のターゲットブロックについてブロックマッチングを行っているとすると、基底面参照画像の短冊R0〜R9のうち、マッチング処理範囲としてアクセスする可能性のある短冊は、短冊R4を中心として、いくつかに限定することができる。   Now, assuming that block matching is performed for the target block in the strip T4, among the strips R0 to R9 of the basal plane reference image, the strip that may be accessed as the matching processing range is centered on the strip R4. It can be limited to several.

例えば、縮小倍率が1/4の場合を例にとると、縮小化して水平方向に44画素のマッチング処理範囲(図33(B)参照)を取るためには、基底面参照画像において、水平方向に176画素の画像データが必要である。したがって、図43(C)から分かるように、基底面参照画像は、図43(B)において塗りを付して示すように、短冊R4を中心に左右に、左右それぞれ2つずつの短冊R1,R2および短冊R3,R4が必要であり、この短冊R2〜R6の5つ分だけを伸長復号化すれば良いことになる。   For example, in the case where the reduction magnification is 1/4, in order to reduce and obtain a 44 pixel matching processing range in the horizontal direction (see FIG. 33B), in the basal plane reference image, the horizontal direction 176 pixel image data is required. Therefore, as can be seen from FIG. 43 (C), as shown in FIG. 43 (B), the basal plane reference image has two strips R1, two on each of the left and right sides of the strip R4. R2 and strips R3 and R4 are necessary, and only five strips R2 to R6 need to be decompressed and decoded.

次に、短冊T4に含まれるターゲットブロックのマッチング処理が全て終わり、図44(A)に示すように、短冊T5に含まれるターゲットブロックのマッチング処理に入った場合について考える。このとき、マッチング処理範囲を取るためには、図44(B)に示すように、短冊R5を中心に左右に2つずつの短冊R3〜R7が必要である。すなわち、短冊R3〜R6は、短冊T4に含まれるターゲットブロックのマッチング処理時に画像メモリ部4に既に格納されているので、新たに短冊R7だけを伸長復号化すれば良いことになる。また、同時に、短冊R2は不要になる。   Next, a case will be considered in which the matching process for the target block included in the strip T4 is completed and the matching process for the target block included in the strip T5 is entered as shown in FIG. At this time, in order to obtain the matching processing range, as shown in FIG. 44B, two strips R3 to R7 are required on the left and right sides of the strip R5. That is, since the strips R3 to R6 are already stored in the image memory unit 4 at the time of matching processing of the target block included in the strip T4, it is only necessary to newly decompress and decode the strip R7. At the same time, the strip R2 becomes unnecessary.

そこで、この実施形態では、短冊R7を伸長復号化したとき、画像メモリ部4の参照画像用メモリ上で、短冊R2があったアドレスに、伸長復号化した短冊R7を上書きするようにする。これにより、画像メモリ部4の参照画像用メモリ上で、伸長復号化されている参照画像データは、常に短冊5つ分だけになり、画像メモリ部4の参照画像用メモリ、つまり、画像メモリ部4のワーク領域を効果的に節約することが可能である。   Therefore, in this embodiment, when the strip R7 is decompressed and decoded, the striped and decrypted strip R7 is overwritten on the reference image memory of the image memory unit 4 at the address where the strip R2 is located. As a result, the reference image data decompressed and decoded on the reference image memory of the image memory unit 4 is always only for five strips, and the reference image memory of the image memory unit 4, that is, the image memory unit It is possible to effectively save four work areas.

上記方法で参照画像データの復号化を行った場合、図45(A)および(B)に示すように、画像メモリ部4の参照画像用メモリ上のアドレスの並びが変わることになる。すなわち、短冊T4内のターゲットブロックに対するものとして、参照画像用メモリの参照画像が、図45(A)に示すように、短冊R4が中心だったときは、画像データは、短冊R2から順番に画像メモリ部の参照画像用メモリに格納されているため、短冊R4の基準座標Sc4から左方向の画素を参照する場合は、基準座標Sc4のアドレスから所望の値を引き算し、基準座標Sc4から右方向の画素を参照する場合は、基準座標Sc4のアドレスに所望の値を足し算することになる。   When the reference image data is decoded by the above method, the arrangement of addresses on the reference image memory in the image memory unit 4 changes as shown in FIGS. That is, as for the target block in the strip T4, when the reference image in the reference image memory is centered on the strip R4 as shown in FIG. 45 (A), the image data is the image sequentially from the strip R2. Since it is stored in the reference image memory of the memory unit, when referring to the pixel in the left direction from the standard coordinate Sc4 of the strip R4, a desired value is subtracted from the address of the standard coordinate Sc4 and the right direction from the standard coordinate Sc4. When referring to this pixel, a desired value is added to the address of the standard coordinate Sc4.

一方、短冊T5内のターゲットブロックに対するものとして、参照画像用メモリの参照画像が、図45(B)に示すように、短冊R5が中心のときは、右方向に128画素以内の画素を参照する場合は、短冊R5の基準座標Sc5のアドレスに所望の値を足し算し、右方向に129画素以上の画素を参照する場合は、基準座標Sc5のアドレスに所望の値を足し算した後で、合計短冊幅分のアドレス値を引き算する必要がある。   On the other hand, as for the target block in the strip T5, when the reference image in the reference image memory is centered on the strip R5 as shown in FIG. 45B, the pixels within 128 pixels are referred to in the right direction. In this case, the desired value is added to the address of the reference coordinate Sc5 of the strip R5, and when referring to the pixel of 129 pixels or more in the right direction, the desired value is added to the address of the reference coordinate Sc5, and then the total strip It is necessary to subtract the address value for the width.

なお、短冊R0〜R9のそれぞれの基準座標Sc0〜Sc9は、参照画像用メモリをアクセスする際のメモリアドレスポインターの例である。メモリアドレスポインターは、図45の例のようなアドレス位置に限られるものではない。   The reference coordinates Sc0 to Sc9 of the strips R0 to R9 are examples of memory address pointers when accessing the reference image memory. The memory address pointer is not limited to the address position as in the example of FIG.

以上のように、静止画についての圧縮符号化の単位も短冊形式にすることで、ブロックマッチング処理に必要な範囲だけ復号化することができ、画像メモリ部4のワーク領域を節約することができる。さらに、画像メモリ上の不要な参照画像の短冊のアドレスに、次に使用する参照画像の短冊を復号化して上書きすることで、ワーク領域上の復号化された参照画像のサイズを、常に一定にすることができる。   As described above, the unit of compression encoding for still images is also in the strip format, so that only the range necessary for block matching processing can be decoded, and the work area of the image memory unit 4 can be saved. . Furthermore, the size of the decoded reference image on the work area is always kept constant by decoding and overwriting the strip of the reference image to be used next on the address of the unnecessary reference image strip on the image memory. can do.

なお、図43および図44を用いて説明した例は、参照画像において設定されるマッチング処理範囲の水平方向のサイズSAが、圧縮単位である短冊の水平方向のサイズSB以上(SA>SB)である場合である。   In the example described with reference to FIGS. 43 and 44, the horizontal size SA of the matching processing range set in the reference image is equal to or larger than the horizontal size SB of the strip as a compression unit (SA> SB). This is the case.

そして、マッチング処理範囲の水平方向のサイズが、短冊の水平方向のサイズの整数倍で、かつ、マッチング処理範囲と短冊の区切り位置とが一致していれば、無駄なデータアクセスがなくなり、効率はさらに上がる。   If the horizontal size of the matching processing range is an integral multiple of the horizontal size of the strip, and the matching processing range matches the strip separation position, useless data access is eliminated and efficiency is improved. Go up further.

もしも、参照画像において設定されるマッチング処理範囲の水平方向のサイズが、圧縮単位である短冊の水平方向のサイズよりも小さい場合には、マッチング処理範囲が、1つの短冊に含まれる大きさであって、1つの短冊に含まれていれば、復号化するのは当該1つの短冊でよく、また、マッチング処理範囲が2つの短冊に跨る場合には、その2つの短冊を復号化すればよい。   If the horizontal size of the matching processing range set in the reference image is smaller than the horizontal size of the strip that is the compression unit, the matching processing range is the size included in one strip. If it is included in one strip, the one strip may be decrypted, and if the matching processing range spans two strips, the two strips may be decrypted.

その場合でも、ターゲットブロックの位置が変化して、マッチング処理範囲の位置が変わったときであって、マッチング処理範囲が2つの短冊に跨る場合になったときには、新たにマッチング処理範囲が跨ることになった短冊のみを復号化すればよいのは、上述の例と同様である。   Even in such a case, when the position of the target block changes and the position of the matching processing range changes, and the matching processing range spans two strips, the matching processing range is newly straddled. It is the same as in the above example that only the strips that have become necessary should be decrypted.

[動画NR処理時における効率的なメモリアクセス]
前述したように、静止画NR処理は多少処理時間がかかっても、ノイズの取れた綺麗な画像が求められるのに対して、動画NR処理では、精度よりもリアルタイム性、すなわちスピードが要求される。
[Efficient memory access during video NR processing]
As described above, the still image NR processing requires a clean image with no noise even if it takes some processing time, whereas the moving image NR processing requires real-time performance, that is, speed rather than accuracy. .

動画NR処理動作の流れは、前述した図19に示した通りであるが、この動画NR処理時における画像データの流れは、図46および図47に示す通りとなる。この図46および図47を参照しながら、動画NR処理時における画像データの流れを説明する。   The flow of the moving image NR processing operation is as shown in FIG. 19, and the flow of image data during the moving image NR processing is as shown in FIGS. The flow of image data during the moving image NR process will be described with reference to FIGS.

動画NR処理の場合は、データ変換部14からのYC画像データは、画像補正・解像度変換部15で水平方向の補正がなされた後、画像メモリ部4に、短冊アクセス形式で書き込まれる。そして、画像補正・解像度変換部15は、水平方向の補正画像を画像メモリ部4から短冊アクセス形式で読み出し、垂直方向の補正処理をした後、短冊アクセス形式で、動き検出・動き補償部16へ、リアルタイムにターゲットブロックを送る(図19のステップS21)。   In the case of moving image NR processing, YC image data from the data conversion unit 14 is written in the image memory unit 4 in a strip access format after being corrected in the horizontal direction by the image correction / resolution conversion unit 15. Then, the image correction / resolution conversion unit 15 reads the horizontal correction image from the image memory unit 4 in the strip access format, performs the correction processing in the vertical direction, and then performs the strip access format to the motion detection / motion compensation unit 16. The target block is sent in real time (step S21 in FIG. 19).

動き検出・動き補償部16は、画像補正・解像度変換部15から送られてきたターゲットブロックをターゲットブロックバッファ部161に格納すると共に、図47に示すように、このターゲットブロックに応じて、ブロックマッチング処理範囲を画像メモリ部4に格納されている参照画像(最初は重ね合わせ無しの画像であるが、2枚目以降は、NR画像)から読み出して、参照ブロックバッファ部162に格納する(図19のステップS23)。   The motion detection / motion compensation unit 16 stores the target block sent from the image correction / resolution conversion unit 15 in the target block buffer unit 161, and also performs block matching according to the target block as shown in FIG. The processing range is read from the reference image stored in the image memory unit 4 (the first image is a non-superimposed image, but the second and subsequent images are NR images) and stored in the reference block buffer unit 162 (FIG. 19). Step S23).

そして、動き検出・動き補償部16は、ターゲットブロックバッファ部161からのターゲットブロックと、当該ブロックマッチング処理範囲から参照ブロックとを読み出して、前述した階層化ブロックマッチング処理をして、動きベクトル検出および動き補償ブロックの生成を行い、動き補償ブロックおよびターゲットブロックは、画像重ね合わせ部17に供給する(図19のステップS24〜ステップS26)。   Then, the motion detection / compensation unit 16 reads the target block from the target block buffer unit 161 and the reference block from the block matching processing range, performs the above-described hierarchical block matching process, and performs motion vector detection and A motion compensation block is generated, and the motion compensation block and the target block are supplied to the image superimposing unit 17 (steps S24 to S26 in FIG. 19).

画像重ね合わせ部17は、受け取ったターゲットブロックと動き補償ブロックとを重ね合わせてゆく(図19のステップS27)。そして、画像重ね合わせ部17は、図46に示すように、画像重ね合わせをしたNR済みの画像を画像メモリ部4に貼る(図19のステップS28)。   The image superimposing unit 17 superimposes the received target block and the motion compensation block (step S27 in FIG. 19). Then, as shown in FIG. 46, the image superimposing unit 17 pastes the NR-completed image on which the image is superimposed on the image memory unit 4 (Step S28 in FIG. 19).

図47に示すように、画像メモリ部4に貼られたNR画像は、次のフレーム(1フレーム前のNR画像となっている)で、動画コーデック部19に読み込まれ、圧縮された後、記録再生装置部5の記録媒体に保存されると共に、前記次のフレームでの参照画像として用いられる。また、画像メモリ部4に貼られたNR画像(1フレーム前のNR画像)は、同時に、NTSCエンコーダ20からも読み込まれ、モニターディスプレイ6に対するモニター出力も行われる。   As shown in FIG. 47, the NR image pasted on the image memory unit 4 is read into the video codec unit 19 at the next frame (the NR image one frame before), compressed, and then recorded. It is stored in the recording medium of the playback device unit 5 and used as a reference image in the next frame. Further, the NR image (an NR image one frame before) pasted on the image memory unit 4 is simultaneously read from the NTSC encoder 20 and is also output to the monitor display 6.

動画NR処理時においては、以上の処理が、撮影画像毎に繰り返される。   In the moving image NR processing, the above processing is repeated for each captured image.

なお、ここでは、参照画像は1フレーム分としたが、図47に示すように、参照画像を複数フレーム保持しておき、より相関性の高い画像を使用しても良い。   Here, the reference image is one frame, but as shown in FIG. 47, a plurality of reference images may be held and an image with higher correlation may be used.

また、動画NR処理では、リアルタイム性が重視されるため、静止画NR処理のように、縮小面ターゲット画像を作って画像メモリ部4に格納することはせずに、図14に示したターゲットブロックバッファ部161内の縮小化処理部1613で、縮小面ターゲットブロックを生成して、そのまま縮小面バッファ1612に格納している。   Further, in the moving image NR process, real-time characteristics are important. Therefore, unlike the still image NR process, the reduced surface target image is not created and stored in the image memory unit 4, and the target block shown in FIG. The reduction processing unit 1613 in the buffer unit 161 generates a reduction plane target block and stores it in the reduction plane buffer 1612 as it is.

<動画NR処理時のメモリアクセス時のデータフォーマット>
静止画NR処理時においては、画像メモリ部4に対するメモリアクセス時のデータフォーマットは、すべて、64×1フォーマットを垂直方向に連続して行う短冊アクセス形式を採用している。
<Data format for memory access during video NR processing>
At the time of still image NR processing, the data access format for the memory access to the image memory unit 4 employs a strip access format in which the 64 × 1 format is continuously performed in the vertical direction.

しかしながら、短冊アクセス形式は、短冊の水平方向の幅(水平方向の画素数)より少ない水平方向の画素数のブロックを読み出すときは、バースト長が16バースト未満になり、この実施形態の撮像装置で最も効率の良いデータ転送(16バースト)を使うことができなくなり、効率が悪化する。   However, in the strip access format, when a block having a horizontal number of pixels smaller than the horizontal width of the strip (the number of pixels in the horizontal direction) is read, the burst length becomes less than 16 bursts. The most efficient data transfer (16 bursts) cannot be used, and the efficiency deteriorates.

また、短冊の水平方向の幅より大きい水平方向の画素数のブロックを読み出すときは、水平方向に隣り合う2個の短冊の境界の左右で、二つの転送に分けなくてはならず、さらに、2個の短冊の境界の左右で大きく離れたアドレスになってしまうので、かえってアドレス処理が複雑になるという問題がある。   Also, when reading a block with a horizontal pixel count larger than the horizontal width of the strip, it must be divided into two transfers on the left and right of the border between two strips adjacent in the horizontal direction, Since the addresses are far apart on the left and right of the boundary between the two strips, there is a problem that the address processing is rather complicated.

さらに、階層化マッチング処理における基底面マッチング処理範囲は、縮小面マッチングで検出された縮小面動きベクトルに基づいて定まるものであって、固定の領域ではないため、複数個の短冊に跨った範囲となることがある。このため、基底面マッチング処理範囲を画像メモリ部4に記憶されている参照画像(NR画像)から読み出すときに、上述と同様に、当該基底面マッチング処理範囲が跨る隣り合う2個の短冊の境界の左右で、二つの転送に分けなくてはならず、さらに、2個の短冊の境界の左右で大きく離れたアドレスになってしまうので、かえってアドレス処理が複雑になるという問題がある。   Furthermore, the basal plane matching process range in the hierarchical matching process is determined based on the reduced plane motion vector detected by the reduced plane matching, and is not a fixed area. May be. For this reason, when reading the basal plane matching processing range from the reference image (NR image) stored in the image memory unit 4, as described above, the boundary between two adjacent strips across the basal plane matching processing range. However, there is a problem that the address processing becomes complicated because the addresses become far apart on the left and right of the boundary between the two strips.

そして、二つに分けた短冊のそれぞれに含まれる画素ブロックの大きさが、短冊の水平方向の幅よりも少なくなり、上述したように、短冊アクセス形式では、アクセス効率が悪くなり、動画のように、リアルタイムの高速処理が要求される用途には、不向きであるという問題がある。   Then, the size of the pixel block contained in each of the two divided strips is smaller than the horizontal width of the strip, and as described above, the access efficiency is deteriorated in the strip access format, and it looks like a movie. In addition, there is a problem that it is not suitable for applications requiring high-speed real-time processing.

以上のような問題に対して、この実施形態では、動画NR処理時の参照画像アクセス用のために、複数ライン×複数画素からなる矩形領域のブロック単位の画素データのメモリアクセス方式を用意するようにしている。   In order to deal with the above-described problems, in this embodiment, a memory access method for pixel data in units of blocks in a rectangular area composed of a plurality of lines and a plurality of pixels is prepared for accessing a reference image at the time of moving image NR processing. I have to.

この実施形態では、動画NR処理時の参照画像アクセス用の1つとして、上述したバースト転送可能な画素数である64画素を考慮して、図48(A)に示すように、画像(画面)を最大バースト転送(64画素)単位である、横×縦=8画素×8ラインのブロックに分割して、画像メモリ部4に書き込み/読み出しするブロックアクセス形式を用いるようにしている。この8ライン×8画素からなるブロック単位のブロックアクセス形式を、以下、8×8フォーマットと称することとする。   In this embodiment, as one of the reference image accesses at the time of moving image NR processing, an image (screen) as shown in FIG. 48A is considered in consideration of the above-described 64 pixels that can be burst transferred. Is divided into blocks of horizontal × vertical = 8 pixels × 8 lines, which is a unit of maximum burst transfer (64 pixels), and a block access format for writing / reading to / from the image memory unit 4 is used. Hereinafter, the block access format in units of blocks composed of 8 lines × 8 pixels will be referred to as an 8 × 8 format.

この8×8フォーマットは、図48(B)に示すように、水平方向の4画素を1バースト転送の単位とし、水平方向の8画素を2回のバースト転送(2バースト)で転送し、当該水平方向の8画素のバースト転送が終了すると、次のラインの8画素を、同様にして、2バーストで、転送する。そして、最大バースト長である16バーストで、64画素が1回で転送される。   In the 8 × 8 format, as shown in FIG. 48B, four horizontal pixels are used as one burst transfer unit, and eight horizontal pixels are transferred in two burst transfers (two bursts). When the burst transfer of 8 pixels in the horizontal direction is completed, the 8 pixels of the next line are similarly transferred in 2 bursts. Then, 64 pixels are transferred at a time in 16 bursts, which is the maximum burst length.

この8×8フォーマットのブロックアクセス形式の先頭アドレスをAD1を初期アドレスとすると、図48(B)に示すように、4画素単位のアドレスAD2〜AD16が自動的に定まり、連続した16バーストで、8×8フォーマットのメモリアクセスができる。メモリコントローラ8は、この8×8フォーマットのメモリアクセスのためのアドレス生成部を備えている。   Assuming that AD1 is the initial address of the block access format in the 8 × 8 format, as shown in FIG. 48B, addresses AD2 to AD16 in units of four pixels are automatically determined, and in 16 consecutive bursts, Memory access in 8 × 8 format is possible. The memory controller 8 includes an address generation unit for memory access in the 8 × 8 format.

画像メモリ部4のフレームメモリ上で、8×8フォーマットの先頭アドレスAD1が指定されると、メモリコントローラ8は、前記アドレス生成部を用いて、8×8フォーマットのメモリアクセスのためのアドレスAD1〜AD16を計算し、8×8フォーマットのメモリアクセスを実行する。   When the start address AD1 in the 8 × 8 format is designated on the frame memory of the image memory unit 4, the memory controller 8 uses the address generation unit to generate addresses AD1 to AD1 for memory access in the 8 × 8 format. AD16 is calculated and 8 × 8 format memory access is performed.

8×8フォーマットは、図48(B)に示すように、基本的には、64画素(16バースト)単位でのアクセスとなり、この実施形態の撮像装置としては、最も効率がよい。しかし、後述するように、16バーストは、最長バースト長であり、それよりも少ないバースト長とすることもできる。その場合には、実質的には、8×8フォーマットとはならないが、例えば、8画素×4ラインの場合には、半分の8バーストで画像データの転送ができる。   As shown in FIG. 48B, the 8 × 8 format basically provides access in units of 64 pixels (16 bursts), and is the most efficient as the imaging apparatus of this embodiment. However, as will be described later, 16 bursts is the longest burst length, and may be shorter than that. In that case, the 8 × 8 format is not practically realized. However, for example, in the case of 8 pixels × 4 lines, image data can be transferred in half 8 bursts.

なお、水平方向および垂直方向の画像データが8画素で割り切れない場合は、図48で、影線を付して示すように、水平方向の右端と垂直方向の下端に、ダミー領域152を設けて、このダミー領域152に、例えば黒や白の画素データをダミーデータとして付加し、水平方向および垂直方向の画サイズが、8の倍数になるようにしている。   If the horizontal and vertical image data cannot be divided by 8 pixels, dummy areas 152 are provided at the right end in the horizontal direction and the lower end in the vertical direction as shown by the shadow lines in FIG. For example, black or white pixel data is added as dummy data to the dummy area 152 so that the image size in the horizontal and vertical directions is a multiple of eight.

8×8フォーマットのメモリアクセスにより、メモリアクセスが8×8画素でアクセスできるということは、縮小面マッチング処理範囲および基底面マッチング処理範囲は、画像メモリ部4から、すべて、8×8の画素ブロック単位で読み込むことができる。したがって、この実施形態の撮像装置で、最も効率の良いデータ転送(16バースト)のみでバスアクセスすることが可能になり、バス効率は最大になる。   The fact that the memory access can be accessed with 8 × 8 pixels by the 8 × 8 format memory access means that the reduction plane matching processing range and the base plane matching processing range are all 8 × 8 pixel blocks from the image memory unit 4. Can be read in units. Therefore, in the imaging apparatus of this embodiment, it is possible to perform bus access only by the most efficient data transfer (16 bursts), and the bus efficiency is maximized.

なお、この8×8フォーマットは、16×16画素、16×8画素、など、8×8画素の倍数にすれば、それらの複数画素単位でのアクセスにも適用できる。   The 8 × 8 format can be applied to access in units of a plurality of pixels as long as it is a multiple of 8 × 8 pixels, such as 16 × 16 pixels, 16 × 8 pixels, or the like.

また、バスの最も効率の良いデータ転送単位(最大バースト長の単位)は、上述の例では64画素であるが、最も効率の良いデータ転送単位は、1バーストで転送可能な画素数pと、最大バースト長(最大連続バースト回数)qとにより決まるp×q画素となる。そして、その画素数(p×q)により、画像メモリ部4に書き込むブロックアクセス形式のフォーマットを決定すればよい。そして、縮小面マッチング処理範囲、基底面マッチング処理範囲が、そのブロックフォーマットの水平方向および垂直方向の倍数に近いサイズになる場合が、最もバス転送効率が良い。   The most efficient data transfer unit (unit of maximum burst length) of the bus is 64 pixels in the above example, but the most efficient data transfer unit is the number of pixels p that can be transferred in one burst, and It becomes p × q pixels determined by the maximum burst length (maximum number of continuous bursts) q. Then, the block access format to be written in the image memory unit 4 may be determined based on the number of pixels (p × q). The bus transfer efficiency is best when the reduced plane matching processing range and the base plane matching processing range have a size close to a multiple of the horizontal and vertical directions of the block format.

図33に示した縮小面マッチング処理範囲および縮小倍率が1/2のときの基底面マッチング処理範囲を例に、64×1フォーマットの短冊アクセス形式の場合と比較を行う。   The reduction plane matching processing range and the base plane matching processing range when the reduction ratio is 1/2 shown in FIG. 33 will be compared with the case of the strip access format of the 64 × 1 format.

縮小面マッチング処理範囲143は、図33(B)に示すように、この例では、44画素×24ラインとされる。この縮小面マッチング処理範囲143を、64×1フォーマットでアクセスした場合、図49の上側に示すように、4画素×11バーストを、垂直方向に24回繰り返す転送のアクセスが必要になる。   As shown in FIG. 33B, the reduction plane matching processing range 143 is 44 pixels × 24 lines in this example. When the reduced surface matching processing range 143 is accessed in the 64 × 1 format, as shown in the upper side of FIG. 49, it is necessary to access the transfer by repeating 4 pixels × 11 bursts 24 times in the vertical direction.

これに対して、同じ縮小面マッチング処理範囲143を、8×8フォーマットでアクセスする場合は、図50に示すように、縮小面参照ベクトル(0,0)の縮小面参照ブロックを中心に、44画素×24ラインの縮小面マッチング処理範囲143が決定される。縮小面参照ベクトル(0,0)の縮小面参照ブロックとは、縮小面ターゲットブロックと同じ座標の縮小面参照ブロックということである。この場合、図33(A)に示したように、縮小面ターゲットブロックは、必ず、8画素単位、8ライン単位ずつしか設定されない。   On the other hand, when the same reduced plane matching processing range 143 is accessed in the 8 × 8 format, as shown in FIG. 50, the reduced plane reference vector (0, 0) is centered on the reduced plane reference block. A reduction plane matching processing range 143 of pixels × 24 lines is determined. The reduced plane reference block of the reduced plane reference vector (0, 0) is a reduced plane reference block having the same coordinates as the reduced plane target block. In this case, as shown in FIG. 33A, the reduction plane target block is always set only in units of 8 pixels and 8 lines.

縮小面マッチング処理範囲143の垂直方向は、24ラインであるので、図50に示すように、垂直方向のサーチ範囲を、8×8のブロックサイズの倍数にすれば、垂直方向は8×8フォーマットで無駄なくアクセスすることができる。一方、縮小面マッチング処理範囲143の水平方向は44画素であるので、8の倍数とはならず、このため、図50に示した例では、水平方向を56画素として、8×8フォーマットでは、水平方向の両側に6画素ずつ、黒または白などからなるダミーの画像データ153を挿入するようにする。   Since the vertical direction of the reduction plane matching processing range 143 is 24 lines, as shown in FIG. 50, if the vertical search range is a multiple of the block size of 8 × 8, the vertical direction is 8 × 8 format. Can be accessed without waste. On the other hand, since the horizontal direction of the reduction plane matching processing range 143 is 44 pixels, it is not a multiple of 8. For this reason, in the example shown in FIG. Dummy image data 153 made of black or white is inserted on both sides in the horizontal direction by 6 pixels.

この図50から、ダミーの画像データ153が左右6画素分あるものの、64×1フォーマットでは24回転送が必要であるのに対して、8×8フォーマットであれば、21回の転送で読み込むことができることが分かる。さらに、8×8フォーマットであれば、すべての転送が、この実施形態の撮像装置で最も効率の良いデータ転送(16バースト)になっており、バス効率も向上している。   From FIG. 50, although the dummy image data 153 includes 6 pixels on the left and right sides, the 64 × 1 format requires 24 times of transfer, whereas the 8 × 8 format reads in 21 times of transfer. You can see that Furthermore, in the 8 × 8 format, all transfers are the most efficient data transfer (16 bursts) in the imaging apparatus of this embodiment, and the bus efficiency is also improved.

また、縮小倍率が1/2の場合の基底面マッチング処理範囲144は、図33(C)に示すように、20画素×20ラインとなるが、この基底面マッチング処理範囲144をアクセスする場合には、図49の下側に示すように、64×1フォーマットの場合、4画素×5バーストを、垂直方向に20回繰り返す転送のアクセスが必要になる。   In addition, as shown in FIG. 33C, the base plane matching processing range 144 when the reduction ratio is 1/2 is 20 pixels × 20 lines. However, when the base plane matching processing range 144 is accessed. As shown in the lower side of FIG. 49, in the case of the 64 × 1 format, it is necessary to access for transferring 4 pixels × 5 bursts 20 times in the vertical direction.

これに対して、8×8フォーマットの場合は、基底面マッチング処理範囲144としては、基底面参照ベクトル(0,0)の基底面参照ブロック142を中心に、20画素×20ラインのマッチング処理範囲が決定される。基底面マッチング処理範囲144は、縮小面マッチングで算出された縮小面動きベクトルによって決まるため、1画素単位でいろいろな組み合わせが考えられる。   On the other hand, in the case of the 8 × 8 format, the basal plane matching processing range 144 is a matching processing range of 20 pixels × 20 lines around the basal plane reference block 142 of the basal plane reference vector (0, 0). Is determined. Since the basal plane matching processing range 144 is determined by the reduced plane motion vector calculated by the reduced plane matching, various combinations can be considered in units of one pixel.

例えば、最も効率の良いのは、20画素×20ラインの基底面マッチング処理範囲144が、8×8のブロックに対して、図51に示すように9ブロック分に割り当てられる場合である。この場合、図51に示すように、20画素×20ラインの基底面マッチング処理範囲144には、水平方向の端部および垂直方向の端部に8画素および8ラインに満たない領域が存在するので、そこにダミー画素データ153を挿入し、8×8フォーマットの4画素×16バーストを、9回繰り返す転送のアクセスをすることで、当該20画素×20ラインの基底面マッチング処理範囲144の画像データのアクセスができる。   For example, the most efficient case is when the base pixel matching processing range 144 of 20 pixels × 20 lines is allocated to 9 blocks as shown in FIG. 51 for an 8 × 8 block. In this case, as shown in FIG. 51, in the basal plane matching processing range 144 of 20 pixels × 20 lines, there are regions less than 8 pixels and 8 lines at the horizontal end and the vertical end. Then, by inserting dummy pixel data 153 there and accessing the 8 × 4 format 4 pixel × 16 burst transfer 9 times, the image data of the base pixel matching processing range 144 of the 20 pixel × 20 line is obtained. Can be accessed.

しかし、図52に示すように、20画素×20ラインの基底面マッチング処理範囲144の垂直方向の端部にはダミー画像データ153を挿入せずに、当該垂直方向の端部においては、バースト回数を転送すべきデータ(4ライン分)に合わせたものとして、4画素×8バーストを、3繰り返す転送のアクセスとすることもできる。この場合には、図52に示す例においては、8×8フォーマットの4画素×16バーストを6回繰り返す転送と、4画素×8バーストを3回繰り返す転送との、合計9回の転送で、20画素×20ラインの基底面マッチング処理範囲144の画像データのアクセスができる。   However, as shown in FIG. 52, the dummy image data 153 is not inserted into the vertical end portion of the basal plane matching processing range 144 of 20 pixels × 20 lines. Can be set to match the data to be transferred (for 4 lines), and 4 pixels × 8 bursts can be used as an access for 3 repeated transfers. In this case, in the example shown in FIG. 52, a total of 9 transfers, a transfer of repeating 4 pixels × 16 burst of 8 × 8 format 6 times and a transfer of repeating 4 pixels × 8 burst 3 times, The image data in the base plane matching processing range 144 of 20 pixels × 20 lines can be accessed.

逆に、最も効率の悪い例は、20画素×20ラインの基底面マッチング処理範囲144が、図53に示すように、8×8のブロックの16ブロック分に亘る場合である。この場合、図53に示すように、20画素×20ラインの基底面マッチング処理範囲144には、水平方向の端部および垂直方向の端部に8画素および8ラインに満たない領域が存在するので、そこにダミー画素データ153を挿入し、8×8フォーマットの4画素×16バーストを、16回繰り返す転送のアクセスをすることで、当該20画素×20ラインの基底面マッチング処理範囲144の画像データのアクセスができる。   On the other hand, the most inefficient example is a case where the basal plane matching processing range 144 of 20 pixels × 20 lines covers 16 blocks of 8 × 8 blocks as shown in FIG. In this case, as shown in FIG. 53, in the basal plane matching processing range 144 of 20 pixels × 20 lines, there are regions less than 8 pixels and 8 lines at the horizontal end and the vertical end. Then, by inserting dummy pixel data 153 there and accessing the transfer of the 4 × 16 burst of 8 × 8 format 16 times repeatedly, the image data of the basal plane matching processing range 144 of the 20 pixels × 20 lines is obtained. Can be accessed.

しかし、図54に示すように、20画素×20ラインの基底面マッチング処理範囲144の垂直方向の端部にはダミー画像データ153を挿入せずに、当該垂直方向の上下端部においては、バースト回数を転送すべきデータ(それぞれ2ライン分)に合わせたものとして、4画素×4バーストを、合計8繰り返す転送のアクセスとすることもできる。この場合には、図54に示す例においては、8×8フォーマットの4画素×16バーストを8回繰り返す転送と、4画素×4バーストを8回繰り返す転送との、合計16回の転送で、基底面マッチング処理範囲144の画像データのアクセスができる。   However, as shown in FIG. 54, the dummy image data 153 is not inserted into the vertical end portion of the basal plane matching processing range 144 of 20 pixels × 20 lines. As the number of times matched to the data to be transferred (each for two lines), a transfer of 4 pixels × 4 bursts can be made a total of 8 transfers. In this case, in the example shown in FIG. 54, a total of 16 transfers of 8 × 8 format 4 pixel × 16 burst transfer 8 times and 4 pixel × 4 burst repeat 8 times, The image data in the basal plane matching processing range 144 can be accessed.

したがって、20画素×20ラインの基底面マッチング処理範囲144の画像データの画像メモリ部4に対するアクセスは、64×1フォーマットでは20回転送が必要であるのに対して、8×8フォーマットであれば、最短で9転送、最長で16転送で良い。さらに、8×8フォーマットであれば、転送の半分以上が、この例の撮像装置システムで最も効率の良いデータ転送(16バースト)になっており、バス効率も向上している。   Therefore, the access to the image memory unit 4 of the image data of the base plane matching processing range 144 of 20 pixels × 20 lines needs to be transferred 20 times in the 64 × 1 format, but in the 8 × 8 format. 9 transfers at the shortest and 16 transfers at the longest. Further, in the 8 × 8 format, more than half of the transfer is the most efficient data transfer (16 bursts) in the imaging apparatus system of this example, and the bus efficiency is also improved.

また、この実施形態では、更にバス帯域を改善するために、動画NR処理時の参照画像アクセス用の他の1つとして、図55(A)に示すように、画像(画面)を最大バースト転送(64画素)の1/4単位である4画素×4ラインのブロックに分割して、画像メモリ部に書き込み/読み出しするブロックアクセス形式を選択することもできるように構成されている。この4ライン×4画素からなるブロック単位のブロックアクセス形式を、以下、4×4フォーマットと称することとする。   Further, in this embodiment, in order to further improve the bus bandwidth, as another one for accessing the reference image at the time of moving image NR processing, as shown in FIG. The block access format for writing / reading to / from the image memory unit can be selected by dividing into blocks of 4 pixels × 4 lines, which are 1/4 units of (64 pixels). This block access format in units of blocks consisting of 4 lines × 4 pixels is hereinafter referred to as a 4 × 4 format.

この4×4フォーマットは、図55(B)に示すように、水平方向の4画素を1バースト転送の単位とし、水平方向の4画素を1回のバースト転送(1バースト)で転送し、当該水平方向の4画素のバースト転送が終了すると、次のラインの4画素を、同様にして、1バーストで転送し、4バーストで4×4フォーマットの画像データが転送できる。そして、4×4フォーマットの場合、図55(B)に示すように、4画素×4ライン=16画素分からなるブロックを水平方向に4回(4ブロック分)連続でアクセスすることで、64画素が1回で転送される。   In this 4 × 4 format, as shown in FIG. 55 (B), four horizontal pixels are used as a unit of one burst transfer, and four horizontal pixels are transferred in one burst transfer (one burst). When the burst transfer of 4 pixels in the horizontal direction is completed, the 4 pixels of the next line can be similarly transferred in 1 burst, and image data of 4 × 4 format can be transferred in 4 bursts. In the case of the 4 × 4 format, as shown in FIG. 55 (B), a block composed of 4 pixels × 4 lines = 16 pixels is continuously accessed four times in the horizontal direction (for 4 blocks) to obtain 64 pixels. Are transferred once.

つまり、4×4フォーマットの画像データは、4バーストで転送可能であるので、最大バースト長である16バーストで、4画素×4ラインのブロックの水平方向の4個を連続してアクセスすることができ、この4個の4画素×4ラインのブロック分の64画素が1回で転送される。   In other words, since 4 × 4 format image data can be transferred in 4 bursts, it is possible to continuously access 4 blocks in a horizontal direction of 4 pixels × 4 lines with a maximum burst length of 16 bursts. The 64 pixels for the block of four 4 pixels × 4 lines can be transferred at one time.

この4×4フォーマットによって64画素(最大バースト長である16バースト)を1回で転送する場合、図55(B)に示すように、4画素×4ラインのブロックの先頭アドレスをAD1を初期アドレスとすると、4画素単位のアドレスAD2〜AD16が、図示のように定まり、連続した16バーストで、4×4フォーマットによる64画素単位のメモリアクセスができる。   When 64 pixels (16 bursts, which is the maximum burst length) are transferred at a time using this 4 × 4 format, the start address of the block of 4 pixels × 4 lines is set to the initial address AD1, as shown in FIG. Then, the addresses AD2 to AD16 in units of 4 pixels are determined as shown in the figure, and the memory access in units of 64 pixels in the 4 × 4 format can be performed with continuous 16 bursts.

4×4フォーマットは、図55(B)に示すように、64画素(16バースト)単位でアクセスするときが、最も効率がよい。しかし、水平方向の4ブロック以下の単位でアクセスする必要がある場合もある。例えば水平方向の2ブロック(32画素)単位でのアクセスでは、図55(B)において、4画素単位のアドレスAD1〜AD8が定められて、連続した8バーストで32画素単位のアクセスができる。4画素×4ラインのブロックの1ブロック(16画素)単位、3ブロック(24画素)単位なども同様にしてアクセスができる。メモリコントローラ8は、この4×4フォーマットのメモリアクセスのためのアドレス生成部を備えている。   As shown in FIG. 55B, the 4 × 4 format is most efficient when accessed in units of 64 pixels (16 bursts). However, it may be necessary to access in units of 4 blocks or less in the horizontal direction. For example, in access in units of 2 blocks (32 pixels) in the horizontal direction, addresses AD1 to AD8 in units of 4 pixels are determined in FIG. 55B, and access in units of 32 pixels can be performed in 8 consecutive bursts. A block of 4 pixels × 4 lines, 1 block (16 pixels) unit, 3 blocks (24 pixels) unit, etc. can be accessed in the same manner. The memory controller 8 includes an address generation unit for memory access in the 4 × 4 format.

画像メモリ部4のフレームメモリ上で、4×4フォーマットの先頭アドレスAD1と、水平方向の4画素×4ラインのブロック数が指定されると、メモリコントローラ8は、前記アドレス生成部を用いて、4×4フォーマットのメモリアクセスのためのアドレスAD2以降を計算し、4×4フォーマットによるメモリアクセスを実行することができる。   When the start address AD1 of 4 × 4 format and the number of blocks of 4 pixels × 4 lines in the horizontal direction are specified on the frame memory of the image memory unit 4, the memory controller 8 uses the address generation unit, The address AD2 and subsequent addresses for memory access in 4 × 4 format can be calculated, and memory access in 4 × 4 format can be executed.

なお、前述の8×8フォーマットの場合と同様に、画像データが4画素で割り切れない場合は、図55(A)に示すように、水平方向の右端および垂直方向の下端にダミー領域154を設けて、水平方向および垂直方向のサイズが、4の倍数になるようにしている。   As in the case of the 8 × 8 format described above, when the image data is not divisible by 4 pixels, a dummy area 154 is provided at the right end in the horizontal direction and the lower end in the vertical direction as shown in FIG. Thus, the horizontal and vertical sizes are set to be a multiple of four.

この4×4フォーマットであれば、前述した、基底面マッチング処理範囲(20画素×20ライン)144のバスアクセスは、8×8フォーマットよりもさらに改善する。   With this 4 × 4 format, the above-described bus access in the base plane matching processing range (20 pixels × 20 lines) 144 is further improved over the 8 × 8 format.

4画素×4ラインのブロック単位に対して、最も効率の良いのは、20画素×20ラインの基底面マッチング処理範囲144が、図56に示すように、丁度、水平方向の5ブロック×垂直方向の5ブロック=25ブロック分に割り当てられる場合である。   For the block unit of 4 pixels × 4 lines, the most efficient is that the base plane matching processing range 144 of 20 pixels × 20 lines is exactly 5 blocks in the horizontal direction × vertical direction as shown in FIG. In this case, 5 blocks = 25 blocks are allocated.

この25ブロックをアクセスするには、水平方向の4ブロックの5ライン分と、水平方向の1ブロックの5ライン分とに分けることができ、図55(B)の最大バースト長による4ブロック単位の4画素×16バーストが5転送、1ブロック単位の4画素×4バーストが5転送、の合計10転送でよい。   In order to access these 25 blocks, it can be divided into 5 blocks of 4 blocks in the horizontal direction and 5 lines of 1 block in the horizontal direction. A total of 10 transfers, 5 transfers of 4 pixels × 16 bursts, 5 transfers of 4 pixels × 4 bursts per block, may be used.

逆に、最も効率の悪い例は、20画素×20ラインの基底面マッチング処理範囲144が、図57に示すように、4画素×4ラインのブロックの水平方向の6ブロック×垂直方向の6ブロック=36ブロック分に亘る場合である。この場合、図57に示すように、20画素×20ラインの基底面マッチング処理範囲144には、水平方向の左右端部および垂直方向の上下端部に4画素および4ラインに満たない領域が存在するので、そこにダミー画素データ154を挿入している。   On the other hand, the worst example is that the base plane matching processing range 144 of 20 pixels × 20 lines is 6 blocks in the horizontal direction × 6 blocks in the vertical direction of the block of 4 pixels × 4 lines as shown in FIG. = 36 blocks. In this case, as shown in FIG. 57, in the basal plane matching processing range 144 of 20 pixels × 20 lines, there are areas less than 4 pixels and 4 lines at the left and right ends in the horizontal direction and the upper and lower ends in the vertical direction. Therefore, dummy pixel data 154 is inserted therein.

この36ブロックを4×4フォーマットでアクセスするには、水平方向の4ブロックの6ライン分と、水平方向の2ブロックの6ライン分とに分けることができ、図55(B)の最大バースト長による4ブロック単位の4画素×16バーストが6転送、2ブロック単位の4画素×8バーストが6転送、の合計12転送でよい。   In order to access these 36 blocks in the 4 × 4 format, it can be divided into 6 lines of 4 blocks in the horizontal direction and 6 lines of 2 blocks in the horizontal direction, and the maximum burst length of FIG. 4 blocks × 16 bursts in units of 4 blocks in 6 transfers, 6 transfers in 4 blocks × 4 bursts in units of 2 blocks, and a total of 12 transfers may be sufficient.

したがって、図54に示した8×8フォーマットの場合の16転送よりも、更に転送アクセス数が少なく、また、この実施形態の撮像装置で最も効率の良いデータ転送である16バーストを使用する割合が増え、バス効率はさらに向上している。   Therefore, the number of transfer accesses is further smaller than the 16 transfers in the 8 × 8 format shown in FIG. 54, and the ratio of using 16 bursts, which is the most efficient data transfer in the imaging apparatus of this embodiment, is higher. Increasing bus efficiency.

上述したように、動画NR処理時には、動き検出・動き補償部16が、マッチング処理範囲を画像メモリ部4から読み出す際には、64×1フォーマットおよび短冊アクセス形式ではなく、ブロックフォーマット、この例では8×8フォーマットや4×4フォーマットによるブロックアクセス形式の方が、メモリアクセスとして適している。   As described above, during the moving image NR process, when the motion detection / compensation unit 16 reads the matching processing range from the image memory unit 4, it is not the 64 × 1 format and the strip access format, but the block format, in this example. The block access format based on 8 × 8 format or 4 × 4 format is more suitable for memory access.

そこで、重ね合わせ結果の動画NR画像は、上述のようなブロックアクセス形式のブロックフォーマットで画像メモリ部4に書き込むと良い。   Therefore, the moving image NR image as a result of superposition may be written in the image memory unit 4 in the block access format block format as described above.

しかしながら、画像メモリ部4に対してシステムバス2およびメモリコントローラ8を通じてアクセスするのは、動き検出・動き補償部16や画像重ね合わせ部17、動画コーデック部だけでなく、他の処理部も存在するが、上記のブロックフォーマットによるメモリアクセスが、それらの他の処理部の全てにも適しているとは限らない。   However, the image memory unit 4 is accessed through the system bus 2 and the memory controller 8 in addition to the motion detection / motion compensation unit 16, the image superposition unit 17, and the moving image codec unit, as well as other processing units. However, the memory access according to the block format is not necessarily suitable for all of the other processing units.

例えば、この実施形態の撮像装置では、動画NR処理時には、NR処理した後の画像を、NTSCエンコーダ20で表示画像データに変換して、モニターディスプレイ6において画像モニター表示を行うようにしている。NTSCエンコーダ20では、基本的に、ラスタースキャン形式の画像データの処理を行うものであるので、8×8フォーマットや4×4フォーマットなどのブロックフォーマットによるブロックアクセス形式で画像メモリ部4から画像データをアクセスした場合には、転送効率が悪くなるという問題がある。   For example, in the imaging apparatus of this embodiment, at the time of moving image NR processing, an image after the NR processing is converted into display image data by the NTSC encoder 20 and an image monitor display is performed on the monitor display 6. Since the NTSC encoder 20 basically processes image data in a raster scan format, the image data is received from the image memory unit 4 in a block access format such as an 8 × 8 format or a 4 × 4 format. When accessed, there is a problem that transfer efficiency deteriorates.

そこで、この実施形態では、前述した図19のステップS28においては、画像重ね合わせ部17からの動画NR処理結果のNR画像は、図58に示すように、8×8フォーマットや4×4フォーマットなどのブロックフォーマットで、画像メモリ部4のNR画像についての第1のメモリ領域41NRに書き込まれると共に、64×1フォーマットで、画像メモリ部4のNR画像についての第2のメモリ領域42NRに書き込まれる。なお、図58に示すように、第1のメモリ領域41NRには、NR画像は、縮小面画像が併せて書き込まれる。   Therefore, in this embodiment, in step S28 of FIG. 19 described above, the NR image of the moving image NR processing result from the image superimposing unit 17 is an 8 × 8 format, a 4 × 4 format, or the like as shown in FIG. Is written in the first memory area 41NR for the NR image in the image memory unit 4 and is written in the second memory area 42NR for the NR image in the image memory unit 4 in the 64 × 1 format. As shown in FIG. 58, in the first memory area 41NR, the reduced surface image is written together with the NR image.

動き検出・動き補償部16は、ターゲットブロックは、画像補正・解像度変換部15から、短冊形式で取得しており、動き検出・動き補償部16および画像重ね合わせ部17は、短冊形式で、64×1フォーマットの64画素ずつ処理を行っている。このため、画像重ね合わせ部17からの画像重ね合わせ結果のNR画像を画像メモリ部4に64×1フォーマットで書き込む際には、ラスタースキャン形式ではアドレスが飛ばされる状態で、短冊アクセス形式で書き込みを行うようにすることで行われる。   The motion detection / motion compensation unit 16 obtains the target block from the image correction / resolution conversion unit 15 in a strip format, and the motion detection / motion compensation unit 16 and the image overlay unit 17 have a strip format, 64 Processing is performed for each 64 pixels in the × 1 format. For this reason, when writing the NR image resulting from the image overlay from the image overlay unit 17 into the image memory unit 4 in the 64 × 1 format, the address is skipped in the raster scan format and the strip access format is used. It is done by doing.

そして、この実施形態においては、画像メモリ部4のNR画像についての第1のメモリ領域41NRに1フレーム前の時点でブロックフォーマットで書き込まれているNR画像が参照画像とされ、メモリコントローラ8により、マッチング処理範囲が当該参照画像から、8×8フォーマットあるいは4×4フォーマットなどのブロックフォーマットで読み出されて、動き検出・動き補償部16に転送される。   In this embodiment, the NR image written in the block format at the time before one frame in the first memory area 41NR for the NR image of the image memory unit 4 is set as the reference image, and the memory controller 8 The matching processing range is read from the reference image in a block format such as 8 × 8 format or 4 × 4 format, and transferred to the motion detection / compensation unit 16.

また、この実施形態では、画像メモリ部4のNR画像についての第2のメモリ領域42NRに1フレーム前の時点で64×1フォーマットで書き込まれているNR画像が、64×1フォーマットで、かつ、ラスタースキャン形式で読み出されて、動画コーデック部19に転送され、この例では、MPEG方式により動画圧縮エンコードされて、記録再生装置部5に記録される。また、第2のメモリ領域42NRに1フレーム前の時点で64×1フォーマットで書き込まれているNR画像は、64×1フォーマットで、かつ、ラスタースキャン形式で読み出されて、NTSCエンコーダ20に供給されてNTSC信号にされ、モニターディスプレイ6に供給されて、記録モニター画像として表示される。   In this embodiment, the NR image written in the 64 × 1 format in the second memory area 42NR for the NR image of the image memory unit 4 in the 64 × 1 format at the time one frame before is in the 64 × 1 format, and The data is read out in the raster scan format and transferred to the moving image codec unit 19. In this example, the moving image is compressed and encoded by the MPEG method and recorded in the recording / reproducing device unit 5. The NR image written in the second memory area 42NR in the 64 × 1 format one frame before is read out in the 64 × 1 format and in the raster scan format and supplied to the NTSC encoder 20. Then, it is converted into an NTSC signal, supplied to the monitor display 6, and displayed as a recorded monitor image.

上述のように、この実施形態では、NR画像は、画像メモリ部4には、第1のメモリ領域41NRと、第2のメモリ領域42NRとの両方に、2重に書き込まれることとなるため、画像メモリ部4の容量、画像メモリ部4およびメモリコントローラ8の消費電力は大きくなるが、動き検出・動き補償部16に対する画像メモリ部4からの画像データのバスアクセスの効率が良く、バス帯域を大きく削減できるというメリットがある。   As described above, in this embodiment, the NR image is written twice in the image memory unit 4 in both the first memory area 41NR and the second memory area 42NR. Although the capacity of the image memory unit 4 and the power consumption of the image memory unit 4 and the memory controller 8 increase, the efficiency of bus access of the image data from the image memory unit 4 to the motion detection / motion compensation unit 16 is good, and the bus bandwidth is reduced. There is a merit that it can be greatly reduced.

以上のように、この実施形態の撮像装置では、画像メモリ部4に、64×1フォーマットで短冊アクセス形式のみで書き込むか、短冊アクセス形式とブロックフォーマットによるブロックアクセス形式の2種類の方式で書き込むか、のいずれかを選択することができる。消費電力を少なくする、またはメモリ容量の削減が必要なときは短冊アクセス方式のみを用いることを選択し、バス帯域を削減したい場合は短冊アクセス形式とブロックアクセス形式の2種類の方式を用いることを選択するのが望ましい。   As described above, in the imaging apparatus of this embodiment, whether to write in the image memory unit 4 only in the strip access format in the 64 × 1 format or in the block access format based on the strip access format and the block format. , Either can be selected. If you want to reduce power consumption or reduce memory capacity, choose to use only the strip access method, and if you want to reduce the bus bandwidth, use two types of strip access format and block access format. It is desirable to choose.

[撮像装置の第2の実施形態]
上述した実施形態の撮像装置は、図1に示したように、画像重ね合わせ結果のNR画像を、そのまま記録するようにしている。これに対して、図59に示すように、画像重ね合わせ部17の後段に、後処理・エフェクト部30を設け、この後処理・エフェクト部30で、画面合成、グラフィック合成、セピア処理などの画像についての後処理あるいはエフェクト処理を行った後、記録することができる撮像装置を構成することもできる。
[Second Embodiment of Imaging Device]
As shown in FIG. 1, the imaging apparatus according to the above-described embodiment records an NR image as a result of image superimposition as it is. On the other hand, as shown in FIG. 59, a post-processing / effect unit 30 is provided in the subsequent stage of the image superimposing unit 17, and the post-processing / effect unit 30 performs image synthesis, graphic synthesis, sepia processing, and the like. It is also possible to configure an imaging device that can perform recording after performing post-processing or effect processing for.

この場合、後処理・エフェクト部30は、ユーザ操作入力部3を通じたユーザ操作入力により、その処理動作がオン・オフされる。つまり、使用者が、ユーザ操作入力部3を通じて、画面合成、グラフィック合成、セピア処理などの画像についての後処理あるいはエフェクト処理を指示したときに、CPU1により、後処理・エフェクト部30は、動作オンとされ、後処理あるいはエフェクト処理が指定されないときには、この後処理・エフェクト部30は、CPU1により、動作オフとされる。   In this case, the processing operation of the post-processing / effect unit 30 is turned on / off by a user operation input through the user operation input unit 3. That is, when the user instructs post-processing or effect processing for an image such as screen synthesis, graphic synthesis, or sepia processing through the user operation input unit 3, the post-processing / effect unit 30 is turned on by the CPU 1. When post-processing or effect processing is not designated, the post-processing / effect unit 30 is turned off by the CPU 1.

そして、後処理・エフェクト部30が動作オフとされるときには、この第2の実施形態の撮像装置では、図58に示した前述の実施形態の撮像装置の場合と同様に、画像重ね合わせ部17からの動画NR処理結果のNR画像が、図60に示すように、8×8フォーマットや4×4フォーマットなどのブロックフォーマットで、画像メモリ部4のNR画像についての第1のメモリ領域41NRに書き込まれると共に、64×1フォーマットで、画像メモリ部4のNR画像についての第2のメモリ領域42NRに書き込まれる。なお、図60に示すように、第1のメモリ領域41NRには、NR画像は、縮小面画像が併せて書き込まれる。   When the post-processing / effect unit 30 is turned off, in the imaging apparatus of the second embodiment, as in the imaging apparatus of the above-described embodiment shown in FIG. As shown in FIG. 60, the NR image of the moving image NR processing result from is written in the first memory area 41NR for the NR image of the image memory unit 4 in a block format such as 8 × 8 format or 4 × 4 format. At the same time, the NR image of the image memory unit 4 is written into the second memory area 42NR in the 64 × 1 format. As shown in FIG. 60, in the first memory area 41NR, the reduced plane image is written together with the NR image.

また、後処理・エフェクト部30が動作オンとされるときには、この第2の実施形態の撮像装置では、画像重ね合わせ部17からの動画NR処理結果のNR画像は、図61に示すように、8×8フォーマットや4×4フォーマットなどのブロックフォーマットで、画像メモリ部4のNR画像についての第1のメモリ領域41NRにのみ書き込まれる。   Further, when the post-processing / effect unit 30 is turned on, in the imaging apparatus of the second embodiment, the NR image of the moving image NR processing result from the image superimposing unit 17 is as shown in FIG. The data is written only in the first memory area 41NR of the NR image of the image memory unit 4 in a block format such as 8 × 8 format or 4 × 4 format.

そして、この後処理・エフェクト部30が動作オンとされる場合には、後処理・エフェクト部30で、画面合成、グラフィック合成、セピア処理などの画像についての後処理あるいはエフェクト処理がなされたNR画像が、64×1フォーマットで、画像メモリ部4のNR画像についての第2のメモリ領域42NRに書き込まれる。この後処理あるいはエフェクト処理がなされたNR画像は、次のフレームにおける参照画像としては用いることができない。   When the post-processing / effect unit 30 is turned on, the post-processing / effect unit 30 performs post-processing or effect processing on images such as screen synthesis, graphic synthesis, and sepia processing. Are written in the second memory area 42NR for the NR image of the image memory unit 4 in the 64 × 1 format. The NR image that has been subjected to post-processing or effect processing cannot be used as a reference image in the next frame.

そして、この第2の実施形態の撮像装置では、画像メモリ部4のNR画像についての第2のメモリ領域42NRに1フレーム前の時点で64×1フォーマットで書き込まれている後処理等がなされたNR画像が、64×1フォーマットで、かつ、ラスタースキャン形式で読み出されて、動画コーデック部19に転送され、動画圧縮エンコードされて、記録再生装置部5に記録される。また、第2のメモリ領域42NRに1フレーム前の時点で64×1フォーマットで書き込まれている後処理等がなされたNR画像は、64×1フォーマットで、かつ、ラスタースキャン形式で読み出されて、NTSCエンコーダ20に供給されてNTSC信号にされ、モニターディスプレイ6に供給されて、記録モニター画像として表示される。   In the image pickup apparatus according to the second embodiment, post-processing and the like written in the 64 × 1 format in the second memory area 42NR for the NR image in the image memory unit 4 at the time one frame before is performed. The NR image is read out in the 64 × 1 format and in the raster scan format, transferred to the moving image codec unit 19, subjected to moving image compression encoding, and recorded in the recording / reproducing device unit 5. Further, the post-processed NR image written in the second memory area 42NR in the 64 × 1 format one frame before is read out in the 64 × 1 format and in the raster scan format. , Supplied to the NTSC encoder 20 to be converted into an NTSC signal, supplied to the monitor display 6, and displayed as a recorded monitor image.

以上のように、この第2の実施形態の撮像装置において、後処理・エフェクト部30が動作オンとされる場合には、次のフレームでの参照画像として用いられる後処理等がなされていないNR画像と、記録用また記録モニター表示用として用いられる後処理等がなされたNR画像とを、画像メモリ部4に書き込む必要がある。そして、後処理等がなされていないNR画像は、その参照画像としての用途から、ブロックフォーマットで画像メモリ部4に書き込まれ、また、後処理等がなされているNR画像は、記録用および記録モニター表示用などの用途から、ラスタースキャン形式で読み出し易い64×1フォーマットで書き込まれる。   As described above, in the imaging apparatus according to the second embodiment, when the post-processing / effect unit 30 is turned on, the post-processing used as a reference image in the next frame is not performed. It is necessary to write the image and the NR image subjected to post-processing used for recording and recording monitor display in the image memory unit 4. The NR image that has not been post-processed or the like is written in the image memory unit 4 in a block format for use as a reference image. The NR image that has been post-processed or the like is used for recording and recording monitoring. For purposes such as display, data is written in a 64 × 1 format that is easy to read in raster scan format.

[動画NR処理時における基底面と縮小面とでのメモリアクセスの変更について]
上述した第1および第2の実施形態の撮像装置においては、動き検出・動き補償部16におけるブロックマッチング手法として、縮小面マッチング処理と基底面マッチング処理とからなる階層化ブロックマッチング手法を採用している。
[Changes in memory access between base plane and reduced plane during video NR processing]
In the imaging devices of the first and second embodiments described above, a hierarchized block matching method including a reduced surface matching process and a base surface matching process is employed as a block matching method in the motion detection / compensation unit 16. Yes.

動画NR処理時の基底面マッチング処理においては、画像メモリ部4に書き込まれている基底面ターゲット画像および基底面参照画像は、図58に示したように、動き検出・動き補償部16のみではなく、システムバス2に接続されている他の処理部がアクセスすることがあるため、上述したように、メモリアクセスのフォーマットに制約が発生する。しかしながら、縮小面マッチングにおける縮小面画像であれば、動き検出・動き補償部16でしかアクセスしないため、メモリアクセスのフォーマットの制約は発生しない。   In the basal plane matching process at the time of the moving image NR process, the basal plane target image and the basal plane reference image written in the image memory unit 4 are not only the motion detection / motion compensation unit 16 as shown in FIG. Since other processing units connected to the system bus 2 may access, restrictions on the memory access format occur as described above. However, since a reduced surface image in reduced surface matching is accessed only by the motion detection / motion compensation unit 16, there is no restriction on the format of memory access.

そこで、基底面マッチング処理時と縮小面マッチング処理時とで、画像メモリ部4の画像データに対するメモリアクセスのフォーマットを変えることで、バス帯域をさらに削減することが可能である。   Therefore, the bus bandwidth can be further reduced by changing the memory access format for the image data in the image memory unit 4 between the base plane matching process and the reduction plane matching process.

バス帯域の削減を可能にする例として、ここでは、縮小面マッチング処理時における画像データの削減を行う。すなわち、上述したように、この発明による実施形態においては、ブロックマッチング手法におけるSAD値の算出では、輝度情報Yのみしか使用していない。   As an example of enabling reduction of the bus bandwidth, here, image data is reduced during the reduction plane matching process. That is, as described above, in the embodiment according to the present invention, only the luminance information Y is used in the calculation of the SAD value in the block matching method.

しかし、NR処理して、画像データを記録するためには、輝度情報Yのみではなく、クロマ信号情報C(Cr,Cb)をも必要である。このため、上述の説明では、システムバス2のバス幅が64ビット、最大バースト長は16バーストとしたとき、最大効率の転送時のデータ量、すなわち、64ビット×16バースト=128バイトは、Y:Cr:Cb=4:2:2のフォーマットの輝度信号Y(8ビット)、クロマ信号C(8ビット)は、4画素分に相当するとした。   However, not only the luminance information Y but also the chroma signal information C (Cr, Cb) is necessary to record the image data by performing the NR process. For this reason, in the above description, when the bus width of the system bus 2 is 64 bits and the maximum burst length is 16 bursts, the data amount at the time of maximum efficiency transfer, that is, 64 bits × 16 bursts = 128 bytes is Y : Cr: Cb = 4: 2: 2 format luminance signal Y (8 bits) and chroma signal C (8 bits) correspond to 4 pixels.

ところで、縮小面画像は、記録対象ではないので、クロマ信号Cを用いる必要は無い。そこで、図62(A)に示すような、8×8フォーマットのYC画像データから、輝度情報Y(8ビット)のみを抽出して、図62(B)に示すような8×8フォーマットのY画像データとし、縮小面マッチング処理用とすることができるが、その場合のYC画像データのデータ量は、上述の場合の半分になる。   Incidentally, since the reduced surface image is not a recording target, it is not necessary to use the chroma signal C. Therefore, only the luminance information Y (8 bits) is extracted from the 8 × 8 format YC image data as shown in FIG. 62A, and the 8 × 8 format Y as shown in FIG. The image data can be used for reduced surface matching processing, but the amount of YC image data in that case is half that of the above case.

そこで、上述の実施形態における最大効率の転送時のデータ量、すなわち、64ビット×16バースト=128バイトは、図62(C)に示すように、8ライン×8画素=64画素のブロックの2ブロック分である128画素分となる。したがって、縮小面マッチング処理時には、画像メモリ部4に対するメモリアクセスにおいて、この128画素分を、1転送でアクセスすることができる。   Therefore, the amount of data at the time of transfer with the maximum efficiency in the above-described embodiment, that is, 64 bits × 16 bursts = 128 bytes is 2 in a block of 8 lines × 8 pixels = 64 pixels as shown in FIG. It is for 128 pixels, which is a block. Therefore, at the time of the reduction plane matching process, in the memory access to the image memory unit 4, the 128 pixels can be accessed by one transfer.

すなわち、縮小面マッチング処理時においては、8×8フォーマットのYC情報のうち、Y情報のみ抽出することで、上述の例の場合よりも、最大効率の1アクセス(128バイト)で、最大、8画素×8ライン×2ブロックのデータを転送することが可能になり、マッチング精度は変わらずに、バス帯域を1/2に削減することができる。   That is, at the time of reduced surface matching processing, only Y information is extracted from YC information in the 8 × 8 format, so that the maximum efficiency is 8 in one access (128 bytes) compared to the above example. Data of pixel × 8 lines × 2 blocks can be transferred, and the bus bandwidth can be reduced to ½ without changing the matching accuracy.

また、縮小面マッチング処理時においては、図62(B)のY画像データを、図63(A)および(B)に示すように、千鳥格子状に間引きし、垂直方向に詰めて画像メモリ部4に書き込むようにすることで、さらにバス帯域を削減することができる。   In the reduced plane matching process, the Y image data in FIG. 62B is thinned out in a staggered pattern and packed vertically in the image memory as shown in FIGS. 63A and 63B. By writing to the unit 4, the bus bandwidth can be further reduced.

このとき、図63(C)に示すように、1アクセス(128バイト)で、最大、4画素×8ライン×4ブロックのデータを転送可能になり、マッチング精度は落ちるものの、バス帯域は1/4に削減することが可能である。   At this time, as shown in FIG. 63 (C), data of 4 pixels × 8 lines × 4 blocks at maximum can be transferred with one access (128 bytes), and the matching accuracy is lowered, but the bus bandwidth is 1 / It is possible to reduce to 4.

[実施形態の効果]
以上のように、実施形態の撮像装置で最も効率の良いデータ転送サイズのブロック単位で、画像メモリ部4に対するメモリアクセスのデータフォーマットを決定し、静止画NR処理、動画NR処理に応じて、画像メモリ部4に対するメモリアクセスのデータフォーマットを選択することで、バス帯域を削減し、バスアクセスの効率も向上させることができる。
[Effect of the embodiment]
As described above, the memory access data format for the image memory unit 4 is determined in units of blocks having the most efficient data transfer size in the imaging apparatus of the embodiment, and the image is selected according to the still image NR process and the moving image NR process. By selecting a data format for memory access to the memory unit 4, the bus bandwidth can be reduced and the bus access efficiency can be improved.

また、基底面マッチング処理時と縮小面マッチング処理時とで画像メモリ部4に対するメモリアクセスのデータフォーマットを変更し、縮小面マッチング処理時は、動き検出・動き補償部16以外の他の処理部の画像メモリ部4のアクセスが無いことを利用して、動き検出に適したデータフォーマットにすることで、バス帯域をさらに削減することが可能である。   In addition, the memory access data format for the image memory unit 4 is changed during the base plane matching process and during the reduction plane matching process. During the reduction plane matching process, other processing units other than the motion detection / motion compensation unit 16 are used. By making use of the fact that there is no access to the image memory unit 4 and making the data format suitable for motion detection, the bus bandwidth can be further reduced.

また、画像重ね合わせ後に、後処理やエフェクト処理を施す場合、複数フォーマットで画像メモリ部4に画像データを貼る必要があるが、マッチング処理のための参照画像を、画像メモリ部4に対して、ブロックフォーマットで書き込みおよび読み出しアクセスするようにすることで、バス帯域を削減することができる。   In addition, when post-processing and effect processing are performed after image superimposition, it is necessary to paste image data in the image memory unit 4 in a plurality of formats, but a reference image for matching processing is displayed on the image memory unit 4. By performing write and read access in block format, the bus bandwidth can be reduced.

また、上述した実施形態によれば、画像補正・解像度変換部15で、画像を、短冊状に分割したフォーマットでメモリアクセスを行い、静止画コーデック部18での圧縮符号化の単位も同じく短冊形式にすることで、画像補正・解像度変換部15から静止画コーデック部18に、メモリを介さず、直接データを転送することができ、高速連写画像を効率よく圧縮符号化し、画像メモリ部4に格納することができる。   Further, according to the above-described embodiment, the image correction / resolution conversion unit 15 performs memory access in a format in which an image is divided into strips, and the unit of compression encoding in the still image codec unit 18 is also a strip format. By doing so, data can be directly transferred from the image correction / resolution conversion unit 15 to the still image codec unit 18 without using a memory, and high-speed continuous shot images can be efficiently compression-encoded and stored in the image memory unit 4. Can be stored.

また、画像メモリ部4に格納された、圧縮符号化された画像を参照画像として用いるときに、画像を分割した短冊単位で伸長復号化することで、ブロックマッチング処理に必要な範囲だけ復号化することができ、画像メモリ部4のワーク領域を節約することができる。さらに、画像メモリ部4上の不要な参照画像短冊のアドレスに、次に使用する参照画像短冊を復号化して上書きすることで、ワーク領域上の復号化された参照画像のサイズを、常に一定にすることができる。   Further, when a compression-encoded image stored in the image memory unit 4 is used as a reference image, only the range necessary for block matching processing is decoded by decompression decoding in units of strips obtained by dividing the image. The work area of the image memory unit 4 can be saved. Furthermore, the size of the decoded reference image on the work area is always kept constant by decoding and overwriting the reference image strip to be used next at the address of the unnecessary reference image strip on the image memory unit 4. can do.

また、前述したように、この実施形態によれば、設定情報などによって、ターゲット画像と参照画像の選択方法、重ね合わせの順序、重ね合わせの計算方法を変更することによって、所望のNR画像を得ることが可能である。   Further, as described above, according to this embodiment, a desired NR image is obtained by changing the selection method of the target image and the reference image, the order of overlay, and the calculation method of overlay according to the setting information. It is possible.

[その他の実施の形態および変形例]
上述の実施形態においては、静止画コーデック部18における圧縮符号化方式としては、JPEG方式を用い、また、動画コーデック部19における圧縮符号化方式としてはMPEG方式を用いるようにしたが、これは一例であって、この発明は、どのような画像圧縮符号化方式であっても適用可能であることは言うまでもない。
[Other Embodiments and Modifications]
In the above-described embodiment, the JPEG method is used as the compression encoding method in the still image codec unit 18, and the MPEG method is used as the compression encoding method in the moving image codec unit 19, but this is an example. Therefore, it goes without saying that the present invention can be applied to any image compression coding system.

また、上述の実施形態では、静止画撮影時の記録画像を圧縮符号化するための圧縮符号化処理部で、ブロックマッチング時における撮像画像の圧縮符号化を行うようにしたが、記録処理のための圧縮方式と、ブロックマッチング時における撮像画像の圧縮方式とで、異なる方式を用いるようにしても良い。   In the above-described embodiment, the compression encoding processing unit for compressing and encoding a recorded image at the time of still image shooting performs compression encoding of the captured image at the time of block matching. Different compression methods may be used for the compression method and the compression method for the captured image at the time of block matching.

また、上述の実施形態では、動画NR処理において、画像メモリ部4に対する複数のメモリアクセスのデータフォーマットを用いるようにしたが、静止画NR処理にも用いても良い。特に、撮影中加算方式で静止画NR処理をする場合には、処理速度も重要になるので、上述のようなバス帯域を削減する方法を採用する方が良い。   In the above-described embodiment, a plurality of memory access data formats for the image memory unit 4 are used in the moving image NR processing. However, the moving image NR processing may be used for still image NR processing. In particular, when the still image NR process is performed by the addition method during shooting, the processing speed is also important. Therefore, it is better to adopt the method for reducing the bus bandwidth as described above.

また、画像を、水平方向の複数画素毎に分割して、短冊単位のデータとしてメモリアクセスするようにしたが、これは、画像メモリからの画像データの読み出し、書き込み方向が、水平ライン方向を基準にしたからである。画像メモリからの画像データの読み出し、書き込み方向が垂直方向である場合には、画像を垂直方向の複数ライン単位で分割した帯状単位のデータとしてデータアクセスするようにすれば、上述と同様の作用効果が得られることは言うまでもない。その場合には、例えば64×1フォーマットは、垂直方向の64ライン×1画素というフォーマットになる。   In addition, the image is divided into a plurality of pixels in the horizontal direction and memory access is performed as strip data. This is because the read / write direction of image data from the image memory is based on the horizontal line direction. Because it was. When the image data is read from and written to the image memory in the vertical direction, the same effect as described above can be obtained by accessing the data as band-shaped data obtained by dividing the image into a plurality of lines in the vertical direction. It goes without saying that can be obtained. In that case, for example, the 64 × 1 format is a format of 64 lines × 1 pixel in the vertical direction.

また、上述の実施の形態において、動きベクトル算出部の第1の例においては、サーチ範囲におけるサーチ方向を水平ライン方向に取り、例えばサーチ範囲の左上から順に参照ブロックを移動させるようにしてサーチを行うようにすると共に、SADテーブルの1ライン分のメモリを設けるようにしたが、サーチ範囲におけるサーチ方向を垂直方向に取り、例えばサーチ範囲の左上端から垂直方向にサーチを開始し、垂直方向の1列分のサーチが終わった後、水平方向に、参照ブロックの位置を1つ分、例えば1画素分右の垂直方向の列に移動し、その列の上端から垂直方向にサーチする、という手順を繰り返すサーチ方法を採用するようにしても良い。このようにサーチ範囲の左上端から順に、垂直方向に参照ブロックを移動させるようにしてサーチを行うようにする場合には、SADテーブルの垂直方向の一列分のメモリを設けるようにすれば良い。   In the first embodiment described above, in the first example of the motion vector calculation unit, the search direction in the search range is set to the horizontal line direction, and the search is performed by moving the reference block in order from the upper left of the search range, for example. In addition, the memory for one line of the SAD table is provided, but the search direction in the search range is taken in the vertical direction, for example, the search is started in the vertical direction from the upper left end of the search range, and the vertical direction After the search for one column is completed, the position of the reference block is moved in the horizontal direction by one, for example, one pixel to the right in the vertical column, and the search is performed in the vertical direction from the upper end of the column. You may make it employ | adopt the search method which repeats. As described above, when the search is performed by moving the reference block in the vertical direction sequentially from the upper left end of the search range, a memory for one column in the vertical direction of the SAD table may be provided.

ここで、水平方向にサーチ方向を取るか、垂直方向にサーチ方向を取るかは、マッチング処理部、動きベクトル算出部の回路規模を考慮して、より回路規模が小さくなる方を採用するのが好ましい。   Here, whether the search direction is taken in the horizontal direction or the search direction in the vertical direction is determined by taking into account the circuit scales of the matching processing unit and the motion vector calculation unit and adopting the one with a smaller circuit scale. preferable.

なお、前述もしたように、参照ブロックの移動は、1画素毎、また、1ライン毎ではなく、複数画素毎、また、複数ライン毎でもよい。したがって、前者の場合の水平方向の1ライン分メモリは、水平方向における参照ブロックの移動位置分だけでよく、また、後者の場合の垂直方向の一列分のメモリは、垂直方向における参照ブロックの移動位置分だけでよい。つまり、参照ブロックの移動を1画素毎、また、1ライン毎に行う場合には、1ライン分メモリは、1ラインの画素数分の容量のメモリが必要であり、また、垂直方向の一列分メモリは、ライン数分の容量のメモリが必要である。しかし、複数画素毎、また、複数ライン毎に、参照ブロックを移動させる場合には、1画素毎、また、1ライン毎に参照ブロックを移動させる場合よりも、1ライン分メモリおよび1列分メモリの容量は少なくなる。   As described above, the reference block may be moved not for each pixel and for each line, but for each of a plurality of pixels and for each of a plurality of lines. Therefore, the memory for one line in the horizontal direction in the former case only needs to correspond to the movement position of the reference block in the horizontal direction, and the memory for one column in the vertical direction in the latter case moves the reference block in the vertical direction. Just the position. That is, when the reference block is moved for each pixel or for each line, the memory for one line needs a memory having the capacity corresponding to the number of pixels for one line, and for one column in the vertical direction. As the memory, a memory having a capacity corresponding to the number of lines is required. However, when the reference block is moved for each of a plurality of pixels and for each of a plurality of lines, the memory for one line and the memory for one column are compared with the case where the reference block is moved for each pixel and for each line. Less capacity.

また、補間処理の方法は、上述した二次曲線近似補間処理に限られるものではなく、前述もしたように、3次曲線や、より高次の曲線を用いた補間処理を行っても良い。   Further, the interpolation processing method is not limited to the above-described quadratic curve approximation interpolation processing, and as described above, interpolation processing using a cubic curve or a higher order curve may be performed.

また、上述の実施の形態は、この発明による画像処理装置を撮像装置に適用した場合であるが、この発明は、撮像装置に限られるわけではなく、種々の画像処理装置に適用可能である。   Moreover, although the above-mentioned embodiment is a case where the image processing apparatus by this invention is applied to an imaging device, this invention is not necessarily restricted to an imaging device, It can apply to various image processing apparatuses.

また、上述の実施の形態は、ブロックマッチング手法を用いて、画像の重ね合わせによるノイズ低減処理をする場合に、この発明を適用した場合であるが、これに限られるものではなく、画像メモリ部に書き込まれた画像データを、複数の処理部がアクセスするような画像処理装置の全てに適用可能である。   The above embodiment is a case where the present invention is applied when noise reduction processing is performed by superimposing images using a block matching method. However, the present invention is not limited to this. Can be applied to all image processing apparatuses that are accessed by a plurality of processing units.

この発明による画像処理装置の一実施の形態である撮像装置の構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of an imaging apparatus that is an embodiment of an image processing apparatus according to the present invention. 実施の形態の図1の撮像装置における撮像画像のノイズ低減処理を説明するための図である。It is a figure for demonstrating the noise reduction process of the captured image in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置におけるブロックマッチング処理の説明のために用いる図である。It is a figure used for description of the block matching process in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置における撮像画像のノイズ低減処理を説明するための図である。It is a figure for demonstrating the noise reduction process of the captured image in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置における撮像画像のノイズ低減処理を説明するための図である。It is a figure for demonstrating the noise reduction process of the captured image in the imaging device of FIG. 1 of embodiment. この発明の実施の形態の画像処理方法を説明するために用いる図である。It is a figure used in order to explain the image processing method of an embodiment of this invention. この発明の実施の形態の画像処理方法を説明するために用いる図である。It is a figure used in order to explain the image processing method of an embodiment of this invention. この発明の実施の形態の画像処理方法を説明するために用いる図である。It is a figure used in order to explain the image processing method of an embodiment of this invention. 実施の形態の図1の撮像装置における動き検出・動き補償部における動作を説明するために用いる図である。It is a figure used in order to demonstrate the operation | movement in the motion detection and the motion compensation part in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置における動き検出・動き補償部における動作を説明するために用いる図である。It is a figure used in order to demonstrate the operation | movement in the motion detection and the motion compensation part in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置における動き検出・動き補償部における動作を説明するために用いる図である。It is a figure used in order to demonstrate the operation | movement in the motion detection and the motion compensation part in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置における動き検出・動き補償部における処理による効果を説明するための図である。It is a figure for demonstrating the effect by the process in the motion detection and the motion compensation part in the imaging device of FIG. 1 of embodiment. 実施の形態の図1の撮像装置における動き検出・動き補償部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the motion detection and the motion compensation part in the imaging device of FIG. 1 of embodiment. 図13の動き検出・動き補償部の一部の詳細構成例のブロック図である。FIG. 14 is a block diagram of a detailed configuration example of a part of the motion detection / compensation unit of FIG. 13. 図13の動き検出・動き補償部の一部の詳細構成例のブロック図である。FIG. 14 is a block diagram of a detailed configuration example of a part of the motion detection / compensation unit of FIG. 13. 実施の形態の図1の撮像装置における画像重ね合わせ部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the image superimposition part in the imaging device of FIG. 1 of embodiment. この発明による画像処理方法の実施の形態を説明するためのフローチャートの一部を示す図である。It is a figure which shows a part of flowchart for demonstrating embodiment of the image processing method by this invention. この発明による画像処理方法の実施の形態を説明するためのフローチャートの一部を示す図である。It is a figure which shows a part of flowchart for demonstrating embodiment of the image processing method by this invention. この発明による画像処理方法の実施の形態を説明するためのフローチャートの一部を示す図である。It is a figure which shows a part of flowchart for demonstrating embodiment of the image processing method by this invention. 実施の形態の撮像装置における動き検出・動き補償部の動きベクトル算出部の第1の例を説明するために用いる図である。It is a figure used in order to demonstrate the 1st example of the motion vector calculation part of the motion detection / motion compensation part in the imaging device of an embodiment. 実施の形態の撮像装置における動き検出・動き補償部の動きベクトル算出部の第1の例を説明するために用いる図である。It is a figure used in order to demonstrate the 1st example of the motion vector calculation part of the motion detection / motion compensation part in the imaging device of an embodiment. 実施の形態の撮像装置における動き検出・動き補償部の動きベクトル算出部の第1の例の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st example of the motion vector calculation part of the motion detection / motion compensation part in the imaging device of embodiment. 図22の動きベクトル算出部の処理動作例を説明するためのフローチャートを示す図である。It is a figure which shows the flowchart for demonstrating the processing operation example of the motion vector calculation part of FIG. 図22の動きベクトル算出部の処理動作例を説明するためのフローチャートを示す図である。It is a figure which shows the flowchart for demonstrating the processing operation example of the motion vector calculation part of FIG. 図22の動きベクトル算出部の処理動作例を説明するためのフローチャートを示す図である。It is a figure which shows the flowchart for demonstrating the processing operation example of the motion vector calculation part of FIG. 実施の形態の撮像装置における動き検出・動き補償部の動きベクトル算出部の第2の例の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd example of the motion vector calculation part of the motion detection and the motion compensation part in the imaging device of embodiment. 図26の動きベクトル算出部の処理動作例を説明するためのフローチャートを示す図である。FIG. 27 is a diagram illustrating a flowchart for explaining a processing operation example of a motion vector calculation unit in FIG. 26. 図26の動きベクトル算出部の処理動作例を説明するためのフローチャートを示す図である。FIG. 27 is a diagram illustrating a flowchart for explaining a processing operation example of a motion vector calculation unit in FIG. 26. 図26の動きベクトル算出部の処理動作例を説明するためのフローチャートを示す図である。FIG. 27 is a diagram illustrating a flowchart for explaining a processing operation example of a motion vector calculation unit in FIG. 26. この発明の実施の形態の画像処理方法における具体例を説明するために用いる図である。It is a figure used in order to demonstrate the specific example in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における具体例を説明するために用いる図である。It is a figure used in order to demonstrate the specific example in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における具体例を説明するために用いる図である。It is a figure used in order to demonstrate the specific example in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における具体例を説明するために用いる図である。It is a figure used in order to demonstrate the specific example in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における短冊アクセス形式を説明するための図である。It is a figure for demonstrating the strip access format in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス方式を説明するための図である。It is a figure for demonstrating the memory access system of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像の処理単位の例を説明するための図である。It is a figure for demonstrating the example of the processing unit of the image in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データのメモリアクセス動作を説明するための図である。It is a figure for demonstrating the memory access operation | movement of the image data in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of embodiment of this invention. この発明による画像処理装置の他の実施の形態である撮像装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the imaging device which is other embodiment of the image processing apparatus by this invention. この発明の他の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of other embodiment of this invention. この発明の他の実施の形態の画像処理方法における画像データの流れを説明するための図である。It is a figure for demonstrating the flow of the image data in the image processing method of other embodiment of this invention. この発明の実施の形態の画像処理方法におけるメモリアクセス時の画像データの構成例を説明するための図である。It is a figure for demonstrating the structural example of the image data at the time of the memory access in the image processing method of embodiment of this invention. この発明の実施の形態の画像処理方法におけるメモリアクセス時の画像データの構成例を説明するための図である。It is a figure for demonstrating the structural example of the image data at the time of the memory access in the image processing method of embodiment of this invention. ブロックマッチング処理を説明するために用いる図である。It is a figure used in order to explain block matching processing. ブロックマッチング処理を説明するために用いる図である。It is a figure used in order to explain block matching processing. ブロックマッチング処理を説明するために用いる図である。It is a figure used in order to explain block matching processing. ブロックマッチング処理を説明するために用いる図である。It is a figure used in order to explain block matching processing. ブロックマッチング処理を説明するために用いる図である。It is a figure used in order to explain block matching processing. ブロックマッチング処理を説明するために用いる図である。It is a figure used in order to explain block matching processing.

符号の説明Explanation of symbols

4…画像メモリ部、8…メモリコントローラ、16…動き検出・動き補償部、17…画像重ね合わせ部、18…静止画コーデック部、100…ターゲット画像(ターゲットフレーム)、101…参照画像(参照フレーム)、102…ターゲットブロック、104…動きベクトル106…サーチ範囲、107…参照ベクトル、108…参照ブロック、163…マッチング処理部、164…動きベクトル算出部   DESCRIPTION OF SYMBOLS 4 ... Image memory part, 8 ... Memory controller, 16 ... Motion detection / motion compensation part, 17 ... Image superposition part, 18 ... Still image codec part, 100 ... Target image (target frame), 101 ... Reference image (reference frame) , 102 ... Target block, 104 ... Motion vector 106 ... Search range, 107 ... Reference vector, 108 ... Reference block, 163 ... Matching processing unit, 164 ... Motion vector calculation unit

Claims (16)

複数画面分の画像データを記録可能な画像メモリ部と、
入力される画像データについて第1の処理を行って、前記画像メモリ部に、その処理結果の画像データを格納する第1の画像処理部と、
前記画像メモリ部から前記処理結果の画像データを読み出して第2の処理を行なう第2の画像処理部と、
前記画像メモリ部から前記処理結果の画像データを読み出して第3の処理を行なう第3の画像処理部と、
前記画像メモリ部と、前記第1の画像処理部と、前記第2の画像処理部と、前記第3の画像処理部とが接続されるバスと、
前記画像メモリ部に対する前記バスを介した画像データの書き込みおよび読み出しを制御するメモリコントローラと、
を備え、
前記第1の画像処理部での前記第1の処理の結果の画像データは、前記メモリコントローラにより、画面の垂直方向のライン数と水平方向の画素数との組み合わせが第1の組み合わせとされた第1のブロック単位で、前記画像メモリ部の第1のメモリ領域に書き込まれると共に、画面の垂直方向のライン数と水平方向の画素数との組み合わせが、前記第1の組み合わせとは異なる第2の組み合わせとされた第2のブロック単位で、前記画像メモリ部の第2のメモリ領域に書き込まれるようにされ、
前記第2の画像処理部には、前記メモリコントローラにより、前記画像メモリ部の前記第1のメモリ領域に書き込まれた画像データが、前記第1のブロック単位で読み出されて供給され、
前記第3の画像処理部には、前記メモリコントローラにより、前記画像メモリ部の前記第2のメモリ領域に書き込まれた画像データが、前記第2のブロック単位で読み出されて供給される
ことを特徴とする画像処理装置。
An image memory unit capable of recording image data for a plurality of screens;
A first image processing unit that performs first processing on input image data and stores image data of the processing result in the image memory unit;
A second image processing unit that reads out the image data of the processing result from the image memory unit and performs a second process;
A third image processing unit that reads out the image data of the processing result from the image memory unit and performs a third process;
A bus to which the image memory unit, the first image processing unit, the second image processing unit, and the third image processing unit are connected;
A memory controller that controls writing and reading of image data via the bus to the image memory unit;
With
The image data as a result of the first processing in the first image processing unit has the first combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction on the screen by the memory controller. The second block is written in the first memory area of the image memory unit in the first block unit, and the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction of the screen is different from the first combination. And is written in the second memory area of the image memory unit in a second block unit that is a combination of
Image data written in the first memory area of the image memory unit by the memory controller is read and supplied in units of the first block to the second image processing unit,
Image data written in the second memory area of the image memory unit by the memory controller is read and supplied to the third image processing unit in units of the second block. A featured image processing apparatus.
請求項1に記載の画像処理装置において、
前記メモリコントローラは、前記バスを介して所定数の複数画素の単位で画像データをバースト転送可能、かつ、連続して、複数回、バースト転送することが可能であり、
前記第1のブロック単位および前記第2のブロック単位の画像データは、前記画像メモリ部に対する書き込みまたは読み出しに際し、前記メモリコントローラにより、前記所定数の複数画素単位で複数回、連続してバースト転送される
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 1.
The memory controller can burst transfer image data in units of a predetermined number of pixels via the bus, and can continuously burst transfer a plurality of times.
The image data of the first block unit and the second block unit is continuously burst transferred by the memory controller a plurality of times in units of the predetermined number of the plurality of pixels when writing to or reading from the image memory unit. An image processing apparatus.
請求項2に記載の画像処理装置において、
前記第1のブロック単位は、垂直方向の複数ラインと水平方向の複数画素とからなり、
前記第2のブロック単位は、垂直方向または水平方向のうち、画像データの前記画像メモリ部への書き込み方向の複数画素のみからなる
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 2,
The first block unit includes a plurality of vertical lines and a plurality of horizontal pixels,
The image processing apparatus according to claim 2, wherein the second block unit includes only a plurality of pixels in a writing direction of image data in the image memory unit in a vertical direction or a horizontal direction.
請求項2に記載の画像処理装置において、
画面の端部における画像データの前記画像メモリ部に対して書き込みに際し、前記画像データが、前記第1のブロック単位または前記第2のブロック単位よりも少ない画素数からなるものであるときに、ダミーデータを付加して、前記第1のブロック単位または前記第2のブロック単位の複数画素とするようにした
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 2,
When writing the image data at the edge of the screen to the image memory unit, when the image data has a smaller number of pixels than the first block unit or the second block unit, An image processing apparatus, wherein data is added to form a plurality of pixels in the first block unit or the second block unit.
請求項3に記載の画像処理装置において、
前記所定数の複数画素は、p(pは2以上の整数)個の画素であり、前記メモリコントローラにおける前記バースト転送の最大連続可能回数はq回であるとき、前記第2のブロック単位の前記書き込み方向の画素数は、p×q個であり、
前記第2のブロック単位の画像データの前記画像メモリに対するアクセスは、前記p個の画素の前記バースト転送をq回、前記読み出し方向のp×q個の画素について行うようにするものである
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 3.
The predetermined number of the plurality of pixels is p (p is an integer of 2 or more) pixels, and when the maximum continuation possible number of the burst transfer in the memory controller is q times, the second block unit The number of pixels in the writing direction is p × q,
The access to the image memory of the image data in the second block unit is to perform the burst transfer of the p pixels q times for the p × q pixels in the readout direction. A featured image processing apparatus.
請求項2に記載の画像処理装置において、
前記第1のブロック単位の画像データの前記画像メモリに対するアクセスは、前記第1のブロック単位の矩形画像領域内で、前記画像メモリに対する書き込み方向の画素のバースト転送が終了したら、次の行または列の前記書き込み方向の画素のバースト転送を行うことを連続して行うようにするものである
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 2,
Access to the image memory of the image data in the first block unit is performed in the next row or column after burst transfer of pixels in the writing direction to the image memory is completed in the rectangular image region in the first block unit. An image processing apparatus characterized by continuously performing burst transfer of pixels in the writing direction.
請求項1に記載の画像処理装置において、
前記第1の画像処理部は、前記第1の処理の結果の画像データについて、表示画像に反映される処理を施す後処理部を備え、前記画像メモリ部の前記第2のメモリ領域には、前記後処理部での処理結果の画像データが、前記第2のブロック単位で書き込まれる
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 1.
The first image processing unit includes a post-processing unit that performs processing reflected on a display image with respect to image data as a result of the first processing, and the second memory area of the image memory unit includes: The image processing apparatus, wherein image data obtained as a result of processing in the post-processing unit is written in units of the second block.
2画面間の動きベクトルを検出し、検出した動きベクトルに基づいて、前記2画面の一方を動き補償した動き補償画像を生成し、前記2画面の他方と、前記動き補償画像とを重ね合わせることにより、ノイズ低減した画像を得るようにする画像処理装置であって、
前記2画面の少なくとも一方を記憶する画像メモリ部と、
前記画像メモリ部から読み出した前記2画面の一方と、前記2画面の他方との間の動きベクトルを検出すると共に、検出した動きベクトルに基づいて前記2画面の一方を動き補償した動き補償画像を生成する動き検出・動き補償手段と、
前記動き検出・動き補償手段からの前記動き補償画像と、前記2画面の一方または他方との画像の重ね合わせをする画像重ね合わせ手段と、
前記画像重ね合わせ手段における前記重ね合わせ結果の画像データについて所定の処理をする後処理手段と、
前記画像メモリ部と、前記動き検出・動き補償手段と、前記画像重ね合わせ手段と、前記後処理手段とが接続されるバスと、
前記バスを介した、前記画像メモリ部への前記画像重ね合わせ部からの画像データの書き込みを制御すると共に、前記画像メモリ部からの画像データの読み出しを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、
前記画像重ね合わせ手段からの前記重ね合わせ結果の画像の画像データを、画面の垂直方向のライン数と水平方向の画素数との組み合わせが第1の組み合わせとされた第1のブロック単位で、前記画像メモリ部の第1のメモリ領域に書き込むと共に、画面の垂直方向のライン数と水平方向の画素数との組み合わせが、前記第1の組み合わせとは異なる第2の組み合わせとされた第2のブロック単位で、前記画像メモリ部の第2のメモリ領域に書き込み、また、
前記画像メモリ部の前記第1のメモリ領域に書き込まれた画像データを、前記第1のブロック単位で読み出して、前記動き検出を行う前記2画面の一方として、前記バスを介して前記動き検出・動き補償手段に供給し、
前記画像メモリ部の前記第2のメモリ領域に書き込まれた画像データを、前記第2のブロック単位で読み出して、前記後処理手段に前記バスを介して供給する
ことを特徴とする画像処理装置。
A motion vector between two screens is detected, a motion compensated image in which motion compensation is performed on one of the two screens is generated based on the detected motion vector, and the other of the two screens is superimposed on the motion compensated image. An image processing apparatus for obtaining a noise-reduced image,
An image memory unit for storing at least one of the two screens;
A motion compensation image obtained by detecting a motion vector between one of the two screens read from the image memory unit and the other of the two screens and performing motion compensation on one of the two screens based on the detected motion vector. Motion detection / motion compensation means to be generated;
Image superimposing means for superimposing the motion compensated image from the motion detection / compensation means and one or the other of the two screens;
Post-processing means for performing predetermined processing on the image data of the superposition result in the image superposition means;
A bus to which the image memory unit, the motion detection / motion compensation unit, the image superimposing unit, and the post-processing unit are connected;
A memory controller that controls writing of image data from the image superimposing unit to the image memory unit via the bus, and controls reading of image data from the image memory unit;
With
The memory controller is
The image data of the image as a result of the superimposition from the image superimposing means is a first block unit in which the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction is the first combination, and A second block in which the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction on the screen is a second combination different from the first combination, while writing to the first memory area of the image memory unit Writing in a second memory area of the image memory unit in units, and
The image data written in the first memory area of the image memory unit is read out in units of the first block, and the motion detection and detection via the bus is performed as one of the two screens for performing the motion detection. Supply to motion compensation means,
The image processing apparatus, wherein the image data written in the second memory area of the image memory unit is read in units of the second block and supplied to the post-processing means via the bus.
請求項8に記載の画像処理装置において、
前記メモリコントローラは、前記バスを介して所定数の複数画素の単位で、複数回、連続してバースト転送することが可能であり、
前記第1のブロック単位および前記第2のブロック単位の画像データは、前記画像メモリ部に対する書き込みまたは読み出しに際し、前記メモリコントローラにより、前記所定数の複数画素単位で複数回、連続してバースト転送される
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 8.
The memory controller is capable of continuous burst transfer a plurality of times in units of a predetermined number of pixels via the bus,
The image data of the first block unit and the second block unit is continuously burst-transferred a plurality of times in units of the predetermined number of the plurality of pixels by the memory controller when writing to or reading from the image memory unit. An image processing apparatus.
請求項9に記載の撮像装置において、
前記第1のブロック単位は、垂直方向の複数ラインと水平方向の複数画素とからなり、
前記第2のブロック単位は、垂直方向または水平方向のうち、画像データの前記画像メモリ部への書き込み方向の複数画素のみからなる
ことを特徴とする画像処理装置。
The imaging device according to claim 9,
The first block unit includes a plurality of vertical lines and a plurality of horizontal pixels,
The image processing apparatus according to claim 2, wherein the second block unit includes only a plurality of pixels in a writing direction of image data in the image memory unit in a vertical direction or a horizontal direction.
請求項9に記載の画像処理装置において、
画面の端部における画像データの前記画像メモリ部に対して書き込みに際し、前記画像データが、前記第1のブロック単位または前記第2のブロック単位よりも少ない画素数からなるものであるときに、ダミーデータを付加して、前記第1のブロック単位または前記第2のブロック単位の複数画素とするようにした
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 9.
When writing the image data at the edge of the screen to the image memory unit, when the image data has a smaller number of pixels than the first block unit or the second block unit, An image processing apparatus, wherein data is added to form a plurality of pixels in the first block unit or the second block unit.
請求項10に記載の撮像装置において、
前記所定数の複数画素は、p(pは2以上の整数)個の画素であり、前記メモリコントローラにおける前記バースト転送の最大連続可能回数はq回であるとき、前記第2のブロック単位の前記書き込み方向の画素数は、p×q個であり、
前記第2のブロック単位の画像データの前記画像メモリに対するアクセスは、前記p個の画素の前記バースト転送をq回、前記読み出し方向のp×q個の画素について行うようにするものであると共に、
前記第2のブロック単位の画像データの前記画像メモリに対するアクセスを、前記垂直方向または水平方向のうち、画像データの前記画像メモリ部への書き込み方向でない方向に連続して行う短冊形式とする
ことを特徴とする画像処理装置。
The imaging device according to claim 10.
The predetermined number of the plurality of pixels is p (p is an integer of 2 or more) pixels, and when the maximum continuation possible number of the burst transfer in the memory controller is q times, the second block unit The number of pixels in the writing direction is p × q,
The access of the image data of the second block unit to the image memory is such that the burst transfer of the p pixels is performed q times for p × q pixels in the readout direction, and
Access to the image memory of the image data of the second block unit is made in a strip form that is continuously performed in a direction that is not a writing direction of the image data to the image memory unit in the vertical direction or the horizontal direction. A featured image processing apparatus.
請求項12に記載の画像処理装置において、
前記動き検出・動き補償手段に供給される前記2画面の他方は、前記短冊形式の画像データとされており、前記動き検出・動き補償手段は、前記2画面の他方の画像データと、前記動き補償画像の画像データとを、前記短冊形式で前記画像重ね合わせ手段に供給し、
前記画像重ね合わせ手段の前記重ね合わせ結果の画像データは、前記メモリコントローラにより、前記第1のブロック単位で前記画像メモリ部の前記第1のメモリ領域に書き込まれると共に、前記第2のブロック単位で、かつ、前記短冊形式で前記画像メモリ部の前記第2のメモリ領域に書き込まれる
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 12.
The other of the two screens supplied to the motion detection / motion compensation means is image data in the strip format, and the motion detection / motion compensation means includes the other image data of the two screens and the motion. Image data of the compensation image is supplied to the image superimposing means in the strip format,
The image data resulting from the superposition of the image superimposing means is written into the first memory area of the image memory unit by the memory controller in units of the first blocks and in units of the second blocks. The image processing device is written in the second memory area of the image memory unit in the strip format.
請求項13に記載の画像処理装置において、
前記後処理手段には、前記メモリコントローラにより、前記画像メモリ部の前記第2のメモリ領域から、前記第2のブロック単位で、かつ、ラスタースキャン形式で画像データが読み出されて供給される
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 13.
Image data is read and supplied to the post-processing means from the second memory area of the image memory unit in the second block unit and in a raster scan format by the memory controller. An image processing apparatus.
複数画面分の画像データを記録可能な画像メモリ部と、
入力される画像データについて第1の処理を行って、前記画像メモリ部に、その処理結果の画像データを格納する第1の画像処理部と、
前記画像メモリ部から前記処理結果の画像データを読み出して第2の処理を行なう第2の画像処理部と、
前記画像メモリ部から前記処理結果の画像データを読み出して第3の処理を行なう第3の画像処理部と、
前記画像メモリ部と、前記第1の画像処理部と、前記第2の画像処理部と、前記第3の画像処理部とが接続されるバスと、
前記画像メモリ部に対する前記バスを介した画像データの書き込みおよび読み出しを制御するメモリコントローラと、
を備える画像処理装置における画像データのメモリアクセス方法であって、
前記メモリコントローラは、
前記第1の画像処理部での前記第1の処理の結果の画像データを、画面の垂直方向のライン数と水平方向の画素数との組み合わせが第1の組み合わせとされた第1のブロック単位で、前記画像メモリ部の第1のメモリ領域に書き込むと共に、画面の垂直方向のライン数と水平方向の画素数との組み合わせが、前記第1の組み合わせとは異なる第2の組み合わせとされた第2のブロック単位で、前記画像メモリ部の第2のメモリ領域に書き込む画像データ書き込み工程と、
前記画像データ書き込み工程で前記第1のメモリ領域に書き込まれた画像データを読み出して、前記バスを介して前記第2の画像処理部に供給する工程と、
前記画像データ書き込み工程で前記第2のメモリ領域に書き込まれた画像データを読み出して、前記バスを介して前記第3の画像処理部に供給する工程と、
ことを特徴とする画像データのメモリアクセス方法。
An image memory unit capable of recording image data for a plurality of screens;
A first image processing unit that performs first processing on input image data and stores image data of the processing result in the image memory unit;
A second image processing unit that reads out the image data of the processing result from the image memory unit and performs a second process;
A third image processing unit that reads out the image data of the processing result from the image memory unit and performs a third process;
A bus to which the image memory unit, the first image processing unit, the second image processing unit, and the third image processing unit are connected;
A memory controller that controls writing and reading of image data via the bus to the image memory unit;
A memory access method for image data in an image processing apparatus comprising:
The memory controller is
The first block unit in which the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction is the first combination of the image data as a result of the first processing in the first image processing unit Thus, the first combination is written to the first memory area of the image memory unit, and the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction is a second combination different from the first combination. An image data writing step for writing to the second memory area of the image memory unit in units of two blocks;
Reading the image data written in the first memory area in the image data writing step and supplying the image data to the second image processing unit via the bus;
Reading the image data written in the second memory area in the image data writing step and supplying the image data to the third image processing unit via the bus;
A memory access method for image data.
2画面間の動きベクトルを検出し、検出した動きベクトルに基づいて、前記2画面の一方を動き補償した動き補償画像を生成し、前記2画面の他方と、前記動き補償画像とを重ね合わせることにより、ノイズ低減した画像を得るようにする画像処理装置であって、
前記2画面の少なくとも一方を記憶する画像メモリ部と、
前記画像メモリ部から読み出した前記2画面の一方と、前記2画面の他方との間の動きベクトルを検出すると共に、検出した動きベクトルに基づいて前記2画面の一方を動き補償した動き補償画像を生成する動き検出・動き補償手段と、
前記動き検出・動き補償手段からの前記動き補償画像と、前記2画面の一方または他方との画像の重ね合わせをする画像重ね合わせ手段と、
前記画像重ね合わせ手段における前記重ね合わせ結果の画像データについて所定の処理をする後処理手段と、
前記画像メモリ部と、前記動き検出・動き補償手段と、前記画像重ね合わせ手段と、前記後処理手段とが接続されるバスと、
前記バスを介した、前記画像メモリ部への前記画像重ね合わせ部からの画像データの書き込みを制御すると共に、前記画像メモリ部からの画像データの読み出しを制御するメモリコントローラと、
を備える画像処理装置における画像データのメモリアクセス方法であって、
前記メモリコントローラは、
前記画像重ね合わせ手段からの前記重ね合わせ結果の画像の画像データを、画面の垂直方向のライン数と水平方向の画素数との組み合わせが第1の組み合わせとされた第1のブロック単位で、前記画像メモリ部の第1のメモリ領域に書き込むと共に、画面の垂直方向のライン数と水平方向の画素数との組み合わせが、前記第1の組み合わせとは異なる第2の組み合わせとされた第2のブロック単位で、前記画像メモリ部の第2のメモリ領域に書き込む画像書き込み工程と、
前記画像データ書き込み工程で前記画像メモリ部の前記第1のメモリ領域に書き込まれた画像データを読み出して、前記動き検出を行う前記2画面の一方として、前記バスを介して前記動き検出・動き補償手段に供給する工程と、
前記画像データ書き込み工程で前記画像メモリ部の前記第2のメモリ領域に書き込まれた画像データを読み出して、前記後処理手段に前記バスを介して供給する工程と
を備えることを特徴とする画像データのメモリアクセス方法。
A motion vector between two screens is detected, a motion compensated image in which motion compensation is performed on one of the two screens is generated based on the detected motion vector, and the other of the two screens is superimposed on the motion compensated image. An image processing apparatus for obtaining a noise-reduced image,
An image memory unit for storing at least one of the two screens;
A motion compensation image obtained by detecting a motion vector between one of the two screens read from the image memory unit and the other of the two screens and performing motion compensation on one of the two screens based on the detected motion vector. Motion detection / motion compensation means to be generated;
Image superimposing means for superimposing the motion compensated image from the motion detection / compensation means and one or the other of the two screens;
Post-processing means for performing predetermined processing on the image data of the superposition result in the image superposition means;
A bus to which the image memory unit, the motion detection / motion compensation unit, the image superimposing unit, and the post-processing unit are connected;
A memory controller that controls writing of image data from the image superimposing unit to the image memory unit via the bus, and controls reading of image data from the image memory unit;
A memory access method for image data in an image processing apparatus comprising:
The memory controller is
The image data of the image as a result of the superimposition from the image superimposing means is a first block unit in which the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction is the first combination, and A second block in which the combination of the number of lines in the vertical direction and the number of pixels in the horizontal direction on the screen is a second combination different from the first combination, while writing to the first memory area of the image memory unit An image writing step for writing to the second memory area of the image memory unit in units;
The image data written in the first memory area of the image memory unit in the image data writing step is read and one of the two screens for performing the motion detection is used as the motion detection / motion compensation via the bus. Supplying the means;
Reading the image data written in the second memory area of the image memory unit in the image data writing step, and supplying the image data to the post-processing means via the bus. Memory access method.
JP2007291464A 2007-11-09 2007-11-09 Image processing apparatus, and memory access method for image data Pending JP2009116763A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007291464A JP2009116763A (en) 2007-11-09 2007-11-09 Image processing apparatus, and memory access method for image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007291464A JP2009116763A (en) 2007-11-09 2007-11-09 Image processing apparatus, and memory access method for image data

Publications (1)

Publication Number Publication Date
JP2009116763A true JP2009116763A (en) 2009-05-28

Family

ID=40783819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007291464A Pending JP2009116763A (en) 2007-11-09 2007-11-09 Image processing apparatus, and memory access method for image data

Country Status (1)

Country Link
JP (1) JP2009116763A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011158699A1 (en) * 2010-06-17 2011-12-22 Nttエレクトロニクス株式会社 Image processing device
JP2012226608A (en) * 2011-04-20 2012-11-15 Canon Inc Image processing device, control method of image processing device, and program
JP2014078114A (en) * 2012-10-10 2014-05-01 Canon Inc Image processor, image processing method, and program
JP2014174898A (en) * 2013-03-12 2014-09-22 Pfu Ltd Image data processing apparatus, image data processing method and image data processing program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011158699A1 (en) * 2010-06-17 2011-12-22 Nttエレクトロニクス株式会社 Image processing device
JP5616965B2 (en) * 2010-06-17 2014-10-29 Nttエレクトロニクス株式会社 Image processing device
US9286018B2 (en) 2010-06-17 2016-03-15 Ntt Electronics Corporation Image processing device for improved access efficiency
JP2012226608A (en) * 2011-04-20 2012-11-15 Canon Inc Image processing device, control method of image processing device, and program
JP2014078114A (en) * 2012-10-10 2014-05-01 Canon Inc Image processor, image processing method, and program
JP2014174898A (en) * 2013-03-12 2014-09-22 Pfu Ltd Image data processing apparatus, image data processing method and image data processing program

Similar Documents

Publication Publication Date Title
JP4882956B2 (en) Image processing apparatus and image processing method
JP2009071689A (en) Image processing apparatus, image processing method, and imaging apparatus
JP2009105533A (en) Image processing device, imaging device, image processing method, and picked-up image processing method
US7630584B2 (en) Image processing apparatus, image processing system, imaging apparatus and image processing method
JP4340915B2 (en) Captured image signal distortion correction method, captured image signal distortion correction apparatus, imaging method, and imaging apparatus
US7692688B2 (en) Method for correcting distortion of captured image, device for correcting distortion of captured image, and imaging device
JP4178480B2 (en) Image processing apparatus, image processing method, imaging apparatus, and imaging method
JP4655957B2 (en) Captured image distortion correction method, captured image distortion correction apparatus, imaging method, and imaging apparatus
JP2012142865A (en) Image processing apparatus and image processing method
WO2004019607A1 (en) Image processing device, image processing system, and image processing method
JP2004336106A (en) Image processing apparatus, image processing method, and imaging apparatus
JP2009258868A (en) Image processing apparatus and image processing method
JP2009055410A (en) Image processing device and image processing method
JP2004056789A (en) Resolution and picture quality improving method for small image sensor
KR101140953B1 (en) Method and apparatus for correcting distorted image
JP2009116763A (en) Image processing apparatus, and memory access method for image data
JP4670630B2 (en) Image processing apparatus, image processing method, imaging apparatus, and imaging method
JP4998134B2 (en) Image processing apparatus and image processing method
JP4888306B2 (en) Image processing apparatus and image processing method
JP4874175B2 (en) Image enlargement method, image enlargement apparatus, integrated circuit, and program
JP2009130489A (en) Image device, imaging/recording method, picked-up image recording and reproducing device, and picked-up image recording and reproducing method
JP2009140046A (en) Image processing apparatus and memory access method for image data
JP2005063154A (en) Image processor, image processing system, image pickup device, and image processing method
JP6524644B2 (en) Image processing apparatus and electronic device
JP2009065323A (en) Image processing device, image processing method, imaging apparatus, and imaging method

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090807

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091005