JP2011151775A - Image decoder, method of decoding image, and image decoding program - Google Patents

Image decoder, method of decoding image, and image decoding program Download PDF

Info

Publication number
JP2011151775A
JP2011151775A JP2010215830A JP2010215830A JP2011151775A JP 2011151775 A JP2011151775 A JP 2011151775A JP 2010215830 A JP2010215830 A JP 2010215830A JP 2010215830 A JP2010215830 A JP 2010215830A JP 2011151775 A JP2011151775 A JP 2011151775A
Authority
JP
Japan
Prior art keywords
prediction
motion vector
block
motion
image
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
JP2010215830A
Other languages
Japanese (ja)
Inventor
Hiroya Nakamura
博哉 中村
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.)
JVCKenwood Holdings Inc
Original Assignee
JVCKenwood Holdings Inc
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 JVCKenwood Holdings Inc filed Critical JVCKenwood Holdings Inc
Priority to JP2010215830A priority Critical patent/JP2011151775A/en
Priority to PCT/JP2010/006715 priority patent/WO2011077632A1/en
Publication of JP2011151775A publication Critical patent/JP2011151775A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To increase compression efficiency of a coding amount by an image coding system using motion compensation prediction based on translation and motion compensation prediction based on geometrical conversion in combination. <P>SOLUTION: A decoding unit 250 decodes prediction method information, a motion vector, and a prediction error signal included in coding stream. A change control unit 214 refers to the prediction method information decoded by the decoding unit 250, and designates use of one of a prediction method by a translational motion compensation prediction unit 204 and a prediction method by a geometrical conversion motion compensation prediction unit 205 for each target block inside a target image. The decoding unit 250 decodes the motion vector of a predictively coded target block by referring to the motion vector of an adjacent block regardless of the motion compensation prediction method of the adjacent block. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、動き補償予測が利用されて符号化された符号化ストリームを復号する画像復号装置、画像復号方法および画像復号プログラムに関する。   The present invention relates to an image decoding apparatus, an image decoding method, and an image decoding program for decoding an encoded stream encoded using motion compensation prediction.

動画像の圧縮符号化方式の代表的なものとして、MPEGシリーズの規格がある。MPEGシリーズの規格では、フレームを複数のブロックに分割し、他のフレームからの動きを予測する動き補償が用いられている。MPEG−4やAVC/H.264では、複数の動き補償ブロックサイズの中から、最適なものを切り替えて用いる仕組みが導入されている。   As a typical moving image compression coding method, there is a standard of the MPEG series. In the MPEG series standard, motion compensation that divides a frame into a plurality of blocks and predicts motion from other frames is used. MPEG-4 and AVC / H. In H.264, a mechanism for switching and using an optimum one from a plurality of motion compensation block sizes is introduced.

ブロック単位の動き補償予測では、対象ブロックと参照ブロックとの間の平行移動を補償する方式が一般的である。これに加えて、ブロックの変形(たとえば、拡大、縮小、回転)を補償する方式も検討されている。たとえば、特許文献1では、フレーム間の予測を用いた画像符号化方式として、平行移動によって予測画像を求めるモードと幾何学変換によって予測画像を求めるモードをブロックごとに適応的に切り替えて、予測効率の向上を図っている。この方式では、平行移動の動きベクトルと格子点の動きベクトル(すなわち、幾何学変換で用いる動きベクトル)を符号化するとしている。   In motion compensation prediction in units of blocks, a method of compensating for parallel movement between a target block and a reference block is common. In addition to this, a scheme for compensating for block deformation (for example, enlargement, reduction, rotation) has been studied. For example, in Patent Document 1, as an image encoding method using prediction between frames, a mode in which a predicted image is obtained by parallel movement and a mode in which a predicted image is obtained by geometric transformation are adaptively switched for each block, thereby predicting efficiency. We are trying to improve. In this method, a translation motion vector and a lattice point motion vector (that is, a motion vector used in geometric transformation) are encoded.

特開平8−68680号公報JP-A-8-68680

このような状況下、本発明者は、平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、動きベクトル情報を圧縮することにより、さらに全体の符号量を圧縮する手法を見出した。   Under such circumstances, the present inventor further reduced the overall code amount by compressing the motion vector information in an image coding method that uses both motion compensation prediction by parallel movement and motion compensation prediction by geometric transformation. I found a method to compress.

本発明はこうした状況に鑑みなされたものであり、その目的は、平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させる技術を提供することにある。   The present invention has been made in view of such a situation, and an object of the present invention is to improve the compression efficiency of a code amount in an image coding method using both motion compensation prediction by parallel movement and motion compensation prediction by geometric transformation. Is to provide.

本発明のある態様の画像復号装置は、平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号部と、対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測部と、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測部と、復号部により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、平行移動動き補償予測部による予測方法と、幾何学変換動き補償予測部による予測方法とのいずれを用いるか指定する制御部と、制御部により指定された予測方法により生成された予測信号、および復号部により復号された予測誤差信号から画像信号を生成する画像信号生成部と、を備える。対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、復号部は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号する。   An image decoding apparatus according to an aspect of the present invention includes a prediction method information, a motion vector, and a prediction error signal included in an encoded stream encoded by combining motion compensation prediction by parallel movement and motion compensated prediction by geometric transformation. A prediction signal is generated from a decoding unit that decodes the motion block, a motion block between the target block in the target image, and a reference block in the reference image that is translated with the target block, and the image signal of the reference block A prediction signal is obtained from the translation motion compensation prediction unit, the motion block between the target block in the target image, and the reference block in the reference image that is geometrically transformed with the target block, and the image signal of the reference block. For each target block in the target image with reference to the prediction method information decoded by the geometric transformation motion compensation prediction unit to be generated and the decoding unit A control unit that specifies which one of a prediction method by a translational motion compensation prediction unit and a prediction method by a geometric transformation motion compensation prediction unit is used, a prediction signal generated by a prediction method specified by the control unit, and decoding An image signal generation unit that generates an image signal from the prediction error signal decoded by the unit. The motion vector of the target block is predictively encoded with reference to the motion vector of the adjacent block regardless of whether the motion compensation prediction method of the adjacent block is translation motion compensation prediction or geometric conversion motion compensation prediction. The decoding unit decodes the motion vector of the target block subjected to predictive encoding with reference to the motion vector of the adjacent block regardless of the motion compensation prediction method of the adjacent block.

対象ブロックは、複数の代表画素が選定され、それぞれの代表画素の動きベクトルが予測符号化されて符号化ストリームに含まれており、幾何学変換動き補償予測部は、対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の復号された動きベクトルを用いた内挿および外挿の少なくともいずれか一方により算出してもよい。   A plurality of representative pixels are selected for the target block, and motion vectors of the representative pixels are predictively encoded and included in the encoded stream. The geometric transformation motion compensation prediction unit includes a plurality of representative pixels of the target block. The motion vectors of the other pixels may be calculated by at least one of interpolation and extrapolation using the decoded motion vectors of the plurality of representative pixels.

代表画素は、対象ブロックを小ブロックに分割した場合の小ブロックの略中心または略重心に相当する画素に選定されていてもよい。   The representative pixel may be selected as a pixel corresponding to the approximate center or the approximate center of gravity of the small block when the target block is divided into small blocks.

対象ブロックは、正方形の領域であり、幾何学変換動き補償予測部による動き補償予測を指定する予測方法情報には、対象ブロックが十字に四等分された四つの正方形の小ブロックの四つの代表画素ごとに動きベクトルが検出される第1モードと、対象ブロックが横に二等分された二つの縦長長方形の小ブロックの二つの代表画素ごとに動きベクトルが検出される第2モードと、対象ブロックが縦に二等分された二つの横長長方形の小ブロックの二つの代表画素ごとに動きベクトルが検出される第3モードのいずれかが指定されていてもよい。   The target block is a square area, and the prediction method information for designating motion compensated prediction by the geometric transformation motion compensated prediction unit includes four representatives of four square small blocks obtained by dividing the target block into four equal parts. A first mode in which a motion vector is detected for each pixel, a second mode in which a motion vector is detected for each of two representative pixels of two vertically long rectangular blocks obtained by dividing the target block into two equal parts, and a target Any of the third modes in which a motion vector is detected for each of two representative pixels of two horizontally-long rectangular small blocks obtained by dividing a block into two vertically may be specified.

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させることができる。   The compression efficiency of the code amount can be improved by an image coding method using both motion compensation prediction by parallel movement and motion compensation prediction by geometric transformation.

本発明の実施の形態1に係る画像符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image coding apparatus which concerns on Embodiment 1 of this invention. 図2(a)〜(h)は、マクロブロック・パーティションおよびサブマクロブロック・パーティションを説明するための図である。2A to 2H are diagrams for explaining a macroblock partition and a sub-macroblock partition. 図3(a)〜(c)は、幾何学変換の第1モード、第2モード、および第3モードの代表点を説明するための図である。FIGS. 3A to 3C are diagrams for explaining representative points of the first mode, the second mode, and the third mode of the geometric transformation. 図4(a)〜(d)は、動きベクトルの予測符号化を説明するための図である。4A to 4D are diagrams for explaining motion vector predictive encoding. 動きベクトル値のスケーリング処理の一例を説明するための図である。It is a figure for demonstrating an example of the scaling process of a motion vector value. 本発明の実施の形態1に係る画像符号化装置における、マクロブロックの符号化処理手順を示すフローチャートである。It is a flowchart which shows the encoding process procedure of a macroblock in the image coding apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態2に係る画像復号装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image decoding apparatus which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係る画像復号装置における、マクロブロックの復号処理手順を示すフローチャートである。It is a flowchart which shows the decoding process procedure of a macroblock in the image decoding apparatus which concerns on Embodiment 2 of this invention.

以下、図面と共に本発明の実施の形態を説明する。以下の実施の形態では、AVC/H.264符号化方式をベースとして符号化/復号する例を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following embodiments, AVC / H. An example of encoding / decoding based on the H.264 encoding method will be described.

図1は、本発明の実施の形態1に係る画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、画像バッファ101、平行移動動き補償予測部102、幾何学変換動き補償予測部103、予測方法決定部104、予測誤差信号生成部105および符号化部150を備える。符号化部150は、予測誤差信号符号化部106、第1符号化ビット列生成部107、第2符号化ビット列生成部108、第3符号化ビット列生成部109、予測誤差信号復号部110、復号画像信号生成部111、復号画像バッファ112および出力スイッチ113を含む。   FIG. 1 is a block diagram showing a configuration of image coding apparatus 100 according to Embodiment 1 of the present invention. The image encoding device 100 includes an image buffer 101, a translational motion compensation prediction unit 102, a geometric transformation motion compensation prediction unit 103, a prediction method determination unit 104, a prediction error signal generation unit 105, and an encoding unit 150. The encoding unit 150 includes a prediction error signal encoding unit 106, a first encoded bit sequence generation unit 107, a second encoded bit sequence generation unit 108, a third encoded bit sequence generation unit 109, a prediction error signal decoding unit 110, and a decoded image. A signal generation unit 111, a decoded image buffer 112, and an output switch 113 are included.

これらの構成は、ハードウェア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。   These configurations can be realized by an arbitrary processor, memory, or other LSI in terms of hardware, and can be realized by a program loaded in the memory in terms of software, but here by their cooperation. Draw functional blocks. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.

画像バッファ101は、撮影/表示時間順に供給された符号化対象の画像信号を一時格納する。画像バッファ101は、格納された符号化対象の画像信号を、所定の画素ブロック単位(ここでは、マクロブロック単位)で、平行移動動き補償予測部102、幾何学変換動き補償予測部103および予測誤差信号生成部105に並列に供給する。その際、撮影/表示時間順に供給された画像は、符号化順序に並び替えられて画像バッファ101から出力される。   The image buffer 101 temporarily stores image signals to be encoded supplied in the order of shooting / display time. The image buffer 101 converts the stored image signal to be encoded in predetermined pixel block units (here, macroblock units) into a translational motion compensation prediction unit 102, a geometric transformation motion compensation prediction unit 103, and a prediction error. The signal is supplied to the signal generator 105 in parallel. At this time, the images supplied in the order of shooting / display time are rearranged in the encoding order and output from the image buffer 101.

MPEGシリーズでは、マクロブロックとは16×16画素の輝度信号と、それに対応する2つの色差信号のブロックを指す。色差フォーマットのYUVが4:2:0の場合、色差信号は8×8画素のサイズである。   In the MPEG series, a macroblock refers to a luminance signal of 16 × 16 pixels and two corresponding color difference signal blocks. When YUV of the color difference format is 4: 2: 0, the color difference signal has a size of 8 × 8 pixels.

本実施の形態では、参照画像を用いずに画面内で符号化するイントラ符号化方式、参照画像を用いた平行移動による動き補償予測方式、および参照画像を用いた幾何学変換による動き補償予測方式を用いる。ここで、参照画像は局部復号された復号画像である。なお、本実施の形態ではイントラ符号化方式には注目しないため、図1ではその構成を省略して描いている。これらの符号化方式のモードを、マクロブロック単位で単独あるいは組み合わせて適応的に切り替える。なお、すべてのマクロブロックを、参照画像を用いた幾何学変換による動き補償予測方式を用いて符号化する方式も可能である。   In the present embodiment, an intra coding method that encodes within a screen without using a reference image, a motion compensation prediction method by translation using a reference image, and a motion compensation prediction method by geometric transformation using a reference image Is used. Here, the reference image is a decoded image obtained by local decoding. In the present embodiment, since attention is not paid to the intra coding method, the configuration is omitted in FIG. These coding system modes are adaptively switched individually or in combination in units of macroblocks. Note that a method of encoding all macroblocks using a motion compensated prediction method based on geometric transformation using a reference image is also possible.

平行移動動き補償予測部102は、対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の、動きベクトルおよび予測信号を生成する。本実施の形態では、平行移動動き補償予測部102は、AVC/H.264方式などに規定されている既存の動き補償予測と同様の、平行移動による動き補償予測を行う。   The translational motion compensation prediction unit 102 generates a motion vector and a prediction signal between the target block in the target image and the reference block in the reference image that is in a translational relationship with the target block. In the present embodiment, the translational motion compensation prediction unit 102 performs motion compensation prediction based on translation similar to the existing motion compensation prediction stipulated in the AVC / H.264 scheme or the like.

動き補償予測は、後述する復号画像バッファ112から供給される表示順序で、前方または後方の復号画像を参照画像とする。平行移動動き補償予測部102は、参照画像内の所定の検出範囲内で、画像バッファ101から供給されるマクロブロック信号と、復号画像バッファ112から供給される参照画像信号との間でブロックマッチングを行う。平行移動動き補償予測部102は、ブロックマッチングにより、当該マクロブロック信号と最も誤差が小さい、参照画像信号内の参照ブロック信号を特定し、当該マクロブロック信号と当該参照ブロック信号との間の動きベクトルを検出する。   In motion compensation prediction, a forward or backward decoded image is used as a reference image in the display order supplied from a decoded image buffer 112 described later. The translational motion compensation prediction unit 102 performs block matching between the macroblock signal supplied from the image buffer 101 and the reference image signal supplied from the decoded image buffer 112 within a predetermined detection range in the reference image. Do. The translational motion compensation prediction unit 102 specifies a reference block signal in the reference image signal having the smallest error from the macroblock signal by block matching, and a motion vector between the macroblock signal and the reference block signal Is detected.

このブロックマッチングを、規定された複数のモードで行う。複数のモードはそれぞれ、参照インデックス、動き補償ブロックのサイズ、L0/L1予測などが異なる。参照インデックスとは参照ピクチャを示すインデックスである。なお、L0/L1予測はBスライスでのみ選択可能である。ブロックサイズの具体例は後述する。   This block matching is performed in a plurality of prescribed modes. Each of the plurality of modes has a different reference index, motion compensation block size, L0 / L1 prediction, and the like. The reference index is an index indicating a reference picture. Note that L0 / L1 prediction can be selected only in the B slice. A specific example of the block size will be described later.

また、動き補償予測を行う際、1画素未満の画素精度で動き補償することができる。たとえば、AVC/H.264方式などでは、輝度信号は1画素の1/4の精度まで、色差信号は1画素の1/8の精度までの動き補償を行うことができる。1画素未満の画素精度で動き補償する場合、参照画像内の整数画素の信号を用いて、1画素未満の画素精度の信号を周囲の信号から補間により生成する。   In addition, when performing motion compensation prediction, motion compensation can be performed with a pixel accuracy of less than one pixel. For example, in the AVC / H.264 system or the like, motion compensation can be performed up to an accuracy of 1/4 of a luminance signal and 1/8 of an accuracy of a color difference signal. When motion compensation is performed with pixel accuracy of less than one pixel, a signal with pixel accuracy of less than one pixel is generated from the surrounding signals by interpolation using a signal of an integer pixel in the reference image.

平行移動動き補償予測部102は、それぞれのモードにて動き補償予測を行い、それぞれのモードにおける予測信号(より具体的には、動き補償予測ブロック信号)および動きベクトルを、予測方法決定部104に供給する。   The translational motion compensation prediction unit 102 performs motion compensation prediction in each mode, and sends a prediction signal (more specifically, a motion compensation prediction block signal) and a motion vector in each mode to the prediction method determination unit 104. Supply.

つぎに、AVC/H.264方式における動き補償ブロックサイズについて説明する。
図2は、マクロブロック・パーティションおよびサブマクロブロック・パーティションを説明するための図である。ここでは説明を簡略化するため、輝度信号の画素ブロックのみ描いている。AVC/H.264方式を含むMPEGシリーズでは、マクロブロックは正方形領域で規定される。一般的にAVC/H.264方式を含むMPEGシリーズでは、16×16画素(水平16画素、垂直16画素)で規定されるブロックをマクロブロックという。さらに、AVC/H.264方式では、8×8画素で規定されるブロックをサブマクロブロックという。マクロブロック・パーティションとは、マクロブロックを動き補償予測のために、さらに分割したそれぞれの小ブロックをいう。サブマクロブロック・パーティションとは、サブマクロブロックを動き補償予測のために、さらに分割したそれぞれの小ブロックをいう。
Next, AVC / H. The motion compensation block size in the H.264 system will be described.
FIG. 2 is a diagram for explaining a macroblock partition and a sub-macroblock partition. Here, in order to simplify the description, only the pixel block of the luminance signal is drawn. AVC / H. In the MPEG series including the H.264 system, the macroblock is defined by a square area. Generally, AVC / H. In the MPEG series including the H.264 system, a block defined by 16 × 16 pixels (16 horizontal pixels and 16 vertical pixels) is called a macro block. Furthermore, AVC / H. In the H.264 system, a block defined by 8 × 8 pixels is called a sub macroblock. The macroblock partition refers to each small block obtained by further dividing the macroblock for motion compensation prediction. The sub-macroblock partition refers to each small block obtained by further dividing the sub-macroblock for motion compensation prediction.

図2(a)は、マクロブロックが16×16画素の輝度信号とそれに対応する2つの色差信号から構成される1つのマクロブロック・パーティションで構成されていることを示す図である。ここでは、この構成を16×16モードのマクロブロック・タイプと呼ぶ。   FIG. 2A is a diagram showing that a macroblock is composed of one macroblock partition composed of a luminance signal of 16 × 16 pixels and two corresponding color difference signals. Here, this configuration is referred to as a 16 × 16 mode macroblock type.

図2(b)は、マクロブロックが16×8画素(水平16画素、垂直8画素)の輝度信号とそれに対応する2つの色差信号から構成される2つのマクロブロック・パーティションで構成されていることを示す図である。この2つのマクロブロック・パーティションは縦に並べられている。ここでは、この構成を16×8モードのマクロブロック・タイプと呼ぶ。   In FIG. 2B, the macroblock is composed of two macroblock partitions each composed of a luminance signal of 16 × 8 pixels (horizontal 16 pixels, vertical 8 pixels) and two corresponding color difference signals. FIG. The two macroblock partitions are arranged vertically. Here, this configuration is called a 16 × 8 mode macroblock type.

図2(c)は、マクロブロックが8×16画素(水平8画素、垂直16画素)の輝度信号とそれに対応する2つの色差信号から構成される2つのマクロブロック・パーティションで構成されていることを示す図である。この2つのマクロブロック・パーティションは横に並べられている。ここでは、この構成を8×16モードのマクロブロック・タイプと呼ぶ。   In FIG. 2 (c), the macroblock is composed of two macroblock partitions composed of a luminance signal of 8 × 16 pixels (horizontal 8 pixels, vertical 16 pixels) and two corresponding color difference signals. FIG. The two macroblock partitions are arranged side by side. Here, this configuration is referred to as an 8 × 16 mode macroblock type.

図2(d)は、マクロブロックが8×8画素の輝度信号とそれに対応する2つの色差信号から構成される4つのマクロブロック・パーティションで構成されていることを示す図である。この4つのマクロブロック・パーティションは縦横2つずつ並べられている。この構成を8×8モードのマクロブロック・タイプと呼ぶ。なお、この8×8画素の輝度信号とそれに対応する2つの色差信号からなるマクロブロック・パーティションをサブマクロブロックと呼ぶ。   FIG. 2D is a diagram showing that a macroblock is composed of four macroblock partitions each composed of a luminance signal of 8 × 8 pixels and two corresponding color difference signals. These four macroblock partitions are arranged vertically and horizontally. This configuration is referred to as an 8 × 8 mode macroblock type. Note that a macroblock partition including the luminance signal of 8 × 8 pixels and two corresponding color difference signals is referred to as a sub macroblock.

図2(e)は、サブマクロブロックが8×8画素の輝度信号とそれに対応する2つの色差信号から構成される1つのサブマクロブロック・パーティションで構成されていることを示す図である。ここでは、この構成を8×8モードのサブマクロブロック・タイプと呼ぶ。   FIG. 2 (e) is a diagram showing that the sub macroblock is composed of one submacroblock partition composed of a luminance signal of 8 × 8 pixels and two corresponding color difference signals. Here, this configuration is referred to as an 8 × 8 mode sub-macroblock type.

図2(f)は、サブマクロブロックが8×4画素(水平8画素、垂直4画素)の輝度信号とそれに対応する2つの色差信号から構成される2つのサブマクロブロック・パーティションで構成されていることを示す図である。この2つのサブマクロブロック・パーティションは縦に並べられている。この構成を8×4モードのサブマクロブロック・タイプと呼ぶ。   In FIG. 2F, the sub-macroblock is composed of two sub-macroblock partitions each composed of a luminance signal of 8 × 4 pixels (horizontal 8 pixels, vertical 4 pixels) and two corresponding color difference signals. FIG. These two sub-macroblock partitions are arranged vertically. This configuration is referred to as an 8 × 4 mode sub-macroblock type.

図2(g)は、サブマクロブロックが4×8画素(水平4画素、垂直8画素)の輝度信号とそれに対応する2つの色差信号から構成される2つのマクロブロック・パーティションで構成されていることを示す図である。この2つのマクロブロック・パーティションは横に並べられている。ここでは、この構成を4×8モードのサブマクロブロック・タイプと呼ぶ。   In FIG. 2G, the sub-macroblock is composed of two macroblock partitions each composed of a luminance signal of 4 × 8 pixels (horizontal 4 pixels, vertical 8 pixels) and two corresponding color difference signals. FIG. The two macroblock partitions are arranged side by side. Here, this configuration is called a 4 × 8 mode sub-macroblock type.

図2(h)は、サブマクロブロックが4×4画素の輝度信号とそれに対応する2つの色差信号から構成される4つのサブマクロブロック・パーティションで構成されていることを示す図である。この4つのサブマクロブロック・パーティションは縦横2つずつ並べられている。ここでは、この構成を4×4モードのサブマクロブロック・タイプと呼ぶ。   FIG. 2 (h) is a diagram showing that the sub-macroblock is composed of four sub-macroblock partitions composed of a luminance signal of 4 × 4 pixels and two corresponding color difference signals. These four sub-macroblock partitions are arranged two by two vertically and horizontally. Here, this configuration is called a 4 × 4 mode sub-macroblock type.

AVC/H.264符号化方式では、以上の動き補償ブロックサイズの中から、最適なものを切り替えて用いる仕組みが取り入れられている。まず、マクロブロック単位の動き補償ブロックサイズとして、16×16、16×8、8×16および8×8モードのマクロブロック・タイプの中からいずれかが選択される。8×8モードのマクロブロック・タイプが選択された場合、サブマクロブロック単位の動き補償ブロックサイズとして、8×8、8×4、4×8、4×4モードのサブマクロブロック・タイプの中からいずれかが選択される。   AVC / H. In the H.264 encoding method, a mechanism for switching and using an optimum one from the above motion compensation block sizes is adopted. First, one of macroblock types of 16 × 16, 16 × 8, 8 × 16, and 8 × 8 modes is selected as the motion compensation block size for each macroblock. When the 8 × 8 mode macroblock type is selected, the motion compensation block size in units of submacroblocks is among the 8 × 8, 8 × 4, 4 × 8, and 4 × 4 mode sub macroblock types. Is selected.

輝度信号は、選択されたサイズの画素数で動き補償される。色差信号は、色差フォーマットが4:2:0の場合、水平、垂直ともにその半分の画素数で動き補償される。このように、動き補償ブロックサイズの情報は、マクロブロック・タイプおよびサブマクロブロック・タイプと呼ばれるシンタックス要素で符号化される。シンタックスとは符号化ビット列の表現規則であり、シンタックス要素とは、シンタックスで伝送することが規定されている情報である。   The luminance signal is motion-compensated with the number of pixels of the selected size. When the color difference format is 4: 2: 0, the color difference signal is motion-compensated with half the number of pixels both horizontally and vertically. In this way, motion compensation block size information is encoded with syntax elements called macroblock types and sub-macroblock types. The syntax is an expression rule of the encoded bit string, and the syntax element is information that is specified to be transmitted in the syntax.

16×16、16×8、8×16および8×8モードのいずれのマクロブロック・タイプでも、L0予測、L1予測の場合、マクロブロック・パーティションごとに1つの動きベクトルが符号化・復号される。すなわち、16×16モードのマクロブロック・タイプでは1つの動きベクトルが、16×8および8×16モードのマクロブロック・タイプでは2つの動きベクトルが、および8×8モードのマクロブロック・タイプでは4つの動きベクトルが、それぞれ符号化・復号される。   For any macroblock type of 16 × 16, 16 × 8, 8 × 16 and 8 × 8 modes, one motion vector is encoded / decoded for each macroblock partition in the case of L0 prediction and L1 prediction. . That is, one motion vector for the 16 × 16 mode macroblock type, two motion vectors for the 16 × 8 and 8 × 16 mode macroblock types, and 4 for the 8 × 8 mode macroblock type. Each motion vector is encoded and decoded.

各マクロブロック・パーティションの輝度信号および色差信号の各画素は、そのマクロブロック・パーティションの1つの動きベクトルに応じて、動き補償される。すなわち、当該各画素は、同じ動きベクトルを用いて動き補償される。   Each pixel of the luminance signal and chrominance signal of each macroblock partition is motion compensated according to one motion vector of the macroblock partition. That is, each pixel is motion-compensated using the same motion vector.

図1に戻り、幾何学変換動き補償予測部103は、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の、動きベクトルおよび予測信号を生成する。より具体的には、幾何学変換動き補償予測部103は、対象ブロックを仮想的に複数の小ブロックに分割した場合の、小ブロックごとに代表画素を設定して、それぞれの代表画素の動きベクトルを検出する。その際、幾何学変換動き補償予測部103は、小ブロックの略中心または略重心の画素を代表画素に設定する。   Returning to FIG. 1, the geometric transformation motion compensation prediction unit 103 performs motion vector and prediction signal between the target block in the target image and the reference block in the reference image having a geometric transformation relationship with the target block. Is generated. More specifically, the geometric transformation motion compensation prediction unit 103 sets a representative pixel for each small block when the target block is virtually divided into a plurality of small blocks, and the motion vector of each representative pixel is set. Is detected. At that time, the geometric transformation motion compensation prediction unit 103 sets the pixel at the approximate center or the approximate center of gravity of the small block as the representative pixel.

また、幾何学変換動き補償予測部103は、複数の代表画素の動きベクトルから内挿および外挿の少なくとも一方を用いて、対象ブロックの複数の代表画素以外の画素の動きベクトルを算出する。なお、本発明の実施の形態に係る以下の説明においては、内挿・外挿との表記を内挿および外挿の少なくともいずれか一方のという意味で用いる。幾何学変換動き補償予測部103は、対象ブロックの4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モード(後述する図3(a)参照)と、対象ブロックの縦方向における2つの代表画素e、fの動きベクトルを符号化・復号する第2モード(後述する図3(b)参照)と、対象ブロックの横方向における2つの代表画素g、hの動きベクトルを符号化・復号する第3モード(後述する図3(c)参照)を実行することができる。ここで、第1モードは対象ブロックを仮想的に十字に4等分して4つの正方形の小ブロックに分割した場合の、4つの小ブロックごとの中心または略中心を代表画素とし、第2モードは対象ブロックを仮想的に縦に2等分して2つの横長長方形の小ブロックに分割した場合の、2つの小ブロックごとの中心または略中心を代表画素とし、第3モードは対象ブロックを仮想的に横に2等分して2つの縦長長方形の小ブロックに分割した場合の、2つの小ブロックごとの中心または略中心を代表画素とする。   Further, the geometric transformation motion compensation prediction unit 103 calculates a motion vector of pixels other than the plurality of representative pixels of the target block using at least one of interpolation and extrapolation from the motion vectors of the plurality of representative pixels. In the following description according to the embodiment of the present invention, the notation of interpolation / extrapolation is used to mean at least one of interpolation and extrapolation. The geometric transformation motion compensation prediction unit 103 encodes and decodes motion vectors of four representative pixels a, b, c, and d of the target block (see FIG. 3A described later), and the target block. The second mode for encoding and decoding the motion vectors of the two representative pixels e and f in the vertical direction (see FIG. 3B described later), and the motion of the two representative pixels g and h in the horizontal direction of the target block A third mode for encoding / decoding vectors (see FIG. 3C described later) can be executed. Here, in the first mode, when the target block is virtually divided into four crosses and divided into four square small blocks, the center or approximately center of each of the four small blocks is set as a representative pixel, and the second mode Is a case where the target block is virtually divided into two vertically divided and divided into two horizontally-long rectangular small blocks, and the center or approximate center of each of the two small blocks is used as a representative pixel. Specifically, the center or approximately center of each of the two small blocks when divided into two vertically long rectangular small blocks by dividing into two horizontally is set as a representative pixel.

ここで、本発明の実施の形態に係る説明においては上記対象ブロックを16×16画素のマクロブロックとして説明するが、当該対象ブロックのサイズは16×16画素に限定されるものではなく、8×8画素のサブマクロブロックであってもよいし、32×32画素、48×48画素、64×64画素等のブロックであってもよい。上記小ブロックがマクロブロック・パーティションとして説明するが、それに限定されるものではなく、上記ブロックがサブマクロブロック、上記小ブロックがサブマクロブロック・パーティションであってもよい。   Here, in the description according to the embodiment of the present invention, the target block is described as a macro block of 16 × 16 pixels, but the size of the target block is not limited to 16 × 16 pixels. It may be a sub-macroblock of 8 pixels, or a block of 32 × 32 pixels, 48 × 48 pixels, 64 × 64 pixels, or the like. Although the small block is described as a macroblock partition, the present invention is not limited to this, and the block may be a sub macroblock and the small block may be a sub macroblock partition.

予測方法決定部104は、幾何学変換動き補償予測部103による予測方法として、上述した第1モード、第2モードおよび第3モードのいずれかを採用することができる。予測方法決定部104の詳細な処理については後述する。   The prediction method determination unit 104 can employ any of the first mode, the second mode, and the third mode described above as the prediction method by the geometric transformation motion compensation prediction unit 103. Detailed processing of the prediction method determination unit 104 will be described later.

以下、幾何学変換動き補償予測部103について、より具体的に説明する。幾何学変換動き補償予測部103は、AVC/H.264方式などに規定された既存の平行移動による動き補償予測と異なり、平行移動に加えて、拡大・縮小/回転などを含む変形を伴う幾何学変換による動き補償予測を行う。   Hereinafter, the geometric transformation motion compensation prediction unit 103 will be described more specifically. The geometric conversion motion compensation prediction unit 103 is different from the existing motion compensation prediction based on the parallel movement defined in the AVC / H.264 method, etc., and in addition to the parallel movement, the geometric transformation accompanied by deformation including enlargement / reduction / rotation, etc. Perform motion compensation prediction by scientific conversion.

本実施の形態に係る幾何学変換による動き補償予測では、マクロブロック、マクロブロック・パーティション、サブマクロブロックの輝度信号、色差信号の各画素をそれぞれ同じ動きベクトルで動き補償するのではなく、画素ごとに異なる動きベクトルを作成して動き補償を行う。幾何学変換動き補償予測の第1モードは8×8モードのマクロブロック・タイプに、第2モードは16×8のマクロブロック・タイプに、第3モードは8×16のマクロブロック・タイプに対応する。つまり、幾何学変換による動き補償予測ではマクロブロック・タイプは、画素ブロックの形状により規定されるのではなく、動きベクトルの数、代表画素の位置および動きベクトルの内挿・外挿演算方法により規定される。非代表画素の動きベクトルは、代表画素の動きベクトルにより内挿および外挿の少なくともいずれか一方により算出される。   In motion compensated prediction by geometric transformation according to the present embodiment, each pixel of the luminance signal and chrominance signal of the macroblock, macroblock partition, sub-macroblock is not motion-compensated with the same motion vector, but for each pixel. Different motion vectors are created for motion compensation. The first mode of geometric transformation motion compensated prediction corresponds to the macroblock type of 8x8 mode, the second mode corresponds to the macroblock type of 16x8, and the third mode corresponds to the macroblock type of 8x16 To do. In other words, in motion compensated prediction by geometric transformation, the macroblock type is not defined by the shape of the pixel block, but by the number of motion vectors, representative pixel positions, and motion vector interpolation / extrapolation methods. Is done. The motion vector of the non-representative pixel is calculated by at least one of interpolation and extrapolation based on the motion vector of the representative pixel.

幾何学変換動き補償予測部103は、サブマクロブロックを含む各マクロブロック・パーティションの中心または中心近傍の画素を代表画素に選定し、その動きベクトルを求める。マクロブロック・パーティションの場合、その縦横の画素数が偶数であるため、厳密な中心画素は存在しない。そこで、中心に位置する4画素のうちの特定の1画素を代表画素に設定するか、補間演算により厳密な中心画素の座標を求めて仮想的な画素を代表画素に設定する。   The geometric transformation motion compensation prediction unit 103 selects a pixel at the center or near the center of each macroblock partition including the sub macroblock as a representative pixel, and obtains a motion vector thereof. In the case of a macroblock partition, since the number of vertical and horizontal pixels is an even number, there is no exact center pixel. Therefore, a specific one of the four pixels located at the center is set as a representative pixel, or the coordinates of the exact center pixel are obtained by interpolation to set a virtual pixel as the representative pixel.

幾何学変換動き補償予測部103は、各マクロブロック・パーティションの代表画素の動きベクトルとして、オプティカルフロー法等により画素単位で算出した動きベクトルを用いてもよいし、画像のエッジやコーナー等の信頼性の高いと判断できる特徴点の動きベクトルから内挿・外挿演算により補正してもよい。平行移動動き補償予測部102により生成された、対応するマクロブロック・パーティションの動きベクトルを用いてもよい。なお、対応するマクロブロック・パーティションの動きベクトルを用いる場合、その動きベクトルの値を当該代表画素にあてはめて、その動きベクトルの値を増加方向および減少方向に調整しながら検証することにより、動きベクトルの値を補正してもよい。   The geometric transformation motion compensated prediction unit 103 may use a motion vector calculated in units of pixels by an optical flow method or the like as a motion vector of a representative pixel of each macroblock partition, or a reliability such as an edge or corner of an image. You may correct | amend by the interpolation and extrapolation calculation from the motion vector of the feature point which can be judged to have high property. The motion vector of the corresponding macroblock / partition generated by the translational motion compensation / prediction unit 102 may be used. In addition, when using the motion vector of the corresponding macroblock partition, the motion vector value is applied to the representative pixel, and the motion vector value is verified by adjusting the motion vector value in the increasing direction and decreasing direction. May be corrected.

つぎに、幾何学変換動き補償予測部103は、代表画素の動きベクトルからマクロブロック内の非代表画素の動きベクトルを線形内挿・外挿(本実施の形態では、バイリニア内挿・外挿)により算出する。   Next, the geometric transformation motion compensation prediction unit 103 performs linear interpolation / extrapolation of the motion vector of the non-representative pixel in the macroblock from the motion vector of the representative pixel (in this embodiment, bilinear interpolation / extrapolation). Calculated by

縦方向の2つの代表画素e、fの動きベクトルを符号化・復号する第2モードの場合、幾何学変換動き補償予測部103は、垂直方向の2つの代表画素e、fの動きベクトルから、これら2点を結ぶ直線上の画素の動きベクトルを内挿および外挿の少なくともいずれか一方により算出する。そして、その他の画素の動きベクトルを、線形内挿・外挿された各画素の動きベクトルを水平方向にそのまま当てはめる。動きベクトルをそのまま当てはめた演算も内挿・外挿に含むものとする。横方向の2つの代表画素g、hの動きベクトルを符号化・復号する第3モードの場合、幾何学変換動き補償予測部103は、水平方向の2つの代表画素の動きベクトルから、これら2点を結ぶ直線上の画素の動きベクトルを内挿および外挿の少なくともいずれか一方により算出し、その他の画素の動きベクトルを、線形内挿・外挿された各画素の動きベクトルを垂直方向にそのまま当てはめる。   In the case of the second mode in which the motion vectors of the two representative pixels e and f in the vertical direction are encoded and decoded, the geometric transformation motion compensation prediction unit 103 calculates the motion vectors of the two representative pixels e and f in the vertical direction from A motion vector of a pixel on a straight line connecting these two points is calculated by at least one of interpolation and extrapolation. Then, the motion vectors of the other pixels and the motion vectors of the respective pixels subjected to linear interpolation / extrapolation are applied as they are in the horizontal direction. It is assumed that an operation in which a motion vector is directly applied is included in the interpolation / extrapolation. In the case of the third mode in which the motion vectors of the two representative pixels g and h in the horizontal direction are encoded and decoded, the geometric transformation motion compensation prediction unit 103 calculates these two points from the motion vectors of the two representative pixels in the horizontal direction. The motion vector of the pixels on the straight line connecting the two is calculated by at least one of interpolation and extrapolation, and the motion vectors of the other pixels are used as they are in the vertical direction. Apply.

4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モードの場合、幾何学変換動き補償予測部103は、水平方向及び垂直方向の双方に内挿および外挿の少なくともいずれか一方により非代表画素の動きベクトルを算出する。後述する方法により水平方向および垂直方向の双方に一度に内挿・外挿してもよいし、水平方向の2つの代表画素の動きベクトルから、これら2点を結ぶ直線上の画素の動きベクトルを内挿・外挿することにより非代表画素の動きベクトルを算出し、その他の画素の動きベクトルを、既に算出された各画素の動きベクトルを用いて、さらに垂直方向に内挿・外挿することにより算出してもよい。   In the first mode in which the motion vectors of the four representative pixels a, b, c, and d are encoded / decoded, the geometric transformation motion compensation prediction unit 103 performs interpolation and extrapolation both in the horizontal direction and in the vertical direction. The motion vector of the non-representative pixel is calculated by at least one of them. Interpolation and extrapolation may be performed at once in both the horizontal and vertical directions by the method described later, or the motion vectors of pixels on a straight line connecting these two points are interpolated from the motion vectors of two representative pixels in the horizontal direction. By calculating the motion vector of the non-representative pixel by interpolation / extrapolation, and further interpolating / extrapolating the motion vector of the other pixels in the vertical direction using the motion vector of each pixel that has already been calculated. It may be calculated.

なお、縦方向の2つの代表画素e、fの動きベクトルを符号化・復号する第2モードにおいては、代表画素eの動きベクトルの値を代表画素a、bの動きベクトルの値に設定し、代表画素fの動きベクトルの値を代表画素c、dの動きベクトルの値に設定する。そして、4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モードと同様に、非代表画素の動きベクトルを算出することができる。   In the second mode in which the motion vectors of the two representative pixels e and f in the vertical direction are encoded and decoded, the value of the motion vector of the representative pixel e is set to the value of the motion vector of the representative pixels a and b. The value of the motion vector of the representative pixel f is set to the value of the motion vector of the representative pixels c and d. Then, similarly to the first mode in which the motion vectors of the four representative pixels a, b, c, and d are encoded and decoded, the motion vectors of the non-representative pixels can be calculated.

同様に、横方向の2つの代表画素g、hの動きベクトルを符号化・復号する第3モードにおいては、代表画素gの動きベクトルの値を代表画素a、cの動きベクトルの値に設定し、第2代表画素hの動きベクトルの値を代表画素b、dの動きベクトルの値に設定する。そして、4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モードと同様に、非代表画素の動きベクトルを算出することができる。   Similarly, in the third mode in which the motion vectors of the two representative pixels g and h in the horizontal direction are encoded and decoded, the value of the motion vector of the representative pixel g is set to the value of the motion vector of the representative pixels a and c. Then, the value of the motion vector of the second representative pixel h is set to the value of the motion vector of the representative pixels b and d. Then, similarly to the first mode in which the motion vectors of the four representative pixels a, b, c, and d are encoded and decoded, the motion vectors of the non-representative pixels can be calculated.

幾何学変換動き補償予測部103は、算出された画素ごとの動きベクトルを用いて、画素ごとに動き補償を行う。以上の説明では、マクロブロックに含まれる各画素の動きベクトルを算出する例を説明したが、サブマクロブロックに含まれる各画素の動きベクトルも同様に算出することができる。このような処理により、拡大・縮小/回転などを含む変形を表現することができ、幾何学変換と等価の処理を実現することができる。   The geometric transformation motion compensation prediction unit 103 performs motion compensation for each pixel using the calculated motion vector for each pixel. In the above description, the example of calculating the motion vector of each pixel included in the macroblock has been described. However, the motion vector of each pixel included in the sub-macroblock can be calculated in the same manner. By such processing, deformation including enlargement / reduction / rotation can be expressed, and processing equivalent to geometric transformation can be realized.

この画素単位の動きベクトルの算出処理および各画素の動き補償処理を、規定された複数のモードで行う。複数のモードはそれぞれ、参照インデックス、動き補償ブロックのサイズ、L0/L1予測などが異なる。なお、L0/L1予測はBスライスでのみ選択可能である。   The pixel-by-pixel motion vector calculation process and the motion compensation process for each pixel are performed in a plurality of prescribed modes. Each of the plurality of modes has a different reference index, motion compensation block size, L0 / L1 prediction, and the like. Note that L0 / L1 prediction can be selected only in the B slice.

幾何学変換動き補償予測部103は、それぞれのモードにて動き補償予測を行い、それぞれのモードにおける予測信号(より具体的には、動き補償予測ブロック信号)および動きベクトルを、予測方法決定部104に供給する。   The geometric transformation motion compensation prediction unit 103 performs motion compensation prediction in each mode, and predicts a prediction signal (more specifically, a motion compensation prediction block signal) and a motion vector in each mode. To supply.

以下、幾何学変換動き補償予測における、各画素の動きベクトルの算出方法について具体例を挙げながら説明する。
図3(a)は、対象ブロックの4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モードのマクロブロック・タイプの各画素の動きベクトルを算出する方法を説明するための図である。図3(a)では、代表画素を黒丸、非代表画素を白丸で表し、代表画素を、各マクロブロック・パーティションの中心近傍である画素a(3,3)、画素b(11,3)、画素c(3,11)および画素d(11,11)に設定している。ここでは、各画素の座標を(i,j)で表し、水平方向の座標を1画素単位でiで表し、垂直方向の座標を1画素単位でjで表している。マクロブロック中の最も左上の画素を原点(0,0)とし、右方向、及び下方向を正とする。
Hereinafter, the calculation method of the motion vector of each pixel in the geometric conversion motion compensation prediction will be described with a specific example.
FIG. 3A illustrates a method of calculating the motion vector of each pixel of the macroblock type in the first mode that encodes and decodes the motion vectors of the four representative pixels a, b, c, and d of the target block. It is a figure for doing. In FIG. 3A, the representative pixel is represented by a black circle, the non-representative pixel is represented by a white circle, and the representative pixel is represented by a pixel a (3, 3), a pixel b (11, 3), which is near the center of each macroblock partition. Pixel c (3, 11) and pixel d (11, 11) are set. Here, the coordinate of each pixel is represented by (i, j), the coordinate in the horizontal direction is represented by i in the unit of one pixel, and the coordinate in the vertical direction is represented by j in the unit of one pixel. The upper left pixel in the macroblock is the origin (0, 0), and the right direction and the downward direction are positive.

まず、これら画素a、画素b、画素cおよび画素dの動きベクトルが割り当てられ、つぎに、それ以外の画素の動きベクトルが、線形内挿・外挿により算出される。   First, motion vectors of the pixel a, pixel b, pixel c, and pixel d are assigned, and then motion vectors of other pixels are calculated by linear interpolation / extrapolation.

4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モードでは、これら画素a、画素b、画素cおよび画素dの動きベクトルが割り当てられる。2つの代表画素e、fの動きベクトルを符号化・復号する第2モードでは、これら画素eおよび画素fの動きベクトルが割り当てられ、画素eの動きベクトルは画素a、bの動きベクトルでもあり、画素fの動きベクトルは画素c、dの動きベクトルでもある。2つの代表画素g、hの動きベクトルを符号化・復号する第3モードでは、これら画素gおよび画素hの動きベクトルが割り当てられ、画素gの動きベクトルは画素a、cの動きベクトルでもあり、画素hの動きベクトルは画素b、dの動きベクトルでもある。   In the first mode in which the motion vectors of the four representative pixels a, b, c, and d are encoded and decoded, the motion vectors of the pixel a, the pixel b, the pixel c, and the pixel d are assigned. In the second mode in which the motion vectors of the two representative pixels e and f are encoded and decoded, the motion vectors of the pixel e and the pixel f are assigned, and the motion vector of the pixel e is also the motion vector of the pixels a and b. The motion vector of the pixel f is also the motion vector of the pixels c and d. In the third mode in which the motion vectors of the two representative pixels g and h are encoded and decoded, the motion vectors of the pixel g and the pixel h are assigned, and the motion vector of the pixel g is also the motion vector of the pixels a and c. The motion vector of pixel h is also the motion vector of pixels b and d.

次に、4つの代表画素a、b、c、dの動きベクトルVa、Vb、Vc、Vdからそれ以外の画素の動きベクトルV(i,j)が、線形内挿・外挿により算出される。
V(i,j)={(15−i−3)(15−j−3)Va+i(15−j−3)Vb+(15−i−3)(j−3)・Vc+(i−3)・(j−3)・Vd} ・・・式(1)
以上により、第1モード、第2モード、第3モードでの各画素毎の動きベクトルを算出する。なお、下記の方法により算出することもできる。
Next, the motion vectors V (i, j) of the other pixels are calculated from the motion vectors Va, Vb, Vc, Vd of the four representative pixels a, b, c, d by linear interpolation / extrapolation. .
V (i, j) = {(15-i-3) (15-j-3) Va + i (15-j-3) Vb + (15-i-3) (j-3) .Vc + (i-3) (J-3) Vd} Expression (1)
As described above, the motion vector for each pixel in the first mode, the second mode, and the third mode is calculated. It can also be calculated by the following method.

画素aの動きベクトルVa=V(3,3)、画素bの動きベクトルVb=V(11,3)、画素cの動きベクトルVc=V(3,11)、および画素dの動きベクトルVd=V(11,11)とすると、画素aと画素bを通るライン上の各画素の動きベクトルV(i,3)は、下記式(2)により算出される。
V(i,3)=Va+(Vb−Va)*(i−3)/8 ・・・式(2)
Pixel a motion vector Va = V (3,3), pixel b motion vector Vb = V (11,3), pixel c motion vector Vc = V (3,11), and pixel d motion vector Vd = Assuming V (11,11), the motion vector V (i, 3) of each pixel on the line passing through the pixel a and the pixel b is calculated by the following equation (2).
V (i, 3) = Va + (Vb−Va) * (i−3) / 8 Expression (2)

同様に、画素cと画素dを通るライン上の各画素の動きベクトルV(i,11)は、下記式(3)により算出される。
V(i,11)=Vc+(Vd−Vc)*(i−3)/8 ・・・式(3)
Similarly, the motion vector V (i, 11) of each pixel on the line passing through the pixels c and d is calculated by the following equation (3).
V (i, 11) = Vc + (Vd−Vc) * (i−3) / 8 Expression (3)

さらに、残りの画素の動きベクトルV(i,j)は、下記式(4)により算出される。
V(i,j)=V(i,3)+(V(i,11)−V(i,3))*(j−3)/8 ・・・式(4)
Furthermore, the motion vectors V (i, j) of the remaining pixels are calculated by the following equation (4).
V (i, j) = V (i, 3) + (V (i, 11) −V (i, 3)) * (j−3) / 8 Expression (4)

以上により、第1モード、第2モードおよび第3モードにおける各画素の動きベクトルを算出することができる。なお、第2モードおよび第3モードでは下記の方法により算出することもできる。   As described above, the motion vector of each pixel in the first mode, the second mode, and the third mode can be calculated. In the second mode and the third mode, it can also be calculated by the following method.

図3(b)は、対象ブロックの2つの代表画素e、fの動きベクトルを符号化・復号する第2モードのマクロブロック・タイプの各画素の動きベクトルを算出する方法を説明するための図である。図3(b)では、代表画素を、各マクロブロック・パーティションの中心近傍である画素e(7,3)および画素f(7,11)に設定している。   FIG. 3B is a diagram for explaining a method of calculating the motion vector of each pixel of the macroblock type in the second mode that encodes and decodes the motion vectors of the two representative pixels e and f of the target block. It is. In FIG. 3B, the representative pixels are set to the pixel e (7, 3) and the pixel f (7, 11) that are near the center of each macroblock partition.

まず、これら画素eおよび画素fの動きベクトルが割り当てられ、つぎに、それ以外の画素の動きベクトルが、線形内挿・外挿により算出される。   First, motion vectors of these pixels e and f are assigned, and then motion vectors of other pixels are calculated by linear interpolation / extrapolation.

画素eの動きベクトルVe=V(7,3)、画素fの動きベクトルをVf=V(7,11)とすると、画素eと画素fを通るライン上の各画素の動きベクトルV(7,j)は、下記式(5)により算出される。
V(7,j)=Ve+(Vf−Ve)*(j−3)/8 ・・・式(5)
When the motion vector Ve = V (7,3) of the pixel e and the motion vector of the pixel f are Vf = V (7,11), the motion vector V (7,3) of each pixel on the line passing through the pixel e and the pixel f. j) is calculated by the following equation (5).
V (7, j) = Ve + (Vf−Ve) * (j−3) / 8 Expression (5)

つぎに下記式(6)に示すように、式(5)により算出された動きベクトルV(7,j)の値を水平方向に拡張して、動きベクトルV(7,j)の値を残りの画素の動きベクトルV(i,j)に代入する。
V(i,j)=V(7,j) ・・・式(6)
Next, as shown in the following formula (6), the value of the motion vector V (7, j) calculated by the formula (5) is expanded in the horizontal direction, and the value of the motion vector V (7, j) is left as it is. Is substituted into the motion vector V (i, j) of the pixel.
V (i, j) = V (7, j) (6)

残りの画素の動きベクトルV(i,j)は、下記式(7)により算出されてもよい。
V(i,j)=Ve+(Vf−Ve)*(j−3)/8 ・・・式(7)
The motion vector V (i, j) of the remaining pixels may be calculated by the following equation (7).
V (i, j) = Ve + (Vf−Ve) * (j−3) / 8 Expression (7)

図3(c)は、対象ブロックの横方向における2つの代表画素g、hの動きベクトルを符号化・復号する第3モードのマクロブロック・タイプの各画素の動きベクトルを算出する方法を説明するための図である。図3(c)では、代表画素を、各マクロブロック・パーティションの中心近傍である画素g(3,7)および画素h(11,7)に設定している。   FIG. 3C illustrates a method of calculating the motion vector of each pixel of the third mode macroblock type that encodes and decodes the motion vectors of the two representative pixels g and h in the horizontal direction of the target block. FIG. In FIG. 3C, the representative pixels are set to the pixel g (3, 7) and the pixel h (11, 7) that are near the center of each macroblock partition.

まず、これら画素gおよび画素hの動きベクトルが割り当てられ、つぎに、それ以外の画素の動きベクトルが、線形内挿・外挿により算出される。   First, the motion vectors of these pixels g and h are assigned, and then the motion vectors of the other pixels are calculated by linear interpolation / extrapolation.

画素gの動きベクトルVg=V(3,7)、画素hの動きベクトルVh=V(11,7)とすると、画素gと画素hを通るライン上の各画素の動きベクトルV(i,7)は、下記式(8)により算出される。
V(i,7)=Vg+(Vh−Vg)*(i−3)/8 ・・・式(8)
If the motion vector Vg = V (3,7) of the pixel g and the motion vector Vh = V (11,7) of the pixel h, the motion vector V (i, 7) of each pixel on the line passing through the pixel g and the pixel h. ) Is calculated by the following equation (8).
V (i, 7) = Vg + (Vh−Vg) * (i−3) / 8 Expression (8)

つぎに下記式(9)に示すように、式(8)により算出された動きベクトルV(i,7)の値を垂直方向に拡張して、動きベクトルV(i,7)の値を残りの画素の動きベクトルV(i,j)に代入する。
V(i,j)=V(i,7) ・・・式(9)
Next, as shown in the following equation (9), the value of the motion vector V (i, 7) calculated by the equation (8) is expanded in the vertical direction, and the value of the motion vector V (i, 7) is left as it is. Is substituted into the motion vector V (i, j) of the pixel.
V (i, j) = V (i, 7) (9)

残りの画素の動きベクトルV(i,j)は、下記式(10)により算出されてもよい。
V(i,j) =Vg+(Vh−Vg)*(i−3)/8 ・・・式(10)
The motion vector V (i, j) of the remaining pixels may be calculated by the following equation (10).
V (i, j) = Vg + (Vh−Vg) * (i−3) / 8 Expression (10)

幾何学変換動き補償予測部103は、算出された各画素の動きベクトルに応じて各画素を動き補償予測する。より具体的には、各画素の動きベクトルが指し示す参照画像の画素から補間信号を生成することにより動き補償予測する。なお、各画素の動きベクトルの精度、演算過程で必要となる数値のまるめ方などは、どの復号装置で復号しても同じ値になるように規定する必要がある。なお、動きベクトルにより指定される予測画素の座標が小数点以下で表される場合、動き補償の際に周囲の画素から当該画素を補間する。その補間方法には4〜6タップのフィルタリングや線形補間などを用いることができる。   The geometric transformation motion compensation prediction unit 103 performs motion compensation prediction on each pixel according to the calculated motion vector of each pixel. More specifically, motion compensation prediction is performed by generating an interpolation signal from the reference image pixel indicated by the motion vector of each pixel. It should be noted that the accuracy of the motion vector of each pixel, the rounding of numerical values required in the calculation process, and the like need to be defined so that the same value is obtained regardless of which decoding device is used. In addition, when the coordinate of the prediction pixel designated by the motion vector is expressed by a decimal point, the pixel is interpolated from surrounding pixels at the time of motion compensation. As the interpolation method, 4 to 6 tap filtering, linear interpolation, or the like can be used.

4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モードでは、4つの動きベクトルで拡大・縮小、回転、平行移動など、第2モード、第3モードでは表現できない変形を表すことができる。   In the first mode that encodes and decodes the motion vectors of the four representative pixels a, b, c, and d, it cannot be expressed in the second mode or the third mode, such as enlargement / reduction, rotation, translation, etc., with the four motion vectors. Deformation can be represented.

対象ブロックの縦方向における2つの代表画素e、fの動きベクトルを符号化・復号する第2モードでは、2つの動きベクトルで平行移動に加えて垂直方向に均一な変形を表すことができる。変形の表現力は第1モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。対象ブロックの横方向における2つの代表画素g、hの動きベクトルを符号化・復号する第3モードでは、2つの動きベクトルで平行移動に加えて水平方向に均一な変形を表すことができる。変形の表現力は第1モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。   In the second mode in which the motion vectors of the two representative pixels e and f in the vertical direction of the target block are encoded and decoded, the two motion vectors can represent uniform deformation in the vertical direction in addition to translation. Although the expressive power of deformation is limited compared to the first mode, the number of motion vectors to be encoded can be reduced. In the third mode in which the motion vectors of the two representative pixels g and h in the horizontal direction of the target block are encoded and decoded, the two motion vectors can represent uniform deformation in the horizontal direction in addition to translation. Although the expressive power of deformation is limited compared to the first mode, the number of motion vectors to be encoded can be reduced.

図1に戻り、予測方法決定部104は、対象画像内の対象ブロックごとに、平行移動動き補償予測部102による予測方法と、幾何学変換動き補償予測部103による予測方法とのいずれを採用するか決定する。より具体的には、いずれの予測方法の、いずれのモードを採用するかを決定する。以下、モードの選択を含めて予測方法の選択という。   Returning to FIG. 1, the prediction method determination unit 104 employs either the prediction method by the translational motion compensation prediction unit 102 or the prediction method by the geometric transformation motion compensation prediction unit 103 for each target block in the target image. To decide. More specifically, it is determined which mode of which prediction method is adopted. Hereinafter, prediction method selection including mode selection is referred to.

すなわち、予測方法決定部104は、平行移動による動き補償予測または幾何学変換による動き補償予測のどちらを、どの参照画像を用いて、どの画素ブロック単位で符号化するかを選択することにより、予測方法を決定する。幾何学変換による動き補償予測の場合は、第1モード、第2モードおよび第3モードのいずれかを選択する。その際、それらの項目の、どの組み合わせが、最も効率的な符号化を実現できる予測方法であるかを判定することにより、予測方法を決定する。予測方法を決定する基準として、たとえば、符号量と歪の関係を考慮したレート歪理論を用いることができる。より具体的には、マクロブロックの符号量(すなわち、予測方法情報、動きベクトルおよび予測信号の合計符号量)を算出するとともに、符号化対象画像と復号画像の差から歪量を算出し、当該符号量および当該歪量を入力変数とするレート歪関数を最小化する予測方法を選択する。なお、予測方法はマクロブロック・タイプで記述される。平行移動動き補償の場合、16×16/16×8/8×16/8×8モードのいずれを用いるかに関してマクロブロック・タイプで記述され、幾何学変換動き補償の場合、第1モード、第2モードおよび第3モードのいずれを用いるかに関してマクロブロック・タイプで記述される。幾何学変換動き補償予測の第1モードは4本の動きベクトルを符号化する8×8モードのマクロブロック・タイプに、第2モードは2本の動きベクトルを符号化する16×8のマクロブロック・タイプに、第3モードは同じく2本の動きベクトルを符号化する8×16のマクロブロック・タイプとして記述される。   That is, the prediction method determining unit 104 selects which reference image is used to encode motion compensation prediction based on parallel movement or motion compensated prediction based on geometric transformation in which pixel block unit. Decide how. In the case of motion compensation prediction by geometric transformation, one of the first mode, the second mode, and the third mode is selected. At that time, the prediction method is determined by determining which combination of these items is the prediction method capable of realizing the most efficient encoding. As a criterion for determining the prediction method, for example, rate distortion theory considering the relationship between the code amount and distortion can be used. More specifically, the code amount of the macroblock (that is, the prediction method information, the motion vector, and the total code amount of the prediction signal) is calculated, and the distortion amount is calculated from the difference between the encoding target image and the decoded image. A prediction method is selected that minimizes a code amount and a rate distortion function using the distortion amount as an input variable. Note that the prediction method is described in a macroblock type. In the case of translation motion compensation, it is described in the macroblock type as to which of the 16 × 16/16 × 8/8 × 16/8 × 8 mode is used, and in the case of geometric transformation motion compensation, the first mode, the first mode The macroblock type is described as to whether the second mode or the third mode is used. The first mode of geometric transformation motion compensated prediction is an 8 × 8 macroblock type that encodes four motion vectors, and the second mode is a 16 × 8 macroblock that encodes two motion vectors. In type, the third mode is described as an 8 × 16 macroblock type that also encodes two motion vectors.

予測方法決定部104は、採用したマクロブロック・タイプで記述される予測方法情報およびその予測方法により生成された動きベクトルを第1符号化ビット列生成部107、及び第2符号化ビット列生成部108に、採用した予測方法に応じた動きベクトルを第2符号化ビット列生成部108に供給する。それとともに、予測方法決定部104は、採用した予測方法により生成された予測信号を予測誤差信号生成部105に供給する。   The prediction method determination unit 104 sends the prediction method information described in the adopted macroblock type and the motion vector generated by the prediction method to the first encoded bit sequence generation unit 107 and the second encoded bit sequence generation unit 108. The motion vector corresponding to the employed prediction method is supplied to the second encoded bit string generation unit 108. At the same time, the prediction method determination unit 104 supplies the prediction signal generated by the employed prediction method to the prediction error signal generation unit 105.

予測誤差信号生成部105は、予測方法決定部104により採用された予測方法で生成された予測信号と、対象ブロックの画像信号との差分を算出し、予測誤差信号を生成する。より具体的には、予測誤差信号生成部105は、画像バッファ101から供給される符号化対象の画像信号から、予測方法決定部104から供給される予測信号を減算することにより、予測誤差信号を生成し、予測誤差信号符号化部106に供給する。   The prediction error signal generation unit 105 calculates a difference between the prediction signal generated by the prediction method adopted by the prediction method determination unit 104 and the image signal of the target block, and generates a prediction error signal. More specifically, the prediction error signal generation unit 105 subtracts the prediction signal supplied from the prediction method determination unit 104 from the image signal to be encoded supplied from the image buffer 101 to obtain a prediction error signal. Generated and supplied to the prediction error signal encoding unit 106.

符号化部150は、予測方法決定部104により採用された予測方法を特定するための予測方法情報、当該予測方法により生成された動きベクトル、および予測誤差信号生成部105により生成された予測誤差信号を符号化する。符号化部150の第2符号化ビット列生成部108は、対象ブロックの動きベクトルを符号化する際、隣接ブロックの動きベクトルを参照して予測符号化する。その際、当該隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、両者を共通に扱い、参照すべき隣接ブロックの動きベクトルを決定する。したがって、対象ブロックの動きベクトルと隣接ブロックの動きベクトルとの参照関係は、平行移動動き補償予測方法が採用されたブロックの動きベクトルと、幾何学変換動き補償予測が採用された動きベクトルとの間でも成立する。すなわち、動きベクトルの予測符号化において、両者が混在している関係になる。   The encoding unit 150 includes prediction method information for specifying the prediction method adopted by the prediction method determination unit 104, a motion vector generated by the prediction method, and a prediction error signal generated by the prediction error signal generation unit 105. Is encoded. When encoding the motion vector of the target block, the second encoded bit string generation unit 108 of the encoding unit 150 performs predictive encoding with reference to the motion vector of the adjacent block. At that time, regardless of whether the motion compensation prediction method of the adjacent block is translation motion compensation prediction or geometric conversion motion compensation prediction, both are handled in common and the motion vector of the adjacent block to be referenced is determined. To do. Therefore, the reference relationship between the motion vector of the target block and the motion vector of the adjacent block is the difference between the motion vector of the block that uses the parallel motion compensation prediction method and the motion vector that uses the geometric transformation motion compensation prediction. But it holds. That is, in the motion vector predictive coding, the relationship is a mixture of both.

ここで、幾何学変換による動き補償予測が採用された対象ブロックでは、その代表画素の動きベクトルが予測符号化の対象となる。たとえば、平行移動による動き補償予測が採用された対象ブロックの動きベクトルを、幾何学変換による動き補償予測が採用された隣接ブロックの動きベクトルを参照して予測符号化する場合、その隣接ブロックの代表画素の動きベクトルを参照する。   Here, in a target block in which motion compensation prediction by geometric transformation is adopted, a motion vector of the representative pixel is a target of predictive encoding. For example, when predictively coding a motion vector of a target block adopting motion compensation prediction based on parallel movement with reference to a motion vector of an adjacent block adopting motion compensated prediction based on geometric transformation, a representative of the adjacent block Refer to the motion vector of the pixel.

以下、符号化部150の処理を詳細に説明する。予測誤差信号符号化部106は、予測誤差信号生成部105から供給される予測誤差信号に対して、直交変換、量子化などの圧縮符号化処理を行い、符号化された予測誤差信号を生成し、第3符号化ビット列生成部109および予測誤差信号復号部110に供給する。   Hereinafter, the processing of the encoding unit 150 will be described in detail. The prediction error signal encoding unit 106 performs compression encoding processing such as orthogonal transform and quantization on the prediction error signal supplied from the prediction error signal generation unit 105 to generate an encoded prediction error signal. The third encoded bit string generator 109 and the prediction error signal decoder 110 are supplied.

第1符号化ビット列生成部107は、予測方法決定部104から供給されるマクロブロック・タイプで記述される予測方法情報を、算術符号化などのエントロピー符号化により符号化し、符号化ビット列を生成する。なお、予測方法情報に含めるべき、予測ブロックサイズ、L0/L1予測の区別なども組み合わせてマクロブロック・タイプとして符号化する。また、予測方法情報に含めるべき、平行移動による動き補償予測と幾何学変換による動き補償予測のいずれを用いるかを識別するための情報に関しては、以下の記述方法を用いることができる。例えば、マクロブロックタイプの符号化方法は共通化して平行移動による動き補償予測と幾何学変換による動き補償予測を判別するためのシンタックス要素を別途に用意して記述してもよいし、他のマクロブロック・タイプとして符号化する情報と組み合わせることで、マクロブロック・タイプを拡張して記述してもよい。   The first encoded bit string generation unit 107 encodes the prediction method information described by the macroblock type supplied from the prediction method determination unit 104 by entropy encoding such as arithmetic encoding, and generates an encoded bit string. . In addition, the prediction block size to be included in the prediction method information, L0 / L1 prediction distinction, and the like are combined and encoded as a macroblock type. The following description method can be used as information for identifying which of motion compensation prediction by parallel movement and motion compensation prediction by geometric transformation to be included in the prediction method information. For example, the macroblock type encoding method may be shared, and syntax elements for determining motion compensation prediction by parallel movement and motion compensation prediction by geometric transformation may be separately prepared and described. The macroblock type may be extended and described by combining with information to be encoded as the macroblock type.

第2符号化ビット列生成部108は、予測方法決定部104から供給される動きベクトルを符号化し、符号化ビット列を生成する。その際、動きベクトルを予測符号化する。対象ブロックの動きベクトルを符号化する際、すでに符号化または復号済みの周囲の隣接ブロックの動きベクトルとの相関を利用して、当該隣接ブロックから動きベクトルを予測することにより予測ベクトルを算出する。なお、周囲の隣接ブロックの動きベクトルとの相関は、予測方法決定部104から供給される予測方法情報に基づき特定できる。そして、この予測ベクトルと対象ブロックまたは対象画素の動きベクトルとの差分である差分ベクトルを算出し、その差分ベクトルを符号化することにより、動きベクトルの符号量を削減する。ここで、幾何学変換による動き補償予測が採用された対象ブロックでは、その代表画素の動きベクトルが符号化の対象となる。   The second encoded bit string generation unit 108 encodes the motion vector supplied from the prediction method determination unit 104 to generate an encoded bit string. At that time, the motion vector is predictively encoded. When the motion vector of the target block is encoded, the prediction vector is calculated by predicting the motion vector from the adjacent block using the correlation with the motion vector of the neighboring block already encoded or decoded. Note that the correlation with the motion vectors of neighboring neighboring blocks can be specified based on the prediction method information supplied from the prediction method determination unit 104. Then, a difference vector that is a difference between the prediction vector and the motion vector of the target block or the target pixel is calculated, and the difference vector is encoded, thereby reducing the amount of coding of the motion vector. Here, in a target block in which motion compensation prediction by geometric transformation is adopted, a motion vector of the representative pixel is a target for encoding.

図4は、動きベクトルの予測方法を説明するための図である。図4(a)は、パーティションが設定されていないマクロブロック間において、動きベクトルを予測する例を示す。図4(b)は、パーティションが設定されているマクロブロック間において、動きベクトルを予測する例を示す。図4(c)は、16×8画素のマクロブロックにおいて、動きベクトルを予測する例を示す。図4(d)は、8×16画素のマクロブロックにおいて、動きベクトルを予測する例を示す。以下、図4(a)〜(d)を参照して、AVC/H.264方式などに採用されている動きベクトルの予測方法について説明する。この動きベクトルの予測方法は、周囲の隣接ブロックの動きベクトルの中央値を用いて、対象ブロックの動きベクトルを予測する。   FIG. 4 is a diagram for explaining a motion vector prediction method. FIG. 4A shows an example of predicting a motion vector between macroblocks in which no partition is set. FIG. 4B shows an example in which motion vectors are predicted between macroblocks in which partitions are set. FIG. 4C shows an example in which a motion vector is predicted in a 16 × 8 pixel macroblock. FIG. 4D shows an example in which a motion vector is predicted in a macroblock of 8 × 16 pixels. Hereinafter, referring to FIGS. 4A to 4D, AVC / H. A motion vector prediction method employed in the H.264 system will be described. In this motion vector prediction method, a motion vector of a target block is predicted using a median value of motion vectors of neighboring neighboring blocks.

図4(a)〜(d)にて、グレーで塗られているブロックの動きベクトルが符号化対象である。図4(a)にて、対象ブロックの動きベクトルを、その対象ブロックの左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの3つの動きベクトルを用いて予測する。より具体的には、それら3つの動きベクトルから水平成分および垂直成分それぞれについて中央値をとって予測ベクトルとする。なお、Bピクチャーにおいては、L0予測のための動きベクトルとL1予測のための動きベクトルをそれぞれ別々に扱う。その対象ブロックの左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの3つのL0予測のための動きベクトルを用いて予測することにより、対象ブロックのL0予測のための予測ベクトルを算出する。同様に、その対象ブロックの左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの3つのL1予測のための動きベクトルを用いて予測することにより、対象ブロックのL1予測のための予測ベクトルを算出する。ここで、上隣のブロックBおよび右斜上隣のブロックCが共に利用できず、ブロックAだけが利用できる場合、ブロックAの動きベクトルを予測ベクトルとして採用する。また、左隣のブロックA、上隣のブロックB、右斜上隣のブロックCの参照インデックスのうちひとつだけが符号化対象ブロックの参照インデックスと値が等しい(参照ピクチャが等しい)場合、そのブロックの動きベクトルを予測に用いる。   4A to 4D, the motion vector of a block painted in gray is an encoding target. In FIG. 4A, the motion vector of the target block is predicted using three motion vectors of the block A adjacent to the left of the target block, the block B adjacent to the upper right, and the block C adjacent to the upper right. More specifically, a median value is taken for each of the horizontal component and the vertical component from these three motion vectors to obtain a prediction vector. In the B picture, a motion vector for L0 prediction and a motion vector for L1 prediction are handled separately. Prediction for the L0 prediction of the target block by performing prediction using three motion vectors for the L0 prediction of the block A on the left of the target block, the block B on the upper right, and the block C on the upper right. Calculate the vector. Similarly, by using the motion vector for the L1 prediction of the block A adjacent to the left of the target block, the block B adjacent to the upper right, and the block C adjacent to the upper right, the prediction of the L1 prediction of the target block is performed. To calculate a prediction vector. Here, when the block B on the upper right and the block C on the upper right side cannot be used together and only the block A can be used, the motion vector of the block A is adopted as the prediction vector. If only one of the reference indexes of the block A on the left, the block B on the upper right, and the block C on the upper right is equal to the reference index of the current block (the reference pictures are equal), that block Are used for prediction.

図4(b)に示すように、マクロブロックにパーティションが設定されている場合、マクロブロックの小ブロックごとに動きベクトルが異なる。その場合、対象ブロックの左隣のブロックでは、対象ブロックと接している小ブロックのうち、最も上の小ブロックAの動きベクトルを採用する。上隣のブロックでは、対象ブロックと接している小ブロックのうち、最も左のブロックBを採用する。右斜上隣のブロックでは、最も左下の小ブロックCを採用する。   As shown in FIG. 4B, when a partition is set in the macroblock, the motion vector is different for each small block of the macroblock. In that case, in the block adjacent to the left of the target block, the motion vector of the uppermost small block A among the small blocks in contact with the target block is adopted. In the upper adjacent block, the leftmost block B among the small blocks in contact with the target block is adopted. In the block adjacent to the upper right, the lower left small block C is adopted.

図4(c)に示すように、符号化するブロックが8×16の場合、3つのブロックの動きベクトルの中央値ではなく、左のブロックは左隣のブロックA、右のブロックは右斜上隣のブロックCの動きベクトルを予測ベクトルとして採用する。また、図4(d)に示すように、符号化するブロックが16×8の場合も、3つのブロックの動きベクトルの中央値ではなく、上のブロックは上隣のブロックB、下のブロックは左隣のブロックAの動きベクトルを予測ベクトルとして採用する。   As shown in FIG. 4C, when the block to be encoded is 8 × 16, the left block is not the median value of the motion vectors of the three blocks, the left block is the block A on the left, and the right block is on the upper right side. The motion vector of the adjacent block C is adopted as the prediction vector. Also, as shown in FIG. 4D, when the block to be encoded is 16 × 8, the upper block is not the median of the motion vectors of the three blocks, the upper block is the upper adjacent block B, and the lower block is The motion vector of the block A on the left is adopted as the prediction vector.

なお、図4に示す動きベクトルの予測方法は一例であり、それに限られるものではない。符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、他の方法を用いることもできる。たとえば、隣接ブロックの位置および数が異なっていてもよい。また、隣接ブロックの複数の動きベクトルの中央値ではなく、平均値を用いてもよい。規定の条件や優先順位を設けて、単独の隣接ブロックの動きベクトルをそのまま用いてもよい。また、隣接ブロックは対象ブロックと必ずしも接していなくてもよい。また、図4ではマクロブロック単位の動きベクトルを予測する例を説明したが、サブマクロブロック単位の動きベクトルを予測する場合も、同様に処理することができる。   Note that the motion vector prediction method shown in FIG. 4 is an example and is not limited thereto. As long as the encoding method and the decoding side prescribe the motion vector prediction method identically, other methods can be used. For example, the position and number of adjacent blocks may be different. Further, an average value may be used instead of the median value of a plurality of motion vectors of adjacent blocks. A predetermined condition or priority order may be provided, and a motion vector of a single adjacent block may be used as it is. Moreover, the adjacent block does not necessarily have to contact the target block. In addition, although an example of predicting a motion vector in units of macroblocks has been described with reference to FIG. 4, the same processing can be performed when a motion vector in units of sub-macroblocks is predicted.

また、上記図4において説明した動きベクトルの予測方法において、隣接画素の動きベクトルをそのまま候補とするのではなく、スケーリングした動きベクトル値Vabcd’を予測ベクトルの算出に用いてもよい。スケーリングした動きベクトル値Vabcd’は、符号化対象画像と当該符号化対象ブロックの動きベクトルが指し示す参照画像との間の距離(時間)T1、及び符号化対象画像と隣接ブロックまたは隣接画素の動きベクトルVabcdが指し示す参照画像との距離(時間)T2との違いに応じてスケーリングした動きベクトル値である。スケーリングした動きベクトル値Vabcd’は下記式(11)により算出される。
Vabcd’=Vabcd*(T1/T2) ・・・式(11)
In the motion vector prediction method described with reference to FIG. 4, the motion vector value Vabcd ′ that has been scaled may be used for calculation of the prediction vector, instead of using the motion vector of the adjacent pixel as a candidate as it is. The scaled motion vector value Vabcd ′ includes the distance (time) T1 between the encoding target image and the reference image indicated by the motion vector of the encoding target block, and the motion vector of the encoding target image and the adjacent block or adjacent pixel. The motion vector value is scaled according to the difference from the distance (time) T2 from the reference image indicated by Vabcd. The scaled motion vector value Vabcd ′ is calculated by the following equation (11).
Vabcd ′ = Vabcd * (T1 / T2) (11)

符号化対象ブロックの動き補償予測で参照する参照画像と、隣接ブロックの動き補償予測で参照する参照画像が異なる場合、互いの動きベクトルの大きさに差が生じるため、そのミスマッチを解消するために動きベクトルをスケーリングする。例えば、物体が変形せず、等速運動をしていれば、動きベクトルの大きさはフレーム間隔が長くなるほど大きくなる。符号化対象画像−参照画像間のフレーム間隔T1、T2の比率に応じて隣接ブロック(隣接画素)の動きベクトルVabcdをスケーリングしてVabcd’を算出する。   If the reference image referenced in the motion-compensated prediction of the current block is different from the reference image referenced in the motion-compensated prediction of the adjacent block, there will be a difference in the size of each other's motion vector. Scale the motion vector. For example, if the object is not deformed and moves at a constant speed, the magnitude of the motion vector increases as the frame interval increases. Vabcd 'is calculated by scaling the motion vector Vabcd of the adjacent block (adjacent pixel) according to the ratio of the frame intervals T1 and T2 between the encoding target image and the reference image.

図5は、動きベクトル値のスケーリング処理の一例を説明するための図である。図5では、符号化対象画像の符号化対象ブロックの参照画像が画像Ref2であり、隣接ブロック(隣接画素)の動き補償予測の参照画像が画像Ref3である例を示している。図5ではT1:T2=2:3であるから、画像Ref3を参照している隣接ブロック(隣接画素)の動きベクトルを2/3にスケーリングする。これにより、仮に隣接ブロック(隣接画素)が画像Ref2を参照して動き補償予測をした場合の動きベクトルの値に近くなり、結果的に画像Ref2を参照する符号化対象ブロックの動きベクトルの値に近くなる。図5の例では、隣接ブロックの動き補償予測の際の参加画像が画像Ref3でその動きベクトルの値が(24,−9)の場合、それを2/3にスケーリングした(16,6)を、符号化対象ブロックが参照する画像Ref2の動きベクトルの値とするとよい。   FIG. 5 is a diagram for explaining an example of motion vector value scaling processing. FIG. 5 illustrates an example in which the reference image of the encoding target block of the encoding target image is the image Ref2, and the reference image for motion compensation prediction of the adjacent block (adjacent pixel) is the image Ref3. In FIG. 5, since T1: T2 = 2: 3, the motion vector of the adjacent block (adjacent pixel) referring to the image Ref3 is scaled to 2/3. As a result, the adjacent block (adjacent pixel) is close to the value of the motion vector when motion compensation prediction is performed with reference to the image Ref2, and as a result, the value of the motion vector of the block to be encoded that refers to the image Ref2 is obtained. Get closer. In the example of FIG. 5, when the participating image in the motion compensation prediction of the adjacent block is the image Ref3 and the value of the motion vector is (24, −9), it is scaled to 2/3 (16, 6). The motion vector value of the image Ref2 referred to by the encoding target block may be used.

図1に戻り、第2符号化ビット列生成部108は、予測ベクトルと対象ブロックの動きベクトルとの差分を計算することにより求めた差分ベクトルを算術符号化などのエントロピー符号化により符号化する。その際、平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出する。したがって、幾何学変換による動き補償予測で用いる動きベクトルから、平行移動による動き補償予測で用いる動きベクトルを予測して符号化したり、反対に、平行移動による動き補償予測で用いる動きベクトルから、幾何学変換による動き補償予測で用いる動きベクトルを予測して符号化する場合も発生する。平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出することにより、差分ベクトルの符号化効率を向上させる効果がある。   Returning to FIG. 1, the second encoded bit string generation unit 108 encodes the difference vector obtained by calculating the difference between the prediction vector and the motion vector of the target block by entropy encoding such as arithmetic encoding. At this time, a prediction vector is calculated by mixing a motion vector used in motion compensation prediction by parallel movement and a motion vector used in motion compensation prediction by geometric transformation. Therefore, a motion vector used in motion compensated prediction based on parallel movement is predicted and encoded from a motion vector used in motion compensated prediction based on geometric transformation. In some cases, a motion vector used in motion compensation prediction by conversion is predicted and encoded. By calculating a prediction vector by mixing a motion vector used in motion compensated prediction by translation and a motion vector used in motion compensated prediction by geometric transformation, there is an effect of improving the encoding efficiency of the difference vector.

上述したように、幾何学変換による動き補償予測で符号化・復号の対象となる動きベクトルは、マクロブロック・パーティションまたはサブマクロブロック・パーティションの、各中心に位置する画素の動きベクトルに設定される。各中心に位置する画素の動きベクトルは、各パーティションに含まれる全画素の動きベクトルの平均値とみなすことができ、平行移動による動き補償予測で用いる動きベクトルと強い相関を持つ。したがって、幾何学変換による動き補償予測で用いる動きベクトルと、平行移動による動き補償予測で用いる動きベクトルとの差分ベクトルも小さな値になる可能性が高い。   As described above, the motion vector to be encoded / decoded in motion compensated prediction by geometric transformation is set to the motion vector of the pixel located at the center of each macroblock partition or sub-macroblock partition. . The motion vector of the pixel located at each center can be regarded as an average value of the motion vectors of all the pixels included in each partition, and has a strong correlation with the motion vector used in the motion compensation prediction by the parallel movement. Therefore, the difference vector between the motion vector used in the motion compensation prediction based on the geometric transformation and the motion vector used in the motion compensation prediction based on the parallel movement is likely to be a small value.

第3符号化ビット列生成部109は、予測誤差信号符号化部106から供給される符号化された予測誤差信号を、算術符号化などのエントロピー符号化を用いて順次符号化し、符号化ビット列を生成する。   The third encoded bit sequence generation unit 109 sequentially encodes the encoded prediction error signal supplied from the prediction error signal encoding unit 106 using entropy encoding such as arithmetic encoding to generate an encoded bit sequence To do.

第1符号化ビット列生成部107、第2符号化ビット列生成部108および第3符号化ビット列生成部109により生成された符号化ビット列は、予測方法情報、動きベクトル、予測誤差信号以外の情報が符号化されたその他の符号化ビット列とともに、出力スイッチ113を介して多重化され、符号化ストリームが生成される。   The encoded bit strings generated by the first encoded bit string generation unit 107, the second encoded bit string generation unit 108, and the third encoded bit string generation unit 109 are encoded by information other than prediction method information, motion vectors, and prediction error signals. The other encoded bit strings are multiplexed via the output switch 113 to generate an encoded stream.

また、予測誤差信号復号部110は、予測誤差信号符号化部106により符号化された予測誤差信号に対して、逆量子化、逆直交変換などの伸張復号処理を行い、当該予測誤差信号を復号する。予測誤差信号復号部110は、復号した予測誤差信号を復号画像信号生成部111に供給する。復号画像信号生成部111は、予測誤差信号符号化部106から供給される予測誤差信号と、予測方法決定部104から供給される予測信号を重畳して、復号画像信号を生成する。復号画像信号生成部111は、その復号画像信号を画素ブロック単位で復号画像バッファ112に順次格納する。この復号画像バッファ112に格納される復号画像は、必要に応じて、符号化順序で後続する画像を動き補償予測する際の参照画像として利用される。   Further, the prediction error signal decoding unit 110 performs decompression decoding processing such as inverse quantization and inverse orthogonal transform on the prediction error signal encoded by the prediction error signal encoding unit 106, and decodes the prediction error signal. To do. The prediction error signal decoding unit 110 supplies the decoded prediction error signal to the decoded image signal generation unit 111. The decoded image signal generation unit 111 superimposes the prediction error signal supplied from the prediction error signal encoding unit 106 and the prediction signal supplied from the prediction method determination unit 104 to generate a decoded image signal. The decoded image signal generation unit 111 sequentially stores the decoded image signal in the decoded image buffer 112 in units of pixel blocks. The decoded image stored in the decoded image buffer 112 is used as a reference image when performing motion compensation prediction on the subsequent image in the encoding order, if necessary.

図6は、本発明の実施の形態1に係る画像符号化装置100における、マクロブロックの符号化処理手順を示すフローチャートである。まず、平行移動動き補償予測部102および幾何学変換動き補償予測部103は、画像バッファ101からマクロブロック信号を取り出す(S101)。   FIG. 6 is a flowchart showing a macroblock encoding processing procedure in image encoding apparatus 100 according to Embodiment 1 of the present invention. First, the translational motion compensation prediction unit 102 and the geometric transformation motion compensation prediction unit 103 extract a macroblock signal from the image buffer 101 (S101).

平行移動動き補償予測部102は、画像バッファ101から供給されるマクロブロック信号と、復号画像バッファ112から供給される参照画像信号との間で、平行移動による動き補償予測を行う(S102)。この平行移動による動き補償予測をモードごとに行う。幾何学変換動き補償予測部103は、画像バッファ101から供給されるマクロブロック信号と、復号画像バッファ112から供給される参照画像信号との間で、幾何学変換による動き補償予測を行う(S103)。この幾何学変換による動き補償予測をモードごとに行う。   The translational motion compensation prediction unit 102 performs motion compensation prediction by translation between the macroblock signal supplied from the image buffer 101 and the reference image signal supplied from the decoded image buffer 112 (S102). The motion compensation prediction based on the parallel movement is performed for each mode. The geometric transformation motion compensation prediction unit 103 performs motion compensation prediction by geometric transformation between the macroblock signal supplied from the image buffer 101 and the reference image signal supplied from the decoded image buffer 112 (S103). . Motion compensation prediction by this geometric transformation is performed for each mode.

予測方法決定部104は、平行移動による動き補償予測方法と、幾何学変換による動き補償予測とのいずれを採用するか決定する(S104)。その際、どのモードを採用するかも決定する。予測誤差信号生成部105は、画像バッファ101から供給される対象画像信号から、予測方法決定部104から供給される予測信号を減算し、予測誤差信号を生成する(S105)。予測誤差信号符号化部106は、当該予測誤差信号を符号化する(S106)。   The prediction method determination unit 104 determines which one of the motion compensation prediction method based on the parallel movement and the motion compensation prediction based on the geometric transformation is adopted (S104). At that time, it is also decided which mode is adopted. The prediction error signal generation unit 105 subtracts the prediction signal supplied from the prediction method determination unit 104 from the target image signal supplied from the image buffer 101 to generate a prediction error signal (S105). The prediction error signal encoding unit 106 encodes the prediction error signal (S106).

第1符号化ビット列生成部107は、予測方法決定部104から供給される予測方法情報を符号化し、符号化ビット列を生成する(S107)。第2符号化ビット列生成部108は、予測方法決定部104から供給される動きベクトルを符号化し、符号化ビット列を生成する(S108)。第3符号化ビット列生成部109は、予測誤差信号符号化部106により符号化された予測誤差信号を算術符号化等を用いてエントロピー符号化し、符号化ビット列を生成する(S109)。   The first encoded bit string generation unit 107 encodes the prediction method information supplied from the prediction method determination unit 104, and generates an encoded bit string (S107). The second encoded bit string generation unit 108 encodes the motion vector supplied from the prediction method determination unit 104 and generates an encoded bit string (S108). The third encoded bit string generation unit 109 entropy-encodes the prediction error signal encoded by the prediction error signal encoding unit 106 using arithmetic encoding or the like to generate an encoded bit string (S109).

予測誤差信号復号部110は、予測誤差信号符号化部106により符号化された予測誤差信号を復号する(S110)。復号画像信号生成部111は、予測誤差信号復号部110により復号された予測誤差信号と、予測方法決定部104から供給される予測信号とを重畳して、復号画像信号を生成する(S111)。復号画像信号生成部111は、生成した復号画像信号を復号画像バッファ112に蓄積する(S112)。   The prediction error signal decoding unit 110 decodes the prediction error signal encoded by the prediction error signal encoding unit 106 (S110). The decoded image signal generation unit 111 generates a decoded image signal by superimposing the prediction error signal decoded by the prediction error signal decoding unit 110 and the prediction signal supplied from the prediction method determination unit 104 (S111). The decoded image signal generation unit 111 accumulates the generated decoded image signal in the decoded image buffer 112 (S112).

以上説明したように実施の形態1によれば、幾何学変換による動き補償予測を使用する画像符号化方式にて、符号量の圧縮効率を向上させることができる。すなわち、幾何学変換による動き補償予測を使用する動きベクトルを予測符号化することにより、符号量を削減することができる。また、平行移動による動き補償予測と幾何学変換による動き補償予測とを併用すれば、符号量の圧縮効率をさらに向上させることができる。その際、平行移動による動き補償予測に係る動きベクトルと、幾何学変換による動き補償予測に係る動きベクトルの符号化方法を共通化することにより、これら2つの予測方法が混在しても、既存の動きベクトルの予測符号化方法をそのまま転用することができる。   As described above, according to the first embodiment, it is possible to improve the compression efficiency of the code amount by the image coding method using the motion compensated prediction based on the geometric transformation. That is, the amount of codes can be reduced by predictively encoding motion vectors that use motion compensated prediction by geometric transformation. Also, if the motion compensation prediction based on the parallel movement and the motion compensation prediction based on the geometric transformation are used in combination, the compression efficiency of the code amount can be further improved. At that time, by sharing a motion vector related to motion compensation prediction based on parallel movement and a motion vector encoding method related to motion compensation prediction based on geometric transformation, even if these two prediction methods are mixed, The motion vector predictive coding method can be used as it is.

また、幾何学変換による動き補償予測方法が採用された画素ブロックでは、その画素ブロックを分割したパーティションの中心またはその中心近傍の画素の動きベクトルが、その画素ブロックの動きベクトルとして扱われる。各中心に位置する画素の動きベクトルは、各パーティションに含まれる全画素の動きベクトルの平均値とみなすことができる。したがって、その画素ブロックに隣接する、平行移動による動き補償予測方法が採用された画素ブロックの動きベクトルとの相関も高くなる。よって、平行移動による動き補償予測と幾何学変換による動き補償予測を併用しても、動きベクトルの符号量の増大を抑制することができる。   In addition, in a pixel block in which a motion compensation prediction method based on geometric transformation is adopted, the motion vector of the pixel at or near the center of the partition into which the pixel block is divided is treated as the motion vector of the pixel block. The motion vector of the pixel located at each center can be regarded as an average value of the motion vectors of all the pixels included in each partition. Therefore, the correlation with the motion vector of the pixel block adjacent to the pixel block and adopting the motion compensation prediction method by parallel movement is also high. Therefore, even if the motion compensation prediction based on the parallel movement and the motion compensation prediction based on the geometric transformation are used together, an increase in the code amount of the motion vector can be suppressed.

また、本実施の形態に係る幾何学変換による動き補償予測は、8×8モードのマクロブロック・タイプ(このタイプでは、動きベクトルが4つ生成される)にも、8×16モードおよび16×8モードのマクロブロック・タイプ(これらのタイプでは、動きベクトルが2つ生成される)にも、対応することができる。同様に、4×4モードのサブマクロブロック・タイプ(このタイプでは、動きベクトルが4つ生成される)にも、4×8モードおよび8×4モードのサブマクロブロック・タイプ(これらのタイプでは、動きベクトルが2つ生成される)にも、対応することができる。このように、AVC/H.264などで採用されているマクロブロック・パーティションおよびサブマクロブロック・パーティションにすべて対応し、既存の符号化方式との調和性および互換性が高い。したがって、導入コストも抑制することができる。   In addition, motion compensated prediction by geometric transformation according to the present embodiment can be applied to 8 × 16 mode and 16 × in the 8 × 8 mode macroblock type (in this type, four motion vectors are generated). An 8-mode macroblock type (in these types two motion vectors are generated) can also be supported. Similarly, 4 × 4 mode sub-macroblock types (in which four motion vectors are generated) are also applied to 4 × 8 mode and 8 × 4 mode sub-macroblock types (in these types). , Two motion vectors are generated). Thus, AVC / H. It corresponds to all macroblock partitions and sub-macroblock partitions adopted in H.264, etc., and is highly harmonious and compatible with existing coding schemes. Therefore, the introduction cost can be suppressed.

図7は、本発明の実施の形態2に係る画像復号装置200の構成を示すブロック図である。当該画像復号装置200は、実施の形態1に係る画像符号化装置100により生成された符号化ストリームを復号する。当該符号化ストリームにおいて、上述したように、平行移動による動き補償予測と幾何学変換による動き補償予測が併用されている場合もあるし、幾何学変換による動き補償予測が単独で使用されている場合もある。なお、イントラ符号化については考慮していない。   FIG. 7 is a block diagram showing a configuration of image decoding apparatus 200 according to Embodiment 2 of the present invention. The image decoding apparatus 200 decodes the encoded stream generated by the image encoding apparatus 100 according to Embodiment 1. In the encoded stream, as described above, motion compensated prediction based on parallel movement and motion compensated prediction based on geometric transformation may be used together, or motion compensated prediction based on geometric transformation is used alone. There is also. Note that intra coding is not considered.

画像復号装置200は、入力スイッチ209、復号部250、平行移動動き補償予測部204、幾何学変換動き補償予測部205、復号画像信号生成部207、復号画像バッファ208、切替制御部214、第1予測部スイッチ210、第2予測部スイッチ211、第3予測部スイッチ212および第4予測部スイッチ213を備える。復号部250は、第1符号化ビット列復号部201、第2符号化ビット列復号部202、第3符号化ビット列復号部203および予測誤差信号復号部206を含む。   The image decoding apparatus 200 includes an input switch 209, a decoding unit 250, a translational motion compensation prediction unit 204, a geometric transformation motion compensation prediction unit 205, a decoded image signal generation unit 207, a decoded image buffer 208, a switching control unit 214, A prediction unit switch 210, a second prediction unit switch 211, a third prediction unit switch 212, and a fourth prediction unit switch 213 are provided. The decoding unit 250 includes a first encoded bit string decoding unit 201, a second encoded bit string decoding unit 202, a third encoded bit string decoding unit 203, and a prediction error signal decoding unit 206.

これらの構成は、ハードウェア的には、任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。   These configurations can be realized by an arbitrary processor, memory, or other LSI in terms of hardware, and can be realized by a program loaded in the memory in terms of software, but here by their cooperation. Draw functional blocks. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.

復号部250は、符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する。上述したように、符号化ストリームには差分ベクトルが符号化されている。差分ベクトルは、対象ブロックの動きベクトルと、その隣接ブロックまたはその隣接画素の動きベクトルから予測された予測ベクトルとの差分である。復号部250は、動きベクトルを復号する際、当該隣接ブロックまたは当該隣接画素の動きベクトルから予測ベクトルを算出し、当該予測ベクトルに、復号された差分ベクトルを加算することにより、予測符号化された対象ブロックの動きベクトルを復号する。上述したように、対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されている。復号部250は、動きベクトルを復号する際、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号する。なお、幾何学変換動き補償の場合、対象ブロックの動きベクトルが代表画素の動きベクトルとなる。   The decoding unit 250 decodes prediction method information, motion vectors, and prediction error signals included in the encoded stream. As described above, the difference vector is encoded in the encoded stream. The difference vector is a difference between the motion vector of the target block and a prediction vector predicted from the motion vector of the adjacent block or the adjacent pixel. When decoding the motion vector, the decoding unit 250 calculates a prediction vector from the motion vector of the adjacent block or the adjacent pixel, and adds the decoded difference vector to the prediction vector, thereby performing prediction encoding. The motion vector of the target block is decoded. As described above, the motion vector of the target block is predictively encoded with reference to the motion vector of the adjacent block regardless of the motion compensation prediction method of the adjacent block. When decoding the motion vector, the decoding unit 250 decodes the motion vector of the target block subjected to predictive encoding with reference to the motion vector of the adjacent block regardless of the motion compensation prediction method of the adjacent block. In the case of geometric conversion motion compensation, the motion vector of the target block becomes the motion vector of the representative pixel.

平行移動動き補償予測部204は、対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する。幾何学変換動き補償予測部205は、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成する。   The translational motion compensation prediction unit 204 obtains a prediction signal from the motion vector between the target block in the target image and the reference block in the reference image that is translated with the target block, and the image signal of the reference block. Generate. The geometric transformation motion compensation prediction unit 205 performs prediction based on the motion vector between the target block in the target image, the reference block in the reference image having a geometric transformation relationship with the target block, and the image signal of the reference block. Generate a signal.

上述したように、上記対象ブロックは、複数の小ブロックに分割され、小ブロックごとに代表画素が選定されている。当該代表画素は、当該小ブロックの略中心または略重心の画素に選定されており、上記符号化ストリームには、それぞれの代表画素の動きベクトルが含まれる。幾何学変換動き補償予測部205は、対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の動きベクトルを用いた内挿および外挿の少なくともいずれか一方により算出する。たとえば、代表画素以外の画素の動きベクトルは、上述した式(1)〜式(10)に示した演算式により算出される。   As described above, the target block is divided into a plurality of small blocks, and a representative pixel is selected for each small block. The representative pixel is selected as a pixel at the approximate center or the approximate center of gravity of the small block, and the encoded stream includes a motion vector of each representative pixel. The geometric transformation motion compensation prediction unit 205 calculates a motion vector of pixels other than the plurality of representative pixels of the target block by at least one of interpolation and extrapolation using the motion vectors of the plurality of representative pixels. For example, the motion vectors of the pixels other than the representative pixel are calculated by the arithmetic expressions shown in the above expressions (1) to (10).

切替制御部214は、復号部250により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、平行移動動き補償予測部204による予測方法と、幾何学変換動き補償予測部205による予測方法とのいずれを用いるか指定する。   The switching control unit 214 refers to the prediction method information decoded by the decoding unit 250, and for each target block in the target image, the prediction method by the translational motion compensation prediction unit 204 and the geometric transformation motion compensation prediction unit 205. Specify which of the prediction methods is used.

その際、切替制御部214は、どのモードが指定されているかも指定する。たとえば、幾何学変換動き補償予測部205による動き補償予測を指定する予測方法情報には、対象ブロックが十字に4等分されて4つの正方形の小ブロックに分割され、4つの動きベクトルが検出される第1モードと、対象ブロックが横に2等分されて2つの縦長長方形の小ブロックに分割され、2つの動きベクトルが検出される第2モードと、対象ブロックが縦に2等分されて2つの横長長方形の小ブロックに分割され、2つの動きベクトルが検出される第3モードのいずれかが指定されている。   At that time, the switching control unit 214 also designates which mode is designated. For example, in the prediction method information for designating motion compensation prediction by the geometric transformation motion compensation prediction unit 205, the target block is divided into four equal parts in a cross and divided into four square small blocks, and four motion vectors are detected. The first mode, the target block is horizontally divided into two vertically divided small rectangular blocks, and two motion vectors are detected. The target block is vertically divided into two equal parts. Any one of the third modes in which two motion vectors are detected after being divided into two horizontally long rectangular small blocks is designated.

以下、より具体的に説明する。第1符号化ビット列復号部201、第2符号化ビット列復号部202、および第3符号化ビット列復号部203には、実施の形態1に係る画像符号化装置100により生成された符号化ストリームに含まれる符号化ビット列が、入力スイッチ209を介して選択的に入力される。   More specific description will be given below. The first encoded bit string decoding unit 201, the second encoded bit string decoding unit 202, and the third encoded bit string decoding unit 203 are included in the encoded stream generated by the image encoding device 100 according to Embodiment 1. The encoded bit string to be transmitted is selectively input via the input switch 209.

第1符号化ビット列復号部201は、入力スイッチ209を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、予測方法情報を取得する。上述したように、この予測方法情報には平行移動/幾何学変換のどちらで符号化されているかが含まれているとともに、平行移動動き補償の場合、16×16/16×8/8×16/8×8モードのいずれを用いるかという情報が含まれている。幾何学変換の場合、4つの代表画素a、b、c、dの動きベクトルを符号化・復号する第1モード、対象ブロックの縦方向における2つの代表画素e、fの動きベクトルを符号化・復号する第2モード、対象ブロックの横方向における2つの代表画素g、hの動きベクトルを符号化・復号する第3モードのどのモードで符号化されているかの情報等が含まれている。第2符号化ビット列復号部202は、入力スイッチ209を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、動きベクトルを取得する。前述の通り、この動きベクトルの符号化に際しては、隣接ブロックの動きベクトルから算出される予測ベクトルと復号対象ブロックの動きベクトルとの差分ベクトルで記述されている。具体的には、第2符号化ビット列復号部202は、入力スイッチ209を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、差分ベクトルを取得する。さらに、第2符号化ビット列復号部202は、第1符号化ビット列復号部201から供給される予測方法情報に応じて、すでに符号化・復号されている周囲の隣接ブロック、または隣接画素の動きベクトルから対象ブロックの動きベクトルを予測することにより予測ベクトルを算出する。この第2符号化ビット列復号部202での予測ベクトルの算出は、画像符号化装置100の第2符号化ビット列生成部108での予測ベクトルの算出と同一の方法で行う。そして、当該予測ベクトルに、符号化ビット列から復号された前記差分ベクトルを加算することにより動きベクトルを取得する。なお、符号化側で、平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出しているので、同様に復号側でも平行移動による動き補償予測で用いる動きベクトルと幾何学変換による動き補償予測で用いる動きベクトルを混在させて予測ベクトルを算出し、その予測ベクトルに復号された差分ベクトルを加算することで、動きベクトルを取得する。平行移動動き補償予測の場合、当該ブロックの動きベクトルが取得でき、幾何学変換動き補償予測の場合、当該ブロックの代表画素の動きベクトルが取得できる。   The first encoded bit string decoding unit 201 decodes the encoded bit string supplied via the input switch 209 by entropy decoding such as arithmetic decoding, and acquires prediction method information. As described above, the prediction method information includes whether the encoding is performed by translation / geometric transformation, and in the case of translation motion compensation, 16 × 16/16 × 8/8 × 16. Information on which of the / 8 × 8 mode is used is included. In the case of geometric transformation, a first mode for encoding / decoding the motion vectors of the four representative pixels a, b, c, d, and encoding the motion vectors of the two representative pixels e, f in the vertical direction of the target block The information includes information on the second mode for decoding and the third mode for encoding / decoding the motion vectors of the two representative pixels g and h in the horizontal direction of the target block. The second encoded bit string decoding unit 202 decodes the encoded bit string supplied via the input switch 209 by entropy decoding such as arithmetic decoding to obtain a motion vector. As described above, when encoding the motion vector, the motion vector is described by a difference vector between the prediction vector calculated from the motion vector of the adjacent block and the motion vector of the decoding target block. Specifically, the second encoded bit string decoding unit 202 decodes the encoded bit string supplied via the input switch 209 by entropy decoding such as arithmetic decoding, and obtains a difference vector. Further, the second encoded bit string decoding unit 202 performs motion vectors of neighboring blocks or adjacent pixels that have already been encoded / decoded according to the prediction method information supplied from the first encoded bit string decoding unit 201. The prediction vector is calculated by predicting the motion vector of the target block. The calculation of the prediction vector in the second encoded bit string decoding unit 202 is performed by the same method as the calculation of the prediction vector in the second encoded bit string generation unit 108 of the image encoding device 100. Then, the motion vector is obtained by adding the difference vector decoded from the encoded bit string to the prediction vector. Note that the encoding side calculates the prediction vector by mixing the motion vector used in the motion compensation prediction by translation and the motion vector used in the motion compensation prediction by geometric transformation. A motion vector used in motion compensated prediction and a motion vector used in motion compensated prediction based on geometric transformation are mixed to calculate a predictive vector, and the motion vector is obtained by adding the decoded difference vector to the predicted vector. In the case of parallel motion compensation compensation, the motion vector of the block can be acquired, and in the case of geometric transformation motion compensation prediction, the motion vector of the representative pixel of the block can be obtained.

第1符号化ビット列復号部201により復号された予測方法情報により、復号対象の画素ブロックがイントラ符号化、平行移動による動き補償予測および幾何学変換による動き補償予測のどの手法を、どの参照画像を用いて、どのような画素ブロック単位で選択、組み合わせられているかが分かる。   Based on the prediction method information decoded by the first encoded bit string decoding unit 201, which pixel block to be decoded is intra-coded, motion-compensated prediction by parallel movement, and motion-compensated prediction by geometric transformation, and which reference image is used. By using this, it can be seen what pixel block unit is selected and combined.

切替制御部214は、第1符号化ビット列復号部201から供給される予測方法情報に応じて、第1予測部スイッチ210、第2予測部スイッチ211、第3予測部スイッチ212および第4予測部スイッチ213を切り替える。対象ブロックの予測方法として、平行移動による動き補償予測方法が選択されている場合、平行移動動き補償予測部204の経路が選択されるよう切り替え、幾何学変換による動き補償予測方法が選択されている場合、幾何学変換動き補償予測部205の経路が選択されるよう切り替える。   The switching control unit 214 performs the first prediction unit switch 210, the second prediction unit switch 211, the third prediction unit switch 212, and the fourth prediction unit according to the prediction method information supplied from the first encoded bit string decoding unit 201. Switch 213 is switched. When the motion compensation prediction method by translation is selected as the prediction method of the target block, switching is performed so that the path of the translation motion compensation prediction unit 204 is selected, and the motion compensation prediction method by geometric transformation is selected. In this case, the path of the geometric transformation motion compensation prediction unit 205 is switched to be selected.

平行移動動き補償予測部204は、復号画像バッファ208から第4予測部スイッチ213を介して供給される参照画像とすべき復号画像、および第2符号化ビット列復号部202から第2予測部スイッチ211を介して供給される復号された動きベクトルを用いて、平行移動による動き補償予測を行う。   The translation motion compensated prediction unit 204 includes a decoded image to be a reference image supplied from the decoded image buffer 208 via the fourth prediction unit switch 213, and a second encoded bit string decoding unit 202 to the second prediction unit switch 211. Using the decoded motion vector supplied via, motion compensated prediction by translation is performed.

幾何学変換動き補償予測部205は、復号画像バッファ208から第4予測部スイッチ213を介して供給される参照画像とすべき復号画像、および第2符号化ビット列復号部202から第2予測部スイッチ211を介して供給される復号された複数の代表画素の動きベクトルを用いて、上記式(1)〜(4)により代表画素以外の全画素の動きベクトルを内挿および外挿のいずれか一方により算出し、それらの画素毎の動きベクトルに応じて画素毎に動き補償を行うことで幾何学変換による動き補償予測を行う。   The geometric transformation motion compensated prediction unit 205 includes a decoded image to be a reference image supplied from the decoded image buffer 208 via the fourth prediction unit switch 213, and a second prediction bit switch from the second encoded bit string decoding unit 202. Using the decoded motion vectors of a plurality of representative pixels supplied via 211, the motion vectors of all the pixels other than the representative pixels are interpolated or extrapolated using the above equations (1) to (4). And motion compensation prediction by geometric transformation is performed by performing motion compensation for each pixel according to the motion vector for each pixel.

第3符号化ビット列復号部203は、入力スイッチ209を介して供給される符号化ビット列を順次復号し、符号化された予測誤差信号を取得する。予測誤差信号復号部206は、第3符号化ビット列復号部203から供給された符号化された予測誤差信号に対して、逆量子化、逆直交変換などの伸張復号処理を行い、復号された予測誤差信号を取得する。   The third encoded bit string decoding unit 203 sequentially decodes the encoded bit string supplied via the input switch 209, and obtains an encoded prediction error signal. The prediction error signal decoding unit 206 performs decompression decoding processing such as inverse quantization and inverse orthogonal transform on the encoded prediction error signal supplied from the third encoded bit string decoding unit 203, and performs the decoded prediction Get the error signal.

復号画像信号生成部207は、予測信号、および予測誤差信号から画像信号を生成する。より具体的には、復号画像信号生成部207は、切替制御部214により指定された予測方法に応じて、平行移動動き補償予測部204または幾何学変換動き補償予測部205から第3予測部スイッチ212を介して供給される予測信号に、予測誤差信号復号部206から供給される予測誤差信号を重畳して、復号画像信号を生成する。復号画像信号生成部207は、その復号画像信号を画素ブロック単位で、復号画像バッファ208に順次格納する。   The decoded image signal generation unit 207 generates an image signal from the prediction signal and the prediction error signal. More specifically, the decoded image signal generation unit 207 switches from the translation motion compensation prediction unit 204 or the geometric transformation motion compensation prediction unit 205 to the third prediction unit switch according to the prediction method specified by the switching control unit 214. The prediction error signal supplied from the prediction error signal decoding unit 206 is superimposed on the prediction signal supplied via 212 to generate a decoded image signal. The decoded image signal generation unit 207 sequentially stores the decoded image signal in the decoded image buffer 208 in units of pixel blocks.

図8は、本発明の実施の形態2に係る画像復号装置200における、マクロブロックの復号処理手順を示すフローチャートである。第1符号化ビット列復号部201は、入力スイッチ209を介して供給される符号化ビット列を復号して、予測方法情報を取得する(S201)。第2符号化ビット列復号部202は、入力スイッチ209を介して供給される符号化ビット列を復号して、差分ベクトルを取得する(S202)。第2符号化ビット列復号部202は、周辺ブロックまたは周辺画素から予測ベクトルを算出し(S202)、その予測ベクトルに予測方法決定部104から供給される差分ベクトルを加算して、対象ブロックまたは対象画素の動きベクトルを算出する(S202)。   FIG. 8 is a flowchart showing a macroblock decoding process procedure in image decoding apparatus 200 according to Embodiment 2 of the present invention. The first encoded bit string decoding unit 201 decodes the encoded bit string supplied via the input switch 209 and acquires prediction method information (S201). The second encoded bit string decoding unit 202 decodes the encoded bit string supplied via the input switch 209 and obtains a difference vector (S202). The second encoded bit string decoding unit 202 calculates a prediction vector from the neighboring blocks or neighboring pixels (S202), adds the difference vector supplied from the prediction method determining unit 104 to the prediction vector, and obtains the target block or target pixel. Is calculated (S202).

切替制御部214は、復号された予測方法情報を参照して、対象ブロックの動き補償予測方法を特定する(S203)。その予測方法が、平行移動による動き補償予測方法の場合(S203の平行移動)、平行移動動き補償予測部204は、復号画像バッファ208から供給される参照画像信号とすべき復号画像信号を、第2符号化ビット列復号部202から供給される動きベクトル用いて、平行移動による動き補償し、予測信号を生成する(S204)。   The switching control unit 214 refers to the decoded prediction method information and identifies the motion compensation prediction method of the target block (S203). When the prediction method is a motion compensation prediction method based on translation (translation in S203), the translation motion compensation prediction unit 204 determines a decoded image signal to be a reference image signal supplied from the decoded image buffer 208 as a reference image signal. The motion vector supplied from the 2-encoded bit string decoding unit 202 is used to perform motion compensation by translation and generate a prediction signal (S204).

切替制御部214により特定された予測方法が、幾何学変換による動き補償予測方法の場合(S203の幾何学変換)、幾何学変換動き補償予測部205は、復号画像バッファ208から供給される参照画像信号とすべき復号画像信号を、第2符号化ビット列復号部202から供給される動きベクトルを用いて、幾何学変換による動き補償し、予測信号を生成する(S205)。   When the prediction method specified by the switching control unit 214 is a motion compensation prediction method based on geometric transformation (geometric transformation in S203), the geometric transformation motion compensation prediction unit 205 uses the reference image supplied from the decoded image buffer 208. The decoded image signal to be a signal is motion-compensated by geometric transformation using the motion vector supplied from the second encoded bit string decoding unit 202 to generate a prediction signal (S205).

第3符号化ビット列復号部203は、入力スイッチ209を介して供給される符号化ビット列を復号して、符号化された予測誤差信号を取得する(S206)。復号画像信号生成部207は、取得された予測誤差信号を復号する(S207)。復号画像信号生成部207は、復号画像信号生成部207により復号された予測誤差信号と、平行移動動き補償予測部204または幾何学変換動き補償予測部205により生成された予測信号とを重畳して、復号画像信号を生成する(S208)。復号画像信号生成部207は、生成した復号画像信号を、復号画像バッファ208に蓄積する(S209)。この復号画像バッファ208に蓄積された復号画像信号は、平行移動動き補償予測部204および幾何学変換動き補償予測部205における参照画像信号として利用される。   The third encoded bit string decoding unit 203 decodes the encoded bit string supplied via the input switch 209 and obtains an encoded prediction error signal (S206). The decoded image signal generation unit 207 decodes the acquired prediction error signal (S207). The decoded image signal generation unit 207 superimposes the prediction error signal decoded by the decoded image signal generation unit 207 and the prediction signal generated by the translational motion compensation prediction unit 204 or the geometric transformation motion compensation prediction unit 205. Then, a decoded image signal is generated (S208). The decoded image signal generation unit 207 accumulates the generated decoded image signal in the decoded image buffer 208 (S209). The decoded image signal stored in the decoded image buffer 208 is used as a reference image signal in the translational motion compensation prediction unit 204 and the geometric transformation motion compensation prediction unit 205.

以上説明したように実施の形態2によれば、実施の形態1に係る画像符号化装置100により生成された符号化ストリームを、効率的に復号することができる。これにより、上述した実施の形態1に係る画像符号化装置100により実現される効果を、復号側からサポートし、その効果を担保することができる。すなわち、幾何学変換による動き補償予測を使用する画像符号化方式にて、符号量の圧縮効率を向上させる効果を、復号側からサポートし、その効果を担保することができる。また、平行移動による動き補償予測と幾何学変換による動き補償予測を併用する画像符号化方式にて、符号量の圧縮効率を向上させる効果を、復号側からサポートし、その効果を担保することができる。また、既存の画像復号装置との調和性および互換性が高く、導入コストを抑制することができる。   As described above, according to the second embodiment, the encoded stream generated by the image encoding apparatus 100 according to the first embodiment can be efficiently decoded. Thereby, the effect implement | achieved by the image coding apparatus 100 which concerns on Embodiment 1 mentioned above is supported from the decoding side, and the effect can be ensured. That is, in the image coding method using motion compensation prediction by geometric transformation, the effect of improving the compression efficiency of the code amount can be supported from the decoding side, and the effect can be ensured. Also, in the image coding method that uses motion compensation prediction by parallel movement and motion compensation prediction by geometric transformation, the effect of improving the compression efficiency of the code amount can be supported from the decoding side, and the effect can be guaranteed. it can. Moreover, the harmony and compatibility with the existing image decoding apparatus are high, and the introduction cost can be suppressed.

以上、本発明をいくつかの実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on some embodiments. It is understood by those skilled in the art that these embodiments are exemplifications, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. By the way.

上述した実施の形態では、対象ブロックの形状が正方形である例を説明した。この点、対象ブロックの形状は、三角形、平行四辺形、台形など、他の形状でもよい。また、上述した実施の形態では、小ブロック(すなわち、マクロブロック・パーティションおよびサブマクロブロック・パーティション)の形状も、正方形および長方形に限るものではなく、三角形、平行四辺形、台形など、他の形状でもよい。この場合、上記代表画素は、当該形状の重心または重心近傍に設定されることが好ましい。   In the above-described embodiment, the example in which the shape of the target block is a square has been described. In this regard, the shape of the target block may be other shapes such as a triangle, a parallelogram, and a trapezoid. In the above-described embodiment, the shape of the small block (that is, the macroblock partition and the sub-macroblock partition) is not limited to a square and a rectangle, but other shapes such as a triangle, a parallelogram, and a trapezoid. But you can. In this case, it is preferable that the representative pixel is set at or near the center of gravity of the shape.

上述した実施の形態では、小ブロック(すなわち、マクロブロック・パーティションおよびサブマクロブロック・パーティション)の略中心、略重心画素を代表画素としたが、それに限るものではなく、中心、または重心に相当する座標に位置する補間画素を代表画素としてもよいし、マクロブロックの頂点に相当する補間画素あるいはその周辺画素を代表画素としてもよい。   In the embodiment described above, the approximate center and approximately center of gravity pixel of the small block (that is, the macroblock partition and the sub macroblock partition) are used as the representative pixels. However, the present invention is not limited to this and corresponds to the center or center of gravity. The interpolation pixel located at the coordinates may be used as the representative pixel, or the interpolation pixel corresponding to the vertex of the macroblock or its surrounding pixels may be used as the representative pixel.

100 画像符号化装置、 101 画像バッファ、 102 平行移動動き補償予測部、 103 幾何学変換動き補償予測部、 104 予測方法決定部、 105 予測誤差信号生成部、 106 予測誤差信号符号化部、 107 第1符号化ビット列生成部、 108 第2符号化ビット列生成部、 109 第3符号化ビット列生成部、 110 予測誤差信号復号部、 111 復号画像信号生成部、 112 復号画像バッファ、 113 出力スイッチ、 150 符号化部、 200 画像復号装置、 201 第1符号化ビット列復号部、 202 第2符号化ビット列復号部、 203 第3符号化ビット列復号部、 204 平行移動動き補償予測部、 205 幾何学変換動き補償予測部、 206 予測誤差信号復号部、 207 復号画像信号生成部、 208 復号画像バッファ、 209 入力スイッチ、 210 第1予測部スイッチ、 211 第2予測部スイッチ、 212 第3予測部スイッチ、 213 第4予測部スイッチ、 214 切替制御部、 250 復号部。   DESCRIPTION OF SYMBOLS 100 Image coding apparatus, 101 Image buffer, 102 Translational motion compensation prediction part, 103 Geometric transformation motion compensation prediction part, 104 Prediction method determination part, 105 Prediction error signal generation part, 106 Prediction error signal coding part, 107 1 encoded bit string generation unit, 108 second encoded bit string generation unit, 109 third encoded bit string generation unit, 110 prediction error signal decoding unit, 111 decoded image signal generation unit, 112 decoded image buffer, 113 output switch, 150 code , 200 image decoding device, 201 first encoded bit string decoding unit, 202 second encoded bit string decoding unit, 203 third encoded bit string decoding unit, 204 translation motion compensation prediction unit, 205 geometric conversion motion compensation prediction , 206 prediction error signal decoding unit, 207 decoded image No. generation unit, 208 decoded image buffer 209 input switch, 210 a first prediction unit switch, 211 the second prediction unit switch, 212 the third prediction unit switch, 213 the fourth prediction section switch, 214 switch controller, 250 decoding unit.

Claims (6)

平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号部と、
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測部と、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測部と、
前記復号部により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償予測部による予測方法と、前記幾何学変換動き補償予測部による予測方法とのいずれを用いるか指定する制御部と、
前記制御部により指定された予測方法により生成された予測信号、および前記復号部により復号された予測誤差信号から画像信号を生成する画像信号生成部と、を備え、
前記対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、
前記復号部は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号することを特徴とする画像復号装置。
A decoding unit that decodes prediction method information, a motion vector, and a prediction error signal included in an encoded stream that is encoded by jointly using motion compensated prediction by parallel movement and motion compensated prediction by geometric transformation;
A translation motion compensated prediction unit that generates a prediction signal from a motion vector between a target block in the target image and a reference block in a reference image that has a translational relationship with the target block, and an image signal of the reference block When,
A motion vector between a target block in the target image and a reference block in a reference image that is geometrically transformed with the target block, and a geometric conversion motion compensation that generates a prediction signal from the image signal of the reference block A predictor;
With reference to the prediction method information decoded by the decoding unit, for each target block in the target image, either the prediction method by the translation motion compensation prediction unit or the prediction method by the geometric transformation motion compensation prediction unit A control unit for specifying whether to use,
A prediction signal generated by a prediction method specified by the control unit, and an image signal generation unit that generates an image signal from the prediction error signal decoded by the decoding unit,
The motion vector of the target block is a prediction code by referring to the motion vector of the adjacent block regardless of whether the motion compensation prediction method of the adjacent block is translation motion compensation prediction or geometric conversion motion compensation prediction. Has been
The said decoding part decodes the motion vector of the object block by which the prediction encoding was carried out with reference to the motion vector of the said adjacent block irrespective of the motion compensation prediction method of an adjacent block.
前記対象ブロックは、複数の代表画素が選定され、それぞれの代表画素の動きベクトルが予測符号化されて前記符号化ストリームに含まれており、
前記幾何学変換動き補償予測部は、前記対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の復号された動きベクトルを用いた内挿および外挿の少なくともいずれか一方により算出することを特徴とする請求項1に記載の画像復号装置。
In the target block, a plurality of representative pixels are selected, and a motion vector of each representative pixel is predictively encoded and included in the encoded stream.
The geometric transformation motion compensation prediction unit is configured to at least one of interpolation and extrapolation using a motion vector of a pixel other than the plurality of representative pixels of the target block using a decoded motion vector of the plurality of representative pixels. The image decoding device according to claim 1, wherein the image decoding device is calculated by:
前記代表画素は、前記対象ブロックを小ブロックに分割した場合の前記小ブロックの略中心または略重心に相当する画素に選定されていることを特徴とする請求項2に記載の画像復号装置。   3. The image decoding apparatus according to claim 2, wherein the representative pixel is selected as a pixel corresponding to a substantial center or a substantial center of gravity of the small block when the target block is divided into small blocks. 前記対象ブロックは、正方形の領域であり、
前記幾何学変換動き補償予測部による動き補償予測を指定する予測方法情報には、前記対象ブロックが十字に四等分された四つの正方形の小ブロックの四つの前記代表画素ごとに動きベクトルが検出される第1モードと、前記対象ブロックが横に二等分された二つの縦長長方形の小ブロックの二つの前記代表画素ごとに動きベクトルが検出される第2モードと、前記対象ブロックが縦に二等分された二つの横長長方形の小ブロックの二つの前記代表画素ごとに動きベクトルが検出される第3モードのいずれかが指定されていることを特徴とする請求項2または3に記載の画像復号装置。
The target block is a square area;
In the prediction method information for designating motion compensated prediction by the geometric transformation motion compensated prediction unit, a motion vector is detected for each of the four representative pixels of four square small blocks obtained by dividing the target block into four equal crosses. A second mode in which a motion vector is detected for each of the two representative pixels of two vertically long rectangular small blocks obtained by equally dividing the target block into two horizontally, and the target block is vertically 4. The third mode in which a motion vector is detected for each of the two representative pixels of two horizontally-divided small rectangular blocks divided into two equal parts is specified. 5. Image decoding device.
平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号ステップと、
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測ステップと、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測ステップと、
前記復号ステップにより復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償による予測方法と、前記幾何学変換動き補償による予測方法とのいずれを用いるか指定する指定ステップと、
前記指定ステップにより指定された予測方法により生成された予測信号、および前記復号ステップにより復号された予測誤差信号から画像信号を生成する画像信号生成ステップと、を備え、
前記対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、
前記復号ステップは、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号することを特徴とする画像復号方法。
A decoding step of decoding prediction method information, a motion vector, and a prediction error signal included in an encoded stream that is encoded by jointly using motion compensated prediction by parallel movement and motion compensated prediction by geometric transformation;
A translation motion compensation prediction step for generating a prediction signal from a motion vector between a target block in the target image and a reference block in a reference image in a translational relationship with the target block, and an image signal of the reference block When,
A motion vector between a target block in the target image and a reference block in a reference image that is geometrically transformed with the target block, and a geometric conversion motion compensation that generates a prediction signal from the image signal of the reference block A prediction step;
With reference to the prediction method information decoded in the decoding step, it is specified whether to use the prediction method based on the translation motion compensation or the prediction method based on the geometric transformation motion compensation for each target block in the target image. A designated step to
A prediction signal generated by the prediction method specified by the specifying step, and an image signal generation step of generating an image signal from the prediction error signal decoded by the decoding step,
The motion vector of the target block is a prediction code by referring to the motion vector of the adjacent block regardless of whether the motion compensation prediction method of the adjacent block is translation motion compensation prediction or geometric conversion motion compensation prediction. Has been
The image decoding method characterized in that the decoding step decodes the motion vector of the target block subjected to predictive coding with reference to the motion vector of the adjacent block regardless of the motion compensation prediction method of the adjacent block.
平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化された符号化ストリームに含まれる、予測方法情報、動きベクトルおよび予測誤差信号を復号する復号処理と、
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する平行移動動き補償予測処理と、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成する幾何学変換動き補償予測処理と、
前記復号処理により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償による予測方法と、前記幾何学変換動き補償による予測方法とのいずれを用いるか指定する指定処理と、
前記指定処理により指定された予測方法により生成された予測信号、および前記復号処理により復号された予測誤差信号から画像信号を生成する画像信号生成処理と、をコンピュータに実行させ、
前記対象ブロックの動きベクトルは、隣接ブロックの動き補償予測方法が平行移動動き補償予測であるか幾何学変換動き補償予測であるかに関わらずに、当該隣接ブロックの動きベクトルを参照して予測符号化されており、
前記復号処理は、予測符号化された対象ブロックの動きベクトルを、隣接ブロックの動き補償予測方法に関わらずに、当該隣接ブロックの動きベクトルを参照して復号することを特徴とする画像復号プログラム。
A decoding process for decoding prediction method information, a motion vector, and a prediction error signal included in an encoded stream encoded by jointly using motion compensated prediction by parallel movement and motion compensated prediction by geometric transformation;
Translation motion compensation prediction processing for generating a prediction signal from a motion vector between a target block in a target image and a reference block in a reference image in a translational relationship with the target block, and an image signal of the reference block When,
A motion vector between a target block in the target image and a reference block in a reference image that is geometrically transformed with the target block, and a geometric conversion motion compensation that generates a prediction signal from the image signal of the reference block The prediction process,
With reference to the prediction method information decoded by the decoding process, it is specified whether to use the prediction method based on the translational motion compensation or the prediction method based on the geometric transformation motion compensation for each target block in the target image. Specified processing to
Causing the computer to execute a prediction signal generated by the prediction method specified by the specifying process and an image signal generation process for generating an image signal from the prediction error signal decoded by the decoding process;
The motion vector of the target block is a prediction code by referring to the motion vector of the adjacent block regardless of whether the motion compensation prediction method of the adjacent block is translation motion compensation prediction or geometric conversion motion compensation prediction. Has been
The image decoding program characterized in that the decoding processing decodes a motion vector of a target block subjected to predictive encoding with reference to a motion vector of the adjacent block regardless of a motion compensation prediction method of the adjacent block.
JP2010215830A 2009-12-22 2010-09-27 Image decoder, method of decoding image, and image decoding program Pending JP2011151775A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010215830A JP2011151775A (en) 2009-12-22 2010-09-27 Image decoder, method of decoding image, and image decoding program
PCT/JP2010/006715 WO2011077632A1 (en) 2009-12-22 2010-11-16 Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009290824 2009-12-22
JP2009290824 2009-12-22
JP2010215830A JP2011151775A (en) 2009-12-22 2010-09-27 Image decoder, method of decoding image, and image decoding program

Publications (1)

Publication Number Publication Date
JP2011151775A true JP2011151775A (en) 2011-08-04

Family

ID=44538331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010215830A Pending JP2011151775A (en) 2009-12-22 2010-09-27 Image decoder, method of decoding image, and image decoding program

Country Status (1)

Country Link
JP (1) JP2011151775A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210893B1 (en) 2011-08-29 2012-12-11 주식회사 아이벡스피티홀딩스 Apparatus for decoding motion information in merge mode
JP2015092650A (en) * 2013-09-30 2015-05-14 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Image encoding method, image decoding method, image encoding device and image decoding device
RU2716231C2 (en) * 2011-09-09 2020-03-06 Кт Корпорейшен Video decoding method

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9161043B2 (en) 2011-08-29 2015-10-13 Ibex Pt Holdings Co., Ltd. Apparatus for decoding motion information in merge mode
KR101210893B1 (en) 2011-08-29 2012-12-11 주식회사 아이벡스피티홀딩스 Apparatus for decoding motion information in merge mode
US9025668B2 (en) 2011-08-29 2015-05-05 Ibex Pt Holdings Co., Ltd. Apparatus for decoding motion information in merge mode
US9025669B1 (en) 2011-08-29 2015-05-05 Ibex Pt Holdings Co., Ltd. Apparatus for decoding motion information in merge mode
USRE49907E1 (en) 2011-08-29 2024-04-02 Ibex Pt Holdings Co., Ltd. Apparatus for decoding motion information in merge mode
US9036709B1 (en) 2011-08-29 2015-05-19 Ibex Pt Holdings Co., Ltd. Apparatus for decoding motion information in merge mode
US8774279B2 (en) 2011-08-29 2014-07-08 Ibex Pt Holdings Co., Ltd. Apparatus for decoding motion information in merge mode
RU2716230C2 (en) * 2011-09-09 2020-03-06 Кт Корпорейшен Video decoding method
RU2716231C2 (en) * 2011-09-09 2020-03-06 Кт Корпорейшен Video decoding method
RU2716229C2 (en) * 2011-09-09 2020-03-06 Кт Корпорейшен Video decoding method
RU2716563C2 (en) * 2011-09-09 2020-03-12 Кт Корпорейшен Video decoding method
US10805639B2 (en) 2011-09-09 2020-10-13 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US11089333B2 (en) 2011-09-09 2021-08-10 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
JP2020025317A (en) * 2013-09-30 2020-02-13 サン パテント トラスト Image encoding method, image decoding method, image encoding device, and image decoding device
JP2015092650A (en) * 2013-09-30 2015-05-14 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Image encoding method, image decoding method, image encoding device and image decoding device

Similar Documents

Publication Publication Date Title
US9277220B2 (en) Image coding apparatus including a geometric-transformation motion compensation prediction unit utilizing at least two prediction modes out of four prediction modes
JP6615287B2 (en) Image decoding device
US9053543B2 (en) Methods and apparatuses for encoding/decoding high resolution images
TWI571108B (en) Video encoding device, video decoding device, video encoding method and video decoding method
JP5081305B2 (en) Method and apparatus for interframe predictive coding
CN106791880B (en) Image encoding device and method, image decoding device and method, and recording medium
JP5423948B2 (en) Moving picture encoding method, and apparatus and program using the same
KR20110008653A (en) Method and apparatus for predicting motion vector and method and apparatus of encoding/decoding a picture using the same
JP2010177809A (en) Moving image encoding apparatus and moving image decoding apparatus
CN114731428A (en) Image encoding/decoding method and apparatus for performing PROF and method of transmitting bitstream
JP2011029863A (en) Decoding processing method
JP2011147130A (en) Techniques for motion estimation
JP5686018B2 (en) Image coding apparatus, image coding method, and image coding program
JP2008271371A (en) Moving image encoding apparatus, moving image decoding apparatus, moving image encoding method, moving image decoding method, and program
JP5716437B2 (en) Image coding apparatus, image coding method, and image coding program
JP2013090015A (en) Intra prediction apparatus, encoder, decoder and program
JP5716438B2 (en) Image decoding apparatus, image decoding method, and image decoding program
JP2011151775A (en) Image decoder, method of decoding image, and image decoding program
WO2011077632A1 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
JP5686019B2 (en) Image decoding apparatus, image decoding method, and image decoding program
WO2011145282A1 (en) Image encoding apparatus, image encoding method, image encoding program, image decoding apparatus, image decoding method and image decoding program
JP2011151774A (en) Image coder, method of coding image, and image coding program
JP2021129148A (en) Prediction device, encoding device, decoding device, and program
WO2011099242A1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
WO2011099241A1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method