JP2010074496A - Motion vector detection processing apparatus - Google Patents

Motion vector detection processing apparatus Download PDF

Info

Publication number
JP2010074496A
JP2010074496A JP2008239268A JP2008239268A JP2010074496A JP 2010074496 A JP2010074496 A JP 2010074496A JP 2008239268 A JP2008239268 A JP 2008239268A JP 2008239268 A JP2008239268 A JP 2008239268A JP 2010074496 A JP2010074496 A JP 2010074496A
Authority
JP
Japan
Prior art keywords
motion vector
search range
vector detection
reduced
motion
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.)
Withdrawn
Application number
JP2008239268A
Other languages
Japanese (ja)
Inventor
Kentaro Kawakami
健太郎 川上
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008239268A priority Critical patent/JP2010074496A/en
Publication of JP2010074496A publication Critical patent/JP2010074496A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion vector detection processing apparatus capable of reducing an operation amount for coding without degrading the efficiency of coding. <P>SOLUTION: A reduced image is generated by a reduced image generator, and a motion vector is detected from the reduced image by a reduced motion vector detector. Next, an error value between a block centering around a pixel point around the tip of the motion vector of the reduced image and a block to be processed is calculated by a peripheral error value calculator. A search area set for a pixel point with the smallest error value, and shifted from the tip of the motion vector of the reduced image in the direction of the pixel point is set by a search area setting unit, and matching is performed by original resolution within the search area to generate the last motion vector. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

近年、動画像情報をデジタル信号として取り扱うことが一般化している。動画像情報の符号化フォーマットとして、国際標準規格であるMPEG(Moving Picture Experts Group)やH.26xなどが用いられている。日本国内においては、動画像情報は、地上波デジタル放送、BSデジタル放送、DVD(Digital
Versatile Disk)ではMPEG−2で、携帯電話でのテレビ電話ではMPEG−4で、ワンセグ放送ではH.264/AVCで圧縮符号化されている。Blu−rayディスク、HD DVDなどの次世代DVDでは、動画像の圧縮符号化方式としてMPEG−2、H.264/AVC,VC−1が採用されている。さらに、中国において標準化された動画像圧縮符号化方式としてAVSがある。
In recent years, it has become common to handle moving image information as digital signals. As an encoding format of moving image information, MPEG (Moving Picture Experts Group), which is an international standard, or H.264 is used. 26x or the like is used. In Japan, moving image information includes digital terrestrial broadcasting, BS digital broadcasting, and DVD (Digital
Versatile Disk) is MPEG-2, mobile phone videophone is MPEG-4, and one-segment broadcasting is H.264. It is compression-encoded with H.264 / AVC. In next-generation DVDs such as Blu-ray discs and HD DVDs, MPEG-2, H.264 and H.264 are used as compression encoding methods for moving images. H.264 / AVC and VC-1. Furthermore, there is AVS as a moving picture compression encoding system standardized in China.

これらの動画像圧縮符号方式は、動き補償フレーム間予測を採用している。動画像信号は、信号の時間的冗長性が高いことが知られている。動き補償フレーム間予測は、この冗長さを除去する技術である。動き補償フレーム間予測の技術では、符号対象の画像フレームを複数のブロックに分割し、ブロック単位に処理を行う。すなわち、各ブロックに対して、時間的に前に符号処理された画像フレーム(以下、参照画像フレーム と呼ぶ)の中のその対象ブロックの近傍に位置する動き検出範囲から、上記対象ブロックと同じ大きさの複数のブロック(以下、参照画像ブロックと呼ぶ)を切り出し、これらの参照画像ブロックのうちで、上記対象ブロックに最も近似した参照画像ブロックを探し出す。   These video compression coding systems employ motion compensated interframe prediction. It is known that moving image signals have high signal temporal redundancy. Motion compensated interframe prediction is a technique for removing this redundancy. In the motion compensation interframe prediction technique, an image frame to be encoded is divided into a plurality of blocks, and processing is performed in units of blocks. That is, for each block, from the motion detection range located in the vicinity of the target block in an image frame (hereinafter referred to as a reference image frame) that has been previously coded in time, the same size as the target block is set. A plurality of blocks (hereinafter referred to as reference image blocks) are cut out, and among these reference image blocks, a reference image block closest to the target block is searched for.

次に、最も近似した参照ブロックの位置座標に関する情報と,その対象ブロックと探し出された参照画像ブロックとの差分情報を符号化し、それによりその対象ブロックに対する符号列を生成する。動き検出とは、この最も類似した参照画像ブロックを探索する処理であり、動きベクトルは、各対象ブロックと、そのブロックから見た探し出された参照画像ブロックの相対位置座標である。このような動き検出は、H.264,MPEG−2,MPEG−4,VC−1,AVSなど,通常画像信号の符号化処理で行われる。   Next, information on the position coordinates of the closest reference block and difference information between the target block and the searched reference image block are encoded, thereby generating a code string for the target block. The motion detection is a process of searching for the most similar reference image block, and the motion vector is a relative position coordinate of each target block and the searched reference image block viewed from the block. Such motion detection is described in H.264. 264, MPEG-2, MPEG-4, VC-1, AVS, etc., are performed by normal image signal encoding processing.

以下、このような動きベクトルを探索するための従来の動きベクトル探索方法を説明する。
図10は、符号化処理対象画像の構成を説明する図である。
Hereinafter, a conventional motion vector search method for searching for such a motion vector will be described.
FIG. 10 is a diagram illustrating the configuration of the encoding target image.

符号化対象画像10は、横16画素,縦16画素から構成されるマクロブロック11を複数有する.例えば,縦1088画素,横1920画素からなるHDTV(High Definition TV)解像度の動画像の場合,マクロブロックは縦68個(=1088/16),横120個(=1920/16)が並んでいる。   The encoding target image 10 includes a plurality of macroblocks 11 composed of 16 horizontal pixels and 16 vertical pixels. For example, in the case of a high definition TV (HDTV) resolution moving image consisting of 1088 pixels vertically and 1920 pixels horizontally, the macroblocks are arranged vertically 68 (= 1088/16) and 120 horizontally (= 1920/16). .

図11は、従来の動きベクトル検出方法が動きベクトルを検出するための参照画像20の構成を説明するための図である。
参照画像20は、符号化処理対象画像よりも時間的に前に符号化処理された画像であり、符号化対象画像10と同一の形状、同数の画素を有している。
FIG. 11 is a diagram for explaining the configuration of the reference image 20 for detecting a motion vector by the conventional motion vector detection method.
The reference image 20 is an image that is encoded before the encoding target image, and has the same shape and the same number of pixels as the encoding target image 10.

参照画像20には、符号化ブロック12よりも大きい長方形状をした参照領域21が、符号化ブロック12を含むような位置に設定されている。参照領域21の中には、符号化ブロック11と同一の大きさ,形状をした参照ブロック22が設定されている。   In the reference image 20, a reference area 21 having a rectangular shape larger than that of the encoding block 12 is set at a position including the encoding block 12. In the reference area 21, a reference block 22 having the same size and shape as the encoding block 11 is set.

図10に示す符号化ブロック12が動きベクトルを検出するためのブロックとして選択されると、参照ブロック22を参照領域21の中において1画素ずつ移動させながら、符号化ブロック11の中に配置された画素の画素値と参照ブロック22の中に配置された画素の画素値との間で,式(1)で表される差分絶対値和Sを計算する.
S=Σ|C(i,j)−R(x+i,y+j)|・・・式(1)
ただし,Σはi=0,1,2,・・・,n,j=0,1,2,・・・,mで和を取ることを表し、(n+1)は符号化ブロックの横方向の画素数、(m+1)は符号化ブロックの縦方向の画素数、C(i,j)は処理対象の符号化ブロックのj行i列の位置の画素値,xは参照位置の横方向の変位量,yは参照位置の縦方向の変位量,R(x+i,y+j)は変位(x,y)の点の参照ブロックのj行i列の画素値を表す。そして、絶対差分値和Sが最小となる参照ブロック22の位置(x,y)を動きベクトル23として検出する。符号化ブロックとしてマクロブロックを採用する場合、n=15,m=15である。動画像符号化においては,符号化処理対象画像に含まれるすべてのマクロブロックについて同様の処理を行い、動きベクトルを検出する。
When the coding block 12 shown in FIG. 10 is selected as a block for detecting a motion vector, the reference block 22 is arranged in the coding block 11 while being moved one pixel at a time in the reference area 21. The difference absolute value sum S expressed by the equation (1) is calculated between the pixel value of the pixel and the pixel value of the pixel arranged in the reference block 22.
S = Σ | C (i, j) -R (x + i, y + j) | ... Formula (1)
Here, Σ represents summation at i = 0, 1, 2,..., N, j = 0, 1, 2,..., M, and (n + 1) is the horizontal direction of the coding block. The number of pixels, (m + 1) is the number of pixels in the vertical direction of the coding block, C (i, j) is the pixel value at the position of row j and column i of the coding block to be processed, and x is the displacement in the horizontal direction of the reference position The quantity y represents the amount of displacement in the vertical direction of the reference position, and R (x + i, y + j) represents the pixel value in the j row and i column of the reference block at the point of displacement (x, y). Then, the position (x, y) of the reference block 22 that minimizes the absolute difference value sum S is detected as the motion vector 23. When a macro block is employed as the encoding block, n = 15 and m = 15. In moving image encoding, the same processing is performed on all macroblocks included in the encoding target image to detect a motion vector.

このように、参照領域21におけるすべての点で差分絶対値和を計算し,動きベクトルを総当たり的に調べる方法を全探索法という。このような全探索法は、参照領域21におけるすべての画素を総当り的に調べるため、演算量が莫大になる。   The method of calculating the sum of absolute differences at all points in the reference region 21 and examining the motion vector omnipresently is called a full search method. In such a full search method, since all the pixels in the reference area 21 are examined brute-force, the calculation amount becomes enormous.

そこで、演算量を削減する探索方法として階層的探索法が知られている。図12は、従来の階層的探索法を用いた動きベクトル検出装置における縮小符号化画像30を説明するための模式図であり、図13は、従来の階層的探索法を用いた動きベクトル検出装置における縮小参照画像40を説明するための模式図であり,図14は従来の階層的探索法を用いた動きベクトル検出装置における動きベクトルを検出する方法を説明するための模式図である。   Therefore, a hierarchical search method is known as a search method for reducing the amount of calculation. FIG. 12 is a schematic diagram for explaining a reduced coded image 30 in a motion vector detection device using a conventional hierarchical search method, and FIG. 13 is a motion vector detection device using a conventional hierarchical search method. FIG. 14 is a schematic diagram for explaining a method of detecting a motion vector in a motion vector detection apparatus using a conventional hierarchical search method.

階層的探索法では,まず、符号化画像10を水平方向にN分の1に縮小し,垂直方向にM分の1に縮小した縮小符号化画像30を生成する。縮小符号化画像30は符号化画像10と同数のマクロブロックを有する。ただし,1つのマクロブロック31に含まれる画素数は、水平方向が1/N倍に,垂直方向が1/M倍となる。同様に、参照画像20を水平方向にN分の1に縮小し、垂直方向にM分の1に縮小した縮小参照画像40を生成する。縮小参照画像40において参照領域21は水平方向に1/N倍に、垂直方向に1/M倍となった縮小参照領域41となる。1次探索では、この縮小符号化ブロックと縮小探索範囲41において縮小動きベクトル43の検出が行われる。   In the hierarchical search method, first, the encoded image 10 is reduced to 1 / N in the horizontal direction, and the reduced encoded image 30 is reduced to 1 / M in the vertical direction. The reduced encoded image 30 has the same number of macroblocks as the encoded image 10. However, the number of pixels included in one macroblock 31 is 1 / N times in the horizontal direction and 1 / M times in the vertical direction. Similarly, a reduced reference image 40 is generated by reducing the reference image 20 by 1 / N in the horizontal direction and by 1 / M in the vertical direction. In the reduced reference image 40, the reference area 21 becomes a reduced reference area 41 that is 1 / N times in the horizontal direction and 1 / M times in the vertical direction. In the primary search, the reduced motion vector 43 is detected in the reduced coding block and the reduced search range 41.

2次探索では、符号化ブロック12と参照画像20の間で動きベクトル検出が行われる。探索範囲は、図14の51で示した水平方向N画素,垂直方向M画素であり,探索範囲の中心点は縮小動きベクトル43を水平方向にN倍,垂直方向にM倍したベクトル52の位置となる。2次探索において最小の誤差値を与える参照ブロックの位置が当該符号化ブロック12の動きベクトル53として求まる。   In the secondary search, motion vector detection is performed between the encoding block 12 and the reference image 20. The search range is N pixels in the horizontal direction and M pixels in the vertical direction indicated by 51 in FIG. 14. The center point of the search range is the position of the vector 52 obtained by multiplying the reduced motion vector 43 N times in the horizontal direction and M times in the vertical direction. It becomes. The position of the reference block that gives the minimum error value in the secondary search is obtained as the motion vector 53 of the coding block 12.

一つの符号化ブロックについて動きベクトルを検出するために必要な演算量は、例えば、探索範囲を水平±7、垂直±7の15×15画素によって構成される領域とした場合、前述した全探索法においては、15×15=225回の16×16画素のマッチング、つまり、57600回の画素マッチングが必要となる。一方、水平1/4、垂直1/4の階層的探索法においては、1次探索における(15/4)×(15/4)=約25回の4×4画素のマッチングと,2次探索における4×4=16回の16×16画素のマッチング,つまり4496回の画素マッチングによって動きベクトル53を検出することができる.したがって,従って、演算量は、前述した全探索法における演算量の約1/12となる。   For example, when the search range is an area composed of 15 × 15 pixels of horizontal ± 7 and vertical ± 7, the amount of calculation necessary for detecting a motion vector for one encoded block is the above-described all search method. In this case, 15 × 15 = 225 matching of 16 × 16 pixels, that is, 57600 pixel matching is required. On the other hand, in the horizontal 1/4 and vertical 1/4 hierarchical search methods, (15/4) × (15/4) = about 25 times 4 × 4 pixel matching and secondary search in the primary search. The motion vector 53 can be detected by 4 × 4 = 16 16 × 16 pixel matchings, that is, 4496 pixel matchings. Therefore, the calculation amount is about 1/12 of the calculation amount in the above-described full search method.

このように、階層的探索法によれば、前述した全検索法よりも演算量を大幅に削減することができる。
特許文献1には、符号化効率を劣化させることなく符号化のための演算量を削減することが出来る動きベクトル検出装置が記載されている。
Thus, according to the hierarchical search method, the calculation amount can be significantly reduced as compared with the above-described full search method.
Patent Document 1 describes a motion vector detection device that can reduce the amount of calculation for encoding without degrading the encoding efficiency.

特許文献2には、動きベクトルの誤検出の可能性を回避することのできる階層型動きベクトル検出方法が記載されている。
特許文献3には、ICの小型化、低消費電力化、低コスト化が実現可能な動きベクトル検出装置が開示されている。
特開2004−193906号公報 特開平7−154801号公報 特開2000−102015号公報
Patent Document 2 describes a hierarchical motion vector detection method that can avoid the possibility of erroneous detection of motion vectors.
Patent Document 3 discloses a motion vector detection device capable of realizing IC miniaturization, low power consumption, and low cost.
JP 2004-193906 A Japanese Unexamined Patent Publication No. 7-154801 Japanese Patent Laid-Open No. 2000-102015

近年、動画像の高解像度化が進んでいる。特に携帯型の動画像撮影機器、例えば、携帯電話などの動画像撮影機能においても,高解像度の動画像を符号化処理したいという要望が高まってきている。内蔵バッテリで駆動される携帯機器で動画像符号化を行う場合、バッテリ容量の制限から消費電力を極力削減したいという要望があり、動画像符号化処理を低消費電力で実現する必要がある。動画像符号化処理の低消費電力化のためには、演算量の削減が有効である。しかしながら、低消費電力を実現するために演算量を削減した結果、動きベクトルの検出精度が低下し,符号化効率が劣化することが許されない。   In recent years, the resolution of moving images has been increased. In particular, there is an increasing demand for encoding a high-resolution moving image even in a moving image capturing function of a portable moving image capturing device such as a mobile phone. When moving picture encoding is performed with a portable device driven by a built-in battery, there is a demand to reduce power consumption as much as possible due to the limitation of battery capacity, and it is necessary to realize moving picture encoding processing with low power consumption. In order to reduce the power consumption of the moving image encoding process, it is effective to reduce the amount of calculation. However, as a result of reducing the amount of calculation in order to realize low power consumption, the motion vector detection accuracy is lowered and the coding efficiency is not allowed to deteriorate.

本発明は係る問題を解決するためになされたものであり、その課題は、符号化効率を劣化させることなく符号化のための演算量を削減することができる動きベクトル検出処理装置を提供することである。   The present invention has been made to solve such a problem, and it is an object of the present invention to provide a motion vector detection processing apparatus capable of reducing the amount of calculation for encoding without degrading encoding efficiency. It is.

本発明の動きベクトル検出処理装置は、動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理装置であって、粗い精度で動きベクトルを検出する第1精度動きベクトル検出手段と、前記第1精度動きベクトル検出手段が検出する第1精度動きベクトルの周囲の点での誤差値を計算する周辺誤差値計算手段と、前記第1精度動きベクトルと前記周辺誤差値計算手段が計算する周囲の点での誤差値から、各周囲の点に特有の第2精度動き検出の探索範囲を決定する探索範囲決定手段と、前記探索範囲決定手段が決定した探索範囲で高い精度で動きベクトル検出を行う第2精度動きベクトル検出手段とを備える。   A motion vector detection processing apparatus according to the present invention is a motion vector detection processing apparatus that detects a motion vector necessary for motion compensation interframe prediction in a moving image encoding process, and detects a motion vector with coarse accuracy. Motion vector detection means; peripheral error value calculation means for calculating error values at points around the first precision motion vector detected by the first precision motion vector detection means; the first precision motion vector and the peripheral error A search range determining means for determining a search range for second precision motion detection specific to each surrounding point from error values at surrounding points calculated by the value calculating means, and a search range determined by the search range determining means Second precision motion vector detection means for performing motion vector detection with high accuracy.

本発明によれば、符号化効率を劣化させることなく符号化のための演算量を削減することができる動きベクトル検出処理装置を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the motion vector detection processing apparatus which can reduce the computational complexity for encoding, without degrading encoding efficiency can be provided.

本発明の実施形態に従った動きベクトル検出装置は、符号化画像を縮小した縮小符号化画像と参照画像を縮小した縮小参照画像とに基づいて検出した縮小動きベクトルに基づいて、前記符号化画像に含まれる符号化ブロックの動きベクトルを検出する動きベクトル検出装置であって、前記縮小参照画像に含まれる画素データに基づいて前記縮小符号化画像に含まれる縮小符号化ブロックの前記縮小動きベクトルを検出する縮小動きベクトル検出器と、前記縮小動きベクトルの周囲の点での誤差値を計算する周辺誤差値計算器と、前記周辺誤差値計算器が類似度値を計算した点の中でもっとも類似度が高い点が前記縮小動き
ベクトルで示される点からみてどの方向であるかを検出する勾配検出器と、前記縮小動きベクトル検出器によって検出された前記縮小動きベクトルと、前記勾配検出器によって検出された方向から前記参照画像において前記動きベクトルを検出するための探索範囲を設定する探索範囲設定器と、前記探索範囲設定器によって設定された前記探索範囲において前記動きベクトルを検出する動きベクトル検出器とを具備する。
The motion vector detection device according to the embodiment of the present invention is configured to use the encoded image based on the reduced motion vector detected based on the reduced encoded image obtained by reducing the encoded image and the reduced reference image obtained by reducing the reference image. A motion vector detecting device for detecting a motion vector of a coded block included in the reduced reference image, wherein the reduced motion vector of the reduced coded block included in the reduced encoded image is obtained based on pixel data included in the reduced reference image. A reduced motion vector detector to detect, a peripheral error value calculator to calculate error values at points around the reduced motion vector, and the most similar among the points at which the peripheral error value calculator has calculated similarity values A gradient detector that detects the direction of a point having a high degree when viewed from the point indicated by the reduced motion vector, and a detection by the reduced motion vector detector. The reduced motion vector, a search range setter for setting a search range for detecting the motion vector in the reference image from the direction detected by the gradient detector, and the search range setter set the search range setter A motion vector detector for detecting the motion vector in a search range.

本実施形態に係る動きベクトル検出装置においては、縮小動きベクトル検出器によって検出された縮小動きベクトルと、勾配検出器によって検出された方向に基づいて、参照画像において動きベクトルを検出するための探索範囲が設定され、設定された探索範囲において動きベクトルが検出される。このため、勾配検出器によって検出された方向に応じた探索範囲で動きベクトル検出を行うため、動きベクトルが存在しない範囲を探索範囲から除外することができ、狭い探索範囲にて動きベクトル検出を行うことができる。その結果、符号化効率を低下させることなく動きベクトルを検出するための演算量を削減することができる。   In the motion vector detection device according to the present embodiment, a search range for detecting a motion vector in a reference image based on the reduced motion vector detected by the reduced motion vector detector and the direction detected by the gradient detector. Is set, and a motion vector is detected in the set search range. For this reason, since motion vector detection is performed in the search range corresponding to the direction detected by the gradient detector, a range in which no motion vector exists can be excluded from the search range, and motion vector detection is performed in a narrow search range. be able to. As a result, it is possible to reduce the amount of calculation for detecting a motion vector without reducing the encoding efficiency.

図1は、本発明の実施形態に従った動きベクトル検出処理装置のブロック構成図である。
縮小画像生成器600は符号化画像610を入力として受け取り、縮小符号化画像611を出力する。また、縮小画像生成器600は参照画像612を入力として受け取り、縮小参照画像613を出力する。縮小動きベクトル検出器601は、縮小符号化画像611と縮小参照画像613を入力として受け取り、処理対象マクロブロックについての縮小動きベクトル614を出力する。周辺誤差値計算器602は、縮小符号化画像611と縮小参照画像613と縮小動きベクトル614を入力として受け取り、参照画像612における縮小動きベクトルの周囲の点の位置615と、該周囲の点を中心とする各マクロブロックの誤差値616を出力する。探索範囲設定器603は、縮小動きベクトル614と縮小動きベクトルの周囲の点の位置615と周囲の点を中心とする各マクロブロックの誤差値616を入力として受け取り、探索範囲617を出力する。動きベクトル検出器604は符号化画像610と参照画像612と縮小動きベクトル614と探索範囲617を入力として受け取り、動きベクトル618を出力する。
FIG. 1 is a block diagram of a motion vector detection processing apparatus according to an embodiment of the present invention.
The reduced image generator 600 receives the encoded image 610 as an input, and outputs a reduced encoded image 611. The reduced image generator 600 receives the reference image 612 as an input, and outputs a reduced reference image 613. The reduced motion vector detector 601 receives the reduced encoded image 611 and the reduced reference image 613 as inputs, and outputs a reduced motion vector 614 for the processing target macroblock. The peripheral error value calculator 602 receives the reduced encoded image 611, the reduced reference image 613, and the reduced motion vector 614 as inputs, and positions 615 of points around the reduced motion vector in the reference image 612 and the surrounding points as the center. The error value 616 of each macroblock is output. The search range setter 603 receives the reduced motion vector 614, the position 615 of the surrounding points of the reduced motion vector, and the error value 616 of each macroblock centered on the surrounding points as inputs, and outputs the search range 617. The motion vector detector 604 receives the encoded image 610, the reference image 612, the reduced motion vector 614, and the search range 617 as inputs, and outputs a motion vector 618.

ここで、探索範囲617は、参照画像612の中の縮小動きベクトルに対応する位置の周囲の点の内、処理対象マクロブロックと最も似通った点が存在する方向に偏った中心位置を有する比較的小さい領域とする。   Here, the search range 617 has a relatively center position that is biased in the direction in which a point most similar to the processing target macroblock exists among points around the position corresponding to the reduced motion vector in the reference image 612. A small area.

図2は、1マクロブロックの動きベクトルを検出する処理のフローチャートである。
ステップ1では、縮小画像生成器で縮小符号化画像を生成する。縮小符号化画像は符号化画像の画素を指定数おきにサンプリングすることで生成する。例えば,縦1/N,横1/Mに縮小した縮小符号化画像を生成する場合、縦方向はN画素おきに、横方向はM画素おきの画素点をサンプリング点とし、サンプリング点の画素のみからなる画像から画像を作成する。符号化画像の水平方向X、垂直方向Yの位置の画素値をP(X,Y)、縮小符号化画像の水平方向x、垂直方向yの位置の画素値をQ(x,y)で表すとすると、Q(x,y)は式(2)で与えられる。
Q(x,y)=P(M×x+m,N×y+n) ・・・式(2)
ただし、mは0以上、M未満の任意の整数を表し、nは0以上、N未満の任意の整数を表す。
FIG. 2 is a flowchart of processing for detecting a motion vector of one macroblock.
In step 1, a reduced encoded image is generated by a reduced image generator. The reduced encoded image is generated by sampling the pixels of the encoded image every specified number. For example, when generating a reduced encoded image reduced to 1 / N in the vertical direction and 1 / M in the horizontal direction, the vertical direction is set to sampling points at every N pixels, and the horizontal direction is set to every M pixels. Create an image from an image consisting of The pixel value at the position in the horizontal direction X and the vertical direction Y of the encoded image is represented by P (X, Y), and the pixel value at the position in the horizontal direction x and the vertical direction y of the reduced encoded image is represented by Q (x, y). Then, Q (x, y) is given by equation (2).
Q (x, y) = P (M × x + m, N × y + n) (2)
However, m represents an arbitrary integer of 0 or more and less than M, and n represents an arbitrary integer of 0 or more and less than N.

ステップ2における縮小参照画像も同様の方法で生成される。すなわち,参照画像の水平方向X、垂直方向Yの位置の画素値をP’(X,Y)、縮小参照画像の水平方向x、垂直方向yの位置の画素値をQ’(x,y)で表すとすると、Q’(x,y)は式(3)で
与えられる。
Q’(x,y)=P’(M×x+m,N×y+n) ・・・式(3)
ただし、mは0以上、M未満の任意の整数を表し、nは0以上、N未満の任意の整数を表す。
The reduced reference image in step 2 is also generated in the same manner. That is, the pixel value at the position of the reference image in the horizontal direction X and the vertical direction Y is P ′ (X, Y), and the pixel value at the position of the reduced reference image in the horizontal direction x and vertical position y is Q ′ (x, y). Q ′ (x, y) is given by equation (3).
Q ′ (x, y) = P ′ (M × x + m, N × y + n) (3)
However, m represents an arbitrary integer of 0 or more and less than M, and n represents an arbitrary integer of 0 or more and less than N.

図3は、縦1/2、横1/4に縮小した縮小符号化画像を生成する場合を示している。黒色の四角で示した点がサンプリング点である。
ステップ3では、ステップ1で生成した縮小符号化画像と縮小参照画像を用いて、マクロブロックごとに縮小動きベクトルを検出する。縮小探索範囲内のそれぞれの点において、式(1)を用いて誤差値Sを計算し、最小の誤差値Sを与える点(x,y)を処理対象のマクロブロックからの縮小動きベクトル91の先端とする。縮小符号化画像と縮小参照画像の縮小率が、縦1/2、横1/4の場合、マクロブロックの縦方向の画素数は8(=16/2)、横方向の画素数は4(=16/4)であるので、式(1)のΣはi=0,1,2,3,j=0,1,2,・・・,7について和をとることになる。
FIG. 3 shows a case where a reduced encoded image reduced to 1/2 in the vertical direction and 1/4 in the horizontal direction is generated. The points indicated by black squares are sampling points.
In step 3, a reduced motion vector is detected for each macroblock using the reduced encoded image and the reduced reference image generated in step 1. At each point in the reduced search range, the error value S is calculated using the equation (1), and the point (x, y) that gives the minimum error value S is represented by the reduced motion vector 91 from the macroblock to be processed. The tip. When the reduction ratio of the reduced encoded image and the reduced reference image is 1/2 vertical and 1/4 horizontal, the number of pixels in the vertical direction of the macroblock is 8 (= 16/2) and the number of pixels in the horizontal direction is 4 ( = 16/4), Σ in equation (1) is summed for i = 0, 1, 2, 3, j = 0, 1, 2,.

ステップ4では、ステップ3で得られた縮小動きベクトル91の周囲の8画素点(点A,B,C,D,E,F,G,H)が縮小動きベクトルの先端となる位置における参照画像と処理対象の符号化画像内のマクロブロックとの間での誤差値SAD_A,SAD_B,SAD_C,SAD_D,SAD_E,SAD_F,SAD_G,SAD_Hを式(1)を用いて計算し,上記8画素点の座標と誤差値を探索範囲決定器に送信する。図4に縮小動きベクトルと周囲8点の位置関係を示す。縮小動きベクトル91の水平方向成分をMVS_X,垂直方向成分をMVS_Yと表すとすると、周囲8点の座標は点A(MVS_X−1,MVS_Y),点B(MVS_X+1,MVS_Y),点C(MVS_X,MVS_Y−1),点D(MVS_X,MVS_Y+1),点E(MVS_X−1,MVS_Y−1),点F(MVS_X+1,MVS_Y−1),点G(MVS_X−1,MVS_Y+1),点H(MVS_X+1,MVS_Y+1)で表される。誤差値SAD_Aは点Aを中心とするマクロブロックにおける誤差値である。同様にSAD_B,SAD_C,SAD_D,SAD_E,SAD_F,SAD_G,SAD_Hはそれぞれ点B,C,D,E,F,G,Hにおける誤差値である。   In step 4, the reference image at the position where the eight pixel points (points A, B, C, D, E, F, G, H) around the reduced motion vector 91 obtained in step 3 are the leading edge of the reduced motion vector. And error values SAD_A, SAD_B, SAD_C, SAD_D, SAD_E, SAD_F, SAD_G, and SAD_H between these and the macroblock in the encoded image to be processed are calculated using the equation (1), and the coordinates of the above eight pixel points are calculated. And the error value are transmitted to the search range determiner. FIG. 4 shows the positional relationship between the reduced motion vector and the surrounding eight points. Assuming that the horizontal component of the reduced motion vector 91 is MVS_X and the vertical component is MVS_Y, the coordinates of the surrounding eight points are point A (MVS_X-1, MVS_Y), point B (MVS_X + 1, MVS_Y), point C (MVS_X, MVS_Y-1), point D (MVS_X, MVS_Y + 1), point E (MVS_X-1, MVS_Y-1), point F (MVS_X + 1, MVS_Y-1), point G (MVS_X-1, MVS_Y + 1), point H (MVS_X + 1, MVS_Y + 1). The error value SAD_A is an error value in the macro block centered on the point A. Similarly, SAD_B, SAD_C, SAD_D, SAD_E, SAD_F, SAD_G, and SAD_H are error values at points B, C, D, E, F, G, and H, respectively.

ステップ5では、ステップ3で縮小動きベクトル検出器から送信された縮小動きベクトルと、ステップ4で周辺誤差値計算器から送信された8画素点の座標と8画素点を縮小動きベクトルの先端とする位置での誤差値から探索範囲を決定し、動きベクトル検出器に送信する。   In step 5, the reduced motion vector transmitted from the reduced motion vector detector in step 3 and the coordinates and 8 pixel points of the 8 pixel points transmitted from the peripheral error value calculator in step 4 are used as the tips of the reduced motion vectors. The search range is determined from the error value at the position and transmitted to the motion vector detector.

図5に、図2のステップ5の処理のフローチャートを示す。ステップ11では縮小動きベクトル(MVS_X,MVS_Y)に縦方向縮小率N,横方向縮小率Mをかけて拡大動きベクトル(MVS_X’,MVS_Y’)を求める。ここで、MVS_X’=MVS_X×M,MVS_Y’=MVS_Y×Nである.ステップ12では、SAD_A,SAD_B,SAD_C,SAD_D,SAD_E,SAD_F,SAD_G,SAD_Hの中でどれが最小値であるか判定する。ステップ13では、ステップ12で求めた最小の誤差値を持つ画素点の位置から探索範囲を決定する。SAD_Aが最小である場合、探索範囲は図6(A)のように決定する。図6(A)において,斜線を引いた四角で示す点は拡大動きベクトル(MVS_X’,MVS_Y’)が指す点を表し、太線で囲まれた範囲110が探索範囲を表す。図6(A)は,横方向はMVS_X’−4からMVS_X’までが、縦方向はMVS_Y’−2からMVS_Y’+2までが探索範囲であることを示している。同様に,SAD_B,SAD_C,SAD_D,SAD_E,SAD_F,SAD_G,SAD_Hが最小である場合,それぞれ探索範囲を図6(B),(C),(D),(E),(F),(G),(H)のように決定する。決定した探索範囲は動きベクトル検出器に送信される。探索範囲は、最小の誤差値がSAD_Aの場合なら、図6(A)に設定し、SAD_Bなら、図6(B)に設定し、というように、最小の誤差値を与える画素点の位置によって予め探索範囲を決めておき、最小誤差値を与える画素点が決定したら、設定された探索範囲を設定するようにすれば良い。例えば、最小の誤差値がSAD−Aの場合は、左側の近傍値を探索するので、図6(A)が探索範囲となる。   FIG. 5 shows a flowchart of the process in step 5 of FIG. In step 11, an enlarged motion vector (MVS_X ′, MVS_Y ′) is obtained by multiplying the reduced motion vector (MVS_X, MVS_Y) by the vertical reduction rate N and the horizontal reduction rate M. Here, MVS_X ′ = MVS_X × M, MVS_Y ′ = MVS_Y × N. In step 12, it is determined which of SAD_A, SAD_B, SAD_C, SAD_D, SAD_E, SAD_F, SAD_G, and SAD_H has the minimum value. In step 13, the search range is determined from the position of the pixel point having the minimum error value obtained in step 12. When SAD_A is the minimum, the search range is determined as shown in FIG. In FIG. 6A, a hatched square point represents a point indicated by the expanded motion vector (MVS_X ′, MVS_Y ′), and a range 110 surrounded by a thick line represents a search range. FIG. 6A shows that the search range is from MVS_X′−4 to MVS_X ′ in the horizontal direction, and the search range is from MVS_Y′−2 to MVS_Y ′ + 2 in the vertical direction. Similarly, when SAD_B, SAD_C, SAD_D, SAD_E, SAD_F, SAD_G, and SAD_H are minimum, the search ranges are shown in FIGS. 6 (B), (C), (D), (E), (F), (G), respectively. ) And (H). The determined search range is transmitted to the motion vector detector. The search range is set in FIG. 6A when the minimum error value is SAD_A, set in FIG. 6B when the minimum error value is SAD_B, and so on, depending on the position of the pixel point that gives the minimum error value. The search range is determined in advance, and when the pixel point that gives the minimum error value is determined, the set search range may be set. For example, when the minimum error value is SAD-A, the neighborhood value on the left side is searched, and FIG. 6A is the search range.

ステップ6では、ステップ5にて探索範囲設定器から送信された探索範囲と、縮小動きベクトル検出器から送信された縮小動きベクトルを受信し、指定された探索範囲のそれぞれの画素点において,式(1)を用いて誤差値Sを計算し,最小の誤差値Sを与える点(x,y)を動きベクトルとする。マクロブロックの縦方向の画素数は16、横方向の画素数は16であるので、式(1)のΣはi=0,1,2,・・・,15,j=0,1,2,・・・,15について和をとることになる。   In step 6, the search range transmitted from the search range setter in step 5 and the reduced motion vector transmitted from the reduced motion vector detector are received, and at each pixel point of the designated search range, the expression ( The error value S is calculated using 1), and the point (x, y) that gives the minimum error value S is set as a motion vector. Since the number of pixels in the vertical direction of the macroblock is 16 and the number of pixels in the horizontal direction is 16, Σ in equation (1) is i = 0, 1, 2,..., 15, j = 0, 1, 2, ,..., 15 is summed.


以上の探索範囲の決定方法は、縮小動きベクトルの先端の周囲の画素の誤差値を計算し、誤差値の少ない方向に偏った探索範囲を決定するものとなっている。従来では、縮小動きベクトルの先端の周囲の探索領域内のすべての動きベクトルの候補について、元の解像度の画像における参照画像と符号化画像間での誤差値を計算し、最終的な動きベクトルを得ていたが、これでは、縮小動きベクトルの先端の領域すべてについて探索するので、探索に必要な演算量が多くなる。これに対し、上記実施形態では、縮小動きベクトルの先端において、より誤差値の小さい方向を検出し、その方向に偏った、より小さい領域を探索範囲としている。すなわち、縮小動きベクトルの先端において、より符号化画像の処理対象のブロックに似通ったマクロブロックが存在する方向の比較的小さな領域においてのみ元の解像度の画像においてマッチングを行うことになる。したがって、動きベクトルの検出精度が保たれるとともに、探索に必要な演算量を少なくすることが出来る。この比較的小さな領域の大きさは、本実施形態を実施する当業者により、決定されるべきものである。領域が大きければ、動きベクトルの検出精度は上がるが、演算量が多くなり、小さければ、動きベクトルの検出精度は低くなるが、演算量が多くなるというトレードオフの関係にあるので、実際に製造するデバイスの種類によって、領域の大きさを設定する。例えば、ビデオカメラのような大きなバッテリを搭載できるような場合には、演算量が多くなっても良いので、領域の大きさを大きくし、携帯電話に搭載されるカメラの場合には、バッテリの消費量を抑えたいので、領域の大きさを小さめに設定する。

The search range determination method described above calculates an error value of pixels around the tip of the reduced motion vector, and determines a search range biased in a direction with a small error value. Conventionally, for all motion vector candidates in the search area around the tip of the reduced motion vector, the error value between the reference image and the encoded image in the original resolution image is calculated, and the final motion vector is calculated. However, in this case, since the entire region at the tip of the reduced motion vector is searched, the amount of calculation required for the search increases. On the other hand, in the above embodiment, a direction with a smaller error value is detected at the tip of the reduced motion vector, and a smaller area biased in that direction is set as a search range. That is, matching is performed on an image with the original resolution only in a relatively small area in the direction in which a macroblock more similar to the block to be processed of the encoded image exists at the tip of the reduced motion vector. Therefore, the motion vector detection accuracy can be maintained, and the amount of calculation required for the search can be reduced. The size of this relatively small area should be determined by those skilled in the art implementing this embodiment. If the area is large, the motion vector detection accuracy increases, but the amount of computation increases.If the region is small, the motion vector detection accuracy decreases, but there is a trade-off relationship that the amount of computation increases. Set the size of the area according to the type of device to be used. For example, when a large battery such as a video camera can be mounted, the amount of calculation may be increased. Therefore, the size of the area is increased, and in the case of a camera mounted on a mobile phone, the battery To reduce consumption, set the area size to a smaller size.

あるいは、他の実施形態として、以下のようなものが考えられる。
ステップ1にて、縮小画像生成器が縮小符号化画像を生成する方法と,ステップ2にて縮小画像生成器が縮小参照画像を生成する方法は、サンプリングによる方法に限定されない。サンプリングによる方法以外の方法としては,ローパスフィルタを用いて生成する方法が考えられる。縮小符号化画像,または,縮小参照画像の水平方向x、垂直方向yの位置の画素値をQ(x,y)で表すとすると、Q(x,y)は式(4)で与えられる。
Q(x,y)=Σ(Ri×(ΣCj×P(N×x+i,M×y+j)))・・・式(4)
式(4)において、外側のΣはiについて、内側のΣはjについて和を取ることを表し、Nは水平方向の縮小率、Mは垂直方向の縮小率を表す。例えば、水平方向1/4、垂直方向1/4の縮小画像を、水平方向フィルタタップ数7、垂直方向フィルタタップ数7で縮小画像を生成する場合、N=4,M=4であり、外側のΣはi=−3,−2,−1,0,1,2,3で和を取り、内側のΣはj=−3,−2,−1,0,1,2,3で和を取る。Ri,Cjはフィルタ係数を表す。
Alternatively, as another embodiment, the following can be considered.
The method in which the reduced image generator generates a reduced encoded image in step 1 and the method in which the reduced image generator generates a reduced reference image in step 2 are not limited to sampling methods. As a method other than the sampling method, a method using a low-pass filter can be considered. If the pixel value at the position in the horizontal direction x and the vertical direction y of the reduced encoded image or the reduced reference image is represented by Q (x, y), Q (x, y) is given by Expression (4).
Q (x, y) = Σ (Ri × (ΣCj × P (N × x + i, M × y + j))) Equation (4)
In Equation (4), the outer Σ represents the sum for i, the inner Σ represents the sum for j, N represents the horizontal reduction ratio, and M represents the vertical reduction ratio. For example, when generating a reduced image of a horizontal image 1/4 and a vertical image 1/4 with a horizontal filter tap number 7 and a vertical filter tap number 7, N = 4 and M = 4, and the outside Σ is summed at i = −3, −2, −1, 0, 1, 2, 3 and Σ inside is summed at j = −3, −2, −1, 0, 1, 2, 3 I take the. Ri and Cj represent filter coefficients.

ステップ3における縮小動きベクトル検出の方法とステップ6における動きベクトル検出の方法は、全探索法に限定されない。例えば,縮小探索範囲や探索範囲が図7の120の太線で囲まれる範囲で指定されたときに、範囲内のすべての点で誤差値を評価するかわ
りに、斜線が引かれた四角で示されるチェッカーパターン状の点121でのみ誤差値を評価し、その中で最小の誤差値を与える点から縮小動きベクトルや動きベクトルを決定する方法が考えられる。または、縮小探索範囲や探索範囲が図8の140の太線で囲まれる範囲で指定されたときに,範囲内のすべての点で誤差値を評価するかわりに、斜線が引かれた四角で示される格子状の点141でのみ誤差値を評価し、その中で最小の誤差値を与える点から縮小動きベクトルや動きベクトルを決定する方法が考えられる。
The reduced motion vector detection method in step 3 and the motion vector detection method in step 6 are not limited to the full search method. For example, when a reduced search range or a search range is specified by a range surrounded by a bold line 120 in FIG. 7, instead of evaluating error values at all points in the range, it is indicated by a hatched square. A method is conceivable in which an error value is evaluated only at the checker pattern-like point 121 and a reduced motion vector or a motion vector is determined from a point that gives the smallest error value. Alternatively, when a reduced search range or a search range is specified by a range surrounded by a bold line 140 in FIG. 8, instead of evaluating error values at all points in the range, it is indicated by a hatched square. A method is conceivable in which an error value is evaluated only at the grid-like point 141 and a reduced motion vector or a motion vector is determined from the point that gives the smallest error value.

縮小動きベクトル検出や動きベクトル検出で用いる誤差値は式(1)で表される差分絶対値和に限定されるものではない。例えば、符号化対象ブロックに含まれるすべての画素値について差分絶対値和を計算する代わりに、チェッカーパターン状の点でのみ差分絶対値和を計算してもよい。この場合、誤差値Sは式(1)を用いて計算されるが、i=0,1,2,3,4,・・・,15,iが偶数の時、j=0,2,4,6,・・・,14,iが奇数の時、j=1,3,5,7,・・・,15となる。もしくは、差分絶対値和にかえて、差分二乗和を用いることも考えられる。この場合、誤差値は式(5)で計算される。S=Σ((C(i,j)−R(x+i,y+j))×(C(i,j)−R(x+i,y+j)))・・・式(5)
もしくは、動きベクトルの成分の大きさを考慮した式(6)のような誤差値を用いることも考えられる。
S=Σ|C(i,j)−R(x+i,y+j)|+λ×(Log2(x)+Log2(y))・・・式(6)
ステップ3における縮小動きベクトル検出やステップ6における動きベクトル検出の単位はマクロブロックに限定されない、複数マクロブロックを結合したブロック単位や、1マクロブロックに含まれる画素数より少数の画素で構成されるブロック単位で行うことが考えられる。
The error value used in the reduced motion vector detection or the motion vector detection is not limited to the sum of absolute differences expressed by Equation (1). For example, instead of calculating the sum of absolute differences for all the pixel values included in the encoding target block, the sum of absolute differences may be calculated only at checker pattern-like points. In this case, the error value S is calculated using equation (1). When i = 0, 1, 2, 3, 4,..., 15, i is an even number, j = 0, 2, 4 , 6,..., 14, i is an odd number, j = 1, 3, 5, 7,. Alternatively, the sum of squared differences may be used instead of the sum of absolute differences. In this case, the error value is calculated by equation (5). S = Σ ((C (i, j) −R (x + i, y + j)) × (C (i, j) −R (x + i, y + j)))) Equation (5)
Alternatively, it is conceivable to use an error value such as Equation (6) that takes into account the magnitude of the motion vector component.
S = Σ | C (i, j) −R (x + i, y + j) | + λ × (Log2 (x) + Log2 (y)) (6)
The unit of the reduced motion vector detection in step 3 or the motion vector detection in step 6 is not limited to a macroblock, but is a block unit in which a plurality of macroblocks are combined or a block composed of a smaller number of pixels than the number of pixels included in one macroblock. This can be done in units.

ステップ4における縮小動きベクトルの周囲の画素点の取り方は,図4に示す8点に限定されない。例えば、図4の点A,B,C,Dの4点のみとしてもよいし,図9に示すように,縮小参照画像において縮小動きベクトルから2画素ずつずれた点a,b,c,d,e,f,g,hの8点とする方法などが考えられる。   The method of obtaining pixel points around the reduced motion vector in step 4 is not limited to the eight points shown in FIG. For example, only four points A, B, C, and D in FIG. 4 may be used, and as shown in FIG. 9, points a, b, c, and d shifted by two pixels from the reduced motion vector in the reduced reference image. , E, f, g, and h.

ステップ5における探索範囲の決定方法は,上記した方法に限定されない。例えば、最小の誤差値を与える点から探索範囲を決定する代わりに、最大の誤差値を与える点から探索範囲を決定する方法などが考えられる。この場合、SAD_A,SAD_B,SAD_C,SAD_E,SAD_F,SAD_G,SAD_Hの中での最大値がSAD_Aの場合、探索範囲を図6(B)と決定する.同様に,最大値がSAD_B,SAD_C,SAD_D,SAD_E,SAD_F,SAD_G,SAD_Hの場合,それぞれ探索範囲を図6(A),(D),(C),(H),(G),(F),(E)と決定する.もしくは,図5のステップ13において,SAD_A,SAD_B,SAD_C,SAD_D,SAD_E,SAD_F,SAD_G,SAD_Hの中の最小値が閾値SAD_THよりも大きい場合は、探索範囲を図6(I)と決定し、閾値SAD_THよりも小さい場合は図6(A),(B),(C),(D),(E),(F),(G),(H)の中から決定する方法などが考えられる。   The method of determining the search range in step 5 is not limited to the method described above. For example, instead of determining the search range from the point giving the minimum error value, a method of determining the search range from the point giving the maximum error value can be considered. In this case, when the maximum value among SAD_A, SAD_B, SAD_C, SAD_E, SAD_F, SAD_G, and SAD_H is SAD_A, the search range is determined as FIG. 6B. Similarly, when the maximum value is SAD_B, SAD_C, SAD_D, SAD_E, SAD_F, SAD_G, SAD_H, the search ranges are shown in FIGS. 6 (A), (D), (C), (H), (G), (F), respectively. ), (E). Or, in step 13 of FIG. 5, when the minimum value among SAD_A, SAD_B, SAD_C, SAD_D, SAD_E, SAD_F, SAD_G, and SAD_H is larger than the threshold value SAD_TH, the search range is determined as FIG. If it is smaller than the threshold value SAD_TH, a method of determining from among FIGS. 6 (A), (B), (C), (D), (E), (F), (G), (H) can be considered. .

本実施形態は,CPU上で実行されるソフトウェアプログラムの形態で提供されてもよいし、専用回路で構成されたハードウェアの形態で提供されてもよい。   The present embodiment may be provided in the form of a software program executed on the CPU, or may be provided in the form of hardware configured with a dedicated circuit.

以上の実施形態のほかに、以下の付記を開示する。
(付記1)
動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理装置であって、
第1精度で動きベクトルを検出する第1動きベクトル検出手段と、
前記第1動きベクトル検出手段が検出する第1動きベクトルの周囲の点での誤差値を計算する周辺誤差値計算手段と、
前記第1動きベクトルと前記周辺誤差値計算手段が計算する周囲の点での誤差値から、各周囲の点に特有の動き検出の探索範囲を決定する探索範囲決定手段と、
前記探索範囲決定手段が決定した探索範囲で、前記第1精度よりも高い精度の第2精度で動きベクトル検出を行う第2動きベクトル検出手段と、
を備えることを特徴とする動きベクトル検出処理装置。
(付記2)
前記第1動きベクトル検出手段は、符号化対象の画像を縮小した縮小符号化画像と参照画像を縮小した縮小参照画像の間で第1動きベクトル検出を行うことを特徴とする付記1に記載の動きベクトル検出処理装置。
(付記3)
前記第1動きベクトル検出手段は,サンプリングした探索位置において誤差値計算を行い、第1動きベクトル検出を行うことを特徴とする付記1に記載の動きベクトル検出処理装置。
(付記4)
前記探索範囲決定手段が決定する探索範囲の中心点が、前記第1動きベクトルが指し示す点からずれていることを特徴とする付記1に記載の動きベクトル検出処理装置。
(付記5)
前記探索範囲は、前記第1動きベクトルが指し示す点に対して前記周囲の点がずれている方向に、その中心点がずれていることを特徴とする付記4に記載の動きベクトル検出処理装置。
(付記6)
動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理方法であって、
第1精度で動きベクトルを検出し、
前記第1動きベクトル検出ステップが検出する第1動きベクトルの周囲の点での誤差値を計算し、
前記第1動きベクトルと前記計算ステップで計算する周囲の点での誤差値から、各周囲の点に特有の動き検出の探索範囲を決定し、
前記探索範囲決定ステップで決定した探索範囲で、前記第1精度よりも高い精度の第2精度で動きベクトル検出を行う、
ことを特徴とする動きベクトル検出処理方法。
(付記7)
動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理方法をコンピュータに実現させるプログラムであって、コンピュータに、
第1精度で動きベクトルを検出し、
前記第1動きベクトル検出ステップが検出する第1動きベクトルの周囲の点での誤差値を計算し、
前記第1動きベクトルと前記計算ステップで計算する周囲の点での誤差値から、各周囲の点に特有の動き検出の探索範囲を決定し、
前記探索範囲決定ステップで決定した探索範囲で、前記第1精度よりも高い精度の第2精度で動きベクトル検出を行う、
処理を行わせることを特徴とするプログラム。
(付記8)
動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を粗い精度での動きベクトル検出と、前記粗い精度で検出した動きベクトルの周囲について細かい精度で動きベクトル検出を行う階層的動きベクトル検出装置であって、
粗い精度で動きベクトルを検出する粗粒度動きベクトル検出器と、
前記粗粒度動きベクトル検出器が検出する粗粒度動きベクトルの周囲の点での誤差値を計算する周辺誤差値計算器と、
前記粗粒度動きベクトルと前記周辺誤差値計算器が計算する周囲の点での誤差値から細粒度動き検出の探索範囲を決定する探索範囲決定器と、
前記探索範囲決定器が決定した探索範囲で細かい精度で動きベクトル検出を行う動きベクトル検出器を備えることを特徴とする動きベクトル検出装置。
In addition to the above embodiments, the following supplementary notes are disclosed.
(Appendix 1)
A motion vector detection processing device for detecting a motion vector necessary for motion compensation inter-frame prediction in moving image encoding processing,
First motion vector detection means for detecting a motion vector with a first accuracy;
A peripheral error value calculating means for calculating an error value at a point around the first motion vector detected by the first motion vector detecting means;
Search range determining means for determining a motion detection search range specific to each surrounding point from the error values at the surrounding points calculated by the first motion vector and the surrounding error value calculating means;
In the search range determined by the search range determination means, second motion vector detection means for performing motion vector detection with a second accuracy higher than the first accuracy;
A motion vector detection processing apparatus comprising:
(Appendix 2)
The first motion vector detection means performs first motion vector detection between a reduced encoded image obtained by reducing an image to be encoded and a reduced reference image obtained by reducing a reference image. Motion vector detection processing device.
(Appendix 3)
The motion vector detection processing apparatus according to appendix 1, wherein the first motion vector detection means performs error value calculation at a sampled search position and performs first motion vector detection.
(Appendix 4)
The motion vector detection processing apparatus according to appendix 1, wherein a center point of the search range determined by the search range determination unit is shifted from a point indicated by the first motion vector.
(Appendix 5)
The motion vector detection processing apparatus according to appendix 4, wherein the search range has a center point shifted in a direction in which the surrounding points are shifted from a point indicated by the first motion vector.
(Appendix 6)
A motion vector detection processing method for detecting a motion vector necessary for motion compensation interframe prediction in a video encoding process,
Detect motion vectors with first accuracy,
Calculating error values at points around the first motion vector detected by the first motion vector detection step;
From the first motion vector and the error value at the surrounding points calculated in the calculating step, a search range for motion detection specific to each surrounding point is determined,
In the search range determined in the search range determination step, motion vector detection is performed with a second accuracy higher than the first accuracy.
A motion vector detection processing method characterized by the above.
(Appendix 7)
A program for causing a computer to implement a motion vector detection processing method for detecting a motion vector necessary for motion compensation interframe prediction in a moving image encoding process,
Detect motion vectors with first accuracy,
Calculating error values at points around the first motion vector detected by the first motion vector detection step;
From the first motion vector and the error value at the surrounding points calculated in the calculating step, a search range for motion detection specific to each surrounding point is determined,
In the search range determined in the search range determination step, motion vector detection is performed with a second accuracy higher than the first accuracy.
A program characterized by causing processing to be performed.
(Appendix 8)
Hierarchical motion that performs motion vector detection with coarse accuracy and motion vector detection with fine accuracy around the motion vector detected with the coarse accuracy. A vector detection device,
A coarse-grain motion vector detector for detecting motion vectors with coarse accuracy;
A peripheral error value calculator for calculating an error value at a point around the coarse grain motion vector detected by the coarse grain motion vector detector;
A search range determiner for determining a search range for fine-grained motion detection from error values at surrounding points calculated by the coarse-grained motion vector and the peripheral error value calculator;
A motion vector detection device comprising a motion vector detector that performs motion vector detection with a fine accuracy within a search range determined by the search range determiner.

本発明の実施形態に従った動きベクトル検出処理装置のブロック構成図である。It is a block block diagram of the motion vector detection processing apparatus according to the embodiment of the present invention. 1マクロブロックの動きベクトルを検出する処理のフローチャートである。It is a flowchart of the process which detects the motion vector of 1 macroblock. 縦1/2、横1/4に縮小した縮小符号化画像を生成する場合を示す図である。It is a figure which shows the case where the reduction | restoration encoding image reduced to vertical 1/2 and horizontal 1/4 is produced | generated. 縮小動きベクトルと周囲8点の位置関係を示す図である。It is a figure which shows the positional relationship of a reduction | decrease motion vector and eight surrounding points. 図2のステップ6の処理のフローチャートである。It is a flowchart of the process of step 6 of FIG. 探索範囲の設定例を示す図である。It is a figure which shows the example of a setting of a search range. チェッカーパターン状の点でのみ誤差値を評価し、その中で最小の誤差値を与える点から縮小動きベクトルや動きベクトルを決定する方法を説明する図である。It is a figure explaining the method of determining a reduced motion vector and a motion vector from the point which evaluates an error value only at a checkered pattern-like point and gives the minimum error value in the point. 斜線が引かれた四角で示される格子状の点でのみ誤差値を評価し、その中で最小の誤差値を与える点から縮小動きベクトルや動きベクトルを決定する方法を説明する図である。It is a figure explaining the method to determine a reduction | decrease motion vector and a motion vector from the point which gives the minimum error value in the error value only in the grid | lattice-like point shown with the oblique line. 縮小動きベクトルの周囲の画素点の取り方の別の例を示す図である。It is a figure which shows another example of the method of taking the pixel point around a reduction | decrease motion vector. 符号化処理対象画像の構成を説明する図である。It is a figure explaining the structure of an encoding process target image. 従来の動きベクトル検出方法が動きベクトルを検出するための参照画像の構成を説明するための図である。It is a figure for demonstrating the structure of the reference image for the conventional motion vector detection method to detect a motion vector. 従来の階層的探索法を用いた動きベクトル検出装置における縮小符号化画像30を説明するための模式図である。It is a schematic diagram for demonstrating the reduction | restoration encoding image 30 in the motion vector detection apparatus using the conventional hierarchical search method. 従来の階層的探索法を用いた動きベクトル検出装置における縮小参照画像40を説明するための模式図である。It is a schematic diagram for demonstrating the reduction | restoration reference image 40 in the motion vector detection apparatus using the conventional hierarchical search method. 従来の階層的探索法を用いた動きベクトル検出装置における動きベクトルを検出する方法を説明するための模式図である。It is a schematic diagram for demonstrating the method of detecting the motion vector in the motion vector detection apparatus using the conventional hierarchical search method.

符号の説明Explanation of symbols

600 縮小画像生成器
601 縮小動きベクトル検出器
602 周辺誤差値計算器
603 探索範囲設定器
604 動きベクトル検出器
600 Reduced image generator 601 Reduced motion vector detector 602 Peripheral error value calculator 603 Search range setter 604 Motion vector detector

Claims (5)

動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理装置であって、
粗い精度で動きベクトルを検出する第1動きベクトル検出手段と、
前記第1動きベクトル検出手段が検出する第1動きベクトルの周囲の点での誤差値を計算する周辺誤差値計算手段と、
前記第1動きベクトルと前記周辺誤差値計算手段が計算する周囲の点での誤差値から、各周囲の点に特有の動き検出の探索範囲を決定する探索範囲決定手段と、
前記探索範囲決定手段が決定した探索範囲で、前記第1精度よりも高い精度の第2の精度で動きベクトル検出を行う第2動きベクトル検出手段と、
を備えることを特徴とする動きベクトル検出処理装置。
A motion vector detection processing device for detecting a motion vector necessary for motion compensation inter-frame prediction in moving image encoding processing,
First motion vector detection means for detecting a motion vector with coarse accuracy;
Peripheral error value calculating means for calculating error values at points around the first motion vector detected by the first motion vector detecting means;
Search range determining means for determining a motion detection search range specific to each surrounding point from the error value at the surrounding point calculated by the first motion vector and the surrounding error value calculating means;
Second motion vector detection means for performing motion vector detection with a second accuracy higher than the first accuracy in the search range determined by the search range determination means;
A motion vector detection processing apparatus comprising:
前記探索範囲決定手段が決定する探索範囲の中心点が、前記第1動きベクトルが指し示す点からずれていることを特徴とする請求項1に記載の動きベクトル検出処理装置。   The motion vector detection processing apparatus according to claim 1, wherein a center point of a search range determined by the search range determination unit is shifted from a point indicated by the first motion vector. 前記探索範囲は、前記第1動きベクトルが指し示す点に対して前記周囲の点がずれている方向に、その中心点がずれていることを特徴とする請求項2に記載の動きベクトル検出処理装置。   The motion vector detection processing device according to claim 2, wherein a center point of the search range is shifted in a direction in which the surrounding points are shifted from a point indicated by the first motion vector. . 動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理方法であって、
粗い精度で動きベクトルを検出し、
前記第1動きベクトル検出ステップが検出する第1動きベクトルの周囲の点での誤差値を計算し、
前記第1動きベクトルと前記計算ステップで計算する周囲の点での誤差値から、各周囲の点に特有の動き検出の探索範囲を決定し、
前記探索範囲決定ステップで決定した探索範囲で、前記第1精度よりも高い精度の第2精度で動きベクトル検出を行う、
ことを特徴とする動きベクトル検出処理方法。
A motion vector detection processing method for detecting a motion vector necessary for motion compensation interframe prediction in a video encoding process,
Detect motion vectors with coarse accuracy,
Calculating error values at points around the first motion vector detected by the first motion vector detection step;
From the first motion vector and the error value at the surrounding points calculated in the calculating step, a search range for motion detection specific to each surrounding point is determined,
In the search range determined in the search range determination step, motion vector detection is performed with a second accuracy higher than the first accuracy.
A motion vector detection processing method characterized by the above.
動画像符号化処理における動き補償フレーム間予測に必要な動きベクトルの検出を行う動きベクトル検出処理方法をコンピュータに実現させるプログラムであって、コンピュータに、
粗い精度で動きベクトルを検出し、
前記第1動きベクトル検出ステップが検出する第1動きベクトルの周囲の点での誤差値を計算し、
前記第1動きベクトルと前記計算ステップで計算する周囲の点での誤差値から、各周囲の点に特有の動き検出の探索範囲を決定し、
前記探索範囲決定ステップで決定した探索範囲で、前記第1精度よりも高い精度の第2精度で動きベクトル検出を行う、
処理を行わせることを特徴とするプログラム。
A program for causing a computer to implement a motion vector detection processing method for detecting a motion vector necessary for motion compensation interframe prediction in a moving image encoding process,
Detect motion vectors with coarse accuracy,
Calculating error values at points around the first motion vector detected by the first motion vector detection step;
From the first motion vector and the error value at the surrounding points calculated in the calculating step, a search range for motion detection specific to each surrounding point is determined,
In the search range determined in the search range determination step, motion vector detection is performed with a second accuracy higher than the first accuracy.
A program characterized by causing processing to be performed.
JP2008239268A 2008-09-18 2008-09-18 Motion vector detection processing apparatus Withdrawn JP2010074496A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008239268A JP2010074496A (en) 2008-09-18 2008-09-18 Motion vector detection processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008239268A JP2010074496A (en) 2008-09-18 2008-09-18 Motion vector detection processing apparatus

Publications (1)

Publication Number Publication Date
JP2010074496A true JP2010074496A (en) 2010-04-02

Family

ID=42205874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008239268A Withdrawn JP2010074496A (en) 2008-09-18 2008-09-18 Motion vector detection processing apparatus

Country Status (1)

Country Link
JP (1) JP2010074496A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012019465A (en) * 2010-07-09 2012-01-26 Canon Inc Image processing device and image processing method
JP2012065176A (en) * 2010-09-16 2012-03-29 Fujitsu Ltd Moving image encoder
US8953097B2 (en) 2011-11-15 2015-02-10 Nec Corporation Motion vector estimation device, motion vector estimation method, and program for estimating motion vector
JP2015142233A (en) * 2014-01-28 2015-08-03 富士通株式会社 Moving picture encoder

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012019465A (en) * 2010-07-09 2012-01-26 Canon Inc Image processing device and image processing method
JP2012065176A (en) * 2010-09-16 2012-03-29 Fujitsu Ltd Moving image encoder
US8953097B2 (en) 2011-11-15 2015-02-10 Nec Corporation Motion vector estimation device, motion vector estimation method, and program for estimating motion vector
JP2015142233A (en) * 2014-01-28 2015-08-03 富士通株式会社 Moving picture encoder

Similar Documents

Publication Publication Date Title
JP4166781B2 (en) Motion vector detection apparatus and motion vector detection method
US11206420B2 (en) Encoding/decoding method, encoding apparatus, decoding apparatus, and system for video with forward and backward reference blocks
JP4523023B2 (en) Image coding apparatus and method
TWI660623B (en) Motion vector prediction decoding method and prediction decoding device
US9813703B2 (en) Compressed dynamic image encoding device, compressed dynamic image decoding device, compressed dynamic image encoding method and compressed dynamic image decoding method
KR20110008653A (en) Method and apparatus for predicting motion vector and method and apparatus of encoding/decoding a picture using the same
JP2007124408A (en) Motion vector detector and motion vector detecting method
WO2006013877A1 (en) Motion vector detecting device, and motion vector detecting method
JP2006245932A (en) Moving picture processing apparatus, method, and program
WO2010070809A1 (en) Image pickup apparatus
JP4523625B2 (en) Image coding apparatus and method
JP2010074496A (en) Motion vector detection processing apparatus
JP2007129370A (en) Motion vector detecting apparatus and method
JP2008219141A (en) Motion vector detector, image encoder and imaging apparatus employing the same
CN114727114B (en) Method and device for determining motion vector
JP4523024B2 (en) Image coding apparatus and image coding method
JP2007158855A (en) Motion vector detector and motion vector detecting method
JP4235209B2 (en) Motion vector detection apparatus and motion vector detection method
JP4797999B2 (en) Image encoding / decoding device
JP5353719B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding program
JP2009267726A (en) Moving image encoding apparatus, recorder, moving image encoding method, moving image encoding program
JP2006217486A (en) Motion compensation type ip conversion processor and processing method
JP2016052056A (en) Encoding circuit, and encoding method
JP2011055554A (en) Motion image decoding device, and motion image encoding device
JP2008118340A (en) Motion vector detecting device and video signal processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111206