JP2010278519A - Motion vector detector - Google Patents

Motion vector detector Download PDF

Info

Publication number
JP2010278519A
JP2010278519A JP2009126412A JP2009126412A JP2010278519A JP 2010278519 A JP2010278519 A JP 2010278519A JP 2009126412 A JP2009126412 A JP 2009126412A JP 2009126412 A JP2009126412 A JP 2009126412A JP 2010278519 A JP2010278519 A JP 2010278519A
Authority
JP
Japan
Prior art keywords
block
activity
motion vector
blocks
activity detection
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
JP2009126412A
Other languages
Japanese (ja)
Inventor
Kazuhiro Wake
一博 和気
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 Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009126412A priority Critical patent/JP2010278519A/en
Publication of JP2010278519A publication Critical patent/JP2010278519A/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 detector for reducing the operation amount of motion vector detection. <P>SOLUTION: The motion vector detector includes a block division determination part 107 for dividing an object block comprising M×N pixels into sub blocks, and a motion vector detection part 106 for detecting the motion vectors of the respective sub blocks divided in the block division determination part 107. The block division determination part 107 sets a plurality of activity detection blocks in the object block, detects the activities of the respective set activity detection blocks, and determines the form of dividing the object block into the sub blocks on the basis of the respective detected activities. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、画像を複数のブロックに分割し、分割したブロック毎に動きベクトルを検出する動きベクトル検出装置に関する。   The present invention relates to a motion vector detection apparatus that divides an image into a plurality of blocks and detects a motion vector for each of the divided blocks.

近年、AV情報のデジタル化が進み、映像信号をデジタル化して取り扱うことのできる機器が広く普及しつつある。映像信号は膨大な情報量を有する。そこで、記録容量や伝送効率を考慮して、情報量を削減しつつ符号化することが一般的である。映像信号の符号化技術として、H.264という国際規格が定められている。H.264規格は、他の既存の符号化技術に比べ約2倍の圧縮効率をもたらす。従って、H.264規格は、レコーダ記録、インターネットストリーミング等に非常に適した符号化方式である。   In recent years, digitalization of AV information has progressed and devices capable of digitizing and handling video signals are becoming widespread. The video signal has a huge amount of information. Therefore, it is common to encode while reducing the amount of information in consideration of recording capacity and transmission efficiency. As a video signal encoding technique, H.264 is used. An international standard called H.264 is established. H. The H.264 standard provides about twice the compression efficiency as compared to other existing coding technologies. Therefore, H.I. The H.264 standard is an encoding method that is very suitable for recorder recording, Internet streaming, and the like.

H.264では、フレーム間の要素の動きを認識して圧縮率を向上させる動き補償が導入されている。動き補償は、動き予測処理の結果に基づいて決定された動きベクトルに基いて行われる。H.264における動き補償(動きベクトルの決定等)は、16×16画素のマクロブロックに対してだけでなく、このマクロブロックをさらに分割した8×16、8×8、8×4、4×8、4×4画素の合計7種類のブロックに対して行うことができる。これは、マクロブロックよりも小さな物体の動きを良好に検出し、符号化効率を上げるためである。   H. H.264 introduces motion compensation that recognizes the motion of elements between frames and improves the compression ratio. Motion compensation is performed based on the motion vector determined based on the result of the motion prediction process. H. H.264 motion compensation (determination of motion vectors, etc.) is not limited to a 16 × 16 pixel macroblock, but is further divided into 8 × 16, 8 × 8, 8 × 4, 4 × 8, This can be done for a total of 7 types of 4 × 4 pixels. This is because the movement of an object smaller than the macroblock is detected well and the encoding efficiency is increased.

図12は、H.264における動き補償のブロックサイズについて示したものであり、縦16画素×横16画素の大きさを有するマクロブロックをどのように分割するかを示す。分割方法として、まず16×16画素のブロックに対して4通りあり、各々のブロック分割タイプを図12(a)〜(d)に示す。   FIG. 264 shows the block size of motion compensation in H.264, and shows how to divide a macroblock having a size of 16 vertical pixels × 16 horizontal pixels. There are four division methods for a 16 × 16 pixel block, and each block division type is shown in FIGS.

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

さらに、図12(d)に示す分割タイプ4の分割方法を選択する場合には、縦8画素×横8画素の4つのサブブロックのそれぞれに対して、図12(e)〜(h)にそれぞれ示す、縦8画素×横8画素の4ブロックを分割する方法から選択できる。   Furthermore, when the division type 4 division method shown in FIG. 12D is selected, the four sub-blocks of 8 vertical pixels × 8 horizontal pixels are respectively shown in FIGS. 12E to 12H. The method can be selected from a method of dividing four blocks each having 8 vertical pixels × 8 horizontal pixels.

上述のように、H.264では、動き補償のブロックサイズとして異なる複数のブロックサイズを選択することで符号化効率を上げることができる。しかしながら、マクロブロックの分割タイプとしてどの分割タイプが動き補償として最適であるか決定するには、すべての分割タイプにおける動きベクトルを求め、その動きベクトルにおける予測誤差などから最適な分割タイプを判定する必要がある。それゆえ、動きベクトル探索に膨大な演算量が必要で、符号化処理の速度向上が困難であった。   As mentioned above, H.M. In H.264, 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 determine the optimum division type from the prediction error in the motion vectors. There is. Therefore, a huge amount of computation is required for motion vector search, and it is difficult to improve the speed of the encoding process.

このため、非特許文献1に開示されているように、H.264においては、上述の複数分割タイプの動きベクトル検索に要する演算量の低減が図られている。例えば、先ず、より小さなブロックサイズの動きベクトルを求め、この動きベクトルの方向と大きさから、より大きなブロックサイズの動きベクトルを推定することで、動き検索するブロックサイズの数を減らし演算量を低減する。例えば、図13(a)に示すように、ブロックを4分割したサブブロックのそれぞれの動きベクトルが非常に近い場合、それはブロック全体の動きベクトルに近似していると推定される。それゆえ、サブブロックで構成されるブロック全体を動き補償すべきブロックサイズとして動き検索する。逆に、図13(b)に示すように、4つのサブブロックの動きベクトルにばらつきがある場合、それはブロック全体として一つの動きベクトルを指していない。それゆえ、4つのサブブロックを動き補償すべきブロックサイズとして、そのまま4つのサブブロックの動きベクトルを使用する。   For this reason, as disclosed in Non-Patent Document 1, H.P. In H.264, the amount of calculation required for the above-described multi-partition type motion vector search is reduced. For example, first, a motion vector with a smaller block size is obtained, and a motion vector with a larger block size is estimated from the direction and size of this motion vector, thereby reducing the number of block sizes for motion search and reducing the amount of calculation. To do. For example, as shown in FIG. 13A, when the motion vectors of the sub-blocks obtained by dividing the block into four are very close, it is estimated that the motion vectors of the entire block are approximated. Therefore, motion search is performed on the entire block composed of sub-blocks as a block size to be motion compensated. Conversely, as shown in FIG. 13B, when the motion vectors of the four sub-blocks vary, it does not point to one motion vector as a whole block. Therefore, the motion vectors of the four sub-blocks are used as they are as the block size for motion compensation of the four sub-blocks.

また、特許文献1には、動きベクトル検出済みの周辺ブロックのブロック分割から、対象マクロブロックのブロック分割を推定し、この分割したブロックについて動きベクトルを検出する方法が開示されている。この方法によれば、動きベクトルを検出すべきブロックが予め絞り込まれるので、動きベクトル検出に要する演算量を低減することができる。   Further, Patent Document 1 discloses a method for estimating a block division of a target macroblock from block division of peripheral blocks for which motion vectors have been detected, and detecting a motion vector for the divided block. According to this method, since the blocks whose motion vectors are to be detected are narrowed down in advance, the amount of calculation required for motion vector detection can be reduced.

清水智行、米山暁夫、柳原広昌、中島康弘:「H.264符号化処理における動き予測の高速化に関する一検討」情報処理学会研究報告(IPSJ SIG Technical Report)1003/10/3 pp.23−28」Tomoyuki Shimizu, Ikuo Yoneyama, Hiromasa Yanagihara, Yasuhiro Nakajima: “A Study on Speeding Up of Motion Prediction in H.264 Coding Process” Information Processing Society of Japan (IPSJ SIG Technical Report) 1003/10/3 pp. 23-28 "

特開2006−74520JP 2006-74520 A

しかしながら、前記非特許文献1に記載の手法では、より小さなブロックの動きベクトルをも求めなければならない。しかも、より小さなブロックサイズは分割されたブロック数が多いので、動きベクトル検出の演算量も多くなり、大幅な低減には至らない。   However, in the method described in Non-Patent Document 1, a motion vector of a smaller block must be obtained. In addition, since the smaller block size has a larger number of divided blocks, the amount of calculation for motion vector detection also increases and does not lead to a significant reduction.

また、特許文献1に記載の手法では、動きベクトル検出に要する演算量を低減することが可能であるものの、対象マクロブロックの特徴に関係なく周辺ブロックの分割情報を基に分割するため、ブロック分割の精度が低い。   In addition, although the method described in Patent Document 1 can reduce the amount of computation required for motion vector detection, block division is performed because division is performed based on division information of surrounding blocks regardless of the characteristics of the target macroblock. The accuracy of is low.

本発明は、以上のような問題点に鑑みてなされたもので、ブロック分割の精度を向上させつつ、動きベクトル検出の演算量を低減することができる動きベクトル検出装置を提供することを課題とする。   The present invention has been made in view of the above problems, and it is an object of the present invention to provide a motion vector detection device capable of reducing the amount of motion vector detection while improving the accuracy of block division. To do.

前記従来の課題を解決するために、本発明の動きベクトル検出装置は、動きベクトル検出装置であって、M×N画素からなる対象ブロックをサブブロックへ分割するブロック分割決定部と、ブロック分割決定部で分割された各サブブロックの動きベクトルを検出する動きベクトル検出部とを含み、前記ブロック分割決定部は、前記対象ブロックに複数個のアクティビティ検出ブロックを設定し、設定した各アクティビティ検出ブロックのアクティビティを検出し、検出した各アクティビティに基づいて前記対象ブロックをサブブロックに分割する態様を決定する、ことを特徴とする。   In order to solve the above-described conventional problems, a motion vector detection device according to the present invention is a motion vector detection device, a block division determination unit that divides a target block composed of M × N pixels into sub-blocks, and a block division determination. A motion vector detection unit that detects a motion vector of each sub-block divided by the unit, wherein the block division determination unit sets a plurality of activity detection blocks in the target block, and sets each activity detection block An activity is detected, and a mode of dividing the target block into sub-blocks is determined based on each detected activity.

また、本発明の動きベクトル検出プログラムは、コンピュータを、M×N画素からなる対象ブロックをサブブロックへ分割するブロック分割決定手段と、ブロック分割決定部で分割された各サブブロックの動きベクトルを検出する動きベクトル検出手段として機能させ、前記ブロック分割決定手段は、前記対象ブロックに複数個のアクティビティ検出ブロックを設定し、設定した各アクティビティ検出ブロックのアクティビティを検出し、検出した各アクティビティに基づいて前記対象ブロックをサブブロックに分割する態様の決定をする、ことを特徴とする。   Also, the motion vector detection program of the present invention detects a motion vector of each sub-block divided by the block division determination unit and the block division determination unit that divides the target block of M × N pixels into sub-blocks. The block division determination unit sets a plurality of activity detection blocks in the target block, detects an activity of each set activity detection block, and based on each detected activity A mode of dividing the target block into sub-blocks is determined.

本発明によれば、動きベクトル検出を行う前に、M×N画素からなる対象ブロックをサブブロックへ分割する態様を決定し、この決定された分割態様にしたがって、対象となるサブブロックの動きベクトルを検出する。したがって、動きベクトル検出を行うべきサブブロック数が減少し、動きベクトル検出に関する演算量を大幅に削減することができる。   According to the present invention, before performing motion vector detection, a mode for dividing a target block composed of M × N pixels into sub-blocks is determined, and the motion vector of the target sub-block is determined according to the determined split mode. Is detected. Therefore, the number of sub-blocks to be subjected to motion vector detection is reduced, and the amount of calculation related to motion vector detection can be greatly reduced.

加えて、ブロック分割の態様を決定する際、対象ブロックに複数個のアクティビティ検出ブロックを設定し、設定した各アクティビティ検出ブロックのアクティビティを検出し、検出した各アクティビティに基づいてブロック分割態様を決定する。したがって、対象ブロックの特徴に応じたブロック分割が可能となり、ブロック分割の精度を向上させることができる。   In addition, when determining the mode of block division, a plurality of activity detection blocks are set in the target block, the activity of each set activity detection block is detected, and the block division mode is determined based on each detected activity. . Therefore, block division according to the feature of the target block is possible, and the accuracy of block division can be improved.

なお、対象ブロックの分割態様の決定に要する演算量は、従来方式における動きベクトル検出に要する演算量と、本発明における動きベクトル検出に要する演算量との差分よりも遥かに少なく、無視し得る量である。   Note that the amount of computation required for determining the division mode of the target block is much smaller than the difference between the amount of computation required for motion vector detection in the conventional method and the amount of computation required for motion vector detection in the present invention, and can be ignored. It is.

本実施の形態に係る動きベクトル検出装置が組み込まれた動画像圧縮符号化装置の構成を示すブロック図1 is a block diagram showing a configuration of a moving picture compression encoding apparatus in which a motion vector detection apparatus according to the present embodiment is incorporated. 入力画像全体、及び縦16×横16画素から構成される動きベクトル検出対象マクロブロックについての説明図Explanatory drawing about a motion vector detection target macroblock composed of the entire input image and 16 pixels vertically and 16 pixels horizontally 動きベクトル検出対象マクロブロックのアクティビティ検出の説明図Explanatory drawing of activity detection of macroblock for motion vector detection 第一ブロックB1(分割対象マクロブロック)をブロック分割する手順についての説明図。(a)分割前の第一ブロックB1についての説明図、(b)第一ブロックB1に対するアクティビティ検出ブロックA0とアクティビティ検出ブロックA1についての説明図、(c)第一ブロックB1に対するアクティビティ検出ブロックA2とアクティビティ検出ブロックA3についての説明図、(d)第一ブロックB1に対する分割結果についての説明図Explanatory drawing about the procedure which divides the 1st block B1 (division object macroblock) into blocks. (A) Explanatory diagram about the first block B1 before the division, (b) Explanatory diagram about the activity detection block A0 and the activity detection block A1 for the first block B1, (c) Activity detection block A2 for the first block B1 Explanatory drawing about activity detection block A3, (d) Explanatory drawing about the division | segmentation result with respect to 1st block B1 第二ブロックB20をブロック分割する手順についての説明図。(a)第二ブロックB20に対するアクティビティ検出ブロックA0とアクティビティ検出ブロックA1についての説明図、(b)第二ブロックB20に対するアクティビティ検出ブロックA2とアクティビティ検出ブロックA3についての説明図、(c)第二ブロックB20に対する分割についての説明図Explanatory drawing about the procedure which divides the 2nd block B20 into blocks. (A) Explanatory drawing about activity detection block A0 and activity detection block A1 with respect to 2nd block B20, (b) Explanatory drawing about activity detection block A2 and activity detection block A3 with respect to 2nd block B20, (c) 2nd block Explanatory drawing about the division for B20 第二ブロックB21をブロック分割する手順についての説明図。(a)第二ブロックB21に対するアクティビティ検出ブロックA0とアクティビティ検出ブロックA1についての説明図、(b)第二ブロックB21に対するアクティビティ検出ブロックA2とアクティビティ検出ブロックA3についての説明図、(c)第二ブロックB21に対する分割についての説明図Explanatory drawing about the procedure which divides the 2nd block B21 into blocks. (A) Explanatory drawing about activity detection block A0 and activity detection block A1 for second block B21, (b) Explanatory drawing about activity detection block A2 and activity detection block A3 for second block B21, (c) Second block Explanatory drawing about the division | segmentation with respect to B21 第二ブロックB22をブロック分割する手順についての説明図。(a)第二ブロックB22に対するアクティビティ検出ブロックA0とアクティビティ検出ブロックA1についての説明図、(b)第二ブロックB22に対するアクティビティ検出ブロックA2とアクティビティ検出ブロックA3についての説明図、(c)第二ブロックB22に対する分割についての説明図Explanatory drawing about the procedure which divides the 2nd block B22 into blocks. (A) Explanatory drawing about activity detection block A0 and activity detection block A1 with respect to 2nd block B22, (b) Explanatory drawing about activity detection block A2 and activity detection block A3 with respect to 2nd block B22, (c) 2nd block Explanatory drawing about the division for B22 第二ブロックB23をブロック分割する手順についての説明図。(a)第二ブロックB23に対するアクティビティ検出ブロックA0とアクティビティ検出ブロックA1についての説明図、(b)第二ブロックB23に対するアクティビティ検出ブロックA2とアクティビティ検出ブロックA3についての説明図、(c)第二ブロックB23に対する分割についての説明図Explanatory drawing about the procedure which divides the 2nd block B23 into blocks. (A) Explanatory drawing about activity detection block A0 and activity detection block A1 with respect to 2nd block B23, (b) Explanatory drawing about activity detection block A2 and activity detection block A3 with respect to 2nd block B23, (c) 2nd block Explanatory drawing about the division for B23 本実施の形態における動きベクトル検出のフローチャートFlowchart of motion vector detection in this embodiment 従来方式における動きベクトル検出のフローチャートFlowchart of motion vector detection in the conventional method 従来方式と、本発明の実施の形態1における動きベクトル演算回数の比較表Comparison table of the number of motion vector operations in the conventional method and Embodiment 1 of the present invention H.264における動き補償のブロックサイズについての説明図H. 264 is an explanatory diagram about the block size of motion compensation in H.264 対象ブロックが複数のブロックサイズで動き予測できる場合に、より小さなブロックサイズの動きベクトルからより大きなブロックサイズの動きベクトルを推定する方式についての説明図Explanatory diagram 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

以下、添付の図面を参照して実施の形態を説明する。
1.構成
図1は、動きベクトル検出装置を含む動画像圧縮符号化装置全体の構成を概念的に示す。
Embodiments will be described below with reference to the accompanying drawings.
1. Configuration FIG. 1 conceptually shows the overall configuration of a moving image compression encoding apparatus including a motion vector detection apparatus.

この動画像圧縮符号化装置は、入力部100、差分演算部101、変換部102、量子化部103、エントロピー符号化部104、出力部105、ローカルデコーダ110、及び動きベクトル検出部106を備える。   This moving image compression encoding apparatus includes an input unit 100, a difference calculation unit 101, a conversion unit 102, a quantization unit 103, an entropy encoding unit 104, an output unit 105, a local decoder 110, and a motion vector detection unit 106.

入力部100より入力された画像データ120は、複数の小さなブロック群に分割される。これらのブロックは、マクロブロックと呼ばれ、各マクロブロックは16×16の画素サイズにより構成される。また、ピクチャは、複数のスライスに分割される。各スライスは、複数のマクロブロックより構成される。そして、差分演算部101以降、マクロブロック単位で処理が行われる。   The image data 120 input from the input unit 100 is divided into a plurality of small block groups. These blocks are called macroblocks, and each macroblock is configured with a pixel size of 16 × 16. A picture is divided into a plurality of slices. Each slice is composed of a plurality of macroblocks. After the difference calculation unit 101, processing is performed in units of macroblocks.

ここで、ピクチャには、Iピクチャ、Pピクチャ、Bピクチャの3種類が存在する。Iピクチャは、映像の画像データを符号化する際、画像中の空間的な冗長性を減少させたピクチャである。Pピクチャ及びBピクチャは、連続するピクチャ間に存在する時間的な冗長性を利用して動き予測及び動き補償に基づく予測符号化を行うピクチャであり、Iピクチャよりも効率的な圧縮が可能である。なお、Pピクチャは前方予測(時間的に過去の画像)のみ参照可能であり、Bピクチャは前方予測に加え、後方予測(時間的に未来の画像)も参照可能である。   Here, there are three types of pictures: I picture, P picture, and B picture. An I picture is a picture in which spatial redundancy in an image is reduced when video image data is encoded. P picture and B picture are pictures that perform predictive coding based on motion prediction and motion compensation using temporal redundancy existing between consecutive pictures, and can be compressed more efficiently than I pictures. is there. The P picture can refer only to the forward prediction (temporarily past image), and the B picture can refer to the backward prediction (temporally future image) in addition to the forward prediction.

差分演算部101は、入力画像120と動き補償画像121との差分データを演算する。   The difference calculation unit 101 calculates difference data between the input image 120 and the motion compensated image 121.

変換部102は、画像データを周波数領域に直交変換し、直交変換係数を求める。変換方式としては、2次元DCT(離散コサイン変換)が用いられる。   The transform unit 102 orthogonally transforms the image data into the frequency domain and obtains an orthogonal transform coefficient. As a conversion method, two-dimensional DCT (discrete cosine transform) is used.

量子化部103は、変換部102で得られた直交変換係数を量子化する。   The quantization unit 103 quantizes the orthogonal transform coefficient obtained by the transform unit 102.

エントロピー符号化部104は、量子化された直交変換係数をエントロピー符号化する。   The entropy encoding unit 104 entropy encodes the quantized orthogonal transform coefficient.

出力部105は、可変ビットレートの圧縮画像データを伝送レートにあわせて伝送路に供給する。   The output unit 105 supplies variable bit rate compressed image data to the transmission line in accordance with the transmission rate.

ローカルデコーダ110は、逆量子化部111と、逆変換部112と、加算演算部113と、バッファ114と、動き補償部115とを含み、符号化手順を逆に行う。   The local decoder 110 includes an inverse quantization unit 111, an inverse transform unit 112, an addition operation unit 113, a buffer 114, and a motion compensation unit 115, and performs the encoding procedure in reverse.

具体的には、逆量子化部111は、量子化部103で量子化された直交変換係数を逆量子化する。   Specifically, the inverse quantization unit 111 inversely quantizes the orthogonal transform coefficient quantized by the quantization unit 103.

逆変換部112は、逆量子化部111で逆量子化された直交変換係数を逆直交変換して差分データに復号化する。   The inverse transform unit 112 performs inverse orthogonal transform on the orthogonal transform coefficient inversely quantized by the inverse quantization unit 111 and decodes the difference data.

加算演算部113は、逆変換部112で復号化された差分データに、バッファ114と動き補償部115とで生成された動き補償画像を加算することにより、復号側で得られるものと同様の画像データを生成する。   The addition calculation unit 113 adds the motion compensated image generated by the buffer 114 and the motion compensation unit 115 to the difference data decoded by the inverse transform unit 112, thereby obtaining an image similar to that obtained on the decoding side. Generate data.

バッファ114は、加算演算部113で生成された画像データを一時蓄積する。   The buffer 114 temporarily stores the image data generated by the addition operation unit 113.

動き補償部115は、バッファ114に蓄積されている画像データを読み出し、この画像データと、動きベクトル検出部106で検出された動きベクトルとに基づいて、動き補償画像を生成する。なお、対象となる画像(画像データ120に相当)の動き補償画像は、対象となる画像と、復号化した画像(バッファ114に蓄積された画像)とに基づいて生成される。   The motion compensation unit 115 reads the image data stored in the buffer 114, and generates a motion compensation image based on the image data and the motion vector detected by the motion vector detection unit 106. Note that the motion compensated image of the target image (corresponding to the image data 120) is generated based on the target image and the decoded image (the image stored in the buffer 114).

動きベクトル検出部106は、入力された画像データ120と、ローカルデコーダのバッファ114から入力された画像データとの間の画素の変位を示す2次元動きベクトルを検出する。なお、H.264における動き補償(動きベクトルの決定等)は、前述したように、16×16画素のマクロブロックに対してだけでなく、このマクロブロックを分割した8×16、8×8、8×4、4×8、4×4画素の合計7種類のブロックに対して行うことができる。   The motion vector detection unit 106 detects a two-dimensional motion vector indicating pixel displacement between the input image data 120 and the image data input from the buffer 114 of the local decoder. H. As described above, motion compensation in H.264 (determination of a motion vector, etc.) is not limited to a 16 × 16 pixel macroblock, but is divided into 8 × 16, 8 × 8, 8 × 4, This can be done for a total of seven types of blocks of 4 × 8 and 4 × 4 pixels.

動きベクトルの検出(算出)についてさらに詳しく説明する。まず、動きベクトル検出の対象ブロックに対して、参照画像の一定の範囲内における任意ブロックとの間でブロックマッチングを行い、ブロック間の差分絶対値和を求める。次に、この差分絶対値和が最小となった参照ブロック、すなわち最も相関が高いブロックが、対象ブロックから2次元(水平、垂直)的に何画素シフトしたかを求め、これを動きベクトルとして利用する。なお、動きベクトル算出の評価値としては、上記差分絶対値和以外に、差分二乗平方和を用いてもよいし、ブロック間差分データをアダマール変換して符号化したときの符号長の最小値を評価値として用いてもよい。   The motion vector detection (calculation) will be described in more detail. First, block matching is performed on a target block for motion vector detection with an arbitrary block within a certain range of a reference image, and a sum of absolute differences between blocks is obtained. Next, it is determined how many pixels the reference block having the smallest sum of absolute differences, that is, the block having the highest correlation, is two-dimensionally (horizontal and vertical) shifted from the target block, and this is used as a motion vector. To do. As an evaluation value for motion vector calculation, a square sum of squares of differences may be used in addition to the above sum of absolute differences, or a minimum value of code length when the difference data between blocks is encoded by Hadamard transform. It may be used as an evaluation value.

2.動作
以上のように構成された動画像圧縮符号化装置は、以下のように動作する。入力部100から入力された画像データ120は、差分演算部101で動き補償画像との差分演算が行われる。差分演算された差分データは変換部102で直交変換される。差分データの直交変換係数は量子化部103で量子化される。量子化された差分データの直交変換係数はエントロピー符号化部104でエントロピー符号化され、出力部105よりビットストリームとして出力される。また、量子化部103で量子化された差分データの直交変換係数は、逆量子化部111で逆量子化された後、逆変換部112で逆直交変換され、差分データとして復号化される。なお、このときの差分データは、データ量削減のための量子化によって非可逆処理が行われているので元の差分データではない。
2. Operation The moving image compression encoding apparatus configured as described above operates as follows. The difference calculation unit 101 performs difference calculation on the image data 120 input from the input unit 100 with the motion compensated image. The difference data subjected to the difference calculation is orthogonally transformed by the transform unit 102. The orthogonal transform coefficient of the difference data is quantized by the quantization unit 103. The orthogonal transform coefficients of the quantized difference data are entropy encoded by the entropy encoding unit 104 and output as a bit stream from the output unit 105. The orthogonal transform coefficient of the difference data quantized by the quantization unit 103 is inversely quantized by the inverse quantization unit 111 and then inversely orthogonal transformed by the inverse transform unit 112 to be 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 data amount reduction.

復号化された差分データは、加算演算部113において、動き補償部115で生成された動き補償画像に加算される。加算されて生成された画像は、後の動き補償や動き予測の参照画像として、バッファ114に一時的に蓄積される。動きベクトル検出部106で、動きベクトル検出対象のマクロブロックの画像データとバッファ114に蓄積された参照画像との間での動きベクトルが算出される。動きベクトル検出部106で算出された動きベクトルは、動き補償部105での動き補償に用いられると共に、エントロピー符号化部104を経て、圧縮画像データに組み込まれ、出力部105より出力される。   The decoded difference data is added to the motion compensated image generated by the motion compensation unit 115 in the addition operation unit 113. The image generated by the addition is temporarily stored in the buffer 114 as a reference image for later motion compensation or motion prediction. The motion vector detection unit 106 calculates a motion vector between the image data of the macro block targeted for motion vector detection and the reference image stored in the buffer 114. The motion vector calculated by the motion vector detection unit 106 is used for motion compensation by the motion compensation unit 105, is incorporated into the compressed image data via the entropy encoding unit 104, and is output from the output unit 105.

ここで、動きベクトル検出部106で動きベクトルが算出されるとき、対象ブロックのブロックサイズは固定ではなく、前述したように複数種類選択可能である。特に、本実施の形態の動画像圧縮符号化装置においては、このブロックサイズの選択が、ブロック分割決定部107によって以下のように行われるようになっている。以下、このブロック分割決定部107の動作について図2以下の図面により詳しく説明する。   Here, when the motion vector is calculated by the motion vector detection unit 106, the block size of the target block is not fixed, and a plurality of types can be selected as described above. In particular, in the moving picture compression encoding apparatus of the present embodiment, the block size selection is performed by the block division determination unit 107 as follows. Hereinafter, the operation of the block division determination unit 107 will be described in detail with reference to FIG.

図2は、入力画像全体、及び縦16×横16画素から構成される動きベクトル検出対象マクロブロックの説明図である。なお、図2の入力画像は一例である。図2において、画像230は動きベクトル検出を行う入力画像全体を示しており、マクロブロック231、232は分割対象のマクロブロックを示している。マクロブロック231は、オブジェクト(樹木等)と背景との境界(エッジ)を含んでいる。マクロブロック232は、背景のみを含んでいる。   FIG. 2 is an explanatory diagram of a motion vector detection target macroblock composed of the entire input image and 16 × 16 pixels. The input image in FIG. 2 is an example. In FIG. 2, an image 230 shows the entire input image on which motion vector detection is performed, and macroblocks 231 and 232 show macroblocks to be divided. The macro block 231 includes a boundary (edge) between an object (such as a tree) and the background. Macroblock 232 includes only the background.

図3は、図2に示した前記マクロブロック231,232を構成する画素の輝度レベルを示した図である。図3(a)は、マクロブロック231の場合を示し、図3(b)は、マクロブロック232の場合を示している。マクロブロック231は、前述のようにオブジェクト(樹木等)と背景との境界を含んでいるので、輝度レベルの最大値が100、最小値が30となっている。ここで、最大値と最小値との差をダイナミックレンジと定義すると、マクロブロック231におけるダイナミックレンジは70となる。一方、マクロブロック232は、前述のように背景のみを含む平坦なブロックでああるので、輝度レベルの最大値が30、最小値が30となっている。したがって、マクロブロック232におけるダイナミックレンジは0となる。このように、オブジェクトと背景との境界を含むブロックでは、オブジェクトと背景との境界を含まない平坦なブロックと比べ、ダイナミックレンジが大きくなる。したがって、ブロックのダイナミックレンジを求めれば、そのブロックが、オブジェクトと背景との境界を含んだブロックであるか、あるいは平坦なブロックであるかの判断を行うことが可能となる。   FIG. 3 is a diagram showing the luminance levels of the pixels constituting the macroblocks 231 and 232 shown in FIG. FIG. 3A shows the case of the macro block 231, and FIG. 3B shows the case of the macro block 232. Since the macroblock 231 includes the boundary between the object (such as a tree) and the background as described above, the maximum value of the luminance level is 100 and the minimum value is 30. Here, if the difference between the maximum value and the minimum value is defined as the dynamic range, the dynamic range in the macroblock 231 is 70. On the other hand, since the macroblock 232 is a flat block including only the background as described above, the maximum value of the luminance level is 30 and the minimum value is 30. Therefore, the dynamic range in the macroblock 232 is zero. As described above, the block including the boundary between the object and the background has a larger dynamic range than the flat block including no boundary between the object and the background. Therefore, if the dynamic range of the block is obtained, it is possible to determine whether the block is a block including the boundary between the object and the background or a flat block.

次に、図4〜図8により本実施の形態のブロック分割態様の決定方法を説明する。説明に際しては、便宜上、マクロブロック(縦16画素×横16画素)を第一ブロックB1と呼ぶ。図4(a)は、分割前の第一ブロックB1を示している。   Next, a block division mode determination method according to the present embodiment will be described with reference to FIGS. In the description, for the sake of convenience, the macroblock (vertical 16 pixels × horizontal 16 pixels) is referred to as a first block B1. FIG. 4A shows the first block B1 before division.

まず、この第一ブロックB1に対して、図4(b)、図4(c)に示すように、アクティビティ(精細度)を検出するブロックであるアクティビティ検出ブロックA0,A1,A2,A3を設定する。図4(b)は、第一ブロックに対してアクティビティ検出ブロックA0およびアクティビティ検出ブロックA1を設定した状態を示す。図4(c)は、第一ブロックB1に対してアクティビティ検出ブロックA2およびアクティビティ検出ブロックA3を設定した状態を示す。アクティビティ検出ブロックA0およびアクティビティ検出ブロックA1は、縦16画素×横8画素から構成されるブロックであり、アクティビティ検出ブロックA2およびアクティビティ検出ブロックA3は、縦8画素×横16画素から構成されるブロックである。   First, as shown in FIGS. 4B and 4C, activity detection blocks A0, A1, A2, and A3, which are blocks for detecting activity (definition), are set for the first block B1. To do. FIG. 4B shows a state in which the activity detection block A0 and the activity detection block A1 are set for the first block. FIG. 4C shows a state in which the activity detection block A2 and the activity detection block A3 are set for the first block B1. The activity detection block A0 and the activity detection block A1 are blocks composed of 16 vertical pixels × 8 horizontal pixels, and the activity detection block A2 and the activity detection block A3 are blocks composed of 8 vertical pixels × 16 horizontal pixels. is there.

次に、各アクティビティ検出ブロックA0〜A3についてブロック内のアクティビティを算出し、アクティビティの値に応じてアクティビティフラグ0〜3を設定する。アクティビティが所定の閾値より大きければ、アクティビティ検出ブロックのアクティビティフラグを1に設定し、アクティビティが所定の閾値以下であれば、アクティビティフラグを0に設定する。本実施の形態では、前記所定の閾値は、32に設定されている。この値は、例えば、アクティビティ検出ブロック内に、オブジェクト(木等)と背景との境界が含まれているような場合に、これを検出することができるような大きさの値である。なお、32という値は、一例であり、オブジェクトと背景との境界の認識が可能な範囲で変更可能である。   Next, the activity in the block is calculated for each of the activity detection blocks A0 to A3, and the activity flags 0 to 3 are set according to the activity value. If the activity is greater than the predetermined threshold, the activity flag of the activity detection block is set to 1, and if the activity is equal to or less than the predetermined threshold, the activity flag is set to 0. In the present embodiment, the predetermined threshold is set to 32. This value is, for example, a value that can be detected when the boundary between an object (such as a tree) and the background is included in the activity detection block. Note that the value 32 is an example, and can be changed within a range in which the boundary between the object and the background can be recognized.

図4(b)に示す場合においては、アクティビティ検出ブロックA0は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA0のアクティビティフラグ0は1に設定される。アクティビティ検出ブロックA1も、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA1のアクティビティフラグ1は1に設定される。   In the case shown in FIG. 4B, the activity detection block A0 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 0 of the activity detection block A0 is set to 1. The activity detection block A1 also includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 1 of the activity detection block A1 is set to 1.

次に、図4(c)に示す場合においては、アクティビティ検出ブロックA2は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA2のアクティビティフラグ2は1に設定される。アクティビティ検出ブロックA3も、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA3のアクティビティフラグ1は1に設定される。   Next, in the case shown in FIG. 4C, the activity detection block A2 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 2 of the activity detection block A2 is set to 1. The activity detection block A3 also includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 1 of the activity detection block A3 is set to 1.

上記手順により得られた4つのアクティビティフラグに基づいて、第一ブロックB1(マクロブロック)の分割方法を決定する。以下に、各アクティビティフラグの値と分割対象ブロック(縦M画素×横M画素)のブロック分割との関係を4種類のパターンに分類して示す。

(パターン0) アクティビティフラグ0が0、アクティビティフラグ1が0、
アクティビティフラグ2が0、アクティビティフラグ3が0の場合、
→ 対象ブロックに対し分割処理を行わない。

(パターン1) アクティビティフラグ0が0、アクティビティフラグ1が0、
アクティビティフラグ2が1、アクティビティフラグ3が1の場合、
又は、
アクティビティフラグ0が1、アクティビティフラグ1が0、
アクティビティフラグ2が1、アクティビティフラグ3が1の場合、
あるいは、
アクティビティフラグ0が0、アクティビティフラグ1が1、
アクティビティフラグ2が1、アクティビティフラグ3が1の場合、
→ 対象ブロックを縦M画素×横M/2画素から構成される2つのブロックに分割する

(パターン2) アクティビティフラグ0が1、アクティビティフラグ1が1、
アクティビティフラグ2が0、アクティビティフラグ3が0の場合、
又は、
アクティビティフラグ0が1、アクティビティフラグ1が1、
アクティビティフラグ2が0、アクティビティフラグ3が1の場合、
又は、
アクティビティフラグ0が1、アクティビティフラグ1が1、
アクティビティフラグ2が1、アクティビティフラグ3が0の場合、
→ 対象ブロックを縦M/2画素×横M画素から構成される2つのブロックに分割する

(パターン3) パターン0、1、2以外の場合、
→ 対象ブロックを縦M/2画素×横M/2画素から構成される4つのブロックに分割する
Based on the four activity flags obtained by the above procedure, the division method of the first block B1 (macroblock) is determined. Hereinafter, the relationship between the value of each activity flag and the block division of the division target block (vertical M pixels × horizontal M pixels) is classified into four types of patterns.

(Pattern 0) Activity flag 0 is 0, activity flag 1 is 0,
If activity flag 2 is 0 and activity flag 3 is 0,
→ Do not split the target block.

(Pattern 1) Activity flag 0 is 0, activity flag 1 is 0,
If activity flag 2 is 1 and activity flag 3 is 1,
Or
Activity flag 0 is 1, activity flag 1 is 0,
If activity flag 2 is 1 and activity flag 3 is 1,
Or
Activity flag 0 is 0, activity flag 1 is 1,
If activity flag 2 is 1 and activity flag 3 is 1,
→ Divide the target block into two blocks consisting of vertical M pixels x horizontal M / 2 pixels

(Pattern 2) Activity flag 0 is 1, activity flag 1 is 1,
If activity flag 2 is 0 and activity flag 3 is 0,
Or
Activity flag 0 is 1, activity flag 1 is 1,
If activity flag 2 is 0 and activity flag 3 is 1,
Or
Activity flag 0 is 1, activity flag 1 is 1,
If activity flag 2 is 1 and activity flag 3 is 0,
→ Divide the target block into two blocks consisting of vertical M / 2 pixels x horizontal M pixels

(Pattern 3) For patterns other than 0, 1, and 2,
→ Divide the target block into 4 blocks consisting of vertical M / 2 pixels x horizontal M / 2 pixels

この分類にあてはめると、図4(a)に示した第一ブロックB1は、アクティビティフラグ0が1、アクティビティフラグ1が1、アクティビティフラグ2が1、アクティビティフラグ3が1であるため、パターン3に該当する。したがって、第一ブロックB1は、図4(d)に示すように、縦8画素×横8画素から構成される4つの第二ブロックB20,B21,B22,B23に分割される。   When this classification is applied, the first block B1 shown in FIG. 4A has an activity flag 0 of 1, an activity flag 1 of 1, an activity flag 2 of 1, and an activity flag 3 of 1. Applicable. Therefore, as shown in FIG. 4D, the first block B1 is divided into four second blocks B20, B21, B22, and B23 each consisting of 8 vertical pixels × 8 horizontal pixels.

次に、これらの第二ブロックに対して、それぞれ、第一ブロックB1と同様にアクティビティの算出を行う。なお、第一ブロックB1分割後の左上の第二ブロックを第二ブロックB20、右上の第二ブロックを第二ブロックB21、左下の第二ブロックを第二ブロックB22、右下の第二ブロックを第二ブロックB23としている。   Next, the activity is calculated for each of these second blocks in the same manner as the first block B1. The second block B20 is the second block on the upper left after the division of the first block B1, the second block B21 is the second block on the upper right, the second block B22 is the second block on the lower left, and the second block on the lower right is the second block B21. Two blocks B23 are provided.

まず、図5(a)、図5(b)に示すように、第二ブロックB20に対して、4つのアクティビティ検出ブロックA0,A1,A2,A3を設定する。図5(a)は、第二ブロックB20に対してアクティビティ検出ブロックA0およびアクティビティ検出ブロックA1を設定した状態を示す。図5(b)は、第二ブロックB20に対してアクティビティ検出ブロックA2およびアクティビティ検出ブロックA3を設定した状態を示す。アクティビティ検出ブロックA0およびアクティビティ検出ブロックA1は、縦8画素×横4画素から構成されるブロックであり、アクティビティ検出ブロックA2およびアクティビティ検出ブロックA3は、縦4画素×横8画素から構成されるブロックである。   First, as shown in FIGS. 5A and 5B, four activity detection blocks A0, A1, A2, and A3 are set for the second block B20. FIG. 5A shows a state in which the activity detection block A0 and the activity detection block A1 are set for the second block B20. FIG. 5B shows a state where the activity detection block A2 and the activity detection block A3 are set for the second block B20. The activity detection block A0 and the activity detection block A1 are blocks composed of 8 vertical pixels × 4 horizontal pixels, and the activity detection block A2 and the activity detection block A3 are blocks composed of 4 vertical pixels × 8 horizontal pixels. is there.

次に、各アクティビティ検出ブロックA0,A1,A2,A3についてブロック内のアクティビティを算出し、アクティビティの値に応じてアクティビティフラグを設定する。なお、アクティビティフラグの設定基準は、マクロブロック分割の際の基準と同じである。他の第2ブロックB21,B22,B23に対するアクティビティフラグ設定も同様に行う。まず、図5(a)に示す場合においては、第二ブロックB20に対するアクティビティ検出ブロックA0は、背景のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA0のアクティビティフラグ0は0に設定される。アクティビティ検出ブロックA1も、背景のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA1のアクティビティフラグ1は0に設定される。   Next, the activity in the block is calculated for each activity detection block A0, A1, A2, A3, and an activity flag is set according to the value of the activity. Note that the activity flag setting criteria are the same as the criteria for macroblock division. The activity flag is similarly set for the other second blocks B21, B22, and B23. First, in the case shown in FIG. 5A, since the activity detection block A0 for the second block B20 includes only the background, the dynamic range is smaller than the threshold value. Therefore, the activity flag 0 of the activity detection block A0 is set to 0. Since the activity detection block A1 also includes only the background, the dynamic range is smaller than the threshold value. Therefore, the activity flag 1 of the activity detection block A1 is set to 0.

図5(b)に示す場合においては、第二ブロックB20に対するアクティビティ検出ブロックA2は、背景のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA2のアクティビティフラグ2は0に設定される。アクティビティ検出ブロックA3も、背景のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA3のアクティビティフラグ3は0に設定される。   In the case shown in FIG. 5B, since the activity detection block A2 for the second block B20 includes only the background, the dynamic range is smaller than the threshold value. Therefore, the activity flag 2 of the activity detection block A2 is set to 0. Since the activity detection block A3 also includes only the background, the dynamic range is smaller than the threshold value. Therefore, the activity flag 3 of the activity detection block A3 is set to 0.

上記手順により得られた4つのアクティビティフラグに基づいて、第二ブロックB20の分割態様を決定する。なお、ブロック分割態様の決定基準は、前述のマクロブロックにおける場合と同様である。他の第2ブロックB21,B2,B23の分割態様の決定においても同様とする。ここで、第二ブロックB20は、アクティビティフラグ0が0、アクティビティフラグ1が0、アクティビティフラグ2が0、アクティビティフラグ3が0であるため、パターン0に該当する。したがって、第二ブロックB20は、図5(c)に示すように、分割されることなく、縦8画素×横8画素から構成されるブロックで維持される。   Based on the four activity flags obtained by the above procedure, the division mode of the second block B20 is determined. Note that the criteria for determining the block division mode are the same as those in the above-described macroblock. The same applies to the determination of the division mode of the other second blocks B21, B2, B23. Here, the second block B20 corresponds to the pattern 0 because the activity flag 0 is 0, the activity flag 1 is 0, the activity flag 2 is 0, and the activity flag 3 is 0. Therefore, as shown in FIG. 5C, the second block B20 is maintained as a block composed of 8 vertical pixels × 8 horizontal pixels without being divided.

次に、図6(a)、図6(b)に示すように、第二ブロックB21に対して、第二ブロックB20と同様に、4つのアクティビティ検出ブロックA0,A1,A2,A3を設定する。図6(a)は、第二ブロックB21に対してアクティビティ検出ブロックA0およびアクティビティ検出ブロックA1を設定した状態を示す。図6(b)は、第二ブロックB21に対してアクティビティ検出ブロックA2およびアクティビティ検出ブロックA3を設定した状態を示す。アクティビティ検出ブロックA0およびアクティビティ検出ブロックA1は、縦8画素×横4画素から構成されるブロックであり、アクティビティ検出ブロックA2およびアクティビティ検出ブロックA3は、縦4画素×横8画素から構成されるブロックである。   Next, as shown in FIGS. 6A and 6B, four activity detection blocks A0, A1, A2, and A3 are set for the second block B21 as in the second block B20. . FIG. 6A shows a state in which the activity detection block A0 and the activity detection block A1 are set for the second block B21. FIG. 6B shows a state in which the activity detection block A2 and the activity detection block A3 are set for the second block B21. The activity detection block A0 and the activity detection block A1 are blocks composed of 8 vertical pixels × 4 horizontal pixels, and the activity detection block A2 and the activity detection block A3 are blocks composed of 4 vertical pixels × 8 horizontal pixels. is there.

次に、各アクティビティ検出ブロックA0,A1,A2,A3についてブロック内のアクティビティを算出し、アクティビティの値に応じてアクティビティフラグを設定する。図6(a)に示す場合においては、第二ブロックB21に対するアクティビティ検出ブロックA0は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA0のアクティビティフラグ0は1に設定される。アクティビティ検出ブロックA1は、オブジェクト(木)のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA1のアクティビティフラグ1は0に設定される。   Next, the activity in the block is calculated for each activity detection block A0, A1, A2, A3, and an activity flag is set according to the value of the activity. In the case shown in FIG. 6A, the activity detection block A0 for the second block B21 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 0 of the activity detection block A0 is set to 1. Since the activity detection block A1 includes only the object (tree), the dynamic range is smaller than the threshold value. Therefore, the activity flag 1 of the activity detection block A1 is set to 0.

図6(b)に示す場合においては、第二ブロックB21についてのアクティビティ検出ブロックA2は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA2のアクティビティフラグ2は1に設定される。アクティビティ検出ブロックA3においても、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA3のアクティビティフラグ3は1に設定される。   In the case shown in FIG. 6B, the activity detection block A2 for the second block B21 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 2 of the activity detection block A2 is set to 1. The activity detection block A3 also includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 3 of the activity detection block A3 is set to 1.

上記手順により得られた4つのアクティビティフラグに基づいて、第二ブロックB21の分割を決定する。第二ブロックB21は、アクティビティフラグ0が1、アクティビティフラグ1が0、アクティビティフラグ2が1、アクティビティフラグ3が1であるため、パターン1に該当する。したがって、第二ブロックB21は図6(c)に示すように、縦8画素×横4画素から構成される2つのブロックに分割される。   Based on the four activity flags obtained by the above procedure, the division of the second block B21 is determined. The second block B21 corresponds to the pattern 1 because the activity flag 0 is 1, the activity flag 1 is 0, the activity flag 2 is 1, and the activity flag 3 is 1. Therefore, as shown in FIG. 6C, the second block B21 is divided into two blocks each composed of 8 vertical pixels × 4 horizontal pixels.

次に、図7(a)、図7(b)に示すように、第二ブロックB22に対して、第二ブロックB21と同様に、4つのアクティビティ検出ブロックA0,A1,A2,A3を設定する。図7(a)は、第二ブロックB22に対してアクティビティ検出ブロックA0およびアクティビティ検出ブロックA1を設定した状態を示す。図7(b)は、第二ブロックB22に対してアクティビティ検出ブロックA2、およびアクティビティ検出ブロックA3を設定した状態を示す。アクティビティ検出ブロックA0およびアクティビティ検出ブロックA1は、縦8画素×横4画素から構成されるブロックであり、アクティビティ検出ブロックA2およびアクティビティ検出ブロックA3は、縦4画素×横8画素から構成されるブロックである。   Next, as shown in FIGS. 7A and 7B, four activity detection blocks A0, A1, A2, and A3 are set for the second block B22 in the same manner as the second block B21. . FIG. 7A shows a state in which the activity detection block A0 and the activity detection block A1 are set for the second block B22. FIG. 7B shows a state in which the activity detection block A2 and the activity detection block A3 are set for the second block B22. The activity detection block A0 and the activity detection block A1 are blocks composed of 8 vertical pixels × 4 horizontal pixels, and the activity detection block A2 and the activity detection block A3 are blocks composed of 4 vertical pixels × 8 horizontal pixels. is there.

図7(a)に示す場合においては、第二ブロックB22についてのアクティビティ検出ブロックA0は、背景のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA0のアクティビティフラグ0は0に設定される。アクティビティ検出ブロックA1は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA1のアクティビティフラグ1は1に設定される。   In the case shown in FIG. 7A, since the activity detection block A0 for the second block B22 includes only the background, the dynamic range is smaller than the threshold value. Therefore, the activity flag 0 of the activity detection block A0 is set to 0. The activity detection block A1 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 1 of the activity detection block A1 is set to 1.

図7(b)に示す場合においては、第二ブロックB22についてのアクティビティ検出ブロックA2は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA2のアクティビティフラグ2は1に設定される。アクティビティ検出ブロックA3も、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA3のアクティビティフラグ3は1に設定される。   In the case shown in FIG. 7B, the activity detection block A2 for the second block B22 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 2 of the activity detection block A2 is set to 1. The activity detection block A3 also includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 3 of the activity detection block A3 is set to 1.

上記手順により得られた4つのアクティビティフラグに基づいて、第二ブロックB22の分割を決定する。第二ブロックB22は、アクティビティフラグ0が0、アクティビティフラグ1が1、アクティビティフラグ2が1、アクティビティフラグ3が1であるため、パターン1に該当する。したがって、第二ブロックB22は、図7(c)に示すように、縦8画素×横4画素から構成される2つのブロックに分割される。   Based on the four activity flags obtained by the above procedure, the division of the second block B22 is determined. The second block B22 corresponds to the pattern 1 because the activity flag 0 is 0, the activity flag 1 is 1, the activity flag 2 is 1, and the activity flag 3 is 1. Therefore, as shown in FIG. 7C, the second block B22 is divided into two blocks each composed of 8 vertical pixels × 4 horizontal pixels.

次に、図8(a)、図8(b)に示すように、第二ブロックB23に対して、第二ブロックB21と同様に、4つのアクティビティ検出ブロックA0,A1,A2,A3を設定する。図8(a)は、第二ブロックB23に対してアクティビティ検出ブロックA0およびアクティビティ検出ブロックA1を設定した状態を示す。図8(b)は、第二ブロックB23に対してアクティビティ検出ブロックA2およびアクティビティ検出ブロックA3を設定した状態を示す。アクティビティ検出ブロックA0およびアクティビティ検出ブロックA1は、縦8画素×横4画素から構成されるブロックであり、アクティビティ検出ブロックA2およびアクティビティ検出ブロックA3は、縦4画素×横8画素から構成されるブロックである。   Next, as shown in FIGS. 8A and 8B, four activity detection blocks A0, A1, A2, and A3 are set for the second block B23 in the same manner as the second block B21. . FIG. 8A shows a state in which the activity detection block A0 and the activity detection block A1 are set for the second block B23. FIG. 8B shows a state where the activity detection block A2 and the activity detection block A3 are set for the second block B23. The activity detection block A0 and the activity detection block A1 are blocks composed of 8 vertical pixels × 4 horizontal pixels, and the activity detection block A2 and the activity detection block A3 are blocks composed of 4 vertical pixels × 8 horizontal pixels. is there.

図8(a)に示す場合においては、第二ブロックB23についてのアクティビティ検出ブロックA0は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA0のアクティビティフラグ0は1に設定される。アクティビティ検出ブロックA1は、オブジェクト(木)のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA1のアクティビティフラグ1は0に設定される。   In the case shown in FIG. 8A, the activity detection block A0 for the second block B23 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 0 of the activity detection block A0 is set to 1. Since the activity detection block A1 includes only the object (tree), the dynamic range is smaller than the threshold value. Therefore, the activity flag 1 of the activity detection block A1 is set to 0.

図8(b)に示す場合においては、第二ブロックB23についてのアクティビティ検出ブロックA2は、オブジェクト(木)と背景との境界を含んでおり、ダイナミックレンジが閾値より大きい。そのため、アクティビティ検出ブロックA2のアクティビティフラグ2は1に設定される。アクティビティ検出ブロックA3は、オブジェクト(木)のみしか含んでいないので、ダイナミックレンジが閾値より小さい。そのため、アクティビティ検出ブロックA3のアクティビティフラグ3は0に設定される。   In the case shown in FIG. 8B, the activity detection block A2 for the second block B23 includes the boundary between the object (tree) and the background, and the dynamic range is larger than the threshold value. Therefore, the activity flag 2 of the activity detection block A2 is set to 1. Since the activity detection block A3 includes only the object (tree), the dynamic range is smaller than the threshold value. Therefore, the activity flag 3 of the activity detection block A3 is set to 0.

上記手順により得られた4つのアクティビティフラグに基づいて、第二ブロックB23の分割を決定する。第二ブロックB23は、アクティビティフラグ0が1、アクティビティフラグ1が0、アクティビティフラグ2が1、アクティビティフラグ3が0であるため、パターン3に該当する。したがって、第二ブロックB23は、図8(c)に示すように、縦4画素×横4画素から構成される4つのブロックに分割される。   Based on the four activity flags obtained by the above procedure, the division of the second block B23 is determined. The second block B23 corresponds to the pattern 3 because the activity flag 0 is 1, the activity flag 1 is 0, the activity flag 2 is 1, and the activity flag 3 is 0. Therefore, as shown in FIG. 8C, the second block B23 is divided into four blocks each composed of 4 vertical pixels × 4 horizontal pixels.

この図8(c)は、対象マクロブロックに対するブロック分割の最終態様を示しており、動きベクトル検出部106は、分割ブロック毎に動きベクトル検出を行う。   FIG. 8C shows the final mode of block division for the target macroblock, and the motion vector detection unit 106 performs motion vector detection for each divided block.

本実施形態では、動きベクトルの検出を行うマクロブロックを以上のようにして決定する。以下、本実施形態の方法でマクロブロックの分割を決定することにより得られる効果について検討する。図9は、本実施の形態における動きベクトル検出のフローチャートであり、図10は、従来方式における動きベクトル検出のフローチャートである。図9に示す本実施の形態においては、前述のように、まずブロック分割を決定し、次に分割した各ブロックについてのみ動きベクトルの検出を行い、最後にこれらの動きベクトル及び分割態様に基づいて対象マクロブロックについて最適な動きベクトルを決定する。一方、図10に示す従来方式では、対象マクロブロックに対し、分割した各ブロック(16×16(1ブロック)、16×8(2ブロック)、8×16(2ブロック)、8×8(4ブロック)、8×4(8ブロック)、4×8(8ブロック)、4×4(16ブロック))について動きベクトル検出の演算を行い、対象マクロブロックについて最適な動きベクトルを決定する。   In the present embodiment, a macroblock for detecting a motion vector is determined as described above. Hereinafter, the effect obtained by determining the division of the macroblock by the method of the present embodiment will be examined. FIG. 9 is a flowchart of motion vector detection in the present embodiment, and FIG. 10 is a flowchart of motion vector detection in the conventional method. In the present embodiment shown in FIG. 9, as described above, block division is first determined, then motion vectors are detected only for each divided block, and finally based on these motion vectors and division modes. An optimal motion vector is determined for the target macroblock. On the other hand, in the conventional method shown in FIG. 10, each divided block (16 × 16 (1 block), 16 × 8 (2 blocks), 8 × 16 (2 blocks), 8 × 8 (4 blocks) is divided into the target macroblock. Block), 8 × 4 (8 blocks), 4 × 8 (8 blocks), 4 × 4 (16 blocks)), and an optimal motion vector is determined for the target macroblock.

図11は、このような従来方式および本実施の形態(図4〜図8で説明した例)における1つのマクロブロック(16×16)に対して行われる動きベクトル演算回数を示す。なお、1つのブロックに対して最適な1つの動きベクトルを求めることを演算1回としている。従来方式では、対象マクロブロックを構成するあらゆるタイプのサブブロックに対して総当りで演算するので、16×16ブロックに対し1回、16×8ブロックに対し2回、8×16ブロックに対し2回、8×8ブロックに対し4回、8×8ブロックに対し4回、8×4ブロックに対し8回、4×8ブロックに対し8回、4×4ブロックに対し16回の動きベクトル演算がそれぞれ必要となる。これに対し、本実施の形態(図4〜図8の例)で必要な動きベクトル演算回数は、8×8ブロックに対し1回、8×4ブロックに対し4回、4×4ブロックに対し4回である。   FIG. 11 shows the number of motion vector operations performed for one macroblock (16 × 16) in the conventional method and the present embodiment (examples described in FIGS. 4 to 8). Note that obtaining one optimal motion vector for one block is one calculation. In the conventional method, all types of sub-blocks constituting the target macroblock are calculated as brute force, so once for 16 × 16 blocks, twice for 16 × 8 blocks, and 2 for 8 × 16 blocks. 4 times for 8 × 8 blocks, 4 times for 8 × 8 blocks, 8 times for 8 × 4 blocks, 8 times for 4 × 8 blocks, 16 times for 4 × 4 blocks Are required. On the other hand, the number of motion vector calculations required in the present embodiment (examples of FIGS. 4 to 8) is 1 for 8 × 8 blocks, 4 for 8 × 4 blocks, and 4 × 4 blocks. 4 times.

演算量の差を明確にするため、16×16ブロック以外のブロックについて16×16ブロックでの演算回数に換算すると、従来方式では7回、本実施の形態では1回となる。つまり、本実施の形態では、従来方式と比較して、演算量を1/7に削減することができる。   In order to clarify the difference in the amount of calculation, when the number of operations in the 16 × 16 block is converted into the number of operations in the 16 × 16 block for the blocks other than the 16 × 16 block, it is 7 times in the conventional method and once in the present embodiment. That is, in this embodiment, the amount of calculation can be reduced to 1/7 as compared with the conventional method.

3.まとめ
本実施形態によれば、動きベクトル検出を行う前に、M×N画素からなる対象ブロックをサブブロックへ分割する態様を決定し、この決定された分割態様にしたがって、対象となるサブブロックの動きベクトルを検出する。したがって、動きベクトル検出を行うべきサブブロック数が減少し、動きベクトル検出に関する演算量を大幅に削減することができる。なお、本実施形態においては、M=Nの場合で説明したが、MとNが異なる場合にも適用可能である。その場合、MとNのどちらが大きくてもよい。
3. Summary According to the present embodiment, before performing motion vector detection, a mode for dividing a target block composed of M × N pixels into sub-blocks is determined, and according to the determined division mode, a target sub-block is determined. Detect motion vectors. Therefore, the number of sub-blocks to be subjected to motion vector detection is reduced, and the amount of calculation related to motion vector detection can be greatly reduced. In the present embodiment, the case where M = N has been described, but the present invention can also be applied when M and N are different. In that case, either M or N may be larger.

加えて、ブロック分割の態様を決定する際、対象ブロックに複数個のアクティビティ検出ブロックを設定し、設定した各アクティビティ検出ブロックのアクティビティを検出し、検出した各アクティビティに基づいてブロック分割態様を決定する。したがって、対象ブロックの特徴に応じたブロック分割が可能となり、ブロック分割の精度を向上させることができる。   In addition, when determining the mode of block division, a plurality of activity detection blocks are set in the target block, the activity of each set activity detection block is detected, and the block division mode is determined based on each detected activity. . Therefore, block division according to the feature of the target block is possible, and the accuracy of block division can be improved.

なお、対象ブロックの分割態様の決定に要する演算量は、従来方式における動きベクトル検出に要する演算量と、本実施の形態における動きベクトル検出に要する演算量との差分よりも遥かに少なく、無視し得る量である。   Note that the amount of computation required to determine the division mode of the target block is much smaller than the difference between the amount of computation required for motion vector detection in the conventional method and the amount of computation required for motion vector detection in this embodiment, and is ignored. The amount to get.

また、本実施の形態のさらなる効果として、動きベクトルの算出精度を高めることができる。すなわち、動きベクトルの算出においては、前述しように、対象ブロックに対し、参照画像の一定の範囲内における任意ブロックとの間でブロックマッチングし、ブロック間の評価値を求め、その評価値が最小となったときにおける参照ブロックの対象ブロックに対する空間シフト量(水平、垂直)を最適な動きベクトルとする。しかし、従来方式では、前述のように、分割したブロックの全てについてマッチングを行うので、例えば、類似するブロックにミスマッチングする場合もあり、この場合、正しい動きベクトルが検出されなくなる。これに対し、本実施の形態では、アクティビティという概念を導入して、画像の特徴に応じたブロック分割を行うので、ミスマッチングが防止される。そのため、従来方式よりも、物体の動きに追従した正しい動きベクトルを算出することができる。   In addition, as a further effect of the present embodiment, motion vector calculation accuracy can be increased. That is, in the calculation of the motion vector, as described above, the target block is subjected to block matching with an arbitrary block within a certain range of the reference image to obtain an evaluation value between the blocks, and the evaluation value is the minimum. The amount of spatial shift (horizontal and vertical) of the reference block with respect to the target block at this time is set as the optimum motion vector. However, in the conventional method, as described above, matching is performed for all of the divided blocks. For example, there is a case where similar blocks are mismatched. In this case, a correct motion vector is not detected. On the other hand, in this embodiment, the concept of activity is introduced, and block division is performed according to the feature of the image, so that mismatching is prevented. Therefore, a correct motion vector that follows the motion of the object can be calculated as compared with the conventional method.

また、本実施の形態では、前記アクティビティは、ダイナミックレンジである。ここで、ダイナミックレンジは、輝度レベルの差として容易に求めることができるので、演算量を大きく増加させることがない。   In the present embodiment, the activity is a dynamic range. Here, since the dynamic range can be easily obtained as a difference in luminance level, the calculation amount is not greatly increased.

(その他の実施の形態)
本実施形態では、アクティビティとして輝度レベルのダイナミックレンジを用いているが、ダイナミックレンジ以外にも、輝度レベルの分散などを用いることができる。
(Other embodiments)
In this embodiment, the dynamic level of the luminance level is used as the activity. However, in addition to the dynamic range, distribution of the luminance level can be used.

また、本実施形態では、動きベクトル検出装置を、専用のハードウェアとして構成したが、コンピュータに前記各機能を実行させる動きベクトル検出プログラムとして提供することも可能である。   In the present embodiment, the motion vector detection device is configured as dedicated hardware. However, the motion vector detection device may be provided as a motion vector detection program that causes a computer to execute the functions.

本発明は、動画像符号化技術、特にH.264の動きベクトル検出において、動きベクトル検出に関する演算量を大幅に削減できる。そのため、ノンリニア編集機で動作するソフトエンコーダなどに有用である。また、モバイルAV機器など演算量を削減し消費電力を抑えなければならない機器の動画像符号化の動きベクトル検出装置としても利用できる。   The present invention relates to a moving image coding technique, particularly H.264. In H.264 motion vector detection, the amount of computation related to motion vector detection can be greatly reduced. Therefore, it is useful for a soft encoder that operates on a non-linear editing machine. Further, the present invention can also be used as a motion vector detection apparatus for moving picture coding of a device such as a mobile AV device that needs to reduce the amount of calculation and reduce power consumption.

100 入力部
101 減算部
102 変換部
103 量子化部
104 エントロピー符号化部
105 出力部
106 動きベクトル検出部
107 ブロック分割決定部
110 ローカルデコーダ
111 逆量子化部
112 逆変換部
113 加算部
114 バッファ
115 動き補償部
120 入力画像
121 動き補償画像
230 入力画像の全体図
231 ブロック内にエッジを含むマクロブロック
232 ブロック内にエッジを含まない平坦なマクロブロック
DESCRIPTION OF SYMBOLS 100 Input part 101 Subtraction part 102 Conversion part 103 Quantization part 104 Entropy encoding part 105 Output part 106 Motion vector detection part 107 Block division determination part 110 Local decoder 111 Inverse quantization part 112 Inverse conversion part 113 Adder part 114 Buffer 115 Motion Compensator 120 Input image 121 Motion compensated image 230 Overall view of input image 231 Macroblock including edge in block 232 Flat macroblock not including edge in block

Claims (4)

動きベクトル検出装置であって、
M×N画素からなる対象ブロックをサブブロックへ分割するブロック分割決定部と、
ブロック分割決定部で分割された各サブブロックの動きベクトルを検出する動きベクトル検出部とを含み、
前記ブロック分割決定部は、
前記対象ブロックに複数個のアクティビティ検出ブロックを設定し、
設定した各アクティビティ検出ブロックのアクティビティを検出し、
検出した各アクティビティに基づいて前記対象ブロックをサブブロックに分割する態様を決定する、
ことを特徴とする動きベクトル検出装置。
A motion vector detection device,
A block division determination unit that divides a target block of M × N pixels into sub-blocks;
A motion vector detection unit that detects a motion vector of each sub-block divided by the block division determination unit,
The block division determination unit
A plurality of activity detection blocks are set in the target block,
Detect the activity of each configured activity detection block,
Determining a mode of dividing the target block into sub-blocks based on each detected activity;
A motion vector detection apparatus characterized by the above.
前記ブロック分割決定部は、前記対象ブロックを上下に2分割することによりM×(N/2)画素からなる2個のアクティビティ検出ブロックと、前記対象ブロックを左右に2分割することにより(M/2)×N画素からなる2個のアクティビティ検出ブロックとを設定することを特徴とする請求項1に記載の動きベクトル検出装置。   The block division determination unit divides the target block into two parts up and down to divide the target block into two activity detection blocks composed of M × (N / 2) pixels and the target block into two parts left and right (M / 2. The motion vector detection device according to claim 1, wherein two activity detection blocks each including 2) × N pixels are set. 前記アクティビティは、ダイナミックレンジであることを特徴とする請求項1、2のいずれかに記載の画像符号化装置。   The image coding apparatus according to claim 1, wherein the activity is a dynamic range. 動きベクトル検出プログラムであって、
コンピュータを、
M×N画素からなる対象ブロックをサブブロックへ分割するブロック分割決定手段と、
ブロック分割決定部で分割された各サブブロックの動きベクトルを検出する動きベクトル検出手段として機能させ、
前記ブロック分割決定手段は、
前記対象ブロックに複数個のアクティビティ検出ブロックを設定し、
設定した各アクティビティ検出ブロックのアクティビティを検出し、
検出した各アクティビティに基づいて前記対象ブロックをサブブロックに分割する態様を決定する、
ことを特徴とする動きベクトル検出プログラム。
A motion vector detection program,
Computer
Block division determining means for dividing the target block of M × N pixels into sub-blocks;
Function as a motion vector detection means for detecting a motion vector of each sub-block divided by the block division determination unit,
The block division determining means is
A plurality of activity detection blocks are set in the target block,
Detect the activity of each configured activity detection block,
Determining a mode of dividing the target block into sub-blocks based on each detected activity;
A motion vector detection program characterized by that.
JP2009126412A 2009-05-26 2009-05-26 Motion vector detector Pending JP2010278519A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009126412A JP2010278519A (en) 2009-05-26 2009-05-26 Motion vector detector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009126412A JP2010278519A (en) 2009-05-26 2009-05-26 Motion vector detector

Publications (1)

Publication Number Publication Date
JP2010278519A true JP2010278519A (en) 2010-12-09

Family

ID=43425112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009126412A Pending JP2010278519A (en) 2009-05-26 2009-05-26 Motion vector detector

Country Status (1)

Country Link
JP (1) JP2010278519A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178669A (en) * 2011-02-25 2012-09-13 Mitsubishi Electric Corp Moving image encoding apparatus, moving image encoding method, and moving image encoding program
CN107094254A (en) * 2011-06-24 2017-08-25 杜比国际公司 Method, coding and decoding equipment and the computer program of image coding and decoding
JP2019087985A (en) * 2017-11-01 2019-06-06 日本放送協会 Image coding apparatus and image coding program
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178669A (en) * 2011-02-25 2012-09-13 Mitsubishi Electric Corp Moving image encoding apparatus, moving image encoding method, and moving image encoding program
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US11736723B2 (en) 2011-03-07 2023-08-22 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
CN107094254A (en) * 2011-06-24 2017-08-25 杜比国际公司 Method, coding and decoding equipment and the computer program of image coding and decoding
CN107094254B (en) * 2011-06-24 2019-12-13 杜比国际公司 Image encoding and decoding method, encoding and decoding device, and computer program
JP2019087985A (en) * 2017-11-01 2019-06-06 日本放送協会 Image coding apparatus and image coding program
JP7033946B2 (en) 2017-11-01 2022-03-11 日本放送協会 Image coding device and image coding program

Similar Documents

Publication Publication Date Title
JP4047879B2 (en) Motion vector detection apparatus and motion vector detection method
KR101247042B1 (en) Prediction of transform coefficients for image compression
JP4102841B2 (en) Computer-implemented method for processing video images
WO2014054267A1 (en) Image coding device and image coding method
US20170223378A1 (en) Intra-frame pixel prediction method, encoding method and decoding method, and device thereof
JP2006246431A (en) Image coding apparatus and method
JP2015008510A (en) Dynamic selection of motion prediction search range and range of extension motion vector
JP2008219870A (en) Moving picture coding method and moving picture encoder
JP2005191706A (en) Moving picture coding method and apparatus adopting the same
KR20130020697A (en) Dynamic image encoding device and dynamic image decoding device
JP2004007649A (en) Parameterization for fading compensation
JP2007251453A (en) Moving image encoding device and program
JP2009290498A (en) Image encoder and image encoding method
JP5613319B2 (en) Video encoding apparatus, video encoding method, and video encoding program
JP2007110568A (en) Image coding device
JP2010278519A (en) Motion vector detector
WO2009125475A1 (en) Video encoding method, video encoding equipment, video encoding program and its recording medium
JP5178616B2 (en) Scene change detection device and video recording device
JP2008306413A (en) Image encoder, and image encoding method
JP4373423B2 (en) Video encoding method, video encoding device, video encoding program, and recording medium therefor
JP2007151062A (en) Image encoding device, image decoding device and image processing system
JP2013121044A (en) Image encoder and image encoding method
JP5222878B2 (en) Intra prediction apparatus, encoder, decoder, and program
JP2006074520A (en) Motion vector detecting device
KR20040027047A (en) Encoding/decoding apparatus and method for image using predictive scanning