[go: up one dir, main page]

JP2005006351A - Motion vector detection apparatus and motion vector detection method - Google Patents

Motion vector detection apparatus and motion vector detection method Download PDF

Info

Publication number
JP2005006351A
JP2005006351A JP2004225082A JP2004225082A JP2005006351A JP 2005006351 A JP2005006351 A JP 2005006351A JP 2004225082 A JP2004225082 A JP 2004225082A JP 2004225082 A JP2004225082 A JP 2004225082A JP 2005006351 A JP2005006351 A JP 2005006351A
Authority
JP
Japan
Prior art keywords
motion vector
data
vector detection
unit
address
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
JP2004225082A
Other languages
Japanese (ja)
Inventor
Mitsuki Kuroumaru
満希 九郎丸
Shiyunichi Kuroumaru
俊一 九郎丸
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004225082A priority Critical patent/JP2005006351A/en
Publication of JP2005006351A publication Critical patent/JP2005006351A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】 動きベクトル検出処理の高速化、低電力化を図ることができる動きベクトル検出装置を提供する。
【解決手段】 本発明にかかる動きベクトル検出装置、及び動きベクトル検出方法は、処理対象ブロックと参照ブロックとの間でブロックマッチングを行い、動きベクトルの検出を行う処理において、動きベクトル検出装置内でのデータ転送を制御すると共に、動きベクトル検出時の処理工程の削減、及び処理を行うデータ量の軽減を行うことにより、動きベクトル検出処理の高速化、低電力化を図る。
【選択図】 図5
PROBLEM TO BE SOLVED: To provide a motion vector detection device capable of speeding up motion vector detection processing and reducing power consumption.
A motion vector detection device and a motion vector detection method according to the present invention perform block matching between a processing target block and a reference block, and perform motion vector detection in the motion vector detection device. In addition to controlling the data transfer, the processing steps at the time of motion vector detection and the amount of data to be processed are reduced, thereby speeding up the motion vector detection process and reducing the power consumption.
[Selection] Figure 5

Description

本発明は、画像圧縮処理に関するものであり、特に、画像通信を目的とした低ビットレート向けの規格であるH.261、H.263、MPEG4等に適用可能な動きベクトル検出処理に関するものである。   The present invention relates to image compression processing, and more particularly to motion vector detection processing applicable to H.261, H.263, MPEG4, and the like, which are standards for low bit rates intended for image communication. .

現在、H.261、H.263、MPEG4等、画像通信を目的とした低ビットレート向けの規格では、フレーム間の相互を用いた圧縮のために動きベクトルの検出を行う。
この動きベクトル検出処理は、一般に、現画像内の複数の画素からなるブロックを処理対象とし、この処理対象ブロックが、当該現画像に対する時間的に前の画像のどの位置に存在するかをいわゆるブロックマッチング法により調べ、画像の動きの方向、及び量を示す動きベクトルを検出するものである。
Currently, standards for low bit rates for image communication, such as H.261, H.263, and MPEG4, detect motion vectors for compression using mutual frames.
In general, the motion vector detection processing is performed on a block composed of a plurality of pixels in the current image, and the processing target block is located in the temporally previous image with respect to the current image. A motion vector indicating the direction and amount of motion of an image is detected by a matching method.

図31は、従来の一般的な動きベクトル検出処理を説明するための説明図である。図において、処理対象ブロックTとは、NX×NY画素からなる現画像内の符号化の対象となるブロックであり、参照領域とは、処理対象ブロックTと同一空間位置近傍で、且つ当該処理対象ブロックよりも大きい、MX×MY画素からなる前画像の探索領域である。また、参照ブロックIとは、NX×NY画素からなる前記参照領域上の任意の位置におけるブロックである。   FIG. 31 is an explanatory diagram for explaining a conventional general motion vector detection process. In the figure, the processing target block T is a block to be encoded in the current image composed of NX × NY pixels, and the reference area is in the vicinity of the same spatial position as the processing target block T and the processing target. This is a search area of a previous image made up of MX × MY pixels that is larger than a block. The reference block I is a block at an arbitrary position on the reference area composed of NX × NY pixels.

一般的な、ブロックマッチング法による動きベクトル検出は、処理対象ブロックTと、参照領域内の参照ブロックIとの比較を行い、処理対象ブロックTと最もマッチングの取れている参照ブロックIの位置を求める。その後、前記処理対象ブロックTの位置と、前記参照領域内の最もマッチングが取れている参照ブロックIの位置との間の距離、及び方向を動きベクトルとして検出する。なお、処理対象ブロックTと参照ブロックIとのマッチングは、以下に示す数式(1)に示すような、ブロックを構成する画素が有する画素値の差分の絶対値の和である絶対差分誤差和を用いることにより行われる。
絶対差分誤差和=Σ|Ref(Mx+x,My+y)−Src(x,y)|・・・(1)
In the general motion vector detection by the block matching method, the processing target block T is compared with the reference block I in the reference area, and the position of the reference block I most matching with the processing target block T is obtained. . Thereafter, the distance and direction between the position of the processing target block T and the position of the reference block I having the best matching in the reference area are detected as a motion vector. Note that the matching between the processing target block T and the reference block I is an absolute difference error sum that is the sum of the absolute values of the pixel value differences of the pixels constituting the block, as shown in Equation (1) below. It is done by using.
Absolute difference error sum = Σ | Ref (Mx + x, My + y) −Src (x, y) | (1)

ここで、数式(1)の式中のRef(Mx+x,My+y)は、参照ブロックの画素位置を示し、Src(x,y)は処理対象ブロックの画素位置を表わす。   Here, Ref (Mx + x, My + y) in the expression (1) indicates the pixel position of the reference block, and Src (x, y) indicates the pixel position of the processing target block.

また、より正確な動きベクトルを検出したい場合には、参照領域の画素データ間の位置における画素値を補間処理を行うことにより求め、当該位置について処理対象ブロックとのマッチングを行う場合もある。   When it is desired to detect a more accurate motion vector, the pixel value at a position between the pixel data in the reference area may be obtained by performing an interpolation process, and the position may be matched with the processing target block.

前述した絶対差分誤差和の計算は、処理対象ブロックを構成するNX×NY画素の画素値の差分の絶対値の和であり、同様の処理を参照領域内のすべての参照ブロックに行うことは、膨大な計算量が必要となる。   The calculation of the absolute difference error sum described above is the sum of the absolute values of the differences between the pixel values of the NX × NY pixels constituting the processing target block, and the same processing is performed on all the reference blocks in the reference region. A huge amount of calculation is required.

通常、ある探索位置における絶対差分誤差和の値が比較的大きな場合には、絶対差分誤差和の計算途中で既に最小の絶対差分誤差和の値を超えてしまう。そのため、当該探索領域の位置を動きベクトルを検出する探索位置の候補から除外できるにもかかわらず、無駄な演算を実行していたため、演算速度や消費電力の点においてロスが発生していた。   Normally, when the absolute difference error sum at a certain search position is relatively large, the absolute difference error sum is already exceeded during calculation of the absolute difference error sum. For this reason, although the position of the search region can be excluded from the search position candidates for detecting the motion vector, a wasteful calculation has been executed, so that a loss has occurred in terms of calculation speed and power consumption.

また、動きベクトルは、一般的に動きベクトルの探索を行った処理対象ブロックの周辺では、ほとんど変化が見られないことが多く、特に、高解像度の画像が要求されない場合においても、周辺ブロックに対しても同様に動きベクトルの探索が行われており、演算速度や消費電力の点においてロスが発生していた。   In addition, the motion vector generally shows little change in the vicinity of the processing target block for which the motion vector is searched. Especially when a high-resolution image is not required, However, the search for the motion vector is similarly performed, and a loss occurs in terms of calculation speed and power consumption.

一方、このロスを解消する為に、専用演算機構を用いて演算する前に、汎用演算機構で変化の有無を調べてから探索を実行するか否かを決定する場合があるが、この場合は、汎用演算部に負荷を負わせてしまう。   On the other hand, in order to eliminate this loss, before calculating using the dedicated calculation mechanism, the general-purpose calculation mechanism may check whether there is a change and then decide whether to execute the search. This puts a load on the general-purpose arithmetic unit.

また、一方、この負荷を解消するために、一回のみ絶対差分誤差和を算出する機能を専用演算部に持たせた場合、もし、変化が無く探索の必要が無いときは、改めて専用演算機構を動作させ、その結果を得るのは、演算速度、消費電力の点でロスが発生していた。   On the other hand, in order to eliminate this load, if the dedicated arithmetic unit has the function of calculating the absolute difference error sum only once, if there is no change and there is no need to search, the dedicated arithmetic mechanism In order to obtain the result, a loss occurred in terms of calculation speed and power consumption.

また、処理対象ブロックに対する参照ブロックの探索は、例えば、処理対象ブロックの周囲参照ブロックに対して絶対差分誤差和が最小となる方向に進めていく場合、一旦、探索した参照ブロックに対して、2重に探索する場合が有り、演算速度や消費電力の点においてロスが発生していた。   In addition, for example, when the reference block search for the processing target block proceeds in a direction in which the absolute difference error sum is minimized with respect to the surrounding reference blocks of the processing target block, the reference block once searched is 2 There have been cases in which search is heavily performed, and a loss has occurred in terms of calculation speed and power consumption.

また、絶対差分誤差和は、ブロックを構成する全ての画素に対して、その画素値の差分の絶対値の和を求めることにより算出されるため、高解像度の映像が要求されない場合であっても必要以上の演算を行い、演算速度や消費電力の点においてロスが発生する。   In addition, since the absolute difference error sum is calculated by calculating the sum of absolute values of the differences between the pixel values for all the pixels constituting the block, even when a high-resolution video is not required. More computations than necessary are performed, and loss occurs in terms of computation speed and power consumption.

また、このロスを解消するために、ブロックを構成する画素に対して、一列置き等にサブサンプリングを行い、演算量を軽減するものもあるが、この場合には、動きベクトル検出のために使用される画素データが読込んだ画素データのうちの一部となるため、せっかく読込んだ、動きベクトル検出に使用されない他の画素データを破棄することになり、消費電力の点でロスが発生する。   In addition, in order to eliminate this loss, some sub-sampling is performed on every other pixel in the block to reduce the amount of calculation. In this case, it is used for motion vector detection. Since the pixel data to be processed becomes a part of the read pixel data, the other pixel data that has been read and is not used for motion vector detection is discarded, resulting in a loss in terms of power consumption. .

また、処理対象ブロックの位置が画像データの有効領域範囲の端の位置に来たとき、参照領域内には、動きベクトル探索を実行できない領域が混在しているため、この領域にデータを転送しても探索に活用されずに、消費電力の点でロスが発生していた。   In addition, when the position of the processing target block comes to the end position of the effective area range of the image data, since there are areas where motion vector search cannot be performed in the reference area, data is transferred to this area. However, there was a loss in terms of power consumption without being utilized for searching.

また、近隣の処理対象ブロックの参照領域同士には、オーバーラップする領域が存在するため、各処理ブロックの探索毎に参照領域全体の画素データを本専用演算部に読み込むのは、演算速度、消費電力の点でロスが発生していた。   In addition, since there is an overlapping area between the reference areas of neighboring processing target blocks, reading the pixel data of the entire reference area into the dedicated calculation unit for each search of each processing block is the calculation speed and consumption. There was a loss in terms of power.

また、処理ブロックの位置が画像データの有効領域範囲の端に来たとき、動きベクトルの位置によっては、演算に使用する参照領域の画像データが有効領域範囲内から出てしまい、動きベクトル探索ができないという問題点を有していた。   In addition, when the position of the processing block comes to the end of the effective area range of the image data, depending on the position of the motion vector, the image data of the reference area used for the calculation comes out of the effective area range, and the motion vector search is performed. It had the problem that it was not possible.

また、補間処理を行い参照ブロックを構成する画素間の位置における画素値を求める場合には、一般に、参照ブロックを構成する画素データの読み出しを一方向の読み出し方向をもって、読み出していたため、たとえば、横方向に画素データを読み出したときには、縦方向の画素間の位置における画素値を求めるために、縦方向の補間処理に必要な画素が揃うまで、数サイクル待つことが必要となり、演算速度の点でロスが発生していた。   In addition, when the pixel value at the position between the pixels constituting the reference block is obtained by performing the interpolation process, generally, the pixel data constituting the reference block is read in one reading direction. When the pixel data is read in the direction, it is necessary to wait several cycles until the pixels necessary for the vertical interpolation process are prepared in order to obtain the pixel value at the position between the vertical pixels. There was a loss.

本発明は、前記問題点に鑑みてなされたものであり、動きベクトル検出処理の高速化、低電力化を図ることができる動きベクトル検出装置を提供することを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a motion vector detection device capable of speeding up motion vector detection processing and reducing power consumption.

前述した問題点を解決するために、本発明の請求項1に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて動きベクトルを検出する動きベクトル検出部とを具備し、前記動きベクトル検出部は、参照ブロックの画素データと処理対象ブロックの画素データとの画素値の差分の絶対値を順次計算して、該計算した差分の絶対値を閾値から減算して行き、減算結果が負になった場合には、処理中の参照ブロックに対する絶対差分誤差和の計算を中止することを特徴とするものである。   In order to solve the above-described problem, a motion vector detection device according to claim 1 of the present invention includes a processing target block composed of a plurality of pixels in a current image, and a temporally previous block with respect to the current image. In the motion vector detection apparatus for detecting a motion vector by performing block matching with a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image, an address of the processing target block and the reference area data A first address generation unit that generates a reference area data instructed by the first address generation unit, and a processing target block instructed by the first address generation unit. A second storage unit that holds data; a first address generation unit that generates an address of data output from the first storage unit and the second storage unit; A motion vector detection unit that detects a motion vector using the data output from the first storage unit and the data output from the second storage unit, and the motion vector detection unit includes: When the absolute value of the pixel value difference between the pixel data and the pixel data of the processing target block is sequentially calculated, the absolute value of the calculated difference is subtracted from the threshold value, and the subtraction result becomes negative, The calculation of the absolute difference error sum for the reference block being processed is stopped.

また、本発明の請求項2に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて動きベクトルを検出する動きベクトル検出部と、前記動きベクトル検出部によって既に探索が行われた参照領域データ内の参照ブロックの探索履歴を保持する探索履歴保持部とを具備し、前記動きベクトル検出部は、前記探索履歴保持部により保持された探索履歴が存在する参照ブロックに対しては、探索実行をスキップすることを特徴とするものである。   According to a second aspect of the present invention, there is provided a motion vector detection device comprising: a processing target block comprising a plurality of pixels in a current image; and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data , A first storage unit that holds reference area data instructed by the first address generation unit, and a second storage that holds data of the processing target block instructed by the first address generation unit Output from the first storage unit, a second address generation unit that generates an address of data output from the first storage unit, and the second storage unit A motion vector detection unit that detects a motion vector using the received data and data output from the second storage unit, and a search for a reference block in the reference area data that has already been searched by the motion vector detection unit A search history holding unit for holding a history, wherein the motion vector detection unit skips search execution for a reference block having a search history held by the search history holding unit. To do.

また、本発明の請求項3に記載の動きベクトル検出装置は、請求項2に記載の動きベクトル検出装置において、前記探索履歴保持部は、探索対象の位置、及びその周辺位置8ヶ所の参照ブロックに対する探索の有無を探索履歴として保持していることを特徴とするものである。   The motion vector detection device according to claim 3 of the present invention is the motion vector detection device according to claim 2, wherein the search history holding unit includes a reference block at a search target position and eight peripheral positions thereof. The presence / absence of a search for is stored as a search history.

また、本発明の請求項4に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて動きベクトルを検出する動きベクトル検出部と、前記第1のアドレス生成部が前記第1の記憶部に出力する参照領域データのアドレスを生成するためのルールである転送ルールを保持する転送ルール保持部と、画像データの有効領域を示す領域判定コードに基づいて、前記転送ルール保持部から前記転送ルールを検出し、前記第1のアドレス生成部に出力する転送ルール検出部とを具備し、前記第1のアドレス生成部は、前記転送ルール検出部から出力された前記転送ルールに基づいて、前記第1の記憶部に出力する参照領域データのアドレスを生成することを特徴とするものである。   According to a fourth aspect of the present invention, there is provided a motion vector detection apparatus comprising: a processing target block including a plurality of pixels in a current image; and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data , A first storage unit that holds reference area data instructed by the first address generation unit, and a second storage that holds data of the processing target block instructed by the first address generation unit Output from the first storage unit, a second address generation unit that generates an address of data output from the first storage unit, and the second storage unit A motion vector detection unit that detects a motion vector using the output data and data output from the second storage unit, and reference area data that the first address generation unit outputs to the first storage unit Based on a transfer rule holding unit that holds a transfer rule that is a rule for generating an address, and an area determination code that indicates a valid area of image data, the transfer rule holding unit detects the transfer rule, and A transfer rule detection unit that outputs to the address generation unit, and the first address generation unit outputs to the first storage unit based on the transfer rule output from the transfer rule detection unit An address of reference area data is generated.

また、本発明の請求項5に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、データの読み込み、読み出しを同時に行うダブルバッファ構成をしているメモリであって、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータから動きベクトルを検出する動きベクトル検出部と、前記第1の記憶部に対する参照領域データの読み込み、及び読み出しを制御する記憶データ制御部とを具備し、前記記憶データ制御部は、前記第1の記憶部が保持する2つのバッファメモリの内、データの読み込みが行われる一のバッファメモリに対して、読み出しが完了した他の一のバッファメモリから有効なデータを一部コピーし、前記第1の記憶部に新たに書き込むデータ量を削減することを特徴とするものである。   According to a fifth aspect of the present invention, there is provided a motion vector detection apparatus comprising: a processing target block comprising a plurality of pixels in a current image; and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data And a memory having a double buffer configuration for simultaneously reading and reading data, the first storage unit holding the reference area data instructed by the first address generation unit, and the first A second storage unit that holds data of the block to be processed instructed by the address generation unit, the first storage unit, and the second storage unit A second address generation unit that generates an address of data to be input, a data output from the first storage unit, and a motion vector detection unit that detects a motion vector from the data output from the second storage unit; A storage data control unit that controls reading and reading of reference area data from and to the first storage unit, and the storage data control unit is one of the two buffer memories held by the first storage unit. A part of valid data is copied from one buffer memory that has been read to one buffer memory from which data is read, and the amount of data newly written to the first storage unit is reduced. It is characterized by this.

また、本発明の請求項6に記載の動きベクトル検出装置は、請求項1から請求項5のいずれかに記載の動きベクトル検出装置において、前記動きベクトル検出部は、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部であることを特徴とするものである。   The motion vector detection device according to claim 6 of the present invention is the motion vector detection device according to any one of claims 1 to 5, wherein the motion vector detection unit is stored in the first storage unit. It is an integer accuracy motion vector detection unit that detects an integer accuracy motion vector from the output data and the data output from the second storage unit.

また、本発明の請求項7に記載の動きベクトル検出装置は、請求項1から請求項5のいずれかに記載の動きベクトル検出装置において、前記動きベクトル検出部は、前記第1の記憶部からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とからなることを特徴とするものである。   The motion vector detection device according to claim 7 of the present invention is the motion vector detection device according to any one of claims 1 to 5, wherein the motion vector detection unit is stored in the first storage unit. Input data, and an interpolation pixel generation unit that generates pixel data with a small number of precision, a data output from the interpolation pixel generation unit, and a motion vector with a smaller number of precision than the data output from the second storage unit It comprises a small-precision motion vector detection unit for detection.

また、本発明の請求項8に記載の動きベクトル検出装置は、請求項1から請求項5のいずれかに記載の動きベクトル検出装置において、前記動きベクトル検出部は、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部と、前記第1の記憶部からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とからなることを特徴とするものである。   The motion vector detection device according to claim 8 of the present invention is the motion vector detection device according to any one of claims 1 to 5, wherein the motion vector detection unit is stored in the first storage unit. An integer precision motion vector detection unit that detects an integer precision motion vector from the output data and the data output from the second storage unit, and the output data from the first storage unit as inputs, From an interpolation pixel generation unit that generates pixel data, a data output from the interpolation pixel generation unit, and a minority motion vector detection unit that detects a motion vector with a lower precision than the data output from the second storage unit It is characterized by.

また、本発明の請求項9に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部からの出力データを入力とし、少数精度画素のデータを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部と、前記補間画素生成部で生成する少数精度画素のデータの位置によって、前記第1の記憶部が保持する参照領域データの読み出し方向決定し、前記第2のアドレス生成部に出力する読み出し方向決定部とを具備し、前記第2のアドレス生成部は、前記読み出し方向決定部により決定された読み出し方向に基づいて、第1の記憶部から出力する画素データのアドレスを生成することを特徴とするものである。   According to a ninth aspect of the present invention, there is provided a motion vector detecting apparatus comprising: a processing target block comprising a plurality of pixels in a current image; and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data , A first storage unit that holds reference area data instructed by the first address generation unit, and a second storage that holds data of the processing target block instructed by the first address generation unit A second address generation unit that generates an address of data output from the first storage unit and the second storage unit, and an output from the first storage unit. Interpolation pixel generation unit that receives data as input and generates data of a minority precision pixel, and detects a motion vector with a minority precision from the data output from the interpolation pixel generation unit and the data output from the second storage unit The read direction of the reference area data held by the first storage unit is determined according to the position of the data of the minority precision pixel generated by the minority motion vector detection unit and the interpolation pixel generation unit, and the second address generation unit The second address generation unit generates an address of pixel data output from the first storage unit based on the read direction determined by the read direction determination unit. It is characterized by doing.

また、本発明の請求項10に記載の動きベクトル検出装置は、請求項9に記載の動きベクトル検出装置において、前記読み出し方向決定部は、第1の記憶部に記憶された画像データに対して水平、もしくは垂直方向にデータを読み出す旨の決定を行うことを特徴とするものである。   The motion vector detection device according to claim 10 of the present invention is the motion vector detection device according to claim 9, wherein the reading direction determination unit applies to the image data stored in the first storage unit. It is characterized in that a decision is made to read data in the horizontal or vertical direction.

また、本発明の請求項11に記載の動きベクトル検出装置は、請求項9、または請求項10に記載の動きベクトル検出装置において、前記補間画素生成部は、少なくとも、2個のシフトレジスタからなるシフトレジスタ群と、前記シフトレジスタ群が保持する画素データを用いて補間処理を行う補間処理部とを有することを特徴とするものである。   The motion vector detection device according to claim 11 of the present invention is the motion vector detection device according to claim 9 or 10, wherein the interpolation pixel generation unit includes at least two shift registers. It has a shift register group and an interpolation processing unit for performing an interpolation process using pixel data held by the shift register group.

また、本発明の請求項12に記載の動きベクトル検出装置は、請求項9、または請求項10に記載の動きベクトル検出装置において、前記補間画素生成部は、少なくとも、特定方向に読み出す画素数+2個のシフトレジスタからなるシフトレジスタ群と、前記シフトレジスタ群が保持する画素データを用いて補間処理を行う補間処理部とを有することを特徴とするものである。   The motion vector detection device according to claim 12 of the present invention is the motion vector detection device according to claim 9 or 10, wherein the interpolated pixel generation unit includes at least the number of pixels read in a specific direction +2. A shift register group including a plurality of shift registers, and an interpolation processing unit that performs an interpolation process using pixel data held by the shift register group.

また、本発明の請求項13に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部からの出力データを入力とし、少数精度画素のデータを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備し、前記少数精度動きベクトル検出部が、前記補間画素生成部から、複数の画素データにより構成される上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、または右斜め下と左斜め下の何れかに位置する少数精度の参照ブロックが出力された場合には、該出力された各少数精度の参照ブロックに対する少数精度の動きベクトルの検出を並列に実行することを特徴とするものである。   According to a thirteenth aspect of the present invention, there is provided a motion vector detection apparatus comprising: a processing target block including a plurality of pixels in a current image; and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data , A first storage unit that holds reference area data instructed by the first address generation unit, and a second storage that holds data of the processing target block instructed by the first address generation unit From the first storage unit, a second address generation unit that generates an address of data output from the first storage unit, and the second storage unit Force data is input, and an interpolation pixel generation unit that generates data of a minority precision pixel, and a motion vector with a minority precision are detected from the data output from the interpolation pixel generation unit and the data output from the second storage unit. A small-precision motion vector detection unit, and the minority-precision motion vector detection unit is composed of a plurality of pixel data from the interpolation pixel generation unit, upper and lower, left and right, right upper right and lower right diagonal, If a decimal precision reference block is output that is located at either upper left or lower left, upper right or lower left, or lower right or lower left, the decimal precision is output. It is characterized in that detection of a small number of precision motion vectors for the reference blocks is executed in parallel.

また、本発明の請求項14に記載の動きベクトル検出装置は、請求項9から請求項13のいずれかに記載の動きベクトル検出装置において、さらに、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部を具備することを特徴とするものである。   The motion vector detection device according to claim 14 of the present invention is the motion vector detection device according to any one of claims 9 to 13, further comprising data output from the first storage unit, And an integer precision motion vector detection unit for detecting an integer precision motion vector from the data output from the second storage unit.

また、本発明の請求項15に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部と、探索を行うことができる位置か否を判断するための条件である探索可否条件を保持する探索可否条件保持部と、前記参照領域データの有効領域を示す領域判定コードの基づいて、前記探索可否条件保持部から探索可否条件を検出し、前記第2のアドレス生成部に出力する探索可否条件検出部とを具備し、前記第2のアドレス生成部は、整数精度動きベクトル検出時に前記探索可否条件検出部により検出された探索可否条件を用いて、探索の可否を判断することを特徴とするものである。   The motion vector detection device according to claim 15 of the present invention is a processing target block composed of a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data , A first storage unit that holds reference area data instructed by the first address generation unit, and a second storage that holds data of the processing target block instructed by the first address generation unit A second address generation unit that generates an address of data output from the first storage unit and the second storage unit, and an output from the first storage unit. An integer-precision motion vector detection unit that detects an integer-precision motion vector from the received data and the data output from the second storage unit, and a search that is a condition for determining whether or not the position can be searched A search availability condition is detected from the search availability condition holding unit based on a search availability condition holding unit that holds availability conditions and an area determination code indicating an effective area of the reference area data, and the second address generation unit A search availability condition detection unit for outputting, and the second address generation unit determines the availability of the search using the search availability condition detected by the search availability condition detection unit when detecting the integer precision motion vector. It is characterized by this.

また、本発明の請求項16に記載の動きベクトル検出装置は、請求項15に記載の動きベクトル検出装置において、さらに、前記第1の記憶手段からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶手段から出力されたデータから、少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備し、前記第2のアドレス生成部は、前記探索可否条件保持部と、前記探索可否条件検出部とを整数精度動きベクトル検出時、及び少数精度動きベクトル検出時に、併用して用いることを特徴とするものである。   According to a sixteenth aspect of the present invention, in the motion vector detecting device according to the fifteenth aspect, the output data from the first storage means is further inputted, and pixel data with a small number of precision is input. An interpolation pixel generation unit that generates a motion vector, and a minority precision motion vector detection unit that detects a minority motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit. The second address generation unit uses the search availability condition holding unit and the search availability condition detection unit in combination when detecting an integer precision motion vector and a decimal precision motion vector. To do.

また、本発明の請求項17に記載の動きベクトル検出装置は、請求項15に記載の動きベクトル検出装置において、さらに、前記第1の記憶手段からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶手段から出力されたデータから、少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備し、前記第2のアドレス生成部は、整数精度動きベクトル検出時に前記探索可否条件保持部と、前記探索可否条件検出部とを用いて、探索の可否を判断すると共に、当該探索可否結果を用いて少数精度動きベクトル検出時の探索の可否を判断することを特徴とするものである。   The motion vector detection device according to claim 17 of the present invention is the motion vector detection device according to claim 15, further comprising the output data from the first storage means as input, and pixel data with a small number of precision. An interpolation pixel generation unit that generates a motion vector, and a minority precision motion vector detection unit that detects a minority motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit. The second address generation unit uses the search availability condition holding unit and the search availability condition detection unit at the time of detecting an integer precision motion vector to determine the availability of the search and uses the search availability result Thus, it is characterized by determining whether or not search is possible when detecting a small-precision motion vector.

また、本発明の請求項18に記載の動きベクトル検出装置は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出部と、前回の動きベクトル探索で検出された動きベクトルを保持するとともに、前記整数精度動きベクトル検出部により算出された絶対差分誤差値と特定の閾値とを比較することにより、動きベクトル探索の実行の可否を決定する探索実行可否決定部とを具備し、前記第2のアドレス生成手段は、前記探索実行可否決定部が保持する前回の動きベクトル探索で検出された動きベクトルを用いて、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成することを特徴とするものである。   The motion vector detection apparatus according to claim 18 of the present invention is a processing target block composed of a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. First address generation for generating an address of the processing target block and the reference area data in a motion vector detection device that detects a motion vector by performing block matching with a reference block including a plurality of pixels in the data , A first storage unit that holds reference area data instructed by the first address generation unit, and a second storage that holds data of the processing target block instructed by the first address generation unit A second address generation unit that generates an address of data output from the first storage unit and the second storage unit, and an output from the first storage unit. An integer precision motion vector detection unit for detecting an integer precision motion vector using the output data and the data output from the second storage unit, and holding the motion vector detected in the previous motion vector search, A search execution enable / disable determining unit that determines whether or not to execute a motion vector search by comparing an absolute difference error value calculated by the integer precision motion vector detection unit with a specific threshold; The address generation means uses the motion vector detected in the previous motion vector search held by the search execution feasibility determination unit to determine the address of the data output from the first storage unit and the second storage unit. It is characterized by generating.

また、本発明の請求項19に記載の動きベクトル検出装置は、請求項18記載の動きベクトル検出装置において、前記第2のアドレス生成部は、さらに、前記第1の記憶手段より出力されたデータを本装置の演算結果として出力することを特徴とするものである。   The motion vector detection device according to claim 19 of the present invention is the motion vector detection device according to claim 18, wherein the second address generation unit further outputs data output from the first storage means. Is output as a calculation result of the present apparatus.

また、本発明の請求項20に記載の動きベクトル検出装置は、請求項18、又は請求項19に記載の動きベクトル検出装置において、さらに、前記第1の記憶部からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備することを特徴とするものである。   The motion vector detection device according to claim 20 of the present invention is the motion vector detection device according to claim 18 or claim 19, further comprising the output data from the first storage unit as input, Interpolation pixel generation unit that generates pixel data with minority precision, and minority motion vector detection that detects a motion vector with minority precision from data output from the interpolation pixel generation unit and data output from the second storage unit It comprises a part.

また、本発明の請求項21に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップとを有し、前記動きベクトル検出ステップは、参照ブロックの画素データと処理対象ブロックの画素データとの画素値の差分の絶対値を順次計算して、該計算した差分の絶対値を閾値から減算して行き、減算結果が負になった場合には、処理中の参照ブロックに対する絶対差分誤差和の計算を中止することを特徴とするものである。   A motion vector detection method according to a twenty-first aspect of the present invention includes a processing target block including a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step, and a motion vector detection step of detecting a motion vector using the reference area data and data of the processing target block, wherein the motion vector detection step includes pixel data of the reference block If the absolute value of the difference between the pixel value of the target block and the pixel data of the processing target block is sequentially calculated, and the absolute value of the calculated difference is subtracted from the threshold value, the subtraction result becomes negative. The calculation of the absolute difference error sum for the reference block is stopped.

また、本発明の請求項22に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップと、前記動きベクトル検出ステップによって既に探索が行われた参照領域データ内の参照ブロックの探索履歴を保持する探索履歴保持ステップとを有し、前記動きベクトル検出ステップは、前記探索履歴保持ステップにより保持された探索履歴が存在する参照ブロックに対しては、探索実行をスキップすることを特徴とするものである。   A motion vector detection method according to a twenty-second aspect of the present invention includes a processing target block including a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step, a motion vector detection step for detecting a motion vector using the reference region data and processing target block data, and reference region data that has already been searched by the motion vector detection step A search history holding step for holding a search history of the reference block in the search block, and the motion vector detecting step performs a search execution for the reference block having the search history held by the search history holding step. It is characterized by skipping.

また、本発明の請求項23に記載の動きベクトル検出方法は、請求項22に記載の動きベクトル検出方法において、前記探索履歴保持ステップは、探索対象の位置、及びその周辺位置8ヶ所の参照ブロックに対する探索の有無を探索履歴として保持していることを特徴とするものである。   The motion vector detection method according to claim 23 of the present invention is the motion vector detection method according to claim 22, wherein the search history holding step includes a reference block of a search target position and eight peripheral positions thereof. The presence / absence of a search for is stored as a search history.

また、本発明の請求項24に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップと、前記第1のアドレス生成ステップが参照領域データのアドレスを生成するためのルールである転送ルールを保持する転送ルール保持ステップと、画像データの有効領域を示す領域判定コードに基づいて、前記転送ルール保持ステップから前記転送ルールを検出し、前記第1のアドレス生成ステップに出力する転送ルール検出ステップとを有し、前記第1のアドレス生成ステップは、前記転送ルール検出ステップにより検出された前記転送ルールに基づいて、参照領域データのアドレスを生成することを特徴とするものである。   A motion vector detection method according to a twenty-fourth aspect of the present invention includes a processing target block composed of a plurality of pixels in a current image and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step, a motion vector detection step for detecting a motion vector using the reference area data and the data of the processing target block, and the first address generation step generates an address of the reference area data A transfer rule holding step for holding a transfer rule that is a rule for performing the transfer, and a transfer rule holding step for detecting the transfer rule based on an area determination code indicating a valid area of the image data, and generating the first address A transfer rule detection step for outputting to the step, wherein the first address generation step generates an address of reference area data based on the transfer rule detected by the transfer rule detection step. To do.

また、本発明の請求項25に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、データの読み込み、読み出しを同時に行うダブルバッファ構成をしているメモリを用いて、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップとを有し、前記第1の記憶ステップの参照領域データの読み込み、及び読み出しを制御する記憶データ制御ステップとを具備し、前記記憶データ制御ステップは、前記第1の記憶ステップが用いる2つのバッファメモリの内、データの読み込みが行われる一のバッファメモリに対して、読み出しが完了した他の一のバッファメモリから有効なデータを一部コピーし、前記第1の記憶ステップに新たに書き込むデータ量を削減することを特徴とするものである。   A motion vector detection method according to a twenty-fifth aspect of the present invention includes a processing target block composed of a plurality of pixels in a current image and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data And a first storage step for holding the reference area data instructed by the first address generation step using a memory having a double buffer configuration for simultaneously reading and reading data, and the first storage step A second storage step for holding the data of the processing target block instructed by the address generation step; and A second address generation step of generating an address of pixel data to be output from the reference area data and the data of the processing target block, and a motion vector for detecting a motion vector using the reference area data and the data of the processing target block And a storage data control step for controlling reading and reading of the reference area data in the first storage step, wherein the storage data control step is used by the first storage step. Of the one buffer memory, one piece of valid data is copied from the other buffer memory that has been read into one buffer memory from which data is read, and newly written to the first storage step. It is characterized by reducing the amount of data.

また、本発明の請求項26に記載の動きベクトル検出方法は、請求項21から請求項25のいずれかに記載の動きベクトル検出方法において、前記動きベクトル検出ステップは、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップであることを特徴とするものである。   The motion vector detection method according to claim 26 of the present invention is the motion vector detection method according to any one of claims 21 to 25, wherein the motion vector detection step includes the reference region data and a process. This is an integer precision motion vector detection step of detecting an integer precision motion vector using the data of the target block.

また、本発明の請求項27に記載の動きベクトル検出方法は、請求項21から請求項25のいずれかに記載の動きベクトル検出方法において、前記動きベクトル検出ステップは、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとからなることを特徴とするものである。   The motion vector detection method according to claim 27 of the present invention is the motion vector detection method according to any of claims 21 to 25, wherein the motion vector detection step constitutes the reference region data. Interpolation pixel generation step that generates pixel data with pixel data as input, and minority accuracy that detects a motion vector with minority accuracy using the data output from the interpolation pixel generation step and the data of the processing target block It comprises a motion vector detection step.

また、本発明の請求項28に記載の動きベクトル検出方法は、請求項21から請求項25のいずれかに記載の動きベクトル検出方法において、前記動きベクトル検出ステップは、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップと、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとからなることを特徴とするものである。   The motion vector detection method according to claim 28 of the present invention is the motion vector detection method according to any of claims 21 to 25, wherein the motion vector detection step includes the reference region data and a process. An integer-precision motion vector detection step for detecting an integer-precision motion vector using the data of the target block; and an interpolation pixel generation step for generating pixel data with a small number of precision using pixel data constituting the reference area data as an input; The method includes a minority precision motion vector detection step of detecting a minority precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block.

また、本発明の請求項29に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップと、前記補間画素生成ステップで生成する少数精度画素のデータの位置によって、前記第1の記憶ステップにより保持された参照領域データの読み出し方向決定し、前記第2のアドレス生成ステップに出力する読み出し方向決定ステップとを有し、前記第2のアドレス生成ステップは、前記読み出し方向決定ステップにより決定された読み出し方向に基づいて、前記参照領域データから出力する画素データのアドレスを生成することを特徴とするものである。   A motion vector detection method according to a twenty-ninth aspect of the present invention includes a processing target block including a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step to be generated, an interpolation pixel generation step for generating pixel data with a small number of precision by using pixel data constituting the reference region data, data output from the interpolation pixel generation step, and processing The minority-precision motion vector detection step for detecting the minority-precision motion vector using the data of the target block, and the position of the minority-precision pixel data generated in the interpolation pixel generation step are held in the first storage step. A reading direction determining step for determining a reading direction of the reference area data and outputting to the second address generating step, wherein the second address generating step is based on the reading direction determined by the reading direction determining step. To generate an address of pixel data to be output from the reference area data. It is characterized in that.

また、本発明の請求項30に記載の動きベクトル検出方法は、請求項29に記載の動きベクトル検出方法において、前記読み出し方向決定ステップは、第1の記憶ステップが保持する画像データに対して水平、もしくは垂直方向にデータを読み出す旨の決定を行うことを特徴とするものである。   The motion vector detection method according to claim 30 of the present invention is the motion vector detection method according to claim 29, wherein the reading direction determination step is horizontal to the image data held in the first storage step. Alternatively, it is determined that data is read in the vertical direction.

また、本発明の請求項31に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有し、前記少数精度動きベクトル検出ステップが、前記補間画素生成ステップから、複数の画素データにより構成される上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、または右斜め下と左斜め下の何れかに位置する少数精度の参照ブロックが出力された場合には、該出力された各少数精度の参照ブロックに対する少数精度の動きベクトルの検出を並列に実行することを特徴とするものである。   A motion vector detection method according to a thirty-first aspect of the present invention includes a processing target block composed of a plurality of pixels in a current image and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step to be generated, an interpolation pixel generation step for generating pixel data with a small number of precision by using pixel data constituting the reference region data, data output from the interpolation pixel generation step, and processing A minority-precision motion vector detection step for detecting a minority-precision motion vector using the data of the target block, and the minority-precision motion vector detection step is constituted by a plurality of pixel data from the interpolation pixel generation step. There are minority reference blocks located either on the top and bottom, left and right, top right and bottom right, top left and bottom left, top right and top left, or bottom right and bottom left. When output, the detection of the minority precision motion vector for each of the outputted minority reference blocks is performed in parallel. Than it is.

また、本発明の請求項32に記載の動きベクトル検出方法は、請求項29から請求項31のいずれかに記載の動きベクトル検出方法において、さらに、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップを有するものである。   A motion vector detection method according to a thirty-second aspect of the present invention is the motion vector detection method according to any one of the thirty-third to thirty-first aspects, wherein the reference region data and the processing target block data are further converted. An integer precision motion vector detection step is used to detect an integer precision motion vector.

また、本発明の請求項33に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップと、探索を行うことができる位置か否を判断するための条件である探索可否条件を保持する探索可否条件保持ステップと、前記参照領域データの有効領域を示す領域判定コードの基づいて、前記探索可否条件保持ステップから探索可否条件を検出し、前記第2のアドレス生成ステップに出力する探索可否条件検出ステップとを具備し、前記第2のアドレス生成ステップは、整数精度動きベクトル検出時に前記探索可否条件検出ステップにより検出された探索可否条件を用いて、探索の可否を判断することを特徴とするものである。   A motion vector detection method according to a thirty-third aspect of the present invention includes a processing target block including a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step, an integer accuracy motion vector detection step for detecting an integer accuracy motion vector using the reference area data and the data of the block to be processed, and whether or not the search can be performed Based on a search availability condition holding step that holds a search availability condition that is a condition for determining, and an area determination code that indicates an effective area of the reference area data, a search availability condition is detected from the search availability condition holding step, A search availability condition detection step for outputting to the second address generation step, wherein the second address generation step uses the search availability condition detected by the search availability condition detection step when detecting an integer precision motion vector. Thus, it is characterized by determining whether or not search is possible.

また、本発明の請求項34に記載の動きベクトル検出方法は、請求項33に記載の動きベクトル検出方法において、さらに、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有し、前記第2のアドレス生成ステップは、前記探索可否条件保持ステップと、前記探索可否条件検出ステップとを整数精度動きベクトル検出時、及び少数精度動きベクトル検出時に、併用して用いることを特徴とするものである。   A motion vector detection method according to a thirty-fourth aspect of the present invention is the motion vector detection method according to the thirty-third aspect, further comprising: inputting pixel data constituting the reference area data; An interpolation pixel generation step to generate; a minority precision motion vector detection step to detect a motion vector with a minority precision using the data output from the interpolation pixel generation step and the data of the processing target block; and The address generation step is characterized in that the search availability condition holding step and the search availability condition detection step are used in combination when detecting an integer precision motion vector and detecting a decimal precision motion vector.

また、本発明の請求項35に記載の動きベクトル検出方法は、請求項33に記載の動きベクトル検出方法において、さらに、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有し、前記第2のアドレス生成ステップは、整数精度動きベクトル検出時に前記探索可否条件保持ステップと、前記探索可否条件検出ステップとを用いて、探索の可否を判断すると共に、当該探索可否結果を用いて少数精度動きベクトル検出時の探索の可否を判断することを特徴とするものである。   A motion vector detection method according to a thirty-fifth aspect of the present invention is the motion vector detection method according to the thirty-third aspect, further comprising: inputting pixel data constituting the reference area data; An interpolation pixel generation step to generate; a minority precision motion vector detection step to detect a motion vector with a minority precision using the data output from the interpolation pixel generation step and the data of the processing target block; and The address generation step uses the search availability condition holding step and the search availability condition detection step when detecting an integer precision motion vector, and determines whether or not a search is possible, and uses the search availability result to determine a decimal precision motion vector. It is characterized by determining whether or not search is possible at the time of detection.

また、本発明の請求項36に記載の動きベクトル検出方法は、現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップと、前回の動きベクトル探索で検出された動きベクトルを保持するとともに、前記整数精度動きベクトル検出ステップにより算出された絶対差分誤差値と特定の閾値とを比較することにより、動きベクトル探索の実行の可否を決定する探索実行可否決定ステップを具備し、前記第2のアドレス生成手ステップは、前記探索実行可否決定ステップが保持する前回の動きベクトル探索で検出された動きベクトルを用いて、前記参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成することを特徴とするものである。   A motion vector detection method according to a thirty-sixth aspect of the present invention includes a processing target block including a plurality of pixels in a current image, and a predetermined reference area of a previous image temporally preceding the current image. In a motion vector detection method for detecting a motion vector by performing block matching with a reference block including a plurality of pixels in data, first address generation for generating an address of the processing target block and the reference area data A first storage step for holding the reference area data instructed by the first address generation step, and a second storage for holding the data of the processing target block instructed by the first address generation step Step, and the address of the pixel data to be output from the stored reference area data and the data of the block to be processed A second address generation step, an integer accuracy motion vector detection step for detecting an integer accuracy motion vector using the reference area data and the data of the processing target block, and a motion detected in the previous motion vector search A search execution enable / disable determining step of determining whether or not to execute a motion vector search by holding a vector and comparing the absolute difference error value calculated by the integer precision motion vector detection step with a specific threshold value. The second address generation step uses the motion vector detected in the previous motion vector search held by the search execution possibility determination step, and outputs the pixel from the reference area data and the data of the processing target block. A data address is generated.

また、本発明の請求項37に記載の動きベクトル検出方法は、請求項36記載の動きベクトル検出方法において、前記第2のアドレス生成ステップは、さらに、前記第1の記憶ステップにより保持された参照領域データから出力されたデータを演算結果として出力することを特徴とするものである。   The motion vector detection method according to claim 37 of the present invention is the motion vector detection method according to claim 36, wherein the second address generation step is further held by the first storage step. Data output from the area data is output as a calculation result.

また、本発明の請求項38に記載の動きベクトル検出方法は、請求項36、又は請求項37に記載の動きベクトル検出方法において、さらに、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有することを特徴とするものである。   The motion vector detection method according to claim 38 of the present invention is the motion vector detection method according to claim 36 or claim 37, further comprising pixel data constituting the reference region data as an input, and a small number. An interpolation pixel generation step for generating accurate pixel data; and a minority precision motion vector detection step for detecting a minority motion vector using the data output from the interpolation pixel generation step and the data of the processing target block. It is characterized by this.

本発明の請求項1または請求項21に記載の動きベクトル検出装置、及び方法によれば、整数精度動きベクトル検出部206が閾値から絶対差分誤差値を順次減算し、閾値の値が負となった時点で、処理対象ブロックに対する最小の絶対差分誤差和となる参照ブロックの候補から除外し、途中で計算を中止することにより、処理速度の向上や消費電力の削減を図ることができる。   According to the motion vector detection apparatus and method according to claim 1 or 21 of the present invention, the integer precision motion vector detection unit 206 sequentially subtracts the absolute difference error value from the threshold value, and the threshold value becomes negative. At this point, the processing block can be improved and the power consumption can be reduced by excluding the reference block candidate that is the minimum absolute difference error sum for the processing target block and stopping the calculation in the middle.

また、本発明の請求項2、または請求項22に記載の動きベクトル検出装置、及び方法によれば、既に探索を行った参照ブロックに対して探索履歴を残すことにより、同じ参照ブロックに対して2重の探索を行うことを防止することができる。これにより、処理速度の向上を可能にするとともに、消費電力を削減することができる。   In addition, according to the motion vector detection device and method according to claim 2 or claim 22 of the present invention, by leaving a search history for a reference block that has already been searched, A double search can be prevented. Thereby, the processing speed can be improved and the power consumption can be reduced.

また、本発明の請求項3、または請求項23に記載の動きベクトル検出装置、及び方法によれば、既に探索を行った参照ブロックに対して探索履歴を残すことにより、同じ参照ブロックに対して2重の探索を行うことを防止することができる。これにより、処理速度の向上を可能にするとともに、消費電力を削減することができる。   In addition, according to the motion vector detection device and method according to claim 3 or claim 23 of the present invention, by leaving a search history for a reference block that has already been searched, the same reference block can be stored. A double search can be prevented. Thereby, the processing speed can be improved and the power consumption can be reduced.

また、本発明の請求項4、または請求項24に記載の動きベクトル検出装置、及び方法によれば、画像データ上の参照領域データの位置に応じて、第1のアドレス生成部が第1の記憶部に出力する参照領域データの転送ルールを変更することにより、第1の記憶部に転送するデータ量を必要最小限にすることができ、処理速度の向上、及び消費電力を削減することができる。   According to the motion vector detection device and method according to claim 4 or claim 24 of the present invention, the first address generation unit has the first address generator in accordance with the position of the reference area data on the image data. By changing the transfer rule of the reference area data to be output to the storage unit, the amount of data transferred to the first storage unit can be minimized, and the processing speed can be improved and the power consumption can be reduced. it can.

また、本発明の請求項5、または請求項25に記載の動きベクトル検出装置、及び方法によれば、第1の記憶手段が保持する2つのバッファメモリの内、データの読込みが行われる1のバッファメモリに対して、読み出しが完了した他の1のバッファメモリから有効なデータを一部コピーすることにより、第1の記憶部に新たに読込むデータの量を軽減することができ、処理速度の向上が可能となるとともに、消費電力の軽減につながる。   According to the motion vector detecting apparatus and method of claim 5 or 25 of the present invention, data is read out of two buffer memories held by the first storage means. By copying a part of valid data from another buffer memory that has been read to the buffer memory, the amount of data newly read into the first storage unit can be reduced, and the processing speed can be reduced. Can be improved and power consumption can be reduced.

また、本発明の請求項6、または請求項26に記載の動きベクトル検出装置、及び方法によれば、整数精度の動きベクトルを検出する動きベクトル検出装置において、前記請求項1から請求項5、または請求項21から25に記載の発明と同様の効果を得ることができる。   According to the motion vector detection device and method according to claim 6 or 26 of the present invention, in the motion vector detection device for detecting an integer precision motion vector, the motion vector detection device according to claim 1, Alternatively, the same effect as that of the invention described in claims 21 to 25 can be obtained.

また、本発明の請求項7、または請求項27に記載の動きベクトル検出装置、及び方法によれば、少数精度の動きベクトルを検出する動きベクトル検出装置において、前記請求項1から請求項5、または請求項21から25に記載の発明と同様の効果を得ることができる。   According to the motion vector detection device and method according to claim 7 or claim 27 of the present invention, in the motion vector detection device for detecting a motion vector with a small number of precision, the motion vector detection device according to claims 1 to 5, Alternatively, the same effect as that of the invention described in claims 21 to 25 can be obtained.

また、本発明の請求項8、または請求項28に記載の動きベクトル検出装置、及び方法によれば、整数精度の動きベクトル、及び少数精度の動きベクトルを検出可能な動きベクトル検出装置において、前記請求項1から請求項5、または請求項21から25に記載の発明と同様の効果を得ることができる。   According to the motion vector detection device and method according to claim 8 or claim 28 of the present invention, in the motion vector detection device capable of detecting an integer precision motion vector and a decimal precision motion vector, The same effects as those of the inventions according to claims 1 to 5 or claims 21 to 25 can be obtained.

また、本発明の請求項9、または請求項29に記載の動きベクトル検出装置、及び方法によれば、画素の補間位置によって画像イメージに対するデータの読み出し方向を変更することにより、補間画素生成部の構成を変更することなく縦方向、または横方向に特定距離ずらした少数精度の画素データを高速に、且つ同タイミングで生成することが可能となり、処理速度向上とともに消費電力の削減を図ることが出来る。   Further, according to the motion vector detection device and method according to claim 9 or 29 of the present invention, by changing the data reading direction with respect to the image image according to the interpolation position of the pixel, the interpolation pixel generation unit It is possible to generate small-precision pixel data shifted by a specific distance in the vertical or horizontal direction at the same time without changing the configuration, and at the same time, it is possible to improve processing speed and reduce power consumption. .

また、本発明の請求項10、または請求項30に記載の動きベクトル検出装置、及び方法によれば、画素の補間位置によって画像イメージに対するデータの読み出し方向を水平または垂直の何れかに変更することにより、補間画素生成部の構成を変更することなく縦方向、または横方向に特定距離をずらした少数精度の画素データを高速に、且つ同タイミングで生成することが可能となり、処理速度向上とともに消費電力の削減を図ることが出来る。   In addition, according to the motion vector detection device and method according to claim 10 or 30 of the present invention, the data reading direction with respect to the image image is changed to either horizontal or vertical depending on the interpolation position of the pixel. This makes it possible to generate small-precision pixel data with a specific distance shifted in the vertical or horizontal direction at high speed and at the same timing without changing the configuration of the interpolated pixel generation unit. Electric power can be reduced.

また、本発明の請求項11に記載の動きベクトル検出装置によれば、縦、または横方向に特定距離ずらした少数精度の画素データを生成する際にも、少なくともシフトレジスタ群が2個のシフトレジスタを有することにより、高速に、且つ同タイミングで少数精度の画素データを生成することが可能となり、データ転送量の削減、処理速度向上とともに消費電力の削減を図ることが出来る。   According to the motion vector detection device of the present invention, at least two shift register groups are shifted when generating pixel data with small precision shifted by a specific distance in the vertical or horizontal direction. By having a register, it becomes possible to generate pixel data with a small number of precision at high speed and at the same timing, and it is possible to reduce the amount of data transfer, improve the processing speed, and reduce power consumption.

また、本発明の請求項12に記載の動きベクトル検出装置によれば、斜め方向に特定距離ずらした少数精度の画素データを生成する際にも、少なくともシフトレジスタ群が特定方向に読み出す画素数+2個のシフトレジスタを有することにより、高速に、且つ同タイミングで少数精度の画素データを生成することが可能となり、データ転送量の削減、処理速度向上とともに消費電力の削減を図ることが出来る。   According to the motion vector detection device of the twelfth aspect of the present invention, at least the number of pixels read out in the specific direction by the shift register group +2 when generating pixel data with a small number of precisions shifted by a specific distance in the oblique direction. By having one shift register, it is possible to generate pixel data with a small number of precision at high speed and at the same timing, and it is possible to reduce the amount of data transfer and the processing speed and reduce power consumption.

また、本発明の請求項13、または請求項31に記載の動きベクトル検出装置、及び方法によれば、少数精度の動きベクトルの検出に用いる少数精度の補間画素を生成するために第1の記憶部内に記憶された参照ブロックを構成する全画素データを読み出した場合であっても、上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、右斜め下と左斜め下等に半画素分ずれた2つ半画素精度処理対象ブロックの絶対差分誤差和の演算処理を並列に実行することにより、補間画素生成部の処理量を軽減することができるとともに、第1の記憶部から読み出すデータ量を軽減することができる。そのため、動きベクトル検出装置の処理速度を向上させることができるとともに、消費電力の削減につながる。   According to the motion vector detection apparatus and method of claim 13 or claim 31 of the present invention, the first memory is used to generate the decimal interpolation pixels used for the detection of the minority motion vectors. Even when all pixel data constituting the reference block stored in the unit is read out, up and down, left and right, right up and down right, left up and down left, right up and down left Reduces the amount of processing of the interpolation pixel generation unit by executing in parallel the calculation processing of the absolute difference error of the two half-pixel accuracy processing target blocks shifted by half a pixel in the upper, lower right, lower left, etc. In addition, the amount of data read from the first storage unit can be reduced. Therefore, the processing speed of the motion vector detection device can be improved and the power consumption can be reduced.

また、本発明の請求項14、または請求項32に記載の動きベクトル検出装置、及び方法によれば、整数精度の動きベクトルを検出する整数精度動きベクトル検出部をさらに備えることにより、前記請求項9から請求項11の何れかに記載の動きベクトル検出装置において、整数精度の動きベクトル探索を行うことができる。   According to the motion vector detection device and method according to claim 14 or claim 32 of the present invention, further comprising an integer precision motion vector detection unit that detects an integer precision motion vector. In the motion vector detection device according to any one of claims 9 to 11, an integer precision motion vector search can be performed.

また、本発明の請求項15、または請求項33に記載の動きベクトル検出装置、及び方法によれば、探索可否条件検出部が探索可否条件保持部から探索可否条件を検出し、当該探索可否条件に基づき第2のアドレス生成部が第1の記憶部から出力する画素データのアドレスを生成することにより、有効な探索を行なうことができる領域の画素アドレスを正確に生成することができ、無駄な探索処理を行なうことなく高速に処理を行うことができる。   According to the motion vector detection device and method according to claim 15 or 33 of the present invention, the search availability condition detection unit detects a search availability condition from the search availability condition holding unit, and the search availability condition By generating the address of the pixel data output from the first storage unit by the second address generation unit based on the above, it is possible to accurately generate the pixel address of an area where an effective search can be performed, which is useless Processing can be performed at high speed without performing search processing.

また、本発明の請求項16、または請求項34に記載の動きベクトル検出装置、及び方法によれば、整数精度動きベクトル検出に用いられる探索可否条件保持部と探索可否条件検出部を、少数精度動きベクトル検出にも併用することにより、回路規模の縮小を図るとともに、製造コスト削減につながる。   Further, according to the motion vector detection device and method according to claim 16 or claim 34 of the present invention, the search availability condition holding unit and the search availability condition detection unit used for integer precision motion vector detection are provided with decimal precision. By using it together with motion vector detection, the circuit scale can be reduced and the manufacturing cost can be reduced.

また、本発明の請求項17、または請求項35に記載の動きベクトル検出装置、及び方法によれば、前記第2のアドレス生成部が整数精度動きベクトル検出時に前記探索可否条件保持部と、前記探索可否条件検出部とを用いて、探索の可否を判断すると共に、当該探索可否結果を用いて少数精度動きベクトル検出時の探索の可否を判断することにより、少数精度の動きベクトルの検出時に改めて探索可否条件の検出を行うことなく、探索の可否を判断することができ、処理速度の向上を図ることができる。また、整数精度の動きベクトル検出時の探索結果を少数精度動きベクトル検出時にも用いるため、回路規模の縮小を図るとともに、製造コスト削減につながる。   According to the motion vector detection apparatus and method according to claim 17 or claim 35 of the present invention, the second address generation unit detects the search availability condition holding unit when detecting an integer precision motion vector, and A search availability condition detection unit is used to determine whether or not a search is possible, and by using the search availability result to determine whether or not a search is possible at the time of detection of a small number of precision motion vectors, the detection of a minority precision motion vector is performed again. Whether or not search is possible can be determined without detecting the search availability condition, and the processing speed can be improved. Further, since the search result at the time of detecting an integer precision motion vector is also used at the time of detecting a decimal precision motion vector, the circuit scale can be reduced and the manufacturing cost can be reduced.

また、本発明の請求項18、または請求項36に記載の動きベクトル検出装置、及び方法によれば、動きベクトルが検出される可能性の高い位置(たとえば、直前に探索したブロックの動きベクトルと同位置)の参照ブロックに対してブロックマッチングを行い、そのマッチング結果(絶対差分誤差和)により、その後の探索実行の可否を判断することにより、処理速度の向上や消費電力の削減を図ることができる。   In addition, according to the motion vector detection device and method according to claim 18 or 36 of the present invention, a position where a motion vector is highly likely to be detected (for example, the motion vector of the block searched immediately before) It is possible to improve the processing speed and reduce power consumption by performing block matching on the reference block at the same position and determining whether or not the subsequent search execution is possible based on the matching result (absolute difference error sum). it can.

また、本発明の請求項19、または請求項37に記載の動きベクトル検出装置、及び方法によれば、前回の動きベクトル探索で検出された動きベクトルを用いる場合であっても、第2のアドレス生成部は、前記第1の記憶手段より出力されたデータを本装置の演算結果として出力することにより、前回の探索で検出された動きベクトル位置で示されている画素データを外部装置に出力することができる。   Further, according to the motion vector detection device and method according to claim 19 or 37 of the present invention, even if the motion vector detected in the previous motion vector search is used, the second address is used. The generation unit outputs the pixel data indicated by the motion vector position detected in the previous search to the external device by outputting the data output from the first storage unit as the calculation result of the device. be able to.

また、本発明の請求項20、または請求項38に記載の動きベクトル検出装置、及び方法によれば、前記請求項18、請求項19、請求項36、又は請求項37に記載の発明の効果に加えて、さらに、少数精度の動きベクトルを検出することができる。   According to the motion vector detection apparatus and method according to claim 20 or 38 of the present invention, the effect of the invention according to claim 18, 19, 36, or 37. In addition, a motion vector with a small number of precision can be detected.

(実施の形態1)
以下に、本発明の実施の形態1による動きベクトル検出装置について、図1から図4を用いて説明する。
図1は、本発明の実施の形態1による動きベクトル検出装置の構成を示すブロック図である。図1において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部106とからなる。
(Embodiment 1)
Hereinafter, a motion vector detection apparatus according to Embodiment 1 of the present invention will be described with reference to FIGS.
FIG. 1 is a block diagram showing a configuration of a motion vector detection device according to Embodiment 1 of the present invention. In FIG. 1, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, And an integer precision motion vector detection unit 106.

データ保持部101は、画像データを保持する大容量メモリであり、第1のアドレス生成部の指示に従い、参照領域のデータを第1の記憶部に、処理対象ブロックのデータを第2の記憶部に出力する。   The data holding unit 101 is a large-capacity memory that holds image data. In accordance with an instruction from the first address generation unit, the data in the reference area is stored in the first storage unit and the data in the processing target block is stored in the second storage unit. Output to.

第1のアドレス生成部102は、データ保持部101内に保持されている画像データより、符号化対象となるデータである処理対象ブロックのデータ、及び処理対象ブロックとブロックマッチングを行なう参照ブロックの探索を行う領域である参照領域データのアドレスを生成する。   The first address generation unit 102 searches for data of a processing target block that is data to be encoded, and a reference block that performs block matching with the processing target block, from the image data stored in the data storage unit 101. The address of the reference area data that is the area to be performed is generated.

なお、以下に説明する本発明の動きベクトル検出装置において、処理対象ブロック、及び参照ブロックは複数の画素群からなる画像単位であり、ここでは、例えば、1ブロックが縦16画素、横16画素の全256画素により構成されるものを例にとって説明する。   In the motion vector detection device of the present invention described below, the processing target block and the reference block are image units composed of a plurality of pixel groups. Here, for example, one block is 16 pixels long and 16 pixels wide. A description will be given by taking an example composed of a total of 256 pixels.

第1の記憶部103は、第1のアドレス生成部102により指示された参照領域データを保持する格納領域であり、第2のアドレス生成部105の指示に従い、処理対象ブロックとのブロックマッチングを行う参照ブロックの画素データを出力する。   The first storage unit 103 is a storage region that holds the reference region data instructed by the first address generation unit 102, and performs block matching with the processing target block according to the instruction of the second address generation unit 105. The pixel data of the reference block is output.

なお、以下に説明する本発明の動きベクトル検出装置において、動きベクトル検出装置が検出を行なう動きベクトルの範囲を−16〜+15.5とし、当該動きベクトルの範囲に対応する探索領域として、第1の記憶部103が保持する参照領域の画素データは、処理対象ブロック位置を中心とした縦48画素、横48画素により構成さるものを例にとって説明する。   In the motion vector detection device of the present invention described below, the motion vector range to be detected by the motion vector detection device is -16 to +15.5, and the first search region corresponding to the motion vector range is the first. The pixel data of the reference area held by the storage unit 103 will be described by taking, as an example, data composed of 48 vertical pixels and 48 horizontal pixels centering on the processing target block position.

第2の記憶部104は、第1のアドレス生成部102により指示された処理対象ブロックのデータを保持する格納領域であり、第2のアドレス生成部105の指示に従い、処理対象ブロックの画素データを出力する。   The second storage unit 104 is a storage area that holds the data of the processing target block instructed by the first address generation unit 102, and stores the pixel data of the processing target block in accordance with the instruction of the second address generation unit 105. Output.

第2のアドレス生成部105は、第1の記憶部103、及び第2の記憶部104から出力する画素データのアドレスを生成するとともに、探索処理が終了した旨を整数精度動きベクトル検出部106に出力する。   The second address generation unit 105 generates the addresses of the pixel data output from the first storage unit 103 and the second storage unit 104, and notifies the integer precision motion vector detection unit 106 that the search process has been completed. Output.

なお、この探索処理とは、処理対象ブロックと絶対差分誤差が最小となる参照ブロックを参照領域内から探索する処理であり、この探索処理は、特定の個数の参照ブロックとの比較が終了することにより、又は探索領域範囲内の全ての参照ブロックとの比較が終了すること、或は、処理対象ブロックに対して、特定位置の参照ブロックの絶対差分誤差がその上下左右に位置する参照ブロックの絶対差分誤差よりも小さることが検出されること等により終了する。   The search process is a process for searching a reference block having a minimum absolute difference error with respect to the processing target block from the reference region. This search process ends comparison with a specific number of reference blocks. Or the comparison with all the reference blocks in the search area range ends, or the absolute difference error of the reference block at the specific position with respect to the processing target block The process ends when it is detected that the error is smaller than the difference error.

整数精度動きベクトル検出部106は、第1の記憶部103から出力される参照ブロックの画素データ、及び第2の記憶部104から出力される処理対象ブロックの画素データを用いて、処理対象ブロックに対する参照ブロックの絶対差分誤差和を計算し、当該絶対差分誤差和が最小となる参照ブロックを探索して、動きベクトル検出する。   The integer precision motion vector detection unit 106 uses the pixel data of the reference block output from the first storage unit 103 and the pixel data of the processing target block output from the second storage unit 104, to the processing target block. The absolute difference error sum of the reference block is calculated, the reference block that minimizes the absolute difference error sum is searched, and the motion vector is detected.

次に、本発明の実施の形態1による動きベクトル検出装置の特徴部分である第2のアドレス生成部105について詳細に説明する。   Next, the second address generation unit 105, which is a characteristic part of the motion vector detection device according to the first embodiment of the present invention, will be described in detail.

以下に、第2のアドレス生成部105による画素データのアドレス生成処理について図2から図4を用いて説明することにする。なお、本実施の形態1による第2のアドレス生成部105は、画像イメージにおける画素の並びに対して市松模様にサンプリングを行なうものである。   Hereinafter, pixel data address generation processing by the second address generation unit 105 will be described with reference to FIGS. Note that the second address generation unit 105 according to the first embodiment performs sampling in a checkered pattern with respect to the arrangement of pixels in the image.

図2は、本発明の実施の形態1による第2のアドレス生成部105の構成を示すブロック図であり、図3は、本発明の実施の形態1による第2のアドレス生成部105がサブサンプリングを行うマクロブロックの一例を示す図である。なお、図3に示すように各画素のアドレスは、初期値を0として、0から255までのアドレス値が設定されている。   FIG. 2 is a block diagram showing a configuration of second address generation section 105 according to Embodiment 1 of the present invention. FIG. 3 shows subsampling performed by second address generation section 105 according to Embodiment 1 of the present invention. It is a figure which shows an example of the macroblock which performs. As shown in FIG. 3, the address value of each pixel is set to an address value from 0 to 255 with an initial value of 0.

図2において、第2のアドレス生成部105は、カラムカウンタ11と、ロウカウンタ12と、アドレス保持部13と、加算器14とからなる。   In FIG. 2, the second address generation unit 105 includes a column counter 11, a row counter 12, an address holding unit 13, and an adder 14.

ロウカウンタ11、及びカラムカウンタ12は、ともにダウンカウンタであり、図3に示すように、ロウカウンタ値、及びカラムカウンタ値がそれぞれ設定されている。また、ロウカウンタ11は、第2のアドレス生成部105から画素データのアドレスが出力される毎にデクリメントされる。一方、カラムカウンタ12は、ロウカウンタ11が0になった時にデクリメントされるものであり、また、ロウカウンタ11がデクリメントされる毎に、加算器14に対してカラムカウンタ値のLSB(最下位ビット)を反転して出力する。   The row counter 11 and the column counter 12 are both down counters, and a row counter value and a column counter value are set as shown in FIG. Further, the row counter 11 is decremented each time an address of pixel data is output from the second address generation unit 105. On the other hand, the column counter 12 is decremented when the row counter 11 becomes 0, and every time the row counter 11 is decremented, the LSB (the least significant bit) of the column counter value is added to the adder 14. ) Is inverted and output.

アドレス保持部13は、アドレス値(以下、予め保持するアドレス値を初期アドレス値と称する。)を保持し、ロウカウンタ11がデクリメントされると、アドレス保持部13が保持する初期アドレス値にプラス2をしたアドレス値を加算器14に出力するとともに、アドレス保持部13が保持する初期アドレス値を、加算器14に出力したアドレス値に更新する。なお、アドレス保持部13が保持する初期アドレス値の初期値は0である。   The address holding unit 13 holds an address value (hereinafter, an address value held in advance is referred to as an initial address value), and when the row counter 11 is decremented, the initial address value held by the address holding unit 13 is increased by two. The address value that has been corrected is output to the adder 14, and the initial address value held by the address holding unit 13 is updated to the address value output to the adder 14. Note that the initial value of the initial address value held by the address holding unit 13 is zero.

加算器14は、アドレス保持部13から出力されたアドレス値に、カラムカウンタ12から出力されたカラムカウンタ値のLSB(最下位ビット)の反転値を加算して画素データアドレス値として出力する。すなわち、カラムカウンタ12から出力されたカラムカウンタ12のLSB(最下位ビット)が「0」、すなわちカラムカウンタ値が偶数の場合には、アドレス保持部13から出力されたアドレス値に「0」を反転した「1」を加算し、画素データアドレス値として出力する。一方、カラムカウンタ12から出力されたカラムカウンタ12のLSB(最下位ビット)が「1」、すなわちカラムカウンタ値が奇数の場合には、アドレス保持部13から出力されたアドレス値に、「1」を反転した「0」を加算し、画素データアドレス値として出力する。   The adder 14 adds the inverted value of the LSB (least significant bit) of the column counter value output from the column counter 12 to the address value output from the address holding unit 13 and outputs the result as a pixel data address value. That is, when the LSB (least significant bit) of the column counter 12 output from the column counter 12 is “0”, that is, when the column counter value is an even number, “0” is set to the address value output from the address holding unit 13. The inverted “1” is added and output as a pixel data address value. On the other hand, when the LSB (least significant bit) of the column counter 12 output from the column counter 12 is “1”, that is, when the column counter value is an odd number, the address value output from the address holding unit 13 is set to “1”. “0” obtained by inverting is added and output as a pixel data address value.

次に、第2のアドレス生成部105の動作について図3、図4を用いて説明する。
図4は、本発明の実施の形態1による第2のアドレス生成部105の画素データのアドレス生成処理を説明するためのフローチャートである。
Next, the operation of the second address generation unit 105 will be described with reference to FIGS.
FIG. 4 is a flowchart for explaining an address generation process of pixel data of the second address generation unit 105 according to the first embodiment of the present invention.

ロウカウンタ11がデクリメントされる(ステップS101)と、カラムカウンタ12は、ロウカウンタ値が「0」であるか否かの判断を行なう(ステップS102)。   When the row counter 11 is decremented (step S101), the column counter 12 determines whether or not the row counter value is “0” (step S102).

この時、ロウカウンタ値が「0」である場合には、カラムカウンタ12をデクリメント(ステップS103)し、デクリメントしたカラムカウンタ値のLSB(最下位ビット)の反転値を加算器14に出力する(ステップS104)。   At this time, if the row counter value is “0”, the column counter 12 is decremented (step S103), and the inverted value of the LSB (least significant bit) of the decremented column counter value is output to the adder 14 ( Step S104).

また、ロウカウンタ値が「0」でない場合には、カラムカウンタ12のカラムカウンタ値の変更を行わず、カラムカウンタ値のLSB(最下位ビット)の反転値を加算部14に出力する(ステップS104)。   If the row counter value is not “0”, the column counter value of the column counter 12 is not changed, and the inverted value of the LSB (least significant bit) of the column counter value is output to the adder 14 (step S104). ).

一方、アドレス保持部13は、ロウカウンタ11がデクリメントされる(ステップS101)と、保持された初期アドレス値に2を加算した値を加算器14に出力するとともに、アドレス保持部13が保持する初期アドレス値を、アドレス保持部13から出力されたアドレス値、すなわちアドレス保持部13が保持していた初期アドレス値に2を加えたものに更新する(ステップ105)。   On the other hand, when the row counter 11 is decremented (step S101), the address holding unit 13 outputs a value obtained by adding 2 to the held initial address value to the adder 14 and the initial value held by the address holding unit 13 The address value is updated to the address value output from the address holding unit 13, that is, the initial address value held by the address holding unit 13 plus 2 (step 105).

次に、加算器14は、アドレス保持部13から出力されたアドレス値に、ステップS104によりカラムカウンタ12から出力されたカラムカウンタ値のLSB(最下位ビット)の反転値を加算して(ステップS106)、画素データアドレス値として出力する(ステップS107)。   Next, the adder 14 adds the inverted value of the LSB (least significant bit) of the column counter value output from the column counter 12 in step S104 to the address value output from the address holding unit 13 (step S106). ) And output as a pixel data address value (step S107).

このように、ロウカウンタ11、カラムカウンタ12、アドレス保持部13、加算器14を備えることにより、画像イメージにおける画素並びに対して市松模様に画素データの位置をサブサンプリングすることができ、マクロブロックを構成する全ての画素に対して絶対差分誤差和を求める場合と比較して、比較的高圧縮の場合には同等程度の精度を得ることができ、かつ絶対差分誤差和を求めるために必要とする計算量を、半分にすることができ、処理速度の向上や消費電力の削減につながる。   Thus, by providing the row counter 11, the column counter 12, the address holding unit 13, and the adder 14, the position of the pixel data can be subsampled in a checkered pattern with respect to the pixel arrangement in the image image. Compared to the case of obtaining the absolute difference error sum for all the constituent pixels, it is possible to obtain the same level of accuracy in the case of relatively high compression, and is necessary for obtaining the absolute difference error sum. The calculation amount can be halved, leading to an improvement in processing speed and a reduction in power consumption.

また、水平成分、或は垂直成分のみをサブサンプリングし、データの処理量を軽減するものに比べ、画素分布による影響を受けることが少ない。また、水平方向、及び垂直方向に同じ比率によりサブサンプルを行い、データの処理量を軽減するものに比べ、正確に絶対差分誤差和を求めることができ、精度よく動きベクトルを求めることができる。   In addition, compared to the case where only the horizontal component or the vertical component is sub-sampled to reduce the data processing amount, it is less affected by the pixel distribution. In addition, the absolute difference error sum can be obtained more accurately and the motion vector can be obtained more accurately than in the case where sub-sampling is performed at the same ratio in the horizontal direction and the vertical direction to reduce the data processing amount.

なお、本実施の形態1では、第2のアドレス生成部105が画像イメージにおける画素並びに対して市松模様に画素データの位置をサンプリングするものについて説明したが、これに限定されず、本実施の形態1による第2のアドレス生成部105によれば、ロウカウンタ11、カラムカウンタ12、アドレス保持部13の設定値を任意に変更することにより、画像イメージにおける画素並びに対して自由にサブサンプリングを行うことができる。   In the first embodiment, the second address generation unit 105 samples the pixel data positions in a checkered pattern with respect to the pixel arrangement in the image image. However, the present embodiment is not limited to this. According to the second address generation unit 105 by 1, the sub-sampling can be freely performed on the pixel arrangement in the image image by arbitrarily changing the setting values of the row counter 11, the column counter 12, and the address holding unit 13. Can do.

(実施の形態2)
以下、本発明の実施の形態2による動きベクトル検出装置について、図5から図7を用いて説明する。
図5は、本発明の実施の形態2による動きベクトル検出装置の構成の一例を示すブロック図である。図5において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部206とからなる。
(Embodiment 2)
Hereinafter, a motion vector detection apparatus according to Embodiment 2 of the present invention will be described with reference to FIGS.
FIG. 5 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 2 of the present invention. In FIG. 5, the motion vector detection apparatus includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, An integer precision motion vector detection unit 206 is included.

なお、本実施の形態2による動きベクトル検出装置は、整数精度動きベクトル検出部206に特徴を有する点においてのみ、前述した実施の形態1による動きベクトル検出装置と相違する。そのため、前述した実施の形態1による動きベクトル検出装置と同様の構成要素については同じ符号を付し、説明を省略する。   The motion vector detection device according to the second embodiment is different from the motion vector detection device according to the first embodiment described above only in that the integer precision motion vector detection unit 206 has a feature. Therefore, the same components as those in the motion vector detection device according to the first embodiment described above are denoted by the same reference numerals, and description thereof is omitted.

以下に、本発明の実施の形態2による動きベクトル検出装置の特徴部分である、整数精度動きベクトル検出部206について図6、図7を用いて説明する。   The integer precision motion vector detection unit 206, which is a characteristic part of the motion vector detection device according to the second embodiment of the present invention, will be described below with reference to FIGS.

図6は、本発明の実施の形態2による整数精度動きベクトル検出部206の構成を示すブロック図である。図6において、整数精度動きベクトル検出部206は、絶対差分誤差値計算部21と、減算器22と、カウンタ23と、絶対差分誤差和計算部24と、動きベクトル生成部25とからなる。   FIG. 6 is a block diagram showing the configuration of the integer precision motion vector detection unit 206 according to Embodiment 2 of the present invention. In FIG. 6, the integer precision motion vector detection unit 206 includes an absolute difference error value calculation unit 21, a subtracter 22, a counter 23, an absolute difference error sum calculation unit 24, and a motion vector generation unit 25.

絶対差分誤差値計算部21は、入力された処理対象ブロックの画素データと、当該処理対象ブロックの画素データに対応する参照ブロックの画素データとの画素値の差分の絶対値を計算し、当該差分の絶対値を絶対差分誤差値として減算器22に出力する。   The absolute difference error value calculation unit 21 calculates an absolute value of a difference between pixel values of the input pixel data of the processing target block and the pixel data of the reference block corresponding to the pixel data of the processing target block. Is output to the subtractor 22 as an absolute difference error value.

減算器22は、絶対差分誤差値計算部21により絶対差分誤差値の出力がある毎に、絶対差分誤差和計算部24が保持する閾値から絶対差分誤差値を、順次、減算して行く。なお、以下の説明では、減算器22による減算が開始される前の閾値を初期閾値と称する。   The subtracter 22 sequentially subtracts the absolute difference error value from the threshold value held by the absolute difference error sum calculation unit 24 every time the absolute difference error value calculation unit 21 outputs an absolute difference error value. In the following description, a threshold before the subtraction by the subtracter 22 is started is referred to as an initial threshold.

カウンタ23は、特定のカウント数を有するアップカウンタであり、減算器22によって、閾値からの絶対差分誤差値が減算される毎にカウンタ23をインクリメントする。なお、本実施の形態2によるカウンタ23は、0から127までをカウント有する。これは、第2のアドレス生成部105により、処理対象とする16画素×16画素のマクロブロックに対して市松模様にサンプリングを行った画素データを用いて、整数精度動きベクトル検出部206が絶対差分誤差和を算出するためである。   The counter 23 is an up counter having a specific count number, and increments the counter 23 every time the absolute difference error value from the threshold is subtracted by the subtracter 22. The counter 23 according to the second embodiment has a count from 0 to 127. This is because the integer address motion vector detection unit 206 uses the pixel data sampled in a checkered pattern for the 16 pixel × 16 pixel macroblock to be processed by the second address generation unit 105, and the absolute difference This is for calculating the error sum.

絶対差分誤差和計算部24は、初期閾値を保持するとともに、減算器22により、絶対差分誤差値が減算された閾値を保持する。   The absolute difference error sum calculation unit 24 holds an initial threshold value, and holds a threshold value obtained by subtracting the absolute difference error value by the subtractor 22.

また、絶対差分誤差和計算部24は、減算器22による減算の結果、閾値の値が負になった場合には、カウンタ23を0にセットし、絶対差分誤差値計算部21、減算器22の処理を中止し、当該参照ブロックの位置を、絶対差分誤差和の最小値位置の候補から除外する旨の信号を第2アドレス生成部105に出力する。   Further, the absolute difference error sum calculation unit 24 sets the counter 23 to 0 when the threshold value becomes negative as a result of the subtraction by the subtracter 22, and the absolute difference error value calculation unit 21 and the subtractor 22. Is output to the second address generation unit 105 to exclude the position of the reference block from the candidates for the minimum position of the absolute difference error sum.

一方、減算器22による減算の結果、閾値の値が正である場合には、カウンタ23の値が「127」になるまで減算器21による減算が繰り返される。減算器22による減算の結果、閾値の値が正のままであり、且つカウンタ23の値が「127」になると、カウンタ23を0にセットし、絶対差分誤差和計算部24が保持する初期閾値から、当該正の値の閾値を減算し、当該減算した値を絶対差分誤差和計算部24が保持する新たな初期閾値として設定する。   On the other hand, if the value of the threshold is positive as a result of the subtraction by the subtracter 22, the subtraction by the subtractor 21 is repeated until the value of the counter 23 becomes "127". If the threshold value remains positive as a result of the subtraction by the subtractor 22 and the value of the counter 23 becomes “127”, the counter 23 is set to 0, and the initial threshold value held by the absolute difference error sum calculation unit 24 Then, the threshold value of the positive value is subtracted, and the subtracted value is set as a new initial threshold value held by the absolute difference error sum calculation unit 24.

また、当該参照ブロックは絶対差分誤差和が最小となる参照ブロックの候補となるため、第2のアドレス生成部105から出力された当該参照ブロックの位置と処理対象ブロックの位置を表わすデータを動きベクトル生成部25に出力する。なお、絶対差分誤差和計算部24による閾値の値が負になったか否かの判定は、絶対差分誤差和計算部24の閾値のMSB(最上位ビット)が「1」(負であることを示すビットとする。)であるか否かのみを判断することにより判定することができる。   In addition, since the reference block is a candidate for a reference block with the smallest absolute difference error sum, data representing the position of the reference block and the position of the processing target block output from the second address generation unit 105 is used as a motion vector. The data is output to the generation unit 25. Whether or not the threshold value of the absolute difference error sum calculation unit 24 is negative is determined by whether the MSB (most significant bit) of the absolute difference error sum calculation unit 24 is “1” (negative). It can be determined by determining only whether or not the bit is.

また、絶対差分誤差和計算部24は、第2のアドレス生成部105から探索処理が終了した旨の信号を受けた場合には、絶対差分誤差和計算部24が保持する初期閾値を評価関数として出力する。   Further, when the absolute difference error sum calculation unit 24 receives a signal from the second address generation unit 105 indicating that the search process has been completed, the absolute threshold difference sum calculation unit 24 uses the initial threshold value held by the absolute difference error sum calculation unit 24 as an evaluation function. Output.

動きベクトル生成部25は、絶対差分誤差和計算部24から参照ブロックの位置と処理対象ブロックの位置を表わすデータを受けると、その変化量から動きベクトルを生成する。なお、動きベクトル生成部25は、絶対差分誤差和計算部24からの出力を受ける毎に動きベクトルを生成するものであり、以前に生成した動きベクトルが存在する場合には、当該動きベクトルを新たに生成した動きベクトルに更新する。   When the motion vector generation unit 25 receives data representing the position of the reference block and the position of the processing target block from the absolute difference error sum calculation unit 24, the motion vector generation unit 25 generates a motion vector from the amount of change. The motion vector generation unit 25 generates a motion vector every time the output from the absolute difference error sum calculation unit 24 is received. If a previously generated motion vector exists, the motion vector is newly determined. Update the generated motion vector.

また、動きベクトル生成部25は、第2のアドレス生成部105から探索処理が終了した旨の信号を受けた場合には、動きベクトル生成部24が保持する動きベクトルを、処理対象ブロックの動きベクトルとして出力する。   In addition, when the motion vector generation unit 25 receives a signal indicating that the search processing is completed from the second address generation unit 105, the motion vector generation unit 25 uses the motion vector held by the motion vector generation unit 24 as the motion vector of the processing target block. Output as.

次に、整数精度動きベクトル検出部206の動作について図7を用いて説明する。
図7は、本発明の実施の形態2による整数精度動きベクトル検出部206の動作を説明するためのフローチャートである。なお、図7により示されたフローチャートにおける整数精度動きベクトル検出部206の動作は、処理対象ブロックに対する特定の参照ブロックの絶対差分誤差和を計算するためのものであり、処理対象ブロックと参照ブロックの対応する画素データが入力されることにより開始される処理である。
Next, the operation of the integer precision motion vector detection unit 206 will be described with reference to FIG.
FIG. 7 is a flowchart for explaining the operation of the integer precision motion vector detection unit 206 according to the second embodiment of the present invention. The operation of the integer precision motion vector detection unit 206 in the flowchart shown in FIG. 7 is for calculating the absolute difference error sum of a specific reference block with respect to the processing target block. This process is started by inputting corresponding pixel data.

処理対象ブロックの画素データと、当該処理対象ブロックの画素データに対応する参照ブロックの画素データの入力があると、絶対差分誤差値計算部21は、処理対象ブロックの画素データと参照ブロックの画素データとの画素値の差分の絶対値を計算し、絶対差分誤差値として減算器22に出力する(ステップS201)。   When the pixel data of the processing target block and the pixel data of the reference block corresponding to the pixel data of the processing target block are input, the absolute difference error value calculator 21 calculates the pixel data of the processing target block and the pixel data of the reference block. Is calculated and output to the subtractor 22 as an absolute difference error value (step S201).

減算器22は、絶対値差分誤差計算部21から絶対差分誤差値の出力があると、絶対差分誤差和計算部24が保持する閾値から、当該絶対差分誤差値を減算する(ステップS202)。   When the absolute difference error calculation unit 21 outputs an absolute difference error value, the subtracter 22 subtracts the absolute difference error value from the threshold value held by the absolute difference error sum calculation unit 24 (step S202).

減算器22によって閾値から絶対差分誤差値が減算されると、カウンタ23は、カウンタの値をインクリメントする(ステップS203)。   When the absolute difference error value is subtracted from the threshold value by the subtracter 22, the counter 23 increments the counter value (step S203).

次に、絶対差分誤差和計算部24は、ステップS202により、閾値から絶対差分誤差値が減算された結果、閾値の値が負の値になっていないか否かを、閾値のMSB(最上位ビット)が「1」であるか否かにより判断する(ステップS204)。なお、MSB(最上位ビット)が「1」は、閾値が負、MSB(最上位ビット)が「0」は、閾値が正であることを示すものとする。   Next, the absolute difference error sum calculation unit 24 determines whether or not the threshold value is a negative value as a result of subtracting the absolute difference error value from the threshold value in step S202, and determines whether the threshold value MSB (most significant Whether or not (bit) is “1” is determined (step S204). Note that “1” for the MSB (most significant bit) indicates that the threshold is negative, and “0” for the MSB (most significant bit) indicates that the threshold is positive.

この時、閾値のMSB(最上位ビット)が「1」である場合には、当該参照ブロックの絶対差分誤差和は、最小の絶対差分誤差和となり得ないため、カウンタ23の値を「0」にセット(ステップS209)して、当該参照ブロックに対する処理を最後まで行わず、終了する。   At this time, if the MSB (most significant bit) of the threshold is “1”, the absolute difference error sum of the reference block cannot be the minimum absolute difference error sum, so the value of the counter 23 is set to “0”. (Step S209), the process for the reference block is not performed until the end, and the process ends.

一方、閾値のMSB(最上位ビット)が「1」でない場合には、カウンタ23の値が「127」であるか否か、すなわち、処理が行われる全ての画素の絶対差分誤差値が閾値から減算されたか否かの判断を行なう(ステップS205)。   On the other hand, if the MSB (most significant bit) of the threshold is not “1”, whether or not the value of the counter 23 is “127”, that is, the absolute difference error values of all the pixels to be processed are from the threshold. It is determined whether or not the value has been subtracted (step S205).

この時、カウンタ23の値が「127」でない場合には、ステップS201に行き、残りの画素についての絶対差分誤差値を計算(ステップS201)し、以後、同様の処理を行なう(ステップS202からS205)。   At this time, if the value of the counter 23 is not “127”, the process goes to step S201 to calculate absolute difference error values for the remaining pixels (step S201), and thereafter the same processing is performed (steps S202 to S205). ).

一方、カウンタ23の値が「127」である場合には、絶対差分誤差和計算部24は、処理対象ブロックに対する参照ブロックが絶対差分誤差和が最小となる参照ブロックの候補となるため、第2のアドレス生成部105から出力された当該参照ブロックの位置と処理対象ブロックの位置を表わすデータを動きベクトル生成部25に出力する(ステップS207)。   On the other hand, when the value of the counter 23 is “127”, the absolute difference error sum calculation unit 24 determines that the reference block with respect to the processing target block is a reference block candidate with the smallest absolute difference error sum, and thus the second The data indicating the position of the reference block and the position of the processing target block output from the address generation unit 105 is output to the motion vector generation unit 25 (step S207).

動きベクトル生成部25は、参照ブロックの位置と処理対象ブロックの位置を表わすデータを受けると、その変化量から動きベクトルを生成する(ステップS207)。なお、この時、以前に生成した動きベクトルが存在する場合には、以前に生成した動きベクトルを新たに生成した動きベクトルに更新する。   When receiving the data representing the position of the reference block and the position of the processing target block, the motion vector generation unit 25 generates a motion vector from the amount of change (step S207). At this time, if a previously generated motion vector exists, the previously generated motion vector is updated to a newly generated motion vector.

また、絶対差分誤差和計算部24は、絶対差分誤差和計算部24が保持する初期閾値からカウンタ23の値が「127」となった時の正の閾値の値を減算し、当該減算した値を絶対差分誤差和計算部24が保持する新たな初期閾値として更新(ステップS208)する。   The absolute difference error sum calculation unit 24 subtracts the value of the positive threshold when the value of the counter 23 becomes “127” from the initial threshold held by the absolute difference error sum calculation unit 24, and the value obtained by the subtraction. Is updated as a new initial threshold value held by the absolute difference error sum calculation unit 24 (step S208).

その後、絶対差分誤差和計算部24は、カウンタ23の値を「0」にセット(ステップS209)して、当該参照ブロックに対する処理を終了する。   Thereafter, the absolute difference error sum calculation unit 24 sets the value of the counter 23 to “0” (step S209), and ends the processing for the reference block.

このように、整数精度動きベクトル検出部206は、図7を用いて説明した処理対象ブロックに対する参照ブロックの絶対差分誤差和が最小となるの参照ブロックの検索処理を動きベクトル探索領域範囲内の他の参照ブロックに対して同様に行う。   As described above, the integer precision motion vector detection unit 206 performs the reference block search process that minimizes the sum of absolute difference errors of the reference block with respect to the processing target block described with reference to FIG. The same process is performed for the reference blocks.

また、処理対象ブロックに対して、参照領域内の参照ブロックの探索が終了すると、第2のアドレス生成部105から探索処理が終了した旨の信号が整数精度動きベクトル検出部206に出力され、絶対差分誤差和計算部24は、絶対差分誤差和計算部24が保持する初期閾値を評価関数として出力し、動きベクトル生成部26は、動きベクトル生成部が保持する動きベクトルを、処理対象ブロックの動きベクトルとして出力する。   When the search for the reference block in the reference area is completed for the processing target block, the second address generation unit 105 outputs a signal to the effect that the search process is completed to the integer precision motion vector detection unit 206. The difference error sum calculation unit 24 outputs the initial threshold value held by the absolute difference error sum calculation unit 24 as an evaluation function, and the motion vector generation unit 26 uses the motion vector held by the motion vector generation unit as the motion of the processing target block. Output as a vector.

このように、整数精度動きベクトル検出部206が閾値から絶対差分誤差値を順次減算し、閾値の値が負となった時点で、処理対象ブロックに対する最小の絶対差分誤差和となる参照ブロックの候補から除外し、途中で計算を中止することにより、処理速度の向上や消費電力の削減を図ることができる。   In this way, the integer precision motion vector detection unit 206 sequentially subtracts the absolute difference error value from the threshold value, and when the threshold value becomes negative, the reference block candidate that becomes the minimum absolute difference error sum with respect to the processing target block. By excluding from the above and canceling the calculation in the middle, the processing speed can be improved and the power consumption can be reduced.

また、処理を行っている参照ブロックが処理対象ブロックに対する最小の絶対差分誤差和を有する参照ブロックの候補となるか否かの判断を、閾値からの減算結果が負になるか否かによって判断するため、当該判断を絶対差分誤差和計算部24の閾値のMSB(最上位ビット)の値のみによって行うことができ、より一層の処理速度の向上や消費電力の削減を図ることができる。   Further, whether or not the reference block being processed is a candidate for a reference block having the smallest absolute difference error sum with respect to the processing target block is determined based on whether or not the result of subtraction from the threshold value is negative. Therefore, the determination can be performed only by the value of the MSB (most significant bit) of the threshold value of the absolute difference error sum calculation unit 24, and the processing speed can be further improved and the power consumption can be reduced.

なお、本発明の実施の形態2では、動きベクトル検出装置が市松模様にサブサンプリングした参照ブロックの画素データと処理対象ブロックの画素データを用いて動きベクトルを検出するものについて説明したが、これに限定されず、動きベクトル検出装置が参照ブロックの画素データと処理対象ブロックの画素データを用いて動きベクトルを検出するものであれば同様の効果を得ることができる。   In the second embodiment of the present invention, the motion vector detection apparatus detects the motion vector using the pixel data of the reference block and the pixel data of the processing target block sub-sampled in a checkered pattern. Without being limited thereto, the same effect can be obtained as long as the motion vector detection device detects the motion vector using the pixel data of the reference block and the pixel data of the processing target block.

(実施の形態3)
以下、本発明の実施の形態3による動きベクトル検出装置について、図8から図10を用いて説明する。
図8は、本発明の実施の形態3による動きベクトル検出装置の構成の一例を示すブロック図である。図8において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部206と、探索履歴保持部301とからなる。
(Embodiment 3)
Hereinafter, a motion vector detection apparatus according to Embodiment 3 of the present invention will be described with reference to FIGS.
FIG. 8 is a block diagram showing an example of a configuration of a motion vector detection device according to Embodiment 3 of the present invention. In FIG. 8, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, It consists of an integer precision motion vector detection unit 206 and a search history holding unit 301.

なお、本実施の形態3による動きベクトル検出装置は、探索が終了した参照ブロックの履歴を保持し、同じ参照ブロックの2重探索を防止する点においてのみ、前述した実施の形態2による動きベクトル検出装置と相違する。そのため、前述した実施の形態2による動きベクトル検出装置と同様の構成要素については同じ符号を付し、説明を省略する。   It should be noted that the motion vector detection apparatus according to the third embodiment holds the history of reference blocks for which search has been completed, and the motion vector detection according to the second embodiment described above only in that double search of the same reference block is prevented. Different from the device. Therefore, the same components as those in the motion vector detection device according to the second embodiment described above are denoted by the same reference numerals, and description thereof is omitted.

探索履歴保持部301は、整数精度動きベクトル検出部206により探索が行われた参照ブロックの履歴を保持する。なお、本実施の形態3では、探索対象の位置、及びその周辺位置8ヶ所の計9つ分の参照ブロックの履歴を持つものについて説明する。   The search history holding unit 301 holds a history of reference blocks searched by the integer precision motion vector detection unit 206. In the third embodiment, a description will be given of a case where there are a total of nine reference block histories for a position to be searched and eight peripheral positions.

以下に、本発明の実施の形態3における動きベクトル検出装置による探索履歴を利用した、絶対差分誤差和が最小となる参照ブロックの探索処理の一例について、図9、図10を用いて説明する。   Hereinafter, an example of reference block search processing that minimizes the sum of absolute difference errors using the search history by the motion vector detection device according to Embodiment 3 of the present invention will be described with reference to FIGS. 9 and 10.

図9は、本実施の形態3による動きベクトル検出装置の第2のアドレス生成部105による探索処理の一例を説明するための説明図である。図9において、実線は、処理対象ブロックを示し、点線は、参照ブロックを示す。なお、この探索処理とは、処理対象ブロックと絶対差分誤差が最小となる参照ブロックを参照領域内から探索する処理である。   FIG. 9 is an explanatory diagram for explaining an example of a search process performed by the second address generation unit 105 of the motion vector detection device according to the third embodiment. In FIG. 9, a solid line indicates a processing target block, and a dotted line indicates a reference block. This search process is a process of searching for a reference block having a minimum absolute difference error from the processing target block in the reference area.

図9に示すように、本実施の形態3による動きベクトル検出装置の第2のアドレス生成部105による探索処理の一例として、まず、第2のアドレス生成部105は、処理対象ブロック内の注目画素xに対して、同じ位置、及び上下左右に1画素分ずらした5つ参照ブロックに対して探索を行うよう画素アドレスを生成し、整数精度動きベクトル検出部206により、当該参照ブロックに対する探索が行われる。   As shown in FIG. 9, as an example of the search process by the second address generation unit 105 of the motion vector detection device according to the third embodiment, first, the second address generation unit 105 first displays the target pixel in the processing target block. A pixel address is generated so as to search for five reference blocks that are shifted by one pixel vertically, right and left with respect to x, and the integer precision motion vector detection unit 206 performs a search for the reference block. Is called.

その結果は第2のアドレス生成部105に出力され、アドレス生成部105は、上下左右の何れかの絶対差分誤差和が最小となった場合には、次に、当該絶対差分誤差和が最小となる参照ブロックを中心として、上下左右に1画素分ずらした参照ブロックに対して同様の処理を行う。この処理は、真ん中に位置する参照ブロックの絶対差分誤差和が最小となるまで繰り返され、絶対差分誤差和が最小となる真ん中に位置する参照ブロックが検出されると、当該参照ブロックを、処理対象ブロックに対して最小の絶対差分誤差和となる参照ブロックとして検出し、探索を終了する。   The result is output to the second address generation unit 105, and the address generation unit 105 next minimizes the absolute difference error sum when any of the upper, lower, left, and right absolute difference error sums is minimized. The same processing is performed on the reference block shifted by one pixel vertically and horizontally with the reference block as the center. This process is repeated until the absolute difference error sum of the reference block located in the middle is minimized, and when the reference block located in the middle where the absolute difference error sum is minimized is detected, the reference block is processed. The block is detected as a reference block having the smallest absolute difference error sum for the block, and the search is terminated.

図10は、探索履歴保持部301内のデータ構造を示す図であり、aからlは、参照ブロックを示す符号である。太線1で囲まれた範囲は探索履歴保持部301が保持する履歴の範囲であり、実線2は探索が終了した参照ブロックを示すものであり、点線3は未探索の参照ブロックを示す。   FIG. 10 is a diagram illustrating a data structure in the search history holding unit 301, where a to l are codes indicating reference blocks. A range surrounded by a thick line 1 is a history range held by the search history holding unit 301, a solid line 2 indicates a reference block for which search has been completed, and a dotted line 3 indicates an unsearched reference block.

例えば、処理対象ブロック位置がhの位置にあるとすると、まず、前述したように、処理対象ブロックに対する5つの参照ブロックに対して探索が行われる。探索が終了すると、探索履歴保持部301は、探索が行われた参照ブロックe、参照ブロックg、参照ブロックh、参照ブロックi、参照ブロックkに対してフラグを立てる(図10(A))。   For example, if the processing target block position is at the position h, first, as described above, a search is performed on five reference blocks for the processing target block. When the search is completed, the search history holding unit 301 sets a flag for the reference block e, the reference block g, the reference block h, the reference block i, and the reference block k that have been searched (FIG. 10A).

次に、整数精度動きベクトル検出部206による探索の結果、例えば、処理対象ブロックに対する、参照ブロックe、参照ブロックg、参照ブロックh、参照ブロックi、参照ブロックkの絶対差分誤差和の内、参照ブロックeの絶対差分誤差が最小となった場合には、探索履歴保持部301は、探索履歴保持部301が保持する履歴を全て下方向にシフトさせる(図10(B))。   Next, as a result of the search by the integer precision motion vector detection unit 206, for example, reference is made among the absolute difference error sums of the reference block e, the reference block g, the reference block h, the reference block i, and the reference block k with respect to the processing target block. When the absolute difference error of the block e is minimized, the search history holding unit 301 shifts all the history held by the search history holding unit 301 downward (FIG. 10B).

これにより、探索履歴保持部301が保持する履歴は、次の探索で中心の参照ブロックである参照ブロックeを中心としたものに、書き換えられたことになる(図10(C))。   As a result, the history held by the search history holding unit 301 is rewritten to be centered on the reference block e that is the central reference block in the next search (FIG. 10C).

第2のアドレス生成部105は、当該参照ブロックeを中心とした、参照ブロックb、参照ブロックd、参照ブロックe、参照ブロックf、参照ブロックhに対して探索を行う際には、探索履歴保持部301内のフラグの有無を判断し、フラグが立っていない、参照ブロックb、参照ブロックd、参照ブロックfの画素データのみの画素アドレスを生成する。そのため、整数精度動きベクトル検出部206は、既に探索が行われた参照ブロックe、参照ブロックhの探索処理を2重に行うことがない。   The second address generation unit 105 holds a search history when searching for the reference block b, the reference block d, the reference block e, the reference block f, and the reference block h with the reference block e as the center. The presence or absence of a flag in the unit 301 is determined, and pixel addresses of only the pixel data of the reference block b, the reference block d, and the reference block f that are not flagged are generated. Therefore, the integer precision motion vector detection unit 206 does not perform the search process of the reference block e and the reference block h that have already been searched twice.

このように、探索履歴保持部301を設け、既に探索を行った参照ブロックに対して探索履歴を残すことにより、同じ参照ブロックに対して2重の探索を行うことを防止することができる。これにより、処理速度の向上を可能にするとともに、消費電力を削減することができる。   As described above, by providing the search history holding unit 301 and leaving the search history for the reference block that has already been searched, it is possible to prevent the double search for the same reference block. Thereby, the processing speed can be improved and the power consumption can be reduced.

なお、本実施の形態3において、第2のアドレス生成部105による探索処理は、上下左右に位置する参照ブロックの内、絶対差分誤差和が最小となる方向に探索を進めるものについて説明したが、これに限定されず、探索履歴保持部301を具備し、探索履歴保持部301が保持する探索履歴に基づいて第2のアドレス生成部が探索処理を行うものであれば何でもよい。   In the third embodiment, the search processing by the second address generation unit 105 has been described in which the search is advanced in the direction in which the absolute difference error sum is minimized among the reference blocks located in the upper, lower, left, and right directions. The present invention is not limited to this, and any search history holding unit 301 may be used as long as the second address generation unit performs the search process based on the search history held by the search history holding unit 301.

(実施の形態4)
以下、本発明の実施の形態4による動きベクトル検出装置について、図11から図14を用いて説明する。
(Embodiment 4)
Hereinafter, a motion vector detection apparatus according to Embodiment 4 of the present invention will be described with reference to FIGS.

図11は、本発明の実施の形態4による動きベクトル検出装置の構成の一例を示すブロック図である。図11において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部106と、転送ルール保持部401と、転送ルール検出部402とからなる。   FIG. 11 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 4 of the present invention. In FIG. 11, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, It consists of an integer precision motion vector detection unit 106, a transfer rule holding unit 401, and a transfer rule detection unit 402.

なお、本実施の形態4による動きベクトル検出装置は、データ保持部101により保持されている画像データ上で、第1の記憶部103に出力される参照領域データがどの位置に存在するかにより、データ保持部101から第1の記憶部103に転送される参照領域データの転送ルールを変更する点においてのみ、前述した実施の形態1による動きベクトル検出装置と相違する。そのため、前述した実施の形態1による動きベクトル検出装置と同様の構成要素については同じ符号を付し、説明を省略する。   Note that the motion vector detection device according to the fourth embodiment depends on where the reference area data output to the first storage unit 103 exists on the image data held by the data holding unit 101. The only difference from the motion vector detection apparatus according to the first embodiment is that the transfer rule of the reference area data transferred from the data holding unit 101 to the first storage unit 103 is changed. Therefore, the same components as those in the motion vector detection device according to the first embodiment described above are denoted by the same reference numerals, and description thereof is omitted.

転送ルール保持部401は、領域判定コードと転送ルールとを対にして保持する。
転送ルール検出部402は、第1のアドレス生成部102により出力された領域判定コードに基づき転送ルールを検出し、第1のアドレス生成部102、及び第2のアドレス生成部105に出力する。
The transfer rule holding unit 401 holds the area determination code and the transfer rule as a pair.
The transfer rule detection unit 402 detects a transfer rule based on the area determination code output from the first address generation unit 102 and outputs the transfer rule to the first address generation unit 102 and the second address generation unit 105.

ここで、前記領域判定コードについて図12を用いて説明する。
図12は、画像データを示す図であり、本発明の実施の形態4による領域判定コードは、現時点での動きベクトルの探索を行う参照領域が画像データ上のどの位置に対応するかを示す、4ビットからなるコードである。各ビットは、各ビットは上位から、上端・下端・左端・右端を示しており、例えば上端を示すビットが「1」である場合は、前記参照領域が画像データの上端にあることを示し、ビットが「0」である場合は、前記参照領域が画像データの上端でないことを示している。なお、この領域判定コードは、画像データのアドレスを制御する第1のアドレス生成部102が保持している。
Here, the region determination code will be described with reference to FIG.
FIG. 12 is a diagram showing image data, and the region determination code according to the fourth embodiment of the present invention indicates to which position on the image data the reference region where the current motion vector search is performed corresponds. It is a code consisting of 4 bits. Each bit indicates the upper end, the lower end, the left end, and the right end from the upper order. For example, when the bit indicating the upper end is “1”, it indicates that the reference area is at the upper end of the image data. When the bit is “0”, it indicates that the reference area is not the upper end of the image data. The area determination code is held by the first address generation unit 102 that controls the address of the image data.

以下に、本発明の実施の形態4による動きベクトル検出装置の第1のアドレス生成部102による参照領域データの転送処理について、図12、図13、図14を用いて説明する。   Hereinafter, reference area data transfer processing by the first address generation unit 102 of the motion vector detection device according to the fourth embodiment of the present invention will be described with reference to FIGS. 12, 13, and 14. FIG.

図13は、転送ルール保持部401内に格納されている領域判定コードと転送ルールの一例を示す図であり、図14は、参照領域データを構成する48×48画素のアドレスを示したものである。   FIG. 13 is a diagram showing an example of an area determination code and a transfer rule stored in the transfer rule holding unit 401, and FIG. 14 shows an address of 48 × 48 pixels constituting reference area data. is there.

第1のアドレス生成部102から領域判定コードが転送ルール検出部402に出力されると、転送ルール検出部402は、転送ルール保持部401内に保持されている領域判定コードに対応する転送ルールを検出する。   When the area determination code is output from the first address generation unit 102 to the transfer rule detection unit 402, the transfer rule detection unit 402 displays the transfer rule corresponding to the area determination code held in the transfer rule holding unit 401. To detect.

転送ルール検出部402により検出された転送ルールは、第1のアドレス生成部102に出力される。第1のアドレス生成部102は、検出された転送ルールに基づいて第1の記憶部103に出力する参照領域データの転送アドレスを生成する。   The transfer rule detected by the transfer rule detection unit 402 is output to the first address generation unit 102. The first address generation unit 102 generates a transfer address of reference area data to be output to the first storage unit 103 based on the detected transfer rule.

例えば、領域判定コードが「0000」の場合には、第1のアドレス生成部は、図12に示した転送開始アドレス位置から、水平方向に1画素ずつ、矩形の水平方向の長さが48、即ち画素アドレスが0から47までの48画素についてのデータを読み出す。即ち、図14に示すように、画素アドレスが0から47までの48画素分のデータの読み出しが終了すると、転送開始アドレス位置から画像イメージに対して垂直方向に1画素分シフトして、左端から画素アドレスが48から95までの水平方向48画素分のデータを同様に読み出す。この垂直方向へのシフトは、矩形の垂直方向の長さが48、即ち縦方向に48画素分移動するまで継続される。   For example, when the area determination code is “0000”, the first address generation unit has a horizontal length of 48 pixels, one pixel in the horizontal direction from the transfer start address position illustrated in FIG. That is, data for 48 pixels with pixel addresses from 0 to 47 is read. That is, as shown in FIG. 14, when the reading of the data for 48 pixels from 0 to 47 is completed, the data is shifted from the transfer start address position by 1 pixel in the vertical direction with respect to the image image, and from the left end. Data for 48 pixels in the horizontal direction with pixel addresses from 48 to 95 are similarly read out. This shift in the vertical direction is continued until the length of the rectangle in the vertical direction is 48, that is, the vertical length is moved by 48 pixels.

また、例えば、領域判定コードが「1010」の場合には、図14に示すように、画素アドレスが784の位置から画素データの読み出しが開始され、水平方向に1画素ずつ、矩形の水平方向の長さが32、即ち画素アドレスが784から815までの32画素分のデータを読み出す。画素アドレスが784から815までの32画素分のデータを読み出しが終了すると、画素アドレス784の位置から画像イメージに対して垂直方向に1画素分シフトして、画素アドレスが832から863までの水平方向32画素分のデータを同様に読み出す。この垂直方向へのシフトは、矩形の垂直方向の長さが32、即ち縦方向に32画素分移動するまで継続される。   For example, when the area determination code is “1010”, reading of pixel data is started from the position where the pixel address is 784, as shown in FIG. Data of 32 pixels having a length of 32, that is, pixel addresses of 784 to 815 are read. When the reading of data for 32 pixels with pixel addresses 784 to 815 is completed, the pixel address is shifted by 1 pixel in the vertical direction from the position of the pixel address 784 and the horizontal direction with pixel addresses 832 to 863 is shifted. Similarly, data for 32 pixels are read out. This shift in the vertical direction is continued until the length of the rectangle in the vertical direction is 32, that is, moves 32 pixels in the vertical direction.

なお、領域判定コードが「0001」、「0010」、「0100」、「0101」、「0110」、「1000」、「1001」の場合の参照領域データの転送処理は、前述した領域判定コードが「0000」、「1010」の場合の説明、及び図13から明らかであるので説明を省略する。   Note that the transfer process of the reference area data when the area determination code is “0001”, “0010”, “0100”, “0101”, “0110”, “1000”, “1001” is the area determination code described above. Since it is clear from the description of “0000” and “1010” and FIG. 13, the description is omitted.

このように、画像データ上の参照領域データの位置に応じて、第1のアドレス生成部102が第1の記憶部103に出力する参照領域データの転送ルールを変更することにより、第1の記憶部103に転送するデータ量を必要最小限にすることができ、処理速度の向上、及び消費電力を削減することができる。   As described above, the first storage unit 102 changes the transfer rule of the reference area data output from the first address generation unit 102 to the first storage unit 103 according to the position of the reference area data on the image data. The amount of data transferred to the unit 103 can be minimized, the processing speed can be improved, and the power consumption can be reduced.

なお、本実施の形態4による動きベクトル検出装置において、領域判定コードを第1のアドレス生成部102が保持しているものについて説明したが、これに限定されず、例えば、ユーザが領域判定コードを転送ルール検出部402に直接入力するもの等であってもよい。   In the motion vector detection device according to the fourth embodiment, the region determination code held by the first address generation unit 102 has been described. However, the present invention is not limited to this. For example, the user can specify the region determination code. It may be one that is directly input to the transfer rule detection unit 402.

また、本発明の実施の形態4による動きベクトル検出装置は、領域判定コードに対応する転送ルールの例として、図13に示すような転送ルールを示したが、これに限定されず、領域判定コードに対応する転送ルールに基づいて、第1のアドレス生成部102がデータの転送アドレスを生成するものであればなんでもよい。   Moreover, although the motion vector detection apparatus according to Embodiment 4 of the present invention has shown the transfer rule as shown in FIG. 13 as an example of the transfer rule corresponding to the area determination code, the present invention is not limited to this, and the area determination code As long as the first address generation unit 102 generates the transfer address of the data based on the transfer rule corresponding to.

(実施の形態5)
以下、本発明の実施の形態5による動きベクトル検出装置について、図15から図17を用いて説明する。
(Embodiment 5)
Hereinafter, a motion vector detection apparatus according to Embodiment 5 of the present invention will be described with reference to FIGS.

図15は、本発明の実施の形態5による動きベクトル検出装置の構成の一例を示すブロック図である。図15において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部106と、転送ルール検出部402と、転送ルール保持部401と、記憶データ制御部501とからなる。   FIG. 15 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 5 of the present invention. In FIG. 15, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, The integer precision motion vector detection unit 106, the transfer rule detection unit 402, the transfer rule holding unit 401, and the stored data control unit 501 are included.

なお、本実施の形態5による動きベクトル検出装置は、第1の記憶部103がダブルバッファ構造を有する動きベクトル検出装置であって、第1の記憶部103内のデータを記憶データ制御部501が制御する点においてのみ、前述した実施の形態4による動きベクトル検出装置と相違する。そのため、前述した実施の形態1による動きベクトル検出装置と同様の構成要素については同じ符号を付し、説明を省略する。   The motion vector detection device according to the fifth embodiment is a motion vector detection device in which the first storage unit 103 has a double buffer structure, and the stored data control unit 501 stores the data in the first storage unit 103. Only the control point is different from the motion vector detection apparatus according to the fourth embodiment described above. Therefore, the same components as those in the motion vector detection device according to the first embodiment described above are denoted by the same reference numerals, and description thereof is omitted.

なお、まずここで、第1の記憶部103内のメモリ構造であるダブルバッファ構造について、図16を用いて説明することにする。
図16は、本発明の実施の形態5による第1の記憶部103のメモリ構造を説明する説明図であり、図16において、第1の記憶部103は、メモリXとメモリYの2つのバファメモリを保持している。この2つのメモリは、例えば、メモリYに対してデータの読み込み読み込みが行われている際には、他方のメモリXでは、データの読み出しが行われている。また、両処理が終了するとメモリXとメモリYを入れ替えて、メモリXに対してデータの読み込み読み込みを行うと同時に、メモリYに書き込まれたデータを読み出す。これにより、データの入出力を効率的に行うことができるものである。
First, a double buffer structure, which is a memory structure in the first storage unit 103, will be described with reference to FIG.
FIG. 16 is an explanatory diagram illustrating the memory structure of the first storage unit 103 according to the fifth embodiment of the present invention. In FIG. 16, the first storage unit 103 includes two buffer memories, a memory X and a memory Y. Holding. In these two memories, for example, when data is read from and read from the memory Y, data is read from the other memory X. When both processes are completed, the memory X and the memory Y are exchanged, and the data written into the memory Y is read out at the same time as the data is read into the memory X. As a result, data can be input / output efficiently.

次に、本発明の実施の形態5による記憶データ制御部501の動作の動作について説明する。
一般的に、画像データを構成する複数のブロックに対して動きベクトルを求める場合には、画像データに対して左上端に位置するブロックから順次右側に1ブロックずつシフトさせ、それぞれの処理対象ブロックに対して動きベクトルを検出する。そのため、前述したようなダブルバッファ構造を有する第1の記憶部103を用いて、探索を行う領域である参照領域データの入出力を行う場合には、画素データがメモリXとメモリYとの間でオーバーラップすることになり、処理対象ブロックが変わる毎に重複したデータ転送を行ってしまう。
Next, the operation of the stored data control unit 501 according to the fifth embodiment of the present invention will be described.
In general, when obtaining motion vectors for a plurality of blocks constituting image data, the image data is sequentially shifted one block to the right from the block located at the upper left corner, and each block is processed. On the other hand, a motion vector is detected. Therefore, when the first storage unit 103 having the double buffer structure as described above is used to input / output reference region data that is a region to be searched, pixel data is transferred between the memory X and the memory Y. Therefore, every time the processing target block changes, duplicate data transfer is performed.

よって、本発明の実施の形態5による動きベクトル検出装置の記憶データ制御部501は、図17に示すように、ダブルバッファ構造を有する第1の記憶部103に格納されたデータのうち、メモリYに必要なデータであり且つメモリX上に格納されているデータをメモリXからメモリYに転送する。その後メモリYに必要なデータをデータ保持部101から読み込む。なお、同様の処理は、メモリYからメモリXへの転送においても同様に行われる。   Therefore, the stored data control unit 501 of the motion vector detection device according to the fifth embodiment of the present invention, among the data stored in the first storage unit 103 having a double buffer structure, as shown in FIG. The data stored in the memory X is transferred from the memory X to the memory Y. Thereafter, data necessary for the memory Y is read from the data holding unit 101. The same processing is performed in the same way in the transfer from the memory Y to the memory X.

なお、この記憶データ制御部501により、コピーが行われる第1の記憶部103内のデータの範囲は、第1のアドレス生成部102から出力される領域判定コードに基づいて決定されるものであり、領域判定コードは、前記実施の形態4により説明したものと同様であるため説明を省略する。   The storage data control unit 501 determines the range of data in the first storage unit 103 to be copied based on the area determination code output from the first address generation unit 102. The region determination code is the same as that described in the fourth embodiment, and a description thereof will be omitted.

以下に、本実施の形態5による記憶データ制御部501の動作の具体例について図18を用いて説明する。
図18は、領域判定コードと、第1の記憶部103が新たに読み込むデータ、及び第1の記憶部103内でコピーするデータとの対応を示す図である。
A specific example of the operation of the storage data control unit 501 according to the fifth embodiment will be described below with reference to FIG.
FIG. 18 is a diagram illustrating a correspondence between the area determination code, data newly read by the first storage unit 103, and data copied in the first storage unit 103.

例えば、図18に示すように、メモリYに対してデータの読み込みを行なう領域判定コードが「0000」の場合には、記憶データ制御部501は、第1の記憶部103内のメモリXのデータのうち、右の6ブロック分のデータをメモリYの左にコピーする。これにより、データ記憶部103は、残りの右3ブロック分のデータのみをデータ保持部101から新たに読込めばよい。   For example, as shown in FIG. 18, when the area determination code for reading data into the memory Y is “0000”, the storage data control unit 501 stores the data in the memory X in the first storage unit 103. The right six blocks of data are copied to the left of the memory Y. As a result, the data storage unit 103 only needs to newly read only the remaining three blocks of data from the data holding unit 101.

また、メモリYに対してデータの読み込みを行なう領域判定コードが「0001」の場合には、記憶データ制御部501は、図18に示すように、第1の記憶部103内のメモリXのデータのうち、右の6ブロック分のデータをメモリYの左にコピーする。また、領域判定コードが「0001」の場合、即ち右端のビットが「1」の場合には、右側に位置するブロックのデータが存在しないため、データの読み込みを行わない。   When the area determination code for reading data into the memory Y is “0001”, the storage data control unit 501 stores the data in the memory X in the first storage unit 103 as shown in FIG. The right six blocks of data are copied to the left of the memory Y. In addition, when the area determination code is “0001”, that is, when the rightmost bit is “1”, the data of the block located on the right side does not exist, and thus the data is not read.

また、メモリYに対してデータの読み込みを行なう領域判定コードが「0010」の場合には、記憶データ制御部501は、図18に示すように、データのコピーを行わない。これは、前述したように、複数のブロックに対して動きベクトルを求める場合に、処理を行なう処理対象ブロックを右側に順次シフトさせながら動きベクトル検出を行なうため、領域判定コードが「0010」の場合、即ち、右から2つ目のビットが「1」の場合には、動きベクトルを検出する処理対象ブロックの位置が画像データの左端に位置するため、前回の探索で用いたデータを用いることができないためである。   If the area determination code for reading data into the memory Y is “0010”, the stored data control unit 501 does not copy data as shown in FIG. As described above, when motion vectors are obtained for a plurality of blocks, motion vector detection is performed while sequentially shifting the processing target block to be processed to the right, so that the area determination code is “0010”. That is, when the second bit from the right is “1”, since the position of the processing target block for detecting the motion vector is located at the left end of the image data, the data used in the previous search can be used. This is because it cannot be done.

なお、他の領域判定コードの場合の記憶データ制御部501の動作は、前述した領域判定コード「0000」、「0001」、「0010」、及び図18から明らかであるので、説明を省略する。   The operation of the storage data control unit 501 in the case of other area determination codes is obvious from the area determination codes “0000”, “0001”, “0010” and FIG.

このように、領域判定コードを用いて、記憶データ制御部501が、第1の記憶部103内に記憶されたデータの制御を行うことにより、データ保持部101から読込むデータの量を軽減することができ、処理速度の向上が可能となるとともに、消費電力の軽減につながる。   As described above, the storage data control unit 501 controls the data stored in the first storage unit 103 by using the area determination code, thereby reducing the amount of data read from the data holding unit 101. As a result, the processing speed can be improved and the power consumption can be reduced.

なお、本実施の形態5による動きベクトル検出装置において、領域判定コードを第1のアドレス生成部102が保持しているものについて説明したが、これに限定されず、例えば、ユーザが領域判定コードを記憶データ制御部501に直接入力するもの等であってもよい。   In the motion vector detection device according to the fifth embodiment, the area determination code is held by the first address generation unit 102. However, the present invention is not limited to this. For example, the user can set the area determination code. It may be one that is directly input to the stored data control unit 501.

また、本実施の形態5による動きベクトル検出装置は、少なくとも、第1の記憶部103のメモリ構造がダブルバッファ構造をしているものであればよく、データ保持部101や、第2の記憶部104のメモリ構造は、どのようなものであってもよい。   In addition, the motion vector detection device according to the fifth embodiment is sufficient if at least the memory structure of the first storage unit 103 has a double buffer structure, and the data holding unit 101 and the second storage unit. The memory structure 104 can be anything.

また、本発明の実施の形態1から5において、動きベクトルを検出する動きベクトル検出部が整数精度の動きベクトルを検出する整数精度動きベクトル検出部106であるものについて説明したが、これに限定されず、例えば、動きベクトルを検出部が少数精度の動きベクトルを求めるものや、整数精度の動きベクトルと少数精度の動きベクトルをともに求めるもの等であってもよい。なお、少数精度の動きベクトル検出については、後述する実施の形態6で説明することにする。   In Embodiments 1 to 5 of the present invention, the motion vector detection unit that detects a motion vector is the integer accuracy motion vector detection unit 106 that detects an integer accuracy motion vector. However, the present invention is not limited to this. For example, the motion vector detection unit may determine a motion vector with a small number of precision, or may determine a motion vector with an integer precision and a motion vector with a small precision. Note that the small-precision motion vector detection will be described in Embodiment 6 described later.

(実施の形態6)
以下、本発明の実施の形態6による動きベクトル検出装置について、図19から図22を用いて説明する。
図19は、本発明の実施の形態6による動きベクトル検出装置の構成の一例を示すブロック図である。図19において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、補間画素生成部601と、少数精度動きベクトル検出部602と、読み出し方向決定部603とからなる。
(Embodiment 6)
Hereinafter, a motion vector detection device according to a sixth embodiment of the present invention will be described with reference to FIGS.
FIG. 19 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 6 of the present invention. In FIG. 19, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, An interpolation pixel generation unit 601, a minority precision motion vector detection unit 602, and a readout direction determination unit 603 are included.

補間画素生成部601は、第1の記憶部内に保持される参照領域データの画素間の任意の位置における画素値の補間処理を行うことによって求めるものである。なお、本発明の実施の形態6では、説明を簡単にするため、各画素間の真ん中の位置における画素値である半画素を生成するものを例にとって説明する。   The interpolation pixel generation unit 601 is obtained by performing interpolation processing of pixel values at arbitrary positions between the pixels of the reference area data held in the first storage unit. In the sixth embodiment of the present invention, a description will be given by taking as an example a case where a half pixel that is a pixel value at the middle position between pixels is generated in order to simplify the description.

図20は、本発明の実施の形態6による動きベクトル検出装置の補間画素生成部601を説明するための説明図であり、黒丸は画素の位置、白丸は補間画素生成部601により求められた半画素の位置を示す。例えば、半画素mを生成するためには、画素A、画素B、画素C、及び画素Dの周囲4画素分の画素値のデータが必要であり、補間画素生成部601は、半画素m=(画素A+画素B+画素C+画素D)/4を計算することにより半画素mの画素値を求める。また、半画素nを生成するためには、縦方向に存在する画素Bと画素Dの2画素分の画素値のデータが必要であり、補間画素生成部601は、半画素n=(画素B+画素D)/2を計算することにより半画素nの画素値を求める。さらに、半画素oを生成するためには、横方向に存在する画素Cと画素Dの2画素分の画素値のデータが必要であり、補間画素生成部601は、半画素o=(画素C+画素D)/2を計算することにより半画素oの画素値を求める。   FIG. 20 is an explanatory diagram for explaining the interpolation pixel generation unit 601 of the motion vector detection device according to the sixth embodiment of the present invention. The black circle is the pixel position, and the white circle is the half obtained by the interpolation pixel generation unit 601. Indicates the position of the pixel. For example, in order to generate the half pixel m, data of pixel values for four pixels around the pixel A, the pixel B, the pixel C, and the pixel D is necessary, and the interpolation pixel generation unit 601 generates a half pixel m = The pixel value of the half pixel m is obtained by calculating (pixel A + pixel B + pixel C + pixel D) / 4. In addition, in order to generate the half pixel n, pixel value data corresponding to two pixels of the pixel B and the pixel D existing in the vertical direction is necessary, and the interpolation pixel generation unit 601 has the half pixel n = (pixel B + The pixel value of half pixel n is determined by calculating pixel D) / 2. Furthermore, in order to generate the half pixel o, data of pixel values for two pixels of the pixel C and the pixel D existing in the horizontal direction is necessary, and the interpolation pixel generation unit 601 has the half pixel o = (pixel C + The pixel value of the half pixel o is obtained by calculating the pixel D) / 2.

少数精度動きベクトル検出部602は、第1の記憶部103から出力された参照ブロックの画素データを用いて補間画素生成部601が生成した半画素データ、及び第2の記憶部104から出力される処理対象ブロックの画素データを用いて、処理対象ブロックと、参照ブロックから1/2画素分ずれた半画素精度の参照ブロックとの絶対差分誤差和を計算し、当該絶対差分誤差和が最小となる半画素精度の参照ブロックを探索して、動きベクトル検出する。なお、本実施の形態6による少数精度動きベクトル検出装置602による前記半画素精度の参照ブロックを探索は、処理対象ブロック位置の周辺における最小の半画素精度の参照ブロックが存在する方向に探索を進めるものとし、当該探索方向は、探索位置ベクトルとして読み出し方向決定部603に出力される。   The small-precision motion vector detection unit 602 outputs half-pixel data generated by the interpolation pixel generation unit 601 using the pixel data of the reference block output from the first storage unit 103, and is output from the second storage unit 104. Using the pixel data of the processing target block, the absolute difference error sum between the processing target block and the reference block with half pixel accuracy shifted by 1/2 pixel from the reference block is calculated, and the absolute difference error sum is minimized. A motion vector is detected by searching for a reference block with half-pixel accuracy. The search for the half-pixel precision reference block by the small-precision motion vector detection apparatus 602 according to the sixth embodiment proceeds in the direction in which the minimum half-pixel precision reference block exists around the processing target block position. The search direction is output to the read direction determination unit 603 as a search position vector.

読み出し方向決定部603は、補間画素生成部601で生成を行なう半画素データの位置によって、第1の記憶部103から出力する参照領域の画素データの読み出し方向を決定する。なお、この補間画素生成部601により生成が行われる半画素データの位置は、前述した少数精度動きベクトル検出部602から出力される探索位置ベクトルに基づいて決定される。   The readout direction determination unit 603 determines the readout direction of the pixel data of the reference area output from the first storage unit 103 according to the position of the half pixel data that is generated by the interpolation pixel generation unit 601. Note that the position of the half-pixel data generated by the interpolation pixel generation unit 601 is determined based on the search position vector output from the above-described minority precision motion vector detection unit 602.

以下に、本発明の実施の形態6による動きベクトル検出装置のハーフペル生成処理について図21、図22を用いて説明する。
図21、図22は、本発明の実施の形態6による補間画素生成部601による半画素データの生成を説明するための説明図である。図21、図22において、補間画素生成部601は、図示するように、補間処理部81とシフトレジスタ群82とからなる。
Hereinafter, half-pel generation processing of the motion vector detection device according to the sixth embodiment of the present invention will be described with reference to FIGS. 21 and 22.
21 and 22 are explanatory diagrams for explaining generation of half-pixel data by the interpolation pixel generation unit 601 according to the sixth embodiment of the present invention. 21 and 22, the interpolation pixel generation unit 601 includes an interpolation processing unit 81 and a shift register group 82 as illustrated.

補間処理部81は、シフトレジスタ82が保持する画素データの補間処理を行い、画素間の位置における画素値を算出する。シフトレジスタ群82は、21個のシフトレジスタからなり、画素データの入力がある毎に読込んだ画素データをシフトさせる。なお、本実施の形態6では、画素間の中心の位置である半画素精度の画素値を求めるものである。   The interpolation processing unit 81 performs an interpolation process on the pixel data held by the shift register 82, and calculates a pixel value at a position between the pixels. The shift register group 82 includes 21 shift registers, and shifts read pixel data every time pixel data is input. In the sixth embodiment, a pixel value with half-pixel accuracy, which is the center position between pixels, is obtained.

この補間画素生成部601により、参照ブロックに対して左、右、右上、右下、左上、左下の何れかの方向に1/2画素ずれた半画素精度の参照ブロックを作成する場合には、読み出し方向決定部603は、第1の記憶部103内に格納された参照領域のデータを横方向に読み出す旨の指示を第2のアドレス生成部105に対して行う。第2のアドレス生成部105は、図21に示すように、第1の記憶部103内に格納された参照領域の画素データから、横方向に位置するデータを18画素づつ、縦方向に18回読み出す。   When the interpolated pixel generation unit 601 creates a reference block with half-pixel accuracy shifted by 1/2 pixel in any of the left, right, upper right, lower right, upper left, and lower left directions with respect to the reference block, The reading direction determination unit 603 instructs the second address generation unit 105 to read the reference area data stored in the first storage unit 103 in the horizontal direction. As shown in FIG. 21, the second address generation unit 105 performs 18 times of 18 pixels of data located in the horizontal direction from the pixel data of the reference area stored in the first storage unit 103, 18 times in the vertical direction. read out.

読み出された画素データは、補間画素生成部601内のシフトレジスタ群82に入り、補間処理部81により補間処理が行われる。
また、補間画素生成部601のシフトレジスタ群82は、少なくとも、(横方向に読み出すデータ数+2)個のシフトレジスタを保持することにより、斜め方向に半画素ずれた画素データを生成する場合であっても、改めて、データの読み出しを行なうことなく、斜め方向に半画素ずれた画素データの補間処理を行うことができ、処理速度向上とともに消費電力の削減を図ることができる。
The read pixel data enters the shift register group 82 in the interpolation pixel generation unit 601, and interpolation processing is performed by the interpolation processing unit 81.
In addition, the shift register group 82 of the interpolation pixel generation unit 601 generates pixel data that is shifted by half a pixel in the diagonal direction by holding at least (the number of data to be read in the horizontal direction + 2) shift registers. However, it is possible to perform interpolation processing of pixel data shifted by half a pixel in an oblique direction without reading data again, thereby improving processing speed and reducing power consumption.

一方、この補間画素生成部601により、参照ブロックに対して上、下、右上、右下、左上、左下の何れかの方向に1/2画素ずれた半画素精度の参照ブロックを作成する場合には、読み出し方向決定部603は、第1の記憶部103内に格納された参照領域のデータを縦方向に読み出す旨の指示を第2のアドレス生成部105に対して行う。第2のアドレス生成部105は、図22に示すように、第1の記憶部103内に格納された参照領域の画素データから、縦方向に位置するデータを18画素づつ、横方向に18回読み出す。
読み出された画素データは、補間画素生成部601内のシフトレジスタ群82に入り、補間処理部81により補間処理が行われる。
On the other hand, when the interpolated pixel generation unit 601 creates a reference block with half-pixel accuracy shifted by 1/2 pixel in any of the upper, lower, upper right, lower right, upper left, and lower left directions with respect to the reference block. The read direction determination unit 603 instructs the second address generation unit 105 to read the reference area data stored in the first storage unit 103 in the vertical direction. As shown in FIG. 22, the second address generation unit 105 generates 18 pixels of data located in the vertical direction 18 times in the horizontal direction from the pixel data in the reference area stored in the first storage unit 103. read out.
The read pixel data enters the shift register group 82 in the interpolation pixel generation unit 601, and interpolation processing is performed by the interpolation processing unit 81.

このように、縦方向に読み出した画素データを用いて、縦方向に半画素ずれた画素データを生成することにより、縦方向に半画素ずれた画素データの補間処理を行なうための演算量を減らすことができ、処理速度向上とともに消費電力の削減を図ることができる。   Thus, by generating pixel data that is shifted by half a pixel in the vertical direction using pixel data that has been read in the vertical direction, the amount of calculation for performing interpolation processing of the pixel data that is shifted by a half pixel in the vertical direction is reduced. Therefore, the processing speed can be improved and the power consumption can be reduced.

また、補間画素生成部601のシフトレジスタ群82は、少なくとも、(縦方向に読み出すデータ数+2)個のシフトレジスタを保持することにより、斜め方向に半画素ずれた画素データを生成する場合であっても、改めて、データの読み出しを行なうことなく、斜め方向に半画素ずれた画素データの補間処理を行うことができ、処理速度向上とともに消費電力の削減を図ることができる。   Further, the shift register group 82 of the interpolation pixel generation unit 601 generates pixel data that is shifted by half a pixel in the diagonal direction by holding at least (the number of data to be read in the vertical direction + 2) shift registers. However, it is possible to perform interpolation processing of pixel data shifted by half a pixel in an oblique direction without reading data again, thereby improving processing speed and reducing power consumption.

すなわち、画素の補間位置によって画像イメージに対するデータの読み出し方向を変更することにより、補間画素生成部601の構成を変更することなく縦方向、または横方向に半画素ずれた半画素n、oを高速に、且つ同タイミングで生成することが可能となり、処理速度向上とともに消費電力の削減を図ることが出来る。さらに斜め方向に半画素ずれた半画素mを生成する際にも、少なくともシフトレジスタ群82が20個のシフトレジスタを有することにより、高速に、且つ同タイミングで半画素データを生成することが可能となり、データ転送量の削減、処理速度向上とともに消費電力の削減を図ることが出来る。   That is, by changing the data reading direction for the image image according to the interpolation position of the pixel, the half pixels n and o that are shifted by half a pixel in the vertical direction or the horizontal direction without changing the configuration of the interpolation pixel generation unit 601 can be processed at high speed. Moreover, it can be generated at the same timing, and the processing speed can be improved and the power consumption can be reduced. Further, when generating a half pixel m that is shifted by half a pixel in an oblique direction, at least the shift register group 82 includes 20 shift registers, so that half pixel data can be generated at high speed and at the same timing. Thus, it is possible to reduce the amount of data transfer and the processing speed and reduce the power consumption.

なお、図21、図22では、補間画素生成部601が21個のシフトレジスタを有するシフトレジスタ群82を示したが、これに限定されず、例えば、上下左右方向に半画素ずれた画素データを生成する場合には、少なくとも、2個のシフトレジスタを保持するものであればよく、また、斜め方向へ半画素ずれた画素データを生成するためには、少なくとも20個のシフトレジスタを保持するものであればよい。   21 and 22, the interpolation pixel generation unit 601 shows the shift register group 82 having 21 shift registers. However, the present invention is not limited to this. For example, pixel data shifted by half a pixel in the vertical and horizontal directions is used. When generating, it is sufficient that it holds at least two shift registers, and in order to generate pixel data shifted by half a pixel in an oblique direction, it holds at least 20 shift registers. If it is.

(実施の形態7)
以下、本発明の実施の形態7による動きベクトル検出装置について、図23、及び図24を用いて説明する。
図23は、本発明の実施の形態7による動きベクトル検出装置の構成の一例を示すブロック図である。図23において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、補間画素生成部601と、読み出し方向決定部603と、少数精度動きベクトル検出部701とからなる。
(Embodiment 7)
Hereinafter, a motion vector detection apparatus according to Embodiment 7 of the present invention will be described with reference to FIGS. 23 and 24. FIG.
FIG. 23 is a block diagram showing an example of a configuration of a motion vector detection device according to Embodiment 7 of the present invention. In FIG. 23, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, An interpolation pixel generation unit 601, a reading direction determination unit 603, and a minority precision motion vector detection unit 701 are included.

なお、本実施の形態7による動きベクトル検出装置は、少数精度動きベクトル検出部702が絶対差分誤差和を計算する絶対差分誤差和演算部を2つ搭載し、処理対象ブロックに対する2つ分の少数精度参照ブロックのブロックマッチングを同時に行う点においてのみ、前述した実施の形態6による動きベクトル検出装置と相違する。そのため、前述した実施の形態6による動きベクトル検出装置と同様の構成要素については同じ符号を付し、説明を省略する。   Note that the motion vector detection device according to the seventh embodiment includes two absolute difference error sum calculation units in which the decimal precision motion vector detection unit 702 calculates the absolute difference error sum, and the two small numbers corresponding to the processing target block. The only difference from the motion vector detection apparatus according to the sixth embodiment is that block matching of the accuracy reference block is performed simultaneously. Therefore, the same components as those in the motion vector detection device according to the sixth embodiment described above are denoted by the same reference numerals, and description thereof is omitted.

以下に、本発明の実施の形態7による動きベクトル検出装置による少数精度動きベクトル検出処理について説明する。
前記実施の形態1において説明したように、第2のアドレス生成部105は、処理対象ブロック、及び参照ブロックに対して市松模様にサブサンプリングした画素データのアドレスを発生する。
Hereinafter, the small-precision motion vector detection processing by the motion vector detection device according to the seventh embodiment of the present invention will be described.
As described in the first embodiment, the second address generation unit 105 generates pixel data addresses that are subsampled in a checkered pattern with respect to the processing target block and the reference block.

しかし、本実施の形態7による補間画素生成部601において、第2の記憶部104から出力される市松模様にサブサンプリングされた処理対象ブロックの画素データに対応する半画素精度参照ブロックを生成するためには、前記実施の形態6で説明したように参照ブロックを構成する全画素データ、及びその周辺の一画素分の画素データを読込む必要がある。   However, in the interpolated pixel generation unit 601 according to the seventh embodiment, a half-pixel precision reference block corresponding to the pixel data of the processing target block subsampled into a checkered pattern output from the second storage unit 104 is generated. In this case, as described in the sixth embodiment, it is necessary to read all pixel data constituting the reference block and pixel data of one pixel around the pixel data.

そこで、補間画素生成部601は、第1の記憶部103から読込んだ参照ブロックを構成する全画素データ、及びその周辺の一画素分のデータを用いて、市松模様にサンプリングされた処理対象ブロックと対応する2つの半画素精度処理対象ブロック、例えば、整数精度の参照ブロックから上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、右斜め下と左斜め下にそれぞれ半画素分ずれた2つ半画素精度参照ブロックの少数精度画素のデータを生成し、少数精度動きベクトル検出部701に出力する。   Therefore, the interpolation pixel generation unit 601 uses the entire pixel data constituting the reference block read from the first storage unit 103 and the data for one pixel around the pixel block, and the processing target block sampled in a checkerboard pattern. 2 corresponding half-pixel precision processing blocks, for example, upper and lower, left and right, upper right and lower right, upper left and lower left, upper left and lower left, upper right and upper left, Data of the minority precision pixels of the two half-pixel precision reference blocks that are shifted by half a pixel respectively to the lower right and the lower left are generated and output to the minority motion vector detection unit 701.

なお、このとき、整数精度の参照ブロックから、例えば上下に半画素分ずれた少数精度の参照ブロックの画素データは、少数精度の参照ブロックを構成する画素列の上端列及び下端列の画素データがそれぞれ異なるのみであり、それ以外の重複部分は同じ値を用いることができる。そのため、補間画素生成部601のデータ処理量を軽減することができる。これは、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、右斜め下と左斜め下にそれぞれ半画素分ずれた2つ半画素精度参照ブロックの少数精度画素のデータを生成するときも同様である。   At this time, for example, the pixel data of the minority reference block shifted from the integer precision reference block by half a pixel up and down, for example, the pixel data of the upper end column and the lower end column of the pixel column constituting the minority precision reference block. They are different from each other, and the same values can be used for other overlapping portions. Therefore, the data processing amount of the interpolation pixel generation unit 601 can be reduced. This is two half-pixel accuracy, shifted left and right, diagonally right and diagonally up and down, diagonally diagonally up and down diagonally left, diagonally right and diagonally up and diagonally down diagonally. The same applies when generating data of the minority precision pixels of the reference block.

以下に、少数精度動きベクトル検出部701に構成について、図24を用いて説明する。
図24は、本発明の実施の形態7による動きベクトル検出装置の少数精度動きベクトル検出部701の構成を説明するブロック図である。図において、少数精度動きベクトル検出部701は、第1の絶対差分誤差和演算部71と、第2の絶対差分誤差和演算部72と、動きベクトル生成部73とからなる。
Hereinafter, the configuration of the minority precision motion vector detection unit 701 will be described with reference to FIG.
FIG. 24 is a block diagram illustrating the configuration of the small-precision motion vector detection unit 701 of the motion vector detection device according to the seventh embodiment of the present invention. In the figure, the minority precision motion vector detection unit 701 includes a first absolute difference error sum calculation unit 71, a second absolute difference error sum calculation unit 72, and a motion vector generation unit 73.

第1の絶対差分誤差和演算部71、及び第2の絶対差分誤差和演算部72は、ともに、市松模様にサブサンプリングされた処理対象ブロックの画素データと、当該処理対象ブロックの画素データに対応する半画素精度の参照ブロックの画素データを用いて、処理対象ブロック、及び半画素精度参照ブロックを構成する画素データの絶対値の差分の和である絶対差分誤差和を求める演算部である。   Both the first absolute difference error sum calculation unit 71 and the second absolute difference error sum calculation unit 72 correspond to the pixel data of the processing target block subsampled in a checkered pattern and the pixel data of the processing target block. The calculation unit calculates an absolute difference error sum that is a sum of differences between absolute values of pixel data constituting the processing target block and the half-pixel accuracy reference block, using the pixel data of the half-pixel accuracy reference block.

動きベクトル生成部73は、第1の絶対差分誤差和演算部71、及び第2の絶対差分誤差和演算部72により演算された、処理対象ブロックに対して絶対差分誤差和が小さくなる少数精度の参照ブロックの位置から動きベクトルを生成する。   The motion vector generation unit 73 is calculated by the first absolute difference error sum calculation unit 71 and the second absolute difference error sum calculation unit 72 and has a small precision with which the absolute difference error sum is reduced with respect to the processing target block. A motion vector is generated from the position of the reference block.

例えば、少数精度動きベクトル検出部701により、市松模様にサブサンプリングされた処理対象ブロックに対して左右に半画素分ずれた2つの半画素精度の参照ブロックについてのブロックマッチングを行なう場合には、補間画素生成部601から左側に半画素ずれた半画素精度の処理対象ブロックの画素データ、及び処理対象ブロックの画素データが第1の絶対差分誤差和演算部71に入力され、右側に半画素ずれた半画素精度の処理対象ブロックの画素データ、処理対象ブロックの画素データが第2の絶対差分誤差和演算部71に入力される。   For example, when block matching is performed by the minority precision motion vector detection unit 701 on two half pixel precision reference blocks shifted by half a pixel to the left and right with respect to the processing target block subsampled in a checkered pattern, interpolation is performed. The pixel data of the processing target block with half-pixel accuracy shifted by a half pixel to the left from the pixel generation unit 601 and the pixel data of the processing target block are input to the first absolute difference error calculating unit 71 and shifted by a half pixel to the right The pixel data of the processing target block with half pixel accuracy and the pixel data of the processing target block are input to the second absolute difference error sum calculation unit 71.

第1の絶対差分誤差和演算部71、及び第2の絶対差分誤差和演算部72では、市松模様にサブサンプリングされた処理対象ブロックに対して右側、及び左側に半画素分ずれた少数精度の参照ブロックの絶対差分誤差和がそれぞれ演算され、動きベクトル生成部73に出力される。   In the first absolute difference error sum calculation unit 71 and the second absolute difference error sum calculation unit 72, a small-precision accuracy shifted by half a pixel on the right side and the left side with respect to the processing target block subsampled in a checkered pattern. The absolute difference error sum of the reference block is calculated and output to the motion vector generation unit 73.

動きベクトル生成部73は、第1の絶対差分誤差和演算部71、及び第2の絶対差分誤差和演算部72から出力された絶対差分誤差和を比較し、絶対差分誤差和の値が小さい方の少数精度の参照ブロックに対する動きベクトルを検出する。   The motion vector generation unit 73 compares the absolute difference error sums output from the first absolute difference error sum calculation unit 71 and the second absolute difference error sum calculation unit 72, and the one with the smaller absolute difference error sum value. A motion vector for a reference block with a small number of precision is detected.

このように、サブサンプリングを行った処理対象ブロックに対して、少数精度の動きベクトルの検出に用いる少数精度の補間画素を生成するために第1の記憶部103内に記憶された参照ブロックを構成する全画素データを読み出した場合であっても、少数精度動きベクトル検出部701が絶対差分誤差和演算部を2つ搭載し、補間画素生成部601が2つの半画素精度参照ブロックを同時生成することにより、上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、右斜め下と左斜め下等に半画素分ずれた2つ半画素精度処理対象ブロックの絶対差分誤差和の演算処理を同時に行うことができ、補間画素生成部601の処理量を軽減することができるとともに、第1の記憶部103から読み出すデータ量を軽減することができ、処理速度を向上することができるとともに、消費電力の削減につながる。   In this way, a reference block stored in the first storage unit 103 is configured to generate a small-precision interpolation pixel used for detection of a small-precision motion vector with respect to the processing target block subjected to sub-sampling. Even when all the pixel data to be read are read out, the small-precision motion vector detection unit 701 is equipped with two absolute difference error sum calculation units, and the interpolation pixel generation unit 601 generates two half-pixel accuracy reference blocks simultaneously. 2 and a half shifted by half a pixel, such as up and down, left and right, right up and down right, left up and down left, right up and left up, right down and left down The calculation processing of the absolute difference error sum of the pixel accuracy processing target block can be performed simultaneously, the processing amount of the interpolation pixel generation unit 601 can be reduced, and the amount of data read from the first storage unit 103 can be reduced Rukoto can, it is possible to improve the processing speed, leading to reduction in power consumption.

なお、本発明の実施の形態7による動きベクトル検出装置では、第2のアドレス生成部105が処理対象ブロックに対して市松模様となるように画素のアドレスを生成するものについて説明したが、これに限定されず、例えば、第2のアドレス生成部105が処理対象ブロックを構成する全ての画素のアドレスを生成するもの等、第2のアドレス生成部105が生成する画素アドレスの方式には限定されない。   In the motion vector detection device according to the seventh embodiment of the present invention, the second address generation unit 105 generates the pixel address so that the processing target block has a checkerboard pattern. For example, the second address generation unit 105 is not limited to the pixel address method generated by the second address generation unit 105, such as one in which the second address generation unit 105 generates addresses of all the pixels constituting the processing target block.

(実施の形態8)
以下、本発明の実施の形態8による動きベクトル検出装置について、図12、図25、図26を用いて説明する。
図25は、本発明の実施の形態8による動きベクトル検出装置の構成の一例を示すブロック図である。図25において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部106と、転送ルール保持部401と、転送ルール検出部402と、探索可否条件保持部801と、探索可否条件検出部802とからなる。
(Embodiment 8)
Hereinafter, a motion vector detection apparatus according to an eighth embodiment of the present invention will be described with reference to FIGS.
FIG. 25 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 8 of the present invention. In FIG. 25, the motion vector detection apparatus includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, It includes an integer precision motion vector detection unit 106, a transfer rule holding unit 401, a transfer rule detection unit 402, a search availability condition holding unit 801, and a search availability condition detection unit 802.

なお、本実施の形態8による動きベクトル検出装置は、第2のアドレス生成部105が探索可否条件検出部802により検出された探索可否条件に基づいて、第1の記憶部103から出力する参照ブロックの画素データのアドレスを生成する点においてのみ、前述した実施の形態4による動きベクトル検出装置と相違する。そのため、前述した実施の形態4による動きベクトル検出装置と同様の構成要素については同じ符号を付し、説明を省略する。   Note that the motion vector detection apparatus according to the eighth embodiment uses the reference block output from the first storage unit 103 based on the search availability condition detected by the second address generation unit 105 by the search availability condition detection unit 802. Only in the point that the address of the pixel data is generated is different from the motion vector detection apparatus according to the fourth embodiment described above. Therefore, the same components as those in the motion vector detection device according to the fourth embodiment described above are denoted by the same reference numerals, and description thereof is omitted.

探索可否条件保持部801は、領域判定コードと探索を行うことができる位置か否かを判断するための条件である探索可否条件とを対にして保持する。
探索可否条件検出部802は、第1のアドレス生成部102により出力された領域判定コードに基づき探索可否条件保持部801から探索可否条件を検出し、第2のアドレス生成部105に出力する。
なお、領域判定コードは、前記本発明の実施の形態4において、図12を用いて説明した領域判定コードと同様であるため、説明を省略する。
The search availability condition holding unit 801 holds a pair of an area determination code and a search availability condition, which is a condition for determining whether or not the position can be searched.
The search enable / disable condition detection unit 802 detects the search enable / disable condition from the search enable / disable condition holding unit 801 based on the area determination code output by the first address generation unit 102, and outputs the search enable / disable condition to the second address generation unit 105.
The region determination code is the same as the region determination code described with reference to FIG. 12 in the fourth embodiment of the present invention, and a description thereof will be omitted.

以下に、本発明の実施の形態8による動きベクトル検出装置の第2のアドレス生成部105による参照ブロックの画素データのアドレス生成処理について、図25、図26を用いて説明する。   Hereinafter, reference address pixel pixel address generation processing by the second address generation unit 105 of the motion vector detection device according to the eighth embodiment of the present invention will be described with reference to FIGS. 25 and 26. FIG.

図26(a)は、探索可否条件保持部801内に格納されている領域判定コードと探索可否条件の一例を示す図である。これは、図26(b)に示すように、右方向を正とする横軸をx軸、下方向を正とする縦軸をy軸とし、画素pの位置を原点とした場合の探索可否条件保持部801が保持する探索可否条件を示したものである。なお、図26(a)に示された領域可否条件は、探索を行うことができる領域を示したものである。   FIG. 26A is a diagram illustrating an example of the area determination code and the search enable / disable condition stored in the search enable / disable condition holding unit 801. As shown in FIG. 26 (b), whether the search is possible when the horizontal axis with the right direction as positive is the x axis, the vertical axis with the down direction is positive is the y axis, and the position of the pixel p is the origin. The search availability condition held by the condition holding unit 801 is shown. Note that the area availability condition shown in FIG. 26A indicates an area where a search can be performed.

第1のアドレス生成部102より領域判定コードが探索可否条件検出部802に出力されると、探索可否条件検出部802は、探索可否条件保持部801内から当該領域判定コードに対応する探索可否条件を検出し、第2のアドレス生成部105に出力する。   When the area determination code is output from the first address generation unit 102 to the search availability condition detection unit 802, the search availability condition detection unit 802 searches the availability condition search unit 802 for the search availability condition corresponding to the area determination code. Is output to the second address generation unit 105.

第2のアドレス生成部105は、探索可否条件検出部802から出力された探索可否条件に基づいて、第1の記憶部103から出力する画素データのアドレスを生成する。   The second address generation unit 105 generates the address of the pixel data output from the first storage unit 103 based on the search availability condition output from the search availability condition detection unit 802.

次に、本発明の実施の形態8による動きベクトル検出装置の具体例について説明する。
例えば、第1のアドレス生成部102より出力された領域判定コードが「0000」の場合には、探索可否条件検出部802は、探索可否条件保持部801から探索可否条件である(−16≦x≦15、−16≦y≦15)を検出し、第2のアドレス生成部105に出力する。
Next, a specific example of the motion vector detection device according to the eighth embodiment of the present invention will be described.
For example, when the region determination code output from the first address generation unit 102 is “0000”, the search availability condition detection unit 802 is a search availability condition from the search availability condition holding unit 801 (−16 ≦ x ≦ 15, −16 ≦ y ≦ 15) is detected and output to the second address generator 105.

第2のアドレス生成部105は、前記探索可否条件検出部802もより検出された探索可否条件を用い、−16≦x≦15、−16≦y≦15の範囲内となるように画素アドレスを生成する。   The second address generation unit 105 uses the search enable / disable condition detected by the search enable / disable condition detection unit 802, and sets the pixel address so that it falls within the range of −16 ≦ x ≦ 15 and −16 ≦ y ≦ 15. Generate.

なお、領域判定コードが「0001」「0010」「0100」「0101」「0110」「1000」「1001」「1010」の場合についても、前述した領域判定コードが「0000」の場合と同様であるため説明を省略する。   The case where the area determination code is “0001” “0010” “0100” “0101” “0110” “1000” “1001” “1010” is the same as the case where the area determination code is “0000”. Therefore, explanation is omitted.

このように、探索可否条件検出部802が探索可否条件保持部801から領域判定コードを用いて、探索可否条件を検出し、当該探索可否条件に基づき第2のアドレス生成部105が第1の記憶部103から出力する画素データのアドレスを生成することにより、有効な探索を行なうことができる領域の画素アドレスを正確に生成することができ、無駄な探索処理を行なうことなく高速に処理を行うことができる。   As described above, the search availability condition detection unit 802 detects the search availability condition using the region determination code from the search availability condition holding unit 801, and the second address generation unit 105 performs the first storage based on the search availability condition. By generating the address of the pixel data output from the unit 103, it is possible to accurately generate the pixel address of an area where effective search can be performed, and to perform processing at high speed without performing useless search processing Can do.

(実施の形態9)
以下、本発明の実施の形態9による動きベクトル検出装置について、図27を用いて説明する。
図27は、本発明の実施の形態9による動きベクトル検出装置の構成の一例を示すブロック図である。図27において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部105と、整数精度動きベクトル検出部106と、転送ルール保持部401と、転送ルール検出部402と、補間画素生成部601と、少数精度動きベクトル検出部602と、読み出し方向決定部603と、探索可否条件保持部801と、探索可否条件検出部802とからなる。
(Embodiment 9)
Hereinafter, a motion vector detection apparatus according to Embodiment 9 of the present invention will be described with reference to FIG.
FIG. 27 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 9 of the present invention. In FIG. 27, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 105, Integer accuracy motion vector detection unit 106, transfer rule holding unit 401, transfer rule detection unit 402, interpolation pixel generation unit 601, minority accuracy motion vector detection unit 602, readout direction determination unit 603, and search availability condition holding Section 801 and search enable / disable condition detection section 802.

なお、本発明の実施の形態9は、前記本実施の形態8における動きベクトル検出装置の整数精度動きベクトル検出時に用いられる探索可否条件保持部801と探索可否条件検出部802を、少数精度動きベクトルの検出時にも用いるものであり、整数精度動きベクトル検出時、及び少数精度動きベクトル検出時に、それぞれ探索可否条件検出部802により探索可否条件を検出し、第2のアドレス生成部105が、当該探索可否条件検出部802により検出された探索可否条件を用いて画素アドレスを生成するものである。なお、各構成要素は、前記実施の形態6及び8で説明した動きベクトル検出装置と同様であるため、説明を省略する。   In the ninth embodiment of the present invention, the search availability condition holding unit 801 and the search availability condition detection unit 802 used when detecting the integer precision motion vector of the motion vector detection apparatus according to the eighth embodiment are provided with a decimal precision motion vector. When the integer precision motion vector is detected and the decimal precision motion vector is detected, the search availability condition detection unit 802 detects the search availability condition, and the second address generation unit 105 performs the search. The pixel address is generated using the search availability condition detected by the availability condition detection unit 802. Each component is the same as that of the motion vector detection device described in the sixth and eighth embodiments, and a description thereof will be omitted.

このように、整数精度動きベクトル検出に用いられる探索可否条件保持部801と探索可否条件検出部802を、少数精度動きベクトル検出にも併用することにより、回路規模の縮小を図るとともに、製造コスト削減につながる。   As described above, the search availability condition holding unit 801 and the search availability condition detection unit 802 used for integer precision motion vector detection are also used for the decimal precision motion vector detection, thereby reducing the circuit scale and reducing the manufacturing cost. Leads to.

(実施の形態10)
以下、本発明の実施の形態10による動きベクトル検出装置について、図28を用いて説明する。
図28は、本発明の実施の形態10による動きベクトル検出装置の構成の一例を示すブロック図である。図28において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部905と、整数精度動きベクトル検出部106と、転送ルール保持部401と、転送ルール検出部402と、補間画素生成部601と、少数精度動きベクトル検出部602と、読み出し方向決定部603と、探索可否条件保持部801と、探索可否条件検出部802とからなる。
(Embodiment 10)
Hereinafter, a motion vector detection apparatus according to Embodiment 10 of the present invention will be described with reference to FIG.
FIG. 28 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 10 of the present invention. In FIG. 28, the motion vector detection device includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 905, Integer accuracy motion vector detection unit 106, transfer rule holding unit 401, transfer rule detection unit 402, interpolation pixel generation unit 601, minority accuracy motion vector detection unit 602, readout direction determination unit 603, and search availability condition holding Section 801 and search enable / disable condition detection section 802.

なお、本発明の実施の形態10における動きベクトル検出装置は、整数精度動きベクトル検出時に、探索可否条件検出部802により検出された探索可否条件を用いて、整数精度の動きベクトル探索を行い、整数精度の動きベクトルを検出する。その後、少数精度動きベクトルの検出を行う場合には、前記整数精度動きベクトル検出時の探索可否の結果を用いて少数精度の動きベクトル検出を行うものである。なお、各構成要素は、前記実施の形態6及び8で説明した動きベクトル検出装置と同様であるため、説明を省略する。   Note that the motion vector detection apparatus according to the tenth embodiment of the present invention performs an integer precision motion vector search using the search availability condition detected by the search availability condition detection unit 802 when detecting an integer precision motion vector. Detect motion vectors with accuracy. Thereafter, when detecting a small-precision motion vector, a small-precision motion vector is detected using the result of the search availability at the time of detecting the integer-precision motion vector. Each component is the same as that of the motion vector detection device described in the sixth and eighth embodiments, and a description thereof will be omitted.

第2のアドレス生成部905は、探索可否条件検出部802により検出された探索可否条件に基づいて、整数精度動きベクトル検出に用いる画素データのアドレスを生成すると共に、整数精度動きベクトル検出時に探索を行うことができたか否かの情報である、探索可否データを各参照ブロック位置毎に保持する。また、整数精度の動きベクトル検出後、少数精度動きベクトル検出を行う場合には、当該探索可否データを用いて少数精度の動きベクトル検出時の探索可否を判断する。   The second address generation unit 905 generates an address of pixel data used for integer precision motion vector detection based on the search availability condition detected by the search availability condition detection unit 802, and performs a search when detecting the integer precision motion vector. Search enable / disable data, which is information indicating whether or not it has been performed, is held for each reference block position. Further, in the case of detecting a small-precision motion vector after detecting an integer-precision motion vector, the search availability at the time of detecting a small-precision motion vector is determined using the search availability data.

以下に、本発明の実施の形態10による動きベクトル検出装置の動作について図29を用いて説明する。
図29は、整数精度動きベクトル検出時の動きベクトル探索の一例を示したものであり、特定位置における参照ブロック(中心に位置するブロック)から上下左右に一画素分ずれた位置における参照ブロック(図中、点線で表わす)の位置を示す図である。なお、本発明の実施の形態10による動きベクトル検出装置の整数精度動きベクトル検出は、図29に示すような位置関係にある参照ブロックのうち、中心に位置する参照ブロックの絶対差分誤差和が最小となった場合に、当該参照ブロック位置を整数精度の動きベクトル検出の対象位置とするものである。
The operation of the motion vector detection device according to the tenth embodiment of the present invention will be described below with reference to FIG.
FIG. 29 shows an example of a motion vector search at the time of detecting an integer precision motion vector, and a reference block at a position shifted by one pixel vertically and horizontally from a reference block at a specific position (a block located at the center) (FIG. It is a figure which shows the position of (it represents with a dotted line). It should be noted that the integer precision motion vector detection of the motion vector detection device according to the tenth embodiment of the present invention has the smallest absolute difference error sum of the reference block located at the center among the reference blocks in the positional relationship as shown in FIG. In this case, the reference block position is set as a target position for integer vector motion vector detection.

第2のアドレス生成部905は、整数精度動きベクトル検出時に、この動きベクトル検出の対象位置の上下左右に位置する参照ブロックの探索の可否を4ビットからなる探索可否データとして保持する。具体的には、例えば、図29に示すように左端ビットから上下左右の位置を表わすものとし、探索を行うことができなかった参照ブロック位置のビットを「1」、探索を行うことができた参照ブロック位置のビットを「0」として保持する。   When detecting an integer precision motion vector, the second address generation unit 905 holds whether or not a reference block located at the top, bottom, left, and right of this motion vector detection target position can be searched as 4-bit search enable / disable data. Specifically, for example, as shown in FIG. 29, it is assumed that the position of the top, bottom, left, and right from the left end bit is represented, and the bit of the reference block position where the search could not be performed is “1”, and the search could be performed. The bit at the reference block position is held as “0”.

これにより、整数精度の動きベクトル探索終了後、さらに正確な動きベクトルを求めるために、整数精度の動きベクトル検出時に探索を行った領域の範囲内で少数精度の動きベクトル探索を行う場合にでも、第2のアドレス生成部905は、前記4ビットからなる探索可否データに基づいて、第1の記憶部103から出力する画素アドレスを生成することができる。これにより、少数精度の動きベクトルの検出時に改めて探索可否条件の検出を行うことなく、探索の可否を判断することができ、処理速度の向上を図ることができる。また、整数精度の動きベクトル検出時の探索結果を少数精度動きベクトル検出時にも用いるため、回路規模の縮小を図るとともに、製造コスト削減につながる。   In this way, after performing an integer-precision motion vector search, in order to obtain a more accurate motion vector, even when performing a decimal-precision motion vector search within the range of the area searched when detecting an integer-precision motion vector, The second address generation unit 905 can generate a pixel address output from the first storage unit 103 based on the search enable / disable data consisting of the 4 bits. Thereby, it is possible to determine whether or not the search is possible without newly detecting the search availability condition when detecting the motion vector with a small number of precision, and the processing speed can be improved. Further, since the search result at the time of detecting an integer precision motion vector is also used at the time of detecting a decimal precision motion vector, the circuit scale can be reduced and the manufacturing cost can be reduced.

(実施の形態11)
以下、本発明の実施の形態11による動きベクトル検出装置について、図30を用いて説明する。
図30は、本発明の実施の形態11による動きベクトル検出装置とその周辺の構成の一例を示すブロック図である。図30において、動きベクトル検出装置は、データ保持部101と、第1のアドレス生成部102と、第1の記憶部103と、第2の記憶部104と、第2のアドレス生成部1005と、整数精度動きベクトル検出部106と、探索実行可否決定部1001とからなる。なお、前記実施の形態1で説明した動きベクトル検出装置を構成する各構成要素の内、同一のものについては、同一の符号を付し、説明を省略する。
(Embodiment 11)
Hereinafter, a motion vector detection apparatus according to Embodiment 11 of the present invention will be described with reference to FIG.
FIG. 30 is a block diagram showing an example of the configuration of a motion vector detection device according to Embodiment 11 of the present invention and its periphery. In FIG. 30, the motion vector detection apparatus includes a data holding unit 101, a first address generation unit 102, a first storage unit 103, a second storage unit 104, a second address generation unit 1005, It consists of an integer precision motion vector detection unit 106 and a search execution possibility determination unit 1001. It should be noted that among the constituent elements constituting the motion vector detection device described in the first embodiment, the same reference numerals are given and the description thereof is omitted.

探索実行可否決定部1001は、前回の動きベクトル検出で検出された動きベクトルを保持するとともに、整数精度動きベクトル検出部106により算出された絶対差分誤差と特定の閾値とを比較することにより探索実行の可否を決定する。   The search execution feasibility determining unit 1001 holds the motion vector detected by the previous motion vector detection and compares the absolute difference error calculated by the integer precision motion vector detection unit 106 with a specific threshold value to execute the search. Determine whether or not.

第2のアドレス生成部1005は、第1の記憶手段103、及び第2の記憶手段104から出力するデータのアドレスを生成すると共に、第1の記憶手段103から動きベクトル検出位置での画素データを整数精度動きベクトル検出部106をスルーして外部に出力するためのスルーパスを与える。   The second address generation unit 1005 generates addresses of data output from the first storage unit 103 and the second storage unit 104, and also outputs pixel data at the motion vector detection position from the first storage unit 103. A through path for passing through the integer precision motion vector detection unit 106 and outputting it to the outside is provided.

次に、本発明の実施の形態11による動きベクトル検出装置の動作について説明する。
第2のアドレス生成部1005は、探索実行可否決定部1001が保持する前回の探索で検出された動きベクトルを用いて、第1の記憶部103より出力する画素データ、及び第2の記憶部104より出力する画素データのアドレスを生成する。
Next, the operation of the motion vector detection device according to the eleventh embodiment of the present invention will be described.
The second address generation unit 1005 uses the motion vector detected in the previous search held by the search execution availability determination unit 1001 and the pixel data output from the first storage unit 103 and the second storage unit 104. An address of pixel data to be output is generated.

即ち、一般的に検出される動きベクトルは、探索を行った処理対象ブロックの周辺では、ほとんど変化が見られないことが多いため、第2アドレス生成部1005は、まず、可能性の高い位置(たとえば、直前に探索したブロックの動きベクトルと同位置)の参照ブロックに対してブロックマッチングするように画素データのアドレスを生成する。   That is, since the motion vector that is generally detected hardly changes in the vicinity of the processing target block that has been searched, the second address generation unit 1005 first determines the position ( For example, the address of the pixel data is generated so as to perform block matching with respect to a reference block at the same position as the motion vector of the block searched immediately before.

整数精度動きベクトル検出部106は、第2のアドレス生成部105により第1の記憶部103から読み出された参照ブロックの画素データ、及び第2の記憶部104から読み出された処理対象ブロックの画素データとを入力として、当該処理対象ブロックと参照ブロックとの絶対差分誤差和計算し、探索実行可否決定部1001に出力する。   The integer precision motion vector detection unit 106 includes the pixel data of the reference block read from the first storage unit 103 by the second address generation unit 105 and the processing target block read from the second storage unit 104. Using the pixel data as an input, the absolute difference error sum between the processing target block and the reference block is calculated and output to the search execution feasibility determining unit 1001.

この探索実行可否決定部1001では、整数精度動きベクトル検出部106により算出された絶対差分誤差が特定の閾値以下であるか否かが判断され、特定の閾値以下であれば、第2のアドレス生成部1005が前回の探索で検出された動きベクトルを用いて決定した参照ブロックの位置を動きベクトル検出位置と決定し、動きベクトルの探索処理を終了する。
一方、絶対差分誤差が特定の閾値以上の場合には、その後、他の参照ブロックに対して動きベクトル探索処理を実行するように第2のアドレス生成部1005に出力する。
In this search execution feasibility determination unit 1001, it is determined whether or not the absolute difference error calculated by the integer precision motion vector detection unit 106 is equal to or less than a specific threshold value. The position of the reference block determined by the unit 1005 using the motion vector detected in the previous search is determined as the motion vector detection position, and the motion vector search process ends.
On the other hand, if the absolute difference error is greater than or equal to a specific threshold value, it is output to the second address generation unit 1005 so as to execute a motion vector search process for another reference block.

このように、動きベクトルが検出される可能性の高い位置(たとえば、直前に探索したブロックの動きベクトルと同位置)の参照ブロックに対してブロックマッチングを行い、そのマッチング結果(絶対差分誤差和)により、その後の探索実行の可否を判断することにより、処理速度の向上や消費電力の削減を図ることができる。   In this way, block matching is performed on a reference block at a position where a motion vector is likely to be detected (for example, the same position as the motion vector of the block searched immediately before), and the matching result (absolute difference error sum) Thus, it is possible to improve processing speed and reduce power consumption by determining whether or not subsequent search execution is possible.

また、この際、前記の判断の結果、動きベクトル探索を実行しない場合には、動きベクトル検出処理以降で用いる画素データとしては、第1の記憶部103に格納されている参照ブロック中で、前回の探索で検出された動きベクトル位置で示されている画素データが必要となる。   At this time, if the motion vector search is not executed as a result of the above determination, the pixel data used in the motion vector detection process and thereafter is used as the previous reference block stored in the first storage unit 103. The pixel data indicated by the motion vector position detected in the search is required.

そのため、本実施の形態11の動きベクトル検出装置では、探索実行可否決定部1001により、第2のアドレス生成部1005に対して、前回の探索で検出された動きベクトル位置の画素データを整数精度動きベクトル検出部106をスルーして外部に出力するためのパスであるスルーパスを与える旨の指示が出力され、第2のアドレス生成部1005は、第1の記憶部にスルーパスを与え、格納されている参照ブロックの画素データを整数精度動きベクトル検出部106をスルーして外部装置に出力する。   Therefore, in the motion vector detection device according to the eleventh embodiment, the search execution availability determination unit 1001 causes the second address generation unit 1005 to obtain pixel data at the motion vector position detected in the previous search as an integer precision motion. An instruction to give a through path, which is a path for passing through the vector detection unit 106 and outputting to the outside, is output, and the second address generation unit 1005 gives a through path to the first storage unit and is stored. The pixel data of the reference block is output through the integer precision motion vector detection unit 106 to the external device.

このように、前回の動きベクトル探索で検出された動きベクトルを用いる場合であっても、第2のアドレス生成部1005によりスルーパスを与えることにより、動きベクトル検出処理以降で用いる、前回の探索で検出された動きベクトル位置で示されている画素データを外部装置に出力することができる。   As described above, even when the motion vector detected in the previous motion vector search is used, the second address generation unit 1005 provides a through path to detect the previous motion vector used after the motion vector detection process. Pixel data indicated by the determined motion vector position can be output to an external device.

なお、本発明の実施の形態11による動きベクトル検出装置では、動きベクトルを検出する手段として、整数性どの動きベクトルを検出する整数精度動きベクトル検出部106のみを有するものについて説明したが、これに限定されず、少数精度の動きベクトルを検出するための、少数精度の画素データを生成する補間画素生成部と、前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とをさらに具備するものであってもよい。   In the motion vector detection device according to the eleventh embodiment of the present invention, the motion vector detecting means has been described as having only the integer precision motion vector detection unit 106 for detecting which motion vector is an integer. Without limitation, an interpolation pixel generation unit that generates pixel data with minority precision for detecting a motion vector with minority precision, data output from the interpolation pixel generation unit, and output from the second storage unit It may further comprise a minority precision motion vector detection unit that detects a minority precision motion vector from the data.

(実施の形態12)
また、本発明の動きベクトル検出装置は、前記実施の形態1から実施の形態11以外にも、前記実施の形態1から実施の形態11の内の少なくとも2つ以上を組み合わせたものであってもよく、前記実施の形態1から実施の形態11のそれぞれの効果と同様の効果を得ることができる。
(Embodiment 12)
In addition to the first to eleventh embodiments, the motion vector detection device of the present invention may be a combination of at least two of the first to eleventh embodiments. The effects similar to those of the first to eleventh embodiments can be obtained.

本発明にかかる動きベクトル検出装置によれば、動きベクトル検出処理の高速化、及び低電力化を図ることができるため大変有用である。   The motion vector detection apparatus according to the present invention is very useful because the motion vector detection process can be speeded up and the power consumption can be reduced.

本発明の実施の形態1による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 1 of this invention. 本発明の実施の形態1による第2のアドレス生成部の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd address generation part by Embodiment 1 of this invention. 本発明の実施の形態1による第2のアドレス生成部がサブサンプリングを行うマクロブロックの一例を示す図であるIt is a figure which shows an example of the macroblock which the 2nd address generation part by Embodiment 1 of this invention performs a subsampling. 本発明の実施の形態1による第2のアドレス生成部の画素データのアドレス生成処理を説明するためのフローチャートである。It is a flowchart for demonstrating the address generation process of the pixel data of the 2nd address generation part by Embodiment 1 of this invention. 本発明の実施の形態2による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 2 of this invention. 本発明の実施の形態2による動きベクトル検出部の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection part by Embodiment 2 of this invention. 本発明の実施の形態2による整数精度動きベクトル検出部の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the integer precision motion vector detection part by Embodiment 2 of this invention. 本発明の実施の形態3による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 3 of this invention. 本発明の実施の形態3における動きベクトル検出装置による動きベクトル探索処理の一例を説明するための説明図である。It is explanatory drawing for demonstrating an example of the motion vector search process by the motion vector detection apparatus in Embodiment 3 of this invention. 本発明の実施の形態3による探索履歴保持部内のデータ構造を示す図である。It is a figure which shows the data structure in the search log | history holding part by Embodiment 3 of this invention. 本発明の実施の形態4による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 4 of this invention. 領域判定コードを説明するための説明図である。It is explanatory drawing for demonstrating an area | region determination code. 本発明の実施の形態4による転送ルール保持部内に格納されている領域判定コードと転送ルールの一例を示す図である。It is a figure which shows an example of the area | region determination code and the transfer rule stored in the transfer rule holding | maintenance part by Embodiment 4 of this invention. 参照領域データの画素アドレスの一例を示す図である。It is a figure which shows an example of the pixel address of reference area data. 本発明の実施の形態5による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 5 of this invention. 本発明の実施の形態5による第1の記憶部のメモリ構造を説明するための説明図である。It is explanatory drawing for demonstrating the memory structure of the 1st memory | storage part by Embodiment 5 of this invention. 本発明の実施の形態5による第1の記憶部内のデータ処理を説明するための説明図である。It is explanatory drawing for demonstrating the data processing in the 1st memory | storage part by Embodiment 5 of this invention. 領域判定コードと、第1の記憶部が新たに読込むデータ、及び第1の記憶部内でコピーするデータとの対応を示す図である。It is a figure which shows a response | compatibility with the area | region determination code, the data newly read by the 1st memory | storage part, and the data copied in a 1st memory | storage part. 本発明の実施の形態6による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 6 of this invention. 本発明の実施の形態6による補間画素生成部を説明するための説明図である。It is explanatory drawing for demonstrating the interpolation pixel production | generation part by Embodiment 6 of this invention. 本発明の実施の形態6による補間画素生成部による半画素データの生成を説明するための説明図である。It is explanatory drawing for demonstrating the production | generation of the half pixel data by the interpolation pixel production | generation part by Embodiment 6 of this invention. 本発明の実施の形態6による補間画素生成部による半画素データの生成を説明するための説明図である。It is explanatory drawing for demonstrating the production | generation of the half pixel data by the interpolation pixel production | generation part by Embodiment 6 of this invention. 本発明の実施の形態7による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 7 of this invention. 本発明の実施の形態7による少数精度動きベクトル検出部の構成を説明するブロック図である。FIG. 10 is a block diagram illustrating the configuration of a minority precision motion vector detection unit according to Embodiment 7 of the present invention. 本発明の実施の形態8による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 8 of this invention. (a)本発明の実施の形態8による探索可否条件保持部内に格納されている領域判定コードと探索可否条件の一例を示す図である。 (b)図26(a)に示した探索可否条件を説明するための説明図である。(A) It is a figure which shows an example of the area | region determination code stored in the search availability condition holding | maintenance part by Embodiment 8 of this invention, and search availability conditions. (B) It is explanatory drawing for demonstrating the search availability condition shown to Fig.26 (a). 本発明の実施の形態9による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 9 of this invention. 本発明の実施の形態10による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 10 of this invention. 整数精度動きベクトル検出時の動きベクトル探索の一例を示す図である。It is a figure which shows an example of the motion vector search at the time of integer precision motion vector detection. 本発明の実施の形態11による動きベクトル検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection apparatus by Embodiment 11 of this invention. 従来の一般的な動きベクトル検出処理を説明するための説明図である。It is explanatory drawing for demonstrating the conventional general motion vector detection process.

符号の説明Explanation of symbols

101 データ保持部
102 第1のアドレス生成部
103 第1の記憶部
104 第2の記憶部
105、905、1005 第2のアドレス生成部
106、206 整数精度動きベクトル検出部
301 探索履歴保持部
401 転送ルール保持部
402 転送ルール検出部
501 記憶データ制御部
601 補間画素生成部
602、701 少数精度動きベクトル検出部
603 読み出し方向決定部
1001 探索実行可否決定部
11 カラムカウンタ
12 ロウカウンタ
13 アドレス保持部
14 加算器
21 絶対差分誤差値計算部
22 減算器
23 カウンタ
24 絶対差分誤差和計算部
25、73 動きベクトル検出部
71 第1の絶対差分誤差和演算部
72 第2の絶対差分誤差和演算部
81 補間処理部
82 シフトレジスタ群
101 Data storage unit 102 First address generation unit 103 First storage unit 104 Second storage unit 105, 905, 1005 Second address generation unit 106, 206 Integer precision motion vector detection unit 301 Search history storage unit 401 Transfer Rule holding unit 402 Transfer rule detection unit 501 Storage data control unit 601 Interpolated pixel generation unit 602, 701 Minority precision motion vector detection unit 603 Reading direction determination unit 1001 Search execution enable / disable determination unit 11 Column counter 12 Row counter 13 Address storage unit 14 Addition 21 Absolute difference error value calculation unit 22 Subtractor 23 Counter 24 Absolute difference error sum calculation units 25 and 73 Motion vector detection unit 71 First absolute difference error sum calculation unit 72 Second absolute difference error sum calculation unit 81 Interpolation processing Part 82 Shift register group

Claims (38)

現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて動きベクトルを検出する動きベクトル検出部とを具備し、
前記動きベクトル検出部は、参照ブロックの画素データと処理対象ブロックの画素データとの画素値の差分の絶対値を順次計算して、該計算した差分の絶対値を閾値から減算して行き、減算結果が負になった場合には、処理中の参照ブロックに対する絶対差分誤差和の計算を中止することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
A motion vector detection unit that detects a motion vector using the data output from the first storage unit and the data output from the second storage unit;
The motion vector detection unit sequentially calculates the absolute value of the difference between the pixel data of the reference block pixel data and the pixel data of the processing target block, and subtracts the calculated absolute value of the difference from the threshold value. A motion vector detection apparatus, wherein, when the result becomes negative, calculation of an absolute difference error sum for a reference block being processed is stopped.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて動きベクトルを検出する動きベクトル検出部と、
前記動きベクトル検出部によって既に探索が行われた参照領域データ内の参照ブロックの探索履歴を保持する探索履歴保持部とを具備し、
前記動きベクトル検出部は、前記探索履歴保持部により保持された探索履歴が存在する参照ブロックに対しては、探索実行をスキップすることを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
A motion vector detection unit for detecting a motion vector using the data output from the first storage unit and the data output from the second storage unit;
A search history holding unit that holds a search history of reference blocks in reference area data that has already been searched by the motion vector detection unit;
The motion vector detection device skips execution of a search for a reference block in which a search history held by the search history holding unit exists.
請求項2に記載の動きベクトル検出装置において、
前記探索履歴保持部は、探索対象の位置、及びその周辺位置8ヶ所の参照ブロックに対する探索の有無を探索履歴として保持していることを特徴とする動きベクトル検出装置。
The motion vector detection device according to claim 2,
The search history holding unit holds, as a search history, the search target position and the presence / absence of a search for the reference blocks at eight peripheral positions.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて動きベクトルを検出する動きベクトル検出部と、
前記第1のアドレス生成部が前記第1の記憶部に出力する参照領域データのアドレスを生成するためのルールである転送ルールを保持する転送ルール保持部と、
画像データの有効領域を示す領域判定コードに基づいて、前記転送ルール保持部から前記転送ルールを検出し、前記第1のアドレス生成部に出力する転送ルール検出部とを具備し、
前記第1のアドレス生成部は、前記転送ルール検出部から出力された前記転送ルールに基づいて、前記第1の記憶部に出力する参照領域データのアドレスを生成することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
A motion vector detection unit for detecting a motion vector using the data output from the first storage unit and the data output from the second storage unit;
A transfer rule holding unit that holds a transfer rule that is a rule for generating an address of reference area data that the first address generation unit outputs to the first storage unit;
A transfer rule detection unit that detects the transfer rule from the transfer rule holding unit and outputs the transfer rule to the first address generation unit based on an area determination code indicating an effective area of image data;
The first address generation unit generates an address of reference area data to be output to the first storage unit based on the transfer rule output from the transfer rule detection unit. apparatus.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
データの読み込み、読み出しを同時に行うダブルバッファ構成をしているメモリであって、前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータから動きベクトルを検出する動きベクトル検出部と、
前記第1の記憶部に対する参照領域データの読み込み、及び読み出しを制御する記憶データ制御部とを具備し、
前記記憶データ制御部は、前記第1の記憶部が保持する2つのバッファメモリの内、データの読み込みが行われる一のバッファメモリに対して、読み出しが完了した他の一のバッファメモリから有効なデータを一部コピーし、前記第1の記憶部に新たに書き込むデータ量を削減することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A memory having a double buffer configuration for simultaneously reading and reading data, wherein the first storage unit holds reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
A motion vector detection unit for detecting a motion vector from the data output from the first storage unit and the data output from the second storage unit;
A storage data control unit that controls reading and reading of reference area data from and to the first storage unit;
The storage data control unit is effective for one buffer memory from which data is read out of the two buffer memories held by the first storage unit from another buffer memory that has been read. A motion vector detecting apparatus, wherein a part of data is copied and a data amount newly written to the first storage unit is reduced.
請求項1から請求項5のいずれかに記載の動きベクトル検出装置において、
前記動きベクトル検出部は、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部であることを特徴とする動きベクトル検出装置。
In the motion vector detection device according to any one of claims 1 to 5,
The motion vector detection unit is an integer accuracy motion vector detection unit that detects an integer accuracy motion vector from the data output from the first storage unit and the data output from the second storage unit. A motion vector detection device.
請求項1から請求項5のいずれかに記載の動きベクトル検出装置において、
前記動きベクトル検出部は、前記第1の記憶部からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とからなることを特徴とする動きベクトル検出装置。
In the motion vector detection device according to any one of claims 1 to 5,
The motion vector detection unit receives output data from the first storage unit as an input, an interpolation pixel generation unit that generates pixel data with a small number of precision,
A motion vector detection apparatus comprising: a minority precision motion vector detection unit for detecting a minority motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit.
請求項1から請求項5のいずれかに記載の動きベクトル検出装置において、
前記動きベクトル検出部は、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部と、
前記第1の記憶部からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とからなることを特徴とする動きベクトル検出装置。
In the motion vector detection device according to any one of claims 1 to 5,
The motion vector detection unit detects an integer precision motion vector from the data output from the first storage unit and the data output from the second storage unit;
An interpolation pixel generation unit that receives the output data from the first storage unit and generates pixel data with a small number of precision;
A motion vector detection apparatus comprising: a minority precision motion vector detection unit for detecting a minority motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部からの出力データを入力とし、少数精度画素のデータを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部と、
前記補間画素生成部で生成する少数精度画素のデータの位置によって、前記第1の記憶部が保持する参照領域データの読み出し方向決定し、前記第2のアドレス生成部に出力する読み出し方向決定部とを具備し、
前記第2のアドレス生成部は、前記読み出し方向決定部により決定された読み出し方向に基づいて、第1の記憶部から出力する画素データのアドレスを生成することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
An interpolation pixel generation unit that receives the output data from the first storage unit and generates data of a small number of precision pixels;
A minority-precision motion vector detection unit that detects a minority-precision motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit;
A reading direction determining unit that determines a reading direction of reference area data held by the first storage unit according to a position of data of the minority precision pixels generated by the interpolation pixel generating unit and outputs the reference direction data to the second address generating unit; Comprising
The motion vector detection device, wherein the second address generation unit generates an address of pixel data output from the first storage unit based on the readout direction determined by the readout direction determination unit.
請求項9に記載の動きベクトル検出装置において、
前記読み出し方向決定部は、第1の記憶部に記憶された画像データに対して水平、もしくは垂直方向にデータを読み出す旨の決定を行うことを特徴とする動きベクトル検出装置。
The motion vector detection device according to claim 9,
The motion vector detection device, wherein the read direction determination unit determines to read data horizontally or vertically with respect to the image data stored in the first storage unit.
請求項9、または請求項10に記載の動きベクトル検出装置において、
前記補間画素生成部は、少なくとも、2個のシフトレジスタからなるシフトレジスタ群と、
前記シフトレジスタ群が保持する画素データを用いて補間処理を行う補間処理部とを有することを特徴とする動きベクトル検出装置。
In the motion vector detection device according to claim 9 or 10,
The interpolation pixel generation unit includes at least a shift register group including two shift registers,
A motion vector detection device comprising: an interpolation processing unit that performs interpolation processing using pixel data held by the shift register group.
請求項9、または請求項10に記載の動きベクトル検出装置において、
前記補間画素生成部は、少なくとも、特定方向に読み出す画素数+2個のシフトレジスタからなるシフトレジスタ群と、
前記シフトレジスタ群が保持する画素データを用いて補間処理を行う補間処理部とを有することを特徴とする動きベクトル検出装置。
In the motion vector detection device according to claim 9 or 10,
The interpolation pixel generation unit includes at least a shift register group including a number of pixels to be read in a specific direction + 2 shift registers,
A motion vector detection device comprising: an interpolation processing unit that performs interpolation processing using pixel data held by the shift register group.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部からの出力データを入力とし、少数精度画素のデータを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備し、
前記少数精度動きベクトル検出部は、前記補間画素生成部から、複数の画素データにより構成される上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、または右斜め下と左斜め下の何れかに位置する少数精度の参照ブロックが出力された場合には、該出力された各少数精度の参照ブロックに対する少数精度の動きベクトルの検出を並列に実行することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
An interpolation pixel generation unit that receives the output data from the first storage unit and generates data of a small number of precision pixels;
A minority precision motion vector detection unit for detecting a minority precision motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit;
The minority-precision motion vector detection unit includes, from the interpolation pixel generation unit, upper and lower, left and right, upper right and lower right, upper left and lower left, upper left and lower right, and upper right. When a minority precision reference block located at either the upper left corner or the lower right corner or the lower left diagonal position is output, detection of the minority precision motion vector for each of the output minority reference blocks is performed. A motion vector detection apparatus which is executed in parallel.
請求項9から請求項13のいずれかに記載の動きベクトル検出装置において、
さらに、前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部を具備することを特徴とする動きベクトル検出装置。
The motion vector detection device according to any one of claims 9 to 13,
The motion vector further includes an integer precision motion vector detection unit that detects an integer precision motion vector from the data output from the first storage unit and the data output from the second storage unit. Detection device.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータより整数精度の動きベクトルを検出する整数精度動きベクトル検出部と、
探索を行うことができる位置か否を判断するための条件である探索可否条件を保持する探索可否条件保持部と、
前記参照領域データの有効領域を示す領域判定コードの基づいて、前記探索可否条件保持部から探索可否条件を検出し、前記第2のアドレス生成部に出力する探索可否条件検出部とを具備し、
前記第2のアドレス生成部は、整数精度動きベクトル検出時に前記探索可否条件検出部により検出された探索可否条件を用いて、探索の可否を判断することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
An integer precision motion vector detection unit for detecting an integer precision motion vector from the data output from the first storage unit and the data output from the second storage unit;
A search enable / disable condition holding unit that holds a search enable / disable condition that is a condition for determining whether or not the position can be searched;
A search enable / disable condition detection unit that detects a search enable / disable condition from the search enable / disable condition holding unit based on an area determination code indicating an effective area of the reference area data, and outputs to the second address generation unit;
The motion vector detection device, wherein the second address generation unit determines whether or not a search is possible by using the search availability condition detected by the search availability condition detection unit when detecting an integer precision motion vector.
請求項15に記載の動きベクトル検出装置において、
さらに、前記第1の記憶手段からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶手段から出力されたデータから、少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備し、
前記第2のアドレス生成部は、前記探索可否条件保持部と、前記探索可否条件検出部とを整数精度動きベクトル検出時、及び少数精度動きベクトル検出時に、併用して用いることを特徴とする動きベクトル検出装置。
The motion vector detection device according to claim 15, wherein
Furthermore, an interpolation pixel generation unit that receives the output data from the first storage means and generates pixel data with a small number of precision,
A minority-precision motion vector detection unit for detecting a minority-precision motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit;
The second address generation unit uses the search availability condition holding unit and the search availability condition detection unit in combination when detecting an integer precision motion vector and a decimal precision motion vector. Vector detection device.
請求項16に記載の動きベクトル検出装置において、
さらに、前記第1の記憶手段からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶手段から出力されたデータから、少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備し、
前記第2のアドレス生成部は、整数精度動きベクトル検出時に前記探索可否条件保持部と、前記探索可否条件検出部とを用いて、探索の可否を判断すると共に、当該探索可否結果を用いて少数精度動きベクトル検出時の探索の可否を判断することを特徴とする動きベクトル検出装置。
The motion vector detection device according to claim 16, wherein
Furthermore, an interpolation pixel generation unit that receives the output data from the first storage means and generates pixel data with a small number of precision,
A minority-precision motion vector detection unit for detecting a minority-precision motion vector from the data output from the interpolation pixel generation unit and the data output from the second storage unit;
The second address generation unit uses the search availability condition holding unit and the search availability condition detection unit when detecting an integer precision motion vector to determine the availability of the search, and uses the search availability result to determine a small number. A motion vector detection apparatus for determining whether or not a search is possible when detecting an accurate motion vector.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出装置において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成部と、
前記第1のアドレス生成部により指示された参照領域データを保持する第1の記憶部と、
前記第1のアドレス生成部により指示された処理対象ブロックのデータを保持する第2の記憶部と、
前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成する第2のアドレス生成部と、
前記第1の記憶部から出力されたデータ、及び第2の記憶部から出力されたデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出部と、
前回の動きベクトル探索で検出された動きベクトルを保持するとともに、前記整数精度動きベクトル検出部により算出された絶対差分誤差値と特定の閾値とを比較することにより、動きベクトル探索の実行の可否を決定する探索実行可否決定部とを具備し、
前記第2のアドレス生成手段は、前記探索実行可否決定部が保持する前回の動きベクトル探索で検出された動きベクトルを用いて、前記第1の記憶部、及び前記第2の記憶部から出力するデータのアドレスを生成することを特徴とする動きベクトル検出装置。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection device that detects a motion vector by performing
A first address generation unit that generates an address of the processing target block and the reference area data;
A first storage unit for holding reference area data instructed by the first address generation unit;
A second storage unit that holds data of a processing target block instructed by the first address generation unit;
A second address generation unit that generates an address of data output from the first storage unit and the second storage unit;
An integer precision motion vector detection unit for detecting an integer precision motion vector using the data output from the first storage unit and the data output from the second storage unit;
The motion vector detected by the previous motion vector search is retained, and the absolute difference error value calculated by the integer precision motion vector detection unit is compared with a specific threshold value to determine whether the motion vector search can be executed. A search execution feasibility determination unit for determining,
The second address generation means outputs from the first storage unit and the second storage unit using the motion vector detected in the previous motion vector search held by the search execution possibility determination unit. A motion vector detecting device for generating an address of data.
請求項18記載の動きベクトル検出装置において、
前記第2のアドレス生成部は、さらに、前記第1の記憶手段より出力されたデータを本装置の演算結果として出力することを特徴とする動きベクトル検出装置。
The motion vector detection device according to claim 18, wherein
The second address generation unit further outputs the data output from the first storage means as a calculation result of the present apparatus.
請求項18、又は請求項19に記載の動きベクトル検出装置において、
さらに、前記第1の記憶部からの出力データを入力とし、少数精度の画素データを生成する補間画素生成部と、
前記補間画素生成部から出力されたデータ、及び第2の記憶部から出力されたデータより少数精度の動きベクトルを検出する少数精度動きベクトル検出部とを具備することを特徴とする動きベクトル検出装置。
In the motion vector detection device according to claim 18 or 19,
Furthermore, an interpolation pixel generation unit that receives the output data from the first storage unit and generates pixel data with a small number of precision,
A motion vector detection device comprising: a minority motion vector detection unit for detecting a motion vector with a minority precision from the data output from the interpolation pixel generation unit and the data output from the second storage unit .
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップとを有し、
前記動きベクトル検出ステップは、参照ブロックの画素データと処理対象ブロックの画素データとの画素値の差分の絶対値を順次計算して、該計算した差分の絶対値を閾値から減算して行き、減算結果が負になった場合には、処理中の参照ブロックに対する絶対差分誤差和の計算を中止することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
A motion vector detection step of detecting a motion vector using the reference area data and the data of the processing target block,
The motion vector detection step sequentially calculates the absolute value of the difference between the pixel values of the pixel data of the reference block and the pixel data of the processing target block, and subtracts the calculated absolute value of the difference from the threshold value. A motion vector detection method, characterized in that, when a result becomes negative, calculation of an absolute difference error sum for a reference block being processed is stopped.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップと、
前記動きベクトル検出ステップによって既に探索が行われた参照領域データ内の参照ブロックの探索履歴を保持する探索履歴保持ステップとを有し、
前記動きベクトル検出ステップは、前記探索履歴保持ステップにより保持された探索履歴が存在する参照ブロックに対しては、探索実行をスキップすることを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
A motion vector detection step of detecting a motion vector using the reference area data and the data of the processing target block;
A search history holding step for holding a search history of reference blocks in the reference area data that has already been searched by the motion vector detection step;
In the motion vector detection method, the search execution is skipped for the reference block in which the search history held in the search history holding step exists.
請求項22に記載の動きベクトル検出方法において、
前記探索履歴保持ステップは、探索対象の位置、及びその周辺位置8ヶ所の参照ブロックに対する探索の有無を探索履歴として保持していることを特徴とする動きベクトル検出方法。
The motion vector detection method according to claim 22,
The search history holding step holds, as a search history, the search target position and the presence / absence of search for the reference blocks at eight peripheral positions.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップと、
前記第1のアドレス生成ステップが参照領域データのアドレスを生成するためのルールである転送ルールを保持する転送ルール保持ステップと、
画像データの有効領域を示す領域判定コードに基づいて、前記転送ルール保持ステップから前記転送ルールを検出し、前記第1のアドレス生成ステップに出力する転送ルール検出ステップとを有し、
前記第1のアドレス生成ステップは、前記転送ルール検出ステップにより検出された前記転送ルールに基づいて、参照領域データのアドレスを生成することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
A motion vector detection step of detecting a motion vector using the reference area data and the data of the processing target block;
A transfer rule holding step in which the first address generation step holds a transfer rule that is a rule for generating an address of reference area data;
A transfer rule detection step of detecting the transfer rule from the transfer rule holding step based on an area determination code indicating an effective area of the image data and outputting to the first address generation step;
The first address generation step generates a reference area data address based on the transfer rule detected by the transfer rule detection step.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
データの読み込み、読み出しを同時に行うダブルバッファ構成をしているメモリを用いて、前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データ、及び処理対象ブロックのデータを用いて動きベクトルを検出する動きベクトル検出ステップとを有し、
前記第1の記憶ステップの参照領域データの読み込み、及び読み出しを制御する記憶データ制御ステップとを具備し、
前記記憶データ制御ステップは、前記第1の記憶ステップが用いる2つのバッファメモリの内、データの読み込みが行われる一のバッファメモリに対して、読み出しが完了した他の一のバッファメモリから有効なデータを一部コピーし、前記第1の記憶ステップに新たに書き込むデータ量を削減することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step using a memory having a double buffer configuration for simultaneously reading and reading data;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
A motion vector detection step of detecting a motion vector using the reference area data and the data of the processing target block,
A storage data control step for controlling reading and reading of reference area data in the first storage step,
In the stored data control step, the effective data from the other buffer memory that has been read out of one buffer memory from which data is read out of the two buffer memories used in the first storage step. A motion vector detection method characterized in that a part of the data is copied and the amount of data newly written in the first storage step is reduced.
請求項21から請求項25のいずれかに記載の動きベクトル検出方法において、
前記動きベクトル検出ステップは、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップであることを特徴とする動きベクトル検出方法。
The motion vector detection method according to any one of claims 21 to 25,
The motion vector detection step is an integer accuracy motion vector detection step of detecting an integer accuracy motion vector using the reference area data and data of a processing target block.
請求項21から請求項25のいずれかに記載の動きベクトル検出方法において、
前記動きベクトル検出ステップは、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとからなることを特徴とする動きベクトル検出方法。
The motion vector detection method according to any one of claims 21 to 25,
The motion vector detection step receives pixel data constituting the reference area data as an input, and generates an interpolation pixel generation step that generates pixel data with a small number of precision.
A motion vector detection method comprising: a minority precision motion vector detection step of detecting a minority precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block.
請求項21から請求項25のいずれかに記載の動きベクトル検出方法において、
前記動きベクトル検出ステップは、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップと、
前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとからなることを特徴とする動きベクトル検出方法。
The motion vector detection method according to any one of claims 21 to 25,
The motion vector detection step includes an integer accuracy motion vector detection step of detecting an integer accuracy motion vector using the reference region data and data of a processing target block;
Interpolation pixel generation step for generating pixel data with a small number of precision by using pixel data constituting the reference area data as input, and
A motion vector detection method comprising: a minority precision motion vector detection step of detecting a minority precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップと、
前記補間画素生成ステップで生成する少数精度画素のデータの位置によって、前記第1の記憶ステップにより保持された参照領域データの読み出し方向決定し、前記第2のアドレス生成ステップに出力する読み出し方向決定ステップとを有し、
前記第2のアドレス生成ステップは、前記読み出し方向決定ステップにより決定された読み出し方向に基づいて、前記参照領域データから出力する画素データのアドレスを生成することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
Interpolation pixel generation step for generating pixel data with a small number of precision by using pixel data constituting the reference area data as input, and
A minority precision motion vector detection step of detecting a minority precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block;
A reading direction determination step for determining the reading direction of the reference area data held in the first storage step according to the position of the data of the minority precision pixels generated in the interpolation pixel generation step and outputting to the second address generation step And
The second address generation step generates an address of pixel data to be output from the reference area data based on the reading direction determined by the reading direction determination step.
請求項29に記載の動きベクトル検出方法において、
前記読み出し方向決定ステップは、第1の記憶ステップが保持する画像データに対して水平、もしくは垂直方向にデータを読み出す旨の決定を行うことを特徴とする動きベクトル検出方法。
The motion vector detection method according to claim 29,
The motion vector detection method characterized in that the reading direction determination step determines to read data horizontally or vertically with respect to the image data held in the first storage step.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有し、
前記少数精度動きベクトル検出ステップが、前記補間画素生成ステップから、複数の画素データにより構成される上と下、左と右、右斜め上と右斜め下、左斜め上と左斜め下、右斜め上と左斜め上、または右斜め下と左斜め下の何れかに位置する少数精度の参照ブロックが出力された場合には、該出力された各少数精度の参照ブロックに対する少数精度の動きベクトルの検出を並列に実行することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
Interpolation pixel generation step for generating pixel data with a small number of precision by using pixel data constituting the reference area data as input, and
A minority-precision motion vector detection step for detecting a minority-precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block;
The small-precision motion vector detection step includes, from the interpolation pixel generation step, upper and lower, left and right, upper right and lower right, upper left and lower left, upper left and lower right, and upper right. When a minority precision reference block located at either the upper left corner or the lower right corner or the lower left diagonal position is output, detection of the minority precision motion vector for each of the output minority reference blocks is performed. A motion vector detection method characterized by being executed in parallel.
請求項29から請求項31のいずれかに記載の動きベクトル検出方法において、
さらに、前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップを有することを特徴とする動きベクトル検出方法。
The motion vector detection method according to any one of claims 29 to 31,
The motion vector detection method further includes an integer precision motion vector detection step of detecting an integer precision motion vector using the reference area data and the data of the processing target block.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップと、
探索を行うことができる位置か否を判断するための条件である探索可否条件を保持する探索可否条件保持ステップと、
前記参照領域データの有効領域を示す領域判定コードの基づいて、前記探索可否条件保持ステップから探索可否条件を検出し、前記第2のアドレス生成ステップに出力する探索可否条件検出ステップとを具備し、
前記第2のアドレス生成ステップは、整数精度動きベクトル検出時に前記探索可否条件検出ステップにより検出された探索可否条件を用いて、探索の可否を判断することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
An integer precision motion vector detection step of detecting an integer precision motion vector using the reference region data and the data of the processing target block;
A search enable / disable condition holding step for holding a search enable / disable condition that is a condition for determining whether or not the position can be searched; and
A search availability condition detecting step for detecting a search availability condition from the search availability condition holding step based on an area determination code indicating an effective area of the reference area data, and outputting to the second address generation step;
The second address generation step determines whether or not the search is possible using the search availability condition detected by the search availability condition detection step when detecting the integer precision motion vector.
請求項33に記載の動きベクトル検出方法において、
さらに、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有し、
前記第2のアドレス生成ステップは、前記探索可否条件保持ステップと、前記探索可否条件検出ステップとを整数精度動きベクトル検出時、及び少数精度動きベクトル検出時に、併用して用いることを特徴とする動きベクトル検出方法。
The motion vector detection method according to claim 33,
Furthermore, the pixel data constituting the reference area data as an input, an interpolation pixel generation step for generating pixel data with a small number of precision,
A minority-precision motion vector detection step for detecting a minority-precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block;
The second address generation step uses the search availability condition holding step and the search availability condition detection step in combination when detecting an integer precision motion vector and a decimal precision motion vector. Vector detection method.
請求項33に記載の動きベクトル検出方法において、
さらに、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有し、
前記第2のアドレス生成ステップは、整数精度動きベクトル検出時に前記探索可否条件保持ステップと、前記探索可否条件検出ステップとを用いて、探索の可否を判断すると共に、当該探索可否結果を用いて少数精度動きベクトル検出時の探索の可否を判断することを特徴とする動きベクトル検出方法。
The motion vector detection method according to claim 33,
Furthermore, the pixel data constituting the reference area data as an input, an interpolation pixel generation step for generating pixel data with a small number of precision,
A minority-precision motion vector detection step for detecting a minority-precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block;
The second address generation step uses the search availability condition holding step and the search availability condition detection step at the time of detecting an integer precision motion vector to determine whether search is possible and uses the search availability result to determine a small number. A motion vector detection method characterized by determining whether or not a search is possible when detecting an accurate motion vector.
現画像内の複数の画素からなる処理対象ブロックと、当該現画像に対して時間的に前となる前画像の所定の参照領域データ内の複数の画素からなる参照ブロックとの間で、ブロックマッチングを行い動きベクトルを検出する動きベクトル検出方法において、
前記処理対象ブロック、及び前記参照領域データのアドレスを生成する第1のアドレス生成ステップと、
前記第1のアドレス生成ステップにより指示された参照領域データを保持する第1の記憶ステップと、
前記第1のアドレス生成ステップにより指示された処理対象ブロックのデータを保持する第2の記憶ステップと、
前記保持された参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成する第2のアドレス生成ステップと、
前記参照領域データ、及び処理対象ブロックのデータを用いて整数精度の動きベクトルを検出する整数精度動きベクトル検出ステップと、
前回の動きベクトル探索で検出された動きベクトルを保持するとともに、前記整数精度動きベクトル検出ステップにより算出された絶対差分誤差値と特定の閾値とを比較することにより、動きベクトル探索の実行の可否を決定する探索実行可否決定ステップを具備し、
前記第2のアドレス生成手ステップは、前記探索実行可否決定ステップが保持する前回の動きベクトル探索で検出された動きベクトルを用いて、前記参照領域データ、及び処理対象ブロックのデータから出力する画素データのアドレスを生成することを特徴とする動きベクトル検出方法。
Block matching between a processing target block consisting of a plurality of pixels in the current image and a reference block consisting of a plurality of pixels in a predetermined reference area data of the previous image temporally preceding the current image In a motion vector detection method for detecting a motion vector by performing
A first address generation step for generating an address of the processing target block and the reference area data;
A first storage step for holding the reference area data instructed by the first address generation step;
A second storage step for holding the data of the processing target block instructed by the first address generation step;
A second address generation step of generating an address of pixel data to be output from the held reference area data and data of the processing target block;
An integer precision motion vector detection step of detecting an integer precision motion vector using the reference region data and the data of the processing target block;
The motion vector detected by the previous motion vector search is held, and the absolute difference error value calculated by the integer precision motion vector detection step is compared with a specific threshold value to determine whether the motion vector search can be executed. A search execution feasibility determination step for determining,
The second address generation step uses the motion vector detected in the previous motion vector search held in the search execution possibility determination step, and outputs pixel data from the reference area data and the data of the processing target block A motion vector detection method comprising generating an address of
請求項36記載の動きベクトル検出方法において、
前記第2のアドレス生成ステップは、さらに、前記第1の記憶ステップにより保持された参照領域データから出力されたデータを演算結果として出力することを特徴とする動きベクトル検出方法。
The motion vector detection method according to claim 36, wherein
The second address generation step further outputs data output from the reference area data held in the first storage step as a calculation result.
請求項36、又は請求項37に記載の動きベクトル検出方法において、
さらに、前記参照領域データを構成する画素データを入力とし、少数精度の画素データを生成する補間画素生成ステップと、
前記補間画素生成ステップから出力されたデータ、及び処理対象ブロックのデータを用いて少数精度の動きベクトルを検出する少数精度動きベクトル検出ステップとを有することを特徴とする動きベクトル検出方法。
The motion vector detection method according to claim 36 or claim 37,
Furthermore, the pixel data constituting the reference area data as an input, an interpolation pixel generation step for generating pixel data with a small number of precision,
A motion vector detection method, comprising: a minority precision motion vector detection step for detecting a minority precision motion vector using the data output from the interpolation pixel generation step and the data of the processing target block.
JP2004225082A 2004-08-02 2004-08-02 Motion vector detection apparatus and motion vector detection method Pending JP2005006351A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225082A JP2005006351A (en) 2004-08-02 2004-08-02 Motion vector detection apparatus and motion vector detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004225082A JP2005006351A (en) 2004-08-02 2004-08-02 Motion vector detection apparatus and motion vector detection method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000160829A Division JP3611507B2 (en) 2000-05-30 2000-05-30 Motion vector detection device

Publications (1)

Publication Number Publication Date
JP2005006351A true JP2005006351A (en) 2005-01-06

Family

ID=34101392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225082A Pending JP2005006351A (en) 2004-08-02 2004-08-02 Motion vector detection apparatus and motion vector detection method

Country Status (1)

Country Link
JP (1) JP2005006351A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188376A (en) * 2010-03-10 2011-09-22 Toshiba Corp Image processing apparatus and image processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188376A (en) * 2010-03-10 2011-09-22 Toshiba Corp Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
JP3611507B2 (en) Motion vector detection device
JP3863376B2 (en) Motion estimator
US20050265454A1 (en) Fast motion-estimation scheme
CN102833533A (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
US20060002472A1 (en) Various methods and apparatuses for motion estimation
JPH06334980A (en) Motion vector detector for moving picture
CN113630601A (en) Affine motion estimation method, device, equipment and storage medium
JP2000106674A (en) Method and device for detecting motion
CN112261413A (en) Video encoding method, encoding device, electronic device, and storage medium
WO2021072795A1 (en) Encoding and decoding method and apparatus based on inter-frame prediction
US6380987B1 (en) Motion vector detection circuit enabling high-speed search of motion vector
KR20070033345A (en) How to retrieve global motion vector
JP2005006351A (en) Motion vector detection apparatus and motion vector detection method
JP2008141249A (en) Motion vector detection apparatus and method
JP2005253015A (en) Motion vector detection device, motion vector detection method, and program
CN109889851A (en) Block matching method, apparatus, computer equipment and storage medium for video coding
JP4178562B2 (en) Motion vector detection apparatus and method
TWI451767B (en) Video coding system, motion estimation device and motion estimation method
JP3580612B2 (en) Motion detection device for video coding device
US20090060048A1 (en) Motion detection circuit and method
CN102263944B (en) Video coding system, mobile estimation device and calculation method for mobile estimation
KR100247111B1 (en) Motion detection device
KR0179500B1 (en) Apparatus for deciding motion vector
JP4155102B2 (en) Pixel value calculation device, moving image encoding device, and moving image decoding device
JPH0795585A (en) Moving vector detector