JP2011130265A - Motion vector detection apparatus, motion vector detection method and program - Google Patents
Motion vector detection apparatus, motion vector detection method and program Download PDFInfo
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
【課題】動きベクトル検出装置が動き探索を行う際に、擾乱の影響を受けにくくし、かつ、動き探索の演算量を削減する。
【解決手段】一次探索器6がマクロブロック単位で一次探索を行い、近傍探索器8は、一次探索の結果得られる一次動きベクトル周辺およびゼロベクトル周辺等の近傍探索を、マクロブロックサイズ未満のブロック単位で行う。ブロック統合器11は、ブロック毎の動きベクトルに応じて互いに隣接するブロックを結合することにより、マクロブロックに適用するブロックサイズを決定し、各ブロックの動きベクトルを決定する。
【選択図】図1When 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
図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
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
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など、2n分の1(nは、0≦n≦4の整数)に縮小して一次探索を行う。例えば、符号化対象の画像および参照画像を、縦横共に2分の1に縮小することにより、比較する画素数を4分の1に減らすことができ、より少ない演算量で広い範囲を動き探索することができる。例えば、2n分の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
例えば、縦横共に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
しかしながら、一次探索をマクロブロック単位で行うと、マクロブロック全体に対して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.
以下、図面を参照して、本発明の一実施形態について説明する。
図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
The
画像メモリ1は、ローカル復号画像C11の入力を受け、このローカル復号画像C11を蓄積する。画像メモリ1が記憶するローカル復号画像は、動き探索のために使用する参照画像を切り出す元の画像となる。なお、ここでいう「ローカル復号画像」とは、本動きベクトル検出装置100を含む動画像符号化装置が入力画像を符号化し、さらに復号した画像である。ローカル復号画像は、動画像復号装置も生成する画像であり、このローカル復号画像を用いて動き探索を行うことにより、符号化および復号による画像誤差を抑制することができる。なお、画像メモリ1が、ローカル復号画像に代えて入力画像を蓄積するようにしてもよい。入力画像を用いて動き探索を行うと、ローカル復号画像の生成や転送を待つことなく動き探索を行うことができるため、動画像符号化装置の構成の自由度が増す。
符号化および復号による画像誤差は生じるものの、動画像符号化装置側で復号画像を生成する必要が無く、動画像符号化装置の構成を簡略化できる。
The
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
The
The
探索中心指示器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
Based on the pixel value of the macroblock C121 to be encoded, the image
The
ここでいう、「動きベクトル評価値」とは、符号化対象のブロック内の各画素と参照画像上で対応する画素との差分の絶対値和に、動きベクトルや符号化モードを記述するために必要なビット量(符号化コスト)に相当する値を加えた値である。動きベクトル評価値は、当該動きベクトルを用いて動き予測を行った場合の符号量や画像誤差を示す指標であり、動きベクトル評価値が小さい動きベクトルほど、符号化対象のマクロブロックに対して動き予測を行なう際に用いるのに適している。
後述するように、探索中心指示器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
動きベクトル選択器10は、近傍探索器8から出力される複数の動きベクトルC81の中から、動きベクトル評価値が最小となる動きベクトルをブロック毎に選択し、選択したブロック毎の動きベクトルC101をブロック統合器11に出力する。
ブロック統合器11は、動きベクトル選択器10から出力されるブロック毎の動きベクトルC101に基づいて、処理対処のマクロブロックに適用するブロックサイズを決定し、ブロック毎の動きベクトルC201を、動きベクトル検出装置100の外部(例えば、この動きベクトル検出装置100を含む動画像符号化装置の予測画像生成手段)に出力する。
The
Based on the motion vector C101 for each block output from the
図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
A reduced image C122 in the figure is a reduced image of a macroblock to be encoded, which is output from the
As shown in the figure, in the direct search method, the
Specifically, the
なお、一次探索器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
FIG. 3 is a diagram illustrating an example in which the
First, the
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
図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
In the
図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
As described with reference to FIG. 5, the
Here, as described with reference to FIG. 5, even if the
探索中心指示器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
(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
符号化対象のマクロブロック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
The
ブロック統合器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
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
あるいは、ブロック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
Alternatively, when the motion vector values of the blocks B101 to B104 are all equal, the
On the other hand, when the motion vector values of adjacent blocks are different from each other, the
As described above, the
ここで、符号化対象のマクロブロックの画像が平坦であり、参照画像にも同様の平坦な画像の領域がある場合、平坦な画像の領域のどの部分をとっても、動きベクトル評価値にあまり差が生じないことが考えられる。この場合、ノイズ等の擾乱の影響により動きベクトル評価値がわずかに変化するだけで、近傍探索器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
また、画面全体が同一方向に移動(パン)している映像では、画面全体の移動が反映された動きベクトル予測値近傍の動きベクトルが選択されることが望ましい。これに対して、ノイズ等の影響により一部の横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
For example, the image
ここで、「マクロブロックの分散値」とは、マクロブロック内の各画素と、全画素の平均値との差分の絶対値和をいう。また、αは閾値であり、例えば、予め定められた定数である。 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
In step S11, the
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
In step S <b> 13, the image
ステップ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
In step S15, the
ステップS16において、動きベクトル選択器10は、近傍探索器8から出力される動きベクトルから、横8×縦8画素ブロック毎に、動きベクトル評価値が最小となる動きベクトルを選択し、選択したブロック毎の動きベクトルをブロック統合器11に出力する。
ステップS17において、ブロック統合器11は、互いに隣接し、かつ、動きベクトルの値が等しいブロックを統合することにより、符号化対象のマクロブロックのブロックサイズおよび各ブロックの動きベクトルを決定する。
ステップS18において、ブロック統合器11は、決定したブロックサイズおよび動きベクトルを動きベクトル検出装置100の外部に出力する。その後、符号化対象のマクロブロックC121に対する動きベクトルを検出する処理を終了する。
In step S16, the
In step S17, the
In step S <b> 18, the
ステップS21において、近傍探索器8は、符号化対象のマクロブロックC121を用いて、参照画像C51上での動き探索を行い、一次探索器6が出力する一次動きベクトルC61および探索中心指示器7が出力する探索中心座標C71の各々の近傍について、横16×縦16画素ブロック単位で、動きベクトル評価値が最小となる動きベクトルを選択し、選択した動きベクトルと、その動きベクトル評価値とを、動きベクトル選択器10に出力する。
ステップS22において、動きベクトル選択器10は、近傍探索器8から出力される動きベクトルから、横16×縦16画素ブロック単位で、動きベクトル評価値が最小となる動きベクトルを選択し、選択した動きベクトルをブロック統合器11に出力する。その後、ステップS18に進む。
In step S21, the
In step S22, the
以上のように、一次探索器6が、縮小画像を用いて広範囲の一次探索を行う際に、横8×縦8画素ブロック毎ではなく横16×縦16画素のマクロブロック単位で探索を行うので、動きベクトル評価値を算出する対象となる画素数が多い。これにより、ノイズ等の擾乱の影響を受けにくく、動体の画像の追跡を、より正確に行うことができる。
また、近傍探索器8は、一次動きベクトルC61の近傍だけでなく、ゼロベクトルの近傍や動きベクトル予測値の近傍、または、上下左右に隣接するブロックまたはマクロブロックの動きベクトルの近傍についても動き探索を行うので、静止する画像や隣接するブロックと同様に動く画像にも対応して、より適切な動きベクトルを選択することができる。
また、近傍探索器8は、限定されたブロックサイズ、例えば横8×縦8画素毎に動きベクトルを生成するので、さまざまなブロックサイズで動き探索を行う必要が無く、動き探索の演算量を削減できる。かつ、ブロック統合器11が、動きベクトルの値に応じてブロックを統合するので、適切なブロックサイズを選択して符号化効率を高めることができる。
さらに、画像特徴量演算器9が、画像が平坦なマクロブロックを検出して、細かいブロックへの分割を抑制するので、画像が平坦な場合にもノイズ等の擾乱の影響を受けにくい。
As described above, when the
Further, the
In addition, the
Furthermore, since the image
なお、一次探索器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
Further, the reference image used when the
また、二次探索の対象は近傍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
Further, the
Furthermore, the condition that the
ここで、βは閾値であり、例えば、予め定められる定数である。例えばβ=0.25の場合、ブロック統合器11は、隣接するブロックの動きベクトルの差の絶対値が0.25画素以下である場合に、ブロックを統合する。このように、ブロックを統合し易くすることにより、符号化対象の動きベクトルの個数が減少し、符号化効率の向上が期待できる。なお、ブロックを統合する場合、ブロック統合器11は、例えば、統合前の何れかブロックの動きベクトルを統合後のブロックの動きベクトルに決定する。
Here, β is a threshold value, for example, a predetermined constant. For example, when β = 0.25, the
なお、動きベクトル検出装置100の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Note that a program for realizing all or part of the functions of the motion
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
Claims (7)
前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索器と、
二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示器と、
前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第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から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.
前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索ステップと、
二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示ステップと、
前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第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:
前記マクロブロックに対する一次の動き探索を行って、一次動きベクトルを検出する一次探索ステップと、
二次の動き探索を行う範囲の中心座標を示す探索中心座標を出力する探索中心指示ステップと、
前記一次動きベクトルが示す座標と前記探索中心座標との座標毎に、かつ前記マクロブロックを分割した第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.
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)
| 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)
| 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 |
-
2009
- 2009-12-18 JP JP2009287854A patent/JP5185244B2/en active Active
Patent Citations (11)
| 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)
| 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 |