JP5716438B2 - Image decoding apparatus, image decoding method, and image decoding program - Google Patents

Image decoding apparatus, image decoding method, and image decoding program Download PDF

Info

Publication number
JP5716438B2
JP5716438B2 JP2011025347A JP2011025347A JP5716438B2 JP 5716438 B2 JP5716438 B2 JP 5716438B2 JP 2011025347 A JP2011025347 A JP 2011025347A JP 2011025347 A JP2011025347 A JP 2011025347A JP 5716438 B2 JP5716438 B2 JP 5716438B2
Authority
JP
Japan
Prior art keywords
motion vector
mode
prediction
representative
target block
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.)
Active
Application number
JP2011025347A
Other languages
Japanese (ja)
Other versions
JP2012165279A (en
Inventor
博哉 中村
博哉 中村
上田 基晴
基晴 上田
徹 熊倉
徹 熊倉
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 Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2011025347A priority Critical patent/JP5716438B2/en
Publication of JP2012165279A publication Critical patent/JP2012165279A/en
Application granted granted Critical
Publication of JP5716438B2 publication Critical patent/JP5716438B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動き補償予測を用いて画像を復号する画像復号装置、画像復号方法および画像復号プログラムに関する。   The present invention relates to an image decoding apparatus, an image decoding method, and an image decoding program that decode an image 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 translational motion vector and a lattice point motion vector (that is, a motion vector used in geometric transformation) are encoded.

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

このような状況下、本発明者は、幾何学変換による動き補償予測を使用する画像符号化方式にて、動きベクトル情報を圧縮することにより、さらに全体の符号量を圧縮する手法を見出した。   Under such circumstances, the present inventor has found a method of further compressing the entire code amount by compressing motion vector information by an image encoding method using motion compensated prediction by geometric transformation.

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

本発明のある態様、画像復号装置である。この装置は、幾何学変換による動き補償予測が使用されて符号化された符号化ストリームに含まれる、予測モードを特定するための予測方法情報、予測モードに応じた代表画素の差分動きベクトルおよび予測誤差信号を復号するための復号部と、予測方法情報により特定される予測モードに従って、代表画素の動きベクトルの予測動きベクトルを、対象ブロック内外の動きベクトルを用いて算出し、その予測動きベクトルに代表画素の差分動きベクトルを加算して代表画素の動きベクトルを生成するための動きベクトル生成部と、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の代表画素の動きベクトル、代表画素の動きベクトルを用いた補間により算出する代表画素以外の動きベクトル、および参照ブロックの画像信号から予測信号を生成するための幾何学変換動き補償予測部と、予測信号、および復号部により復号された予測誤差信号から画像信号を生成するための画像信号生成部と、を備える。代表画素には、対象ブロックを構成する頂点に位置する画素、頂点近傍に位置する画素または頂点近傍に位置する補間画素が選定され、対象ブロックは四角形の領域であり、幾何学変換動き補償予測部は、対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号する第1モードと、対象ブロックの4つの頂点のうち、左上、右上および左下の代表画素の差分動きベクトルを復号し、右下の代表画素の差分動きベクトルを復号しない第2モードと、対象ブロックの4つの頂点のうち、左上および左下の代表画素の差分動きベクトルを復号し、右上および下の代表画素の差分動きベクトルを復号しない第3モードと、対象ブロックの4つの頂点のうち、左上および右上の代表画素の差分動きベクトルを復号し、左下および右下の代表画素の差分動きベクトルを復号しない第4モードと、対象ブロックの4つの頂点のうち、左上および右下の代表画素の差分動きベクトルを復号し、右上および左下の代表画素の差分動きベクトルを復号しない第5モードと、対象ブロックの4つの頂点のうち、右上および左下の代表画素の差分動きベクトルを復号し、左上および右下の代表画素の差分動きベクトルを復号しない第6モードと、対象ブロックの4つの頂点のうち、左上の代表画素の差分動きベクトルを復号し、右上、左下および右下の代表画素の差分動きベクトルを復号しない第7モードと、対象ブロックの4つの頂点のうち、右上の代表画素の差分動きベクトルを復号し、左上、左下および右下の代表画素の差分動きベクトルを復号しない第8モードと、対象ブロックの4つの頂点のうち、左下の代表画素の差分動きベクトルを復号し、左上、右上および右下の代表画素の差分動きベクトルを復号しない第9モードと、対象ブロックの4つの頂点のうち、右下の代表画素の差分動きベクトルを復号し、左上、右上および左下の代表画素の差分動きベクトルを復号しない第10モードと、対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号しない第11モードのうち、少なくとも2つの予測モードを備え、その少なくとも1つの予測モードには、第5モード、第6モード、第7モード、第8モード、第9モード、第10モードおよび第11モードの少なくとも1つが含まれる。 One embodiment of the present invention is an image decoding device. This apparatus includes prediction method information for specifying a prediction mode, a differential motion vector of a representative pixel corresponding to the prediction mode, and a prediction included in an encoded stream that is encoded using motion compensated prediction by geometric transformation. In accordance with the decoding unit for decoding the error signal and the prediction mode specified by the prediction method information, the predicted motion vector of the motion vector of the representative pixel is calculated using the motion vectors inside and outside the target block, and the predicted motion vector is used as the predicted motion vector. A motion vector generation unit for generating a motion vector of the representative pixel by adding the difference motion vector of the representative pixel, a target block in the target image, and a reference in the reference image that is geometrically transformed with the target block Motion other than the representative pixel calculated by interpolation using the motion vector of the representative pixel between the block and the motion vector of the representative pixel Geometric transformation motion compensated prediction unit for generating a prediction signal from a vector and an image signal of a reference block, and an image signal generation unit for generating an image signal from the prediction signal and a prediction error signal decoded by the decoding unit And comprising. For the representative pixel, a pixel located at the vertex constituting the target block, a pixel located near the vertex, or an interpolation pixel located near the vertex is selected, and the target block is a rectangular region, and the geometric transformation motion compensation prediction unit Are the first mode for decoding the differential motion vectors of the upper left, upper right, lower left and lower right representative pixels among the four vertices of the target block, and the upper left, upper right and lower left representatives of the four vertices of the target block. The second mode in which the difference motion vector of the pixel is decoded and the difference motion vector of the lower right representative pixel is not decoded, and the difference motion vector of the upper left and lower left representative pixels among the four vertices of the target block is decoded, and the upper right and a third mode in which no decoded differential motion vector of the representative pixel of the lower right, of the four vertices of the target block, difference motion of the upper left and upper right of the representative pixel vectors In the fourth mode in which the differential motion vectors of the lower left and lower right representative pixels are not decoded, and the differential motion vectors of the upper left and lower right representative pixels of the four vertices of the target block are decoded, and the upper right and lower left And the differential motion vector of the upper left and lower right representative pixels from the four vertices of the target block, and the differential motion vector of the upper left and lower right representative pixels are decoded. A sixth mode in which decoding is not performed, a seventh mode in which the difference motion vector of the upper left, lower left and lower right representative pixels is decoded among the four vertices of the target block, and the target motion is not decoded Of the four vertices of the block, the differential motion vector of the upper right representative pixel is decoded, and the differential motion vector of the upper left, lower left and lower right representative pixels is not decoded. 8 mode, the ninth mode in which the differential motion vector of the lower left representative pixel among the four vertices of the target block is decoded, and the differential motion vector of the upper left, upper right and lower right representative pixels is not decoded, and 4 of the target block The tenth mode in which the differential motion vector of the lower right representative pixel among the vertices is decoded, and the differential motion vector of the upper left, upper right and lower left representative pixels is not decoded, and the upper left and upper right of the four vertices of the target block Among the eleventh mode in which the differential motion vectors of the lower left and lower right representative pixels are not decoded, at least two prediction modes are provided, and the at least one prediction mode includes a fifth mode, a sixth mode, a seventh mode, At least one of an eighth mode, a ninth mode, a tenth mode, and an eleventh mode is included.

動きベクトル生成部は、第1モード、第2モード、第4モード、第6モードまたは第8モードでは、四角形の対象ブロックにおける右上の頂点に相当する代表画素の予測動きベクトルを、上隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは上隣のブロックの動きベクトルの値と、対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値をもとに算出し、その算出された予測動きベクトルと差分動きベクトルとを加算して対象ブロックにおける右上の頂点に相当する代表画素の動きベクトルを算出し、第3モード、第5モード、第7モード、第9モード、第10モードまたは第11モードでは、四角形の対象ブロックにおける右上の頂点に相当する代表画素の予測動きベクトルを、上隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは上隣のブロックの動きベクトルの値と、対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値を対象ブロックにおける右上の頂点に相当する代表画素の動きベクトルとしてもよい。   In the first mode, the second mode, the fourth mode, the sixth mode, or the eighth mode, the motion vector generation unit outputs the predicted motion vector of the representative pixel corresponding to the upper right vertex in the rectangular target block to the upper adjacent block. Adaptively selecting the motion vector value of the representative pixel corresponding to the lower right vertex of the block or the motion vector value of the upper adjacent block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block, Calculating based on the value of the selected motion vector, adding the calculated predicted motion vector and the difference motion vector to calculate the motion vector of the representative pixel corresponding to the upper right vertex in the target block; In the mode, the fifth mode, the seventh mode, the ninth mode, the tenth mode, or the eleventh mode, the representative pixel corresponding to the upper right vertex in the rectangular target block For the predicted motion vector, the motion vector value of the representative pixel corresponding to the lower right vertex of the upper adjacent block or the motion vector value of the upper adjacent block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block And the value of the selected motion vector may be used as the motion vector of the representative pixel corresponding to the upper right vertex in the target block.

動きベクトル生成部は、第1モード、第2モード、第3モード、第6モードまたは第9モードでは、四角形の対象ブロックにおける左下の頂点に相当する代表画素の予測動きベクトルを、左隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは左隣のブロックの動きベクトルの値と、対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値をもとに算出し、その算出された予測動きベクトルと差分動きベクトルとを加算して対象ブロックにおける左下の頂点に相当する代表画素の動きベクトルを算出し、第4モード、第5モード、第7モード、第8モード、第10モードまたは第11モードでは、四角形の対象ブロックにおける左下の頂点に相当する代表画素の予測動きベクトルを、左隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは左隣のブロックの動きベクトルの値と、対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値を対象ブロックにおける左下の頂点に相当する代表画素の動きベクトルとしてもよい。   In the first mode, the second mode, the third mode, the sixth mode, or the ninth mode, the motion vector generation unit outputs the predicted motion vector of the representative pixel corresponding to the lower left vertex in the rectangular target block to the block on the left Adaptively select the motion vector value of the representative pixel corresponding to the lower right vertex of the block or the motion vector value of the left adjacent block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block. Calculate based on the value of the selected motion vector, add the calculated predicted motion vector and the difference motion vector to calculate the motion vector of the representative pixel corresponding to the lower left vertex in the target block, In the mode, the fifth mode, the seventh mode, the eighth mode, the tenth mode, or the eleventh mode, the representative pixel corresponding to the lower left vertex in the rectangular target block For the predicted motion vector, the motion vector value of the representative pixel corresponding to the lower right vertex of the left adjacent block or the motion vector value of the left adjacent block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block And the value of the selected motion vector may be used as the motion vector of the representative pixel corresponding to the lower left vertex in the target block.

対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および参照ブロックの画像信号から予測信号を生成するための平行移動動き補償予測部と、復号部により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、平行移動動き補償予測部による予測方法と、幾何学変換動き補償予測部による予測方法とのいずれを用いるか指定するための制御部と、をさらに備えてもよい。符号化ストリームに含まれるデータは、平行移動による動き補償予測と幾何学変換による動き補償予測が併用されて符号化されており、動きベクトル生成部は、対象ブロックの予測動きベクトルを、予測モード、および対象ブロックに隣接する隣接ブロックの動き補償予測方法に応じて、当該隣接ブロックの隣接する頂点に相当する代表画素の動きベクトルの値または当該隣接ブロックの動きベクトルの値をもとに算出してもよい。   Translational motion compensated prediction 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 that is translated with the target block, and an image signal of the reference block And 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 And a control unit for designating whether to use or not. The data included in the encoded stream is encoded by using motion compensated prediction based on parallel movement and motion compensated prediction based on geometric transformation, and the motion vector generation unit converts the predicted motion vector of the target block into a prediction mode, And, based on the motion compensation prediction method of the adjacent block adjacent to the target block, calculated based on the motion vector value of the representative pixel corresponding to the adjacent vertex of the adjacent block or the motion vector value of the adjacent block Also good.

本発明のさらに別の態様もまた、画像復号方法である。この方法は、幾何学変換による動き補償予測が使用されて符号化された符号化ストリームに含まれる、予測モードを特定するための予測方法情報、予測モードに応じた代表画素の差分動きベクトルおよび予測誤差信号を復号するための復号ステップと、予測方法情報により特定される予測モードに従って、代表画素の動きベクトルの予測動きベクトルを、対象ブロック内外の動きベクトルを用いて算出し、その予測動きベクトルに代表画素の差分動きベクトルを加算して代表画素の動きベクトルを生成するための動きベクトル生成ステップと、対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の代表画素の動きベクトル、代表画素の動きベクトルを用いた補間により算出する代表画素以外の動きベクトル、および参照ブロックの画像信号から予測信号を生成するための幾何学変換動き補償予測ステップと、予測信号、および復号ステップにより復号された予測誤差信号から画像信号を生成するための画像信号生成ステップと、を備える。代表画素には、対象ブロックを構成する頂点に位置する画素、頂点近傍に位置する画素または頂点近傍に位置する補間画素が選定され、対象ブロックは四角形の領域であり、幾何学変換動き補償予測ステップは、対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号する第1モードと、対象ブロックの4つの頂点のうち、左上、右上および左下の代表画素の差分動きベクトルを復号し、右下の代表画素の差分動きベクトルを復号しない第2モードと、対象ブロックの4つの頂点のうち、左上および左下の代表画素の差分動きベクトルを復号し、右上および下の代表画素の差分動きベクトルを復号しない第3モードと、対象ブロックの4つの頂点のうち、左上および右上の代表画素の差分動きベクトルを復号し、左下および右下の代表画素の差分動きベクトルを復号しない第4モードと、対象ブロックの4つの頂点のうち、左上および右下の代表画素の差分動きベクトルを復号し、右上および左下の代表画素の差分動きベクトルを復号しない第5モードと、対象ブロックの4つの頂点のうち、右上および左下の代表画素の差分動きベクトルを復号し、左上および右下の代表画素の差分動きベクトルを復号しない第6モードと、対象ブロックの4つの頂点のうち、左上の代表画素の差分動きベクトルを復号し、右上、左下および右下の代表画素の差分動きベクトルを復号しない第7モードと、対象ブロックの4つの頂点のうち、右上の代表画素の差分動きベクトルを復号し、左上、左下および右下の代表画素の差分動きベクトルを復号しない第8モードと、対象ブロックの4つの頂点のうち、左下の代表画素の差分動きベクトルを復号し、左上、右上および右下の代表画素の差分動きベクトルを復号しない第9モードと、対象ブロックの4つの頂点のうち、右下の代表画素の差分動きベクトルを復号し、左上、右上および左下の代表画素の差分動きベクトルを復号しない第10モードと、対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号しない第11モードのうち、少なくとも2つの予測モードを備え、その少なくとも1つの予測モードには、第5モード、第6モード、第7モード、第8モード、第9モード、第10モードおよび第11モードの少なくとも1つが含まれる。 Yet another embodiment of the present invention is also an image decoding method. This method includes prediction method information for specifying a prediction mode, a differential motion vector of a representative pixel corresponding to the prediction mode, and a prediction included in an encoded stream encoded by using motion compensated prediction by geometric transformation. In accordance with the decoding step for decoding the error signal and the prediction mode specified by the prediction method information, the predicted motion vector of the motion vector of the representative pixel is calculated using the motion vectors inside and outside the target block, and the predicted motion vector is used as the predicted motion vector. A motion vector generation step for generating a motion vector of the representative pixel by adding the differential motion vector of the representative pixel, a target block in the target image, and a reference in the reference image that is geometrically transformed with the target block Representative pixel motion vector between blocks, representative calculated by interpolation using representative pixel motion vector A geometric transformation motion compensated prediction step for generating a prediction signal from a non-prime motion vector and an image signal of a reference block, and a prediction signal and a prediction error signal decoded by the decoding step for generating an image signal And an image signal generation step. As the representative pixel, a pixel located at the vertex constituting the target block, a pixel located near the vertex, or an interpolation pixel located near the vertex is selected, and the target block is a rectangular region, and the geometric transformation motion compensation prediction step Are the first mode for decoding the differential motion vectors of the upper left, upper right, lower left and lower right representative pixels among the four vertices of the target block, and the upper left, upper right and lower left representatives of the four vertices of the target block. The second mode in which the difference motion vector of the pixel is decoded and the difference motion vector of the lower right representative pixel is not decoded, and the difference motion vector of the upper left and lower left representative pixels among the four vertices of the target block is decoded, and the upper right and a third mode in which no decoded differential motion vector of the representative pixel of the lower right, of the four vertices of the current block, the upper left and upper-right differential motion of the representative pixel A fourth mode in which the difference motion vector of the lower left and lower right representative pixels is not decoded, and the difference motion vector of the upper left and lower right representative pixels of the four vertices of the target block is decoded; The fifth mode in which the differential motion vector of the lower left representative pixel is not decoded, and the differential motion vector of the upper right and lower left representative pixels among the four vertices of the target block is decoded, and the differential motion vector of the upper left and lower right representative pixels A seventh mode in which the difference motion vector of the upper left representative pixel is decoded among the four vertices of the target block, and the difference motion vector of the upper right, lower left and lower right representative pixels is not decoded, Among the four vertices of the target block, the differential motion vector of the upper right representative pixel is decoded, and the differential motion vector of the upper left, lower left and lower right representative pixels is decoded. The eighth mode, the ninth mode in which the differential motion vector of the lower left representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper left, upper right and lower right representative pixels is not decoded, and the target block 10th mode in which the differential motion vector of the lower right representative pixel is decoded and the differential motion vectors of the upper left, upper right and lower left representative pixels are not decoded, and the upper left of the four vertices of the target block Among the eleventh modes in which the differential motion vectors of the upper right, lower left and lower right representative pixels are not decoded, at least two prediction modes are provided. The at least one prediction mode includes the fifth mode, the sixth mode, the seventh mode, and the like. At least one of a mode, an eighth mode, a ninth mode, a tenth mode, and an eleventh mode is included.

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   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 the image coding method using the motion compensation prediction by the 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. 対象ブロックの4つの頂点に対応する代表画素を説明するための図である。It is a figure for demonstrating the representative pixel corresponding to four vertices of an object block. 図4(a)〜(k)は、幾何学変換動き補償予測の11モードを説明するための図である。4A to 4K are diagrams for explaining eleven modes of geometric conversion motion compensation prediction. 本発明の実施の形態1に係る幾何学変換動き補償予測部の構成を示すブロック図である。It is a block diagram which shows the structure of the geometric conversion motion compensation prediction part which concerns on Embodiment 1 of this invention. シンタックス構造の一例を示す図である。It is a figure which shows an example of a syntax structure. 図7(a)〜(d)は、符号化対象ブロックおよび隣接ブロック共に平行移動による動き補償予測が選択された場合の符号化対象ブロックの動きベクトルの予測方法を説明するための図である。FIGS. 7A to 7D are diagrams for explaining a method of predicting a motion vector of an encoding target block when motion compensated prediction based on parallel movement is selected for both the encoding target block and adjacent blocks. 動きベクトル値のスケーリング処理の一例を説明するための図である。It is a figure for demonstrating an example of the scaling process of a motion vector value. 本発明の実施の形態1に係る幾何学変換動きベクトル検出部の構成を示すブロック図である。It is a block diagram which shows the structure of the geometric conversion motion vector detection part which concerns on Embodiment 1 of this invention. 図10(a)〜(h)は、平行移動動き補償予測部により生成された平行移動の動きベクトルを補正して幾何学変換の代表画素の動きベクトルを検出する方法の具体例を示す図である。FIGS. 10A to 10H are diagrams illustrating specific examples of a method for detecting a motion vector of a representative pixel in geometric transformation by correcting a translation motion vector generated by a translation motion compensation prediction unit. is there. 本発明の実施の形態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. 図11のフローチャートのステップS102の平行移動動き補償処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the parallel movement motion compensation process of step S102 of the flowchart of FIG. 図11のフローチャートのステップS103の幾何学変換動き補償処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the geometric conversion motion compensation process of step S103 of the flowchart of FIG. 平行移動の動きベクトルを検出する手順を示すフローチャートである。It is a flowchart which shows the procedure which detects the motion vector of translation. 幾何学変換の動きベクトルを検出する手順を示すフローチャートである。It is a flowchart which shows the procedure which detects the motion vector of geometric transformation. 図15のフローチャートのステップS136の幾何学変換動き補償処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the geometric conversion motion compensation process of step S136 of the flowchart of FIG. 本発明の実施の形態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. 図18のフローチャートのS203において、対象ブロックの第1代表画素aの動きベクトルの値に応じて、第2代表画素bの予測ベクトルの算出方法を切り替える処理が発生する場合の手順を示すフローチャートである。FIG. 19 is a flowchart illustrating a procedure when a process of switching a calculation method of a prediction vector of the second representative pixel b occurs according to the motion vector value of the first representative pixel a of the target block in S203 of the flowchart of FIG. 18. . 図18のフローチャートのS203において、対象ブロックの第1代表画素aの動きベクトルの値に応じて、第3代表画素cの予測ベクトルの算出方法を切り替える処理が発生する場合の手順を示すフローチャートである。FIG. 19 is a flowchart illustrating a procedure when a process of switching the calculation method of the prediction vector of the third representative pixel c occurs in S203 of the flowchart of FIG. 18 according to the motion vector value of the first representative pixel a of the target block. .

以下、図面と共に本発明の実施の形態を説明する。以下の実施の形態では、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、予測誤差信号符号化部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, a prediction error signal encoding unit 106, 1 coding bit stream generation part 107, 2nd coding bit stream generation part 108, 3rd coding bit stream generation part 109, prediction error signal decoding part 110, decoded picture signal generation part 111, decoded picture buffer 112, and 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 generation unit 105 is supplied 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 mode 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は、画像バッファ101から供給される符号化対象のマクロブロック信号と、復号画像バッファ112から供給される参照画像信号との間で、平行移動による動き補償予測を行う。平行移動動き補償予測部102は、それぞれのモードによる対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の、動きベクトルおよび予測信号を生成し、予測方法決定部104に供給する。本実施の形態では、平行移動動き補償予測部102は、AVC/H.264方式などに規定されている既存の動き補償予測と同様の、平行移動による動き補償予測を行う。   The translational motion compensation prediction unit 102 performs motion compensation prediction by translation between the macroblock signal to be encoded supplied from the image buffer 101 and the reference image signal supplied from the decoded image buffer 112. The translational motion compensation prediction unit 102 generates a motion vector and a prediction signal between the target block in the target image in each mode and the reference block in the reference image that is translated with the target block. To the prediction method determination unit 104. 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 compensated 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 by interpolation from the signals of surrounding integer pixels 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(a)〜(h)は、マクロブロック・パーティションおよびサブマクロブロック・パーティションを説明するための図である。ここでは説明を簡略化するため、輝度信号の画素ブロックのみ描いている。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. 2A to 2H are diagrams 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. In the MPEG series, 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モードのマクロブロック・タイプと呼ぶ。   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.

図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モードのいずれのマクロブロック・タイプでも、マクロブロック・パーティションごとに1つの動きベクトルが検出される。すなわち、16×16モードのマクロブロック・タイプでは1つの動きベクトルが、16×8および8×16モードのマクロブロック・タイプでは2つの動きベクトルが、および8×8モードのマクロブロック・タイプでは4つの動きベクトルが、それぞれ検出される。   For any 16 × 16, 16 × 8, 8 × 16 and 8 × 8 mode macroblock types, one motion vector is detected per macroblock partition. 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 detected.

各マクロブロック・パーティションの輝度信号および色差信号の各画素は、そのマクロブロック・パーティションの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は、画像バッファ101から供給される符号化対象のマクロブロック信号と、復号画像バッファ112から供給される参照画像信号との間で、平行移動に加えて、拡大・縮小/回転などを含む変形を伴う幾何学変換による動き補償予測を行う。幾何学変換動き補償予測部103は、それぞれのモードによる対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の、動きベクトルおよび予測信号を生成し、予測方法決定部104に供給する。より具体的には、幾何学変換動き補償予測部103は、対象ブロックを構成する頂点に位置する画素、頂点近傍に位置する画素または頂点近傍に位置する補間画素を代表画素として選定し、それら代表画素の動きベクトルを算出する。ここで、当該対象ブロックは四角形(たとえば、正方形、長方形)の領域であるため、その領域の頂点は4つである。したがって、4つの代表画素が存在する。そして、幾何学変換動き補償予測部103は、当該代表画素以外の画素の動きベクトルを、当該代表画素の動きベクトルを用いた補間により算出する。それらの画素毎の動きベクトルに応じて、画素毎に予測信号を生成する。   Returning to FIG. 1, the geometric transformation motion compensation prediction unit 103 performs parallel movement between the encoding target macroblock signal supplied from the image buffer 101 and the reference image signal supplied from the decoded image buffer 112. In addition, motion compensation prediction is performed by geometric transformation accompanied by deformation including enlargement / reduction / rotation. The geometric transformation motion compensated prediction unit 103 calculates a motion vector and a prediction signal between the target block in the target image in each mode and the reference block in the reference image that is geometrically transformed with the target block. Generated and supplied to the prediction method determination unit 104. More specifically, the geometric transformation motion compensation prediction unit 103 selects, as representative pixels, pixels that are located at the vertices constituting the target block, pixels that are located near the vertices, or interpolation pixels that are located near the vertices. A pixel motion vector is calculated. Here, since the target block is a quadrangular (for example, square, rectangular) region, the number of vertices in the region is four. Therefore, there are four representative pixels. Then, the geometric conversion motion compensation prediction unit 103 calculates a motion vector of a pixel other than the representative pixel by interpolation using the motion vector of the representative pixel. A prediction signal is generated for each pixel according to the motion vector for each pixel.

図3は、対象ブロックの4つの頂点に対応する代表画素を説明するための図である。ここで、対象ブロックの左上の頂点または頂点近傍を頂点a、右上の頂点または頂点近傍を頂点b、左下の頂点または頂点近傍を頂点cおよび右下の頂点または頂点近傍を頂点dとする。また、ブロックの幅(水平方向の画素数)W、ブロックの高さ(垂直方向の画素数)Hの値は共に16とする。図3に示す例では、左上の頂点aに位置する画素a、ならびに右上、左下および右下の頂点近傍にそれぞれ位置する画素b、c、dをそれぞれ代表画素a、b、c、dに設定している。図3では、代表画素を黒丸、非代表画素を白丸で表し、代表画素を対象ブロック(図3では、16×16画素のマクロブロック)の頂点に存在する画素a(0,0)、画素b(W,0)、画素c(0,H)および画素d(W,H)に設定している。以下、本明細書では各画素の座標を(i,j)で表し、水平方向の座標を1画素単位でiで表し、垂直方向の座標を1画素単位でjで表す。また、対象ブロックの左上の画素の座標を原点(0,0)とする。なお、図3に示す例では、左上の第1代表画素aは対象ブロックに含まれるが、右上の第2代表画素b、左下の第3代表画素cおよび右下の第4代表画素dは対象ブロック内に含まれない。   FIG. 3 is a diagram for explaining representative pixels corresponding to four vertices of the target block. Here, the upper left vertex or the vertex vicinity of the target block is the vertex a, the upper right vertex or the vertex vicinity is the vertex b, the lower left vertex or the vertex vicinity is the vertex c, and the lower right vertex or the vertex vicinity is the vertex d. The block width (the number of pixels in the horizontal direction) W and the block height (the number of pixels in the vertical direction) H are both 16. In the example shown in FIG. 3, the pixel a located at the upper left vertex a and the pixels b, c, d located near the upper right, lower left, and lower right vertices are set as representative pixels a, b, c, d, respectively. doing. In FIG. 3, 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 (0, 0) and a pixel b existing at the vertex of the target block (16 × 16 pixel macroblock in FIG. 3). (W, 0), pixel c (0, H) and pixel d (W, H) are set. Hereinafter, in the present specification, the coordinates of each pixel are represented by (i, j), the horizontal coordinate is represented by i, and the vertical coordinate is represented by j by one pixel. Further, the coordinate of the upper left pixel of the target block is set as the origin (0, 0). In the example shown in FIG. 3, the upper left first representative pixel a is included in the target block, but the upper right second representative pixel b, the lower left third representative pixel c, and the lower right fourth representative pixel d are targets. Not included in the block.

幾何学変換動き補償予測部103は、対象ブロックの4つの代表画素の差分ベクトルを符号化・復号するDMV4モードと、対象ブロックの3つの代表画素の差分ベクトルを符号化・復号するDMV3モードと、対象ブロックの縦方向における2つの代表画素の差分ベクトルを符号化・復号するDMV2Vモードと、対象ブロックの横方向における2つの代表画素の差分ベクトルを符号化・復号するDMV2Hモードと、対象ブロックの対角方向における2つの代表画素の差分ベクトルを符号化・復号するDMV2AモードおよびDMV2Bモードと、対象ブロックの左上の代表画素の差分ベクトルだけを符号化・復号するDMV1Aモードと、対象ブロックの右上の代表画素の差分ベクトルだけを符号化・復号するDMV1Bモードと、対象ブロックの左下の代表画素の差分ベクトルだけを符号化・復号するDMV1Cモードと、対象ブロックの右下の代表画素の差分ベクトルだけを符号化・復号するDMV1Dモードと、対象ブロックの代表画素の差分ベクトルを符号化・復号しないDMV0モードと、を実行することができる。   The geometric transformation motion compensated prediction unit 103 encodes and decodes a difference vector of four representative pixels of a target block, a DMV4 mode that encodes and decodes a difference vector of three representative pixels of the target block, and A DMV2V mode for encoding / decoding a difference vector of two representative pixels in the vertical direction of the target block, a DMV2H mode for encoding / decoding a difference vector of two representative pixels in the horizontal direction of the target block, and a pair of target blocks DMV2A mode and DMV2B mode for encoding / decoding the difference vector of two representative pixels in the angular direction, DMV1A mode for encoding / decoding only the difference vector of the upper left representative pixel of the target block, and the upper right representative of the target block DMV1B mode, which encodes and decodes only the pixel difference vector, DMV1C mode for encoding / decoding only the difference vector of the lower left representative pixel of the block, DMV1D mode for encoding / decoding only the difference vector of the lower right representative pixel of the target block, and the difference vector of the representative pixel of the target block DMV0 mode that does not encode / decode.

なお、幾何学変換動き補償予測部103は、必ずしも全てのモードを実行する必要はなく、処理能力や各モードの発生頻度に応じて、1つのモードを固定的に使用してもよい。また、1つのモードのみを備える設計であってもよい。また、11モードのうち、少なくとも2つのモードを実行してもよい。その少なくとも2つのモードには、DMV2Aモード、DMV2Bモード、DMV1Aモード、DMV1Bモード、DMV1Cモード、DMV1DモードおよびDMV0モードの少なくとも2つのモードが含まれていてもよい。また、幾何学変換動き補償予測部103が備えるモード数と実行するモード数は異なっていてもよい。たとえば、少なくとも2つのモードを備え、そのうちの少なくとも2つのモードを実行してもよい。これらの場合、演算量やモードを識別する情報の符号量を低減することができる。   Note that the geometric transformation motion compensation prediction unit 103 does not necessarily need to execute all modes, and may use one mode in a fixed manner according to the processing capability and the frequency of occurrence of each mode. Moreover, the design provided with only one mode may be sufficient. Moreover, you may perform at least 2 mode among 11 modes. The at least two modes may include at least two modes of DMV2A mode, DMV2B mode, DMV1A mode, DMV1B mode, DMV1C mode, DMV1D mode, and DMV0 mode. In addition, the number of modes included in the geometric transformation motion compensation prediction unit 103 may be different from the number of modes to be executed. For example, at least two modes may be provided, and at least two of them may be executed. In these cases, it is possible to reduce the amount of code for identifying the calculation amount and the mode.

本実施の形態の説明においては、上記対象ブロックを16×16画素のマクロブロックとして説明するが、当該対象ブロックのサイズは16×16画素に限定されるものではなく、8×8画素のサブマクロブロックであってもよいし、32×32画素、48×48画素、64×64画素、128×128画素等のブロックであってもよい。また、本実施の形態の説明においては、上記対象ブロックが正方形のマクロブロックとして説明するが、当該対象ブロックの形状は正方形に限定されるものではなく、16×8画素、8×16画素のマクロブロック・パーティション、8×4画素、4×8画素のサブマクロブロック・パーティション、32×16画素、16×32画素等のブロックであってもよい。   In the description of the present embodiment, the target block is described as a 16 × 16 pixel macroblock. However, the size of the target block is not limited to 16 × 16 pixels, and an 8 × 8 pixel sub-macro. It may be a block or a block of 32 × 32 pixels, 48 × 48 pixels, 64 × 64 pixels, 128 × 128 pixels, or the like. In the description of the present embodiment, the target block is described as a square macroblock. However, the shape of the target block is not limited to a square, and a macro of 16 × 8 pixels or 8 × 16 pixels. It may be a block partition, a block of 8 × 4 pixels, a 4 × 8 pixel sub-macroblock partition, 32 × 16 pixels, 16 × 32 pixels, or the like.

図4(a)〜(k)は、幾何学変換動き補償予測の11モードを説明するための図である。黒丸および白丸は代表点を示す。図4(a)〜(k)では代表点と代表画素が一致する例を描いている。黒丸で描かれた代表点は差分ベクトルを符号化・復号し、この代表点の動きベクトルは予測ベクトルと差分ベクトルの和であることを示す。白丸で描かれた代表点は差分ベクトルを符号化・復号せず、予測ベクトルをそのまま動きベクトルとする。   4A to 4K are diagrams for explaining eleven modes of geometric conversion motion compensation prediction. Black circles and white circles represent representative points. 4A to 4K illustrate examples in which the representative point and the representative pixel coincide with each other. A representative point drawn with a black circle encodes and decodes a difference vector, and indicates that the motion vector of this representative point is the sum of a prediction vector and a difference vector. For the representative points drawn with white circles, the difference vector is not encoded / decoded, and the prediction vector is used as it is as a motion vector.

図4(a)に示すDMV4モードは代表画素a、b、c、dの差分ベクトルを符号化するモードである(特許請求の範囲の第1モードに対応)。図4(b)に示すDMV3モードは代表画素dの差分ベクトルを符号化せず、代表画素a、b、cの差分ベクトルを符号化するモードである(特許請求の範囲の第2モードに対応)。図4(c)に示すDMV2Vモードは代表画素b、dの差分ベクトルを符号化せず、代表画素a、cの差分ベクトルを符号化するモードである(特許請求の範囲の第3モードに対応)。代表画素aと代表画素bの動きベクトルの値が等しく、代表画素cと代表画素dの動きベクトルの値も等しい。図4(d)に示すDMV2Hモードは代表画素c、dの差分ベクトルを符号化せず、代表画素a、bの差分ベクトルを符号化するモードである(特許請求の範囲の第4モードに対応)。代表画素aと代表画素cの動きベクトルの値が等しく、代表画素bと代表画素dの動きベクトルの値も等しい。   The DMV4 mode shown in FIG. 4A is a mode for encoding the difference vector of the representative pixels a, b, c, and d (corresponding to the first mode in the claims). The DMV3 mode shown in FIG. 4B is a mode in which the difference vectors of the representative pixels a, b, and c are encoded without encoding the difference vector of the representative pixel d (corresponding to the second mode of the claims). ). The DMV2V mode shown in FIG. 4C is a mode in which the difference vector of the representative pixels a and c is not encoded, but the difference vector of the representative pixels a and c is encoded (corresponding to the third mode of the claims). ). The motion vector values of the representative pixel a and the representative pixel b are equal, and the motion vector values of the representative pixel c and the representative pixel d are also equal. The DMV2H mode shown in FIG. 4D is a mode in which the difference vector of the representative pixels a and b is not encoded, but the difference vector of the representative pixels a and b is encoded (corresponding to the fourth mode in the claims). ). The motion vector values of the representative pixel a and the representative pixel c are equal, and the motion vector values of the representative pixel b and the representative pixel d are also equal.

図4(e)に示すDMV2Aモードは代表画素b、cの差分ベクトルを符号化せず、代表画素a、dの差分ベクトルを符号化するモードである(特許請求の範囲の第5モードに対応)。代表画素aと代表画素dの動きベクトルの各成分ごとの平均値を代表画素b、cの動きベクトルの値とする。図4(f)に示すDMV2Bモードは代表画素a、dの差分ベクトルを符号化せず、代表画素b、cの差分ベクトルを符号化するモードである(特許請求の範囲の第6モードに対応)。代表画素bと代表画素cの動きベクトルの各成分ごとの平均値を代表画素a、dの動きベクトルの値とする。   The DMV2A mode shown in FIG. 4 (e) is a mode that encodes the difference vectors of the representative pixels a and d without encoding the difference vectors of the representative pixels b and c (corresponding to the fifth mode of the claims). ). The average value for each component of the motion vectors of the representative pixel a and the representative pixel d is set as the value of the motion vector of the representative pixels b and c. The DMV2B mode shown in FIG. 4 (f) is a mode in which the difference vector of the representative pixels a and d is not encoded, and the difference vector of the representative pixels b and c is encoded (corresponding to the sixth mode of the claims). ). The average value for each component of the motion vectors of the representative pixel b and the representative pixel c is set as the value of the motion vector of the representative pixels a and d.

図4(g)に示すDMV1Aモードは代表画素b、c、dの差分ベクトルを符号化せず、代表画素aの差分ベクトルを符号化するモードである(特許請求の範囲の第7モードに対応)。図4(h)に示すDMV1Bモードは代表画素a、c、dの差分ベクトルを符号化せず、代表画素bの差分ベクトルを符号化するモードである(特許請求の範囲の第8モードに対応)。図4(i)に示すDMV1Cモードは代表画素a、b、dの差分ベクトルを符号化せず、代表画素cの差分ベクトルを符号化するモードである(特許請求の範囲の第9モードに対応)。図4(j)に示すDMV1Dモードは代表画素a、b、cの差分ベクトルを符号化せず、代表画素dの差分ベクトルを符号化するモードである(特許請求の範囲の第10モードに対応)。図4(k)に示すDMV0モードは代表画素a、b、c、dの差分ベクトルを符号化しないモードである(特許請求の範囲の第11モードに対応)。   The DMV1A mode shown in FIG. 4G is a mode that encodes the difference vector of the representative pixel a without encoding the difference vector of the representative pixels b, c, and d (corresponding to the seventh mode of the claims). ). The DMV1B mode shown in FIG. 4 (h) is a mode that encodes the difference vector of the representative pixel b without encoding the difference vector of the representative pixels a, c, and d (corresponding to the eighth mode in the claims). ). The DMV1C mode shown in FIG. 4 (i) is a mode that encodes the difference vector of the representative pixel c without encoding the difference vector of the representative pixels a, b, and d (corresponding to the ninth mode in the claims). ). The DMV1D mode shown in FIG. 4 (j) is a mode that encodes the difference vector of the representative pixel d without encoding the difference vector of the representative pixels a, b, and c (corresponding to the tenth mode in the claims). ). The DMV0 mode shown in FIG. 4 (k) is a mode in which the difference vectors of the representative pixels a, b, c, and d are not encoded (corresponding to the eleventh mode in the claims).

下記表1は上記各モードについてまとめたものである。

Figure 0005716438
Table 1 below summarizes the above modes.
Figure 0005716438

上記表1において、「DMV符号化」とは差分ベクトルを符号化することを表す。この場合、動きベクトルMVは予測ベクトルPMVと差分ベクトルDMVの和で定義される。「PMV」とは差分ベクトルDMVを符号化せず、予測ベクトルPMVをそのまま動きベクトルMVとすることを表す。近隣ブロックの動きベクトルMVまたは対象ブロックの別の動きベクトルMVから算出した動きベクトルMVを予測ベクトルPMVとする。その他(「DMV符号化」、「PMV」以外)については差分ベクトルDMVを符号化せず、表1の式に応じて他の頂点の動きベクトルMVから算出する。動きベクトルを符号化する際、4本の差分ベクトルをすべて符号化すると動きベクトルの符号量が大きくなる。したがって、4本の動きベクトルをすべて符号化する必要がないと判断できる場合、符号化する差分ベクトルの本数を減らす。すなわち、DMV4モード以外のモードを採用する。   In Table 1 above, “DMV encoding” represents encoding a difference vector. In this case, the motion vector MV is defined by the sum of the prediction vector PMV and the difference vector DMV. “PMV” represents that the difference vector DMV is not encoded, and the prediction vector PMV is directly used as the motion vector MV. A motion vector MV calculated from a motion vector MV of a neighboring block or another motion vector MV of the target block is set as a prediction vector PMV. In other cases (other than “DMV encoding” and “PMV”), the difference vector DMV is not encoded, and is calculated from the motion vectors MV of other vertices according to the expressions in Table 1. When encoding a motion vector, if all four difference vectors are encoded, the amount of code of the motion vector increases. Therefore, if it can be determined that it is not necessary to encode all four motion vectors, the number of difference vectors to be encoded is reduced. That is, a mode other than the DMV4 mode is adopted.

ここで、動きベクトルの符号化においては、周囲ブロックまたは対象ブロックからの予測を行うことにより予測ベクトルを取得し、動きベクトルと予測ベクトルとの差分である差分ベクトルを符号化することによって符号量を削減する。動きベクトルを符号化・復号するということは具体的には差分ベクトルを符号化・復号するということであり、動きベクトルMVは予測ベクトルPMVと差分ベクトルDMVを各成分ごとに加算したものとなる。動きベクトルを符号化・復号しないということは具体的には差分ベクトルを符号化・復号せず、周囲のブロックまたは対象ブロックから算出した予測ベクトルをそのまま動きベクトルとして用いるということである。   Here, in motion vector encoding, a prediction vector is obtained by performing prediction from surrounding blocks or target blocks, and a code amount is obtained by encoding a difference vector that is a difference between the motion vector and the prediction vector. Reduce. Encoding / decoding a motion vector specifically means encoding / decoding a difference vector, and the motion vector MV is obtained by adding a prediction vector PMV and a difference vector DMV for each component. Specifically, not encoding / decoding a motion vector means that a prediction vector calculated from a surrounding block or a target block is used as it is as a motion vector without encoding / decoding a difference vector.

図1に戻り、予測方法決定部104は、幾何学変換動き補償予測部103による予測方法として、上述したDMV4モード、DMV3モード、DMV2Vモード、DMV2Hモード、DMV2Aモード、DMV2Bモード、DMV1Aモード、DMV1Bモード、DMV1Cモード、DMV1DモードおよびDMV0モードのいずれかを採用することができる。予測方法決定部104の詳細な処理については後述する。   Returning to FIG. 1, the prediction method determination unit 104 uses the above-described DMV4 mode, DMV3 mode, DMV2V mode, DMV2H mode, DMV2A mode, DMV2B mode, DMV1A mode, DMV1B mode as a prediction method by the geometric transformation motion compensation prediction unit 103. Any one of DMV1C mode, DMV1D mode, and DMV0 mode can be adopted. Detailed processing of the prediction method determination unit 104 will be described later.

以下、幾何学変換動き補償予測部103について、より具体的に説明する。図5は、本発明の実施の形態1に係る幾何学変換動き補償予測部103の構成を示すブロック図である。幾何学変換動き補償予測部103は、幾何学変換動きベクトル検出部121、第1の非代表点動きベクトル算出部122および第1の予測部123を含む。   Hereinafter, the geometric transformation motion compensation prediction unit 103 will be described more specifically. FIG. 5 is a block diagram showing a configuration of the geometric transformation motion compensation prediction unit 103 according to Embodiment 1 of the present invention. The geometric transformation motion compensation prediction unit 103 includes a geometric transformation motion vector detection unit 121, a first non-representative point motion vector calculation unit 122, and a first prediction unit 123.

本実施の形態に係る幾何学変換による動き補償予測では、マクロブロック、マクロブロック・パーティション、サブマクロブロックの輝度信号、色差信号の各画素をそれぞれ同じ動きベクトルで動き補償するのではなく、画素ごとに異なる動きベクトルを作成して動き補償を行う。幾何学変換動きベクトル検出部121は、各マクロブロックの頂点、頂点近傍の画素またはその頂点近傍に位置する補間画素を代表画素に選定し、その動きベクトルを求める。   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 geometric transformation motion vector detection unit 121 selects a vertex of each macroblock, a pixel near the vertex, or an interpolation pixel located near the vertex as a representative pixel, and obtains a motion vector thereof.

幾何学変換動きベクトル検出部121は、上記図4(a)〜(k)に示した幾何学変換動き補償予測のそれぞれのモードについて、代表画素の動きベクトルを検出、または算出する。幾何学変換動きベクトル検出部121での代表画素の動きベクトルの検出処理は、具体的には、それぞれのモードにおける差分ベクトルを符号化・復号する代表点の動きベクトルを検出し、差分ベクトルを符号化・復号する代表点の動きベクトルの値は、予測ベクトルを算出して、その予測ベクトルをそのまま動きベクトルとする。たとえば、第1代表画素a、第2代表画素b、第3代表画素cおよび第4代表画素dの4つの代表画素の差分ベクトルを符号化・復号するDMV4モードの場合、当該4つの代表画素のそれぞれの動きベクトルを検出する。また、第1代表画素a、第2代表画素bおよび第3代表画素cの3つの代表画素の差分ベクトルを符号化・復号するDMV3モードの場合、当該3つの代表画素のそれぞれの動きベクトルを検出し、第4代表画素dの動きベクトルは予測ベクトルを算出して、その予測ベクトルを動きベクトルとする。ここで、予測ベクトルの算出方法について、上記図3に示した対象ブロックの4つの頂点に対応する代表画素の場合を例に説明する。   The geometric transformation motion vector detection unit 121 detects or calculates the motion vector of the representative pixel for each mode of the geometric transformation motion compensation prediction shown in FIGS. Specifically, the representative pixel motion vector detection process in the geometric transformation motion vector detection unit 121 detects a motion vector of a representative point for encoding / decoding a difference vector in each mode, and encodes the difference vector. For the value of the motion vector of the representative point to be converted / decoded, a prediction vector is calculated, and the prediction vector is used as it is as a motion vector. For example, in the DMV4 mode in which the difference vector of four representative pixels of the first representative pixel a, the second representative pixel b, the third representative pixel c, and the fourth representative pixel d is encoded / decoded, Each motion vector is detected. In the DMV3 mode in which the difference vector of the three representative pixels of the first representative pixel a, the second representative pixel b, and the third representative pixel c is encoded / decoded, the respective motion vectors of the three representative pixels are detected. Then, the motion vector of the fourth representative pixel d is calculated as a motion vector, and the motion vector is calculated. Here, a method for calculating a prediction vector will be described by taking the case of representative pixels corresponding to the four vertices of the target block shown in FIG. 3 as an example.

3つの頂点a、b、cに対応する3つの代表画素a、b、cの動きベクトルを符号化・復号するDMV3モードでは、これら画素a、画素bおよび画素cの動きベクトルが割り当てられ、これら3点の動きベクトルから、頂点dに対応する代表画素dの予測ベクトルを算出し、算出された予測ベクトルを代表画素dの動きベクトルとする。画素aの動きベクトルVa(=V(0,0))と、画素bの動きベクトルVb(=V(W,0))と、画素cの動きベクトルVc=(V(0,H))と、画素dの動きベクトルVd=(V(W,H))との関係から、頂点dに対応する代表画素dの動きベクトルVdを、下記式(1)により算出する。
Vd=Vc+(Vb−Va) ・・・式(1)
あるいは、下記式(2)により算出する。
Vd=Vb+(Vc−Va) ・・・式(2)
In the DMV3 mode in which the motion vectors of the three representative pixels a, b, and c corresponding to the three vertices a, b, and c are encoded and decoded, the motion vectors of these pixels a, b, and c are assigned. A prediction vector of the representative pixel d corresponding to the vertex d is calculated from the three motion vectors, and the calculated prediction vector is set as the motion vector of the representative pixel d. The motion vector Va (= V (0,0)) of the pixel a, the motion vector Vb (= V (W, 0)) of the pixel b, and the motion vector Vc = (V (0, H)) of the pixel c From the relationship with the motion vector Vd = (V (W, H)) of the pixel d, the motion vector Vd of the representative pixel d corresponding to the vertex d is calculated by the following equation (1).
Vd = Vc + (Vb−Va) (1)
Or it calculates by following formula (2).
Vd = Vb + (Vc−Va) (2)

また、第1代表画素aおよび第3代表画素cの縦方向の2つの代表画素の差分ベクトルを符号化・復号するDMV2Vモードの場合、当該2つの代表画素のそれぞれの動きベクトルを検出し、第2代表画素bおよび第4代表画素dの動きベクトルは予測ベクトルを算出して動きベクトルとする。ここで、第1代表画素aの動きベクトルを第2代表画素bの予測ベクトルとして動きベクトルとし(Vb=Va)、第3代表画素cの動きベクトルを第4代表画素dの予測ベクトル、すなわち動きベクトルとする(Vd=Vc)。   In the case of the DMV2V mode in which the difference vector between two representative pixels in the vertical direction of the first representative pixel a and the third representative pixel c is encoded and decoded, the motion vectors of the two representative pixels are detected, For the motion vectors of the second representative pixel b and the fourth representative pixel d, a prediction vector is calculated and used as a motion vector. Here, the motion vector of the first representative pixel a is used as the motion vector as the prediction vector of the second representative pixel b (Vb = Va), and the motion vector of the third representative pixel c is used as the prediction vector of the fourth representative pixel d, ie, motion. Let it be a vector (Vd = Vc).

また、第1代表画素aおよび第2代表画素bの横方向の2つの代表画素の差分ベクトルを符号化・復号するDMV2Hモードの場合、当該2つの代表画素のそれぞれの動きベクトルを検出し、第3代表画素cおよび第4代表画素dの動きベクトルは予測ベクトルを算出して動きベクトルとする。ここで、第1代表画素aの動きベクトルを第3代表画素cの予測ベクトルとして動きベクトルとし(Vc=Va)、第2代表画素bの動きベクトルを第4代表画素dの予測ベクトル、すなわち動きベクトルとする(Vd=Vb)。   Further, in the DMV2H mode in which the difference vector between the two representative pixels in the horizontal direction of the first representative pixel a and the second representative pixel b is encoded and decoded, the respective motion vectors of the two representative pixels are detected, and For the motion vectors of the three representative pixels c and the fourth representative pixel d, a prediction vector is calculated and used as a motion vector. Here, the motion vector of the first representative pixel a is used as the motion vector as the prediction vector of the third representative pixel c (Vc = Va), and the motion vector of the second representative pixel b is used as the prediction vector of the fourth representative pixel d, ie, motion. Let it be a vector (Vd = Vb).

また、第1代表画素aおよび第4代表画素dの斜め方向の2つの代表画素の差分ベクトルを符号化・復号するDMV2Aモードの場合、当該2つの代表画素のそれぞれの動きベクトルを検出し、第2代表画素bおよび第3代表画素cの動きベクトルは予測ベクトルを算出して動きベクトルとする。ここで、第1代表画素aの動きベクトルと第4代表画素dの動きベクトルの成分ごとの平均値を第2代表画素bおよび第3代表画素cの予測ベクトル、すなわち動きベクトルとする。
Vb=Vc=(Va+Vd)/2 ・・・式(3)
Further, in the DMV2A mode in which the difference vector between two representative pixels in the diagonal direction of the first representative pixel a and the fourth representative pixel d is encoded / decoded, the respective motion vectors of the two representative pixels are detected, and For the motion vectors of the second representative pixel b and the third representative pixel c, a prediction vector is calculated and used as a motion vector. Here, an average value for each component of the motion vector of the first representative pixel a and the motion vector of the fourth representative pixel d is set as a prediction vector of the second representative pixel b and the third representative pixel c, that is, a motion vector.
Vb = Vc = (Va + Vd) / 2 Formula (3)

また、第2代表画素bおよび第3代表画素cの斜め方向の2つの代表画素の差分ベクトルを符号化・復号するDMV2Bモードの場合、当該2つの代表画素のそれぞれの動きベクトルを検出し、第1代表画素aおよび第4代表画素dの動きベクトルは予測ベクトルを算出して動きベクトルとする。ここで、第2代表画素bの動きベクトルと第3代表画素cの動きベクトルの成分ごとの平均値を第1代表画素aおよび第4代表画素dの差分ベクトル、すなわち動きベクトルとする。
Va=Vd=(Vb+Vc)/2 ・・・式(4)
In the DMV2B mode in which the difference vector between two representative pixels in the diagonal direction of the second representative pixel b and the third representative pixel c is encoded and decoded, the respective motion vectors of the two representative pixels are detected, and For the motion vectors of the first representative pixel a and the fourth representative pixel d, a prediction vector is calculated and used as a motion vector. Here, an average value for each component of the motion vector of the second representative pixel b and the motion vector of the third representative pixel c is set as a difference vector of the first representative pixel a and the fourth representative pixel d, that is, a motion vector.
Va = Vd = (Vb + Vc) / 2 Formula (4)

また、第1代表画素aの差分ベクトルだけを符号化・復号するDMV1Aモードの場合、当該代表画素の動きベクトルを検出し、第2代表画素b、第3代表画素cおよび第4代表画素dの動きベクトルの動きベクトルは予測ベクトルを算出して動きベクトルとする。また、第2代表画素bの差分ベクトルだけを符号化・復号するDMV1Bモードの場合、当該代表画素の動きベクトルを検出し、第1代表画素a、第3代表画素cおよび第4代表画素dの動きベクトルの動きベクトルは予測ベクトルを算出して動きベクトルとする。また、第3代表画素cの差分ベクトルだけを符号化・復号するDMV1Cモードの場合、当該代表画素の動きベクトルを検出し、第1代表画素a、第2代表画素bおよび第4代表画素dの動きベクトルの動きベクトルは予測ベクトルを算出して動きベクトルとする。また、第4代表画素dの差分ベクトルだけを符号化・復号するDMV1Dモードの場合、当該代表画素の動きベクトルを検出し、第1代表画素a、第2代表画素bおよび第3代表画素cの動きベクトルの動きベクトルは予測ベクトルを算出して動きベクトルとする。なお、どの代表画素の差分ベクトルも符号化・復号しないDMV0モードの場合、すべての代表画素の動きベクトルは予測ベクトルを算出して動きベクトルとする。なお、これらの予測ベクトルの算出方法については後述する。   Further, in the DMV1A mode in which only the differential vector of the first representative pixel a is encoded / decoded, the motion vector of the representative pixel is detected, and the second representative pixel b, the third representative pixel c, and the fourth representative pixel d are detected. As a motion vector, a prediction vector is calculated and used as a motion vector. In the DMV1B mode in which only the differential vector of the second representative pixel b is encoded / decoded, the motion vector of the representative pixel is detected, and the first representative pixel a, the third representative pixel c, and the fourth representative pixel d are detected. As a motion vector, a prediction vector is calculated and used as a motion vector. In the DMV1C mode in which only the differential vector of the third representative pixel c is encoded / decoded, the motion vector of the representative pixel is detected, and the first representative pixel a, the second representative pixel b, and the fourth representative pixel d are detected. As a motion vector, a prediction vector is calculated and used as a motion vector. In the DMV1D mode in which only the difference vector of the fourth representative pixel d is encoded / decoded, the motion vector of the representative pixel is detected, and the first representative pixel a, the second representative pixel b, and the third representative pixel c are detected. As a motion vector, a prediction vector is calculated and used as a motion vector. Note that, in the DMV0 mode in which the difference vector of any representative pixel is not encoded / decoded, the motion vector of all the representative pixels is calculated as a motion vector. A method for calculating these prediction vectors will be described later.

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

つぎに、第1の非代表点動きベクトル算出部122は、幾何学変換動きベクトル検出部121から供給される代表画素の動きベクトルからマクロブロック内の全画素の動きベクトルを、線形補間等の補間を用いることにより算出する。   Next, the first non-representative point motion vector calculation unit 122 interpolates the motion vectors of all the pixels in the macroblock from the motion vectors of the representative pixels supplied from the geometric transformation motion vector detection unit 121 by interpolation such as linear interpolation. Is calculated by using

以下、第1の非代表点動きベクトル算出部122による、幾何学変換動き補償予測における代表画素以外の各画素の動きベクトルの算出方法について具体例を挙げながら説明する。   Hereinafter, the calculation method of the motion vector of each pixel other than the representative pixel in the geometric transformation motion compensation prediction by the first non-representative point motion vector calculation unit 122 will be described with a specific example.

幾何学変換動きベクトル検出部121で検出あるいは算出し、供給される4つの代表画素a、b、c、dの4つの動きベクトルVa、Vb、Vc、Vdからそれ以外の画素P(i,j)の動きベクトルV(i,j)を線形補間により生成する。ブロックのブロックの幅(水平方向の画素数)をW、ブロックの高さ(垂直方向の画素数)をHとしたとき(上記図3の例ではW=H=16)、代表画素a、b、c、d以外の画素P(i,j)の動きベクトルV(i,j)を下記式(5)により算出する。
V(i,j)={(W−i)(H−j)Va+i(H−j)Vb+(W−i)j・Vc+i・j・Vd}/(W・H) ・・・式(5)
The four motion vectors Va, Vb, Vc, Vd of the four representative pixels a, b, c, d detected and calculated by the geometric transformation motion vector detection unit 121 and supplied are the other pixels P (i, j ) Motion vector V (i, j) is generated by linear interpolation. When the block width (the number of pixels in the horizontal direction) is W and the height of the block (the number of pixels in the vertical direction) is H (W = H = 16 in the example of FIG. 3), the representative pixels a and b The motion vector V (i, j) of the pixel P (i, j) other than, c, d is calculated by the following equation (5).
V (i, j) = {(Wi) (H-j) Va + i (Hj) Vb + (Wi) j.Vc + i.j.Vd} / (W.H) (5) )

以上、水平方向および垂直方向の双方に一度に(すなわち、2次元で)補間する方法について説明したが、水平方向の2つの代表画素の動きベクトルから、これら2点を結ぶ直線上の画素の動きベクトルを補間することにより非代表画素の動きベクトルを算出し、その他の画素の動きベクトルを、すでに算出された各画素の動きベクトルを用いて、さらに垂直方向に補間することにより算出してもよい。   The method for interpolating both in the horizontal direction and the vertical direction at the same time (that is, in two dimensions) has been described above. From the motion vectors of two representative pixels in the horizontal direction, the motion of pixels on a straight line connecting these two points The motion vector of the non-representative pixel may be calculated by interpolating the vector, and the motion vector of the other pixel may be calculated by further interpolating in the vertical direction using the motion vector of each pixel that has already been calculated. .

この場合の算出方法について説明する。画素aと画素bを通るライン上の各画素P(i,0)の動きベクトルV(i,0)は、下記式(6)により算出される。
V(i,0)=Va+(Vb−Va)*(i−0)/W ・・・式(6)
A calculation method in this case will be described. The motion vector V (i, 0) of each pixel P (i, 0) on the line passing through the pixel a and the pixel b is calculated by the following equation (6).
V (i, 0) = Va + (Vb−Va) * (i−0) / W Expression (6)

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

さらに、残りの画素P(i,j)の動きベクトルV(i,j)は、下記式(8)により算出される。
V(i,j)=V(i,0)+{V(i,H)−V(i,0)}*(j−0)/H ・・・式(8)
Further, the motion vector V (i, j) of the remaining pixel P (i, j) is calculated by the following equation (8).
V (i, j) = V (i, 0) + {V (i, H) −V (i, 0)} * (j−0) / H (8)

第1の予測部123は、算出された画素ごとの動きベクトルを用いて、画素ごとに動き補償予測を行う。以上の説明では、マクロブロックに含まれる各画素の動きベクトルを算出する例を説明したが、サブマクロブロックに含まれる各画素の動きベクトルも同様に算出することができる。   The first prediction unit 123 performs motion compensation prediction 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.

この画素単位の動きベクトルの算出処理および各画素の動き補償処理を、規定された複数のモードで行う。複数のモードはそれぞれ、参照インデックス、動き補償ブロックのサイズ、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.

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

第1の予測部123は、第1の非代表点動きベクトル算出部122で算出された各画素の動きベクトルに応じて各画素を動き補償予測する。より具体的には、各画素の動きベクトルが指し示す参照画像の画素から補間信号を生成することにより動き補償予測する。なお、各画素の動きベクトルの精度、演算過程で必要となる数値のまるめ方などは、どの復号装置で復号しても同じ値になるように規定する必要がある。また、動きベクトルにより指定される予測画素の座標が小数点以下で表される場合、動き補償の際に周囲の画素から当該画素を補間する。その補間方法には4〜6タップのフィルタリングや線形補間などを用いることができる。   The first prediction unit 123 performs motion compensation prediction on each pixel according to the motion vector of each pixel calculated by the first non-representative point motion vector calculation unit 122. 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 coordinates of the predicted pixel specified by the motion vector are expressed with 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.

DMV4モードでは、4つの動きベクトルで拡大・縮小、回転、平行移動など、DMV4モード以外のモードでは表現できない複雑な変形を表すことができる。DMV3モードでは、3つの動きベクトルでアフィン変換による変形を表すことができる。変形の表現力はDMV4モードに比べて限定されるが、符号化すべき動きベクトル(より具体的には、差分ベクトル)の数を減らすことができる。   In the DMV4 mode, complex deformations that cannot be expressed in modes other than the DMV4 mode, such as enlargement / reduction, rotation, and parallel movement, can be represented by four motion vectors. In DMV3 mode, deformation by affine transformation can be represented by three motion vectors. The expressive power of deformation is limited compared to the DMV4 mode, but the number of motion vectors (more specifically, difference vectors) to be encoded can be reduced.

DMV2Vモードでは、2つの動きベクトルで平行移動に加えて垂直方向に異なる変形を表すことができる。変形の表現力はDMV4モードおよびDMV3モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。DMV2Hモードでは、2つの動きベクトルで平行移動に加えて水平方向に異なる変形を表すことができる。変形の表現力はDMV4モードおよびDMV3モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。DMV2Aモードや、DMV2Bモードでは、2つの動きベクトルで平行移動に加えて斜め方向に異なる変形を表すことができる。変形の表現力はDMV4モードおよびDMV3モードに比べて限定されるが、符号化すべき動きベクトルの数を減らすことができる。DMV1Aモード、DMV1Bモード、DMV1Cモード、DMV1DモードおよびDMV0モードでは近隣のブロックから類推した変形にフィットしたとき、符号化すべき動きベクトルの数を大きく減らすことができる。   In DMV2V mode, two motion vectors can represent different deformations in the vertical direction in addition to translation. The expressive power of deformation is limited compared to the DMV4 mode and DMV3 mode, but the number of motion vectors to be encoded can be reduced. In the DMV2H mode, two motion vectors can represent different deformations in the horizontal direction in addition to translation. The expressive power of deformation is limited compared to the DMV4 mode and DMV3 mode, but the number of motion vectors to be encoded can be reduced. In the DMV2A mode and the DMV2B mode, two motion vectors can represent different deformations in the oblique direction in addition to the parallel movement. The expressive power of deformation is limited compared to the DMV4 mode and DMV3 mode, but the number of motion vectors to be encoded can be reduced. In the DMV1A mode, the DMV1B mode, the DMV1C mode, the DMV1D mode, and the DMV0 mode, the number of motion vectors to be encoded can be greatly reduced when fitting to a deformation analogized from neighboring blocks.

図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は、平行移動による動き補償予測または幾何学変換による動き補償予測のどちらを、どの参照画像を用いて、どの画素ブロック単位で符号化するかを選択することにより、予測方法を決定する。幾何学変換による動き補償予測を選択する場合、DMV4モード、DMV3モード、DMV2Vモード、DMV2Hモード、DMV2Aモード、DMV2Bモード、DMV1Aモード、DMV1Bモード、DMV1Cモード、DMV1DモードおよびDMV0モードのいずれかを選択する。その際、それらの項目の、どの組み合わせが、最も効率的な符号化を実現できる予測方法であるかを判定することにより、予測方法を決定する。予測方法を決定する基準として、たとえば、符号量と歪の関係を考慮したレート歪理論を用いることができる。より具体的には、マクロブロックの符号量(すなわち、予測方法情報、動きベクトルおよび予測信号の合計符号量)を算出するとともに、符号化対象画像と復号画像の差から歪量を算出し、当該符号量および当該歪量を入力変数とするレート歪関数を最小化する予測方法を選択する。   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. When selecting motion compensated prediction by geometric transformation, select one of DMV4 mode, DMV3 mode, DMV2V mode, DMV2H mode, DMV2A mode, DMV2B mode, DMV1A mode, DMV1B mode, DMV1C mode, DMV1D mode, and DMV0 mode . 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.

予測方法決定部104は、採用した予測方法情報を第1符号化ビット列生成部107および差分ベクトル算出部114に、採用した予測方法に応じた動きベクトルを差分ベクトル算出部114に供給する。それとともに、予測方法決定部104は、採用した予測方法により生成された予測信号を予測誤差信号生成部105に供給する。   The prediction method determination unit 104 supplies the adopted prediction method information to the first encoded bit string generation unit 107 and the difference vector calculation unit 114, and supplies a motion vector corresponding to the adopted prediction method to the difference vector calculation unit 114. 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.

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

たとえば、幾何学変換による動き補償予測を行うか否かを切り替えるブロック単位毎に、“geom_type”というシンタックス要素を用意する。“geom_type”の値が“0”を平行移動による動き補償予測、“geom_type”の値が“1”を幾何学変換による動き補償予測のDMV0モード、“geom_type”の値が“2”を幾何学変換による動き補償予測のDMV1Aモード、“geom_type”の値が“3”を幾何学変換による動き補償予測のDMV1Bモード、“geom_type”の値が“4”を幾何学変換による動き補償予測のDMV1Cモード、“geom_type”の値が“5”を幾何学変換による動き補償予測のDMV1Dモード、“geom_type”の値が“6”を幾何学変換による動き補償予測のDMV2Vモード、“geom_type”の値が“7”を幾何学変換による動き補償予測のDMV2Hモード、“geom_type”の値が“8”を幾何学変換による動き補償予測のDMV2Aモード、“geom_type”の値が“9”を幾何学変換による動き補償予測のDMV2Bモード、“geom_type”の値が“10”を幾何学変換による動き補償予測のDMV3モード、および“geom_type”の値が“11”を幾何学変換による動き補償予測のDMV4モードを表すものとして符号化する。   For example, a syntax element “geom_type” is prepared for each block unit for switching whether or not to perform motion compensation prediction by geometric transformation. “Geom_type” value is “0” for motion compensated prediction by translation, “geom_type” value is “1” for DMV0 mode of motion compensated prediction by geometric transformation, “geom_type” value is “2” for geometry DMV1A mode for motion compensated prediction by transformation, DMV1B mode for motion compensated prediction by geometric transformation when the value of “geom_type” is “3”, and DMV1C mode for motion compensated prediction by geometric transformation when the value of “geom_type” is “4” , The value of “geom_type” is “5” in the DMV1D mode of motion compensation prediction by geometric transformation, the value of “geom_type” is “6” in the DMV2V mode of motion compensation prediction by geometric transformation, and the value of “geom_type” is “ “7” is a DMV2H mode for motion compensated prediction by geometric transformation, “geom_type” is “8” for DMV2A mode for motion compensated prediction by geometric transformation, and “geom_type” is “9” by geometric transformation. DMV2B mode for compensated prediction, “10” for “geom_type” in DMV3 mode for motion compensated prediction by geometric transformation, and “DMV4” for motion compensated prediction by geometric transformation for “geom_type” value “11” Encode as representing.

図6は、シンタックス構造の一例を示す図である。なお、図6では“geom_type”をマクロブロックごとに1つ用意し、L0予測、L1予測共に共通のモードで動き補償予測を行う例を示しているが、L0、L1双方から予測するモードの場合、2つ用意することにより、L0予測、L1予測それぞれ別の動き補償予測を行うこともできる。   FIG. 6 is a diagram illustrating an example of the syntax structure. FIG. 6 shows an example in which one “geom_type” is prepared for each macroblock, and motion compensation prediction is performed in a mode common to both L0 prediction and L1 prediction. However, in the case of a mode in which prediction is performed from both L0 and L1. By preparing two, it is possible to perform different motion compensation predictions for each of the L0 prediction and the L1 prediction.

対象ブロックの動きベクトルを符号化する際、すでに符号化または復号済みの周囲の隣接ブロックまたはその隣接ブロックの画素の動きベクトルとの相関を利用して、当該隣接ブロックまたは当該隣接ブロックの画素の動きベクトルから動きベクトルを予測することにより予測ベクトルを算出することができる。そして、この予測ベクトルと、対象ブロックまたは対象画素の動きベクトルとの差分である差分ベクトルを算出することにより、対象ブロックまたは対象画素の動きベクトルの符号量を削減することができる。ここで、幾何学変換による動き補償予測が採用された対象ブロックでは、その代表画素の動きベクトルが符号化の対象となる。   When encoding the motion vector of the target block, the motion of the pixel of the adjacent block or the adjacent block is calculated using the correlation with the motion vector of the neighboring adjacent block or the pixel of the adjacent block that has already been encoded or decoded. A prediction vector can be calculated by predicting a motion vector from the vector. Then, by calculating a difference vector that is a difference between the prediction vector and the motion vector of the target block or the target pixel, the code amount of the motion vector of the target block or the target pixel can be reduced. 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.

図1に戻り、差分ベクトル算出部114は、予測方法決定部104から供給される予測方法情報に応じて、対象ブロックの他の代表画素、すでに符号化されている周囲の隣接ブロックまたはその隣接ブロックの画素の動きベクトルから、対象ブロックまたは対象画素の動きベクトルを予測することにより予測ベクトルを算出する。なお、予測ベクトルを平行移動動き補償予測部102、幾何学変換動き補償予測部103、予測方法決定部104で算出した場合、これらの値を差分ベクトル算出部114で用いてもよい。そして、差分ベクトル算出部114は、その予測ベクトルと、予測方法決定部104から供給される動きベクトルとの差分を算出して差分ベクトルを生成し、第2符号化ビット列生成部108に供給する。   Returning to FIG. 1, the difference vector calculation unit 114 selects another representative pixel of the target block, a neighboring neighboring block that has already been encoded, or its neighboring block according to the prediction method information supplied from the prediction method determining unit 104. The prediction vector is calculated by predicting the motion vector of the target block or the target pixel from the motion vector of the target pixel. Note that when the prediction vector is calculated by the translational motion compensation prediction unit 102, the geometric transformation motion compensation prediction unit 103, and the prediction method determination unit 104, these values may be used by the difference vector calculation unit 114. Then, the difference vector calculation unit 114 calculates a difference between the prediction vector and the motion vector supplied from the prediction method determination unit 104, generates a difference vector, and supplies the difference vector to the second encoded bit string generation unit 108.

DMV4モードでは、差分ベクトル算出部114は、4つの頂点a、b、c、dに対応する4つの代表画素a、b、c、dの動きベクトルを符号化・復号するために、それぞれの予測ベクトルおよび差分ベクトルを算出する。DMV3モードでは、3つの頂点a、b、cに対応する3つの代表画素a、b、cの動きベクトルを符号化・復号するために、それぞれの予測ベクトルおよび差分ベクトルを算出する。DMV2Vモードでは、2つの頂点a、cに対応する2つの代表画素a、cの動きベクトルを符号化・復号するために、それぞれ予測ベクトルおよび差分ベクトルを算出する。DMV2Hモードでは、2つの頂点a、bに対応する2つの代表画素a、bの動きベクトルを符号化・復号するために、それぞれの予測ベクトルおよび差分ベクトルを算出する。DMV2Aモードでは、2つの頂点a、dに対応する2つの代表画素a、dの動きベクトルを符号化・復号するために、それぞれ予測ベクトルおよび差分ベクトルを算出する。DMV2Bモードでは、2つの頂点b、cに対応する2つの代表画素b、cの動きベクトルを符号化・復号するために、それぞれ予測ベクトルおよび差分ベクトルを算出する。   In the DMV4 mode, the difference vector calculation unit 114 encodes and decodes the motion vectors of the four representative pixels a, b, c, and d corresponding to the four vertices a, b, c, and d. Vector and difference vector are calculated. In the DMV3 mode, in order to encode and decode the motion vectors of the three representative pixels a, b, and c corresponding to the three vertices a, b, and c, respective prediction vectors and difference vectors are calculated. In the DMV2V mode, in order to encode and decode the motion vectors of the two representative pixels a and c corresponding to the two vertices a and c, a prediction vector and a difference vector are calculated, respectively. In the DMV2H mode, in order to encode and decode motion vectors of two representative pixels a and b corresponding to two vertices a and b, respective prediction vectors and difference vectors are calculated. In the DMV2A mode, in order to encode and decode motion vectors of two representative pixels a and d corresponding to two vertices a and d, a prediction vector and a difference vector are calculated, respectively. In the DMV2B mode, in order to encode and decode the motion vectors of the two representative pixels b and c corresponding to the two vertices b and c, a prediction vector and a difference vector are calculated, respectively.

DMV1Aモードでは、頂点aに対応する代表画素aの動きベクトルを符号化・復号するために、代表画素aの予測ベクトルおよび差分ベクトルだけを算出する。DMV1Bモードでは、頂点bに対応する代表画素bの動きベクトルを符号化・復号するために、代表画素bの予測ベクトルおよび差分ベクトルだけを算出する。DMV1Cモードでは、頂点cに対応する代表画素cの動きベクトルを符号化・復号するために、代表画素cの予測ベクトルおよび差分ベクトルだけを算出する。DMV1Dモードでは、頂点dに対応する代表画素dの動きベクトルを符号化・復号するために、代表画素dの予測ベクトルおよび差分ベクトルだけを算出する。DMV0モードでは、どの動きベクトルも符号化・復号しないのため、差分ベクトルを算出しない。   In the DMV1A mode, only the prediction vector and the difference vector of the representative pixel a are calculated in order to encode / decode the motion vector of the representative pixel a corresponding to the vertex a. In the DMV1B mode, only the prediction vector and the difference vector of the representative pixel b are calculated in order to encode and decode the motion vector of the representative pixel b corresponding to the vertex b. In the DMV1C mode, only the prediction vector and the difference vector of the representative pixel c are calculated in order to encode and decode the motion vector of the representative pixel c corresponding to the vertex c. In the DMV1D mode, in order to encode and decode the motion vector of the representative pixel d corresponding to the vertex d, only the prediction vector and the difference vector of the representative pixel d are calculated. In the DMV0 mode, since no motion vector is encoded / decoded, a difference vector is not calculated.

なお、差分ベクトル算出部114は、予測方法決定部104から供給される対象ブロックの予測方法情報および動きベクトルを保持し、後続する対象ブロックの予測ベクトルの算出に利用する。   The difference vector calculation unit 114 holds the prediction method information and motion vector of the target block supplied from the prediction method determination unit 104, and uses the prediction vector information and the motion vector of the subsequent target block.

図7(a)〜(d)は、符号化対象ブロックおよび隣接ブロック共に平行移動による動き補償予測が選択された場合の符号化対象ブロックの動きベクトルの予測方法を説明するための図である。図7(a)は、パーティションが設定されていないマクロブロック間において、動きベクトルを予測する例を示す。図7(b)は、パーティションが設定されているマクロブロック間において、動きベクトルを予測する例を示す。図7(c)は、8×16画素のマクロブロックにおいて、動きベクトルを予測する例を示す。図7(d)は、16×8画素のマクロブロックにおいて、動きベクトルを予測する例を示す。以下、図7(a)〜(d)を参照して、動きベクトルの予測方法について説明する。この動きベクトルの予測方法は、周囲の隣接ブロックの動きベクトルの中央値を用いて、対象ブロックの動きベクトルを予測する。   FIGS. 7A to 7D are diagrams for explaining a method of predicting a motion vector of an encoding target block when motion compensated prediction based on parallel movement is selected for both the encoding target block and adjacent blocks. FIG. 7A shows an example of predicting a motion vector between macroblocks in which no partition is set. FIG. 7B shows an example in which motion vectors are predicted between macroblocks in which partitions are set. FIG. 7C shows an example in which a motion vector is predicted in a macro block of 8 × 16 pixels. FIG. 7D shows an example in which a motion vector is predicted in a 16 × 8 pixel macroblock. Hereinafter, a motion vector prediction method will be described with reference to FIGS. 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.

図7(a)〜(d)にて、グレーで塗られているブロックの動きベクトルが符号化対象である。図7(a)にて、対象ブロックの動きベクトルを、その対象ブロックの左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの3つの動きベクトルを候補として用いることにより予測する。より具体的には、それら3つの動きベクトルから水平成分および垂直成分それぞれについて中央値をとって予測ベクトルとする。   In FIGS. 7A to 7D, the motion vector of a block painted in gray is an encoding target. In FIG. 7A, the motion vector of the target block is predicted by 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 side as candidates. To do. 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.

なお、Bピクチャにおいては、L0予測のための動きベクトルとL1予測のための動きベクトルをそれぞれ別々に扱う。その対象ブロックの左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの3つのL0予測のための動きベクトルを用いて予測することにより、対象ブロックのL0予測のための予測ベクトルを算出する。同様に、その対象ブロックの左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの3つのL1予測のための動きベクトルを用いて予測することにより、対象ブロックのL1予測のための予測ベクトルを算出する。ここで、上隣のブロックBおよび右斜上隣のブロックCが共に利用できず、ブロックAだけが利用できる場合、ブロックAの動きベクトルを予測ベクトルとして採用する。また、左隣のブロックA、上隣のブロックBおよび右斜上隣のブロックCの参照インデックスのうち、1つだけが符号化対象ブロックの参照インデックスと値が等しい(すなわち、参照ピクチャが等しい)場合、そのブロックの動きベクトルを予測に用いる。   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. Also, 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 in value to the reference index of the current block (that is, the reference picture is equal). In this case, the motion vector of the block is used for prediction.

図7(b)に示すように、隣接するマクロブロックにパーティションが設定されている場合、マクロブロックの小ブロックごとに動きベクトルが異なる。その場合、対象ブロックの左隣のブロックでは、対象ブロックと接している小ブロックのうち、最も上の小ブロックAの動きベクトルを候補として採用する。上隣のブロックでは、対象ブロックと接している小ブロックのうち、最も左のブロックBを候補として採用する。右斜上隣のブロックでは、最も左下の小ブロックCを候補として採用する。この規則に従って、以下、図7(a)と同様に、予測ベクトルを算出する。   As shown in FIG. 7B, when a partition is set in an adjacent 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 as a candidate. In the upper adjacent block, the leftmost block B among the small blocks in contact with the target block is adopted as a candidate. In the block adjacent to the upper right, the lower left small block C is adopted as a candidate. In accordance with this rule, a prediction vector is calculated in the same manner as in FIG.

図7(c)に示すように、符号化するブロックが8×16の場合、3つのブロックの動きベクトルの中央値ではなく、左のブロックは左隣のブロックA、右のブロックは右斜上隣のブロックCの動きベクトルを予測ベクトルとして採用する。また、図7(d)に示すように、符号化するブロックが16×8の場合も、3つのブロックの動きベクトルの中央値ではなく、上のブロックは上隣のブロックB、下のブロックは左隣のブロックAの動きベクトルを予測ベクトルとして採用する。   As shown in FIG. 7C, 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. In addition, as shown in FIG. 7D, when the block to be encoded is 16 × 8, the upper block is not the median value 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.

なお、図7(a)〜(d)に示す動きベクトルの予測方法は一例であり、それに限られるものではない。符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、他の方法を用いることもできる。たとえば、隣接ブロックの位置および数が異なっていてもよい。また、隣接ブロックの複数の動きベクトルの中央値ではなく、平均値を用いてもよい。規定の条件や優先順位を設けて、単独の隣接ブロックの動きベクトルをそのまま用いてもよい。また、隣接ブロックは対象ブロックと必ずしも接していなくてもよい。また、図7(a)〜(d)ではマクロブロック単位の動きベクトルを予測する例を説明したが、サブマクロブロック単位の動きベクトルを予測する場合も、同様に処理することができる。   Note that the motion vector prediction method shown in FIGS. 7A to 7D 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. 7A to 7D, an example of predicting a motion vector in units of macroblocks has been described. However, the same processing can be performed when a motion vector in units of sub-macroblocks is predicted.

つぎに、符号化対象ブロックで平行移動による動き補償予測が選択され、隣接ブロックで幾何学変換による動き補償予測が選択された場合の符号化対象ブロックの動きベクトルの予測方法について説明する。隣接ブロックが幾何学変換による動き補償予測の場合、対象ブロックの左隣のブロックでは、対象ブロックと接している小ブロックのうち、最も上の小ブロックの右上の第2代表画素bの動きベクトルを、予測ベクトルを算出する際の候補として採用する。上隣のブロックでは、対象ブロックと接している小ブロックのうち、最も左のブロックの左下の第3代表画素cの動きベクトルを、予測ベクトルを算出する際の候補として採用する。右斜上隣のブロックでは、最も左下の小ブロックの左下の第3代表画素cの動きベクトルを、予測ベクトルを算出する際の候補として採用する。この規則に従って、以下、上述した図7(a)と同様に、予測ベクトルを算出する。   Next, a method for predicting a motion vector of an encoding target block when motion compensated prediction by parallel movement is selected in the encoding target block and motion compensated prediction by geometric transformation is selected in an adjacent block will be described. When the adjacent block is motion compensated prediction by geometric transformation, in the block adjacent to the left of the target block, the motion vector of the second representative pixel b at the upper right of the uppermost small block among the small blocks in contact with the target block is calculated. It is adopted as a candidate when calculating a prediction vector. In the upper adjacent block, the motion vector of the lower left third representative pixel c of the leftmost block among the small blocks in contact with the target block is adopted as a candidate for calculating the prediction vector. In the block on the upper right side, the motion vector of the lower left third representative pixel c of the lower left small block is adopted as a candidate for calculating a prediction vector. In accordance with this rule, the prediction vector is calculated in the same manner as in FIG.

なお、この動きベクトルの予測方法は一例であり、それに限られるものではない。符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、他の方法を用いることもできる。たとえば、対象ブロックの左隣のブロックの4つの代表画素の平均値を対象ブロックの左隣の動きベクトルの候補としてもよい。また、対象ブロックの上隣のブロックの4つの代表画素の平均値を対象ブロックの上隣の動きベクトルの候補としてもよい。また、対象ブロックの右上隣のブロックの4つの代表画素の平均値を対象ブロックの右上隣の動きベクトルの候補としてもよい。さらに、隣接ブロックや隣接ブロックの画素の位置および数が異なっていてもよい。また、隣接ブロックの画素の複数の動きベクトルの中央値ではなく、平均値を用いてもよい。単独の隣接ブロックの画素の動きベクトルをそのまま用いてもよい。また、隣接ブロックまたは隣接ブロックの画素は対象ブロックと必ずしも接していなくてもよい。また、ここではマクロブロック単位の動きベクトルを予測する例を説明したが、サブマクロブロック単位の動きベクトルを予測する場合も、同様に処理することができる。   Note that this motion vector prediction method 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, an average value of four representative pixels of the block adjacent to the left of the target block may be used as a motion vector candidate adjacent to the left of the target block. Further, an average value of four representative pixels of the block adjacent to the target block may be used as a motion vector candidate above the target block. Alternatively, the average value of the four representative pixels of the block on the upper right side of the target block may be used as a motion vector candidate on the upper right side of the target block. Furthermore, the positions and the number of pixels of adjacent blocks and adjacent blocks may be different. Further, an average value may be used instead of the median value of a plurality of motion vectors of pixels in adjacent blocks. You may use the motion vector of the pixel of a single adjacent block as it is. Further, the adjacent block or the pixel of the adjacent block may not necessarily be in contact with the target block. Although an example of predicting a motion vector in units of macroblocks has been described here, the same processing can be performed when a motion vector in units of sub-macroblocks is predicted.

つぎに、符号化対象ブロックおよび隣接ブロック共に幾何学変換による動き補償予測が選択された場合の符号化対象ブロックの動きベクトルの予測方法について説明する。この場合においても同様に、隣接ブロックの動きベクトルから予測ベクトルを算出する。ただし、前述のDMV2Vモードの第2代表画素bおよび第4代表画素dの差分ベクトル、DMV2Hモードの第3代表画素cおよび第4代表画素dの差分ベクトル、DMV2Aモードの第2代表画素bおよび第3代表画素cの差分ベクトル、DMV2Bモードの第1代表画素aおよび第4代表画素dの差分ベクトルに関しては、前述した方法により対象ブロックの動きベクトルの値から算出する。   Next, a method for predicting a motion vector of an encoding target block when motion compensated prediction by geometric transformation is selected for both the encoding target block and adjacent blocks will be described. In this case as well, the prediction vector is calculated from the motion vector of the adjacent block. However, the difference vector between the second representative pixel b and the fourth representative pixel d in the DMV2V mode, the difference vector between the third representative pixel c and the fourth representative pixel d in the DMV2H mode, the second representative pixel b and the second representative pixel b in the DMV2A mode. The difference vector of the three representative pixels c and the difference vector of the first representative pixel a and the fourth representative pixel d in the DMV2B mode are calculated from the motion vector values of the target block by the method described above.

これらのモードを除く符号化対象ブロックの第1代表画素a、第2代表画素bおよび第3代表画素cの予測ベクトルは、隣接ブロックの代表画素の動きベクトルから予測する。符号化対象ブロックの第1代表画素aの予測ベクトルは、左隣のブロックAの第2代表画素bの動きベクトル、上隣のブロックBの第3代表画素cの動きベクトルおよび左斜上隣のブロックDの第4代表画素dの動きベクトルを予測ベクトルの候補として参照して算出する。予測ベクトルの算出の際には、あらかじめ規則を設定して、その規則に応じて選択する。例えば、左隣のブロックAの第2代表画素bの動きベクトル、上隣のブロックBの第3代表画素cの動きベクトル、左斜上隣のブロックDの第4代表画素dの動きベクトルの順に優先順位を設定し、参照画像が同じ動きベクトルを予測ベクトルとして選択する。参照画像が同じ動きベクトルが複数ある場合は優先順位が先の動きベクトルを予測ベクトルとして選択する。参照画像が同じ動きベクトルが存在しない場合は、後述のスケーリングを行う。   The prediction vectors of the first representative pixel a, the second representative pixel b, and the third representative pixel c of the encoding target block excluding these modes are predicted from the motion vectors of the representative pixels of the adjacent blocks. The prediction vector of the first representative pixel a of the encoding target block is the motion vector of the second representative pixel b of the left adjacent block A, the motion vector of the third representative pixel c of the upper adjacent block B, and the upper left diagonal. The motion vector of the fourth representative pixel d of the block D is calculated with reference to a prediction vector candidate. When calculating the prediction vector, a rule is set in advance and selected according to the rule. For example, the motion vector of the second representative pixel b of the block A adjacent to the left, the motion vector of the third representative pixel c of the upper adjacent block B, and the motion vector of the fourth representative pixel d of the block D adjacent upper left obliquely Priorities are set, and motion vectors with the same reference image are selected as prediction vectors. When there are a plurality of motion vectors with the same reference image, the motion vector with the priorities is selected as the prediction vector. When the same motion vector does not exist in the reference image, scaling described later is performed.

符号化対象ブロックの第2代表画素bの予測ベクトルは、上隣のブロックBの第4代表画素dの動きベクトル、右斜上隣のブロックCの第3代表画素cの動きベクトル、当該対象ブロックの第1代表画素aの動きベクトルを予測ベクトルの候補として参照して算出する。この場合も予測ベクトルの算出の際には、あらかじめ規則を設定して、その規則に応じて選択する。例えば、上隣のブロックBの第4代表画素dの動きベクトル、右斜上隣のブロックCの第3代表画素cの動きベクトル、当該対象ブロックの第1代表画素aの動きベクトルの動きベクトルの順に優先順位を設定し、参照画像が同じ動きベクトルを予測ベクトルとして選択する。参照画像が同じ動きベクトルが複数ある場合は優先順位が先の動きベクトルを予測ベクトルとして選択する。   The prediction vector of the second representative pixel b of the encoding target block is the motion vector of the fourth representative pixel d of the upper adjacent block B, the motion vector of the third representative pixel c of the upper right block C, the target block The motion vector of the first representative pixel a is calculated with reference to a prediction vector candidate. Also in this case, when calculating the prediction vector, a rule is set in advance and selected according to the rule. For example, the motion vector of the fourth representative pixel d of the upper adjacent block B, the motion vector of the third representative pixel c of the upper right block C, and the motion vector of the motion vector of the first representative pixel a of the target block Priorities are set in order, and motion vectors with the same reference image are selected as prediction vectors. When there are a plurality of motion vectors with the same reference image, the motion vector with the priorities is selected as the prediction vector.

符号化対象ブロックの第3代表画素cの予測ベクトルは、左隣のブロックAの第4代表画素dの動きベクトル、当該対象ブロックの第1代表画素aの動きベクトルを予測ベクトルの候補として参照して算出する。この場合も予測ベクトルの算出の際には、あらかじめ規則を設定して、その規則に応じて選択する。例えば、上隣のブロックBの第4代表画素dの動きベクトル、右斜上隣のブロックCの第3代表画素cの動きベクトル、当該対象ブロックの第1代表画素aの動きベクトルの順に優先順位を設定し、参照画像が同じ動きベクトルを予測ベクトルとして選択する。参照画像が同じ動きベクトルが複数ある場合は優先順位が先の動きベクトルを予測ベクトルとして選択する。なお、シンタックスに複数の候補から予測ベクトルとして採用する動きベクトルを特定するためのフラグを用意してもよい。この場合、差分ベクトルを符号化する代表点に関しては差分ベクトルの符号量が最も小さくなる候補を選択し、差分ベクトルを符号化しない代表点に関しては最も良好な幾何学変換動き補償画像を得られる候補を選択して、第1符号化ビット列生成部107で代表点ごとに選択した候補を特定するフラグを符号化する。   The prediction vector of the third representative pixel c of the encoding target block refers to the motion vector of the fourth representative pixel d of the block A adjacent to the left and the motion vector of the first representative pixel a of the target block as prediction vector candidates. To calculate. Also in this case, when calculating the prediction vector, a rule is set in advance and selected according to the rule. For example, the priority order of the motion vector of the fourth representative pixel d of the upper neighboring block B, the motion vector of the third representative pixel c of the upper right block C, and the motion vector of the first representative pixel a of the target block. And a motion vector having the same reference image is selected as a prediction vector. When there are a plurality of motion vectors with the same reference image, the motion vector with the priorities is selected as the prediction vector. A flag for specifying a motion vector to be adopted as a prediction vector from a plurality of candidates may be prepared in the syntax. In this case, a candidate that selects the smallest code amount of the difference vector is selected for the representative point that encodes the difference vector, and a candidate that can obtain the best geometric transformation motion compensated image for the representative point that does not encode the difference vector. Is selected, and the flag that identifies the candidate selected for each representative point by the first encoded bit string generation unit 107 is encoded.

つぎに、符号化対象ブロックで幾何学変換による動き補償予測が選択され、隣接ブロックで平行移動による動き補償予測が選択された場合の符号化対象ブロックの動きベクトルの予測方法について説明する。隣接ブロックが平行移動による動き補償予測の場合、隣接ブロックの動きベクトルが当該隣接ブロック内のすべての画素で共通である。そこで、隣接ブロックの動きベクトルを、その隣接ブロックの代表画素の動きベクトルとし、符号化対象ブロックおよび隣接ブロック共に幾何学変換による動き補償予測が選択された場合の符号化対象ブロックの動きベクトルの予測方法と同様の方法で算出する。   Next, a motion vector prediction method for a coding target block when motion compensated prediction by geometric transformation is selected in the encoding target block and motion compensated prediction by parallel movement is selected in the adjacent block will be described. In the case of motion compensated prediction based on parallel movement of an adjacent block, the motion vector of the adjacent block is common to all pixels in the adjacent block. Therefore, the motion vector of the adjacent block is set as the motion vector of the representative pixel of the adjacent block, and the motion vector prediction of the encoding target block is selected when motion compensation prediction by geometric transformation is selected for both the encoding target block and the adjacent block. It is calculated by the same method as the method.

なお、幾何学変換による動き補償予測が選択された場合の動きベクトルの予測方法は一例であり、それに限られるものではない。符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、他の方法を用いることもできる。たとえば、隣接ブロックの代表画素の位置および数が異なっていてもよい。また、隣接ブロックの代表画素の複数の動きベクトルの中央値ではなく、平均値を用いてもよい。単独の隣接ブロックの代表画素の動きベクトルをそのまま用いてもよい。   Note that the motion vector prediction method when motion compensated prediction by geometric transformation is selected 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 representative pixels in adjacent blocks may be different. Further, an average value may be used instead of the median value of a plurality of motion vectors of representative pixels of adjacent blocks. You may use the motion vector of the representative pixel of a single adjacent block as it is.

また、前述したDMV2Vモード、DMV2Hモード、DMV2Aモード、DMV2Bモードを除く第4代表画素dの予測ベクトルPVdは、第1代表画素a、第2代表画素bおよび第3代表画素cのそれぞれの動きベクトルVa、Vb、Vcから下記式(9)により算出する。
PVd=Vc+(Vb−Va) ・・・式(9)
あるいは、下記式(10)により算出する。
PVd=Vb+(Vc−Va) ・・・式(10)
In addition, the prediction vector PVd of the fourth representative pixel d excluding the DMV2V mode, DMV2H mode, DMV2A mode, and DMV2B mode described above is the motion vector of each of the first representative pixel a, the second representative pixel b, and the third representative pixel c. It calculates from Va, Vb, Vc by the following formula (9).
PVd = Vc + (Vb−Va) (9)
Or it calculates by following formula (10).
PVd = Vb + (Vc−Va) Formula (10)

この第4代表画素dの予測ベクトルの算出式である上記式(9)および上記式(10)は、DMV3モードで算出する第4代表画素dの算出式である上記式(1)および上記式(2)とそれぞれ同じ式である。DMV2Vモード、DMV2HモードおよびDMV3モードでは表現できない変形を表すことができるが、DMV3モードで表現できるアフィン変換に近い変換であることが多い。上記式(9)および上記式(10)で算出できる予測ベクトルは、DMV4モードで符号化・復号する第4代表画素dの動きベクトルと強い相関があるという考えに基づいている。   The above formulas (9) and (10) that are the calculation formulas of the prediction vector of the fourth representative pixel d are the above formulas (1) and (10) that are the calculation formulas of the fourth representative pixel d calculated in the DMV3 mode. Each is the same formula as (2). Although transformations that cannot be expressed in the DMV2V mode, DMV2H mode, and DMV3 mode can be expressed, the conversion is often close to affine conversion that can be expressed in the DMV3 mode. The prediction vector that can be calculated by the above equations (9) and (10) is based on the idea that there is a strong correlation with the motion vector of the fourth representative pixel d that is encoded / decoded in the DMV4 mode.

なお、符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、他の方法を用いることもできる。たとえば、第4代表画素dに関しては、第1代表画素a、第2代表画素bおよび第3代表画素cの動きベクトルの中央値を予測ベクトルとして用いることもできる。あるいは、中央値の代わりに、平均値を用いてもよいし、単独の任意の画素の動きベクトルをそのまま用いてもよい。または、式(9)で算出される予測ベクトル、第1代表画素aの動きベクトル、第2代表画素bの動きベクトル、第3代表画素cの動きベクトル、第1代表画素a、第2代表画素bおよび第3代表画素cの動きベクトルの中央値、第1代表画素a、第2代表画素bおよび第3代表画素cの動きベクトルの平均値を予測ベクトルの候補とし、少なくとも2つを適応的に切り替えてもよい。この場合、シンタックスに複数の候補から予測ベクトルとして採用する動きベクトルを特定するためのフラグを用意し、第1符号化ビット列生成部107でこのフラグを符号化する。   It should be noted that other methods can be used as long as the motion vector prediction method is defined identically on the encoding side and the decoding side. For example, for the fourth representative pixel d, the median value of the motion vectors of the first representative pixel a, the second representative pixel b, and the third representative pixel c can be used as the prediction vector. Alternatively, an average value may be used instead of the median value, or a motion vector of a single arbitrary pixel may be used as it is. Alternatively, the prediction vector calculated by Expression (9), the motion vector of the first representative pixel a, the motion vector of the second representative pixel b, the motion vector of the third representative pixel c, the first representative pixel a, and the second representative pixel The median of the motion vectors of b and the third representative pixel c, the average value of the motion vectors of the first representative pixel a, the second representative pixel b, and the third representative pixel c are used as prediction vector candidates, and at least two are adaptive. You may switch to. In this case, a flag for specifying a motion vector to be adopted as a prediction vector from a plurality of candidates is prepared in the syntax, and the first encoded bit string generation unit 107 encodes this flag.

また、DMV2Aモードでは、当該対象ブロックの第1代表画素aの動きベクトルVaを第4代表画素dの予測ベクトルPVdとする。DMV2Aモードでは、第2代表画素bおよび第3代表画素cの動きベクトルVb、Vcを算出する際に、第4代表画素dの動きベクトルVdを利用するので、第4代表画素dの予測ベクトルPVdを算出する際に、第2代表画素bおよび第3代表画素cの動きベクトルVb、Vcを利用することができないからである。   In the DMV2A mode, the motion vector Va of the first representative pixel a of the target block is set as the prediction vector PVd of the fourth representative pixel d. In the DMV2A mode, the motion vector Vd of the fourth representative pixel d is used when calculating the motion vectors Vb and Vc of the second representative pixel b and the third representative pixel c. This is because the motion vectors Vb and Vc of the second representative pixel b and the third representative pixel c cannot be used when calculating.

また、上記において説明した動きベクトルの予測方法において、隣接ブロックや隣接ブロックの画素の動きベクトルをそのまま候補とするのではなく、スケーリングした動きベクトル値Vabcd’を予測ベクトルの算出に用いてもよい。スケーリングした動きベクトル値Vabcd’は、符号化対象画像と符号化対象ブロックの動きベクトルが指し示す参照画像との間の距離(時間)T1と、符号化対象画像と隣接ブロックまたは隣接画素の動きベクトルVabcdが指し示す参照画像との距離(時間)T2との違いに応じてスケーリングした動きベクトル値である。スケーリングした動きベクトル値Vabcd’は下記式(11)により算出される。
Vabcd’=Vabcd*(T1/T2) ・・・式(11)
In the motion vector prediction method described above, 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 block or the pixel of the adjacent block as it is as a candidate. 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 Vabcd of the encoding target image and the adjacent block or adjacent pixel. Is a motion vector value scaled according to the difference from the distance (time) T2 from the reference image indicated by. 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. Therefore, 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.

図8は、動きベクトル値のスケーリング処理の一例を説明するための図である。図8では、符号化対象画像の符号化対象ブロックの参照画像が画像Ref2であり、隣接ブロック(隣接画素)の動き補償予測の参照画像が画像Ref3である例を示している。図8ではT1:T2=2:3であるため、画像Ref3を参照している隣接ブロック(隣接画素)の動きベクトルを2/3にスケーリングする。これにより、隣接ブロック(隣接画素)が画像Ref2を参照して動き補償予測をした場合の動きベクトル値に近くなり、結果的に画像Ref2を参照する符号化対象ブロックの動きベクトル値に近くなる。図8の例では、隣接ブロックの動き補償予測の際の参加画像が画像Ref3でその動きベクトルの値が(24,−9)の場合、それを2/3にスケーリングした(16,6)を、符号化対象ブロックが参照する画像Ref2の動きベクトル値とするとよい。   FIG. 8 is a diagram for explaining an example of motion vector value scaling processing. FIG. 8 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. 8, 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 motion vector value when motion compensation prediction is performed with reference to the image Ref2, and as a result, close to the motion vector value of the encoding target block that refers to the image Ref2. In the example of FIG. 8, 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.

なお、符号化側と復号側で動きベクトルの予測方法を同一に規定する限りにおいては、対象ブロックの第2代表画素bの予測ベクトルを算出する際に、第1代表画素aの動きベクトルを対象ブロックの第2代表画素bの予測ベクトルとしてもよい。また、上隣のブロックBの第4代表画素dの動きベクトルを対象ブロックの第2代表画素bの予測ベクトルとするか、第1代表画素aの動きベクトルを対象ブロックの第2代表画素bの予測ベクトルとするかを適応的に切り替えてもよい。   As long as the prediction method of the motion vector is the same on the encoding side and the decoding side, the motion vector of the first representative pixel a is the target when calculating the prediction vector of the second representative pixel b of the target block. It is good also as a prediction vector of the 2nd representative pixel b of a block. Further, the motion vector of the fourth representative pixel d of the upper adjacent block B is set as the prediction vector of the second representative pixel b of the target block, or the motion vector of the first representative pixel a is set as the second representative pixel b of the target block. Whether the prediction vector is used may be adaptively switched.

対象ブロックの第1代表画素aの差分ベクトルを符号化するモードにおいては、対象ブロックと上隣のブロックBの幅が同じ場合、対象ブロックの第1代表画素aの動きベクトルの値に応じて切り替えることもできる。対象ブロックの第1代表画素aの動きベクトルの値が、参照画像との間の距離の違いを補正するためにスケーリングされた上隣のブロックBの第4代表画素dの動きベクトルの値と同じか両者の値が所定の第1設定値(極めて小さな値に設定される)未満の場合、上隣のブロックBの第4代表画素dのスケーリングされた動きベクトルを予測ベクトルとして採用し、両者の値が当該第1設定値以上離れている場合、対象ブロックの第1代表画素aの動きベクトルを予測ベクトルとして採用する。対象ブロックの第1代表画素aの動きベクトルの値が、上隣のブロックBの第4代表画素dのスケーリングされた動きベクトルの値と同じか非常に近い場合、第2代表画素bの差分ベクトルを符号化・復号するモードでは、対象ブロックの第2代表画素bの動きベクトルの値が、スケーリングされた上隣のブロックBの第4代表画素dの動きベクトルの値と同じか非常に近い値になる確率が高く、差分ベクトルの符号量を削減できる。第2代表画素bの差分ベクトルを符号化・復号しないモードでは、対象ブロックの第1代表画素aの動きベクトルよりもスケーリングされた上隣のブロックBの第4代表画素dの動きベクトルの値にしたほうが良好な幾何学変換動き補償画像を得られる確率が高いためである。   In the mode for encoding the difference vector of the first representative pixel a of the target block, when the width of the target block and the upper adjacent block B are the same, switching is performed according to the value of the motion vector of the first representative pixel a of the target block. You can also. The value of the motion vector of the first representative pixel a of the target block is the same as the value of the motion vector of the fourth representative pixel d of the upper adjacent block B scaled to correct the difference in distance from the reference image. If both values are less than a predetermined first set value (set to an extremely small value), the scaled motion vector of the fourth representative pixel d of the upper adjacent block B is adopted as a prediction vector, When the value is more than the first set value, the motion vector of the first representative pixel a of the target block is adopted as the prediction vector. If the value of the motion vector of the first representative pixel a of the target block is the same as or very close to the value of the scaled motion vector of the fourth representative pixel d of the upper adjacent block B, the difference vector of the second representative pixel b In the mode for encoding / decoding the motion vector, the value of the motion vector of the second representative pixel b of the target block is the same as or very close to the value of the scaled motion vector of the fourth representative pixel d of the upper adjacent block B. The code amount of the difference vector can be reduced. In the mode in which the difference vector of the second representative pixel b is not encoded / decoded, the motion vector value of the fourth representative pixel d of the upper adjacent block B is scaled more than the motion vector of the first representative pixel a of the target block. This is because the probability that a better geometric transformation motion compensated image can be obtained is higher.

一方、対象ブロックの第1代表画素aの動きベクトルの値が、スケーリングされた上隣のブロックBの第4代表画素dの動きベクトルの値と比較的離れている場合、第2代表画素bの差分ベクトルを符号化・復号するモードでは、対象ブロックの第2代表画素bの動きベクトルの値が、スケーリングされた上隣のブロックBの第4代表画素dの動きベクトルの値と比較的離れる確率が高く、この場合、スケーリングされた上隣のブロックBの第4代表画素dの動きベクトルからではなく、対象ブロックの第1代表画素aの動きベクトルの値を予測ベクトルとしたほうが差分ベクトルの符号量を削減できる可能性が高い。第2代表画素bの差分ベクトルを符号化・復号しないモードでは、スケーリングされた上隣のブロックBの第4代表画素dの動きベクトルよりも対象ブロックの第1代表画素aの動きベクトルの値を予測ベクトルとしたほうが良好な幾何学変換動き補償画像を得られる確率が高い。なお、上記第1設定値は、設計者による実験やシミュレーションにもとづき決定される。   On the other hand, if the value of the motion vector of the first representative pixel a of the target block is relatively far from the value of the scaled motion vector of the fourth representative pixel d of the adjacent block B, the second representative pixel b In the mode for encoding / decoding the difference vector, the probability that the value of the motion vector of the second representative pixel b of the target block is relatively distant from the value of the motion vector of the fourth representative pixel d of the scaled upper neighboring block B In this case, the sign of the difference vector is greater when the motion vector value of the first representative pixel a of the target block is used as the prediction vector rather than the scaled motion vector of the fourth representative pixel d of the upper adjacent block B. It is likely that the amount can be reduced. In the mode in which the difference vector of the second representative pixel b is not encoded / decoded, the motion vector value of the first representative pixel a of the target block is set to be larger than the scaled motion vector of the fourth representative pixel d of the adjacent block B. The probability that a better geometric transformation motion compensation image can be obtained by using a prediction vector is higher. The first set value is determined based on an experiment or simulation by a designer.

また、対象ブロックの第3代表画素cの予測ベクトルを算出する際に、第1代表画素aの動きベクトルを対象ブロックの第3代表画素cの予測ベクトルとしてもよい。また、前述のように左隣のブロックAの第4代表画素dの動きベクトルを対象ブロックの第3代表画素cの予測ベクトルとするか、対象ブロックの第1代表画素aの動きベクトルを対象ブロックの第3代表画素cの予測ベクトルとするかを適応的に切り替える際には、   Further, when calculating the prediction vector of the third representative pixel c of the target block, the motion vector of the first representative pixel a may be used as the prediction vector of the third representative pixel c of the target block. Further, as described above, the motion vector of the fourth representative pixel d of the block A adjacent to the left is used as the prediction vector of the third representative pixel c of the target block, or the motion vector of the first representative pixel a of the target block is the target block. When adaptively switching whether to use the prediction vector of the third representative pixel c of

対象ブロックの第1代表画素aの差分ベクトルを符号化するモードにおいては、対象ブロックと左隣のブロックAの高さが同じ場合、対象ブロックの第1代表画素aの動きベクトルの値に応じて切り替えることもできる。対象ブロックの第1代表画素aの動きベクトルの値が、参照画像との間の距離の違いを補正するためにスケーリングされた左隣のブロックAの第4代表画素dの動きベクトルの値と同じか両者の値が所定の第2設定値(極めて小さな値に設定される)未満の場合、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルを予測ベクトルとして採用し、両者の値が当該第2設定値以上離れている場合、対象ブロックの第1代表画素aの動きベクトルを予測ベクトルとして採用する。対象ブロックの第1代表画素aの動きベクトルの値が、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルの値と同じか非常に近い場合、第3代表画素cの差分ベクトルを符号化・復号するモードでは、対象ブロックの第3代表画素cの動きベクトルの値が、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルの値と同じか非常に近い値になる確率が高く、差分ベクトルの符号量を削減できる。第3代表画素cの差分ベクトルを符号化・復号しないモードでは、対象ブロックの第1代表画素aの動きベクトルよりもスケーリングされた左隣のブロックAの第4代表画素dの動きベクトルの値にしたほうが良好な幾何学変換動き補償画像を得られる確率が高いためである。   In the mode for encoding the difference vector of the first representative pixel a of the target block, if the height of the target block and the block A adjacent to the left is the same, depending on the value of the motion vector of the first representative pixel a of the target block You can also switch. The value of the motion vector of the first representative pixel a of the target block is the same as the value of the motion vector of the fourth representative pixel d of the block A adjacent to the left that has been scaled to correct the difference in distance from the reference image. If both values are less than a predetermined second set value (set to a very small value), the scaled motion vector of the fourth representative pixel d of the block A on the left adjacent block A is adopted as a prediction vector, When the value is more than the second set value, the motion vector of the first representative pixel a of the target block is adopted as the prediction vector. If the value of the motion vector of the first representative pixel a of the target block is the same as or very close to the value of the motion vector of the fourth representative pixel d of the scaled left adjacent block A, the difference vector of the third representative pixel c In the mode for encoding / decoding the motion vector, the value of the motion vector of the third representative pixel c of the target block is the same as or very close to the value of the motion vector of the fourth representative pixel d of the scaled left neighboring block A. The code amount of the difference vector can be reduced. In the mode in which the difference vector of the third representative pixel c is not encoded / decoded, the motion vector value of the fourth representative pixel d of the block A adjacent to the left is scaled more than the motion vector of the first representative pixel a of the target block. This is because the probability that a better geometric transformation motion compensated image can be obtained is higher.

一方、対象ブロックの第1代表画素aの動きベクトルの値が、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルの値と比較的離れている場合、第3代表画素cの差分ベクトルを符号化・復号するモードでは、対象ブロックの第3代表画素cの動きベクトルの値が、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルの値と比較的離れる確率が高く、この場合、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルからではなく、対象ブロックの第1代表画素aの動きベクトルの値を予測ベクトルとしたほうが差分ベクトルの符号量を削減できる可能性が高い。第3代表画素cの差分ベクトルを符号化・復号しないモードでは、スケーリングされた左隣のブロックAの第4代表画素dの動きベクトルよりも対象ブロックの第1代表画素aの動きベクトルの値を予測ベクトルとしたほうが良好な幾何学変換動き補償画像を得られる確率が高い。   On the other hand, when the value of the motion vector of the first representative pixel a of the target block is relatively far from the value of the motion vector of the fourth representative pixel d of the scaled left adjacent block A, the third representative pixel c In the mode of encoding / decoding the difference vector, the probability that the value of the motion vector of the third representative pixel c of the target block is relatively separated from the value of the motion vector of the fourth representative pixel d of the block A on the left adjacent scale In this case, the sign of the difference vector is greater when the motion vector value of the first representative pixel a of the target block is used as a prediction vector rather than the motion vector of the fourth representative pixel d of the scaled left adjacent block A. It is likely that the amount can be reduced. In the mode in which the difference vector of the third representative pixel c is not encoded / decoded, the value of the motion vector of the first representative pixel a of the target block is set to be larger than the motion vector of the fourth representative pixel d of the scaled left adjacent block A. The probability that a better geometric transformation motion compensation image can be obtained by using a prediction vector is higher.

以上、隣接ブロックが幾何学変換による動き補償予測が選択された場合について説明したが、隣接ブロックが平行移動による動き補償予測が選択された場合、隣接ブロックの代表画素の動きベクトルの代わりに、隣接ブロックの動きベクトルを予測ベクトルとしたり、評価に用いたりする。具体的には、対象ブロックの第1代表画素aの動きベクトルと比較する上隣のブロックBの第4代表画素dの動きベクトルの代わりに、上隣のブロックBの動きベクトルを用い、左隣のブロックAの第4代表画素dの動きベクトルの代わりに、左隣のブロックAの動きベクトルを用いる。また、対象ブロックの第2代表画素bの予測ベクトルまたは動きベクトルを算出する際に参照する上隣のブロックBの第4代表画素dの動きベクトルの代わりに、上隣のブロックBの動きベクトルを用いる。また、対象ブロックの第3代表画素cの予測ベクトルまたは動きベクトルを算出する際に参照する左隣のブロックAの第4代表画素dの動きベクトルの代わりに、左隣のブロックAの動きベクトルを用いる。   As described above, the case where the motion compensated prediction based on the geometric transformation is selected for the adjacent block has been described, but when the motion compensated prediction based on the parallel movement is selected for the adjacent block, the adjacent block is replaced with the motion vector of the representative pixel. The motion vector of the block is used as a prediction vector or used for evaluation. Specifically, instead of the motion vector of the fourth representative pixel d of the upper adjacent block B to be compared with the motion vector of the first representative pixel a of the target block, the motion vector of the upper adjacent block B is used and the left adjacent Instead of the motion vector of the fourth representative pixel d of the block A, the motion vector of the block A on the left is used. Further, instead of the motion vector of the fourth representative pixel d of the upper neighboring block B referred to when calculating the prediction vector or the motion vector of the second representative pixel b of the target block, the motion vector of the upper neighboring block B is used. Use. In addition, instead of the motion vector of the fourth representative pixel d of the block A on the left adjacent to which the prediction vector or motion vector of the third representative pixel c of the target block is calculated, the motion vector of the block A on the left adjacent to the block A Use.

以上、幾何学変換による動き補償予測の予測ベクトルについて説明したが、DMV2Vの第2代表画素bと第4代表画素d、DMV2Hの第3代表画素cと第4代表画素d、DMV2Aの第2代表画素bと第3代表画素c、およびDMV2Bの第1代表画素aと第4代表画素dを除き、DMV4モードと共通の算出方法で行う。なお、復号側と共通のルールを規定する限りにおいては、DMV2Vの第2代表画素bと第4代表画素d、DMV2Hの第3代表画素cと第4代表画素d、DMV2Aの第2代表画素bと第3代表画素c、およびDMV2Bの第1代表画素aと第4代表画素dにおいても、DMV4モードと共通の算出方法で行うことが可能である。   The prediction vector of the motion compensation prediction by geometric transformation has been described above. However, the second representative pixel b and the fourth representative pixel d of DMV2V, the third representative pixel c and the fourth representative pixel d of DMV2H, and the second representative pixel of DMV2A Except for the pixel b, the third representative pixel c, and the first representative pixel a and the fourth representative pixel d of the DMV 2B, the calculation is performed in the same manner as in the DMV4 mode. As long as the rules common to the decoding side are defined, the second representative pixel b and the fourth representative pixel d of DMV2V, the third representative pixel c and the fourth representative pixel d of DMV2H, and the second representative pixel b of DMV2A The third representative pixel c and the first representative pixel a and the fourth representative pixel d of the DMV 2B can be performed by the same calculation method as in the DMV4 mode.

図1に戻り、第2符号化ビット列生成部108は、差分ベクトル算出部114から供給される差分ベクトルを算術符号化などのエントロピー符号化により符号化し、符号化ビット列を生成する。   Returning to FIG. 1, the second encoded bit string generation unit 108 encodes the difference vector supplied from the difference vector calculation unit 114 by entropy encoding such as arithmetic encoding, and generates an encoded bit string.

なお、幾何学変換による動き補償予測では、予測モードに応じて、0〜4本の差分ベクトルを符号化する。DMV4モードでは、4つの頂点a、b、c、dに対応する4つの代表画素a、b、c、dのそれぞれの差分ベクトルを符号化する。DMV3モードでは、3つの頂点a、b、cに対応する3つの代表画素a、b、cのそれぞれの差分ベクトルを符号化する。DMV2Vモードでは、2つの頂点a、cに対応する代表画素a、cのそれぞれの差分ベクトルを符号化する。DMV2Hモードでは、2つの頂点a、bに対応する代表画素a、bのそれぞれの差分ベクトルを符号化する。DMV2Aモードでは、2つの頂点a、dに対応する代表画素a、dのそれぞれの差分ベクトルを符号化する。DMV2Bモードでは、2つの頂点b、cに対応する代表画素b、cのそれぞれの差分ベクトルを符号化する。DMV1Aモードでは、頂点aに対応する代表画素aの差分ベクトルだけを符号化する。DMV1Bモードでは、頂点bに対応する代表画素bの差分ベクトルだけを符号化する。DMV1Cモードでは、頂点cに対応する代表画素cの差分ベクトルだけを符号化する。DMV1Dモードでは、頂点dに対応する代表画素dの差分ベクトルだけを符号化する。DMV0モードでは、どの代表画素の差分ベクトルも符号化しない。   In motion compensation prediction by geometric transformation, 0 to 4 difference vectors are encoded according to the prediction mode. In the DMV4 mode, the difference vectors of the four representative pixels a, b, c, and d corresponding to the four vertices a, b, c, and d are encoded. In the DMV3 mode, the difference vectors of the three representative pixels a, b, and c corresponding to the three vertices a, b, and c are encoded. In the DMV2V mode, the difference vectors of the representative pixels a and c corresponding to the two vertices a and c are encoded. In the DMV2H mode, the difference vectors of the representative pixels a and b corresponding to the two vertices a and b are encoded. In the DMV2A mode, the difference vectors of the representative pixels a and d corresponding to the two vertices a and d are encoded. In the DMV2B mode, the difference vectors of the representative pixels b and c corresponding to the two vertices b and c are encoded. In the DMV1A mode, only the difference vector of the representative pixel a corresponding to the vertex a is encoded. In the DMV1B mode, only the difference vector of the representative pixel b corresponding to the vertex b is encoded. In the DMV1C mode, only the difference vector of the representative pixel c corresponding to the vertex c is encoded. In the DMV1D mode, only the difference vector of the representative pixel d corresponding to the vertex d is encoded. In the DMV0 mode, the difference vector of any representative pixel is not encoded.

予測誤差信号生成部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.

予測誤差信号符号化部106は、予測誤差信号生成部105から供給される予測誤差信号に対して、直交変換、量子化などの圧縮符号化処理を行い、符号化された予測誤差信号を生成し、第3符号化ビット列生成部109および予測誤差信号復号部110に供給する。   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.

第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に格納される復号画像は、必要に応じて、符号化順序で後続する画像を動き補償予測する際の参照画像として利用される。   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. 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 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.

以下、上記図5に示した幾何学変換動きベクトル検出部121の検出方法の一例として、平行移動動き補償予測部102により生成されたマクロブロックやマクロブロック・パーティションの動きベクトルなどの平行移動の動きベクトルを補正して、幾何学変換の代表画素の動きベクトルを検出する方法について説明する。図9は、本発明の実施の形態1に係る幾何学変換動きベクトル検出部121の構成を示すブロック図である。幾何学変換動きベクトル検出部121は、代表点動きベクトル設定部131、第2の非代表点動きベクトル算出部132、第2の予測部133、ブロックマッチング部134および評価部135を含む。   Hereinafter, as an example of the detection method of the geometric transformation motion vector detection unit 121 illustrated in FIG. 5 described above, the motion of the translation such as the motion vector of the macroblock or the macroblock / partition generated by the translation motion compensation prediction unit 102 is described below. A method for correcting a vector and detecting a motion vector of a representative pixel in geometric transformation will be described. FIG. 9 is a block diagram showing a configuration of the geometric transformation motion vector detection unit 121 according to Embodiment 1 of the present invention. The geometric transformation motion vector detection unit 121 includes a representative point motion vector setting unit 131, a second non-representative point motion vector calculation unit 132, a second prediction unit 133, a block matching unit 134, and an evaluation unit 135.

マクロブロックの平行移動の動きベクトルを補正して幾何学変換の代表画素の動きベクトルとして用いる場合、幾何学変換動きベクトル検出部121は、平行移動動き補償予測部102により生成されたマクロブロックの動きベクトルの値を各代表画素の動きベクトルの初期値に設定する。そして、それらの代表画素の動きベクトルの値を増加方向および減少方向に変更させて、上述した幾何学変換動き補償予測と同様の処理により参照画像を変形させながら動き補償してブロックマッチングを行う。これにより、幾何学変換の代表画素の動きベクトルを算出する。   When correcting the motion vector of the parallel movement of the macroblock and using it as the motion vector of the representative pixel of the geometric transformation, the geometric transformation motion vector detection unit 121 detects the motion of the macroblock generated by the translational motion compensation prediction unit 102. The vector value is set to the initial value of the motion vector of each representative pixel. Then, the motion vector values of those representative pixels are changed in the increasing direction and the decreasing direction, and block matching is performed by performing motion compensation while deforming the reference image by the same processing as the above-described geometric transformation motion compensation prediction. Thereby, the motion vector of the representative pixel of the geometric transformation is calculated.

図10(a)〜(h)は、平行移動動き補償予測部102により生成された平行移動の動きベクトルを補正して幾何学変換の代表画素の動きベクトルを検出する方法の具体例を示す図である。まず、DMV4モードの場合について考える。代表点動きベクトル設定部131は、代表点b、c、dの動きベクトルを固定して、所定の動きベクトル検出範囲内で代表点aの動きベクトルを水平・垂直方向に変更する。当該動きベクトル検出範囲は、たとえば、代表点aを中心とする7×7画素の正方形領域であってもよい。第2の非代表点動きベクトル算出部132は、代表点aの動きベクトルが変更される度に、第1の非代表点動きベクトル算出部122と同様の方法により、代表点以外の各画素の動きベクトルを算出する。第2の予測部133は、第1の予測部123と同様の方法により、各画素の動きベクトルに応じて参照画像の画素を補間することにより、参照画像を変形しながら予測する。ブロックマッチング部134は、符号化画像信号(より具体的には、対象ブロック信号)と予測信号との間でブロックマッチングを行い、差分絶対値和、差分二乗和などのマッチング評価値を算出する。評価部135は、今回算出されたマッチング評価値と、代表点aの動きベクトルの候補のマッチング評価値(それまで算出されたマッチング評価値の最小値)とを比較し、マッチング評価値が小さいほうの動きベクトルを新しい代表点aの候補とする。この一連の処理を繰り返し、代表点aの動きベクトルの候補を算出する(図10(a)参照)。   FIGS. 10A to 10H are diagrams illustrating specific examples of a method of detecting a motion vector of a representative pixel in geometric transformation by correcting a translation motion vector generated by the translation motion compensation prediction unit 102. FIG. It is. First, consider the case of DMV4 mode. The representative point motion vector setting unit 131 fixes the motion vectors of the representative points b, c, and d, and changes the motion vector of the representative point a in the horizontal and vertical directions within a predetermined motion vector detection range. The motion vector detection range may be, for example, a 7 × 7 pixel square region centered on the representative point a. The second non-representative point motion vector calculation unit 132 uses the same method as the first non-representative point motion vector calculation unit 122 every time the motion vector of the representative point a is changed. A motion vector is calculated. The second prediction unit 133 predicts the reference image while deforming it by interpolating the pixels of the reference image according to the motion vector of each pixel in the same manner as the first prediction unit 123. The block matching unit 134 performs block matching between the encoded image signal (more specifically, the target block signal) and the prediction signal, and calculates matching evaluation values such as a difference absolute value sum and a difference square sum. The evaluation unit 135 compares the matching evaluation value calculated this time with the matching evaluation value of the motion vector candidate of the representative point a (the minimum value of the matching evaluation values calculated so far), and the matching evaluation value is smaller As a candidate for a new representative point a. This series of processes is repeated to calculate a motion vector candidate for the representative point a (see FIG. 10A).

代表点動きベクトル設定部131は、代表点aの動きベクトルを更新し、つぎに代表点a、c、dの動きベクトルを固定して、所定の動きベクトル検出範囲内で代表点bの動きベクトルを変更する。第2の非代表点動きベクトル算出部132は、代表点bの動きベクトルが変更される度に、代表点以外の各画素の動きベクトルを算出する。第2の予測部133は、各画素の動きベクトルに応じて参照画像を変形しながら予測する。ブロックマッチング部134は、符号化画像信号と予測信号との間でブロックマッチングを行う(図10(b)参照)。代表点c、dについても、同様の手法により代表点c、dの動きベクトルを検出する(図10(c)、(d)参照)。さらに、必要に応じて再度、同様の手法により代表点a、b、c、dの動きベクトルを検出する(図10(e)〜(h)参照)。代表点a、b、c、dの動きベクトルの検出を1サイクルとして、そのサイクルを所定の回数実行したら検出処理を終了する。図10(a)〜(h)では2サイクル実行する。または、代表点a、b、c、dの動きベクトルのそれぞれが収束(すなわち、動きベクトルが変更されない状態)したら検出処理を終了する。   The representative point motion vector setting unit 131 updates the motion vector of the representative point a, then fixes the motion vectors of the representative points a, c, and d, and moves the motion vector of the representative point b within a predetermined motion vector detection range. To change. The second non-representative point motion vector calculation unit 132 calculates the motion vector of each pixel other than the representative point every time the motion vector of the representative point b is changed. The second prediction unit 133 performs prediction while deforming the reference image according to the motion vector of each pixel. The block matching unit 134 performs block matching between the encoded image signal and the prediction signal (see FIG. 10B). For the representative points c and d, the motion vectors of the representative points c and d are detected by the same method (see FIGS. 10C and 10D). Further, if necessary, the motion vectors of the representative points a, b, c, and d are detected again by the same method (see FIGS. 10E to 10H). The detection of the motion vectors of the representative points a, b, c, and d is set as one cycle, and when the cycle is executed a predetermined number of times, the detection process is terminated. 10A to 10H, two cycles are executed. Alternatively, when each of the motion vectors of the representative points a, b, c, and d converges (that is, a state in which the motion vector is not changed), the detection process is terminated.

上述した例では、動きベクトル検出の初期値として、マクロブロックの動きベクトルを用いたが、マクロブロック・パーティションや、サブマクロブロックの動きベクトルを用いてもよい。また、新たに算出した動きベクトルを用いてもよい。また、マクロブロック・パーティションの平行移動の動きベクトルを補正して幾何学変換の代表画素の動きベクトルを検出する場合、マクロブロック・パーティションの動きベクトルの値をそれぞれ対応する代表画素の動きベクトルの初期値とし、上述した方法で、代表画素a、b、c、dの動きベクトルの値を算出する。   In the above-described example, the motion vector of the macro block is used as the initial value of motion vector detection. However, the motion vector of the macro block partition or the sub macro block may be used. Also, a newly calculated motion vector may be used. When detecting the motion vector of the representative pixel of the geometric transformation by correcting the motion vector of the parallel movement of the macroblock / partition, the value of the motion vector of the macroblock / partition is the initial value of the motion vector of the corresponding representative pixel. The value of the motion vector of the representative pixels a, b, c, d is calculated by the above-described method.

つぎに、DMV4モード以外のモードについて考える。DMV4モード以外のモードでは、差分ベクトルを符号化・復号する代表画素の動きベクトルを検出する際に、差分ベクトルを符号化・復号しない代表画素の動きベクトルを各予測モードの予測ベクトル算出規則に応じて算出することで、差分ベクトルを符号化・復号する代表画素の動きベクトルに連動して動かしていく。   Next, modes other than the DMV4 mode will be considered. In modes other than the DMV4 mode, when detecting a motion vector of a representative pixel that encodes / decodes a difference vector, the motion vector of a representative pixel that does not encode / decode the difference vector corresponds to a prediction vector calculation rule of each prediction mode. Thus, the difference vector is moved in conjunction with the motion vector of the representative pixel that encodes and decodes the difference vector.

DMV3モードは差分ベクトルを符号化・復号する代表画素a、b、cの動きベクトルを順次変更していくが、その際、代表画素dの動きベクトルも上記式(1)または上記式(2)に従って算出しながら変更する。たとえば、代表画素aの動きベクトルを動かしながら検出しているときには、代表画素b、cの動きベクトルは固定するが、差分ベクトルを符号化・復号しない代表画素dの動きベクトルは上記式(1)または上記(2)に従って算出されるため、代表画素aの動きベクトルに応じて随時変更する。   In the DMV3 mode, the motion vectors of the representative pixels a, b, and c for encoding / decoding the difference vector are sequentially changed. At this time, the motion vector of the representative pixel d is also expressed by the above equation (1) or (2). Change according to the calculation. For example, when detecting while moving the motion vector of the representative pixel a, the motion vectors of the representative pixels b and c are fixed, but the motion vector of the representative pixel d that does not encode / decode the difference vector is expressed by the above equation (1). Or, since it is calculated according to (2) above, it is changed as needed according to the motion vector of the representative pixel a.

DMV2Vモードは差分ベクトルを符号化・復号する代表画素a、cの動きベクトルを順次変更していくが、代表画素aの動きベクトルを動かしながら検出しているときには、代表画素c、dの動きベクトルは固定するが、差分ベクトルを符号化・復号しない代表画素bの動きベクトルは代表画素aの動きベクトルと同じ値に随時変更する。代表画素cの動きベクトルを動かしながら検出しているときには、代表画素a、bの動きベクトルは固定するが、差分ベクトルを符号化・復号しない代表画素dの動きベクトルは代表画素bの動きベクトルと同じ値に随時変更する。   In the DMV2V mode, the motion vectors of the representative pixels a and c for encoding / decoding the difference vector are sequentially changed. When the motion vector of the representative pixel a is detected while moving, the motion vectors of the representative pixels c and d are detected. Is fixed, but the motion vector of the representative pixel b that does not encode / decode the difference vector is changed to the same value as the motion vector of the representative pixel a as needed. When detection is performed while moving the motion vector of the representative pixel c, the motion vectors of the representative pixels a and b are fixed, but the motion vector of the representative pixel d that does not encode / decode the difference vector is the motion vector of the representative pixel b. Change to the same value from time to time.

DMV2Hモードは差分ベクトルを符号化・復号する代表画素a、bの動きベクトルを順次変更していくが、代表画素aの動きベクトルを動かしながら検出しているときには、代表画素b、dの動きベクトルは固定するが、差分ベクトルを符号化・復号しない代表画素cの動きベクトルは代表画素aの動きベクトルと同じ値に随時変更する。代表画素cの動きベクトルを動かしながら検出しているときには、代表画素a、bの動きベクトルは固定するが、差分ベクトルを符号化・復号しない代表画素dの動きベクトルは代表画素bの動きベクトルと同じ値に随時変更する。   In the DMV2H mode, the motion vectors of the representative pixels a and b for encoding / decoding the difference vector are sequentially changed. When the motion vector of the representative pixel a is detected while moving, the motion vectors of the representative pixels b and d are detected. Is fixed, but the motion vector of the representative pixel c that does not encode / decode the difference vector is changed to the same value as the motion vector of the representative pixel a as needed. When detection is performed while moving the motion vector of the representative pixel c, the motion vectors of the representative pixels a and b are fixed, but the motion vector of the representative pixel d that does not encode / decode the difference vector is the motion vector of the representative pixel b. Change to the same value from time to time.

DMV2Aモード、DMV2Bモード、DMV1Aモード、DMV1Bモード、DMV1CモードおよびDMV1Dモードについても、上述した原理またはその延長線上の原理にしたがい、代表画素の動きベクトルを検出することができる。なお、それらの検出方法は、当業者であれば、上述した説明から容易に理解できるため、その詳細な説明を省略する。動きベクトルを符号化しないDMV0モードでは、周辺ブロックまたは対象ブロックから予測した予測ベクトルを動きベクトルとして用いる。   In the DMV2A mode, DMV2B mode, DMV1A mode, DMV1B mode, DMV1C mode, and DMV1D mode, the motion vector of the representative pixel can be detected according to the above-described principle or the principle on the extension line. Note that those detection methods can be easily understood by those skilled in the art from the above description, and thus detailed description thereof is omitted. In the DMV0 mode in which no motion vector is encoded, a prediction vector predicted from a neighboring block or a target block is used as a motion vector.

以上により、周囲のブロックの復号された動きベクトルから予測ベクトルを算出することができる。なお、周辺のブロックの動きベクトルが存在しない場合は候補に入れない。また、周辺のブロックが平行移動動き補償モードである場合、周辺のブロックの代表画素aでは当該ブロックの動きベクトルの値を、その代表画素aの動きベクトルの値とする。また、当該周辺のブロックの代表画素bでは左隣のブロックの動きベクトルの値を、その代表画素bの動きベクトルの値とする。また、当該周辺のブロックの代表画素cでは上隣のブロックの動きベクトルの値を、その代表画素bの動きベクトルの値とする。また、当該周辺のブロックの代表画素dでは左斜上隣のブロックの動きベクトルの値を、その代表画素bの動きベクトルの値とする。   As described above, the prediction vector can be calculated from the decoded motion vectors of the surrounding blocks. It should be noted that if there are no motion vectors of neighboring blocks, they are not entered as candidates. When the peripheral block is in the parallel motion compensation mode, the motion vector value of the representative pixel a is set as the motion vector value of the representative pixel a of the peripheral block. In the representative pixel b of the peripheral block, the value of the motion vector of the block on the left is used as the value of the motion vector of the representative pixel b. In the representative pixel c of the peripheral block, the value of the motion vector of the upper adjacent block is set as the value of the motion vector of the representative pixel b. In the representative pixel d of the peripheral block, the value of the motion vector of the block on the upper left is set as the value of the motion vector of the representative pixel b.

図11は、本発明の実施の形態1に係る画像符号化装置100における、マクロブロックの符号化処理手順を示すフローチャートである。まず、平行移動動き補償予測部102および幾何学変換動き補償予測部103は、画像バッファ101から符号化対象のマクロブロック信号を取り出す(S101)。   FIG. 11 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 to be encoded 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 to be encoded 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 encoding target macroblock signal supplied from the image buffer 101 and the reference image signal supplied from the decoded image buffer 112. Perform (S103). Motion compensation prediction by this geometric transformation is performed for each mode.

予測方法決定部104は、平行移動による動き補償予測方法と、幾何学変換による動き補償予測とのいずれを採用するか決定する(S104)。その際、どのモードを採用するかも決定する。   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.

第1符号化ビット列生成部107は、予測方法決定部104から供給される予測方法情報を符号化し、符号化ビット列を生成する(S105)。差分ベクトル算出部114は、対象ブロックの代表画素、周辺ブロックまたは周辺画素からの予測ベクトルを算出し(S106)、当該予測ベクトルと予測方法決定部104から供給される動きベクトルとの差分ベクトルを算出する(S107)。   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 (S105). The difference vector calculation unit 114 calculates a prediction vector from the representative pixel, the peripheral block, or the peripheral pixel of the target block (S106), and calculates a difference vector between the prediction vector and the motion vector supplied from the prediction method determination unit 104. (S107).

第2符号化ビット列生成部108は、差分ベクトル算出部114から供給される差分ベクトルを符号化し、符号化ビット列を生成する(S108)。予測誤差信号生成部105は、画像バッファ101から供給される対象画像信号から、予測方法決定部104から供給される予測信号を減算し、予測誤差信号を生成する(S109)。予測誤差信号符号化部106は、当該予測誤差信号を符号化する(S110)。第3符号化ビット列生成部109は、予測誤差信号符号化部106により符号化された予測誤差信号を、算術符号化などを用いてエントロピー符号化し、符号化ビット列を生成する(S111)。   The second encoded bit string generation unit 108 encodes the difference vector supplied from the difference vector calculation unit 114 and generates an encoded bit string (S108). 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 (S109). The prediction error signal encoding unit 106 encodes the prediction error signal (S110). 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 (S111).

予測誤差信号復号部110は、予測誤差信号符号化部106により符号化された予測誤差信号を復号する(S112)。復号画像信号生成部111は、予測誤差信号復号部110により復号された予測誤差信号と、予測方法決定部104から供給される予測信号とを重畳して、復号画像信号を生成する(S113)。復号画像信号生成部111は、生成した復号画像信号を復号画像バッファ112に蓄積する(S114)。   The prediction error signal decoding unit 110 decodes the prediction error signal encoded by the prediction error signal encoding unit 106 (S112). 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 (S113). The decoded image signal generation unit 111 accumulates the generated decoded image signal in the decoded image buffer 112 (S114).

図12は、図11のフローチャートのステップS102の平行移動動き補償処理の手順を示すフローチャートである。平行移動動き補償予測部102は、以下に示すステップS1022およびステップS1023の処理を、平行移動動き補償のすべての候補対象(モード、参照画像など)が終了するまで繰り返し実行する(S1021、S1024)。平行移動動き補償予測部102は、平行移動の動きベクトルを検出し(S1022)、検出された動きベクトルに応じて、対象ブロックの平行移動による動き補償を行う(S1023)。   FIG. 12 is a flowchart showing the procedure of the translational motion compensation process in step S102 of the flowchart of FIG. The translational motion compensation prediction unit 102 repeatedly executes the processing of step S1022 and step S1023 shown below until all candidate candidates (modes, reference images, etc.) for translational motion compensation are completed (S1021, S1024). The translational motion compensation prediction unit 102 detects a translational motion vector (S1022), and performs motion compensation by translation of the target block according to the detected motion vector (S1023).

図13は、図11のフローチャートのステップS103の幾何学変換動き補償処理の手順を示すフローチャートである。幾何学変換動き補償予測部103は、以下に示すステップS1032およびステップS1033の処理を、幾何学変換動き補償のすべての候補対象(モード、参照画像など)が終了するまで繰り返し実行する(S1031、S1034)。幾何学変換動き補償予測部103は、幾何学変換の動きベクトルを検出し(S1032)、検出された動きベクトルに応じて、対象ブロックの幾何学変換による動き補償を行う(S1033)。   FIG. 13 is a flowchart showing the procedure of the geometric transformation motion compensation process in step S103 of the flowchart of FIG. The geometric transformation motion compensation prediction unit 103 repeatedly executes the processing of steps S1032 and S1033 shown below until all candidate objects (modes, reference images, etc.) of the geometric transformation motion compensation are completed (S1031, S1034). ). The geometric transformation motion compensation prediction unit 103 detects a motion vector of the geometric transformation (S1032), and performs motion compensation by geometric transformation of the target block according to the detected motion vector (S1033).

図14は、平行移動の動きベクトルを検出する手順を示すフローチャートである。平行移動動き補償予測部102は、以下に示すステップS122およびステップS127の処理を、所定の検出範囲内における全探索が終了するまで繰り返し実行する(S121、S128)。平行移動動き補償予測部102は、仮の動きベクトルの値を発生させ(S122)、発生させた仮の動きベクトルの値に応じて、平行移動による動き補償を行う(S123)。この仮の動きベクトルの値は、上記検出範囲内を全探索するために順次、更新される。   FIG. 14 is a flowchart showing a procedure for detecting a translational motion vector. The translational motion compensation / prediction unit 102 repeatedly executes the processes of steps S122 and S127 described below until the full search within the predetermined detection range is completed (S121, S128). The translational motion compensation prediction unit 102 generates a temporary motion vector value (S122), and performs motion compensation by translation according to the generated temporary motion vector value (S123). The value of the temporary motion vector is sequentially updated in order to search the entire detection range.

平行移動動き補償予測部102は、その動き補償後の対象ブロックと参照ブロックとの間でブロックマッチングを行い、その評価値を算出する(S124)。現在算出した評価値と、これまで算出された最小の評価値とを比較し(S125)、前者が後者以上の場合(S125のN)、以下に示すステップS126およびステップS127をスキップする。前者が後者未満の場合(S125のY)、現在の仮の動きベクトルを現時点での候補とし(S126)、現在の評価値を上記最小の評価値とする(S127)。   The translational motion compensation prediction unit 102 performs block matching between the target block after the motion compensation and the reference block, and calculates an evaluation value (S124). The currently calculated evaluation value is compared with the minimum evaluation value calculated so far (S125). If the former is greater than or equal to the latter (N in S125), the following steps S126 and S127 are skipped. If the former is less than the latter (Y in S125), the current temporary motion vector is set as the current candidate (S126), and the current evaluation value is set as the minimum evaluation value (S127).

図15は、幾何学変換の動きベクトルを検出する手順を示すフローチャートである。図15に示すフローチャートは、1〜4本の差分ベクトルを符号化する幾何学変換モードにおいて動きベクトルを検出する手順を示すフローチャートである。   FIG. 15 is a flowchart showing a procedure for detecting a motion vector of geometric transformation. The flowchart shown in FIG. 15 is a flowchart showing a procedure for detecting a motion vector in a geometric transformation mode in which 1 to 4 difference vectors are encoded.

幾何学変換動き補償予測部103は、平行移動動き補償予測部102により生成された、対象ブロックの平行移動の動きベクトルを取得し(S131)、各代表点の動きベクトルの初期値に設定する(S132)。以下に示すステップS134からステップS141のまでの処理を所定の回数繰り返す(S133、S142)。さらに、以下に示すステップS135からステップS140までの処理を所定の検出範囲内における全探索が終了するまで繰り返し実行する(S134、S141)。   The geometric transformation motion compensation prediction unit 103 acquires the translation motion vector of the target block generated by the translation motion compensation prediction unit 102 (S131), and sets it as the initial value of the motion vector of each representative point ( S132). The processes from step S134 to step S141 shown below are repeated a predetermined number of times (S133, S142). Further, the following processing from step S135 to step S140 is repeatedly executed until the full search within the predetermined detection range is completed (S134, S141).

幾何学変換動き補償予測部103は、差分ベクトルを符号化する代表点のうち1点ずつ仮の動きベクトルの値を移動させる(S135)。なお、必要に応じて、差分ベクトルを符号化しない代表点の動きベクトルも連動させて移動させる。各モードの所定の規則に従い、差分ベクトルを符号化しない代表点の予測ベクトルを算出し、仮の動きベクトルとする。それらの仮の動きベクトルの値に応じて、対象ブロックの幾何学変換による動き補償を行う(S136)。幾何学変換動き補償予測部103は、その動き補償後の対象ブロックと参照ブロックとの間でブロックマッチングを行い、その評価値を算出する(S137)。現在算出した評価値と、これまで算出された最小の評価値とを比較し(S138)、前者が後者以上の場合(S138のN)、以下に示すステップS139およびステップS140をスキップする。前者が後者未満の場合(S138のY)、現在の仮の動きベクトルを現時点での候補とし(S139)、現在の評価値を上記最小の評価値とする(S140)。   The geometric transformation motion compensation prediction unit 103 moves the value of the temporary motion vector one by one among the representative points for encoding the difference vector (S135). If necessary, the motion vector of the representative point that does not encode the difference vector is also moved in conjunction. According to a predetermined rule of each mode, a prediction vector of a representative point that does not encode a difference vector is calculated and used as a temporary motion vector. In accordance with the values of these temporary motion vectors, motion compensation is performed by geometric transformation of the target block (S136). The geometric transformation motion compensation prediction unit 103 performs block matching between the target block after the motion compensation and the reference block, and calculates the evaluation value (S137). The currently calculated evaluation value is compared with the minimum evaluation value calculated so far (S138). If the former is greater than or equal to the latter (N in S138), the following steps S139 and S140 are skipped. When the former is less than the latter (Y in S138), the current temporary motion vector is set as the current candidate (S139), and the current evaluation value is set as the minimum evaluation value (S140).

図16は、図15のフローチャートのステップS136の幾何学変換動き補償処理の手順を示すフローチャートである。代表点動きベクトル設定部131は、対象ブロックの各代表点の動きベクトルを設定する(S1361)。第2の非代表点動きベクトル算出部132は、当該対象ブロックの各画素の動きベクトルを算出する(S1362)。第2の予測部133は、各画素毎の動きベクトルに応じた補間信号を取得する(S1363)。   FIG. 16 is a flowchart showing the procedure of the geometric transformation motion compensation process in step S136 of the flowchart of FIG. The representative point motion vector setting unit 131 sets a motion vector of each representative point of the target block (S1361). The second non-representative point motion vector calculation unit 132 calculates a motion vector of each pixel of the target block (S1362). The second prediction unit 133 acquires an interpolation signal corresponding to the motion vector for each pixel (S1363).

以上説明したように実施の形態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.

また、幾何学変換による動き補償予測方法が採用されたブロックでも、平行移動による動き補償予測と同様に、対象ブロックの代表画素、周囲のブロックまたは周囲の画素の動きベクトルから予測ベクトルを予測し、差分ベクトルを算出することができる。これにより、平行移動による動き補償予測と幾何学変換による動き補償予測を併用しても、動きベクトルの符号量の増大を抑制することができる。DMV4モードにおいては、第1代表画素a、第2代表画素bおよび第3代表画素cの動きベクトルから上記式(9)または上記式(10)により、第4代表画素dの予測ベクトルを算出することにより、差分ベクトルの値を小さくし、動きベクトルの符号量の増大を抑制することができる。また、DMV3モードにおいては、第1代表画素a、第2代表画素bおよび第3代表画素cの動きベクトルから上記式(1)または上記式(2)により、第4代表画素dの動きベクトルを算出することにより、動きベクトルの符号量の増大を抑制することができる。   Further, even in a block in which a motion compensation prediction method by geometric transformation is adopted, a prediction vector is predicted from a motion vector of a representative pixel of a target block, a surrounding block, or a surrounding pixel, similarly to a motion compensation prediction by translation, A difference vector can be calculated. Thereby, even if the motion compensation prediction by parallel movement and the motion compensation prediction by geometric transformation are used together, it is possible to suppress an increase in the code amount of the motion vector. In the DMV4 mode, the prediction vector of the fourth representative pixel d is calculated from the motion vectors of the first representative pixel a, the second representative pixel b, and the third representative pixel c by the above formula (9) or the above formula (10). Thus, the value of the difference vector can be reduced, and an increase in the code amount of the motion vector can be suppressed. In the DMV3 mode, the motion vector of the fourth representative pixel d is calculated from the motion vectors of the first representative pixel a, the second representative pixel b, and the third representative pixel c by the above formula (1) or the above formula (2). By calculating, an increase in the code amount of the motion vector can be suppressed.

図17は、本発明の実施の形態2に係る画像復号装置200の構成を示すブロック図である。当該画像復号装置200は、実施の形態1に係る画像符号化装置100により生成された符号化ストリームを復号する。当該符号化ストリームにおいて、上述したように、平行移動による動き補償予測と幾何学変換による動き補償予測が併用されている場合もあるし、幾何学変換による動き補償予測が単独で使用されている場合もある(イントラ符号化については考慮せず)。   FIG. 17 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. (Intra coding is not considered).

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

これらの構成は、ハードウェア的には、任意のプロセッサ、メモリ、その他の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.

第1符号化ビット列復号部201、第2符号化ビット列復号部202、第3符号化ビット列復号部203は、符号化ストリームに含まれる、予測方法情報、差分ベクトルおよび予測誤差信号を復号する。上述したように、符号化ストリームには差分ベクトルが符号化されている。差分ベクトルは、対象ブロックの動きベクトルと、対象ブロックの代表画素、隣接ブロックまたは隣接画素の動きベクトルから予測された予測ベクトルとの差分である。動きベクトル算出部215は、符号化側と全く同一のルールにより、対象ブロックの代表画素、隣接ブロックまたは隣接画素の動きベクトルから予測ベクトルを算出し、当該予測ベクトルに、復号された差分ベクトルを加算することにより、予測符号化された対象ブロックまたはその代表画素の動きベクトルを復号する。   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 decode the prediction method information, the difference vector, and the prediction error signal 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 representative pixel, adjacent block, or adjacent pixel of the target block. The motion vector calculation unit 215 calculates a prediction vector from the representative pixel of the target block, the adjacent block, or the motion vector of the adjacent pixel according to exactly the same rules as those on the encoding side, and adds the decoded difference vector to the prediction vector Thus, the motion vector of the target block or its representative pixel that has been predictively encoded is decoded.

平行移動動き補償予測部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は、対象ブロックの複数の代表画素以外の画素の動きベクトルを、それら複数の代表画素の動きベクトルを用いた補間により算出する。たとえば、代表画素以外の画素の動きベクトルを、上記式(5)〜(8)に示した演算式により算出する。   As described above, the vertex of the target block is selected as the representative pixel, and the encoded stream includes the motion vector of each representative pixel. The geometric transformation motion compensation prediction unit 205 calculates motion vectors of pixels other than the plurality of representative pixels of the target block by interpolation using the motion vectors of the plurality of representative pixels. For example, the motion vectors of pixels other than the representative pixel are calculated by the arithmetic expressions shown in the above formulas (5) to (8).

切替制御部214は、第1符号化ビット列復号部201により復号された予測方法情報に応じて、対象画像内の対象ブロックごとに、平行移動動き補償予測部204による予測方法と、幾何学変換動き補償予測部205による予測方法とのいずれを用いるか指定する。   According to the prediction method information decoded by the first encoded bit string decoding unit 201, the switching control unit 214 performs the prediction method by the translation motion compensation prediction unit 204, the geometric transformation motion, for each target block in the target image. It is specified which of the prediction methods by the compensation prediction unit 205 is used.

以下、より具体的に説明する。第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モードのいずれを用いるかという情報が含まれている。幾何学変換動き補償で符号化されている場合、DMV4モード、DMV3モード、DMV2Vモード、DMV2Hモード、DMV2Aモード、DMV2Bモード、DMV1Aモード、DMV1Bモード、DMV1Cモード、DMV1DモードおよびDMV0モードのどのモードで符号化されているかの情報も含まれる。   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 information indicating whether the translation motion compensation or the geometric transformation motion compensation is encoded, and in the case of translation motion compensation, 16 × 16, Information on whether to use 16 × 8, 8 × 16, or 8 × 8 mode is included. When coded by geometric conversion motion compensation, the coding is performed in any of DMV4 mode, DMV3 mode, DMV2V mode, DMV2H mode, DMV2A mode, DMV2B mode, DMV1A mode, DMV1B mode, DMV1C mode, DMV1D mode, and DMV0 mode. It also includes information on whether or not

第2符号化ビット列復号部202は、入力スイッチ209を介して供給される符号化ビット列を、算術復号化などのエントロピー復号化により復号し、差分ベクトルを取得する。前述の通り、差分ベクトルは、対象ブロックの代表画素、隣接ブロックまたは隣接画素の動きベクトルから算出される予測ベクトルと復号対象ブロックの動きベクトルとの差分である。なお、平行移動による動き補償予測で用いる動きベクトルと、幾何学変換による動き補償予測で用いる動きベクトルとが混在されて符号化されている場合、符号化側と同様に復号側でも混在された差分ベクトルから予測方法情報に応じて動きベクトルを復号する。   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. As described above, the difference vector is the difference between the prediction vector calculated from the representative pixel of the target block, the adjacent block, or the motion vector of the adjacent pixel and the motion vector of the decoding target block. In addition, when the motion vector used in motion compensation prediction by parallel movement and the motion vector used in motion compensation prediction by geometric transformation are mixed and encoded, the difference mixed on the decoding side as well as the encoding side A motion vector is decoded from the vector according to prediction method information.

第1符号化ビット列復号部201により復号された予測方法情報により、復号対象ブロックがイントラ符号化、平行移動による動き補償予測および幾何学変換による動き補償予測のどの手法を、どの参照画像を用いて、どのようなブロック単位で選択、組み合わせられているかが分かる。   Based on the prediction method information decoded by the first encoded bit stream decoding unit 201, which decoding image is used for which method of intra coding, motion compensation prediction by parallel movement, and motion compensation prediction by geometric transformation, and which reference image is used. You can see what 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.

動きベクトル算出部215は、第1符号化ビット列復号部201から供給される予測方法情報に応じて、すでに符号化・復号されている対象ブロックの他の代表画素、隣接ブロックまたは隣接画素の動きベクトルから対象ブロックの動きベクトルを予測することにより予測ベクトルを算出する。そして、当該予測ベクトルに、第2符号化ビット列復号部202から供給される差分ベクトルを加算することにより動きベクトルを算出する。動きベクトル算出部215は、当該動きベクトルを第2予測部スイッチ211を介して、平行移動動き補償予測部204または幾何学変換動き補償予測部205に供給する。動きベクトル算出部215での予測ベクトルの算出は、画像符号化装置100の差分ベクトル算出部114での予測ベクトルの算出と同一の方法で行う。平行移動動き補償予測の場合、対象ブロックの動きベクトルが取得でき、幾何学変換動き補償の場合、対象ブロックの代表画素の動きベクトルが算出される。   The motion vector calculation unit 215 performs motion vectors of other representative pixels, adjacent blocks, or adjacent pixels of the target block that have already been encoded / decoded in accordance with 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. Then, a motion vector is calculated by adding the difference vector supplied from the second encoded bit string decoding unit 202 to the prediction vector. The motion vector calculation unit 215 supplies the motion vector to the translational motion compensation prediction unit 204 or the geometric transformation motion compensation prediction unit 205 via the second prediction unit switch 211. The calculation of the prediction vector in the motion vector calculation unit 215 is performed by the same method as the calculation of the prediction vector in the difference vector calculation unit 114 of the image encoding device 100. In the case of parallel motion compensation, the motion vector of the target block can be acquired. In the case of geometric conversion motion compensation, the motion vector of the representative pixel of the target block is calculated.

平行移動動き補償予測部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を介して供給される参照画像とすべき復号画像、および動きベクトル算出部215から第2予測部スイッチ211を介して供給される、復号された複数の代表画素の動きベクトルを用いて全画素の動きベクトルを補間により算出する。その際、上記式(1)〜(11)を参照して説明した、画像符号化装置100の幾何学変換動き補償予測部103と同一の処理方法を用いることができる。幾何学変換動き補償予測部205は、それら画素ごとの動きベクトルに応じて画素ごとに動き補償を行うことにより、幾何学変換による動き補償予測を行う。   The geometric transformation motion compensated prediction unit 205 receives a decoded image to be a reference image supplied from the decoded image buffer 208 via the fourth prediction unit switch 213 and a motion vector calculation unit 215 via the second prediction unit switch 211. The motion vectors of all the pixels are calculated by interpolation using the decoded motion vectors of the representative pixels. In that case, the same processing method as the geometric transformation motion compensation prediction part 103 of the image coding apparatus 100 demonstrated with reference to said Formula (1)-(11) can be used. The geometric transformation motion compensation prediction unit 205 performs motion compensation prediction by geometric transformation 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 blocks.

図18は、本発明の実施の形態2に係る画像復号装置200における、マクロブロックの復号処理手順を示すフローチャートである。第1符号化ビット列復号部201は、入力スイッチ209を介して供給される符号化ビット列を復号して、予測方法情報、予測ベクトルの算出方法を示す情報などを取得する(S201)。なお、第1代表画素aの予測ベクトルの算出方法、第2代表画素bの予測ベクトルの算出方法、第3代表画素cの予測ベクトルの算出方法、第4代表画素dの予測ベクトルの算出方法をフラグにより切り替える場合、この第1符号化ビット列復号部201で復号する。   FIG. 18 is a flowchart showing a macroblock decoding process procedure in the 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, information indicating a prediction vector calculation method, and the like (S201). It should be noted that a method for calculating a prediction vector for the first representative pixel a, a method for calculating a prediction vector for the second representative pixel b, a method for calculating a prediction vector for the third representative pixel c, and a method for calculating a prediction vector for the fourth representative pixel d. When switching by a flag, the first encoded bit string decoding unit 201 performs decoding.

第2符号化ビット列復号部202は、入力スイッチ209を介して供給される符号化ビット列を復号して、差分ベクトルを取得する(S202)。なお、予測方法情報が幾何学変換による動き補償予測を示す場合、その予測方法情報に応じて0〜4本の差分ベクトルを復号する。DMV4モードでは、4つの頂点a、b、c、dに対応する4つの代表画素a、b、c、dのそれぞれの差分ベクトルを復号する。DMV3モードでは、3つの頂点a、b、cに対応する3つの代表画素a、b、cのそれぞれの差分ベクトルを復号する。DMV2Vモードでは、2つの頂点a、cに対応する代表画素a、cのそれぞれの差分ベクトルを復号する。DMV2Hモードでは、2つの頂点a、bに対応する代表画素a、bのそれぞれの差分ベクトルを復号する。DMV2Aモードでは、2つの頂点a、dに対応する代表画素a、dのそれぞれの差分ベクトルを復号する。DMV2Bモードでは、2つの頂点b、cに対応する代表画素b、cのそれぞれの差分ベクトルを復号する。DMV1Aモードでは、頂点aに対応する代表画素aの差分ベクトルだけを復号する。DMV1Bモードでは、頂点bに対応する代表画素bの差分ベクトルだけを復号する。DMV1Cモードでは、頂点cに対応する代表画素cの差分ベクトルだけを復号する。DMV1Dモードでは、頂点dに対応する代表画素dの差分ベクトルだけを符号化する。DMV0モードでは、どの代表画素の差分ベクトルも復号しない。   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). In addition, when prediction method information shows the motion compensation prediction by geometric transformation, 0-4 difference vectors are decoded according to the prediction method information. In the DMV4 mode, the difference vectors of the four representative pixels a, b, c, d corresponding to the four vertices a, b, c, d are decoded. In the DMV3 mode, the difference vectors of the three representative pixels a, b, and c corresponding to the three vertices a, b, and c are decoded. In the DMV2V mode, the difference vectors of the representative pixels a and c corresponding to the two vertices a and c are decoded. In the DMV2H mode, the difference vectors of the representative pixels a and b corresponding to the two vertices a and b are decoded. In the DMV2A mode, the difference vectors of the representative pixels a and d corresponding to the two vertices a and d are decoded. In the DMV2B mode, the difference vectors of the representative pixels b and c corresponding to the two vertices b and c are decoded. In the DMV1A mode, only the difference vector of the representative pixel a corresponding to the vertex a is decoded. In the DMV1B mode, only the difference vector of the representative pixel b corresponding to the vertex b is decoded. In the DMV1C mode, only the difference vector of the representative pixel c corresponding to the vertex c is decoded. In the DMV1D mode, only the difference vector of the representative pixel d corresponding to the vertex d is encoded. In the DMV0 mode, the difference vector of any representative pixel is not decoded.

動きベクトル算出部215は、対象ブロックの代表画素、周辺ブロックまたは周辺画素の動きベクトルから予測ベクトルを算出する(S203)。画像符号化装置100の差分ベクトル算出部114での予測ベクトルの算出と同一の方法で行う。さらに、動きベクトル算出部215は、第1符号化ビット列復号部201から供給される予測方法情報に応じて、その予測ベクトルに第2符号化ビット列復号部202から供給される差分ベクトルを加算して、対象ブロックまたは対象画素の動きベクトルを算出する(S204)。ただし、第2符号化ビット列復号部202で差分ベクトルが復号されなかった代表点については、予測ベクトルを動きベクトルとする。   The motion vector calculation unit 215 calculates a prediction vector from the motion vector of the representative pixel, the peripheral block, or the peripheral pixel of the target block (S203). This is performed by the same method as the calculation of the prediction vector by the difference vector calculation unit 114 of the image encoding device 100. Further, the motion vector calculation unit 215 adds the difference vector supplied from the second encoded bit string decoding unit 202 to the prediction vector according to the prediction method information supplied from the first encoded bit string decoding unit 201. The motion vector of the target block or target pixel is calculated (S204). However, for representative points for which the difference vector has not been decoded by the second encoded bit string decoding unit 202, the prediction vector is used as the motion vector.

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

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

第3符号化ビット列復号部203は、入力スイッチ209を介して供給される符号化ビット列を復号して、符号化された予測誤差信号を取得する(S208)。復号画像信号生成部207は、取得された予測誤差信号を復号する(S209)。復号画像信号生成部207は、予測誤差信号復号部206により復号された予測誤差信号と、平行移動動き補償予測部204または幾何学変換動き補償予測部205により生成された予測信号とを重畳して、復号画像信号を生成する(S210)。復号画像信号生成部207は、生成した復号画像信号を、復号画像バッファ208に蓄積する(S211)。この復号画像バッファ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 (S208). The decoded image signal generation unit 207 decodes the acquired prediction error signal (S209). The decoded image signal generation unit 207 superimposes the prediction error signal decoded by the prediction error signal decoding unit 206 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 (S210). The decoded image signal generation unit 207 accumulates the generated decoded image signal in the decoded image buffer 208 (S211). 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.

図19は、図18のフローチャートのS203において、対象ブロックの第1代表画素aの動きベクトルの値に応じて、第2代表画素bの予測ベクトルの算出方法を切り替える処理が発生する場合の手順を示すフローチャートである。動きベクトル算出部215は、対象ブロックの第1代表画素aの動きベクトルと、上隣のブロックの第4代表画素dの動きベクトルまたは上隣のブロックBの動きベクトルとを比較する(S2031)、その差が上記第1設定値以下の場合(S2032のY)、上隣のブロックBの第4代表画素dの動きベクトルまたは上隣のブロックBの動きベクトルを、対象ブロックの第2代表画素bの予測ベクトルとして採用する(S2033)。上記第1設定値より大きい場合(S2032のN)、対象ブロックの第1代表画素aの動きベクトルを、対象ブロックの第2代表画素bの予測ベクトルとして採用する(S2034)。   FIG. 19 shows a procedure when a process of switching the calculation method of the prediction vector of the second representative pixel b occurs in S203 of the flowchart of FIG. 18 according to the value of the motion vector of the first representative pixel a of the target block. It is a flowchart to show. The motion vector calculation unit 215 compares the motion vector of the first representative pixel a of the target block with the motion vector of the fourth representative pixel d of the upper adjacent block or the motion vector of the upper adjacent block B (S2031). When the difference is equal to or smaller than the first set value (Y in S2032), the motion vector of the fourth representative pixel d of the upper adjacent block B or the motion vector of the upper adjacent block B is used as the second representative pixel b of the target block. Is adopted as the prediction vector (S2033). If it is larger than the first set value (N in S2032), the motion vector of the first representative pixel a of the target block is adopted as the prediction vector of the second representative pixel b of the target block (S2034).

図20は、図18のフローチャートのS203において、対象ブロックの第1代表画素aの動きベクトルの値に応じて、第3代表画素cの予測ベクトルの算出方法を切り替える処理が発生する場合の手順を示すフローチャートである。動きベクトル算出部215は、対象ブロックの第1代表画素aの動きベクトルと、左隣のブロックAの代表画素dの動きベクトルまたは上隣のブロックの動きベクトルとを比較する(S2035)。その差が上記第2設定値以下の場合(S2036のY)、左隣のブロックAの第4代表画素dの動きベクトルまたは上隣のブロックの動きベクトルを、対象ブロックの第3代表画素cの予測ベクトルとして採用する(S2037)。上記第2設定値より大きい場合(S2036のN)、対象ブロックの第1代表画素aの動きベクトルを、対象ブロックの第3代表画素cの予測ベクトルとして採用する(S2038)。   FIG. 20 shows a procedure when a process of switching the calculation method of the prediction vector of the third representative pixel c occurs in S203 of the flowchart of FIG. 18 according to the motion vector value of the first representative pixel a of the target block. It is a flowchart to show. The motion vector calculation unit 215 compares the motion vector of the first representative pixel a of the target block with the motion vector of the representative pixel d of the left adjacent block A or the motion vector of the upper adjacent block (S2035). When the difference is equal to or smaller than the second set value (Y in S2036), the motion vector of the fourth representative pixel d of the block A on the left side or the motion vector of the upper adjacent block is set to the third representative pixel c of the target block. The prediction vector is adopted (S2037). If it is larger than the second set value (N in S2036), the motion vector of the first representative pixel a of the target block is adopted as the prediction vector of the third representative pixel c of the target block (S2038).

なお、第2代表画素bの予測ベクトルの算出方法や第3代表画素cの予測ベクトルの算出方法をフラグにより切り替える場合、第1符号化ビット列復号部201で復号したフラグに応じて切り替える。   In addition, when switching the calculation method of the prediction vector of the 2nd representative pixel b and the calculation vector of the 3rd representative pixel c with a flag, it switches according to the flag decoded in the 1st encoding bit stream decoding part 201. FIG.

以上説明したように実施の形態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 using both 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 ensured. it can. Moreover, the harmony and compatibility with the existing image decoding apparatus are high, and the introduction cost can be suppressed.

上述した実施の形態では、対象ブロックの形状が正方形である例を説明した。この点、対象ブロックの形状は、三角形、平行四辺形、台形など、他の形状でもよい。この場合、上記代表画素は、当該形状の頂点または頂点近傍に設定されることが好ましい。   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 this case, it is preferable that the representative pixel is set at or near the vertex of the shape.

100 画像符号化装置、 101 画像バッファ、 102 平行移動動き補償予測部、 103 幾何学変換動き補償予測部、 104 予測方法決定部、 105 予測誤差信号生成部、 106 予測誤差信号符号化部、 107 第1符号化ビット列生成部、 108 第2符号化ビット列生成部、 109 第3符号化ビット列生成部、 110 予測誤差信号復号部、 111 復号画像信号生成部、 112 復号画像バッファ、 113 出力スイッチ、 121 幾何学変換動きベクトル検出部、 122 第1の非代表点動きベクトル算出部、 123 第1の予測部、 131 代表点動きベクトル設定部、 132 第2の非代表点動きベクトル算出部、 133 第2の予測部、 134 ブロックマッチング部、 135 評価部、 150 符号化部、 200 画像復号装置、 201 第1符号化ビット列復号部、 202 第2符号化ビット列復号部、 203 第3符号化ビット列復号部、 204 平行移動動き補償予測部、 205 幾何学変換動き補償予測部、 206 予測誤差信号復号部、 207 復号画像信号生成部、 208 復号画像バッファ、 209 入力スイッチ、 210 第1予測部スイッチ、 211 第2予測部スイッチ、 212 第3予測部スイッチ、 213 第4予測部スイッチ、 214 切替制御部、 215 動きベクトル算出部。   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, 121 geometry A first non-representative point motion vector calculation unit; a first prediction unit; a representative point motion vector setting unit; a second non-representative point motion vector calculation unit; Prediction unit, 134 Block matching unit, 135 Evaluation unit, 150 Encoding unit, 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 translational motion compensation prediction unit, 205 geometric transformation motion compensation Prediction unit, 206 prediction error signal decoding unit, 207 decoded image signal generation unit, 208 decoded image buffer, 209 input switch, 210 first prediction unit switch, 211 second prediction unit switch, 212 third prediction unit switch, 213 fourth Prediction unit switch, 214 switching control unit, 215 motion vector calculation unit.

Claims (6)

幾何学変換による動き補償予測が使用されて符号化された符号化ストリームに含まれる、予測モードを特定するための予測方法情報、前記予測モードに応じた代表画素の差分動きベクトルおよび予測誤差信号を復号するための復号部と、
前記予測方法情報により特定される予測モードに従って、代表画素の動きベクトルの予測動きベクトルを、対象ブロック内外の動きベクトルを用いて算出し、その予測動きベクトルに前記代表画素の差分動きベクトルを加算して代表画素の動きベクトルを生成するための動きベクトル生成部と、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の前記代表画素の動きベクトル、前記代表画素の動きベクトルを用いた補間により算出する前記代表画素以外の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成するための幾何学変換動き補償予測部と、
前記予測信号、および前記復号部により復号された予測誤差信号から画像信号を生成するための画像信号生成部と、を備え、
前記代表画素には、前記対象ブロックを構成する頂点に位置する画素、頂点近傍に位置する画素または頂点近傍に位置する補間画素が選定され、
前記対象ブロックは四角形の領域であり、
前記幾何学変換動き補償予測部は、
前記対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号する第1モードと、
前記対象ブロックの4つの頂点のうち、左上、右上および左下の代表画素の差分動きベクトルを復号し、右下の代表画素の差分動きベクトルを復号しない第2モードと、
前記対象ブロックの4つの頂点のうち、左上および左下の代表画素の差分動きベクトルを復号し、右上および下の代表画素の差分動きベクトルを復号しない第3モードと、
前記対象ブロックの4つの頂点のうち、左上および右上の代表画素の差分動きベクトルを復号し、左下および右下の代表画素の差分動きベクトルを復号しない第4モードと、
前記対象ブロックの4つの頂点のうち、左上および右下の代表画素の差分動きベクトルを復号し、右上および左下の代表画素の差分動きベクトルを復号しない第5モードと、
前記対象ブロックの4つの頂点のうち、右上および左下の代表画素の差分動きベクトルを復号し、左上および右下の代表画素の差分動きベクトルを復号しない第6モードと、
前記対象ブロックの4つの頂点のうち、左上の代表画素の差分動きベクトルを復号し、右上、左下および右下の代表画素の差分動きベクトルを復号しない第7モードと、
前記対象ブロックの4つの頂点のうち、右上の代表画素の差分動きベクトルを復号し、左上、左下および右下の代表画素の差分動きベクトルを復号しない第8モードと、
前記対象ブロックの4つの頂点のうち、左下の代表画素の差分動きベクトルを復号し、左上、右上および右下の代表画素の差分動きベクトルを復号しない第9モードと、
前記対象ブロックの4つの頂点のうち、右下の代表画素の差分動きベクトルを復号し、左上、右上および左下の代表画素の差分動きベクトルを復号しない第10モードと、
前記対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号しない第11モードのうち、少なくとも2つの予測モードを備え、その少なくとも1つの予測モードには、前記第5モード、前記第6モード、前記第7モード、前記第8モード、前記第9モード、前記第10モードおよび前記第11モードの少なくとも1つが含まれる、
ことを特徴とする画像復号装置。
Prediction method information for specifying a prediction mode, a differential motion vector of a representative pixel according to the prediction mode, and a prediction error signal included in an encoded stream encoded using motion compensated prediction by geometric transformation A decoding unit for decoding;
In accordance with the prediction mode specified by the prediction method information, a predicted motion vector of a representative pixel motion vector is calculated using motion vectors inside and outside the target block, and the difference motion vector of the representative pixel is added to the predicted motion vector. A motion vector generation unit for generating a motion vector of the representative pixel,
The motion vector of the representative pixel 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 calculation using interpolation using the motion vector of the representative pixel A geometric transformation motion compensation prediction unit for generating a prediction signal from a motion vector other than a representative pixel and an image signal of the reference block;
An image signal generation unit for generating an image signal from the prediction signal and the prediction error signal decoded by the decoding unit;
As the representative pixel, a pixel located at the vertex constituting the target block, a pixel located near the vertex, or an interpolation pixel located near the vertex is selected,
The target block is a rectangular area;
The geometric transformation motion compensation prediction unit includes:
A first mode for decoding differential motion vectors of representative pixels in the upper left, upper right, lower left and lower right of the four vertices of the target block;
Of the four vertices of the target block, a second mode in which the differential motion vectors of the upper left, upper right and lower left representative pixels are decoded and the differential motion vector of the lower right representative pixel is not decoded;
Of the four vertices of the target block, a third mode that decodes the differential motion vectors of the upper left and lower left representative pixels and does not decode the differential motion vectors of the upper right and lower right representative pixels;
A fourth mode in which the differential motion vectors of the upper left and upper right representative pixels among the four vertices of the target block are decoded, and the differential motion vectors of the lower left and lower right representative pixels are not decoded;
Of the four vertices of the target block, a fifth mode that decodes the differential motion vectors of the upper left and lower right representative pixels and does not decode the differential motion vectors of the upper right and lower left representative pixels;
Among the four vertices of the target block, a sixth mode that decodes the differential motion vectors of the upper right and lower left representative pixels and does not decode the differential motion vectors of the upper left and lower right representative pixels;
A seventh mode in which the differential motion vector of the upper left representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper right, lower left and lower right representative pixels is not decoded;
Among the four vertices of the target block, an eighth mode in which the differential motion vector of the upper right representative pixel is decoded and the differential motion vector of the upper left, lower left and lower right representative pixels is not decoded;
Of the four vertices of the target block, a ninth mode that decodes the differential motion vector of the lower left representative pixel and does not decode the differential motion vector of the upper left, upper right and lower right representative pixels;
A tenth mode in which the differential motion vector of the lower right representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper left, upper right and lower left representative pixels is not decoded;
Among the four vertices of the target block, at least two prediction modes are included in the eleventh mode in which the differential motion vectors of the upper left, upper right, lower left, and lower right representative pixels are not decoded, and the at least one prediction mode includes , Including at least one of the fifth mode, the sixth mode, the seventh mode, the eighth mode, the ninth mode, the tenth mode, and the eleventh mode,
An image decoding apparatus characterized by that.
前記動きベクトル生成部は、前記第1モード、第2モード、第4モード、第6モードまたは第8モードでは、四角形の前記対象ブロックにおける右上の頂点に相当する代表画素の予測動きベクトルを、上隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは上隣のブロックの動きベクトルの値と、前記対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値をもとに算出し、その算出された予測動きベクトルと前記差分動きベクトルとを加算して前記対象ブロックにおける右上の頂点に相当する代表画素の動きベクトルを算出し、
前記第3モード、第5モード、第7モード、第9モード、第10モードまたは第11モードでは、四角形の前記対象ブロックにおける右上の頂点に相当する代表画素の予測動きベクトルを、前記上隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは前記上隣のブロックの動きベクトルの値と、前記対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値を前記対象ブロックにおける右上の頂点に相当する代表画素の動きベクトルとする、
ことを特徴とする請求項に記載の画像復号装置。
In the first mode, the second mode, the fourth mode, the sixth mode, or the eighth mode, the motion vector generation unit calculates a predicted motion vector of a representative pixel corresponding to the upper right vertex in the square target block, Adaptively representing the motion vector value of the representative pixel corresponding to the lower right vertex of the adjacent block or the motion vector value of the upper adjacent block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block Selecting, calculating based on the value of the selected motion vector, adding the calculated predicted motion vector and the difference motion vector, and the motion vector of the representative pixel corresponding to the upper right vertex in the target block To calculate
In the third mode, the fifth mode, the seventh mode, the ninth mode, the tenth mode, or the eleventh mode, the predicted motion vector of the representative pixel corresponding to the upper right vertex in the square target block is Adaptively select the motion vector value of the representative pixel corresponding to the lower right vertex of the block or the motion vector value of the upper neighboring block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block The value of the selected motion vector is used as the motion vector of the representative pixel corresponding to the upper right vertex in the target block.
The image decoding apparatus according to claim 1 .
前記動きベクトル生成部は、前記第1モード、第2モード、第3モード、第6モードまたは第9モードでは、四角形の前記対象ブロックにおける左下の頂点に相当する代表画素の予測動きベクトルを、左隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは左隣のブロックの動きベクトルの値と、前記対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値をもとに算出し、その算出された予測動きベクトルと前記差分動きベクトルとを加算して前記対象ブロックにおける左下の頂点に相当する代表画素の動きベクトルを算出し、
前記第4モード、第5モード、第7モード、第8モード、第10モードまたは第11モードでは、四角形の前記対象ブロックにおける左下の頂点に相当する代表画素の予測動きベクトルを、前記左隣のブロックの右下の頂点に相当する代表画素の動きベクトルまたは前記左隣のブロックの動きベクトルの値と、前記対象ブロックの左上の頂点に相当する代表画素の動きベクトルの値とを適応的に選択し、その選択された動きベクトルの値を前記対象ブロックにおける左下の頂点に相当する代表画素の動きベクトルとする、
ことを特徴とする請求項またはに記載の画像復号装置。
In the first mode, the second mode, the third mode, the sixth mode, or the ninth mode, the motion vector generation unit generates a predicted motion vector of a representative pixel corresponding to a lower left vertex in the square target block, The value of the motion vector of the representative pixel corresponding to the lower right vertex of the adjacent block or the value of the motion vector of the left adjacent block and the value of the motion vector of the representative pixel corresponding to the upper left vertex of the target block are adaptively set. Select, calculate based on the value of the selected motion vector, add the calculated predicted motion vector and the difference motion vector, and the motion vector of the representative pixel corresponding to the lower left vertex in the target block To calculate
In the fourth mode, the fifth mode, the seventh mode, the eighth mode, the tenth mode, or the eleventh mode, the prediction motion vector of the representative pixel corresponding to the lower left vertex of the square target block is set to the adjacent left side. Adaptively select the motion vector value of the representative pixel corresponding to the lower right vertex of the block or the motion vector value of the left adjacent block and the motion vector value of the representative pixel corresponding to the upper left vertex of the target block The value of the selected motion vector is used as the motion vector of the representative pixel corresponding to the lower left vertex in the target block.
The image decoding apparatus according to claim 1 or 2 , wherein
対象画像内の対象ブロックと、その対象ブロックと平行移動した関係にある参照画像内の参照ブロックとの間の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成するための平行移動動き補償予測部と、
前記復号部により復号された予測方法情報を参照して、対象画像内の対象ブロックごとに、前記平行移動動き補償予測部による予測方法と、前記幾何学変換動き補償予測部による予測方法とのいずれを用いるか指定するための制御部と、をさらに備え、
前記符号化ストリームに含まれるデータは、前記平行移動による動き補償予測と前記幾何学変換による動き補償予測が併用されて符号化されており、
前記動きベクトル生成部は、対象ブロックの予測動きベクトルを、前記予測モード、および前記対象ブロックに隣接する隣接ブロックの動き補償予測方法に応じて、当該隣接ブロックの隣接する頂点に相当する代表画素の動きベクトルの値または当該隣接ブロックの動きベクトルの値をもとに算出する、
ことを特徴とする請求項1からのいずれかに記載の画像復号装置。
Translation motion compensation 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 that is translated with the target block, and 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 And a control unit for specifying whether to use
The data included in the encoded stream is encoded using a combination of motion compensated prediction based on the parallel movement and motion compensated prediction based on the geometric transformation,
The motion vector generation unit converts the predicted motion vector of the target block to a representative pixel corresponding to an adjacent vertex of the adjacent block according to the prediction mode and a motion compensation prediction method for the adjacent block adjacent to the target block. Calculate based on the value of the motion vector or the value of the motion vector of the adjacent block,
The image decoding device according to any one of claims 1 to 3 , wherein
幾何学変換による動き補償予測が使用されて符号化された符号化ストリームに含まれる、予測モードを特定するための予測方法情報、前記予測モードに応じた代表画素の差分動きベクトルおよび予測誤差信号を復号するための復号ステップと、
前記予測方法情報により特定される予測モードに従って、代表画素の動きベクトルの予測動きベクトルを、対象ブロック内外の動きベクトルを用いて算出し、その予測動きベクトルに前記代表画素の差分動きベクトルを加算して代表画素の動きベクトルを生成するための動きベクトル生成ステップと、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の前記代表画素の動きベクトル、前記代表画素の動きベクトルを用いた補間により算出する前記代表画素以外の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成するための幾何学変換動き補償予測ステップと、
前記予測信号、および前記復号ステップにより復号された予測誤差信号から画像信号を生成するための画像信号生成ステップと、を備え、
前記代表画素には、前記対象ブロックを構成する頂点に位置する画素、頂点近傍に位置する画素または頂点近傍に位置する補間画素が選定され、
前記対象ブロックは四角形の領域であり、
前記幾何学変換動き補償予測ステップは、
前記対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号する第1モードと、
前記対象ブロックの4つの頂点のうち、左上、右上および左下の代表画素の差分動きベクトルを復号し、右下の代表画素の差分動きベクトルを復号しない第2モードと、
前記対象ブロックの4つの頂点のうち、左上および左下の代表画素の差分動きベクトルを復号し、右上および下の代表画素の差分動きベクトルを復号しない第3モードと、
前記対象ブロックの4つの頂点のうち、左上および右上の代表画素の差分動きベクトルを復号し、左下および右下の代表画素の差分動きベクトルを復号しない第4モードと、
前記対象ブロックの4つの頂点のうち、左上および右下の代表画素の差分動きベクトルを復号し、右上および左下の代表画素の差分動きベクトルを復号しない第5モードと、
前記対象ブロックの4つの頂点のうち、右上および左下の代表画素の差分動きベクトルを復号し、左上および右下の代表画素の差分動きベクトルを復号しない第6モードと、
前記対象ブロックの4つの頂点のうち、左上の代表画素の差分動きベクトルを復号し、右上、左下および右下の代表画素の差分動きベクトルを復号しない第7モードと、
前記対象ブロックの4つの頂点のうち、右上の代表画素の差分動きベクトルを復号し、左上、左下および右下の代表画素の差分動きベクトルを復号しない第8モードと、
前記対象ブロックの4つの頂点のうち、左下の代表画素の差分動きベクトルを復号し、左上、右上および右下の代表画素の差分動きベクトルを復号しない第9モードと、
前記対象ブロックの4つの頂点のうち、右下の代表画素の差分動きベクトルを復号し、左上、右上および左下の代表画素の差分動きベクトルを復号しない第10モードと、
前記対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号しない第11モードのうち、少なくとも2つの予測モードを備え、その少なくとも1つの予測モードには、前記第5モード、前記第6モード、前記第7モード、前記第8モード、前記第9モード、前記第10モードおよび前記第11モードの少なくとも1つが含まれる、
ことを特徴とする画像復号方法。
Prediction method information for specifying a prediction mode, a differential motion vector of a representative pixel according to the prediction mode, and a prediction error signal included in an encoded stream encoded using motion compensated prediction by geometric transformation A decoding step for decoding;
In accordance with the prediction mode specified by the prediction method information, a predicted motion vector of a representative pixel motion vector is calculated using motion vectors inside and outside the target block, and the difference motion vector of the representative pixel is added to the predicted motion vector. A motion vector generation step for generating a motion vector of the representative pixel;
The motion vector of the representative pixel 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 calculation using interpolation using the motion vector of the representative pixel A geometric transformation motion compensated prediction step for generating a prediction signal from a motion vector other than the representative pixel and the image signal of the reference block;
An image signal generation step for generating an image signal from the prediction signal and the prediction error signal decoded by the decoding step;
As the representative pixel, a pixel located at the vertex constituting the target block, a pixel located near the vertex, or an interpolation pixel located near the vertex is selected,
The target block is a rectangular area;
The geometric transformation motion compensation prediction step includes:
A first mode for decoding differential motion vectors of representative pixels in the upper left, upper right, lower left and lower right of the four vertices of the target block;
Of the four vertices of the target block, a second mode in which the differential motion vectors of the upper left, upper right and lower left representative pixels are decoded and the differential motion vector of the lower right representative pixel is not decoded;
Of the four vertices of the target block, a third mode that decodes the differential motion vectors of the upper left and lower left representative pixels and does not decode the differential motion vectors of the upper right and lower right representative pixels;
A fourth mode in which the differential motion vectors of the upper left and upper right representative pixels among the four vertices of the target block are decoded, and the differential motion vectors of the lower left and lower right representative pixels are not decoded;
Of the four vertices of the target block, a fifth mode that decodes the differential motion vectors of the upper left and lower right representative pixels and does not decode the differential motion vectors of the upper right and lower left representative pixels;
Among the four vertices of the target block, a sixth mode that decodes the differential motion vectors of the upper right and lower left representative pixels and does not decode the differential motion vectors of the upper left and lower right representative pixels;
A seventh mode in which the differential motion vector of the upper left representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper right, lower left and lower right representative pixels is not decoded;
Among the four vertices of the target block, an eighth mode in which the differential motion vector of the upper right representative pixel is decoded and the differential motion vector of the upper left, lower left and lower right representative pixels is not decoded;
Of the four vertices of the target block, a ninth mode that decodes the differential motion vector of the lower left representative pixel and does not decode the differential motion vector of the upper left, upper right and lower right representative pixels;
A tenth mode in which the differential motion vector of the lower right representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper left, upper right and lower left representative pixels is not decoded;
Among the four vertices of the target block, at least two prediction modes are included in the eleventh mode in which the differential motion vectors of the upper left, upper right, lower left, and lower right representative pixels are not decoded, and the at least one prediction mode includes , Including at least one of the fifth mode, the sixth mode, the seventh mode, the eighth mode, the ninth mode, the tenth mode, and the eleventh mode,
An image decoding method characterized by the above.
幾何学変換による動き補償予測が使用されて符号化された符号化ストリームに含まれる、予測モードを特定するための予測方法情報、前記予測モードに応じた代表画素の差分動きベクトルおよび予測誤差信号を復号するための復号処理と、
前記予測方法情報により特定される予測モードに従って、代表画素の動きベクトルの予測動きベクトルを、対象ブロック内外の動きベクトルを用いて算出し、その予測動きベクトルに前記代表画素の差分動きベクトルを加算して代表画素の動きベクトルを生成するための動きベクトル生成処理と、
対象画像内の対象ブロックと、その対象ブロックと幾何学変換した関係にある参照画像内の参照ブロックとの間の前記代表画素の動きベクトル、前記代表画素の動きベクトルを用いた補間により算出する前記代表画素以外の動きベクトル、および前記参照ブロックの画像信号から予測信号を生成するための幾何学変換動き補償予測処理と、
前記予測信号、および前記復号処理により復号された予測誤差信号から画像信号を生成するための画像信号生成処理と、をコンピュータに実行させ、
前記代表画素には、前記対象ブロックを構成する頂点に位置する画素、頂点近傍に位置する画素または頂点近傍に位置する補間画素が選定され、
前記対象ブロックは四角形の領域であり、
前記幾何学変換動き補償予測処理は、
前記対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号する第1モードと、
前記対象ブロックの4つの頂点のうち、左上、右上および左下の代表画素の差分動きベクトルを復号し、右下の代表画素の差分動きベクトルを復号しない第2モードと、
前記対象ブロックの4つの頂点のうち、左上および左下の代表画素の差分動きベクトルを復号し、右上および下の代表画素の差分動きベクトルを復号しない第3モードと、
前記対象ブロックの4つの頂点のうち、左上および右上の代表画素の差分動きベクトルを復号し、左下および右下の代表画素の差分動きベクトルを復号しない第4モードと、
前記対象ブロックの4つの頂点のうち、左上および右下の代表画素の差分動きベクトルを復号し、右上および左下の代表画素の差分動きベクトルを復号しない第5モードと、
前記対象ブロックの4つの頂点のうち、右上および左下の代表画素の差分動きベクトルを復号し、左上および右下の代表画素の差分動きベクトルを復号しない第6モードと、
前記対象ブロックの4つの頂点のうち、左上の代表画素の差分動きベクトルを復号し、右上、左下および右下の代表画素の差分動きベクトルを復号しない第7モードと、
前記対象ブロックの4つの頂点のうち、右上の代表画素の差分動きベクトルを復号し、左上、左下および右下の代表画素の差分動きベクトルを復号しない第8モードと、
前記対象ブロックの4つの頂点のうち、左下の代表画素の差分動きベクトルを復号し、左上、右上および右下の代表画素の差分動きベクトルを復号しない第9モードと、
前記対象ブロックの4つの頂点のうち、右下の代表画素の差分動きベクトルを復号し、左上、右上および左下の代表画素の差分動きベクトルを復号しない第10モードと、
前記対象ブロックの4つの頂点のうち、左上、右上、左下および右下の代表画素の差分動きベクトルを復号しない第11モードのうち、少なくとも2つの予測モードを備え、その少なくとも1つの予測モードには、前記第5モード、前記第6モード、前記第7モード、前記第8モード、前記第9モード、前記第10モードおよび前記第11モードの少なくとも1つが含まれる、
ことを特徴とする画像復号プログラム。
Prediction method information for specifying a prediction mode, a differential motion vector of a representative pixel according to the prediction mode, and a prediction error signal included in an encoded stream encoded using motion compensated prediction by geometric transformation Decryption processing for decryption;
In accordance with the prediction mode specified by the prediction method information, a predicted motion vector of a representative pixel motion vector is calculated using motion vectors inside and outside the target block, and the difference motion vector of the representative pixel is added to the predicted motion vector. Motion vector generation processing for generating motion vectors of representative pixels,
The motion vector of the representative pixel 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 calculation using interpolation using the motion vector of the representative pixel A geometric transformation motion compensation prediction process for generating a prediction signal from a motion vector other than a representative pixel and an image signal of the reference block;
Causing the computer to execute the prediction signal and an image signal generation process for generating an image signal from the prediction error signal decoded by the decoding process;
As the representative pixel, a pixel located at the vertex constituting the target block, a pixel located near the vertex, or an interpolation pixel located near the vertex is selected,
The target block is a rectangular area;
The geometric transformation motion compensation prediction process is:
A first mode for decoding differential motion vectors of representative pixels in the upper left, upper right, lower left and lower right of the four vertices of the target block;
Of the four vertices of the target block, a second mode in which the differential motion vectors of the upper left, upper right and lower left representative pixels are decoded and the differential motion vector of the lower right representative pixel is not decoded;
Of the four vertices of the target block, a third mode that decodes the differential motion vectors of the upper left and lower left representative pixels and does not decode the differential motion vectors of the upper right and lower right representative pixels;
A fourth mode in which the differential motion vectors of the upper left and upper right representative pixels among the four vertices of the target block are decoded, and the differential motion vectors of the lower left and lower right representative pixels are not decoded;
Of the four vertices of the target block, a fifth mode that decodes the differential motion vectors of the upper left and lower right representative pixels and does not decode the differential motion vectors of the upper right and lower left representative pixels;
Among the four vertices of the target block, a sixth mode that decodes the differential motion vectors of the upper right and lower left representative pixels and does not decode the differential motion vectors of the upper left and lower right representative pixels;
A seventh mode in which the differential motion vector of the upper left representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper right, lower left and lower right representative pixels is not decoded;
Among the four vertices of the target block, an eighth mode in which the differential motion vector of the upper right representative pixel is decoded and the differential motion vector of the upper left, lower left and lower right representative pixels is not decoded;
Of the four vertices of the target block, a ninth mode that decodes the differential motion vector of the lower left representative pixel and does not decode the differential motion vector of the upper left, upper right and lower right representative pixels;
A tenth mode in which the differential motion vector of the lower right representative pixel is decoded among the four vertices of the target block, and the differential motion vector of the upper left, upper right and lower left representative pixels is not decoded;
Among the four vertices of the target block, at least two prediction modes are included in the eleventh mode in which the differential motion vectors of the upper left, upper right, lower left, and lower right representative pixels are not decoded, and the at least one prediction mode includes , Including at least one of the fifth mode, the sixth mode, the seventh mode, the eighth mode, the ninth mode, the tenth mode, and the eleventh mode,
An image decoding program characterized by the above.
JP2011025347A 2011-02-08 2011-02-08 Image decoding apparatus, image decoding method, and image decoding program Active JP5716438B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011025347A JP5716438B2 (en) 2011-02-08 2011-02-08 Image decoding apparatus, image decoding method, and image decoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011025347A JP5716438B2 (en) 2011-02-08 2011-02-08 Image decoding apparatus, image decoding method, and image decoding program

Publications (2)

Publication Number Publication Date
JP2012165279A JP2012165279A (en) 2012-08-30
JP5716438B2 true JP5716438B2 (en) 2015-05-13

Family

ID=46844219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011025347A Active JP5716438B2 (en) 2011-02-08 2011-02-08 Image decoding apparatus, image decoding method, and image decoding program

Country Status (1)

Country Link
JP (1) JP5716438B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6614472B2 (en) * 2013-09-30 2019-12-04 サン パテント トラスト Image encoding method, image decoding method, image encoding device, and image decoding device
CN107046645B9 (en) 2016-02-06 2020-08-14 华为技术有限公司 Image coding and decoding method and device
CN109922336B (en) 2017-12-12 2023-07-18 华为技术有限公司 Inter-frame prediction method and device for video data
CN113411581B (en) * 2021-06-28 2022-08-05 展讯通信(上海)有限公司 Motion compensation method, system, storage medium and terminal for video sequence

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654664B2 (en) * 1994-08-23 2005-06-02 シャープ株式会社 Image encoding apparatus and image decoding apparatus
JPH0879763A (en) * 1994-09-05 1996-03-22 Sharp Corp Moving image coder and moving image decoder
JP3277111B2 (en) * 1995-10-18 2002-04-22 シャープ株式会社 Video encoding device and video decoding device
JP2891129B2 (en) * 1995-01-27 1999-05-17 日本電気株式会社 Motion compensated prediction image creation device
JP2798120B2 (en) * 1995-08-04 1998-09-17 日本電気株式会社 Motion compensated interframe prediction method and motion compensated interframe prediction device
JPH09121359A (en) * 1995-10-26 1997-05-06 Hitachi Ltd Picture coding and decoding methods
CN1284372C (en) * 2000-08-11 2006-11-08 诺基亚有限公司 Method and apparatus for transferring video frame in telecommunication system
JP3746708B2 (en) * 2001-12-03 2006-02-15 シャープ株式会社 Video encoding device
JP2005124001A (en) * 2003-10-17 2005-05-12 Ntt Docomo Inc Apparatus, method, and program for motion picture encoding apparatus, method and program for motion picture decoding
KR101356735B1 (en) * 2007-01-03 2014-02-03 삼성전자주식회사 Mothod of estimating motion vector using global motion vector, apparatus, encoder, decoder and decoding method
JP2008283490A (en) * 2007-05-10 2008-11-20 Ntt Docomo Inc Moving image encoding device, method and program, and moving image decoding device, method and program

Also Published As

Publication number Publication date
JP2012165279A (en) 2012-08-30

Similar Documents

Publication Publication Date Title
JP7004782B2 (en) Image prediction method and related equipment
US10856006B2 (en) Method and system using overlapped search space for bi-predictive motion vector refinement
TWI729402B (en) Weighted interweaved prediction
US9277220B2 (en) Image coding apparatus including a geometric-transformation motion compensation prediction unit utilizing at least two prediction modes out of four prediction modes
JP6490203B2 (en) Image prediction method and related apparatus
TW202002652A (en) Signaled MV precision
TW202025725A (en) Sub-block mv inheritance between color components
KR20110008653A (en) Method and apparatus for predicting motion vector and method and apparatus of encoding/decoding a picture using the same
JP2010016453A (en) Image encoding apparatus and method, image decoding apparatus and method, and program
JP2020522200A (en) Optical Flow Estimation for Motion Compensated Prediction in Video Coding
JP5716437B2 (en) Image coding apparatus, image coding method, and image coding program
CN112292861B (en) Sub-pixel accurate correction method based on error surface for decoding end motion vector correction
TWI722465B (en) Boundary enhancement for sub-block
JP2011029863A (en) Decoding processing method
TW202007154A (en) Improvement on inter-layer prediction
JP5716438B2 (en) Image decoding apparatus, image decoding method, and image decoding program
JP5686018B2 (en) Image coding apparatus, image coding method, and image coding program
CN114731428A (en) Image encoding/decoding method and apparatus for performing PROF and method of transmitting bitstream
CN110719489A (en) Motion vector correction method, motion vector prediction method, motion vector encoding device, and storage device
JP5686019B2 (en) Image decoding apparatus, image decoding method, and image decoding program
JP2011151775A (en) Image decoder, method of decoding image, and image decoding program
CN114079783B (en) Encoding and decoding method, device and equipment
WO2011145282A1 (en) Image encoding apparatus, image encoding method, image encoding program, image decoding apparatus, image decoding method and image decoding program
US20140185948A1 (en) Method for storing motion prediction-related information in inter prediction method, and method for obtaining motion prediction-related information in inter prediction method
WO2011077632A1 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140909

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150302

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5716438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150