JP2006074520A - Motion vector detecting device - Google Patents

Motion vector detecting device Download PDF

Info

Publication number
JP2006074520A
JP2006074520A JP2004256213A JP2004256213A JP2006074520A JP 2006074520 A JP2006074520 A JP 2006074520A JP 2004256213 A JP2004256213 A JP 2004256213A JP 2004256213 A JP2004256213 A JP 2004256213A JP 2006074520 A JP2006074520 A JP 2006074520A
Authority
JP
Japan
Prior art keywords
motion vector
division type
block
target block
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004256213A
Other languages
Japanese (ja)
Inventor
Kazuo Saigo
賀津雄 西郷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004256213A priority Critical patent/JP2006074520A/en
Publication of JP2006074520A publication Critical patent/JP2006074520A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion vector detecting device capable of greatly reducing the calculation amount of motion retrieval by narrowing down a block size beforehand. <P>SOLUTION: In this motion vector detecting device for dividing a target block into prescribed sub-blocks in size to detect at least one motion vector and outputting a division type when the target block is divided into the sub-blocks and the motion vector of the divided sub-blocks as motion information, a division type extracting part (41) extracts division types of a just above adjacent block and a just left adjacent block which are already encoded with respect to the target block and estimates a division type of the target block from the extracted division types of the just above adjacent block and just left block, and a target block motion vector detecting part detects the motion vector of the target block by the estimated division type. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、動画像符号化技術における動きベクトル検出装置に関するものである。   The present invention relates to a motion vector detection apparatus in moving picture coding technology.

まず、MPEG(Moving Picture Expert Group)で使用されている典型的な動画像圧縮符号化装置(エンコーダ)の全体構成例(特許文献1)について図10を用いて簡単に説明する。動画像圧縮符号化装置は、画像データを周波数領域に変換する変換部(DCT)13と、変換部13 で得られた変換係数を量子化する量子化部(Q)14と、量子化された変換係数をエントロピー符号化する可変長符号化部(VLC)15と、可変ビットレートの圧縮画像データを伝送レートにあわせて伝送路に供給するためのバッファ17と、デコーダ16と、動き予測部19とを備える。   First, an overall configuration example (Patent Document 1) of a typical moving image compression encoding apparatus (encoder) used in MPEG (Moving Picture Expert Group) will be briefly described with reference to FIG. The moving image compression coding apparatus includes a transform unit (DCT) 13 that transforms image data into a frequency domain, a quantizer (Q) 14 that quantizes transform coefficients obtained by the transform unit 13, and a quantized signal. A variable length coding unit (VLC) 15 for entropy coding the transform coefficient, a buffer 17 for supplying compressed image data with a variable bit rate to the transmission line according to the transmission rate, a decoder 16, and a motion prediction unit 19 With.

図10に示されるように、まず画像データ10が入力される。差分器11は画像データ10と、動き補償画像12の差分値を計算する。動き補償画像12は、既に符号化された画像を復号化し、動き予測データをもとに動き補償することによって得られる。これは、画像符号化に対応するデコーダ16によって行われる。   As shown in FIG. 10, first, image data 10 is input. The difference unit 11 calculates a difference value between the image data 10 and the motion compensated image 12. The motion compensated image 12 is obtained by decoding an already encoded image and performing motion compensation based on the motion prediction data. This is performed by the decoder 16 corresponding to image coding.

デコーダ16は、符号化手順を逆に行う、すなわち、逆量子化部(Q-1)20と、逆変換部(IDCT)21と、によって復号化された差分データに、バッファ22と、動き補償部23と、で生成された動き補償画像を加算する加算器24とで構成され、復号側で得られるものと同様の前画像を生成する。 The decoder 16 reverses the encoding procedure, that is, the difference data decoded by the inverse quantization unit (Q −1 ) 20 and the inverse transform unit (IDCT) 21 is converted into a buffer 22 and motion compensation. The unit 23 and an adder 24 for adding the motion compensated images generated by the unit 23 generate a previous image similar to that obtained on the decoding side.

なお、動き補償符号化では、対象となる画像(画像データ10に相当)の動き補償画像は、対象となる画像と復号化した画像(バッファ22に蓄積された復号化画像で参照画像に相当)との間での動きの予測に基づいて、対応する復号化した画像の画像データから生成される。   In motion compensation coding, the motion compensated image of the target image (corresponding to the image data 10) is the target image and the decoded image (the decoded image stored in the buffer 22 corresponds to the reference image). Is generated from the image data of the corresponding decoded image based on the prediction of motion between and.

動きの予測値は、復号化した画像と対象となる画像との間の画素の変位を示す2次元動きベクトルで表現される。通常、動き予測は、ブロック単位で行われる。すなわち、復号化した画像で、対象となる画像のブロックと最も相関が高いブロックが動き補償画像とされる。この動き予測を行う動き予測部19と、動きベクトルに対応して復号化した画像から動き補償画像を生成する動き補償部23がエンコーダに組み込まれる。   The predicted value of motion is expressed by a two-dimensional motion vector indicating the displacement of the pixel between the decoded image and the target image. Usually, motion prediction is performed in units of blocks. That is, in the decoded image, a block having the highest correlation with the block of the target image is set as a motion compensated image. A motion prediction unit 19 that performs this motion prediction and a motion compensation unit 23 that generates a motion compensated image from an image decoded corresponding to the motion vector are incorporated in the encoder.

図10に示される動画像圧縮符号化装置は、次のように動作する。画像信号10の画像は、通常、マクロブロックと呼ばれる、ある個数の小さなブロック群に分割される。たとえば、図11に示されたピクチャ(対象となる画像)30は、複数のマクロブロック31 に分割される。各マクロブロックは、通常、16×16の画素サイズをもっている。
さらに、ピクチャは、ある個数のスライス32に分割される。各スライスは、複数のマクロブロックからなり、データ喪失時の同期復帰の単位である。なお、1つのスライスを構成するマクロブロックの配列は、図11に示されるように同じ行のマクロブロックのみで構成される必要は無く、複数の行のマクロブロックを包含したり、行の途中で異なるスライスの区切りを設けたりしてもよい。
The moving image compression encoding apparatus shown in FIG. 10 operates as follows. The image of the image signal 10 is usually divided into a certain number of small block groups called macroblocks. For example, the picture (target image) 30 shown in FIG. 11 is divided into a plurality of macroblocks 31. Each macroblock typically has a 16 × 16 pixel size.
Further, the picture is divided into a certain number of slices 32. Each slice is composed of a plurality of macroblocks, and is a unit of synchronous recovery when data is lost. Note that the arrangement of macroblocks constituting one slice does not have to be composed only of macroblocks in the same row as shown in FIG. 11, and includes macroblocks in a plurality of rows or in the middle of rows. Different slices may be provided.

画像中の空間的な冗長性を減少させることだけによって映像の画像データを符号化したときには、その結果得られるピクチャは、Iピクチャと呼ばれる。Iピクチャは、ピクチャ内の画素値のみを参照して符号化される。符号化されたIピクチャは、データ量を削減するための時間的な情報が利用できないために、その符号化されたデータのサイズが大きい。   When video image data is encoded only by reducing spatial redundancy in the image, the resulting picture is called an I picture. An I picture is encoded with reference to only pixel values in the picture. Since the encoded I picture cannot use temporal information for reducing the amount of data, the size of the encoded data is large.

連続するピクチャ間に存在する時間的な冗長性を利用して効率的な圧縮を行うために、
動き予測及び補償に基づいて、連続するピクチャ間での予測符号化が行われる。動き予測
において選択された参照ピクチャが既に符号化し復号化された1つのピクチャである場合には、Pピクチャと呼ばれる。また、参照ピクチャが2つ(通常は表示順序が対象ピクチャに対し前方と後方)の場合には、Bピクチャと呼ばれる。
In order to perform efficient compression by taking advantage of temporal redundancy that exists between successive pictures,
Based on motion prediction and compensation, predictive coding is performed between consecutive pictures. When the reference picture selected in motion prediction is one picture that has already been encoded and decoded, it is called a P picture. In addition, when there are two reference pictures (usually, the display order is front and rear with respect to the target picture), it is called a B picture.

最新の動画像圧縮符号化方式であるMPEG−4AVC(Advanced Video Coding)、ないしはH.264と呼ばれる規格では、各16×16マクロブロックにおける動き補償は、異なるブロックサイズを用いて行うことができる。個々の動きベクトルは、動き補償のブロックサイズである4×4、4×8、8×4、8×8、8×16、又は、16×16画素のブロックに対して、決定することができる。   MPEG-4 AVC (Advanced Video Coding), which is the latest video compression encoding system, or H.264. In a standard called H.264, motion compensation in each 16 × 16 macroblock can be performed using different block sizes. Individual motion vectors can be determined for block sizes of 4 × 4, 4 × 8, 8 × 4, 8 × 8, 8 × 16, or 16 × 16 pixels, which are motion compensation block sizes. .

動き補償処理においては、動き予測処理の結果に基づいて、決定された動きベクトルに基づく予測が行われる。そして、予測されたブロックから得られる予測誤差ブロックに含まれる情報は、変換部13において、変換係数に変換される。一般に、2次元DCT(離散コサイン変換)がよく用いられる。得られた変換係数は、量子化され、最後に、可変長符号化部15において、エントロピー符号化(VLC)が行われる。なお、動き予測部19で算出された動きベクトルは、動き補償に用いられると共に、可変長符号化部15及びバッファ17を経て、圧縮画像データ18に組み込まれて出力される。   In the motion compensation process, prediction based on the determined motion vector is performed based on the result of the motion prediction process. Information included in the prediction error block obtained from the predicted block is converted into a conversion coefficient by the conversion unit 13. In general, two-dimensional DCT (discrete cosine transform) is often used. The obtained transform coefficient is quantized, and finally, variable length coding unit 15 performs entropy coding (VLC). Note that the motion vector calculated by the motion prediction unit 19 is used for motion compensation, and is incorporated into the compressed image data 18 via the variable length encoding unit 15 and the buffer 17 and output.

圧縮画像データ18の伝送ストリームはデコーダ(動画像復号化装置)に送信され、そこで、受信データに基づいて、符号化された映像画像のシーケンスが再生される。デコーダの構成は、図10に示された動画像圧縮符号化装置が備えるデコーダ16の構成に対応している。前述したように、最新の動画像圧縮符号化方式のMPEG−4AVCでは、動き補償のブロックサイズとしてマクロブロックよりも小さなサイズのブロックを選択することができる。これは、マクロブロックよりも小さな物体の動きを上手く検出し、符号化効率を上げるためである。   The transmission stream of the compressed image data 18 is transmitted to a decoder (moving image decoding apparatus), where an encoded video image sequence is reproduced based on the received data. The configuration of the decoder corresponds to the configuration of the decoder 16 included in the moving image compression encoding apparatus shown in FIG. As described above, in the MPEG-4 AVC of the latest moving image compression encoding system, a block having a size smaller than that of a macro block can be selected as a motion compensation block size. This is to improve the coding efficiency by detecting the movement of an object smaller than a macro block.

図12は、MPEG−4AVCにおける動き補償のブロックサイズについて示したものであり、縦16画素×横16画素の大きさを有するマクロブロックをどのように分割するかを示している。分割方法として、まず大きく4通りあり、それを図12(a)〜(d)に示している。   FIG. 12 shows the block size of motion compensation in MPEG-4 AVC, and shows how to divide a macroblock having a size of 16 pixels vertically × 16 pixels horizontally. There are four main division methods, which are shown in FIGS.

図12(a)は、マクロブロックを分割せずに動き補償を行う場合(分割タイプ1)を示し、図12(b)はマクロブロックを縦16画素×横8画素の2つのブロックに分割して動き補償を行う場合(分割タイプ2)を示し、図12(c)はマクロブロックを縦8画素×横16画素の2つのブロックに分割して動き補償を行う場合(分割タイプ3)を示し、そして、図12(d)はマクロブロックを縦8画素×横8画素の4つのブロックに分割して動き補償を行う場合(分割タイプ4)を示している。   FIG. 12A shows a case where motion compensation is performed without dividing a macroblock (division type 1), and FIG. 12B shows that the macroblock is divided into two blocks of 16 vertical pixels × 8 horizontal pixels. FIG. 12C shows a case where motion compensation is performed by dividing a macroblock into two blocks of 8 vertical pixels × 16 horizontal pixels (division type 3). FIG. 12D shows a case where motion compensation is performed by dividing a macroblock into four blocks of 8 vertical pixels × 8 horizontal pixels (division type 4).

さらに、図12(d)に示す分割タイプ4の分割方法を選択する場合には、図12(e)〜(h)にそれぞれ示す縦8画素×横8画素の4ブロックのそれぞれを分割する方法から選択できる。なお、図12(e)、図12(f)、図12(g)、および図12(h)に示す分割方法をそれぞれ、分割タイプ4、分割タイプ5、分割タイプ6、および分割タイプ7に対応している。   Further, when the division method of division type 4 shown in FIG. 12D is selected, a method of dividing each of the 4 blocks of 8 vertical pixels × 8 horizontal pixels shown in FIGS. 12E to 12H. You can choose from. The division methods shown in FIGS. 12E, 12F, 12G, and 12H are divided into division type 4, division type 5, division type 6, and division type 7, respectively. It corresponds.

上述のように、MPEG−4AVCでは、動き補償のブロックサイズとして異なる複数のブロックサイズを選択することで符号化効率を上げることはできる。しかしながら、マクロブロッの分割タイプとしてどの分割タイプが動き補償として最適であるか決定するには、すべての分割タイプにおける動きベクトルを求めその動きベクトルにおける予測誤差などから最適な分割タイプを判定する必要がある。それゆえに、動きベクトル探索の演算量が増大する。   As described above, in MPEG-4 AVC, encoding efficiency can be improved by selecting a plurality of different block sizes as the block size for motion compensation. However, in order to determine which division type is optimal for motion compensation as a macroblock division type, it is necessary to obtain motion vectors for all division types and to determine the optimum division type based on prediction errors in the motion vectors. is there. Therefore, the calculation amount of motion vector search increases.

このため、MPEG−4AVCにおいては、以下のようにして、上述の複数分割タイプの動きベクトル検索に要する演算量の低減が図られている。例えば、先ず、より小さなブロックサイズの動きベクトルを求め、この小さなブロックサイズの動きベクトルの方向と大きさから、より大きなブロックサイズの動きベクトルを推定することで、動き検索するブロックサイズの数を減らし演算量を低減する(非特許文献1)。   For this reason, in MPEG-4 AVC, the amount of calculation required for the above-described multi-partition type motion vector search is reduced as follows. For example, first, a motion vector having a smaller block size is obtained, and a motion vector having a larger block size is estimated from the direction and size of the motion vector having the smaller block size, thereby reducing the number of block sizes for motion search. The amount of calculation is reduced (Non-Patent Document 1).

図13(a)に示すように、ブロックを4分割したサブブロック(分割タイプ4)のそれぞれの動きベクトルが非常に近い場合、それはブロック全体の動きベクトルに近似していると推定される。それゆえに、サブブロックで構成されるブロック全体(分割タイプ1)を動き補償すべきブロックサイズとして動き検索する。   As shown in FIG. 13A, when the motion vectors of the sub-block (division type 4) obtained by dividing the block into four are very close, it is estimated that the motion vector approximates the entire block. Therefore, motion search is performed on the entire block (partition type 1) composed of sub-blocks as a block size to be motion compensated.

逆に、図13(b)に示すように、4つのサブブロック(分割タイプ4)の動きベクトルにばらつきがある場合、それはブロック全体として一つの動きベクトルを指していない。それゆえに、4つのサブブロック(分割タイプ4)を動き補償すべきブロックサイズとして、そのまま4つのサブブロック(分割タイプ4)の動きベクトルを使用する。
特開平5−236456号公報 清水智行、米山暁夫、柳原広昌、中島康弘:「H.264符号化処理における動き予測の高速化に関する一検討」情報処理学会研究報告(IPSJ SIG Technical Report)2003−AVM−42(4) 2003/10/3 pp.23−28
On the other hand, as shown in FIG. 13B, when the motion vectors of the four sub-blocks (division type 4) vary, it does not indicate one motion vector as a whole block. Therefore, the motion vectors of the four sub-blocks (division type 4) are used as they are as the block size for motion compensation of the four sub-blocks (division type 4).
JP-A-5-236456 Tomoyuki Shimizu, Ikuo Yoneyama, Hiromasa Yanagihara, Yasuhiro Nakajima: “A Study on Speeding Up of Motion Prediction in H.264 Coding” Information Processing Society of Japan (IPSJ SIG Technical Report) 2003-AVM-42 (4) 2003 / 10/3 pp. 23-28

上述のように、MPEG−4AVCでは動き補償の効率を上げるため、複数のブロックサイズ(分割タイプ)による動き検索を利用できる。しかしながら、その分だけ、演算量が増大するという課題がある。これに対して、この演算量の増大を低減する手段として、より小さなブロックサイズ(例えば、分割タイプ4)の動きベクトルからより大きなブロックサイズの動きベクトルを推定し、ブロックサイズを特定する方法がある。しかしながら、その場合においても、より小さなブロックサイズの動きベクトルを求めなければならない。しかも、より小さなブロックサイズは分割されたブロック数が多いために、動き検索の演算量も多くなり、大幅な低減には至らない。   As described above, in MPEG-4 AVC, motion search using a plurality of block sizes (partition types) can be used to increase the efficiency of motion compensation. However, there is a problem that the calculation amount increases accordingly. On the other hand, as a means for reducing the increase in the calculation amount, there is a method of estimating a motion vector having a larger block size from a motion vector having a smaller block size (for example, division type 4) and specifying the block size. . However, even in that case, a motion vector having a smaller block size must be obtained. In addition, since the smaller block size has a larger number of divided blocks, the amount of calculation for motion search increases, and the reduction is not significantly reduced.

そこで、本発明では、マクロブロックのブロックサイズ(分割タイプ)を既に符号化された周辺マクロブロックのブロックサイズ(分割タイプ)から推定し、ブロックサイズ(分割タイプ)を事前に絞り込みすることで動き検索の演算量を大幅に低減できる動きベクトル検出装置を提供することを目的とする。   Therefore, in the present invention, the block size (division type) of the macroblock is estimated from the block sizes (division type) of the already encoded peripheral macroblocks, and the motion search is performed by narrowing down the block size (division type) in advance. An object of the present invention is to provide a motion vector detection device capable of greatly reducing the amount of computation of the above.

本発明にかかる動きベクトル検出装置は、動画像符号化において対象ブロックの動きベクトルを算出する際に、当該対象ブロックを、所定のサブブロックサイズに分割して少なくとも1つの動きベクトルを検出し、前記対象ブロックがサブブロックに分割されたときの分割タイプと、分割されたサブブロックの動きベクトルとを動き情報として出力する動きベクトル検出装置であって、
前記対象ブロックに対して既に符号化された直上の隣接ブロックと直左の隣接ブロックの分割タイプを抽出する分割タイプ抽出手段と、
前記分割タイプ抽出手段で抽出された直上の隣接ブロックと直左の隣接ブロックの分割タイプから前記対象ブロックの分割タイプを推定する分割タイプ推定手段と、
前記分割タイプ推定手段で推定された分割タイプによって前記対象ブロックの動きベクトルを検出する対象ブロック動きベクト検出手段とを備える。
When calculating a motion vector of a target block in video encoding, the motion vector detection device according to the present invention divides the target block into a predetermined sub-block size to detect at least one motion vector, A motion vector detection device that outputs a division type when a target block is divided into sub-blocks and a motion vector of the divided sub-blocks as motion information,
Division type extraction means for extracting the division type of the immediately adjacent block and the immediately adjacent block that have already been encoded with respect to the target block;
Division type estimation means for estimating the division type of the target block from the division type of the immediately adjacent block and the immediately adjacent block extracted by the division type extraction means;
Target block motion vector detection means for detecting a motion vector of the target block according to the division type estimated by the division type estimation means.

本発明の動きベクトル検出装置によれば、動き予測しようとするマクロブロックのブロックサイズのタイプをすでに符号化された周辺マクロブロックのブロックサイズのタイプから事前に推定することで、動き検索するブロックサイズを大幅に絞り込みできるため、動き検索の演算量を大幅に低減することができる。   According to the motion vector detection device of the present invention, the block size for motion search is estimated by estimating in advance the block size type of the macroblock to be motion-predicted from the block size types of the already-encoded peripheral macroblocks. Can be significantly narrowed down, and the amount of motion search computation can be greatly reduced.

各実施の形態について詳述する前に、先ず、本発明にかかる動きベクトル検出装置の基本的な概念について説明する。本発明に係る動きベクトル検出装置は、動き予測しようとする対象ブロックに対して既に符号化されたブロックの分割タイプと動きベクトルの情報を記録しておく動き情報記録部と、前記動き情報記録部から対象ブロックの直上隣接ブロックと直左隣接ブロックの分割タイプを抽出する隣接ブロック分割タイプ抽出部と、前記隣接ブロック分割タイプ抽出部から対象ブロックの分割タイプを推定する分割タイプ推定部と、前記分割タイプ推定部で推定された分割タイプで対象ブロックの動きベクトルを検出する動き予測部とを最小構成要素とする。   Before describing each embodiment in detail, first, the basic concept of the motion vector detection device according to the present invention will be described. The motion vector detection apparatus according to the present invention includes a motion information recording unit that records information on a division type and a motion vector of a block that has already been encoded with respect to a target block to be motion-predicted, and the motion information recording unit An adjacent block division type extraction unit that extracts a division type of an immediately adjacent block immediately above and a left adjacent block from the target block, a division type estimation unit that estimates a division type of the target block from the adjacent block division type extraction unit, and the division The motion prediction unit that detects the motion vector of the target block with the division type estimated by the type estimation unit is set as a minimum component.

上述の最小構成要素に、前記動き情報記録部から対象ブロックの直上隣接ブロックと直左隣接ブロックの動きベクトルを抽出する隣接ブロック動きベクトル抽出部を追加し、さらに前記動き予測部で検出された対象ブロックの動きベクトルに対して前記隣接ブロック動きベクトル抽出部で抽出された隣接ブロックの動きベクトルが所定の範囲内になければ以前に推定された分割タイプを変更する手段をも備える分割タイプ推定部から成る。   An adjacent block motion vector extraction unit that extracts the motion vector of the immediately adjacent block and immediately adjacent block of the target block from the motion information recording unit is added to the minimum component described above, and the target detected by the motion prediction unit If the motion vector of the adjacent block extracted by the adjacent block motion vector extraction unit with respect to the block motion vector is not within a predetermined range, the partition type estimation unit also includes means for changing the previously estimated partition type. Become.

このように構成することによって、対象ブロックに対して隣接ブロックの分割タイプから対象ブロックの最もあり得そうな分割タイプを推定し、その分割タイプにおける動きベクトルだけを検出することによって、動き検索の演算量を大幅に低減できる。また、推定された分割タイプの動きベクトルが結果的に隣接ブロックの動きベクトルと大きく異なるような場合には、以前に推定された分割ブロックとは異なる分割タイプに変更し再度動きベクトルを検出し、符号化効率がより高い(予測誤差と動きベクトル情報が小さい)と判定されれば変更された分割タイプと動きベクトルへ修正できる。   By configuring in this way, the most likely division type of the target block is estimated from the division type of the adjacent block with respect to the target block, and only motion vectors in the division type are detected, thereby calculating motion search. The amount can be greatly reduced. In addition, when the estimated division type motion vector is significantly different from the motion vector of the adjacent block as a result, the motion vector is detected again after changing to a division type different from the previously estimated division block, If it is determined that the encoding efficiency is higher (the prediction error and the motion vector information are smaller), the changed division type and motion vector can be corrected.

(第1の実施の形態)
図2、図3、図4、図5、図6、図7、図8、図9、および図15を参照して、本発明の第1の実施の形態に係る動きベクトル検出装置について説明する。なお、図2は本発明の動きベクトル検出装置を含む動画像圧縮符号化装置全体の構成を概念的に表すブロック図であり、図3は本発明の動きベクトル検出を説明するための説明図である。図4〜図9は、本発明の核となる分割タイプの推定手段を具体的に説明した図である。そして、図15は、動きベクトル検出装置における分割ブロック推定順序の説明図である。本実施の形態に係る動きベクトル検出装置は、上述の最小構成要素で実現される。
(First embodiment)
The motion vector detection apparatus according to the first embodiment of the present invention will be described with reference to FIGS. 2, 3, 4, 5, 6, 7, 7, 9, and 15. . FIG. 2 is a block diagram conceptually showing the overall configuration of a moving image compression encoding apparatus including the motion vector detection apparatus of the present invention. FIG. 3 is an explanatory diagram for explaining the motion vector detection of the present invention. is there. 4 to 9 are diagrams specifically explaining the division type estimation means that is the core of the present invention. And FIG. 15 is explanatory drawing of the division | segmentation block estimation order in a motion vector detection apparatus. The motion vector detection apparatus according to the present embodiment is realized with the above-described minimum components.

図2に示すように、本実施の形態にかかる動画像圧縮符号化装置は、上述の図10に示した従来の典型的な動画像圧縮符号化装置に、動き検索制御部25aが追加されて構成されている。よって、本発明で追加された動き検索制御部25aに重点をおいて、本発明に固有の特徴について特に詳しく説明する。図2において、まず、画像データ10はマクロブロック(縦16画素×横16画素がよく使われる)単位に分割される。以降マクロブロック単位で符号化処理が行われる。マクロブロックに分割された画像データ10(上記で対象ブロックと呼んだものと同じ)は、差分器11で動き補償画像12と差分される。   As shown in FIG. 2, the moving image compression coding apparatus according to the present embodiment has a motion search control unit 25a added to the conventional typical moving image compression coding apparatus shown in FIG. It is configured. Therefore, the features unique to the present invention will be described in detail with emphasis on the motion search control unit 25a added in the present invention. In FIG. 2, first, the image data 10 is divided into macroblock units (16 vertical pixels × 16 horizontal pixels are often used). Thereafter, encoding processing is performed in units of macroblocks. The image data 10 divided into macroblocks (same as what is called the target block above) is differentiated from the motion compensated image 12 by the differentiator 11.

差分された差分データは変換部13で直交変換され、量子化部14で量子化される。量子化された差分データの直交変換係数は、可変長符号化部15でエントロピー符号化され、バッファ17に一時的に蓄積され、ビットストリームとして出力される。また、量子化された差分データの直交変換係数は、逆量子化部20で逆量子化され、逆変換部21で逆直交変換され差分データとして復号化される。なお、このときの差分データはデータ量削減のための量子化によって非可逆処理が行われているので元の差分データではない。   The difference data obtained by the difference is orthogonally transformed by the transforming unit 13 and quantized by the quantizing unit 14. The orthogonal transform coefficients of the quantized difference data are entropy encoded by the variable length encoding unit 15, temporarily stored in the buffer 17, and output as a bit stream. Further, the orthogonal transform coefficient of the quantized difference data is inversely quantized by the inverse quantization unit 20, and inversely orthogonally transformed by the inverse transform unit 21 and decoded as difference data. Note that the difference data at this time is not the original difference data because irreversible processing is performed by quantization for reducing the amount of data.

復号化された差分データは、加算器24によって、動き補償部23で動き補償された動き補償画像に加算される。加算された画像はエンコーダ内のローカルデコード画像として、後の動き補償や動き予測の参照画像としてバッファ22へ一時的に蓄積される。動き予測部19では、これから動きベクトルを検出しようとするマクロブロックに分割された画像データ10(対象ブロック)とバッファ22に蓄積された参照画像との間で動きベクトルを算出する。   The decoded difference data is added by the adder 24 to the motion compensated image that has been motion compensated by the motion compensation unit 23. The added image is temporarily stored in the buffer 22 as a local decoded image in the encoder as a reference image for later motion compensation or motion prediction. The motion prediction unit 19 calculates a motion vector between the image data 10 (target block) divided into macroblocks from which a motion vector is to be detected and the reference image stored in the buffer 22.

動きベクトルの算出は、以下のようにして求められる。例えば、対象ブロックに対して、参照画像の一定の範囲内における任意ブロックとの間でブロックマッチングし、ブロック間の差分絶対値和を求め、その差分絶対値和が最小となったときの参照ブロックが対象ブロックからどれだけ空間的にシフトしたかを2次元(水平、垂直)の画素値の大きさ(但し、画素間の補間を利用し1/2画素、1/4画素単位での算出も可能)で表す。このとき、動きベクトル算出の評価値として前記差分絶対値和あるいは差分二乗平方和あるいはこれら値に動きベクトルの大きさを荷重した評価値、あるいはブロック間差分データをアダマール変換後符号化したときの符号長の最小を評価値として用いる場合もある。動き予測部19で算出された動きベクトルは、動き補償部23へ供給され、動き補償部23で参照画像を蓄積したバッファ22から動きベクトルほどシフトした参照画像のブロックの画像が抽出され動き補償画像となる。   The motion vector is calculated as follows. For example, for the target block, block matching is performed with an arbitrary block within a certain range of the reference image, the sum of absolute differences between blocks is obtained, and the reference block when the sum of absolute differences is minimized Is a two-dimensional (horizontal, vertical) pixel value size (however, it can be calculated in units of 1/2 pixel or 1/4 pixel using interpolation between pixels). Possible). At this time, as the evaluation value of motion vector calculation, the sum of absolute difference or sum of squares of difference, or an evaluation value obtained by loading the magnitude of the motion vector to these values, or the code when the inter-block difference data is encoded after Hadamard transform In some cases, the minimum length is used as the evaluation value. The motion vector calculated by the motion prediction unit 19 is supplied to the motion compensation unit 23, and an image of the block of the reference image shifted by the motion vector is extracted from the buffer 22 in which the reference image is accumulated by the motion compensation unit 23, and the motion compensation image is extracted. It becomes.

本発明に係る実施の形態においては、特に動き予測部19で動きベクトルが算出されるとき、対象ブロックのブロックサイズが固定ではなく、図12を参照して上述したように複数種類選択できる。このとき、ブロックサイズの選択が、動き検索制御部25aによって実施される。
図3に、動き検索制御部25aの詳細な構成を示す。動き検索制御部25aは、動き情報記録部40と、隣接ブロック分割タイプ抽出部41と、分割タイプ推定部42とを含む。動き情報記録部40には、既に符号化されたマクロブロックが、図12で示されるようなサブブロックに分割された分割タイプの番号(1〜7)と、分割されたサブブロックの動きベクトル(水平シフトの大きさ、垂直シフトの大きさ)が予め記録されている。なお、動き情報記録部40に記録しておく既符号化マクロブロックの範囲は、例えば、図4に示すように、これから動き予測しようとする対象ブロックの直上のマクロブロックBから直左のマクロブロックのAまでの1スライス分である。
In the embodiment according to the present invention, particularly when the motion vector is calculated by the motion prediction unit 19, the block size of the target block is not fixed, and a plurality of types can be selected as described above with reference to FIG. At this time, the block size is selected by the motion search control unit 25a.
FIG. 3 shows a detailed configuration of the motion search control unit 25a. The motion search control unit 25 a includes a motion information recording unit 40, an adjacent block division type extraction unit 41, and a division type estimation unit 42. In the motion information recording unit 40, an already-encoded macroblock is divided into division type numbers (1 to 7) that are divided into sub-blocks as shown in FIG. 12, and motion vectors ( Horizontal shift size and vertical shift size) are recorded in advance. The range of the already-encoded macroblocks recorded in the motion information recording unit 40 is, for example, as shown in FIG. 4, the macroblock immediately to the left of the macroblock B immediately above the target block to be motion-predicted. 1 slice up to A.

隣接ブロック分割タイプ抽出部41は、前記動き情報記録部40で記録されている既に符号化されたマクロブロックから、対象ブロックの直上のマクロブロックと直左のマクロブロックの分割タイプ番号を抽出する。   The adjacent block division type extraction unit 41 extracts the division type numbers of the macroblock immediately above the target block and the macroblock immediately on the left from the already encoded macroblock recorded by the motion information recording unit 40.

分割タイプ推定部42は、前記隣接ブロック分割タイプ抽出部41から抽出された対象ブロックの直上のマクロブロックと直左のマクロブロックの分割タイプ番号から、対象ブロックの分割タイプを推定する。具体的には、図5に示す対象ブロックの分割タイプを、対象ブロックの直上のマクロブロックBの分割タイプの番号と直左のマクロブロックの分割タイプ番号の組み合わせから推定する。これは対象ブロックと隣接ブロックの空間的な分割パターンから事前に参照テーブルにしておく。   The division type estimation unit 42 estimates the division type of the target block from the division type numbers of the macroblock immediately above the target block and the macroblock immediately to the left extracted from the adjacent block division type extraction unit 41. Specifically, the division type of the target block shown in FIG. 5 is estimated from the combination of the division type number of the macroblock B immediately above the target block and the division type number of the macroblock immediately to the left. This is made a reference table in advance from the spatial division pattern of the target block and the adjacent block.

例えば、対象ブロックの分割タイプとして「1」を推定する場合、図6の(a)、(b)、(c)、(d)、および(e)の5種類が考えられる。この場合、対象ブロックの直上のサブブロックの分割タイプと直左のサブブロックの分割タイプは、図6の(a)の場合(1、1)、(b)の場合(3、1)、(c)の場合(1、2)、(d)の場合(3、1)、および(e)の場合(1、2)となる。従って、参照テーブルとしては、対象ブロック分割タイプ1の選択は、(直上のサブブロックの分割タイプ、直左のサブブロックの分割タイプ)=(1、1)、(1、2)、(3,1)の3通りになる。   For example, when “1” is estimated as the division type of the target block, five types (a), (b), (c), (d), and (e) in FIG. 6 are conceivable. In this case, the division type of the sub-block immediately above the target block and the division type of the sub-block immediately to the left are (1, 1) in the case of FIG. 6 (1, 1), (3, 1) in (b), ( In the case of c), (1, 2), in the case of (d) (3, 1), and in the case of (e), (1, 2). Therefore, as a reference table, the selection of the target block division type 1 is (division type of the immediately above subblock, division type of the subblock immediately to the left) = (1, 1), (1, 2), (3, 1) 3 types.

同様に、対象ブロックの分割タイプとして「2」を推定する場合、図7の(a)と(b)が考えられる。この場合、対象ブロックの直上のサブブロックの分割タイプと直左のサブブロックの分割タイプが、(直上のサブブロックの分割タイプ、直左のサブブロックの分割タイプ)=((2、2)、2)の1通りになる。   Similarly, when “2” is estimated as the division type of the target block, (a) and (b) in FIG. 7 are considered. In this case, the division type of the sub-block immediately above the target block and the division type of the sub-block on the left are (division type of the sub-block immediately above, division of the sub-block on the left) = ((2, 2) 2).

同様に、対象ブロックの分割タイプとして「3」を推定する場合、図8の(a)と(b)が考えられる。この場合、対象ブロックの直上のサブブロックの分割タイプと直左のサブブロックの分割タイプが、(直上のサブブロックの分割タイプ、直左のサブブロックの分割タイプ)=(3、(3、3))の1通りになる。   Similarly, when estimating “3” as the division type of the target block, (a) and (b) in FIG. 8 are considered. In this case, the division type of the sub-block immediately above the target block and the division type of the sub-block on the left are (division type of the sub-block just above, division type of the sub-block on the left) = (3, (3, 3 )).

対象ブロックの分割タイプとして「4」を推定する場合、図9の(a)、(b)、(c)、(d)、(e)、(f)、(g)、および(i)が考えられる。しかしながら、「4」を指定する場合には参照テーブルは必要なく、対象ブロックの分割タイプが「1」〜「3」以外であれば「4」として推定すればよい。   When “4” is estimated as the division type of the target block, (a), (b), (c), (d), (e), (f), (g), and (i) in FIG. Conceivable. However, when “4” is designated, a reference table is not necessary. If the division type of the target block is other than “1” to “3”, it may be estimated as “4”.

上述の例においては、16×16のマクロブロックを最小8×8に分割される場合を示したが、分割タイプとして8×8が選択された場合にさらに最小4×4まで分割タイプを指定したい場合にも、上例の16×16を8×8に置き換えて推定すればよい。すなわち、対象ブロック分割タイプ4の選択は、(直上のサブブロックの分割タイプ、直左のサブブロックの分割タイプ)=(4、4)、(4、5)、(6,4)の3通りである。そして、対象ブロック分割タイプ5の選択は、(直上のサブブロックの分割タイプ、直左のサブブロックの分割タイプ)=((5、5)、5)の1通りである。また、対象ブロック分割タイプ5の選択は、(直上のサブブロックの分割タイプ、直左のサブブロックの分割タイプ)=(6、(6、6))の1通りである。そして、最小の4×4のブロック分割タイプ7の選択は、上記以外の場合となる。   In the above example, a case where a 16 × 16 macroblock is divided into a minimum of 8 × 8 is shown. However, when 8 × 8 is selected as the division type, it is desired to specify a division type up to a minimum of 4 × 4. In this case, the estimation may be performed by replacing 16 × 16 in the above example with 8 × 8. That is, the selection of the target block division type 4 can be made in three ways: (division type of the immediately above subblock, division type of the subblock immediately to the left) = (4, 4), (4, 5), (6, 4) It is. Then, the selection of the target block division type 5 is one of (division type of the immediately above subblock, division type of the subblock immediately to the left) = ((5, 5), 5). Further, the selection of the target block division type 5 is one of (division type of the immediately above subblock, division type of the subblock immediately to the left) = (6, (6, 6)). The minimum 4 × 4 block division type 7 is selected in other cases.

但し、対象ブロック分割タイプが4より小さい分割タイプを推定するため、マクロブロック内の分割タイプ推定を、図15に示すような順番に実行する。また、ピクチャの最上段、左端に位置するマクロブロックでは、分割タイプの推定に使用する隣接ブロックがないため、分割タイプの推定を使用せず、すべての分割タイプで動きベクトル算出の評価値を求め最小となる分割タイプを選択するか、あるいは分割タイプを、例えば、「1」として処理する。分割タイプ推定部42は、推定された対象ブロックの分割タイプを動き予測部19へ供給し、動き予測部19は、当該ブロックサイズの動きベクトルを算出する。   However, in order to estimate a division type whose target block division type is smaller than 4, the division type estimation in the macroblock is executed in the order shown in FIG. In addition, since there is no adjacent block used for division type estimation in the macro block located at the top and left end of the picture, the estimation value of motion vector calculation is obtained for all division types without using the division type estimation. The smallest division type is selected, or the division type is processed as “1”, for example. The division type estimation unit 42 supplies the estimated division type of the target block to the motion prediction unit 19, and the motion prediction unit 19 calculates a motion vector of the block size.

以上より、第1の実施の形態においては、対象ブロックの分割タイプを隣接ブロックの分割タイプから推定し絞込みできるため、動きベクトル演算量を大幅に削減ができる。なお、上記の実施例において分割タイプの推定はソフトウエア上で実現してもよい。また、実施例ではマクロブロックのサイズや分割するブロックサイズを特定したが、別のサイズや異なる分割の仕方を用いてもよい。   As described above, in the first embodiment, the division type of the target block can be estimated and narrowed down from the division type of the adjacent block, so that the amount of motion vector calculation can be greatly reduced. In the above embodiment, the division type estimation may be realized on software. In the embodiment, the size of the macroblock and the block size to be divided are specified, but other sizes and different division methods may be used.

(第2の実施の形態)
第2の実施の形態に係る動きベクトル検出装置は、上述の第1の実施の形態に係る動きベクトル検出装置の機能に加えて、推定された分割タイプが妥当であったか否か判定し、その分割タイプが妥当でなかったと判定されたときは、別の分割タイプに変更して再度動きベクトルを算出する機能を有する。そのために、動き検索制御部25a(図3)が動き検索制御部25b(図14)に交換されている。具体的には、図14に示すように、動き検索制御部25bは動き検索制御部25aにおいて、動き予測部19から分割タイプ推定部42へ直接信号線が出ている。よって、第2の実施の形態に係る動きベクトル検出装置について、上述の第1の実施の形態に係る動きベクトル検出装置と共通の部分については説明を省略し、異なる部分、特に動き検索制御部25bについてのみ説明する。
(Second Embodiment)
The motion vector detection device according to the second embodiment determines whether or not the estimated division type is appropriate in addition to the function of the motion vector detection device according to the first embodiment described above. When it is determined that the type is not valid, the motion vector is calculated again by changing to another division type. For this purpose, the motion search control unit 25a (FIG. 3) is replaced with a motion search control unit 25b (FIG. 14). Specifically, as shown in FIG. 14, the motion search control unit 25 b has a signal line directly from the motion prediction unit 19 to the division type estimation unit 42 in the motion search control unit 25 a. Therefore, in the motion vector detection device according to the second embodiment, the description of the parts common to the motion vector detection device according to the first embodiment described above will be omitted, and different parts, particularly the motion search control unit 25b. Only will be described.

動き検索制御部25bにおいては、動き情報記録部40から隣接ブロックの分割タイプが隣接ブロック分割タイプ抽出部41で抽出され、分割タイプ推定部42へ供給され、分割タイプ推定部42で第1の実施の形態と同様に対象ブロックの分割タイプが推定される。分割タイプ推定部42で推定された分割タイプは動き予測部19へ供給され、動き予測部19で推定された分割タイプ(サブブロック)の動きベクトルが算出される。   In the motion search control unit 25b, the division type of the adjacent block is extracted from the motion information recording unit 40 by the adjacent block division type extraction unit 41, supplied to the division type estimation unit 42, and the division type estimation unit 42 performs the first implementation. The division type of the target block is estimated as in The division type estimated by the division type estimation unit 42 is supplied to the motion prediction unit 19, and the motion vector of the division type (subblock) estimated by the motion prediction unit 19 is calculated.

動き予測部19で推定された分割タイプ(サブブロック)の動きベクトルの算出の評価に用いた算出評価値、例えば、前記差分絶対値和あるいは差分二乗平方和あるいはこれら値に動きベクトルの大きさを荷重した評価値、あるいはブロック間差分データをアダマール変換後符号化したときの符号長を、動きベクトル算出評価値として、分割タイプ推定部42が抽出し、所定の値を超えた場合は推定された分割タイプが最適でないと判定し、以前に推定された分割タイプと異なる分割タイプを推定して、再度動き予測部19へ供給する。   A calculated evaluation value used for evaluation of motion vector calculation of the division type (subblock) estimated by the motion prediction unit 19, for example, the difference absolute value sum or the difference square sum of squares, or the value of the motion vector in these values. The division type estimation unit 42 extracts the weighted evaluation value or the code length when the inter-block difference data is encoded after Hadamard transform as a motion vector calculation evaluation value, and is estimated when a predetermined value is exceeded It is determined that the division type is not optimal, and a division type different from the previously estimated division type is estimated and supplied to the motion prediction unit 19 again.

所定の値としては、例えば、以前推定された分割タイプと同じ分割タイプの直左ブロックの動きベクトル算出評価値に所定の値を荷重した値が設定される。直左ブロックに同じ分割タイプがない場合、例えば、図6の(c)のような場合は、以前推定された分割タイプと同じサイズにしたと想定し、この場合、2倍の値を直左ブロックの動きベクトル算出評価値とする。分割タイプの変更の候補としては、例えば、以前の分割タイプが「1」、「2」あるいは「3」であれば「4」を、「4」であれば「1」を選択する。   As the predetermined value, for example, a value obtained by adding a predetermined value to the motion vector calculation evaluation value of the immediately left block of the same division type as the previously estimated division type is set. When there is no same division type in the right block, for example, in the case of (c) in FIG. 6, it is assumed that the size is the same as the previously estimated division type. The motion vector calculation evaluation value of the block is used. For example, if the previous division type is “1”, “2” or “3”, “4” is selected, and if it is “4”, “1” is selected.

以上、本実施の形態では、一旦推定された分割タイプが妥当であったか否か判定し、妥当でないと判定された場合、別の分割タイプに変更して再度動きベクトルを算出することで符号化効率を上げることができる。なお、変更された分割タイプで動きベクトルを算出しそのときの算出評価値を、分割タイプ推定部42で再度抽出し初回の動きベクトル算出評価値と比べ大となった場合、初回の分割タイプの動きベクトルを選択するようにしてもよい。この場合、初回の分割タイプの動きベクトルと動きベクトル算出評価値を保持するメモリを別途設ける。なお、上記の実施例において分割タイプの推定はソフトウエア上で実現してもよい。   As described above, in the present embodiment, it is determined whether or not the estimated division type is valid. If it is determined that the division type is not valid, the coding efficiency is calculated by changing to another division type and calculating the motion vector again. Can be raised. If the motion vector is calculated with the changed division type and the calculated evaluation value at that time is extracted again by the division type estimation unit 42 and becomes larger than the first motion vector calculation evaluation value, the first division type A motion vector may be selected. In this case, a memory for holding the first division type motion vector and the motion vector calculation evaluation value is separately provided. In the above embodiment, the division type estimation may be realized on software.

(第3の実施形態)
第3の実施の形態においては、第2の実施の形態と同様に、推定された分割タイプが妥当であったか否か判定し、その分割タイプが妥当でなかったと判定されたときは、別の分割タイプに変更して再度動きベクトルを算出する機能を有する。そのために、動き検索制御部25b(図14)が動き検索制御部25c(図1)に交換されている。具体的には、図1に示すように、動き検索制御部25cは動き検索制御部25bにおいて、動き情報記録部40と分割タイプ推定部42の間に、隣接ブロック動きベクトル抽出部43が追加されている。よって、第3の実施の形態に係る動きベクトル検出装置について、上述の第2の実施の形態に係る動きベクトル検出装置と共通の部分については説明を省略し、異なる部分、特に隣接ブロック動きベクトル抽出部43についてのみ説明する。
(Third embodiment)
In the third embodiment, similarly to the second embodiment, it is determined whether or not the estimated division type is valid. When it is determined that the division type is not valid, another division is performed. It has a function of changing to a type and calculating a motion vector again. For this purpose, the motion search control unit 25b (FIG. 14) is replaced with a motion search control unit 25c (FIG. 1). Specifically, as illustrated in FIG. 1, the motion search control unit 25c includes an adjacent block motion vector extraction unit 43 between the motion information recording unit 40 and the division type estimation unit 42 in the motion search control unit 25b. ing. Therefore, in the motion vector detection device according to the third embodiment, the description of the parts common to the motion vector detection device according to the second embodiment described above will be omitted, and different parts, in particular, adjacent block motion vector extraction will be omitted. Only the unit 43 will be described.

動き検索制御部25cにおいて、動き情報記録部40から隣接ブロックの分割タイプが隣接ブロック分割タイプ抽出部41で抽出され、分割タイプ推定部42へ供給され、分割タイプ推定部42で第1の実施の形態と同様に対象ブロックの分割タイプが推定される。   In the motion search control unit 25 c, the adjacent block division type is extracted by the adjacent block division type extraction unit 41 from the motion information recording unit 40, supplied to the division type estimation unit 42, and the division type estimation unit 42 performs the first implementation. Similar to the form, the division type of the target block is estimated.

分割タイプ推定部42で推定された分割タイプは動き予測部19へ供給され、動き予測部19で推定された分割タイプ(サブブロック)の動きベクトルが算出される。動き情報記録部40から隣接ブロック動きベクトルが隣接ブロック動きベクトル抽出部43によって抽出される。隣接ブロック動きベクトル抽出部43によって抽出された隣接ブロック動きベクトルは分割タイプ推定部42へ供給される。またこのとき同時に、動き予測部19から分割タイプ推定部42への結線において、動き予測部19で算出した前記推定された分割タイプ(サブブロック)の動きベクトルが、分割タイプ推定部42へ推定結果(推定された分割タイプの動きベクトル)をフィードバックするように供給される。   The division type estimated by the division type estimation unit 42 is supplied to the motion prediction unit 19, and the motion vector of the division type (subblock) estimated by the motion prediction unit 19 is calculated. An adjacent block motion vector extraction unit 43 extracts an adjacent block motion vector from the motion information recording unit 40. The adjacent block motion vector extracted by the adjacent block motion vector extraction unit 43 is supplied to the division type estimation unit 42. At the same time, in the connection from the motion prediction unit 19 to the division type estimation unit 42, the motion vector of the estimated division type (subblock) calculated by the motion prediction unit 19 is estimated to the division type estimation unit 42. (Estimated split type motion vector) is fed back.

分割タイプ推定部42は、動き予測部19からフィードバックされた推定された分割タイプの動きベクトルと、隣接ブロック動きベクトル抽出部43から供給された隣接ブロック動きベクトルを比較し、推定された分割タイプの動きベクトルと隣接ブロック動きベクトル抽出部43から供給された隣接ブロック動きベクトルが所定の範囲内にないときは、推定された分割タイプが最適でないと判定し、以前に推定された分割タイプと異なる分割タイプを推定して、再度動き予測部19へ供給する。   The division type estimation unit 42 compares the estimated division type motion vector fed back from the motion prediction unit 19 with the adjacent block motion vector supplied from the adjacent block motion vector extraction unit 43, and determines the estimated division type. When the motion vector and the adjacent block motion vector supplied from the adjacent block motion vector extraction unit 43 are not within the predetermined range, it is determined that the estimated partition type is not optimal, and the partition is different from the previously estimated partition type. The type is estimated and supplied to the motion prediction unit 19 again.

所定の範囲としては、隣接ブロック動きベクトル抽出部43から供給された隣接ブロック動きベクトルと大きく方向およびあるいはサイズが異なる場合、例えば、隣接ブロックの動きベクトルの何れかと90度以上異なる方向およびあるいは大きさ2倍以上の異なるような場合、分割タイプを変更し動き予測部19へ供給する。分割タイプの変更の候補としては、例えば、以前の分割タイプが「1」、「2」あるいは「3」であれば「4」を、「4」であれば「1」を選択する。   As the predetermined range, when the direction and / or size is greatly different from the adjacent block motion vector supplied from the adjacent block motion vector extraction unit 43, for example, the direction and / or size is different by 90 degrees or more from any of the adjacent block motion vectors. When the difference is two times or more, the division type is changed and supplied to the motion prediction unit 19. For example, if the previous division type is “1”, “2”, or “3”, “4” is selected, and “4” is selected as “1”.

上述のように、本実施の形態においては、一旦推定された分割タイプが妥当であったか否か判定し、妥当でないと判定された場合、別の分割タイプに変更して再度動きベクトルを算出することで符号化効率を上げることができる。なお、変更された分割タイプで動きベクトルを再度検出し、それを分割タイプ推定部42へフィードバックした結果が、初回の分割タイプの動きベクトルよりも隣接ブロックの動きベクトルと異なる場合は、初回の分割タイプの動きベクトルを選択してもよい。この場合、初回の分割タイプの動きベクトルを保持するメモリを別途設ける。なお、上記の実施例において分割タイプの推定はソフトウエア上で実現してもよい。   As described above, in the present embodiment, it is determined whether or not the estimated division type is valid. If it is determined that the division type is not valid, the motion vector is calculated again after changing to another division type. The encoding efficiency can be increased. If the result of detecting the motion vector again with the changed partition type and feeding it back to the partition type estimation unit 42 is different from the motion vector of the adjacent block rather than the motion vector of the first partition type, the first partition is performed. A type of motion vector may be selected. In this case, a memory for holding the first division type motion vector is separately provided. In the above embodiment, the division type estimation may be realized on software.

上述のように、本発明に係る動きベクトル検出装置は、動画像符号化において対象ブロックの動きベクトルを算出する際に、対象ブロックを、所定のサブブロックサイズに分割して少なくとも1つの動きベクトルを検出し、対象ブロックがサブブロックに分割されたときの分割タイプと、分割されたサブブロックの動きベクトルとを動き情報として出力する機能を有する。そして、第1の実施の形態に係る動きベクトル検出装置は、対象ブロックに対して既に符号化された直上の隣接ブロックと直左の隣接ブロックの分割タイプを抽出する分割タイプ抽出部と、分割タイプ抽出部で抽出された直上の隣接ブロックと直左の隣接ブロックの分割タイプから対象ブロックの分割タイプを推定する分割タイプ推定部と、分割タイプ推定部で推定された分割タイプによって対象ブロックの動きベクトルを検出する対象ブロック動きベクト検出部とを備える。これにより、対象ブロックの分割タイプを絞込みできるため、動きベクトル演算量の大幅削減効果が得られる。   As described above, when calculating a motion vector of a target block in moving image coding, the motion vector detection device according to the present invention divides the target block into a predetermined sub-block size and obtains at least one motion vector. It has a function of detecting and outputting, as motion information, the division type when the target block is divided into sub-blocks and the motion vectors of the divided sub-blocks. Then, the motion vector detection device according to the first embodiment includes a division type extraction unit that extracts a division type of an immediately adjacent block and an immediately adjacent block that have already been encoded with respect to the target block, and a division type A division type estimation unit that estimates the division type of the target block from the division type of the immediately adjacent block and the immediately adjacent block extracted by the extraction unit, and a motion vector of the target block according to the division type estimated by the division type estimation unit And a target block motion vector detecting unit for detecting. Thereby, since the division type of the target block can be narrowed down, the effect of greatly reducing the motion vector calculation amount can be obtained.

第2の実施の形態に係る動きベクトル検出装置は、第1の実施の形態に係る動きベクトル検出装置に対して、分割タイプ推定部は対象ブロック動きベクトル検出部によって検出された対象ブロックの動きベクトルの算出評価にもちいられた対象ブロック動きベクトル算出評価値を抽出し、抽出された対象ブロック動きベクトル算出評価値が所定の値を超えた場合は、分割タイプ推定部で以前に推定された分割タイプを所定の分割タイプへ変更することができる分割タイプ推定変更部をさらに備える。これにより、分割タイプ推定部で以前に推定された分割タイプで検出した動きベクトルが、動き予測誤差が所定の大きさよりも大きい場合は、より良い分割タイプへ変更することで、符号化効率を上げることができる。   The motion vector detection device according to the second embodiment is different from the motion vector detection device according to the first embodiment in that the division type estimation unit is a motion vector of the target block detected by the target block motion vector detection unit. If the target block motion vector calculation evaluation value used in the calculation evaluation of the target block motion vector and the extracted evaluation value exceeds the predetermined value, the division type previously estimated by the division type estimation unit Is further provided with a division type estimation change unit that can change the value to a predetermined division type. Thereby, when the motion vector detected by the division type previously estimated by the division type estimation unit has a motion prediction error larger than a predetermined magnitude, the coding efficiency is improved by changing to a better division type. be able to.

第3の実施の形態に係る動きベクトル検出装置は、第2の実施の形態に係る動きベクトル検出装置に対して、対象ブロックに対して既に符号化された直上の隣接ブロックと直左の隣接ブロックの動きベクトルを抽出する隣接ブロック動きベクトル抽出部と、分割タイプ変更部が対象ブロック動きベクトル検出部から対象ブロック動きベクトル算出評価値を抽出するのに代わって検出された対象ブロックの動きベクトルを抽出し、対象ブロックの動きベクトルと隣接ブロックの動きベクトルとが所定の範囲外であれば、上記分割タイプ推定部で以前に推定された分割タイプを所定の分割タイプへ変更することができる分割タイプ推定変更部とをさらに備える。これにより、分割タイプ推定部で以前に推定された分割タイプで検出した動きベクトルが、隣接ブロックの動きベクトルと大きく異なる場合は、より良い分割タイプへ変更することで、符号化効率を上げることができる。   The motion vector detection device according to the third embodiment is the same as the motion vector detection device according to the second embodiment. Motion vector extraction unit that extracts the motion vector of the target block, and the division type change unit extracts the motion vector of the detected target block instead of extracting the target block motion vector calculation evaluation value from the target block motion vector detection unit If the motion vector of the target block and the motion vector of the adjacent block are out of a predetermined range, the partition type estimation that can change the partition type previously estimated by the partition type estimation unit to the predetermined partition type. And a changing unit. As a result, if the motion vector detected by the partition type previously estimated by the partition type estimation unit is significantly different from the motion vector of the adjacent block, the coding efficiency can be improved by changing to a better partition type. it can.

本発明は、動画像符号化技術、特にMPEG−4 AVCの動きベクトル検出装置および方法として大幅に動き検索を低減できるため実用化を容易にし、特に、モバイルAV機器など演算量を削減し消費電力を抑えなければならない機器の動画像符号化の動きベクトル検出装置として利用できる。   INDUSTRIAL APPLICABILITY The present invention facilitates practical use because motion search can be greatly reduced as a motion vector detection apparatus and method for MPEG-4 AVC, particularly MPEG-4 AVC. It can be used as a motion vector detection device for video encoding of equipment that must be suppressed.

本発明の第3の実施の形態に係る動きベクトル検出装置における動き検索制御部の構成を示すブロック図The block diagram which shows the structure of the motion search control part in the motion vector detection apparatus which concerns on the 3rd Embodiment of this invention. 本発明の第1の実施の形態に係る動きベクトル検出装置が組み込まれた動画像圧縮符号化装置の構成を表すブロック図1 is a block diagram showing a configuration of a moving picture compression encoding apparatus incorporating a motion vector detection apparatus according to a first embodiment of the present invention. 本発明の第1の実施の形態に係る動きベクトル検出装置における動き検索制御部の構成を示すブロック図The block diagram which shows the structure of the motion search control part in the motion vector detection apparatus which concerns on the 1st Embodiment of this invention. 図2に示した動きベクトル検出装置における動き予測の対象ブロックと動き予測に使用する隣接ブロックのピクチャ内での空間的な配置例の説明図2 is an explanatory diagram of a spatial arrangement example in a picture of a motion prediction target block and an adjacent block used for motion prediction in the motion vector detection device shown in FIG. 動きベクトル検出装置における動き予測の対象ブロックと動き予測に使用する隣接ブロックの空間的な配置関係の説明図Explanatory drawing of the spatial arrangement | positioning relationship of the target block of motion prediction in the motion vector detection apparatus, and the adjacent block used for motion prediction 図2に示した動きベクトル検出装置における動き予測の対象ブロックのブロックタイプを隣接ブロックのブロックタイプから推定する場合の説明図Explanatory drawing in the case of estimating the block type of the object block of motion prediction from the block type of an adjacent block in the motion vector detection apparatus shown in FIG. 図2に示した動きベクトル検出装置における動き予測の対象ブロックのブロックタイプを隣接ブロックのブロックタイプから推定する場合の説明図Explanatory drawing in the case of estimating the block type of the object block of motion prediction from the block type of an adjacent block in the motion vector detection apparatus shown in FIG. 図2に示した動きベクトル検出装置における動き予測の対象ブロックのブロックタイプを隣接ブロックのブロックタイプから推定する場合の説明図Explanatory drawing in the case of estimating the block type of the object block of motion prediction from the block type of an adjacent block in the motion vector detection apparatus shown in FIG. 図2に示した動きベクトル検出装置における動き予測の対象ブロックのブロックタイプを隣接ブロックのブロックタイプから推定する場合の説明図Explanatory drawing in the case of estimating the block type of the object block of motion prediction from the block type of an adjacent block in the motion vector detection apparatus shown in FIG. 従来の典型的な動画像圧縮符号化装置の構成を示すブロック図Block diagram showing a configuration of a conventional typical moving image compression encoding apparatus 図10に示した従来の動画像圧縮符号化におけるピクチャの構成単位についての説明図Explanatory drawing about the structural unit of the picture in the conventional moving image compression encoding shown in FIG. MPEG−4AVCにおける動き補償のブロックサイズの説明図Illustration of motion compensation block size in MPEG-4AVC 対象ブロックが複数のブロックサイズで動き予測できる場合に、より小さなブロックサイズの動きベクトルからより大きなブロックサイズの動きベクトルを推定する方法の説明図Explanatory drawing of a method for estimating a motion vector of a larger block size from a motion vector of a smaller block size when the target block can perform motion prediction with a plurality of block sizes 本発明の第2の実施の形態に係る動きベクトル検出装置における動き検索制御部の構成を示すブロック図The block diagram which shows the structure of the motion search control part in the motion vector detection apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係る動きベクトル検出装置における分割ブロック推定順序の説明図Explanatory drawing of the division | segmentation block estimation order in the motion vector detection apparatus which concerns on the 3rd Embodiment of this invention.

符号の説明Explanation of symbols

10 画像データ
11 差分器
12 動き補償画像
13 直交変換部
14 量子化部
15 可変長符号化部
16 デコーダ
17 バッファ
18 ビットストリーム
19 動き予測部
20 逆量子化部
21 逆直交変換部
22 バッファ
23 動き補償部
24 加算器
25a、25b、25c 動き検索制御部
30 ピクチャ
31 マクロブロック
32 スライス
40 動き情報記録部
41 隣接ブロック分割タイプ抽出部
42 分割タイプ制御部
43 隣接ブロック動きベクトル抽出部
DESCRIPTION OF SYMBOLS 10 Image data 11 Differentiator 12 Motion compensation image 13 Orthogonal transformation part 14 Quantization part 15 Variable length encoding part 16 Decoder 17 Buffer 18 Bit stream 19 Motion prediction part 20 Inverse quantization part 21 Inverse orthogonal transformation part 22 Buffer 23 Motion compensation Unit 24 adders 25a, 25b, 25c motion search control unit 30 picture 31 macroblock 32 slice 40 motion information recording unit 41 adjacent block division type extraction unit 42 division type control unit 43 adjacent block motion vector extraction unit

Claims (4)

動画像符号化において対象ブロックの動きベクトルを算出する際に、当該対象ブロックを、所定のサブブロックサイズに分割して少なくとも1つの動きベクトルを検出し、前記対象ブロックがサブブロックに分割されたときの分割タイプと、分割されたサブブロックの動きベクトルとを動き情報として出力する動きベクトル検出装置であって、
前記対象ブロックに対して既に符号化された直上の隣接ブロックと直左の隣接ブロックの分割タイプを抽出する分割タイプ抽出手段と、
前記分割タイプ抽出手段で抽出された直上の隣接ブロックと直左の隣接ブロックの分割タイプから前記対象ブロックの分割タイプを推定する分割タイプ推定手段と、
前記分割タイプ推定手段で推定された分割タイプによって前記対象ブロックの動きベクトルを検出する対象ブロック動きベクト検出手段とを備える動きベクトル検出装置。
When calculating the motion vector of the target block in moving image encoding, when the target block is divided into a predetermined sub-block size and at least one motion vector is detected, and the target block is divided into sub-blocks A motion vector detection device that outputs the division type and the motion vector of the divided sub-block as motion information,
Division type extraction means for extracting the division type of the immediately adjacent block and the immediately adjacent block that have already been encoded with respect to the target block;
Division type estimation means for estimating the division type of the target block from the division type of the immediately adjacent block and the immediately adjacent block extracted by the division type extraction means;
A motion vector detection device comprising: target block motion vector detection means for detecting a motion vector of the target block according to the division type estimated by the division type estimation means.
前記分割タイプ推定手段は、前記対象ブロック動きベクトル検出手段によって検出された対象ブロックの動きベクトルの算出評価にもちいられた対象ブロック動きベクトル算出評価値を抽出し、当該抽出された対象ブロック動きベクトル算出評価値が所定の値を超えた場合は、前記分割タイプ推定手段で以前に推定された分割タイプを所定の分割タイプへ変更することができる分割タイプ変更手段をさらに備える請求項1に記載の動きベクトル検出装置。   The division type estimation unit extracts a target block motion vector calculation evaluation value used for calculation evaluation of the motion vector of the target block detected by the target block motion vector detection unit, and calculates the extracted target block motion vector The movement according to claim 1, further comprising: a division type changing unit capable of changing a division type previously estimated by the division type estimating unit to a predetermined division type when the evaluation value exceeds a predetermined value. Vector detection device. 前記対象ブロックに対して既に符号化された直上の隣接ブロックと直左の隣接ブロックの動きベクトルを抽出する隣接ブロック動きベクトル抽出手段と、
前記分割タイプ変更手段が前記対象ブロック動きベクトル検出手段から前記対象ブロック動きベクトル算出評価値を抽出するのに代わって検出された対象ブロックの動きベクトルを抽出し、前記対象ブロックの動きベクトルと前記隣接ブロックの動きベクトルとが所定の範囲外であれば、上記分割タイプ推定手段で以前に推定された分割タイプを所定の分割タイプへ変更することができる分割タイプ推定変更手段とをさらに備える請求項1および請求項2の何れかに記載の動きベクトル検出装置。
Adjacent block motion vector extraction means for extracting motion vectors of the immediately adjacent block and the immediately adjacent block already encoded with respect to the target block;
Instead of extracting the target block motion vector calculation evaluation value from the target block motion vector detection unit, the division type changing unit extracts a motion vector of the detected target block, and the motion vector of the target block and the adjacent 2. A division type estimation change unit capable of changing a division type previously estimated by the division type estimation unit to a predetermined division type if the motion vector of the block is outside a predetermined range. And a motion vector detection device according to claim 2.
前記所定のサブブロックサイズとは、前記対象ブロック以下の大きさであることを特徴とする請求項1に記載の動きベクトル検出装置。   The motion vector detection device according to claim 1, wherein the predetermined sub-block size is a size equal to or smaller than the target block.
JP2004256213A 2004-09-02 2004-09-02 Motion vector detecting device Pending JP2006074520A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004256213A JP2006074520A (en) 2004-09-02 2004-09-02 Motion vector detecting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004256213A JP2006074520A (en) 2004-09-02 2004-09-02 Motion vector detecting device

Publications (1)

Publication Number Publication Date
JP2006074520A true JP2006074520A (en) 2006-03-16

Family

ID=36154625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004256213A Pending JP2006074520A (en) 2004-09-02 2004-09-02 Motion vector detecting device

Country Status (1)

Country Link
JP (1) JP2006074520A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048200A (en) * 2006-08-17 2008-02-28 Fujitsu Ltd Inter-frame pridiction processing apparatus, image prediction method, inter-frame encoder and image decoder
JP2010515399A (en) * 2007-01-03 2010-05-06 サムスン エレクトロニクス カンパニー リミテッド Method, apparatus, encoder, decoder, and decoding method for estimating a motion vector using a plurality of motion vector predictors
JP2013098789A (en) * 2011-11-01 2013-05-20 Hitachi Kokusai Electric Inc Image encoder
JP2017028337A (en) * 2015-07-15 2017-02-02 日本電信電話株式会社 Video coding apparatus and video coding program

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4712643B2 (en) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 Inter-frame prediction processing apparatus, inter-frame prediction method, image encoding apparatus, and image decoding apparatus
JP2008048200A (en) * 2006-08-17 2008-02-28 Fujitsu Ltd Inter-frame pridiction processing apparatus, image prediction method, inter-frame encoder and image decoder
US8831105B2 (en) 2007-01-03 2014-09-09 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US8385420B2 (en) 2007-01-03 2013-02-26 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US8625674B2 (en) 2007-01-03 2014-01-07 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
JP2010515399A (en) * 2007-01-03 2010-05-06 サムスン エレクトロニクス カンパニー リミテッド Method, apparatus, encoder, decoder, and decoding method for estimating a motion vector using a plurality of motion vector predictors
US9113110B2 (en) 2007-01-03 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9113112B2 (en) 2007-01-03 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9113111B2 (en) 2007-01-03 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9313518B2 (en) 2007-01-03 2016-04-12 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9369731B2 (en) 2007-01-03 2016-06-14 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
JP2013098789A (en) * 2011-11-01 2013-05-20 Hitachi Kokusai Electric Inc Image encoder
US9521417B2 (en) 2011-11-01 2016-12-13 Hitachi Kokusai Electric, Inc. Video encoding device using predicted motion vector for blocks of different size
JP2017028337A (en) * 2015-07-15 2017-02-02 日本電信電話株式会社 Video coding apparatus and video coding program

Similar Documents

Publication Publication Date Title
KR102646890B1 (en) Method and device for encoding or decoding image
US8244048B2 (en) Method and apparatus for image encoding and image decoding
US9743088B2 (en) Video encoder and video encoding method
JP5111127B2 (en) Moving picture coding apparatus, control method therefor, and computer program
US8204118B2 (en) Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
US8891621B2 (en) Image coding apparatus and image coding method
US20110243227A1 (en) Moving picture decoding method and device, and moving picture encoding method and device
JP4762938B2 (en) Data embedding device, data extracting device, data embedding method, and data extracting method
JP2013115583A (en) Moving image encoder, control method of the same, and program
JP2010183162A (en) Motion picture encoder
JP2014007469A (en) Image coding device and image coding method
JP4569968B2 (en) Moving picture composition apparatus and program
JP2010278519A (en) Motion vector detector
JP2006074520A (en) Motion vector detecting device
JP2009049969A (en) Device and method of coding moving image and device and method of decoding moving image
JP2008199616A (en) Display system for image data with steganographic data inserted therein
JP2006237765A (en) Image coding apparatus
JP2011182167A (en) Image encoding device
KR101786957B1 (en) Apparatus and Method for fast motion estimation
JP2008258769A (en) Image encoding device and control method thereof, and computer program
JP2008219360A (en) Predictive encoding device
JP2012095252A (en) Moving image decoding device, moving image decoding method, and moving image decoding program
JP2007306528A (en) Motion picture decoding device and motion picture decoding method
JP2008227602A (en) Device conducting orthogonal transformation and quantization
JPH0965341A (en) Moving image coding, decoding method and device