[go: up one dir, main page]

JP2011130265A - Motion vector detection apparatus, motion vector detection method and program - Google Patents

Motion vector detection apparatus, motion vector detection method and program Download PDF

Info

Publication number
JP2011130265A
JP2011130265A JP2009287854A JP2009287854A JP2011130265A JP 2011130265 A JP2011130265 A JP 2011130265A JP 2009287854 A JP2009287854 A JP 2009287854A JP 2009287854 A JP2009287854 A JP 2009287854A JP 2011130265 A JP2011130265 A JP 2011130265A
Authority
JP
Japan
Prior art keywords
motion vector
block
search
motion
macroblock
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.)
Granted
Application number
JP2009287854A
Other languages
Japanese (ja)
Other versions
JP5185244B2 (en
Inventor
Takayuki Onishi
隆之 大西
Taku Sano
卓 佐野
Hiroe Iwasaki
裕江 岩崎
Kazuto Kamikura
一人 上倉
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009287854A priority Critical patent/JP5185244B2/en
Publication of JP2011130265A publication Critical patent/JP2011130265A/en
Application granted granted Critical
Publication of JP5185244B2 publication Critical patent/JP5185244B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】動きベクトル検出装置が動き探索を行う際に、擾乱の影響を受けにくくし、かつ、動き探索の演算量を削減する。
【解決手段】一次探索器6がマクロブロック単位で一次探索を行い、近傍探索器8は、一次探索の結果得られる一次動きベクトル周辺およびゼロベクトル周辺等の近傍探索を、マクロブロックサイズ未満のブロック単位で行う。ブロック統合器11は、ブロック毎の動きベクトルに応じて互いに隣接するブロックを結合することにより、マクロブロックに適用するブロックサイズを決定し、各ブロックの動きベクトルを決定する。
【選択図】図1
When a motion vector detection apparatus performs a motion search, the motion vector detection apparatus is less susceptible to disturbances and reduces the amount of motion search computation.
A primary searcher 6 performs a primary search in units of macroblocks, and a neighborhood searcher 8 performs a neighborhood search around a primary motion vector and a zero vector obtained as a result of the primary search, for blocks smaller than the macroblock size. Do it in units. The block integrator 11 combines adjacent blocks according to the motion vector for each block, thereby determining the block size to be applied to the macroblock and determining the motion vector of each block.
[Selection] Figure 1

Description

本発明は、動きベクトル検出装置、動きベクトル検出方法およびプログラムに関する。   The present invention relates to a motion vector detection device, a motion vector detection method, and a program.

動画像を圧縮符号化する動画像符号化方式として、MPEG(Moving Picture Experts Group)符号化方式や、H.264/AVC符号化方式などが知られている。MPEG符号化方式として、ディジタル放送やDVDなどの高画質用途にはMPEG−2符号化方式が用いられ、携帯テレビ電話などの低ビットレート用途にはMPEG−4符号化方式が広く用いられている。また、H.264/AVC符号化方式は、ITU−T(The International Telecommunication Union Telecommunication Standardization Sector)とMPEGとが共同で標準化を行った符号化方式であり、高画質と高圧縮率とを両立する新たな方式として注目を集めている。   As a moving picture coding method for compressing and coding a moving picture, MPEG (Moving Picture Experts Group) coding method, The H.264 / AVC encoding method and the like are known. As an MPEG encoding method, the MPEG-2 encoding method is used for high image quality applications such as digital broadcasting and DVD, and the MPEG-4 encoding method is widely used for low bit rate applications such as mobile videophones. . H. The H.264 / AVC encoding system is an encoding system jointly standardized by ITU-T (The International Telecommunication Union Telecommunication Standardization Sector) and MPEG, and is a new system that achieves both high image quality and high compression rate. It attracts attention.

これらの動画像符号化方式では、一般に、動き予測(インター予測)を行って符号量の削減を図っている。動き予測は、ある一枚の画像(フレーム(Frame))を分割した一部分であるマクロブロック(Macroblock;MB))を符号化する際に、時間的に過去ないし未来に位置する画像(参照画像)の中から、符号化対象のマクロブロック、あるいは、このマクロブロックをさらに分割したブロックと画像が類似する領域を探索し、探索によって検出した領域の画像と符号化対象の画像との差分を取って符号化を行う技術であり、時間的に連続して存在する被写体を示す符号量を大きく削減することができる。この、符号化対象のマクロブロックまたはブロックと画像が類似する領域を探索する作業を、「動き探索」と呼ぶ。
MPEG方式や、H.264/AVC方式では、符号化対象の画像は、Iピクチャ(Intra-coded Picture)とPピクチャ(Predicated Picture)とBピクチャ(Bi-directed Picture)との3種類に分類される。Iピクチャは、動き予測を行わない画像であり、PピクチャやBピクチャで参照される。Pピクチャは、時間的に過去に位置するIピクチャまたはPピクチャを用いて、1方向の動き予測を行う画像である。Bピクチャは、時間的に過去に位置するIピクチャまたはPピクチャ、および、未来に位置するIピクチャまたはPピクチャを用いて、双方向の動き予測を行う画像である。
In these moving image encoding methods, generally, motion prediction (inter prediction) is performed to reduce the code amount. In motion prediction, when a single image (a macroblock (MB) that is a part of a frame) is encoded, an image (reference image) positioned in the past or future in terms of time. Search for a macroblock to be encoded, or a region similar to the image obtained by further dividing the macroblock, and obtain a difference between the image of the region detected by the search and the image to be encoded. This is a technique for encoding, and can greatly reduce the amount of code indicating a subject that exists continuously in time. This operation of searching for an encoding target macroblock or an area similar to an image of a block is called “motion search”.
MPEG system, H.264, etc. In the H.264 / AVC format, images to be encoded are classified into three types of I pictures (Intra-coded Pictures), P pictures (Predicated Pictures), and B pictures (Bi-directed Pictures). The I picture is an image for which motion prediction is not performed, and is referred to as a P picture or a B picture. A P picture is an image in which motion prediction in one direction is performed using an I picture or P picture located in the past in time. A B picture is an image that performs bidirectional motion prediction using an I picture or P picture located in the past in time and an I picture or P picture located in the future.

図12は、MPEG−2やH.264/AVCの動き予測において参照する画像の例を示す図である。
MPEG−2の動き予測では、PピクチャやBピクチャで参照する画像は、直前や直後に位置する画像に一意に定まる。Pピクチャの動き予測で参照する画像は、直前のIピクチャまたはPピクチャである。図12(a)の例では、時間順に5枚の画像P1215〜P1211が示されており、P1215とP1213とP1211とがPピクチャであり、P1214とP1212とがBピクチャである。このうち、PピクチャP1211の動き予測を行う際に、直前のPピクチャP1213を参照している。また、Bピクチャの動き予測で参照する画像は、直前のIピクチャまたはPピクチャ、および、直後のIピクチャまたはPピクチャである。図12(a)の例では、BピクチャP1212の動き予測を行う際に、直前のPピクチャP1213と直後のPピクチャP1211とを参照している。
12 shows MPEG-2 and H.264. 2 is a diagram illustrating an example of an image referred to in H.264 / AVC motion prediction.
In the motion prediction of MPEG-2, an image referred to by a P picture or a B picture is uniquely determined as an image located immediately before or after. The picture referred to in the motion prediction of the P picture is the immediately preceding I picture or P picture. In the example of FIG. 12A, five images P1215 to P1211 are shown in time order, P1215, P1213, and P1211 are P pictures, and P1214 and P1212 are B pictures. Among these, the P picture P1213 is referred to immediately before the motion prediction of the P picture P1211. In addition, the images referred to in the motion prediction of the B picture are the immediately preceding I picture or P picture, and the immediately following I picture or P picture. In the example of FIG. 12A, when the motion prediction of the B picture P1212 is performed, the immediately preceding P picture P1213 and the immediately following P picture P1211 are referred to.

これに対し、H.264/AVC符号化方式では、符号化効率を高めるため、動き予測に使用する参照画像を、多数の候補の中から選択することができる。
図12(b)の例では、時間順に5枚の画像P1225〜P1221が示されており、P1225とP1223とP1221とがPピクチャであり、P1224とP1222とがBピクチャである。このうち、PピクチャP25の動き予測を行う際に、時間的に前方向のIピクチャおよびPピクチャ(かつ参照画像メモリから削除されていないもの)から、参照画像としてPピクチャP1225およびP1223を選択している。また、図12(b)の例では、BピクチャP24の動き予測を行う際に、時間的に前方向のPピクチャP1225およびP1223と、時間的に後方向のPピクチャP1221とを選択している。
On the other hand, H.H. In the H.264 / AVC encoding scheme, a reference image used for motion prediction can be selected from a large number of candidates in order to increase encoding efficiency.
In the example of FIG. 12B, five images P1225 to P1221 are shown in time order, P1225, P1223, and P1221 are P pictures, and P1224 and P1222 are B pictures. Among these, when performing motion prediction of P picture P25, P pictures P1225 and P1223 are selected as reference pictures from temporally forward I and P pictures (and not deleted from the reference picture memory). ing. In the example of FIG. 12B, when performing motion prediction of the B picture P24, temporally forward P pictures P1225 and P1223 and temporally backward P picture P1221 are selected. .

図13は、H.264/AVC符号化方式で、動き予測を行う単位となるブロックのサイズを示す図である。
MPEG−2符号化方式では、動き予測を行う単位は、横16×縦16画素のマクロブロック単位(、あるいは、符号化モードによっては横16×縦8画素ブロック単位)に限定されている。これに対して、H.264/AVC符号化方式では、同図に示す横16×縦16画素ブロックB1311、横16×縦8画素ブロックB1321およびB1322、横8×縦16画素ブロックB1331およびB1332、横8×縦8画素ブロックB1341〜B1344、さらには横8×縦8画素の各ブロックをさらに分割した横8×縦4画素のサブブロックB1351およびB1352、横4×縦8画素のサブブロックB1361およびB1362、横4×縦4画素のサブブロックB1371〜B1374の中から、いずれかの分割方法を選択する。そして、ブロック毎あるいはサブブロック毎に、符号化対象の画像のブロックまたはサブブロックに類似する参照画像上の領域を探索する動き探索を行って、この領域を示す動きベクトル(Motion Vector;MV)を算出し、ブロック毎あるいはサブブロック毎に動き予測を行うことができる。ここでいう「動きベクトル」は、動き探索で探索した参照画像上の領域を示すベクトルであり、符号化対象のブロックあるいはサブブロックの座標から探索した領域の座標への相対座標で示される。
FIG. 2 is a diagram illustrating the size of a block serving as a unit for performing motion prediction in the H.264 / AVC encoding scheme. FIG.
In the MPEG-2 encoding method, the unit for motion prediction is limited to a macro block unit of 16 horizontal x 16 vertical pixels (or 16 horizontal x 8 pixel block units depending on the encoding mode). On the other hand, H.H. In the H.264 / AVC encoding method, the horizontal 16 × vertical 16 pixel block B1311, the horizontal 16 × vertical 8 pixel block B1321 and B1322, the horizontal 8 × vertical 16 pixel block B1331 and B1332, and the horizontal 8 × vertical 8 pixel block shown in FIG. B1341 to B1344, subblocks B1351 and B1352 of horizontal 8 × vertical 4 pixels obtained by further dividing each block of horizontal 8 × vertical 8 pixels, subblocks B1361 and B1362 of horizontal 4 × vertical 8 pixels, horizontal 4 × vertical 4 One of the division methods is selected from the pixel sub-blocks B1371 to B1374. Then, for each block or subblock, a motion search is performed to search for a region on the reference image similar to the block or subblock of the image to be encoded, and a motion vector (MV) indicating this region is obtained. It is possible to calculate and perform motion prediction for each block or each sub-block. The “motion vector” here is a vector indicating a region on the reference image searched by motion search, and is indicated by a relative coordinate from the coordinates of the block or sub-block to be encoded to the coordinates of the searched region.

また、MPEG−2符号化方式では、動き探索の際に参照画像上の領域を0.5画素(ハーフペル、Half-Pel)精度で探索するのに対し、H.264/AVC符号化方式では、0.25画素(クォータペル、Quarter-Pel)精度で探索できる。これにより、H.264/AVC符号化方式では、より精度の高い動き予測を行うことができる。   In the MPEG-2 encoding method, an area on a reference image is searched with 0.5 pixel (half-pel) accuracy in motion search. In the H.264 / AVC encoding method, a search can be performed with an accuracy of 0.25 pixels (Quarter-Pel). As a result, H.C. With the H.264 / AVC encoding method, more accurate motion prediction can be performed.

H.264/AVC符号化方式のように、参照画像および符号化対象ブロックサイズを多くの候補から選択できる場合、符号化効率を向上させるために、理想的にはすべての参照画像とブロックサイズとを候補として動き探索を行い、最適な参照画像およびブロックサイズを決定することが望ましい。しかし、全ての参照画像とブロックサイズとについて動き探索を行うと、演算量が膨大になってしまう。そこで、一般的な符号化器では、2段階で動き探索を行うことにより、演算量を削減する。例えば特許文献1の方法では、まず、限定されたブロックサイズで、複数の参照画像に対する広範囲な動き探索を行う一次探索により、参照画像とブロックサイズとの候補を絞り込む。そして、一次探索の結果に基づいて、その他のブロックサイズも含めた詳細な動き探索である二次探索を行い、最終的な参照画像やブロックサイズを選択し、ブロック毎の動きベクトルを検出する。   When the reference image and the encoding target block size can be selected from a large number of candidates as in the H.264 / AVC encoding scheme, all reference images and block sizes are ideally selected in order to improve the encoding efficiency. It is desirable to perform a motion search using as candidates and determine an optimal reference image and block size. However, if motion search is performed for all reference images and block sizes, the amount of computation becomes enormous. Therefore, in a general encoder, the amount of calculation is reduced by performing motion search in two stages. For example, in the method of Patent Literature 1, first, candidates for a reference image and a block size are narrowed down by a primary search that performs a wide range of motion searches for a plurality of reference images with a limited block size. Based on the result of the primary search, a secondary search, which is a detailed motion search including other block sizes, is performed, a final reference image and a block size are selected, and a motion vector for each block is detected.

図14は、特許文献1の方法にて行う一次探索の例を示す図である。
同図に示すように、動きベクトル探索装置は、限定されたブロックサイズ、例えば横8×縦8画素ブロックB1511〜B1514のみについて一次探索を行う。同図では、3枚の参照画像P1411〜P1413が示されており、動きベクトル探索装置は、これらの参照画像について、横8×縦8画素ブロックによる整数画素精度の動き探索を行う。そして、動きベクトル探索装置は、ブロック毎に、参照画素の候補を参照画像P1411〜P1413の何れかに決定し、また、ブロック毎に、整数画素精度の動きベクトルを検出する。
FIG. 14 is a diagram illustrating an example of a primary search performed by the method of Patent Document 1.
As shown in the figure, the motion vector search device performs a primary search only for a limited block size, for example, horizontal 8 × vertical 8 pixel blocks B1511 to B1514. In the figure, three reference images P1411 to P1413 are shown, and the motion vector search device performs a motion search with integer pixel accuracy using a horizontal 8 × vertical 8 pixel block for these reference images. Then, the motion vector search device determines a reference pixel candidate as one of the reference images P1411 to P1413 for each block, and detects an integer pixel precision motion vector for each block.

図15は、特許文献1の方法にて行う二次探索の例を示す図である。
同図に示すように、動きベクトル探索装置は、一次探索の結果を元に、さまざまなブロックサイズでの動き探索を行う。
まず、動きベクトル探索装置は、横16×縦16画素ブロックB1521について、1次探索の左上のブロックB1511で決定した参照画像(参照画像(1))について、このブロックの動きベクトル(MV(1))が示す座標を中心として、0.25画素精度の動き探索を±0.75画素の範囲で行う。
1次探索の他のブロックB1512〜B1514についても同様に、決定した参照画像について、当該ブロックの動きベクトルが示す座標を中心として、0.25画素精度の動き探索を±0.75画素の範囲で行う。
FIG. 15 is a diagram illustrating an example of a secondary search performed by the method of Patent Document 1.
As shown in the figure, the motion vector search device performs a motion search with various block sizes based on the result of the primary search.
First, for the reference image (reference image (1)) determined in the upper left block B1511 of the primary search for the horizontal 16 × vertical 16 pixel block B1521, the motion vector search device uses the motion vector (MV (1)) of this block. A motion search with an accuracy of 0.25 pixel is performed in a range of ± 0.75 pixels centering on the coordinates indicated by ().
Similarly for the other blocks B1512 to B1514 of the primary search, a motion search with an accuracy of 0.25 pixel is performed in the range of ± 0.75 pixels with respect to the determined reference image, centering on the coordinates indicated by the motion vector of the block. Do.

横16×縦8画素ブロックの場合、このブロックは横16×縦16画素のマクロブロックを上下に2分割し、上側のブロックB1531は、横8×縦8画素ブロックB1511とB1512とを包含する関係にある。動きベクトル探索装置は、上側のブロックB1531について、このブロックが包含する一次探索のブロックB1511で決定した参照画像(参照画像(1))について、このブロックの動きベクトル(MV(1))が示す座標を中心として、0.25画素精度の動き探索を±0.75画素の範囲で行う。また、このブロックB1531が包含する、一次探索のもう1つのブロックB1512についても、決定した参照画像(参照画像(2))について、このブロックの動きベクトル(MV(2))が示す座標を中心として、0.25画素精度の動き探索を±0.75画素の範囲で行う。
下側のブロックB1532についても、このブロックが包含する一次探索のブロックB1513とB1514とについて一次探索で決定した参照画像および動きベクトルに基づいて動き探索を行う。
In the case of a horizontal 16 × vertical 8 pixel block, this block divides a horizontal 16 × vertical 16 pixel macroblock vertically into two, and the upper block B1531 includes a horizontal 8 × vertical 8 pixel block B1511 and B1512. It is in. For the upper block B1531, the motion vector search device uses the coordinates indicated by the motion vector (MV (1)) of this block for the reference image (reference image (1)) determined in the primary search block B1511 included in this block. The motion search with an accuracy of 0.25 pixel is performed in a range of ± 0.75 pixels. Further, for the other block B1512 of the primary search included in the block B1531, the determined reference image (reference image (2)) is centered on the coordinates indicated by the motion vector (MV (2)) of this block. , 0.25 pixel accuracy motion search is performed in the range of ± 0.75 pixels.
Also for the lower block B1532, the motion search is performed based on the reference image and the motion vector determined in the primary search for the primary search blocks B1513 and B1514 included in this block.

横8×縦16画素ブロックの場合も同様に、左側のブロックB1541が包含する一次探索のブロックB1511とB1513とについて一次探索で決定した参照画像および動きベクトルに基づいて動き探索を行う。右側のブロックB1542についても、包含する一次探索のブロックB1512とB1514とについて一次探索で決定した参照画像および動きベクトルに基づいて動き探索を行う。
また、横8×縦8画素ブロックB1551〜B1554についても、一次探索で行った整数画素精度の動き探索の結果に基づいて、さらに、0.25画素精度の動き探索を±0.75画素の範囲で行う。
各ブロックサイズについて動き探索を行った後、動きベクトル探索装置は、各動き探索で得られた評価値に基づいて、評価値が最小となるブロックサイズおよび動きベクトルの組み合わせに決定する。
Similarly, in the case of a horizontal 8 × vertical 16 pixel block, a motion search is performed on the primary search blocks B1511 and B1513 included in the left block B1541 based on the reference image and the motion vector determined by the primary search. Also for the right block B1542, motion search is performed based on the reference image and the motion vector determined in the primary search for the included primary search blocks B1512 and B1514.
Further, for the horizontal 8 × vertical 8 pixel blocks B1551 to B1554, a motion search with an accuracy of 0.25 pixel is further performed within a range of ± 0.75 pixels based on the result of an integer pixel accuracy motion search performed by the primary search. To do.
After performing a motion search for each block size, the motion vector search device determines a combination of a block size and a motion vector that minimizes the evaluation value, based on the evaluation value obtained by each motion search.

このように、例えば一次探索は、横8×縦8画素ブロックのみに対して行い、その他のブロックサイズの探索は二次探索で行うことで、一次探索の演算量を削減できる。しかし、一次探索において、参照画像上から、符号化対象の部分と、より類似性の高い部分を検出するためには、参照画像上の広い範囲を動き探索する必要があり、一次探索に用いるブロックサイズを限定してもなお、演算量が非常に大きくなる。そこで、一般的な符号化器では、符号化対象の画像および参照画像を、縦横2分の1あるいは4分の1など、2分の1(nは、0≦n≦4の整数)に縮小して一次探索を行う。例えば、符号化対象の画像および参照画像を、縦横共に2分の1に縮小することにより、比較する画素数を4分の1に減らすことができ、より少ない演算量で広い範囲を動き探索することができる。例えば、2分の1の縮小画像を用いて一次探索を行い、非縮小画像を用いて二次探索を行う場合、二次探索では、通常、少なくとも一次探索結果の周辺2n−1画素の探索を行う。 As described above, for example, the primary search is performed only on the horizontal 8 × vertical 8 pixel block, and the search of other block sizes is performed by the secondary search, so that the calculation amount of the primary search can be reduced. However, in the primary search, in order to detect the part to be encoded and the part having higher similarity from the reference image, it is necessary to perform a motion search over a wide range on the reference image, and the block used for the primary search Even if the size is limited, the calculation amount becomes very large. Therefore, a typical encoder, an image and a reference image to be encoded, such as one of the 1 or 4 minutes 2 minutes vertical and horizontal, 1 2 n fraction (n is an integer of 0 ≦ n ≦ 4) to Reduce and perform a primary search. For example, by reducing the image to be encoded and the reference image by a factor of two both vertically and horizontally, the number of pixels to be compared can be reduced to a quarter, and a wide range is searched for motion with a smaller amount of computation. be able to. For example, when a primary search is performed using a 1 / n reduced image and a secondary search is performed using a non-reduced image, the secondary search usually includes at least 2 n-1 pixels around the primary search result. Perform a search.

例えば、縦横共に2分の1の縮小画像で一次探索を行う場合、横8×縦8画素ブロック単位で探索を行うと、縮小画像上では横4×縦4画素ブロック(16画素)の領域で符号化対象の画像と参照画像とのマッチングをとることになる。あるいは、縦横共に4分の1の縮小画像で一次探索を行う場合、横8×縦8画素ブロック単位で探索を行うと、縮小画像上では横2×縦2画素ブロック(4画素)の領域でマッチングをとることになる。動き探索においては一般的に、符号化対象画像と参照画像との差分を示す値(一般的には、ブロック内の各画素の差分の絶対値和が用いられる)に、動きベクトルや符号化モードを記述するために必要なビット量を示す値を加えた評価値を算出し、この評価値が最小となる動きベクトルを選択する。その際、上記のような画素数の少ないブロックで動き探索を行うと、画像内のノイズ等の影響が大きく、正確な動きベクトルの追跡が困難となる。また、ノイズ等の擾乱によって、小さなブロックが選択され易くなり、ブロック毎に異なる方向の動きベクトルが選択され易くなる。これにより、動きベクトルの符号化コストが増大し、全体の符号量が増大してしまう。   For example, when a primary search is performed with a reduced image that is half of both vertical and horizontal, if a search is performed in units of horizontal 8 × vertical 8 pixel blocks, the area of 4 × horizontal 4 pixel blocks (16 pixels) is displayed on the reduced image. The image to be encoded and the reference image are matched. Alternatively, in the case of performing a primary search with a reduced image of 1/4 in both length and width, if the search is performed in units of 8 × 8 pixel blocks in the horizontal direction, the area of 2 × 2 pixel blocks (4 pixels) on the reduced image. Matching will be taken. In motion search, generally, a value indicating a difference between an encoding target image and a reference image (generally, an absolute value sum of differences between pixels in a block is used) is used as a motion vector or an encoding mode. An evaluation value obtained by adding a value indicating the bit amount necessary to describe is calculated, and a motion vector that minimizes the evaluation value is selected. At this time, if a motion search is performed with a block having a small number of pixels as described above, the influence of noise or the like in the image is large, and it is difficult to accurately track the motion vector. Further, due to disturbance such as noise, a small block is easily selected, and a motion vector in a different direction for each block is easily selected. As a result, the coding cost of the motion vector increases and the overall code amount increases.

さらには、隣接するマクロブロックの動き探索を行う際にも、動きベクトル予測値(予測動きベクトル、Predicted Motion Vector;PMV)が画面全体の動きを反映せず、この動きベクトル予測値の周辺を動き探索しても適切な動き探索が行えない。また、H.264/AVC符号化方式等では、動きベクトル予測値と動きベクトルとの差分をとって符号量の削減を図るが、擾乱の影響で動きベクトル予測値が不適切な値となっているため、差分をとっても符号量が削減できず、さらに符号化効率が低下してしまう。とりわけ、比較的平坦な画像のマクロブロックは、ノイズ等の擾乱の影響を受け易く、上記のように小さなブロックが選択され易くなり、ブロック毎に異なる方向の動きベクトルが選択され易くなる。これにより、符号化効率が低下し、さらには符号化・復号の際に復号画像に画像誤差が含まれ易くなり、主観品質の低下が発生する。   Furthermore, when performing a motion search of an adjacent macroblock, the motion vector prediction value (predicted motion vector; PMV) does not reflect the motion of the entire screen, and moves around the motion vector prediction value. Even if it searches, an appropriate motion search cannot be performed. H. In the H.264 / AVC encoding method and the like, the difference between the motion vector prediction value and the motion vector is taken to reduce the amount of code, but the motion vector prediction value is an inappropriate value due to the influence of the disturbance. However, the amount of codes cannot be reduced, and the coding efficiency is further reduced. In particular, a macroblock of a relatively flat image is easily affected by disturbance such as noise, so that a small block is easily selected as described above, and a motion vector in a different direction is easily selected for each block. As a result, the encoding efficiency is lowered, and further, an image error is likely to be included in the decoded image at the time of encoding / decoding, resulting in a decrease in subjective quality.

なお、ここでいう「動きベクトル予測値」は、符号化対象のマクロブロックの上または右上または左上または左に隣接する、既に動きベクトルを検出済みの各ブロックの動きベクトルから、H.264/AVC等の符号化標準で定められた手順に基づいて算出されるベクトルである。例えば、図13で説明した16×8画素のブロックB1321およびB1322の場合、上側のブロックB1321では、このブロックB1321の上に隣接するブロックの動きベクトルから動きベクトル予測値を算出する。また、下側のブロックB1322では、このブロックB1322の左に隣接するブロックの動きベクトルから動きベクトル予測値を算出する。
動きベクトル予測値は、すでに符号化が終了している隣接ブロックの画像の動き量の平均的な値を示すベクトルであり、符号化対象のブロックの画像が、周辺のブロックの画像と同様の動きを示している場合は、この符号化対象のブロックの動きベクトルが動きベクトル予測値とほぼ同じ値となることが期待される。例えば、H.264/AVCの符号化標準に従って動きベクトルを符号化する場合、動きベクトルと動きベクトル予測値との差分をとって符号化を行う。このため、動きベクトルの値が動きベクトル予測値に近いほど、動きベクトルを表現するための符号量が少なくて済む。
Note that the “motion vector prediction value” here is a value obtained from the motion vector of each block that has already detected a motion vector adjacent to the top, top right, top left, or left of the macroblock to be encoded. It is a vector calculated based on a procedure defined by an encoding standard such as H.264 / AVC. For example, in the case of the blocks B1321 and B1322 of 16 × 8 pixels described in FIG. 13, the upper block B1321 calculates a motion vector prediction value from the motion vector of the block adjacent on the block B1321. In the lower block B1322, the motion vector prediction value is calculated from the motion vector of the block adjacent to the left of the block B1322.
The motion vector prediction value is a vector indicating an average value of the motion amount of the image of the adjacent block that has already been encoded, and the image of the block to be encoded has the same motion as the image of the surrounding blocks. , It is expected that the motion vector of the encoding target block will be approximately the same value as the motion vector prediction value. For example, H.M. When a motion vector is encoded according to the H.264 / AVC encoding standard, encoding is performed by taking the difference between the motion vector and the motion vector prediction value. For this reason, the closer the motion vector value is to the motion vector prediction value, the smaller the amount of code for expressing the motion vector.

そこで、一次探索はマクロブロック単位で行うことが考えられる。マクロブロックをブロックに分割しないことにより、評価値を算出する元になる画素数が多くなるため、ノイズ等の擾乱の影響を受けにくくなる。
マクロブロック単位の一次探索は、例えば、特許文献2の段落0028〜0032に示される、テレスコピック探索法と呼ばれる動き探索方法を用いて行うことができる。テレスコピック探索法は、比較的小さな範囲の探索の繰り返しによって、参照画像上での物体の大きな動きに追従するできる方法であり、マクロブロック単位の動き探索にもブロック単位の動き探索にも用いることができる。
Therefore, it is conceivable to perform the primary search in units of macroblocks. By not dividing the macroblock into blocks, the number of pixels from which the evaluation value is calculated increases, so that it is less susceptible to noise and other disturbances.
The primary search for each macroblock can be performed using, for example, a motion search method called a telescopic search method shown in paragraphs 0028 to 0032 of Patent Document 2. The telescopic search method is a method that can follow a large movement of an object on a reference image by repeating a search in a relatively small range, and can be used for a macroblock unit motion search or a block unit motion search. it can.

特開2008−236096号公報JP 2008-236096 A 特開2000−242554号公報JP 2000-242554 A

しかしながら、一次探索をマクロブロック単位で行うと、マクロブロック全体に対して1つのみの動きベクトルが得られる。この動きベクトルの周辺を二次探索する際に、二次探索の探索範囲を狭くすると、例えば、マクロブロックに動体の画像と静止する背景画像とが含まれる場合など、マクロブロックの部分によって画像の動きが異なる場合に、適切な動きベクトルを検出できないおそれがある。一方、二次探索の探索範囲を広くすると適切な動きベクトルを検出できる可能性は高くなるものの、演算量が増大してしまう。また、ブロックサイズの選択についても、二次探索で様々なブロックサイズについて動き探索を行うと演算量が増大してしまう。   However, when the primary search is performed in units of macroblocks, only one motion vector is obtained for the entire macroblock. When performing a secondary search around the motion vector, if the search range of the secondary search is narrowed, for example, when the macro block includes a moving object image and a stationary background image, If the motions are different, there is a possibility that an appropriate motion vector cannot be detected. On the other hand, if the search range of the secondary search is widened, the possibility of detecting an appropriate motion vector increases, but the calculation amount increases. Also, regarding the selection of the block size, if a motion search is performed for various block sizes in the secondary search, the amount of calculation increases.

本発明は、このような事情を考慮してなされたものであり、その目的は、擾乱の影響を受けにくく、かつ、動き探索の演算量を削減できる動きベクトル検出装置、動きベクトル検出方法およびプログラムを提供することにある。   The present invention has been made in consideration of such circumstances, and an object of the present invention is to provide a motion vector detection device, a motion vector detection method, and a program that are less susceptible to disturbance and that can reduce the amount of motion search operations. Is to provide.

[1]この発明は上述した課題を解決するためになされたもので、本発明の一態様による動きベクトル検出装置は、入力動画像のマクロブロックを分割した第1のブロック毎に、参照画像上で前記第1のブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置であって、前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索器と、二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示器と、前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第2のブロック毎に、二次の動き探索を行って動きベクトルを検出する近傍探索器と、前記近傍探索器が検出した動きベクトルの中から、前記第2のブロック毎に動きベクトルを選択する動きベクトル選択器と、前記動きベクトル選択器が選択した動きベクトルに基づいて、前記第2のブロック、または、互いに隣接する前記第2のブロックを結合したブロックを、前記第1のブロックとし、前記第2のブロックの動きベクトルに基づいて前記第1のブロックの動きベクトルを決定するブロック統合器と、を具備することを特徴とする。
ここでいう「一次動きベクトル」とは、近傍探索(二次探索)に先立って行う動き探索である一次探索によって得られる動きベクトルであり、二次探索の中心を示す。
[1] The present invention has been made to solve the above-described problems, and a motion vector detection device according to an aspect of the present invention provides a reference image for each first block obtained by dividing a macroblock of an input moving image. A motion vector detecting device for detecting a motion vector indicating a position of a region corresponding to the first block, wherein a primary motion search is performed on the macroblock to detect a primary motion vector; and A search center indicator that outputs a search center coordinate indicating a center coordinate of a range in which a secondary motion search is performed, and the macroblock is divided for each coordinate between the coordinate indicated by the primary motion vector and the search center coordinate. For each second block, a neighborhood searcher that performs a secondary motion search to detect a motion vector, and a motion vector detected by the neighborhood searcher, the second search A motion vector selector that selects a motion vector for each lock, and a block obtained by combining the second block or the second blocks adjacent to each other based on the motion vector selected by the motion vector selector; And a block integrator that determines the motion vector of the first block based on the motion vector of the second block.
The “primary motion vector” here is a motion vector obtained by a primary search, which is a motion search performed prior to a neighborhood search (secondary search), and indicates the center of the secondary search.

[2]また、本発明の一形態による動きベクトル検出装置は、上述の動きベクトル検出装置であって、前記探索中心座標は、前記マクロブロックの位置を示すゼロベクトル、または、前記第2のブロックに隣接するブロックの動きベクトルから算出される動きベクトル予測値を含むことを特徴とする。   [2] A motion vector detection device according to an aspect of the present invention is the motion vector detection device described above, wherein the search center coordinates are a zero vector indicating the position of the macroblock or the second block. Including a motion vector prediction value calculated from a motion vector of a block adjacent to.

[3]また、本発明の一形態による動きベクトル検出装置は、上述の動きベクトル検出装置であって、前記探索中心座標は、前記マクロブロックの左に隣接する左隣接ブロックの動きベクトル、または、前記マクロブロックの左に隣接する左隣接マクロブロックの前記一次動きベクトル、または、前記マクロブロックの上に隣接する上隣接ブロックの動きベクトル、または、前記マクロブロックの上に隣接する上隣接マクロブロックの前記一次動きベクトルを含むことを特徴とする。   [3] A motion vector detection device according to an aspect of the present invention is the motion vector detection device described above, wherein the search center coordinates are a motion vector of a left adjacent block adjacent to the left of the macroblock, or The primary motion vector of the left adjacent macroblock adjacent to the left of the macroblock, the motion vector of the upper adjacent block adjacent to the macroblock, or the upper adjacent macroblock adjacent to the macroblock The primary motion vector is included.

[4]また、本発明の一形態による動きベクトル検出装置は、上述の動きベクトル検出装置であって、前記探索中心座標は、前記マクロブロックの右に隣接する右隣接マクロブロックの前記一次動きベクトル、または、前記マクロブロックの下に隣接する下隣接マクロブロックの前記一次動きベクトルを含むことを特徴とする。   [4] A motion vector detection device according to an aspect of the present invention is the motion vector detection device described above, wherein the search center coordinate is the primary motion vector of a right adjacent macroblock adjacent to the right of the macroblock. Or including the primary motion vector of a lower adjacent macroblock adjacent below the macroblock.

[5]また、本発明の一形態による動きベクトル検出装置は、上述の動きベクトル検出装置であって、前記マクロブロックの画素値に基づいて、画素値のばらつきを示す指標を算出し、前記マクロブロックの画素値のばらつきが小さいか否かを判定する画像特徴量演算器をさらに具備し、前記二次探索器は、前記画像特徴量演算器が、前記マクロブロックの画素値のばらつきが小さいと判定した場合は、前記マクロブロックを前記第2のブロックとすることを特徴とする。   [5] A motion vector detection device according to an aspect of the present invention is the motion vector detection device described above, and calculates an index indicating a variation in pixel value based on a pixel value of the macroblock, and the macro It further includes an image feature quantity computing unit that determines whether or not the pixel value variation of the block is small, and the secondary searcher is configured such that the image feature quantity computing unit has a small variation in pixel value of the macroblock. If it is determined, the macro block is the second block.

[6]また、本発明の一形態による動きベクトル検出方法は、入力動画像のマクロブロックを分割した第1のブロック毎に、参照画像上で前記第1のブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置の動きベクトル検出方法であって、前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索ステップと、二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示ステップと、前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第2のブロック毎に、二次の動き探索を行って動きベクトルを検出する近傍探索ステップと、前記近傍探索ステップにて検出した動きベクトルの中から、前記第2のブロック毎に動きベクトルを選択する動きベクトル選択ステップと、前記動きベクトル選択ステップにて選択した動きベクトルに基づいて、前記第2のブロック、または、互いに隣接する前記第2のブロックを結合したブロックを、前記第1のブロックとし、前記第2のブロックの動きベクトルに基づいて前記第1のブロックの動きベクトルを決定するブロック統合ステップと、を具備することを特徴とする。   [6] The motion vector detection method according to an aspect of the present invention indicates the position of the region corresponding to the first block on the reference image for each first block obtained by dividing the macroblock of the input moving image. A motion vector detection method of a motion vector detection apparatus for detecting a motion vector, comprising: a primary search step for detecting a primary motion vector by performing a primary motion search for the macroblock; and a range for performing a secondary motion search. A search center instruction step for outputting a search center coordinate indicating a center coordinate; a secondary for each coordinate between the coordinate indicated by the primary motion vector and the search center coordinate; and for each second block obtained by dividing the macroblock A neighborhood search step of detecting a motion vector by performing a motion search of the first and second motion vectors detected from the motion vectors detected in the neighborhood search step A motion vector selection step for selecting a motion vector for each lock, and a block obtained by combining the second block or the second blocks adjacent to each other based on the motion vector selected in the motion vector selection step. And a block integration step of determining the motion vector of the first block based on the motion vector of the second block.

[7]また、本発明の一形態によるプログラムは、コンピュータに、入力動画像のマクロブロックを分割した第1のブロック毎に、参照画像上で前記第1のブロックに対応する領域の位置を示す動きベクトルを検出させるためのプログラムであって、前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索ステップと、二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示ステップと、前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第2のブロック毎に、二次の動き探索を行って動きベクトルを検出する近傍探索ステップと、前記近傍探索ステップにて検出した動きベクトルの中から、前記第2のブロック毎に動きベクトルを選択する動きベクトル選択ステップと、前記動きベクトル選択ステップにて選択した動きベクトルに基づいて、前記第2のブロック、または、互いに隣接する前記第2のブロックを結合したブロックを、前記第1のブロックとし、前記第2のブロックの動きベクトルに基づいて前記第1のブロックの動きベクトルを決定するブロック統合ステップと、を前記コンピュータに実行させるためのプログラムである。   [7] A program according to an embodiment of the present invention indicates a position of an area corresponding to a first block on a reference image for each first block obtained by dividing a macro block of an input moving image. A program for detecting a motion vector, comprising: a primary search step for performing a primary motion search on the macroblock to detect a primary motion vector; and a search center indicating a center coordinate of a range for performing a secondary motion search A search center instruction step for outputting coordinates, a secondary motion search is performed for each coordinate between the coordinates indicated by the primary motion vector and the search center coordinates, and for each second block obtained by dividing the macroblock. A neighborhood search step for detecting a motion vector and a motion vector for each second block out of the motion vectors detected in the neighborhood search step. A motion vector selection step for selecting a toll and a block obtained by combining the second block or the second blocks adjacent to each other based on the motion vector selected in the motion vector selection step. And a block integration step of determining the motion vector of the first block based on the motion vector of the second block, and causing the computer to execute the block integration step.

この発明によれば、擾乱の影響を受けにくく、かつ、動き探索の演算量を削減できる。   According to the present invention, it is difficult to be affected by disturbance, and the amount of calculation for motion search can be reduced.

本発明の一実施形態における動きベクトル検出装置の概略構成を示す構成図である。It is a block diagram which shows schematic structure of the motion vector detection apparatus in one Embodiment of this invention. 同実施形態において、一次探索器6が一次探索を行う例を示す図である。In the same embodiment, it is a figure which shows the example in which the primary searcher 6 performs a primary search. 同実施形態において、一次探索器6がテレスコピック探索法を用いて一次探索を行う例を示す図である。In the same embodiment, it is a figure which shows the example in which the primary searcher 6 performs a primary search using a telescopic search method. 同実施形態において、一次探索の結果得られる動きベクトルの例を示す図である。In the same embodiment, it is a figure which shows the example of the motion vector obtained as a result of a primary search. 同実施形態において、近傍探索器8が行う二次探索の探索範囲の例を示す図である。In the same embodiment, it is a figure which shows the example of the search range of the secondary search which the neighborhood searcher 8 performs. 同実施形態において、近傍探索器8が、横8×縦8画素ブロック毎に最適な動きベクトルを求める例を示す図である。FIG. 6 is a diagram illustrating an example in which the neighborhood searcher 8 obtains an optimal motion vector for each horizontal 8 × vertical 8 pixel block in the embodiment. 同実施形態における探索中心座標として、動きベクトルおよびゼロベクトルを示す図である。It is a figure which shows a motion vector and a zero vector as a search center coordinate in the embodiment. 同実施形態における探索中心座標として、左隣接ブロックの動きベクトルまたは左隣接マクロブロックの一次動きベクトル、および、上隣接ブロックの動きベクトルまたは上隣接マクロブロック一次動きベクトルを示す図である。It is a figure which shows the motion vector of the left adjacent block or the primary motion vector of the left adjacent macroblock, and the motion vector of the upper adjacent block or the primary motion vector of the upper adjacent macroblock as search center coordinates in the same embodiment. 同実施形態における探索中心座標として、下隣接マクロブロックの一次動きベクトル、および、右隣接マクロブロックの一次動きベクトルを示す図である。It is a figure which shows the primary motion vector of a lower adjacent macroblock, and the primary motion vector of a right adjacent macroblock as a search center coordinate in the embodiment. 同実施形態において、近傍探索器8が、動きベクトル選択器10に出力する動きベクトルおよび動きベクトル評価値の例、および、動きベクトル選択器10が、動きベクトルおよび動きベクトル評価値を選択する例を示す図である。In the embodiment, an example of a motion vector and a motion vector evaluation value that the neighborhood searcher 8 outputs to the motion vector selector 10 and an example in which the motion vector selector 10 selects a motion vector and a motion vector evaluation value FIG. 同実施形態において、動きベクトル検出装置100が、符号化対象のマクロブロックC121に対する動きベクトルを検出する処理手順を示すフローチャートである。In the embodiment, the motion vector detection device 100 is a flowchart showing a processing procedure for detecting a motion vector for a macroblock C121 to be encoded. MPEG−2やH.264/AVCの動き予測において参照する画像の例を示す図である。MPEG-2 and H.264 2 is a diagram illustrating an example of an image referred to in H.264 / AVC motion prediction. H.264/AVC符号化方式で、動き予測を行う単位となるブロックのサイズを示す図である。H. 2 is a diagram illustrating the size of a block serving as a unit for performing motion prediction in the H.264 / AVC encoding scheme. FIG. 特許文献1の方法にて行う一次探索の例を示す図である。It is a figure which shows the example of the primary search performed with the method of patent document 1. FIG. 特許文献1の方法にて行う二次探索の例を示す図である。It is a figure which shows the example of the secondary search performed with the method of patent document 1. FIG.

以下、図面を参照して、本発明の一実施形態について説明する。
図1は、本発明の一実施形態における動きベクトル検出装置の概略構成を示す構成図である。
同図において、動きベクトル検出装置100は、画像メモリ1と、探索範囲切り出し器2と、画像縮小器3および12と、縮小画像キャッシュメモリ4と、画像キャッシュメモリ5と、一次探索器6と、探索中心指示器7と、近傍探索器8と画像特徴量演算器9と、動きベクトル選択器10と、ブロック統合器11とを具備する。
画像縮小器12は、入力動画像がマクロブロック単位に分割された、符号化対象のマクロブロック画像C121の入力を受け、この符号化対象のマクロブロック画像C121を縦横共に2分の1の画素数に縮小し、縮小画像C122を一次探索器6に出力する。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a configuration diagram showing a schematic configuration of a motion vector detection device according to an embodiment of the present invention.
In the figure, a motion vector detecting device 100 includes an image memory 1, a search range segmenter 2, image reducers 3 and 12, a reduced image cache memory 4, an image cache memory 5, a primary searcher 6, A search center indicator 7, a neighborhood searcher 8, an image feature quantity calculator 9, a motion vector selector 10, and a block integrator 11 are provided.
The image reducer 12 receives an input macroblock image C121 in which the input moving image is divided into macroblock units, and the encoding target macroblock image C121 is divided into half the number of pixels both vertically and horizontally. The reduced image C122 is output to the primary searcher 6.

画像メモリ1は、ローカル復号画像C11の入力を受け、このローカル復号画像C11を蓄積する。画像メモリ1が記憶するローカル復号画像は、動き探索のために使用する参照画像を切り出す元の画像となる。なお、ここでいう「ローカル復号画像」とは、本動きベクトル検出装置100を含む動画像符号化装置が入力画像を符号化し、さらに復号した画像である。ローカル復号画像は、動画像復号装置も生成する画像であり、このローカル復号画像を用いて動き探索を行うことにより、符号化および復号による画像誤差を抑制することができる。なお、画像メモリ1が、ローカル復号画像に代えて入力画像を蓄積するようにしてもよい。入力画像を用いて動き探索を行うと、ローカル復号画像の生成や転送を待つことなく動き探索を行うことができるため、動画像符号化装置の構成の自由度が増す。
符号化および復号による画像誤差は生じるものの、動画像符号化装置側で復号画像を生成する必要が無く、動画像符号化装置の構成を簡略化できる。
The image memory 1 receives the input of the local decoded image C11 and accumulates the local decoded image C11. The local decoded image stored in the image memory 1 is an original image from which a reference image used for motion search is cut out. Here, the “local decoded image” is an image obtained by encoding and further decoding an input image by a moving image encoding device including the motion vector detecting device 100. The local decoded image is an image generated also by the video decoding device, and by performing motion search using the local decoded image, image errors due to encoding and decoding can be suppressed. Note that the image memory 1 may store the input image instead of the local decoded image. When the motion search is performed using the input image, the motion search can be performed without waiting for the generation and transfer of the local decoded image, so that the degree of freedom of the configuration of the moving image coding apparatus is increased.
Although an image error occurs due to encoding and decoding, it is not necessary to generate a decoded image on the moving image encoding device side, and the configuration of the moving image encoding device can be simplified.

探索範囲切り出し器2は、画像メモリ1が蓄積する画像C12を読み出し、一次探索器6と近傍探索器8とが動き探索の対象とする範囲として符号化対象のマクロブロックを中心に設定される範囲の画像を切り出して、画像縮小器3と画像キャッシュメモリ5とに出力する。例えば、符号化対象のマクロブロックが画像C12の左上に位置する場合、一次探索器6と近傍探索器8とが動き探索の対象とする範囲は、この符号化対象のマクロブロックを中心として画像C12の左上に設定され、探索範囲切り出し器2は、この範囲の画像を切り出して、画像縮小器3と画像キャッシュメモリ5とに出力する。
画像縮小器3は、探索範囲切り出し器2から出力される画像C21を、縦横共に2分の1の画素数に縮小して縮小画像C31を生成し、縮小画像キャッシュメモリ4に出力する。縮小画像キャッシュメモリ4は、一次探索器6が行う一次探索用の参照画像として、画像縮小器3が出力する縮小画像C31を記憶する。一方、画像キャッシュメモリ5は、近傍探索器8が行う二次探索用の参照画像として、探索範囲切り出し器2から出力される画像C21を記憶する。
一次探索器6は、縮小画像キャッシュメモリ4から縮小画像C41を読み出し、読み出した縮小画像C41上で、画像縮小器12から出力される縮小画像C122に類似する領域をマクロブロック単位で探索する一次探索を行って動きベクトルC61を生成し、生成した動きベクトルC61を近傍探索器8に出力する。以下では、一次探索器6が生成する動きベクトルを「一次動きベクトル」ともいう。一次動きベクトルは、二次探索の探索範囲の中心座標の1つを示す、2画素単位の精度をもった動きベクトルである。
The search range extractor 2 reads the image C12 stored in the image memory 1, and a range set around the encoding target macroblock as a range for which the primary searcher 6 and the neighborhood searcher 8 are subject to motion search. Are cut out and output to the image reducer 3 and the image cache memory 5. For example, when the encoding target macroblock is located at the upper left of the image C12, the range that the primary searcher 6 and the neighborhood searcher 8 are subject to motion search is centered on the encoding target macroblock. The search range clipper 2 cuts out an image in this range and outputs it to the image reducer 3 and the image cache memory 5.
The image reducer 3 reduces the image C21 output from the search range extractor 2 to half the number of pixels both vertically and horizontally, generates a reduced image C31, and outputs the reduced image C31 to the reduced image cache memory 4. The reduced image cache memory 4 stores a reduced image C31 output from the image reducer 3 as a reference image for primary search performed by the primary searcher 6. On the other hand, the image cache memory 5 stores an image C21 output from the search range extractor 2 as a reference image for secondary search performed by the neighborhood searcher 8.
The primary searcher 6 reads the reduced image C41 from the reduced image cache memory 4, and performs a primary search for searching a region similar to the reduced image C122 output from the image reducer 12 on the read reduced image C41 in units of macroblocks. To generate a motion vector C61 and output the generated motion vector C61 to the neighborhood searcher 8. Hereinafter, the motion vector generated by the primary searcher 6 is also referred to as a “primary motion vector”. The primary motion vector is a motion vector having an accuracy of 2 pixels indicating one of the center coordinates of the search range of the secondary search.

探索中心指示器7は、近傍探索器8が行う二次探索の探索範囲の中心座標(探索中心座標)C71を出力する。探索中心指示器7が出力する探索中心座標の具体的内容については後述する。
画像特徴量演算器9は、符号化対象のマクロブロックC121の画素値に基づいて、当該マクロブロックC121の画像が平坦か否か、すなわち、マクロブロックC121の画素値のばらつきが小さいか否かを判定し、判定結果を示す信号C91を近傍探索器8と動きベクトル選択器10とに出力する。
近傍探索器8は、画像キャッシュメモリ5から画像C51を読み出し、読み出した画像C51上で、符号化対象のマクロブロック画像C121に類似する領域を探索する二次探索を行う。具体的には、近傍探索器8は、一次探索器6から出力される一次動きベクトルC61および探索中心指示器7から出力される探索中心座標C71の各々を中心として、例えば整数画素精度の動き探索を±1画素の範囲で行うなど、予め定められた範囲内の探索を行い、一次動きベクトルC61および探索中心座標C71の各々についての動きベクトルおよび動きベクトル評価値C81を、動きベクトル選択器10に出力する。
The search center indicator 7 outputs the center coordinates (search center coordinates) C71 of the search range of the secondary search performed by the neighborhood searcher 8. The specific contents of the search center coordinates output by the search center indicator 7 will be described later.
Based on the pixel value of the macroblock C121 to be encoded, the image feature quantity calculator 9 determines whether or not the image of the macroblock C121 is flat, that is, whether or not the variation in the pixel value of the macroblock C121 is small. The signal C91 indicating the determination result is output to the neighborhood searcher 8 and the motion vector selector 10.
The neighborhood searcher 8 reads the image C51 from the image cache memory 5, and performs a secondary search for searching for a region similar to the macroblock image C121 to be encoded on the read image C51. Specifically, the neighborhood searcher 8 uses, for example, a motion search with integer pixel accuracy centered on the primary motion vector C61 output from the primary searcher 6 and the search center coordinate C71 output from the search center indicator 7. The motion vector and the motion vector evaluation value C81 for each of the primary motion vector C61 and the search center coordinate C71 are sent to the motion vector selector 10 by performing a search within a predetermined range, for example, in a range of ± 1 pixel. Output.

ここでいう、「動きベクトル評価値」とは、符号化対象のブロック内の各画素と参照画像上で対応する画素との差分の絶対値和に、動きベクトルや符号化モードを記述するために必要なビット量(符号化コスト)に相当する値を加えた値である。動きベクトル評価値は、当該動きベクトルを用いて動き予測を行った場合の符号量や画像誤差を示す指標であり、動きベクトル評価値が小さい動きベクトルほど、符号化対象のマクロブロックに対して動き予測を行なう際に用いるのに適している。
後述するように、探索中心指示器7は、複数の探索中心座標C71を出力し、近傍探索器8は、これら複数の探索中心座標C71の各々について動きベクトルを出力する。二次探索を行う際、近傍探索器8は、符号化対象のマクロブロックの画素値のばらつきが小さいとの判定結果を示す信号C91が画像特徴量演算器9から出力された場合は、横16×縦16画素ブロック(すなわち、マクロブロック)に対する動きベクトルを生成し、ばらつきが小さくないとの判定結果を示す信号C91が出力された場合は、横8×縦8画素ブロック毎に動きベクトルを生成する。
Here, the “motion vector evaluation value” is used to describe the motion vector and the coding mode in the absolute value sum of the difference between each pixel in the encoding target block and the corresponding pixel on the reference image. This is a value obtained by adding a value corresponding to the required bit amount (encoding cost). The motion vector evaluation value is an index indicating a code amount or an image error when motion prediction is performed using the motion vector, and a motion vector with a smaller motion vector evaluation value moves with respect to a macroblock to be encoded. Suitable for use in making predictions.
As will be described later, the search center indicator 7 outputs a plurality of search center coordinates C71, and the neighborhood searcher 8 outputs a motion vector for each of the plurality of search center coordinates C71. When performing the secondary search, if the signal C91 indicating the determination result that the pixel value variation of the macroblock to be encoded is small is output from the image feature amount calculator 9, the neighborhood searcher 8 X Generate a motion vector for a vertical 16 pixel block (that is, a macroblock), and if a signal C91 indicating that the variation is not small is output, generate a motion vector for each horizontal 8 x vertical 8 pixel block To do.

動きベクトル選択器10は、近傍探索器8から出力される複数の動きベクトルC81の中から、動きベクトル評価値が最小となる動きベクトルをブロック毎に選択し、選択したブロック毎の動きベクトルC101をブロック統合器11に出力する。
ブロック統合器11は、動きベクトル選択器10から出力されるブロック毎の動きベクトルC101に基づいて、処理対処のマクロブロックに適用するブロックサイズを決定し、ブロック毎の動きベクトルC201を、動きベクトル検出装置100の外部(例えば、この動きベクトル検出装置100を含む動画像符号化装置の予測画像生成手段)に出力する。
The motion vector selector 10 selects a motion vector having the smallest motion vector evaluation value for each block from the plurality of motion vectors C81 output from the neighborhood searcher 8, and selects a motion vector C101 for each selected block. Output to the block integrator 11.
Based on the motion vector C101 for each block output from the motion vector selector 10, the block integrator 11 determines a block size to be applied to the macroblock for processing, and detects the motion vector C201 for each block as a motion vector detection. This is output to the outside of the apparatus 100 (for example, a predicted image generating unit of a moving image encoding apparatus including the motion vector detecting apparatus 100).

図2は、一次探索器6が一次探索を行う例を示す図である。一次探索器6は、直接探索法を用いて一次探索を行う。
同図の縮小画像C122は、画像縮小器12が出力する、符号化対象のマクロブロックの縮小画像である。また、非参照画像P22およびP23と参照画像P24とは、縮小画像キャッシュメモリ4から読み出す縮小画像C41である。また、縮小画像C122(を含む符号化対象の画像)と参照画像P24とは、非参照画像P22およびP23を挟み、時間方向に3画像ぶん離れている。
同図に示すように、直接探索法では、一次探索器6は、参照画像P24に直接、符号化対象マクロブロックの座標に応じた探索範囲を設定し、設定した探索範囲内で符号化対象マクロブロックと参照画像とのマッチングをとって、一次動きベクトル51を決定する。
具体的には、一次探索器6は、縮小された参照画像C41上に設定された探索範囲内で、符号化対象マクロブロックの縮小画像C122と、参照画像上の同サイズの領域との、画素の差分絶対値の和を算出し、この画素の差分絶対値の和に基づいて動きベクトル評価値を算出し、探索範囲内で動きベクトル評価値が最小となる領域を示す動きベクトルを、一次動きベクトルC61とする。
FIG. 2 is a diagram illustrating an example in which the primary searcher 6 performs a primary search. The primary searcher 6 performs a primary search using a direct search method.
A reduced image C122 in the figure is a reduced image of a macroblock to be encoded, which is output from the image reducer 12. The non-reference images P22 and P23 and the reference image P24 are reduced images C41 read from the reduced image cache memory 4. Further, the reduced image C122 (including the image to be encoded) and the reference image P24 are separated by three images in the time direction with the non-reference images P22 and P23 interposed therebetween.
As shown in the figure, in the direct search method, the primary searcher 6 sets a search range corresponding to the coordinates of the encoding target macroblock directly in the reference image P24, and the encoding target macro is within the set search range. The primary motion vector 51 is determined by matching the block with the reference image.
Specifically, the primary searcher 6 includes pixels of the reduced image C122 of the encoding target macroblock and the region of the same size on the reference image within the search range set on the reduced reference image C41. The motion vector evaluation value is calculated based on the sum of the absolute difference values of the pixels, and the motion vector indicating the region where the motion vector evaluation value is the smallest within the search range is calculated as the primary motion. Let it be a vector C61.

なお、一次探索器6が一次探索を行う方法は、直接探索法に限らない。
図3は、一次探索器6がテレスコピック探索法を用いて一次探索を行う例を示す図である。同図の縮小画像C122と非参照画像P22およびP23と参照画像P24とは、それぞれ図2で説明したのと同様である。
まず、一次探索器6は、縮小画像C122(を含む符号化対象の画像)に時間方向に隣接する非参照画像P32に、符号化対象ブロックC122の座標に応じた探索範囲(非参照画像P32における符号化対象ブロックC122の座標を中心とする探索範囲)を設定し、動き探索を行う。次に、一次探索器6は、非参照画像P32に時間方向に隣接する非参照画像P33に、非参照画像P32での探索結果R32が示す座標に応じた探索範囲を設定し、動き探索を行う。さらに、一次探索器6は、非参照画像P33に時間方向に隣接する参照画像P34に、非参照画像P33での探索結果R33が示す座標に応じた探索範囲を設定し、動き探索を行う。そして、一次探索器6は、この動き探索によって得られる探索結果R34を、最終的な動き探索結果(一次動きベクトルC61)とする。
直接探索法では、画像中の物体の高速な動きに追従するためには、探索範囲が十分広くなければならず、それにより演算量が大きくなる。これに対し、テレスコピック探索法では、時間的に最も近い画像から参照画像に至るまで、順に探索を行い、探索結果の動きベクトルを次の画像の探索中心点として設定することを繰り返す。一回の探索範囲を比較的狭く設定しても、最終的に、参照画像上で広い範囲の物体の動きを追うことができる。
Note that the method for the primary search by the primary searcher 6 is not limited to the direct search method.
FIG. 3 is a diagram illustrating an example in which the primary searcher 6 performs a primary search using a telescopic search method. The reduced image C122, the non-reference images P22 and P23, and the reference image P24 in the figure are the same as those described in FIG.
First, the primary searcher 6 applies a search range (in the non-reference image P32 in the non-reference image P32) to the non-reference image P32 that is adjacent to the reduced image C122 (including the image to be encoded) in the time direction. A search range centered on the coordinates of the encoding target block C122 is set, and a motion search is performed. Next, the primary searcher 6 sets a search range corresponding to the coordinates indicated by the search result R32 in the non-reference image P32 in the non-reference image P33 adjacent to the non-reference image P32 in the time direction, and performs a motion search. . Furthermore, the primary searcher 6 sets a search range corresponding to the coordinates indicated by the search result R33 in the non-reference image P33 in the reference image P34 adjacent to the non-reference image P33 in the time direction, and performs a motion search. Then, the primary searcher 6 uses the search result R34 obtained by this motion search as the final motion search result (primary motion vector C61).
In the direct search method, in order to follow high-speed movement of an object in an image, the search range must be sufficiently wide, which increases the amount of calculation. On the other hand, in the telescopic search method, the search is sequentially performed from the temporally closest image to the reference image, and the motion vector of the search result is repeatedly set as the search center point of the next image. Even if a single search range is set to be relatively narrow, it is possible to follow the movement of a wide range of objects on the reference image.

図4は、一次探索の結果得られる動きベクトルの例を示す図である。
一次探索の結果、図4に示すように、一次探索器6は、横16×縦16画素のマクロブロック単位での動きベクトルを、一次探索結果C61として検出し、出力する。
FIG. 4 is a diagram illustrating an example of a motion vector obtained as a result of the primary search.
As a result of the primary search, as shown in FIG. 4, the primary searcher 6 detects and outputs a motion vector in a macroblock unit of 16 × 16 pixels as a primary search result C61.

図5は、近傍探索器8が行う二次探索の探索範囲の例を示す図である。同図において、近傍探索器8は、非縮小画像C51上で、一次動きベクトルC61が示す座標を中心に、整数画素精度の動き探索を、±1画素の範囲で行う。この場合、近傍探索器8は、同図に示すように全部で9点の動きベクトルについて動き探索を行い、動きベクトル評価値が最も小さい動きベクトルを選択することにより、整数画素精度の動きベクトルを検出する。
近傍探索器8においても、一次探索器6の場合と同様に、横16×縦16画素のマクロブロックの範囲で符号化対象のマクロブロックと参照画像との画素の差分絶対値を算出するが、一次探索器6の場合とは異なり、差分絶対値の和を横8×縦8画素ブロック毎に算出して、横8×縦8画素ブロック毎に最適な動きベクトルを検出する。あるいは、近傍探索器8が、横8×縦8画素ブロック毎に独立に動き探索を行い、横8×縦8画素ブロック毎に最適な動きベクトルを検出するようにしてもよい。
FIG. 5 is a diagram illustrating an example of the search range of the secondary search performed by the neighborhood searcher 8. In the figure, the neighborhood searcher 8 performs an integer pixel precision motion search in the range of ± 1 pixel around the coordinates indicated by the primary motion vector C61 on the non-reduced image C51. In this case, the neighborhood searcher 8 performs a motion search for all nine motion vectors as shown in the figure, and selects a motion vector having the smallest motion vector evaluation value, thereby obtaining a motion vector with integer pixel accuracy. To detect.
In the neighborhood searcher 8, as in the case of the primary searcher 6, the pixel difference absolute value between the macroblock to be encoded and the reference image is calculated within the range of 16 × 16 macroblocks. Unlike the case of the primary searcher 6, the sum of absolute differences is calculated for each horizontal 8 × vertical 8 pixel block, and an optimal motion vector is detected for each horizontal 8 × vertical 8 pixel block. Alternatively, the neighborhood searcher 8 may perform a motion search independently for each horizontal 8 × vertical 8 pixel block and detect an optimal motion vector for each horizontal 8 × vertical 8 pixel block.

図6は、近傍探索器8が、横8×縦8画素ブロック毎に最適な動きベクトルを検出する例を示す図である。
図5で説明したように、近傍探索器8は、一次動きベクトルC61が示す座標等の探索中心の近傍9点について、横16×縦16=256画素の差分絶対値を算出する。そして、近傍探索器8は、横8×縦8画素ブロック毎、すなわち横8×縦8=64画素毎に差分絶対値和を集計し、動きベクトル評価値を算出する。近傍探索器8は、横8×縦8ブロック毎に、算出した動きベクトル評価値が最小となる動きベクトルを検出する。
ここで、図5で説明したように、近傍探索器8が横8×縦8画素ブロック毎に、動きベクトル評価値が最小の動きベクトルを算出しても、一次動きベクトルC61に対して、高々±1画素のみ離れた動きベクトルの中から動きベクトルC81を検出するに過ぎない。動き探索の対象を増やすことで、符号化対象のブロックに画像がより類似する領域を検出して符号化効率を高められることが期待できる。そこで近傍探索器8は、一次動きベクトルC61に加えて、探索中心指示器7から出力される探索中心座標C71を中心とした近傍についても動き探索を行い、横8×縦8画素ブロック単位で、動きベクトル評価値が最小の動きベクトルを得る。
FIG. 6 is a diagram illustrating an example in which the neighborhood searcher 8 detects an optimal motion vector for each horizontal 8 × vertical 8 pixel block.
As described with reference to FIG. 5, the neighborhood searcher 8 calculates the absolute difference value of 16 pixels in the horizontal direction and 16 pixels in the vertical direction = 256 pixels for the nine points near the search center such as the coordinates indicated by the primary motion vector C61. Then, the neighborhood searcher 8 calculates the motion vector evaluation value by summing up the sum of absolute differences for each horizontal 8 × vertical 8 pixel block, that is, horizontal 8 × vertical 8 = 64 pixels. The neighborhood searcher 8 detects a motion vector that minimizes the calculated motion vector evaluation value for every 8 horizontal × 8 vertical blocks.
Here, as described with reference to FIG. 5, even if the neighborhood searcher 8 calculates a motion vector having the minimum motion vector evaluation value for each horizontal 8 × vertical 8 pixel block, the primary motion vector C 61 is at most. Only the motion vector C81 is detected from motion vectors separated by ± 1 pixel. By increasing the number of motion search targets, it can be expected that the coding efficiency can be improved by detecting a region whose image is more similar to the block to be encoded. Therefore, the neighborhood searcher 8 performs a motion search for the neighborhood centered on the search center coordinate C71 output from the search center indicator 7 in addition to the primary motion vector C61, and in units of horizontal 8 × vertical 8 pixel blocks, A motion vector having the smallest motion vector evaluation value is obtained.

探索中心指示器7は、近傍探索器8が処理可能な近傍探索演算量に応じた個数の探索中心座標C71を出力する。具体的には、
(a)動きベクトル予測値、および、ゼロベクトル
(b)左隣接ブロックの動きベクトルまたは左隣接マクロブロックの一次動きベクトル、および、上隣接ブロックの動きベクトルまたは上隣接マクロブロックの一次動きベクトル
(c)下隣接マクロブロックの一次動きベクトル、または、右隣接マクロブロックの一次動きベクトル
について、近傍探索器8の演算能力に応じて、(a)と(b)と(c)と、または、(a)と(b)と、または、(a)のみ、あるいはこれ以外の組み合わせを探索中心座標C71とする。ここでいう「左隣接ブロック」とは、動き探索を行うブロックの左に隣接するブロックである。「左隣接マクロブロック」、「上隣接ブロック」、「上隣接マクロブロック」等も同様に、動き探索を行うブロックのそれぞれの方向に隣接するブロックないしマクロブロックである。なお、探索中心指示器7が出力する探索中心座標C71は、上記の(a)、(b)、(c)やこれらの組み合わせに限らない。例えば、動きベクトル予測値のみを探索中心座標C71とするようにしてもよい。以下、本実施形態では、探索中心指示器7が、探索中心座標C71として(a)と(b)と(c)とを出力する場合について説明する。
The search center indicator 7 outputs a number of search center coordinates C71 corresponding to the neighborhood search calculation amount that the neighborhood searcher 8 can process. In particular,
(A) Motion vector prediction value and zero vector (b) Primary motion vector of left adjacent block or primary motion vector of left adjacent macroblock, and primary motion vector of upper adjacent block or upper adjacent macroblock (c ) For the primary motion vector of the lower adjacent macroblock or the primary motion vector of the right adjacent macroblock, (a) and (b) and (c) or (a ) And (b), only (a), or any other combination is set as the search center coordinate C71. Here, the “left adjacent block” is a block adjacent to the left of the block on which motion search is performed. Similarly, “left adjacent macroblock”, “upper adjacent block”, “upper adjacent macroblock”, and the like are blocks or macroblocks adjacent to each other in the direction of the motion search block. The search center coordinates C71 output by the search center indicator 7 are not limited to the above (a), (b), (c), and combinations thereof. For example, only the motion vector prediction value may be used as the search center coordinate C71. Hereinafter, in this embodiment, the case where the search center indicator 7 outputs (a), (b), and (c) as the search center coordinates C71 will be described.

図7は、上記(a)の探索中心座標である、動きベクトル予測値およびゼロベクトルを示す図である。
前述したように、動きベクトル予測値は、すでに動きベクトルを検出済みの隣接ブロックの画像の動き量の平均的な値を示すベクトルである。したがって、符号化対象のマクロブロックの画像が隣接ブロックと同様の動きをしている場合は、動きベクトル予測値の近傍を動き探索することにより、動きベクトル評価値が小さい動きベクトルを検出できる、すなわち、符号化対象のブロックと類似度の高い画像の領域を検出できる可能性が高い。符号化対象のマクロブロックの画像が隣接ブロックと同様の動きをしている場合としては、符号化対象のマクロブロックの画像と隣接ブロックの画像とが、同一の動体の画像である場合や、共にほぼ静止する、あるいは、一様に移動(パン)する背景の画像である場合が考えられる。
また、ここでいう「ゼロベクトル」は、原点を示すベクトルである。ゼロベクトルは、参照画像上での符号化対象のブロックの位置を、符号化対象のブロックの位置からの相対座標で示している。したがって、符号化対象のマクロブロックの画像が静止する物体や背景等の画像である場合は、動きベクトル予測値の近傍を動き探索することにより、動きベクトル評価値が小さい動きベクトルを検出できる可能性が高い。
FIG. 7 is a diagram showing a motion vector prediction value and a zero vector, which are the search center coordinates of (a).
As described above, the motion vector prediction value is a vector indicating an average value of the motion amount of the image of the adjacent block whose motion vector has already been detected. Therefore, when the image of the macroblock to be encoded is moving similarly to the adjacent block, a motion vector having a small motion vector evaluation value can be detected by performing a motion search in the vicinity of the motion vector prediction value. There is a high possibility that a region of an image having a high degree of similarity with the block to be encoded can be detected. When the image of the macroblock to be encoded moves in the same manner as the adjacent block, the image of the macroblock to be encoded and the image of the adjacent block are images of the same moving object, A case where the background image is almost stationary or moves (pans) uniformly can be considered.
The “zero vector” here is a vector indicating the origin. The zero vector indicates the position of the block to be encoded on the reference image in relative coordinates from the position of the block to be encoded. Therefore, when the macroblock image to be encoded is an image of a stationary object, background, or the like, a motion vector with a small motion vector evaluation value can be detected by performing a motion search in the vicinity of the motion vector prediction value. Is expensive.

図8は、上記(b)の探索中心座標である、左隣接ブロックの動きベクトルまたは左隣接マクロブロックの一次動きベクトル、および、上隣接ブロックの動きベクトルまたは上隣接マクロブロック一次動きベクトルを示す図である。
符号化対象のマクロブロックB81の画像が左隣接ブロックB82の画像と連続する場合など、左隣接ブロックB82の画像と同様の動きをする場合は、左隣接ブロックB82の動きベクトルの近傍を動き探索することにより、動きベクトル評価値が小さい動きベクトルを検出できる可能性が高い。左隣接マクロブロックの一次動きベクトルは、例えば、複数のマクロブロックの動き探索を並行して行う場合など、何らかの理由で左隣接ブロックB82の動きベクトルが得られない場合に、左隣接ブロックB82の動きベクトルに代用することが考えられる。
なお、左隣接ブロックB82の動きベクトル、または左隣接マクロブロックの一次動きベクトルを用いて、4つの横8×縦8画素ブロックB811〜B814すべてについて動き探索を行ってもよいが、本実施例では、動き探索の演算量削減のために、左隣接マクロブロックに隣接する横8×縦8画素ブロックB811とB813とのみについて動き探索を行う。
FIG. 8 is a diagram showing the motion vector of the left adjacent block or the primary motion vector of the left adjacent macroblock, and the motion vector of the upper adjacent block or the primary motion vector of the upper adjacent macroblock, which are the search center coordinates in (b) above. It is.
When the image of the macro block B81 to be coded is similar to the image of the left adjacent block B82, such as when the image of the macroblock B81 to be encoded is continuous with the image of the left adjacent block B82, motion search is performed in the vicinity of the motion vector of the left adjacent block B82. Thus, there is a high possibility that a motion vector having a small motion vector evaluation value can be detected. The primary motion vector of the left adjacent macroblock is the motion of the left adjacent block B82 when the motion vector of the left adjacent block B82 cannot be obtained for some reason, for example, when motion search of a plurality of macroblocks is performed in parallel. It is conceivable to substitute for a vector.
Note that the motion search may be performed for all four horizontal 8 × vertical 8 pixel blocks B 811 to B 814 using the motion vector of the left adjacent block B 82 or the primary motion vector of the left adjacent macro block. In order to reduce the amount of calculation for motion search, motion search is performed only for the horizontal 8 × vertical 8 pixel blocks B811 and B813 adjacent to the left adjacent macroblock.

同様に、符号化対象のマクロブロックB81の画像が上隣接ブロックB83の画像と連続する場合など、上隣接ブロックB83の画像と同様の動きをする場合は、上隣接ブロックB83の動きベクトルまたは上隣接マクロブロックの一次動きベクトルの近傍を動き探索することにより、動きベクトル評価値が小さい動きベクトルを検出できる可能性が高い。なお、上隣接ブロックB83の動きベクトルまたは上隣接マクロブロックの一次動きベクトルを用いて、4つの横8×縦8画素ブロックB811〜B814すべてについて動き探索を行ってもよいが、本実施例では、動き探索の演算量削減のために、上隣接マクロブロックに隣接する横8×縦8画素ブロックB811とB812とのみについて動き探索を行う。   Similarly, when the same motion as the image of the upper adjacent block B83, such as when the image of the macro block B81 to be encoded is continuous with the image of the upper adjacent block B83, the motion vector of the upper adjacent block B83 or the upper adjacent block It is highly possible that a motion vector having a small motion vector evaluation value can be detected by performing motion search in the vicinity of the primary motion vector of the macro block. Note that the motion search may be performed for all four horizontal 8 × vertical 8 pixel blocks B 811 to B 814 using the motion vector of the upper adjacent block B 83 or the primary motion vector of the upper adjacent macro block. In order to reduce the amount of calculation for motion search, motion search is performed only for the horizontal 8 × vertical 8 pixel blocks B811 and B812 adjacent to the upper adjacent macroblock.

図9は、上記(c)の探索中心座標である、下隣接マクロブロックの一次動きベクトル、および、右隣接マクロブロックの一次動きベクトルを示す図である。
これらの一次動きベクトルを探索中心座標として用いるためには、二次探索を行う際に、下隣接マクロブロックの一次動きベクトルや、右隣接マクロブロックの一次動きベクトルがすでに生成されている必要がある。したがって、図9下に示すように、一次探索器6による一次探索が、近傍探索器8よりも1マクロブロック行(画像(フレーム)の左端から右端まで横方向に連続した並んだマクロブロックの集まり)分以上先行して行われている必要がある。
FIG. 9 is a diagram showing the primary motion vector of the lower adjacent macroblock and the primary motion vector of the right adjacent macroblock, which are the search center coordinates of (c).
In order to use these primary motion vectors as search center coordinates, it is necessary that the primary motion vector of the lower adjacent macroblock and the primary motion vector of the right adjacent macroblock have already been generated when performing the secondary search. . Therefore, as shown in the lower part of FIG. 9, the primary search by the primary searcher 6 is a collection of macroblocks arranged in a row in the horizontal direction from the left end to the right end of one macroblock row (image (frame)) than the neighbor searcher 8. ) It must be done ahead of time.

符号化対象のマクロブロックB91の画像が下隣接マクロブロックB93の画像と連続する場合など、下隣接マクロブロックB93の画像と同様の動きをする場合は、下隣接マクロブロックB93の一次動きベクトルの近傍を動き探索することにより、動きベクトル評価値が小さい動きベクトルを検出できる可能性が高い。なお、下隣接マクロブロックB93の一次動きベクトルを用いて、4つの横8×縦8画素ブロックB911〜B914すべてについて動き探索を行ってもよいが、本実施例では、動き探索の演算量削減のために、下隣接マクロブロックB93に隣接する横8×縦8画素ブロックB913とB914とのみについて動き探索を行う。   When the same motion as the image of the lower adjacent macroblock B93 is performed, such as when the image of the macroblock B91 to be encoded is continuous with the image of the lower adjacent macroblock B93, the vicinity of the primary motion vector of the lower adjacent macroblock B93 It is highly possible that a motion vector having a small motion vector evaluation value can be detected by performing a motion search. Note that the motion search may be performed on all four horizontal 8 × vertical 8 pixel blocks B911 to B914 using the primary motion vector of the lower adjacent macroblock B93. However, in this embodiment, the amount of motion search is reduced. Therefore, a motion search is performed only for the horizontal 8 × vertical 8 pixel blocks B913 and B914 adjacent to the lower adjacent macroblock B93.

同様に、符号化対象のマクロブロックB91の画像が右隣接マクロブロックB92の画像と連続する場合など、右隣接マクロブロックB92の画像と同様の動きをする場合は、右隣接マクロブロックB92の一次動きベクトルの近傍を動き探索することにより、動きベクトル評価値が小さい動きベクトルを検出できる可能性が高い。なお、右隣接マクロブロックB83の一次動きベクトルを用いて、4つの横8×縦8画素ブロックB911〜B914すべてについて動き探索を行ってもよいが、本実施例では、動き探索の演算量削減のために、右隣接マクロブロックB92に隣接する横8×縦8画素ブロックB911とB912とのみについて動き探索を行う。   Similarly, when the same motion as the image of the right adjacent macroblock B92 is performed, such as when the image of the macroblock B91 to be encoded is continuous with the image of the right adjacent macroblock B92, the primary motion of the right adjacent macroblock B92 It is highly possible that a motion vector having a small motion vector evaluation value can be detected by performing motion search in the vicinity of the vector. Note that the motion search may be performed on all four horizontal 8 × vertical 8 pixel blocks B911 to B914 using the primary motion vector of the right adjacent macroblock B83. However, in this embodiment, the amount of motion search is reduced. Therefore, a motion search is performed only for the horizontal 8 × vertical 8 pixel blocks B911 and B912 adjacent to the right adjacent macroblock B92.

図10は、近傍探索器8が、動きベクトル選択器10に出力する動きベクトルおよび動きベクトル評価値の例、および、動きベクトル選択器10が、動きベクトルおよび動きベクトル評価値を選択する例を示す図である。
近傍探索器8は、二次探索対象の4つの横8×縦8画素ブロックB101〜B104それぞれについて、一次動きベクトルC61および複数の探索中心座標C71の各々を中心として、図5で説明した動き探索対象の9点について動き探索を行い、9点のうち動きベクトル評価値が最小の動きベクトルおよび当該動きベクトル評価値を、動きベクトル選択器10に出力する。動きベクトル選択器10は、ブロックB101〜B104の各々について、近傍探索器8から出力される動きベクトルのうち、動きベクトル評価値が最も小さい動きベクトルを選択する。例えば図10の例では、動きベクトル選択器10は、ブロックB101については、動きベクトル評価値が48で最小である動きベクトルMV31を選択する。同様に、ブロックB102については動きベクトルMV12を選択し、ブロックB103については動きベクトルMV13を選択し、ブロックB104については動きベクトルMV34を選択する。動きベクトル選択器10は、選択したブロック毎の動きベクトルC101をブロック統合器11に出力する。
FIG. 10 shows an example of motion vectors and motion vector evaluation values output by the neighborhood searcher 8 to the motion vector selector 10, and an example in which the motion vector selector 10 selects motion vectors and motion vector evaluation values. FIG.
The neighborhood searcher 8 performs the motion search described with reference to FIG. 5 with respect to each of the four horizontal 8 × vertical 8 pixel blocks B101 to B104 as the secondary search target, centering on each of the primary motion vector C61 and the plurality of search center coordinates C71. A motion search is performed on nine target points, and the motion vector having the smallest motion vector evaluation value among the nine points and the motion vector evaluation value are output to the motion vector selector 10. The motion vector selector 10 selects a motion vector having the smallest motion vector evaluation value from among the motion vectors output from the neighborhood searcher 8 for each of the blocks B101 to B104. For example, in the example of FIG. 10, the motion vector selector 10 selects the motion vector MV31 having the minimum motion vector evaluation value of 48 for the block B101. Similarly, the motion vector MV12 is selected for the block B102, the motion vector MV13 is selected for the block B103, and the motion vector MV34 is selected for the block B104. The motion vector selector 10 outputs the motion vector C101 for each selected block to the block integrator 11.

ブロック統合器11は、互いに隣接するブロックについて、動きベクトル選択器10から出力される動きベクトルの値が等しい場合は、両者のブロックを統合して、より大きなサイズのブロックとする。
例えば、図10において、ブロックB101の動きベクトルMV31と、ブロックB102の動きベクトルMV12との値が等しく、かつ、ブロックB103の動きベクトルMV13と、ブロックB104の動きベクトルMV34との値が等しい場合には、ブロック統合器11は、ブロックB101とブロックB102とを統合し、また、ブロックB103とブロックB104とを統合して、2つの横16×縦8画素ブロックを生成し、動き予測を行う単位のブロックサイズを横16×縦8画素(図15のブロックB1521およびB1522)に決定する。
When the motion vector values output from the motion vector selector 10 are the same for adjacent blocks, the block integrator 11 integrates both blocks into a larger size block.
For example, in FIG. 10, when the values of the motion vector MV31 of the block B101 and the motion vector MV12 of the block B102 are equal, and the values of the motion vector MV13 of the block B103 and the motion vector MV34 of the block B104 are equal. The block integrator 11 integrates the block B101 and the block B102, and also integrates the block B103 and the block B104 to generate two horizontal 16 × 8 vertical pixel blocks, and is a unit block for performing motion prediction The size is determined to be 16 × 8 pixels (blocks B1521 and B1522 in FIG. 15).

あるいは、ブロックB101の動きベクトルMV31と、ブロックB103の動きベクトルMV13と値が等しく、かつ、ブロックB102の動きベクトルMV12と、ブロックB104の動きベクトルMV34との値が等しい場合には、ブロック統合器11は、ブロックB101とブロックB103とを統合し、また、ブロックB102とブロックB104とを統合して、2つの横8×縦16画素ブロックを生成し、動き予測を行う単位のブロックサイズを横8×縦16画素(図15のブロックB1531およびB1532)に決定する。
あるいは、ブロックB101〜B104の動きベクトルの値が全て等しい場合には、ブロック統合器11は、4つのブロックB101〜B104を統合して横16×縦16画素ブロックを生成し、動き予測を行う単位のブロックサイズを横16×縦16画素(図15のブロックB1511)に決定する。
一方、隣接するブロックの動きベクトルの値が互いに異なる場合は、ブロック統合器11は、ブロックの統合は行わず、動き予測を行う単位のブロックサイズを横8×縦8画素(図15のブロックB1551〜B1554)に決定する。
以上のように、ブロック統合器11は、ブロックサイズ(インター符号化モード)および動きベクトルC201を決定し、動きベクトル検出装置100の外部に出力する。
Alternatively, if the value of the motion vector MV31 of the block B101 is equal to the value of the motion vector MV13 of the block B103, and the value of the motion vector MV12 of the block B102 is equal to the value of the motion vector MV34 of the block B104, the block integrator 11 The block B101 and the block B103 are integrated, and the block B102 and the block B104 are integrated to generate two horizontal 8 × vertical 16 pixel blocks, and the block size of a unit for performing motion prediction is set to 8 × horizontal. The length is determined to be 16 pixels (blocks B1531 and B1532 in FIG. 15).
Alternatively, when the motion vector values of the blocks B101 to B104 are all equal, the block integrator 11 integrates the four blocks B101 to B104 to generate a horizontal 16 × vertical 16 pixel block, and performs motion prediction. Is determined to be 16 × 16 pixels (block B1511 in FIG. 15).
On the other hand, when the motion vector values of adjacent blocks are different from each other, the block integrator 11 does not perform block integration, and sets the block size of a unit for performing motion prediction to 8 × 8 pixels (block B1551 in FIG. 15). To B1554).
As described above, the block integrator 11 determines the block size (inter-coding mode) and the motion vector C201, and outputs them to the outside of the motion vector detection device 100.

ここで、符号化対象のマクロブロックの画像が平坦であり、参照画像にも同様の平坦な画像の領域がある場合、平坦な画像の領域のどの部分をとっても、動きベクトル評価値にあまり差が生じないことが考えられる。この場合、ノイズ等の擾乱の影響により動きベクトル評価値がわずかに変化するだけで、近傍探索器8あるいは動きベクトル選択器10が選択する動きベクトルが、擾乱の影響が無い場合と異なるものになりうる。したがって、マクロブロックの各8×8画素ブロックについて見ると、マクロブロックの画像が平坦な場合は、ノイズ等の擾乱によってブロック毎に異なる方向の動きベクトルが選択され易くなる。この場合、ブロック統合器11はブロックの統合を行わず、符号化効率が低下する。   Here, if the macroblock image to be encoded is flat and the reference image has a similar flat image area, there is not much difference in the motion vector evaluation value in any part of the flat image area. It is thought that it does not occur. In this case, the motion vector evaluation value slightly changes due to the influence of disturbance such as noise, and the motion vector selected by the neighborhood searcher 8 or the motion vector selector 10 is different from the case where there is no influence of the disturbance. sell. Therefore, looking at each 8 × 8 pixel block of the macroblock, if the macroblock image is flat, motion vectors in different directions are easily selected for each block due to disturbance such as noise. In this case, the block integrator 11 does not perform block integration, and the encoding efficiency decreases.

また、画面全体が同一方向に移動(パン)している映像では、画面全体の移動が反映された動きベクトル予測値近傍の動きベクトルが選択されることが望ましい。これに対して、ノイズ等の影響により一部の横8×縦8画素ブロックで動きベクトル予測値近傍の動きベクトルが選択されず、例えばゼロベクトル近傍の動きベクトルが選択された場合、このブロックに隣接するマクロブロックを処理する際に、探索中心指示器7は、このゼロベクトル近傍の動きベクトルに基づいて動きベクトル予測値を算出する。その結果、探索中心指示器7が算出する動きベクトル予測値は、画面全体の移動を正しく反映しないものとなる。このため、前記ブロックに隣接するマクロブロックでも動きベクトル予測値近傍の動きベクトルが選択されない可能性が高い。同様に、さらにこのマクロブロックに隣接するマクロブロックでも、動きベクトル予測値近傍の動きベクトルが選択されない可能性が高い。このように、1つのブロックへのノイズ等の混入が、複数のマクロブロックに影響し、符号化効率が低下するおそれがあり、また、符号化・復号の際に復号画像に画像誤差が含まれ易くなり、主観品質が低下するおそれがある。   In addition, in a video in which the entire screen is moved (panned) in the same direction, it is desirable that a motion vector near the motion vector prediction value reflecting the movement of the entire screen is selected. On the other hand, when a motion vector near the motion vector prediction value is not selected in some horizontal 8 × vertical 8 pixel blocks due to the influence of noise or the like, for example, when a motion vector near the zero vector is selected, When processing adjacent macroblocks, the search center indicator 7 calculates a motion vector prediction value based on a motion vector near the zero vector. As a result, the motion vector prediction value calculated by the search center indicator 7 does not correctly reflect the movement of the entire screen. For this reason, there is a high possibility that a motion vector near the motion vector prediction value is not selected even in a macro block adjacent to the block. Similarly, there is a high possibility that a motion vector near the motion vector prediction value is not selected even in a macro block adjacent to this macro block. As described above, mixing of noise or the like into one block may affect a plurality of macroblocks, resulting in a decrease in encoding efficiency, and an image error is included in a decoded image at the time of encoding / decoding. There is a risk that subjective quality will be reduced.

そこで、画像特徴量演算器9は、符号化対象マクロブロック画像C121の特徴量として、画素値の分散など、画素値のばらつきを示す指標を算出し、マクロブロックの画像が平坦か否か、すなわち、画素値のばらつきが小さいか否かを判定し、判定結果C91を、近傍探索器8と動きベクトル選択器10とに出力する。画素値のばらつきが小さいとの判定結果が出力された場合、近傍探索器8は、横8×縦8画素ブロック単位での差分絶対値の集計および動きベクトル算出を行わず、横16×縦16画素のマクロブロック単位で動き探索を行い、マクロブロックの動きベクトルおよび動きベクトル評価値を出力する。そして、動きベクトル選択器10は、近傍探索器8から出力されるマクロブロックの動きベクトルのうち、動きベクトル評価値が最も小さい動きベクトルを選択する。これにより、平坦な画像においてブロックが不必要に細かく分割されることを防ぐことができる。
画像特徴量演算器9は、例えば、式(1)が成立する場合に、マクロブロックの画素値のばらつきが小さいと判定する。
Therefore, the image feature quantity calculator 9 calculates an index indicating pixel value variation such as dispersion of pixel values as the feature quantity of the encoding target macroblock image C121, and determines whether or not the macroblock image is flat. Then, it is determined whether or not the pixel value variation is small, and the determination result C91 is output to the neighborhood searcher 8 and the motion vector selector 10. When the determination result that the variation of the pixel value is small is output, the neighborhood searcher 8 does not calculate the absolute difference value and calculate the motion vector in the horizontal 8 × vertical 8 pixel block unit, and the horizontal 16 × vertical 16 A motion search is performed in units of macroblocks of pixels, and a motion vector of the macroblock and a motion vector evaluation value are output. Then, the motion vector selector 10 selects a motion vector having the smallest motion vector evaluation value from among the motion vectors of the macroblock output from the neighborhood searcher 8. Thereby, it is possible to prevent the blocks from being finely divided in a flat image.
For example, the image feature amount calculator 9 determines that the variation in the pixel value of the macroblock is small when Expression (1) is satisfied.

Figure 2011130265
Figure 2011130265

ここで、「マクロブロックの分散値」とは、マクロブロック内の各画素と、全画素の平均値との差分の絶対値和をいう。また、αは閾値であり、例えば、予め定められた定数である。   Here, the “macroblock variance value” refers to the sum of absolute values of the difference between each pixel in the macroblock and the average value of all the pixels. Α is a threshold value, for example, a predetermined constant.

図11は、動きベクトル検出装置100が、符号化対象のマクロブロックC121に対する動きベクトルを検出する処理手順を示すフローチャートである。
ステップS11において、画像縮小器12は、符号化対象のマクロブロックC121を縦横共に2分の1の画素数に縮小した画像C122を生成して一次探索器6に出力し、一次探索器6は、縮小画像C122を用いて、縮小参照画像C41上での動き探索をマクロブロック単位で行い、一次動きベクトルC61を生成して近傍探索器8に出力する。
ステップS12において、探索中心指示器7は、近傍探索器8が二次探索を行う領域の中心座標を示す探索中心座標C71を出力する。
ステップS13において、画像特徴量演算器9は、符号化対象のマクロブロックC121の画素値に基づいて、符号化対象のマクロブロックC121の画像が平坦か否かを示す画像特徴量を算出する。
FIG. 11 is a flowchart showing a processing procedure in which the motion vector detection apparatus 100 detects a motion vector for the encoding target macroblock C121.
In step S11, the image reducer 12 generates an image C122 obtained by reducing the encoding target macroblock C121 to half the number of pixels both vertically and horizontally, and outputs the image C122 to the primary searcher 6. The primary searcher 6 Using the reduced image C122, a motion search on the reduced reference image C41 is performed in units of macroblocks, and a primary motion vector C61 is generated and output to the neighborhood searcher 8.
In step S <b> 12, the search center indicator 7 outputs search center coordinates C <b> 71 indicating the center coordinates of the region in which the neighborhood searcher 8 performs the secondary search.
In step S <b> 13, the image feature amount calculator 9 calculates an image feature amount indicating whether or not the image of the encoding target macroblock C <b> 121 is flat based on the pixel value of the encoding target macroblock C <b> 121.

ステップS14において、画像特徴量演算器9は、算出した画像特徴量に基づいて、符号化対象のマクロブロックC121の画素値のばらつきが小さいか否かを判定する。ばらつきが小さいと判定した場合(ステップS14:YES)はステップS21に進み、ばらつきが小さくないと判定した場合(ステップS14:NO)はステップS15に進む。
ステップS15において、近傍探索器8は、符号化対象のマクロブロックC121を用いて、参照画像C51上での動き探索を行い、一次探索器6が出力する一次動きベクトルC61および探索中心指示器7が出力する探索中心座標C71の各々の近傍について、横8×縦8画素ブロック毎に、動きベクトル評価値が最小となる動きベクトルを選択し、選択した動きベクトルと、その動きベクトル評価値とを、動きベクトル選択器10に出力する。
In step S14, the image feature amount calculator 9 determines whether or not the variation in the pixel value of the macroblock C121 to be encoded is small based on the calculated image feature amount. If it is determined that the variation is small (step S14: YES), the process proceeds to step S21. If it is determined that the variation is not small (step S14: NO), the process proceeds to step S15.
In step S15, the neighborhood searcher 8 performs a motion search on the reference image C51 using the encoding target macroblock C121, and the primary motion vector C61 and the search center indicator 7 output by the primary searcher 6 For each neighborhood of search center coordinates C71 to be output, a motion vector having a minimum motion vector evaluation value is selected for each horizontal 8 × vertical 8 pixel block, and the selected motion vector and its motion vector evaluation value are Output to the motion vector selector 10.

ステップS16において、動きベクトル選択器10は、近傍探索器8から出力される動きベクトルから、横8×縦8画素ブロック毎に、動きベクトル評価値が最小となる動きベクトルを選択し、選択したブロック毎の動きベクトルをブロック統合器11に出力する。
ステップS17において、ブロック統合器11は、互いに隣接し、かつ、動きベクトルの値が等しいブロックを統合することにより、符号化対象のマクロブロックのブロックサイズおよび各ブロックの動きベクトルを決定する。
ステップS18において、ブロック統合器11は、決定したブロックサイズおよび動きベクトルを動きベクトル検出装置100の外部に出力する。その後、符号化対象のマクロブロックC121に対する動きベクトルを検出する処理を終了する。
In step S16, the motion vector selector 10 selects a motion vector having a minimum motion vector evaluation value for each horizontal 8 × vertical 8 pixel block from the motion vectors output from the neighborhood searcher 8, and selects the selected block. Each motion vector is output to the block integrator 11.
In step S17, the block integrator 11 integrates blocks that are adjacent to each other and have the same motion vector value, thereby determining the block size of the macroblock to be encoded and the motion vector of each block.
In step S <b> 18, the block integrator 11 outputs the determined block size and motion vector to the outside of the motion vector detection device 100. Thereafter, the process of detecting a motion vector for the encoding target macroblock C121 ends.

ステップS21において、近傍探索器8は、符号化対象のマクロブロックC121を用いて、参照画像C51上での動き探索を行い、一次探索器6が出力する一次動きベクトルC61および探索中心指示器7が出力する探索中心座標C71の各々の近傍について、横16×縦16画素ブロック単位で、動きベクトル評価値が最小となる動きベクトルを選択し、選択した動きベクトルと、その動きベクトル評価値とを、動きベクトル選択器10に出力する。
ステップS22において、動きベクトル選択器10は、近傍探索器8から出力される動きベクトルから、横16×縦16画素ブロック単位で、動きベクトル評価値が最小となる動きベクトルを選択し、選択した動きベクトルをブロック統合器11に出力する。その後、ステップS18に進む。
In step S21, the neighborhood searcher 8 performs a motion search on the reference image C51 using the encoding target macroblock C121, and the primary motion vector C61 and the search center indicator 7 output by the primary searcher 6 For each neighborhood of the search center coordinates C71 to be output, a motion vector having a minimum motion vector evaluation value is selected in units of horizontal 16 × vertical 16 pixel blocks, and the selected motion vector and its motion vector evaluation value are Output to the motion vector selector 10.
In step S22, the motion vector selector 10 selects a motion vector having a minimum motion vector evaluation value in units of 16 × 16 pixels from the motion vector output from the neighborhood searcher 8, and selects the selected motion. The vector is output to the block integrator 11. Thereafter, the process proceeds to step S18.

以上のように、一次探索器6が、縮小画像を用いて広範囲の一次探索を行う際に、横8×縦8画素ブロック毎ではなく横16×縦16画素のマクロブロック単位で探索を行うので、動きベクトル評価値を算出する対象となる画素数が多い。これにより、ノイズ等の擾乱の影響を受けにくく、動体の画像の追跡を、より正確に行うことができる。
また、近傍探索器8は、一次動きベクトルC61の近傍だけでなく、ゼロベクトルの近傍や動きベクトル予測値の近傍、または、上下左右に隣接するブロックまたはマクロブロックの動きベクトルの近傍についても動き探索を行うので、静止する画像や隣接するブロックと同様に動く画像にも対応して、より適切な動きベクトルを選択することができる。
また、近傍探索器8は、限定されたブロックサイズ、例えば横8×縦8画素毎に動きベクトルを生成するので、さまざまなブロックサイズで動き探索を行う必要が無く、動き探索の演算量を削減できる。かつ、ブロック統合器11が、動きベクトルの値に応じてブロックを統合するので、適切なブロックサイズを選択して符号化効率を高めることができる。
さらに、画像特徴量演算器9が、画像が平坦なマクロブロックを検出して、細かいブロックへの分割を抑制するので、画像が平坦な場合にもノイズ等の擾乱の影響を受けにくい。
As described above, when the primary searcher 6 performs a wide range primary search using the reduced image, the search is performed in units of macroblocks of 16 × 16 pixels, not 8 × 8 pixels. There are a large number of pixels for which motion vector evaluation values are calculated. Thereby, it is hard to receive the influence of disturbances, such as noise, and can track a moving body image more correctly.
Further, the neighborhood searcher 8 performs motion search not only in the neighborhood of the primary motion vector C61 but also in the neighborhood of the zero vector, the neighborhood of the motion vector prediction value, or the neighborhood of the motion vector of the block or macroblock adjacent vertically and horizontally. Therefore, it is possible to select a more appropriate motion vector corresponding to a still image or an image that moves like an adjacent block.
In addition, the neighborhood searcher 8 generates a motion vector for a limited block size, for example, every horizontal 8 × vertical 8 pixels, so there is no need to perform a motion search in various block sizes, and the amount of motion search calculation is reduced. it can. In addition, since the block integrator 11 integrates blocks according to the value of the motion vector, it is possible to select an appropriate block size and increase the encoding efficiency.
Furthermore, since the image feature amount calculator 9 detects a macroblock with a flat image and suppresses division into fine blocks, the image feature amount calculator 9 is hardly affected by disturbances such as noise even when the image is flat.

なお、一次探索器6が一次探索を行う際に用いる参照画像の縮小比率は、上述した縦横2分の1倍に限らず、近傍探索器8が二次探索を行う際に用いる参照画像は、非縮小のものに限らない。例えば、演算量を抑えつつ探索範囲を広げるために、一次探索器6が縦横共に4分の1の縮小比率の参照画像を用いて一次探索を行い、近傍探索器8が非縮小の参照画像を用いて二次探索を行うようにしてもよい。あるいは、一次探索器6が縦横共に4分の1の縮小比率の参照画像を用いて一次探索を行い、近傍探索器8が縦横共に2分の1の縮小比率の参照画像を用いて二次探索を行うようにしてもよい。この場合、一次探索器6は、横4×縦4画素に縮小された、符号化対象マクロブロックの縮小画像C122を用いて探索を行う。
また、一次探索器6が一次探索を行う際に用いる参照画像は、縦横の縮小比率が同一でなくてもよい。例えば、一次探索器6が、縦2分の1、横4分の1に縮小された、横4×縦8画素の縮小画像C122を用いて一次探索を行うようにしてもよい。
Note that the reduction ratio of the reference image used when the primary searcher 6 performs the primary search is not limited to 1/2 of the above-described vertical and horizontal directions, and the reference image used when the neighborhood searcher 8 performs the secondary search is as follows: It is not limited to non-reduced ones. For example, in order to expand the search range while suppressing the amount of computation, the primary searcher 6 performs a primary search using a reference image with a reduction ratio of 1/4 in both the vertical and horizontal directions, and the neighborhood searcher 8 selects an unreduced reference image. A secondary search may be performed by using this. Alternatively, the primary searcher 6 performs a primary search using a reference image with a reduction ratio of 1/4 both vertically and horizontally, and the neighborhood searcher 8 performs a secondary search using a reference image with a reduction ratio of 1/2 both vertically and horizontally. May be performed. In this case, the primary searcher 6 performs a search using the reduced image C122 of the encoding target macroblock reduced to 4 × 4 pixels.
Further, the reference image used when the primary searcher 6 performs the primary search may not have the same vertical / horizontal reduction ratio. For example, the primary searcher 6 may perform a primary search using a reduced image C122 of horizontal 4 × vertical 8 pixels that has been reduced to 1/2 vertical and 1/4 horizontal.

また、二次探索の対象は近傍9点に限らない。例えば、近傍探索器8が、一次ベクトル等を中心に±2画素の範囲内の25点について二次探索を行なう、あるいは、0.25画素または0.5画素などの小数精度で二次探索を行うなど、より広い範囲を探索するようにしてもよい。これにより、より適切な動きベクトルの探索が期待できる。
また、一次探索器6や、近傍探索器8が、複数の参照画像の候補を用いるようにしてもよい。例えば、一次探索器6が複数の参照画像の候補に対して一次探索を行い、動きベクトル評価値が最も小さな参照画像と一次動きベクトルとを選択して、近傍探索器8に出力するようにしてもよい。近傍探索器8は、一次探索器6が選択した参照画像(縮小された参照画像)に対応する参照画像(非縮小の参照画像)上で、一次動きベクトルが示す位置を中心とする近傍探索を行い、参照画像を示す情報と二次探索の結果の動きベクトルとをブロック毎に出力する。
さらに、ブロック統合器11がブロックを統合してより大きなブロックにする条件は、隣接するブロックの動きベクトルの値が同一の場合に限らない。例えば、式(2)が成立する場合に、ブロックを統合するようにしてもよい。
Further, the target of the secondary search is not limited to the nine nearby points. For example, the neighborhood searcher 8 performs a secondary search for 25 points within a range of ± 2 pixels around a primary vector or the like, or performs a secondary search with a decimal accuracy such as 0.25 pixel or 0.5 pixel. For example, a wider range may be searched. Thereby, a search for a more appropriate motion vector can be expected.
Further, the primary searcher 6 and the neighborhood searcher 8 may use a plurality of reference image candidates. For example, the primary searcher 6 performs a primary search with respect to a plurality of reference image candidates, selects a reference image having the smallest motion vector evaluation value and a primary motion vector, and outputs them to the neighborhood searcher 8. Also good. The neighborhood searcher 8 performs a neighborhood search centered on the position indicated by the primary motion vector on the reference image (non-reduced reference image) corresponding to the reference image (reduced reference image) selected by the primary searcher 6. The information indicating the reference image and the motion vector resulting from the secondary search are output for each block.
Furthermore, the condition that the block integrator 11 integrates blocks into a larger block is not limited to the case where the motion vector values of adjacent blocks are the same. For example, the blocks may be integrated when Expression (2) is established.

Figure 2011130265
Figure 2011130265

ここで、βは閾値であり、例えば、予め定められる定数である。例えばβ=0.25の場合、ブロック統合器11は、隣接するブロックの動きベクトルの差の絶対値が0.25画素以下である場合に、ブロックを統合する。このように、ブロックを統合し易くすることにより、符号化対象の動きベクトルの個数が減少し、符号化効率の向上が期待できる。なお、ブロックを統合する場合、ブロック統合器11は、例えば、統合前の何れかブロックの動きベクトルを統合後のブロックの動きベクトルに決定する。   Here, β is a threshold value, for example, a predetermined constant. For example, when β = 0.25, the block integrator 11 integrates blocks when the absolute value of the motion vector difference between adjacent blocks is 0.25 pixels or less. In this way, by making it easier to integrate blocks, the number of motion vectors to be encoded is reduced, and an improvement in encoding efficiency can be expected. When integrating blocks, the block integrator 11 determines, for example, the motion vector of any block before integration as the motion vector of the block after integration.

なお、動きベクトル検出装置100の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Note that a program for realizing all or part of the functions of the motion vector detection apparatus 100 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. You may process each part by. Here, the “computer system” includes an OS and hardware such as peripheral devices.
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like within a scope not departing from the gist of the present invention.

本発明は、例えば、動画像のディジタル信号をMPEG(Moving Picture Experts Group)方式、あるいは、ITU−T (The International Telecommunication Union Telecommunication Standardization Sector)Hシリーズ方式に従って符号化する映像符号化器など、動き予測を行う映像符号化器において、動きベクトルを出力する動きベクトル検出装置、動きベクトル検出方法およびプログラムに用いて好適である。   The present invention provides motion prediction such as a video encoder that encodes a moving picture digital signal in accordance with an MPEG (Moving Picture Experts Group) system or an ITU-T (The International Telecommunication Union Telecommunication Standardization Sector) H series system. In the video encoder that performs the above, it is suitable for use in a motion vector detection device, a motion vector detection method, and a program that output a motion vector.

1 画像メモリ
2 探索範囲切り出し器
3、12 画像縮小器
4 縮小画像キャッシュメモリ
5 画像キャッシュメモリ
6 一次探索器
7 探索中心指示器
8 近傍探索器
9 画像特徴量演算器
10 動きベクトル選択器
11 ブロック統合器
100 動きベクトル検出装置
DESCRIPTION OF SYMBOLS 1 Image memory 2 Search range cutout device 3, 12 Image reducer 4 Reduced image cache memory 5 Image cache memory 6 Primary searcher 7 Search center indicator 8 Neighbor searcher 9 Image feature-value calculator 10 Motion vector selector 11 Block integration 100 Motion vector detection device

Claims (7)

入力動画像のマクロブロックを分割した第1のブロック毎に、参照画像上で前記第1のブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置であって、
前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索器と、
二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示器と、
前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第2のブロック毎に、二次の動き探索を行って動きベクトルを検出する近傍探索器と、
前記近傍探索器が検出した動きベクトルの中から、前記第2のブロック毎に動きベクトルを選択する動きベクトル選択器と、
前記動きベクトル選択器が選択した動きベクトルに基づいて、前記第2のブロック、または、互いに隣接する前記第2のブロックを結合したブロックを、前記第1のブロックとし、前記第2のブロックの動きベクトルに基づいて前記第1のブロックの動きベクトルを決定するブロック統合器と、
を具備することを特徴とする動きベクトル検出装置。
A motion vector detection device that detects a motion vector indicating a position of a region corresponding to the first block on a reference image for each first block obtained by dividing a macroblock of an input moving image,
A primary searcher that performs a primary motion search on the macroblock to detect a primary motion vector;
A search center indicator that outputs a search center coordinate indicating a center coordinate of a range in which a secondary motion search is performed;
A neighborhood searcher that detects a motion vector by performing a secondary motion search for each coordinate between the coordinates indicated by the primary motion vector and the search center coordinates and for each second block obtained by dividing the macroblock;
A motion vector selector for selecting a motion vector for each of the second blocks from among the motion vectors detected by the neighborhood searcher;
Based on the motion vector selected by the motion vector selector, the second block or a block obtained by combining the second blocks adjacent to each other is defined as the first block, and the motion of the second block A block integrator for determining a motion vector of the first block based on a vector;
A motion vector detection apparatus comprising:
前記探索中心座標は、前記マクロブロックの位置を示すゼロベクトル、または、前記第2のブロックに隣接するブロックの動きベクトルから算出される動きベクトル予測値を含むことを特徴とする請求項1に記載の動きベクトル検出装置。   The search center coordinates include a zero vector indicating a position of the macroblock or a motion vector prediction value calculated from a motion vector of a block adjacent to the second block. Motion vector detection device. 前記探索中心座標は、前記マクロブロックの左に隣接する左隣接ブロックの動きベクトル、または、前記マクロブロックの左に隣接する左隣接マクロブロックの前記一次動きベクトル、または、前記マクロブロックの上に隣接する上隣接ブロックの動きベクトル、または、前記マクロブロックの上に隣接する上隣接マクロブロックの前記一次動きベクトルを含むことを特徴とする請求項1または請求項2に記載の動きベクトル検出装置。   The search center coordinates are the motion vector of the left adjacent block adjacent to the left of the macroblock, the primary motion vector of the left adjacent macroblock adjacent to the left of the macroblock, or adjacent to the macroblock. The motion vector detection apparatus according to claim 1, further comprising: a motion vector of an upper adjacent block that performs an upper adjacent block, or the primary motion vector of an upper adjacent macroblock that is adjacent to the macro block. 前記探索中心座標は、前記マクロブロックの右に隣接する右隣接マクロブロックの前記一次動きベクトル、または、前記マクロブロックの下に隣接する下隣接マクロブロックの前記一次動きベクトルを含むことを特徴とする請求項1から3のいずれかの項に記載の動きベクトル検出装置。   The search center coordinates include the primary motion vector of a right adjacent macroblock adjacent to the right of the macroblock or the primary motion vector of a lower adjacent macroblock adjacent below the macroblock. The motion vector detection device according to any one of claims 1 to 3. 前記マクロブロックの画素値に基づいて、画素値のばらつきを示す指標を算出し、前記マクロブロックの画素値のばらつきが小さいか否かを判定する画像特徴量演算器をさらに具備し、
前記二次探索器は、前記画像特徴量演算器が、前記マクロブロックの画素値のばらつきが小さいと判定した場合は、前記マクロブロックを前記第2のブロックとすることを特徴とする請求項1から4のいずれかの項に記載の動きベクトル検出装置。
Based on the pixel value of the macroblock, an index indicating pixel value variation is calculated, and further includes an image feature quantity calculator that determines whether or not the macroblock pixel value variation is small,
2. The secondary searcher, wherein the image feature quantity calculator determines that the macroblock is the second block when it is determined that variations in pixel values of the macroblock are small. 5. The motion vector detection device according to any one of items 1 to 4.
入力動画像のマクロブロックを分割した第1のブロック毎に、参照画像上で前記第1のブロックに対応する領域の位置を示す動きベクトルを検出する動きベクトル検出装置の動きベクトル検出方法であって、
前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索ステップと、
二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示ステップと、
前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第2のブロック毎に、二次の動き探索を行って動きベクトルを検出する近傍探索ステップと、
前記近傍探索ステップにて検出した動きベクトルの中から、前記第2のブロック毎に動きベクトルを選択する動きベクトル選択ステップと、
前記動きベクトル選択ステップにて選択した動きベクトルに基づいて、前記第2のブロック、または、互いに隣接する前記第2のブロックを結合したブロックを、前記第1のブロックとし、前記第2のブロックの動きベクトルに基づいて前記第1のブロックの動きベクトルを決定するブロック統合ステップと、
を具備することを特徴とする動きベクトル検出方法。
A motion vector detection method for a motion vector detection apparatus that detects a motion vector indicating a position of an area corresponding to a first block on a reference image for each first block obtained by dividing a macroblock of an input moving image. ,
Performing a primary motion search on the macroblock to detect a primary motion vector; and
A search center instruction step for outputting a search center coordinate indicating a center coordinate of a range in which a secondary motion search is performed;
A neighborhood search step for detecting a motion vector by performing a secondary motion search for each coordinate between the coordinate indicated by the primary motion vector and the search center coordinate and for each second block obtained by dividing the macroblock;
A motion vector selection step of selecting a motion vector for each of the second blocks from the motion vectors detected in the neighborhood search step;
Based on the motion vector selected in the motion vector selection step, the second block or a block obtained by combining the second blocks adjacent to each other is defined as the first block, and the second block A block integration step for determining a motion vector of the first block based on a motion vector;
A motion vector detection method comprising:
コンピュータに、入力動画像のマクロブロックを分割した第1のブロック毎に、参照画像上で前記第1のブロックに対応する領域の位置を示す動きベクトルを検出させるためのプログラムであって、
前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索ステップと、
二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示ステップと、
前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第2のブロック毎に、二次の動き探索を行って動きベクトルを検出する近傍探索ステップと、
前記近傍探索ステップにて検出した動きベクトルの中から、前記第2のブロック毎に動きベクトルを選択する動きベクトル選択ステップと、
前記動きベクトル選択ステップにて選択した動きベクトルに基づいて、前記第2のブロック、または、互いに隣接する前記第2のブロックを結合したブロックを、前記第1のブロックとし、前記第2のブロックの動きベクトルに基づいて前記第1のブロックの動きベクトルを決定するブロック統合ステップと、
を前記コンピュータに実行させるためのプログラム。
A program for causing a computer to detect a motion vector indicating a position of an area corresponding to a first block on a reference image for each first block obtained by dividing a macro block of an input moving image,
Performing a primary motion search on the macroblock to detect a primary motion vector; and
A search center instruction step for outputting a search center coordinate indicating a center coordinate of a range in which a secondary motion search is performed;
A neighborhood search step for detecting a motion vector by performing a secondary motion search for each coordinate between the coordinate indicated by the primary motion vector and the search center coordinate and for each second block obtained by dividing the macroblock;
A motion vector selection step of selecting a motion vector for each of the second blocks from the motion vectors detected in the neighborhood search step;
Based on the motion vector selected in the motion vector selection step, the second block or a block obtained by combining the second blocks adjacent to each other is defined as the first block, and the second block A block integration step for determining a motion vector of the first block based on a motion vector;
For causing the computer to execute.
JP2009287854A 2009-12-18 2009-12-18 Motion vector detection apparatus, motion vector detection method and program Active JP5185244B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009287854A JP5185244B2 (en) 2009-12-18 2009-12-18 Motion vector detection apparatus, motion vector detection method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009287854A JP5185244B2 (en) 2009-12-18 2009-12-18 Motion vector detection apparatus, motion vector detection method and program

Publications (2)

Publication Number Publication Date
JP2011130265A true JP2011130265A (en) 2011-06-30
JP5185244B2 JP5185244B2 (en) 2013-04-17

Family

ID=44292341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009287854A Active JP5185244B2 (en) 2009-12-18 2009-12-18 Motion vector detection apparatus, motion vector detection method and program

Country Status (1)

Country Link
JP (1) JP5185244B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015107887A1 (en) * 2014-01-15 2015-07-23 日本電気株式会社 Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program
WO2016031253A1 (en) * 2014-08-28 2016-03-03 日本電気株式会社 Block size determining method and program recording medium
WO2017094216A1 (en) * 2015-12-04 2017-06-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Image decoding method, image encoding method, image decoding apparatus, image encoding apparatus, and image encoding/decoding apparatus
WO2017138417A1 (en) * 2016-02-08 2017-08-17 シャープ株式会社 Motion vector generation device, prediction image generation device, moving image decoding device, and moving image coding device

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846968A (en) * 1994-08-03 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> Hierarchical motion vector detection method and apparatus
JPH08265773A (en) * 1995-03-24 1996-10-11 Graphics Commun Lab:Kk Method for detecting hierarchical motion vector and device therefor
JP2000270329A (en) * 1999-03-17 2000-09-29 Sanyo Electric Co Ltd Method for area division in object oriented coding and area division device
JP2001078197A (en) * 1999-09-03 2001-03-23 Canon Inc Image encoding device, image encoding method, and storage medium
JP2004129099A (en) * 2002-10-07 2004-04-22 Nec Corp Motion vector searching method and device
JP2005167721A (en) * 2003-12-03 2005-06-23 Sony Corp Data processing apparatus and method and encoding apparatus
JP2006115312A (en) * 2004-10-15 2006-04-27 Mie Tlo Co Ltd Motion detector and motion detecting method
JP2007158855A (en) * 2005-12-06 2007-06-21 Matsushita Electric Ind Co Ltd Motion vector detection apparatus and motion vector detection method
JP2008141616A (en) * 2006-12-04 2008-06-19 Fujifilm Corp Motion vector calculation device, method and program, moving image compression recording device, and imaging device
JP2008219141A (en) * 2007-02-28 2008-09-18 Sanyo Electric Co Ltd Motion vector detector, image encoder and imaging apparatus employing the same
JP2009021864A (en) * 2007-07-12 2009-01-29 Canon Inc Motion vector search device

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846968A (en) * 1994-08-03 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> Hierarchical motion vector detection method and apparatus
JPH08265773A (en) * 1995-03-24 1996-10-11 Graphics Commun Lab:Kk Method for detecting hierarchical motion vector and device therefor
JP2000270329A (en) * 1999-03-17 2000-09-29 Sanyo Electric Co Ltd Method for area division in object oriented coding and area division device
JP2001078197A (en) * 1999-09-03 2001-03-23 Canon Inc Image encoding device, image encoding method, and storage medium
JP2004129099A (en) * 2002-10-07 2004-04-22 Nec Corp Motion vector searching method and device
JP2005167721A (en) * 2003-12-03 2005-06-23 Sony Corp Data processing apparatus and method and encoding apparatus
JP2006115312A (en) * 2004-10-15 2006-04-27 Mie Tlo Co Ltd Motion detector and motion detecting method
JP2007158855A (en) * 2005-12-06 2007-06-21 Matsushita Electric Ind Co Ltd Motion vector detection apparatus and motion vector detection method
JP2008141616A (en) * 2006-12-04 2008-06-19 Fujifilm Corp Motion vector calculation device, method and program, moving image compression recording device, and imaging device
JP2008219141A (en) * 2007-02-28 2008-09-18 Sanyo Electric Co Ltd Motion vector detector, image encoder and imaging apparatus employing the same
JP2009021864A (en) * 2007-07-12 2009-01-29 Canon Inc Motion vector search device

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015107887A1 (en) * 2014-01-15 2015-07-23 日本電気株式会社 Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program
JPWO2015107887A1 (en) * 2014-01-15 2017-03-23 日本電気株式会社 Motion vector search apparatus, motion vector search method, and recording medium for storing motion vector search program
US10349071B2 (en) 2014-01-15 2019-07-09 Nec Corporation Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program
WO2016031253A1 (en) * 2014-08-28 2016-03-03 日本電気株式会社 Block size determining method and program recording medium
JPWO2016031253A1 (en) * 2014-08-28 2017-06-15 日本電気株式会社 Block size determination method and program
US10356403B2 (en) 2014-08-28 2019-07-16 Nec Corporation Hierarchial video code block merging using depth-dependent threshold for block merger
WO2017094216A1 (en) * 2015-12-04 2017-06-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Image decoding method, image encoding method, image decoding apparatus, image encoding apparatus, and image encoding/decoding apparatus
WO2017138417A1 (en) * 2016-02-08 2017-08-17 シャープ株式会社 Motion vector generation device, prediction image generation device, moving image decoding device, and moving image coding device
US11153600B2 (en) 2016-02-08 2021-10-19 Sharp Kabushiki Kaisha Motion vector generation device, prediction image generation device, video decoding device, and video coding device
US11722690B2 (en) 2016-02-08 2023-08-08 Sharp Kabushiki Kaisha Motion vector generation device, a prediction image generation device, a video decoding device and a video coding device
US11979602B2 (en) 2016-02-08 2024-05-07 Sharp Kabushiki Kaisha Motion vector generation device, a prediction image generation device, a video decoding device and a video coding device
US12273556B2 (en) 2016-02-08 2025-04-08 Sharp Kabushiki Kaisha Motion vector generation device, a video decoding device and a video coding device

Also Published As

Publication number Publication date
JP5185244B2 (en) 2013-04-17

Similar Documents

Publication Publication Date Title
JP7682967B2 (en) Motion Vector Refinement for Multi-Reference Prediction
KR102103682B1 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
KR100325253B1 (en) Motion vector search method and apparatus
TW201904284A (en) Sub-prediction unit temporal motion vector prediction (sub-pu tmvp) for video coding
US8009923B2 (en) Method and system for motion estimation with multiple vector candidates
CN108134939B (en) Motion estimation method and device
JP5216710B2 (en) Decryption processing method
JP2002532026A (en) Improvement of motion estimation and block matching pattern
CA2788952A1 (en) Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
KR20130062974A (en) Apparatus and method for image incoding/decoding
WO2017031671A1 (en) Motion vector field coding method and decoding method, and coding and decoding apparatuses
WO2013001803A1 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
CN113709458B (en) Displacement vector prediction method, device and equipment in video coding and decoding
JP5185244B2 (en) Motion vector detection apparatus, motion vector detection method and program
JP6135750B2 (en) Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
US10129543B2 (en) Image compressing device and image compressing method
JP5678924B2 (en) Image decoding apparatus, image decoding method, and image decoding program, and receiving apparatus, receiving method, and receiving program
JP5286573B2 (en) Motion vector detection apparatus, motion vector detection method and program
US11528485B2 (en) Encoding apparatus and program
JP5754120B2 (en) Motion vector detection apparatus, motion vector detection method and program
CN114040209A (en) Motion estimation method, device, electronic device and storage medium
WO2025222584A1 (en) Method and apparatus for intra block copy fusion, and encoder/decoder including the same
CN116248898B (en) Motion vector correction for multi-reference prediction
JP2006254347A (en) Image encoding device
JP2006074499A (en) Image encoding apparatus and image encoding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130117

R151 Written notification of patent or utility model registration

Ref document number: 5185244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350