JP6935553B2 - Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates - Google Patents
Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates Download PDFInfo
- Publication number
- JP6935553B2 JP6935553B2 JP2020124907A JP2020124907A JP6935553B2 JP 6935553 B2 JP6935553 B2 JP 6935553B2 JP 2020124907 A JP2020124907 A JP 2020124907A JP 2020124907 A JP2020124907 A JP 2020124907A JP 6935553 B2 JP6935553 B2 JP 6935553B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- predicted motion
- current block
- block
- predicted
- 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
Links
- 239000013598 vector Substances 0.000 title claims description 949
- 230000033001 locomotion Effects 0.000 title claims description 946
- 238000000034 method Methods 0.000 title claims description 55
- 238000006243 chemical reaction Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 36
- 230000007717 exclusion Effects 0.000 description 27
- 238000011156 evaluation Methods 0.000 description 23
- 101000868440 Homo sapiens Sorting nexin-8 Proteins 0.000 description 22
- 208000012513 MVP1 Diseases 0.000 description 22
- 102100032848 Sorting nexin-8 Human genes 0.000 description 22
- 230000008569 process Effects 0.000 description 13
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 101100183125 Arabidopsis thaliana MBD12 gene Proteins 0.000 description 9
- 238000013139 quantization Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、動きベクトルを符号化/復号化する方法及び装置に係り、さらに詳細には、現在ブロックの動きベクトルを予測符号化、予測復号化する方法及び装置に関する。 The present invention relates to a method and an apparatus for encoding / decoding a motion vector, and more specifically, to a method and an apparatus for predictively coding and predictively decoding a motion vector of a current block.
MPEG(moving picture experts group)−4H.264/MPEG−4AVC(advanced video coding)のようなコーデックでは、現在ブロックの動きベクトルを予測するために、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルを利用する。現在ブロックに対し、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値(median)を、現在ブロックの予測動きベクトル(motion vector predictor)として利用する。現在ブロックの動きベクトルをそのまま符号化するのではなく、現在ブロックの動きベクトルと予測動きベクトルとの動きベクトル差だけ符号化する。 MPEG (moving picture experts group) -4H. Codecs such as 264 / MPEG-4 AVC (advanced video coding) utilize the motion vector of a previously encoded block adjacent to the current block to predict the motion vector of the current block. The median of the motion vector of the previously encoded block adjacent to the left, top and top right of the current block is used as the motion vector predictor of the current block. Instead of encoding the motion vector of the current block as it is, only the motion vector difference between the motion vector of the current block and the predicted motion vector is encoded.
本発明の一つ以上の例示的な実施形態は、動きベクトルを予測符号化、予測復号化する方法及び装置を提供し、前記方法を行うためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するものである。 One or more exemplary embodiments of the invention provide a method and apparatus for predictively coding and predictively decoding motion vectors, providing a computer-readable recording medium on which a program for performing the method is recorded. It is to provide.
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを符号化する方法は、現在ブロックの動きベクトルを推定し、前記推定結果に基づいて、予測動きベクトルの全体候補のうち、第1予測動きベクトル候補を、前記現在ブロックの予測動きベクトルとして決定し、前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとに基づいて、動きベクトルについての情報を生成する段階と、前記全体候補のうち、第2予測動きベクトル候補及び前記差ベクトルを利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記差ベクトルと前記動きベクトルとについての情報を比較し、前記第2予測動きベクトル候補を、前記全体候補から選択的に除外する段階と、前記動きベクトルについての情報、及び前記現在ブロックの予測動きベクトルについての情報を符号化する段階と、を含む。 The method of encoding the motion vector according to the embodiment of the present invention for solving the technical problem estimates the motion vector of the current block, and based on the estimation result, among all the candidates of the predicted motion vector. A step of determining a first predicted motion vector candidate as a predicted motion vector of the current block and generating information about the motion vector based on the motion vector of the current block and the predicted motion vector of the current block. Among the overall candidates, a virtual motion vector is generated using the second predicted motion vector candidate and the difference vector, a difference vector between the virtual motion vector and each of the overall candidates is generated, and the difference vector is generated. And the information about the motion vector, and the step of selectively excluding the second predicted motion vector candidate from the overall candidate, the information about the motion vector, and the predicted motion vector of the current block. Includes a step of encoding information.
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する方法は、現在ブロックの動きベクトルについての情報を復号化する段階と、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する段階と、除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する段階と、を含む。 The method for decoding the motion vector according to the embodiment of the present invention for solving the technical problem is predetermined among the stage of decoding the information about the motion vector of the current block and the overall candidate of the predicted motion vector. A virtual motion vector is generated by using the predicted motion vector candidate of the above and the information about the decoded motion vector, a difference vector between the virtual motion vector and each of the overall candidates is generated, and the generation is performed. The difference vector is compared with the information about the decoded motion vector, and the predetermined predicted motion vector is selectively excluded from the overall candidates, and the candidate of the predicted motion vector that is not excluded. One of them is determined as the predicted motion vector of the current block, and the motion vector of the current block is restored based on the determined predicted motion vector and the information about the decoded motion vector. ,including.
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを符号化する装置は、現在ブロックの動きベクトルを推定し、前記推定結果に基づいて、予測動きベクトルの全体候補のうち、第1予測動きベクトル候補を、前記現在ブロックの予測動きベクトルとして決定し、前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとに基づいて、動きベクトルについての情報を生成する動きベクトル推定部;前記全体候補のうち、第2予測動きベクトル候補及び前記差ベクトルを利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記差ベクトルと前記動きベクトルとについての情報を比較し、前記第2予測動きベクトル候補を、前記全体候補から選択的に除外する候補決定部;及び前記動きベクトルについての情報、及び前記現在ブロックの予測動きベクトルについての情報を符号化する動きベクトル推定部;を含む。 An apparatus for encoding a motion vector according to an embodiment of the present invention for solving the technical problem estimates a motion vector of a current block, and based on the estimation result, among all candidates of a predicted motion vector. A motion vector estimation that determines a first predicted motion vector candidate as a predicted motion vector of the current block and generates information about the motion vector based on the motion vector of the current block and the predicted motion vector of the current block. Part; Among the overall candidates, a virtual motion vector is generated using the second predicted motion vector candidate and the difference vector, and a difference vector between the virtual motion vector and each of the overall candidates is generated, and the above. A candidate determination unit that compares information about the difference vector and the motion vector and selectively excludes the second predicted motion vector candidate from the overall candidates; and information about the motion vector and prediction of the current block. Includes a motion vector estimator; which encodes information about the motion vector.
前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する装置は、現在ブロックの動きベクトルについての情報を復号化する動きベクトル復号化部;予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する候補決定部;及び除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する動きベクトル復元部;を含む。 The device for decoding the motion vector according to the embodiment of the present invention for solving the above technical problem is a motion vector decoding unit that decodes information about the motion vector of the current block; Among them, a virtual motion vector is generated by using information about a predetermined predicted motion vector candidate and the decoded motion vector, and a difference vector between the virtual motion vector and each of the overall candidates is generated. , A candidate determination unit that compares the generated difference vector with information about the decoded motion vector and selectively excludes the predetermined predicted motion vector from the overall candidates; and a non-excluded prediction. One of the motion vector candidates is determined as the predicted motion vector of the current block, and the motion vector of the current block is based on the information about the determined predicted motion vector and the decoded motion vector. Includes a motion vector restorer that restores.
前記技術的課題を解決するために本発明は、前記動きベクトルを符号化する方法及び/または復号化する方法を行うためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。 To solve the technical problems, the present invention provides a computer-readable recording medium on which a program for performing a method of encoding and / or decoding the motion vector is recorded.
本発明によれば、予測動きベクトルの候補を利用し、動きベクトルを予測符号化、予測復号化する場合にも、予測動きベクトルの候補の個数を減らし、動きベクトルを予測符号化、予測復号化することができる。従って、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測に利用された予測動きベクトル候補を特定するのに必要な情報を最小限のビットで符号化することができ、動きベクトル符号化/復号化の圧縮率が向上し、これによって、映像符号化/復号化の圧縮率も向上しうる。 According to the present invention, even when the motion vector is predicted-encoded and predicted-decoded by using the predicted motion vector candidates, the number of predicted motion vector candidates is reduced and the motion vector is predicted-encoded and predicted-decoded. can do. Therefore, among the candidates for the predicted motion vector, the information required to identify the predicted motion vector candidate used for the prediction of the motion vector of the current block can be encoded with the minimum number of bits, and the motion vector coding can be performed. / Decoding compression ratio is improved, which can also improve video coding / decoding compression ratio.
以下、図面を参照しつつ、本発明の実施形態について詳細に説明する。「少なくとも1の〜」のような表現は、構成要素のリストに先行する場合、構成要素の全体リストを変更し、リストの個別的な構成要素を変更するものではない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. An expression such as "at least one ~" modifies the entire list of components and does not change the individual components of the list if it precedes the list of components.
以下、映像は、ビデオの静止映像、または動画及びビデオ自体を示す。 Hereinafter, the video indicates a still video of the video, or the video and the video itself.
図1は、本発明の一実施形態による映像符号化装置を図示している。図1を参照すれば、本発明の一実施形態による映像符号化装置100は、最大符号化単位分割部110、符号化深度決定部120、映像データ符号化部130及び符号化情報符号化部140を含む。
FIG. 1 illustrates a video coding device according to an embodiment of the present invention. Referring to FIG. 1, the
最大符号化単位分割部110は、最大サイズの符号化単位である最大符号化単位に基づいて、現在フレームまたは現在スライスを分割することができる。現在フレームまたは現在スライスを少なくとも1つの最大符号化単位に分割することができる。
The maximum coding
本発明の一実施形態によれば、最大符号化単位及び深度を利用して、符号化単位が表現されもする。前述のように、最大符号化単位は、現在フレームの符号化単位のうち、大きさが最大である符号化単位を示し、深度は、符号化単位が階層的に縮小された程度を示す。深度が大きくなりつつ、符号化単位は、最大符号化単位から最小符号化単位まで縮小され、最大符号化単位の深度は、最小深度として定義され、最小符号化単位の深度は、最大深度として定義されもする。最大符号化単位は、深度が大きくなるにつれて、深度別符号化単位の大きさは小さくなり、k深度のサブ符号化単位は、kより大きい深度の複数個のサブ符号化単位を含んでもよい。 According to one embodiment of the present invention, the coding unit is also represented by utilizing the maximum coding unit and the depth. As described above, the maximum coding unit indicates the coding unit having the largest size among the coding units of the current frame, and the depth indicates the degree to which the coding units are hierarchically reduced. As the depth increases, the coding unit is reduced from the maximum coding unit to the minimum coding unit, the depth of the maximum coding unit is defined as the minimum depth, and the depth of the minimum coding unit is defined as the maximum depth. It will also be done. As the maximum coding unit increases in depth, the size of the depth-based coding unit decreases, and the k-depth sub-coding unit may include a plurality of sub-coding units having a depth greater than k.
符号化されるフレームの大きさが大きくなるにつれ、さらに大きい単位で映像を符号化すれば、さらに高い映像圧縮率で映像を符号化することができる。しかし、符号化単位を大きくし、その大きさを固定させてしまえば、変わり続ける映像の特性を反映して効率的に映像を符号化することができない。 As the size of the encoded frame increases, if the image is encoded in a larger unit, the image can be encoded with a higher image compression rate. However, if the coding unit is increased and the size is fixed, it is not possible to efficiently encode the image by reflecting the ever-changing characteristics of the image.
例えば、海または空に係わる平坦な領域を符号化するときには、符号化単位を大きくするほど、圧縮率が向上するが、人またはビルに係わる複雑な領域を符号化するときには、符号化単位を小さくするほど圧縮率が向上する。 For example, when coding a flat area related to the sea or the sky, the larger the coding unit, the better the compression ratio, but when coding a complex area related to a person or a building, the smaller the coding unit. The more the compression ratio is improved.
このために、本発明の一実施形態は、フレームまたはスライスごとに異なるサイズの最大映像符号化単位を設定し、最大深度を設定する。最大深度は、符号化単位が縮小される最大回数を意味するので、最大深度によって、最大映像符号化単位に含まれた最小符号化単位サイズを可変的に設定することができる。 To this end, one embodiment of the present invention sets a different size maximum video coding unit for each frame or slice and sets the maximum depth. Since the maximum depth means the maximum number of times that the coding unit is reduced, the minimum coding unit size included in the maximum video coding unit can be variably set by the maximum depth.
符号化深度決定部120は、最大深度を決定する。最大深度は、R−Dコスト(rate-distortion cost)計算に基づいて決定される。最大深度は、フレームまたはスライスごとに異なって決定されたり、あるいはそれぞれの最大符号化単位ごとに異なって決定されてもよい。決定された最大深度は、符号化情報符号化部140に出力され、最大符号化単位別映像データは、映像データ符号化部130に出力される。
The coding
最大深度は、最大符号化単位に含まれる最小サイズの符号化単位、すなわち、最小符号化単位を意味する。言い換えれば、最大符号化単位は、異なる深度によって、異なるサイズのサブ符号化単位に分割されもする。図8Aないし図8Dを参照して、詳細に後述する。また、最大符号化単位に含まれた異なるサイズのサブ符号化単位は、異なるサイズの処理単位に基づいて、予測または変換が行われる。変換は、空間ドメインのピクセル値を、周波数ドメインの係数に変換するのであり、離散コサイン変換(discrete cosine transform)またはKLT(Karhunen Loever transform)であってもよい。 The maximum depth means the smallest size coding unit included in the maximum coding unit, that is, the minimum coding unit. In other words, the maximum coding unit is also divided into sub-coding units of different sizes at different depths. Details will be described later with reference to FIGS. 8A to 8D. Further, the sub-coding units of different sizes included in the maximum coding unit are predicted or converted based on the processing units of different sizes. The transformation transforms the pixel values of the spatial domain into the coefficients of the frequency domain, which may be the discrete cosine transform or the KLT (Karhunen Loever transform).
言い換えれば、映像符号化装置100は、映像符号化のための複数の処理段階を、多様なサイズ及び多様な形態の処理単位に基づいて遂行することができる。映像データの符号化のためには、予測、変換、エントロピ符号化などの処理段階を経るが、すべての段階にわたって等しい大きさの処理単位が利用されもし、段階別に異なるサイズの処理単位を利用することもできる。
In other words, the
例えば、映像符号化装置100は、所定の符号化単位を予測するために、符号化単位と異なる処理単位を選択することができる。
For example, the
符号化単位の大きさが、2Nx2N(ただし、Nは正の定数)である場合、予測のための処理単位は、2Nx2N、2NxN、Nx2N、NxNなどである。言い換えれば、符号化単位の高さまたは幅のうち少なくとも一つを半分にする形態の処理単位を基に、動き予測が遂行されてもよい。以下、予測の基になる処理単位を「予測単位」とする。 When the size of the coding unit is 2Nx2N (where N is a positive constant), the processing unit for prediction is 2Nx2N, 2NxN, Nx2N, NxN, or the like. In other words, motion prediction may be performed based on a processing unit in the form of halving at least one of the height or width of the coding unit. Hereinafter, the processing unit on which the prediction is based will be referred to as a “prediction unit”.
予測モードは、イントラモード、インターモード及びスキップモードのうち少なくとも一つであり、特定予測モードは、特定のサイズまたは形態の予測単位についてのみ遂行されもする。例えば、イントラモードは、正方形である2Nx2N,NxNサイズの予測単位についてのみ遂行される。また、スキップモードは、2Nx2Nサイズの予測単位についてのみ遂行される。符号化単位内部に、複数の予測単位があれば、それぞれの予測単位に対して予測を行い、符号化誤差が最も小さい予測モードが選択されもする。 The prediction mode is at least one of an intra mode, an inter mode and a skip mode, and the specific prediction mode may also be performed only for a prediction unit of a particular size or form. For example, the intra mode is performed only for predictive units of square 2Nx2N, NxN size. Further, the skip mode is executed only for the prediction unit of 2Nx2N size. If there are a plurality of prediction units inside the coding unit, prediction is performed for each prediction unit, and the prediction mode with the smallest coding error is also selected.
また、映像符号化装置100は、符号化単位と異なる大きさの処理単位に基づいて、映像データを変換することができる。符号化単位の変換のために、符号化単位より小さいか、あるいは同じである大きさのデータ単位を基に、変換が行われもする。以下、変換の基になる処理単位を「変換単位」とする。
Further, the
符号化深度決定部120は、ラグランジュ乗数(Lagrangian multiplier)基盤の率・歪曲最適化技法(rate-distortion optimization)を利用し、最大符号化単位に含まれたサブ符号化単位を決定することができる。言い換えれば、最大符号化単位が、いかなる形態の複数のサブ符号化単位に分割されるか決定することができるが、ここで、複数のサブ符号化単位は、深度によって大きさが異なる。その後、映像データ符号化部130は、符号化深度決定部120で決定された分割形態に基づいて、最大符号化単位を符号化してビットストリームを出力する。
The coding
符号化情報符号化部140は、符号化深度決定部120で決定された最大符号化単位の符号化モードについての情報を符号化する。最大符号化単位の分割形態についての情報、最大深度についての情報、及び深度別サブ符号化単位の符号化モードについての情報を符号化し、ビットストリームを出力する。サブ符号化単位の符号化モードについての情報は、サブ符号化単位の予測単位についての情報、予測単位別予測モード情報、サブ符号化単位の変換単位についての情報などを含んでもよい。
Coding information The
最大符号化単位の分割形態についての情報は、それぞれの符号化単位について、分割いかんを示す情報であってもよい。例えば、最大符号化単位を分割して符号化する場合、最大符号化単位に対して分割いかんを示す情報を符号化し、最大符号化単位を分割して生成されたサブ符号化単位をさらに分割して符号化する場合にも、それぞれのサブ符号化単位に対して分割いかんを示す情報を符号化する。分割いかんを示す情報は、分割いかんを示すフラグ情報であってもよい。 The information about the division form of the maximum coding unit may be information indicating the division of each coding unit. For example, when the maximum coding unit is divided and coded, the information indicating the division is encoded with respect to the maximum coding unit, and the sub-coding unit generated by dividing the maximum coding unit is further divided. Also in the case of encoding, the information indicating the division is encoded for each sub-coding unit. The information indicating the division can be the flag information indicating the division.
最大符号化単位ごとに異なるサイズのサブ符号化単位が存在し、それぞれのサブ符号化単位ごとに符号化モードについての情報が決定されなければならないので、1つの最大符号化単位については、少なくとも1つの符号化モードについての情報が決定される。 Since there are sub-coding units of different sizes for each maximum coding unit and information about the coding mode must be determined for each sub-coding unit, at least one for one maximum coding unit. Information about one coding mode is determined.
映像符号化装置100は、深度が大きくなるにつれて、最大符号化単位を高さ及び幅を半分にし、サブ符号化単位を生成することができる。すなわち、k深度の符号化単位の大きさが2Nx2Nであるならば、k+1深度の符号化単位の大きさは、NxNである。
The
従って、一実施形態による映像符号化装置100は、映像の特性を考慮した最大符号化単位の大きさ及び最大深度を基に、それぞれの最大符号化単位ごとに、最適の分割形態を決定することができる。映像特性を考慮して、可変的に最大符号化単位の大きさを調節し、異なる深度のサブ符号化単位で最大符号化単位を分割して映像を符号化することにより、多様な解像度の映像をさらに効率的に符号化することができる。
Therefore, the
図2は、本発明の一実施形態による映像復号化装置を図示している。図2を参照すれば、本発明の一実施形態による映像復号化装置200は、映像データ獲得部210、符号化情報抽出部220及び映像データ復号化部230を含む。
FIG. 2 illustrates a video decoding apparatus according to an embodiment of the present invention. Referring to FIG. 2, the
映像関連データ獲得部210は、映像復号化装置200が受信したビットストリームをパージングし、最大符号化単位別に映像データを獲得し、映像データ復号化部230に出力する。映像データ獲得部210は、現在フレームまたはスライスに係わるヘッダから、現在フレームまたはスライスの最大符号化単位についての情報を抽出することができる。言い換えれば、ビットストリームを最大符号化単位に分割し、映像データ復号化部230に、最大符号化単位ごとに映像データを復号化させる。
The video-related
符号化情報抽出部220は、映像復号化装置200が受信したビット列をパージングし、現在フレームに係わるヘッダから、最大符号化単位、最大深度、最大符号化単位の分割形態、サブ符号化単位の符号化モードについての情報を抽出する。分割形態及び符号化モードについての情報は、映像データ復号化部230に出力される。
The coding
最大符号化単位の分割形態についての情報は、最大符号化単位に含まれた深度によって異なるサイズのサブ符号化単位についての情報を含んでもよい。前述のように、分割形態についての情報は、それぞれの符号化単位に対して符号化された分割いかんを示す情報(例えば、フラグ情報)であってもよい。符号化モードについての情報は、サブ符号化単位別予測単位についての情報、予測モードについての情報及び変換単位についての情報などを含んでもよい。 The information about the division form of the maximum coding unit may include information about sub-coding units of different sizes depending on the depth contained in the maximum coding unit. As described above, the information about the division form may be information (for example, flag information) indicating the division that is encoded for each coding unit. The information about the coding mode may include information about the prediction unit for each sub-coding unit, information about the prediction mode, information about the conversion unit, and the like.
映像データ復号化部230は、符号化情報抽出部で抽出された情報に基づいて、それぞれの最大符号化単位の映像データを復号化して現在フレームを復元する。
The video
最大符号化単位の分割形態についての情報に基づいて、映像データ復号化部230は、最大符号化単位に含まれたサブ符号化単位を復号化することができる。復号化過程は、イントラ予測及び動き補償を含むインター予測過程及び逆変換過程を含んでもよい。
Based on the information about the division form of the maximum coding unit, the video
映像データ復号化部230は、サブ符号化単位の予測のために、サブ符号化単位別予測単位についての情報、及び予測モードについての情報に基づいて、イントラ予測またはインター予測を行うことができる。また、映像データ復号化部230は、サブ符号化単位の変換単位についての情報に基づいて、サブ符号化単位ごとに逆変換を行うことができる。
The video
図3は、本発明の一実施形態による階層的符号化単位を図示している。図3を参照すれば、本発明による階層的符号化単位は、幅x高さが64x64である符号化単位から、32x32、16x16、8x8及び4x4を含んでもよい。正方形の符号化単位以外にも、幅x高さが64x32、32x64、32x16、16x32、16x8、8x16、8x4、4x8である符号化単位が存在することができる。 FIG. 3 illustrates a hierarchical coding unit according to an embodiment of the present invention. Referring to FIG. 3, the hierarchical coding unit according to the invention may include 32x32, 16x16, 8x8 and 4x4 from a coding unit having a width x height of 64x64. In addition to the square coding unit, there can be coding units having width x height of 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, 4x8.
図3を参照すれば、解像度が1920x1080である映像データ310について、最大符号化単位の大きさが64x64、最大深度が2に設定されている。
Referring to FIG. 3, the maximum coding unit size is set to 64x64 and the maximum depth is set to 2 for the
他の解像度が1920x1080である映像データ320について、最大符号化単位の大きさが64x64、最大深度が4に設定されている。解像度が352x288であるビデオデータ330について、最大符号化単位の大きさが16x16、最大深度が2に設定されている。
For the
解像度が高いか、あるいはデータ量が多い場合、圧縮率向上だけではなく、映像特性を正確に反映するために、符号化サイズの最大サイズが相対的に大きいことが望ましい。従って、映像データ330に比較し、解像度が高い映像データ310及び320は、最大符号化単位の大きさが64x64に選択される。
When the resolution is high or the amount of data is large, it is desirable that the maximum size of the coding size is relatively large in order not only to improve the compression rate but also to accurately reflect the video characteristics. Therefore, in the
最大深度は、階層的符号化単位での総階層数を示す。映像データ310の最大深度が2であるので、映像データ310の符号化単位315は、長軸サイズが64である最大符号化単位から、深度が増加するにつれて、長軸サイズが32、16であるサブ符号化単位まで含んでもよい。
Maximum depth indicates the total number of layers in the hierarchical coding unit. Since the maximum depth of the
一方、映像データ330の最大深度が2であるので、映像データ330の符号化単位335は、長軸サイズが16である最大符号化単位から、深度が増加するにつれて、長軸サイズが8、4である符号化単位まで含んでもよい。
On the other hand, since the maximum depth of the
映像データ320の最大深度が4であるので、ビデオデータ320の符号化単位325は、長軸サイズが64である最大符号化単位から、深度が増加するにつれて、長軸サイズが32、16、8、4であるサブ符号化単位まで含んでもよい。深度が増加するほど、さらに小さいサブ符号化単位に基づいて映像を符号化するので、さらに細密な場面を含んでいる映像を符号化するのに適するようになる。
Since the maximum depth of the
図4は、本発明の一実施形態による符号化単位に基づいた映像符号化部を図示している。 FIG. 4 illustrates a video coding unit based on a coding unit according to an embodiment of the present invention.
イントラ予測部410は、現在フレーム405において、イントラモードの予測単位に対してイントラ予測を行い、動き推定部420及び動き補償部425は、インターモードの予測単位に対して、現在フレーム405及び参照フレーム495を利用して、インター予測及び動き補償を行う。
In the
イントラ予測部410、動き推定部420及び動き補償部425から出力された予測単位に基づいて、残差(residual)値が生成され、生成された残差値は、変換部430及び量子化部440を経て、量子化された変換係数として出力される。
Residual values are generated based on the prediction units output from the
量子化された変換係数は、逆量子化部460、逆変換部470を介して再び残差値に復元され、復元された残差値は、デブロッキング部480及びループ・フィルタリング490を経て後処理され、参照フレーム495に出力される。量子化された変換係数は、エントロピ符号化部450を経て、ビットストリーム455に出力される。
The quantized conversion coefficient is restored to the residual value again via the
本発明の一実施形態による映像符号化方法によって符号化するために、映像符号化部400の構成要素であるイントラ予測部410、動き推定部420、動き補償部425、変換部430、量子化部440、エントロピ符号化部450、逆量子化部460、逆変換部470、デブロッキング部480及びループ・フィルタリング490は、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像符号化過程を処理する。
In order to encode by the video coding method according to the embodiment of the present invention, the
図5は、本発明の一実施形態による符号化単位に基づいた映像復号化部を図示している。 FIG. 5 illustrates a video decoding unit based on a coding unit according to an embodiment of the present invention.
ビットストリーム505がパージング部510を経て、復号化対象である符号化された映像データ、及び復号化のために必要な符号化情報がパージングされる。符号化された映像データは、エントロピ復号化部520及び逆量子化部530を経て、逆量子化されたデータとして出力され、逆変換部540を経て、残差値に復元される。残差値は、イントラ予測部550のイントラ予測の結果または動き補償部560の動き補償結果と加算され、符号化単位別に復元される。復元された符号化単位は、デブロッキング部570及びループ・フィルタリング580を経て、次の符号化単位または次のフレームの予測に利用される。
The
本発明の一実施形態による映像復号化方法によって復号化するために、映像復号化部400の構成要素であるパージング部510、エントロピ復号化部520、逆量子化部530、逆変換部540、イントラ予測部550、動き補償部560、デブロッキング部570及びループ・フィルタリング580が、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像復号化過程を処理する。
In order to decode by the video decoding method according to the embodiment of the present invention, the
特に、イントラ予測部550、動き補償部560は、最大符号化単位及び深度を考慮し、サブ符号化単位内の予測単位及び予測モードを決定し、逆変換部540は、変換単位の大きさを考慮し、逆変換を行う。
In particular, the
図6は、本発明の一実施形態による最大符号化単位、サブ符号化単位及び予測単位を図示している。 FIG. 6 illustrates the maximum coding unit, sub-coding unit and prediction unit according to one embodiment of the present invention.
本発明の一実施形態による映像符号化装置100及び映像復号化装置200は、映像特性を考慮して、符号化/復号化を行うために、階層的な符号化単位を利用する。最大符号化単位及び最大深度は、映像の特性によって適応的に設定されたり、ユーザの要求によって多様に設定されもする。
The
本発明の一実施形態による符号化単位の階層構造600は、最大符号化単位610の高さ及び幅が64であり、最大深度が4である場合を図示している。符号化単位の階層構造600の縦軸に沿って深度が増加し、深度の増加によって、サブ符号化単位620ないし650の幅及び高さが縮小される。また、符号化単位の階層構造600の横軸に沿って、最大符号化単位610及びサブ符号化単位620ないし650の予測単位が図示されている。
The
最大符号化単位610は、深度が0であり、符号化単位の大きさ、すなわち、幅及び高さが64x64である。縦軸に沿って深度が増加し、サイズ32x32である深度1のサブ符号化単位620、サイズ16x16である深度2のサブ符号化単位630、サイズ8x8である深度3のサブ符号化単位640、サイズ4x4である深度4のサブ符号化単位650が存在する。サイズ4x4である深度4のサブ符号化単位650は、最小符号化単位である。
The
図6を参照すれば、それぞれの深度別に、横軸に沿って予測単位の例示が図示されている。すなわち、深度0の最大符号化単位610の予測単位は、サイズ64x64の符号化単位610と同一であるか、あるいはそれより小サイズであるサイズ64x64の予測単位610、サイズ64x32の予測単位612、サイズ32x64の予測単位614、サイズ32x32の予測単位(616であってもよい。
With reference to FIG. 6, examples of prediction units are illustrated along the horizontal axis for each depth. That is, the prediction unit of the
深度1のサイズ32x32の符号化単位620の予測単位は、サイズ32x32の符号化単位620と同一であるか、あるいはそれより小サイズであるサイズ32x32の予測単位620、サイズ32x16の予測単位622、サイズ16x32の予測単位624、サイズ16x16の予測単位626であってもよい。
The prediction unit of the size
深度2のサイズ16x16の符号化単位630の予測単位は、サイズ16x16の符号化単位630と同一であるか、あるいはそれより小サイズであるサイズ16x16の予測単位630、サイズ16x8の予測単位632、サイズ8x16の予測単位634、サイズ8x8の予測単位636であってもよい。
The prediction unit of the size
深度3のサイズ8x8の符号化単位640の予測単位は、サイズ8x8の符号化単位640と同一であるか、あるいはそれより小サイズであるサイズ8x8の予測単位640、サイズ8x4の予測単位642、サイズ4x8の予測単位644、サイズ4x4の予測単位646であってもよい。
The prediction unit of the size
最後に、深度4のサイズ4x4の符号化単位650は、最大深度の符号化単位であり、予測単位は、サイズ4x4の予測単位650である。しかし、最大深度の符号化単位であるとして、必ずしも符号化単位と予測単位との大きさが同一である必要はなく、他の符号化単位610ないし650と同様に、符号化単位より小さい大きさの予測単位に分割して予測を行うこともできる。
Finally, the size
図7は、本発明の一実施形態による、符号化単位及び変換単位を図示している。 FIG. 7 illustrates a coding unit and a conversion unit according to an embodiment of the present invention.
本発明の一実施形態による映像符号化装置100及び映像復号化装置200は、最大符号化単位そのまま符号化するか、あるいは最大符号化単位より小さいか、同じであるサブ符号化単位に最大符号化単位を分割して符号化する。符号化過程中、変換のための変換単位の大きさも、符号化単位及び予測単位と関係なく、最も高い圧縮率のための大きさに選択されもする。例えば、現在符号化単位710が64x64サイズであるとき、32x32サイズの変換単位720を利用して変換が行われもする。
The
図8Aないし図8Dは、本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示している。
図8A及び図8Bは、本発明の一実施形態による符号化単位及び予測単位を図示している。
8A to 8D illustrate the division of the coding unit, the prediction unit, and the conversion unit according to the embodiment of the present invention.
8A and 8B illustrate coding units and prediction units according to one embodiment of the invention.
図8Aは、最大符号化単位810を符号化するために、本発明の一実施形態による映像符号化装置100が選択した分割形態を図示している。映像符号化装置100は、多様な形態に最大符号化単位810を分割し、符号化した後、多様な分割形態の符号化結果を、R−Dコストに基づいて比較し、最適の分割形態を選択する。最大符号化単位810をそのまま符号化することが最適である場合には、図8Aないし図8Dのように、最大符号化単位810を分割せずに、最大符号化単位800を符号化することもできる。
FIG. 8A illustrates a division mode selected by the
図8Aを参照すれば、深度0である最大符号化単位810を、深度1以上のサブ符号化単位に分割して符号化する。最大符号化単位810を4つの深度1のサブ符号化単位に分割した後、全部または一部の深度1のサブ符号化単位を、さらに深度2のサブ符号化単位に分割する。
Referring to FIG. 8A, the maximum coding unit 810 having a depth of 0 is divided into sub-coding units having a depth of 1 or more and coded. After the maximum coding unit 810 is divided into four
深度1のサブ符号化単位のうち、右側上部に位置したサブ符号化単位及び左側下部に位置したサブ符号化単位が、深度2以上のサブ符号化単位に分割された。深度2以上のサブ符号化単位のうち一部は、さらに深度3以上のサブ符号化単位に分割されもする。
Of the sub-coding units at
図8Bは、最大符号化単位810に係わる予測単位の分割形態を図示している。図8Bを参照すれば、最大符号化単位に係わる予測単位860は、最大符号化単位810と異なって分割される。言い換えれば、サブ符号化単位それぞれに対される予測単位は、サブ符号化単位より小さい。 FIG. 8B illustrates the division form of the prediction unit related to the maximum coding unit 810. Referring to FIG. 8B, the prediction unit 860 related to the maximum coding unit is divided differently from the maximum coding unit 810. In other words, the prediction unit for each sub-coding unit is smaller than the sub-coding unit.
例えば、深度1のサブ符号化単位のうち、右側下部に位置したサブ符号化単位854に係わる予測単位は、サブ符号化単位854より小さくともよい。深度2のサブ符号化単位814,816,818,828,850,852のうち一部のサブ符号化単位815,816,850,852に係わる予測単位は、サブ符号化単位より小さくともよい。
For example, among the sub-coding units having a depth of 1, the prediction unit related to the
また、深度3のサブ符号化単位822,832,848に係わる予測単位は、サブ符号化単位より小さくともよい。予測単位は、それぞれのサブ符号化単位を、高さまたは幅方向に半分にした形態でもあり、高さ及び幅方向に四分した形態でもある。
Further, the prediction unit related to the
図8C及び図8Dは、本発明の一実施形態による予測単位及び変換単位を図示している。 8C and 8D illustrate predictive units and conversion units according to one embodiment of the present invention.
図8Cは図8Bに図示された最大符号化単位810に係わる予測単位の分割形態を図示し、図8Dは、最大符号化単位810の変換単位の分割形態を図示している。 FIG. 8C illustrates the division form of the prediction unit related to the maximum coding unit 810 shown in FIG. 8B, and FIG. 8D illustrates the division form of the conversion unit of the maximum coding unit 810.
図8Dを参照すれば、変換単位870の分割形態は、予測単位860と異なって設定されもする。 With reference to FIG. 8D, the division form of the conversion unit 870 may be set differently from the prediction unit 860.
例えば、深度1の符号化単位854に係わる予測単位が、高さを半分にした形態に選択されても、変換単位は、深度1の符号化単位854の大きさと等しい大きさに選択されもする。同様に、深度2の符号化単位814,850に係わる予測単位が、深度2の符号化単位814,850の高さを半分にした形態に選択されても、変換単位は、深度2の符号化単位814,850の本来の大きさと等しい大きさに選択されもする。
For example, even if the prediction unit related to the
予測単位よりさらに小さい大きさに変換単位が選択されてもよい。例えば、深度2の符号化単位852に係わる予測単位が、幅を半分にした形態に選択された場合に、変換単位は、予測単位よりさらに小さい大きさである高さ及び幅を半分にした形態に選択されもする。
The conversion unit may be selected to a size smaller than the prediction unit. For example, when the prediction unit related to the
図9は、本発明の一実施形態による動きベクトルを符号化する装置を図示している。 FIG. 9 illustrates an apparatus that encodes a motion vector according to an embodiment of the present invention.
図1の映像符号化装置100、または図4の映像符号化部400に含まれ、動きベクトルを符号化する装置が図9に詳細に図示されている。図9を参照すれば、本発明の一実施形態による動きベクトル符号化装置900は、動きベクトル推定部910、候補決定部920及び動きベクトル符号化部930を含む。
A device included in the
インター予測、すなわち、時間的予測を利用して符号化されたブロックを復号化するためには、現在ブロックと、参照ピクチャ内の類似したブロックとの相対的な位置差を示す動きベクトルについての情報が必要である。従って、映像符号化時に、動きベクトルについての情報を符号化し、ビットストリームに挿入するが、動きベクトルについての情報をそのまま符号化して挿入すれば、動きベクトルについての情報を符号化するためのオーバーヘッド(overhead)が増加し、映像データの圧縮率が低くなる。 In order to decode an encoded block using inter-prediction, or temporal prediction, information about a motion vector that indicates the relative position difference between the current block and a similar block in the reference picture. is required. Therefore, at the time of video coding, the information about the motion vector is encoded and inserted into the bit stream, but if the information about the motion vector is encoded and inserted as it is, the overhead for encoding the information about the motion vector ( overhead) increases and the compression rate of video data decreases.
従って、映像符号化では、現在ブロックの動きベクトルを予測し、予測の結果として生成された予測動きベクトル(motion vector predictor)と原本動きベクトルとの動きベクトル差(motion vector difference)のみを符号化してビットストリームに挿入することにより、動きベクトルについての情報も圧縮する。 Therefore, in video coding, the motion vector of the current block is predicted, and only the motion vector difference between the predicted motion vector (motion vector predictor) generated as a result of the prediction and the original motion vector is encoded. By inserting it into the bit stream, it also compresses the information about the motion vector.
動きベクトルの予測符号化には、明示モード(explicit mode)及び暗示モード(implicit mode)があってもよい。 The predictive coding of the motion vector may have an explicit mode and an implicit mode.
MPEG−4 H.264/MPEG−4 AVC(advanced video coding)のようなコーデックでは、現在ブロックの動きベクトルを予測するために、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルを利用する。現在ブロックに、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値(median)を、現在ブロックの予測動きベクトルとして利用する。インター予測を利用して符号化されたすべてのブロックの動きベクトルが、同一の方法を利用して予測されるから、現在ブロックの予測動きベクトルに係わる情報は、別途に符号化する必要がない。しかし、本発明による映像符号化装置100、または映像符号化部400は、動きベクトルをさらに正確に予測するために、前述の予測動きベクトルについての情報を別途に符号化しない暗示(implicit)モード、及び予測動きベクトルについての情報を符号化する明示モードをいずれも利用する。明示モードは、複数の予測動きベクトル候補のうち、現在ブロックの予測動きベクトルに利用された予測動きベクトルについての情報を符号化し、ビットストリームにシーケンスパラメータ、スライスパラメータまたはブロックパラメータとして挿入するモードを意味する。
MPEG-4 H. Codecs such as 264 / MPEG-4 AVC (advanced video coding) utilize the motion vector of a previously encoded block adjacent to the current block to predict the motion vector of the current block. The median of the motion vector of the previously encoded block adjacent to the left, top and top right of the current block is used as the predicted motion vector of the current block. Since the motion vectors of all the blocks encoded by using the inter-prediction are predicted by using the same method, the information related to the predicted motion vector of the current block does not need to be encoded separately. However, the
図9は、このような明示モードによって動きベクトルを符号化するとき、予測符号化を行う装置を図示する。動きベクトル推定部910は、現在ブロックの動きベクトルを推定する。現在ブロックと類似または同一のブロックを、少なくとも1つの参照ピクチャで検索し、検索結果に基づいて、現在ブロックと、検索された参照ブロックとの相対的な位置差である動きベクトルを推定する。SAD(sum of absolute difference)の計算に基づいて、現在ブロックと類似または同一のブロックを検索し、検索結果に基づいて、現在ブロックの動きベクトルを推定することができる。
FIG. 9 illustrates a device that performs predictive coding when a motion vector is coded in such an explicit mode. The motion
また、動きベクトル推定部910は、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルに基づいて、現在ブロックの動きベクトルを予測する。言い換えれば、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルを、予測動きベクトルの候補(candidates)として設定し、予測動きベクトルの候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。
The motion
MPEG−4 H.264/MPEG−4 AVCのようなコーデックでは、現在ブロックに、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値を、現在ブロックの予測動きベクトルとして利用する。符号化されるすべてのブロックが、以前に符号化されたブロックの動きベクトルを利用して予測され、1つの予測動きベクトルだけ利用するから、予測動きベクトルに係わる情報は、別途に符号化する必要がない。言い換えれば、インター予測を利用して符号化されたブロックの予測動きベクトルは、一つである。 MPEG-4 H. Codecs such as 264 / MPEG-4 AVC utilize the median motion vector of a previously encoded block adjacent to the current block on the left, top and top right as the predicted motion vector of the current block. Since all encoded blocks are predicted using the motion vector of the previously encoded block and only one predicted motion vector is used, the information related to the predicted motion vector needs to be encoded separately. There is no. In other words, the predicted motion vector of the block encoded using the inter-prediction is one.
しかし、現在ブロックの動きベクトルがさらに正確に予測されれば、動きベクトルをさらに高い圧縮率で符号化することができるが、このために、本発明の一実施形態は、複数の予測動きベクトルの候補のうち一つを選択し、現在ブロックの予測動きベクトルとして利用することにより、さらに高い圧縮率で、現在ブロックの動きベクトルを符号化する。以下では、複数の予測動きベクトルの候補を利用して、現在ブロックの動きベクトルを符号化する方法についてさらに詳細に説明する。 However, if the motion vector of the current block is predicted more accurately, the motion vector can be encoded with a higher compression ratio. For this purpose, one embodiment of the present invention has a plurality of predicted motion vectors. By selecting one of the candidates and using it as the predicted motion vector of the current block, the motion vector of the current block is encoded with a higher compression ratio. In the following, a method of encoding the motion vector of the current block by using a plurality of predicted motion vector candidates will be described in more detail.
図10A及び図10Bは、本発明の一実施形態による予測動きベクトルの候補を図示している。 10A and 10B illustrate candidates for predicted motion vectors according to an embodiment of the present invention.
図10Aを参照すれば、本発明の一実施形態による動きベクトルを予測方法は、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルのうち一つを、現在ブロックの予測動きベクトルとして利用することができる。現在ブロックの上部に隣接したブロックのうち、最も左側のa0ブロック、左側に隣接した最上部のb0ブロック、右側上部に隣接したcブロック、左側上部に隣接したdブロック及び左側下部に隣接したeブロックの動きベクトルを、いずれも現在ブロックの予測動きベクトルの候補として利用することができる。 Referring to FIG. 10A, the method of predicting a motion vector according to an embodiment of the present invention uses one of the motion vectors of a previously encoded block adjacent to the current block as the predicted motion vector of the current block. can do. Of the blocks adjacent to the top of the current block, the leftmost a0 block, the top b0 block adjacent to the left side, the c block adjacent to the upper right side, the d block adjacent to the upper left side, and the e block adjacent to the lower left side. Any of the motion vectors of can be used as candidates for the predicted motion vector of the current block.
本発明による映像の符号化方法及び復号化方法は、深度によって区分される多様な大きさの符号化単位を基に、映像符号化及び復号化を行うが、左側下部に隣接したeブロックの動きベクトルも、予測動きベクトル候補として利用することができる。 The video coding method and decoding method according to the present invention perform video coding and decoding based on coding units of various sizes classified by depth, and the movement of the e-block adjacent to the lower left side. Vectors can also be used as predictive motion vector candidates.
図8A及び図8Bを参照して説明すれば、現在ブロックが符号化単位820であるならば、現在ブロックの上部、左側上部、右側上部、左側及び左側下部の符号化単位814,816,818及び822は、現在ブロック以前に符号化される。従って、現在ブロックの左側下部に隣接したブロックの動きベクトルも、予測動きベクトル候補として利用することができる。
Explaining with reference to FIGS. 8A and 8B, if the current block is the
図10Bを参照すれば、現在ブロックの接したすべてのブロックの動きベクトルを、予測動きベクトルの候補として利用することができる。言い換えれば、上部に隣接したブロックのうち最も左側のa0ブロックだけではなく、上部に隣接したすべてのブロック(a0ないしaN)の動きベクトルを、予測動きベクトル候補として利用することができ、左側に隣接したブロックのうち、最上部のb0ブロックだけではなく、左側に隣接したすべてのブロック(b0ないしbN)の動きベクトルを、予測動きベクトル候補として利用することができる。 With reference to FIG. 10B, the motion vectors of all the blocks currently in contact with each other can be used as candidates for the predicted motion vector. In other words, not only the leftmost a0 block among the blocks adjacent to the upper part but also the motion vectors of all the blocks (a0 to aN) adjacent to the upper part can be used as predictive motion vector candidates, and are adjacent to the left side. Among the blocks, not only the uppermost b0 block but also the motion vectors of all the blocks (b0 to bN) adjacent to the left side can be used as the predicted motion vector candidates.
また、隣接したブロックの動きベクトルの中央値を、予測動きベクトル候補として利用することができる。言い換えれば、median(mv_a0,mv_b0,mv_c)を、現在ブロックの予測動きベクトル候補として利用することができる。ここで、mv_a0は、a0ブロックの動きベクトルであり、mv_b0は、b0ブロックの動きベクトルであり、mv_cは、cブロックの動きベクトルである。 In addition, the median motion vector of adjacent blocks can be used as a predicted motion vector candidate. In other words, median (mv_a0, mv_b0, mv_c) can be used as a predicted motion vector candidate for the current block. Here, mv_a0 is a motion vector of a0 block, mv_b0 is a motion vector of b0 block, and mv_c is a motion vector of c block.
ただし、現在ブロックの大きさ及び隣接したブロックの大きさによって、現在ブロックの予測動きベクトルの候補を制限することができるが、図10Cないし図10Eを参照して詳細に説明する。 However, the candidates for the predicted motion vector of the current block can be limited by the size of the current block and the size of the adjacent block, which will be described in detail with reference to FIGS. 10C to 10E.
図10Cないし図10Eは、本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示している。 10C to 10E illustrate blocks of various sizes adjacent to the current block according to one embodiment of the invention.
前述のように、本発明による映像の符号化方法及び復号化方法は、深度によって決定される多様な大きさの符号化単位及び予測単位を利用して、映像を符号化する。従って、現在ブロックに隣接したブロックの大きさも多様であるが、現在ブロックの大きさと、一部隣接したブロックとの大きさが大きく異なっていれば、大きさが異なる一部隣接したブロックの動きベクトルは、予測動きベクトル候補として利用しないこともある。 As described above, the video coding and decoding methods according to the present invention encode video using coding units and prediction units of various sizes determined by depth. Therefore, the sizes of the blocks adjacent to the current block are also various, but if the size of the current block and the size of the partially adjacent block are significantly different, the motion vector of the partially adjacent blocks with different sizes May not be used as a predicted motion vector candidate.
図10Cを参照すれば、現在ブロック1010の上部に隣接したブロック1014ないし1018は、現在ブロック1010の大きさより小さいブロックである。現在ブロック1010と大きさが同一である隣接したブロック1012の動きベクトルが、現在ブロック1010の動きベクトルと同一または類似した可能性が高いことがあるので、動きベクトル推定部910は、同一大きさの隣接したブロック1012の動きベクトルのみを予測動きベクトル候補として利用することができる。
Referring to FIG. 10C, the
大きさが同じではないとしても、所定サイズ以上の隣接したブロックの動きベクトルだけ予測動きベクトル候補として利用することができる。例えば、現在ブロック1010の大きさと比較し、1/4大きさ以上のブロック(1012及び1018)の動きベクトルのみを、予測動きベクトル候補として利用することができる。
Even if the sizes are not the same, only motion vectors of adjacent blocks of a predetermined size or larger can be used as predicted motion vector candidates. For example, only motion vectors of blocks (1012 and 1018) having a size of 1/4 or more of the size of the
図10Dを参照すれば、現在ブロック1020の左側に隣接したブロック1022の大きさは、現在ブロックの16倍であり、著しい大きさの違いが存在する。著しい大きさの違いによって、左側に隣接したブロック1022の動きベクトルが、現在ブロック1020の動きベクトルと同一または類似した可能性が低いことがある。従って、左側に隣接したブロック1022の動きベクトルは、現在ブロック1020の予測動きベクトル候補として利用せず、上部に隣接したブロック1024及び左側上部に隣接したブロック1026の動きベクトルだけ予測動きベクトル候補として利用することができる。
Referring to FIG. 10D, the size of the
図10Eを参照すれば、現在ブロック(1030の大きさが、隣接したすべてのブロック1031ないし1037の大きさより大きい。このとき、隣接したすべてのブロック1031ないし1037の動きベクトルを、いずれも現在ブロック1030の予測動きベクトル候補として利用すれば、現在ブロック1030の予測動きベクトルの候補の個数があまりにも多い。現在ブロック1030と、隣接したブロック1031ないし1037とのサイズ差が大きいほど、予測動きベクトルの候補の個数はさらに多くなる。従って、本発明の一実施形態による動きベクトル推定部910は、隣接したブロックのうち一部ブロックの動きベクトルは、現在ブロック1030の予測動きベクトル候補として利用しない。
Referring to FIG. 10E, the current block (the size of 1030 is larger than the size of all
例えば、図10Eに図示された実施形態で、左側下部に隣接したブロック1031及び右側上部に隣接したブロック1037の動きベクトルは、現在ブロック1030の予測動きベクトル候補として利用しないこともある。
For example, in the embodiment illustrated in FIG. 10E, the motion vectors of
これをさらに一般化し、現在ブロック1030の大きさが、所定サイズ以上であるならば、隣接したブロックのうち、特定方向に隣接したブロックの動きベクトルは、現在ブロック1030の予測動きベクトル候補として利用しないこともある。
This is further generalized, and if the size of the
図11Aないし図11Cは、本発明の他の実施形態による予測動きベクトルの候補を図示している。 11A to 11C illustrate candidates for predicted motion vectors according to other embodiments of the present invention.
図11Aは、本発明の一実施形態によるBピクチャ(bi-directional predictive picture)の予測動きベクトル候補を決定する方法を図示している。現在ブロックを含む現在ピクチャが、双方向予測を行うBピクチャであるとき、時間的距離(temporal distance)に基づいて生成された動きベクトルが、予測動きベクトル候補であってもよい。 FIG. 11A illustrates a method of determining a predictive motion vector candidate for a B-picture (bi-directional predictive picture) according to an embodiment of the present invention. When the current picture including the current block is a B picture that performs bidirectional prediction, the motion vector generated based on the temporal distance may be a predicted motion vector candidate.
現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補(mv_temporal)は、時間的に先行するピクチャ1112と同一位置(colocated)のブロック1120の動きベクトルを利用して決定される。例えば、現在ブロック1100と同一位置のブロック1120の動きベクトルmv_colAが、現在ピクチャ1110の時間的に後行するピクチャ1114の検索されたブロック1122に対して生成されれば、現在ブロック1100の予測動きベクトルの候補であるmv_L0A及びmv_L1Aは、次のように決定される。
The predicted motion vector candidate (mv_temporal) of the
mv_L1A=(t1/t2)*mv_colA
mv_L0A=mv_L1A−mv_colA
ここで、mv_L0Aは、時間的に先行するピクチャ1112に係わる現在ブロック1110の予測動きベクトル候補を意味し、mv_L1Aは、時間的に後行するピクチャ1114に係わる現在ブロック1110の予測動きベクトル候補を意味する。
mv_L1A = (t1 / t2) * mv_colA
mv_L0A = mv_L1A-mv_colA
Here, mv_L0A means a predicted motion vector candidate of the
図11Aに図示された実施形態では、Bピクチャである現在ピクチャ1110が、時間的に先行するピクチャ1112と、時間的に後行するピクチャ1114との間に存在する。このとき、同一位置のブロック1120の動きベクトルmv_colAが、現在ピクチャ1110の時間的に後行するピクチャ1114に対して生成されれば、mv_L1Aに基づいて、現在ブロック1100の動きベクトルをさらに正確に予測することができる。言い換えれば、mv_colAが、図11Aに図示された方向と反対方向の動きベクトルである場合、すなわち、時間的に先行するピクチャ1112以前の他のピクチャに対して生成された場合より、mv_colAが、図11Aに図示された方向の動きベクトルである場合、現在ブロック1100の動きベクトルをさらに正確に予測することができる。
In the embodiment illustrated in FIG. 11A, the
従って、現在ブロック1110から同一位置のブロック1120への方向が、List0方向であるならば、同一位置のブロック1120の動きベクトルmv_colAは、List1方向であってこそ、図11Aに図示されたように、現在ピクチャ1110が、先行するピクチャ1112と、後行するピクチャ1114との間に存在する可能性が高くなり、mv_colAに基づいて、現在ブロック1100の動きベクトルをさらに正確に予測することができる。
Therefore, if the direction from the
また、図11Aに図示されたピクチャ1110ないし1114は、経時的に配列されているので、POC(picture order count)に基づいて、現在ブロックの予測動きベクトル候補(mv_temporal)を生成することができる。現在ブロックの参照するピクチャが、図11Aに図示された隣接したピクチャ1112及び1114ではない他のピクチャであってもよいので、POCに基づいて、現在ブロックの予測動きベクトル候補を生成する。
Further, since the
例えば、現在ピクチャのPOCがCurrPOCであり、現在ピクチャが参照するピクチャのPOCがCurrRefPOCであるならば、現在ブロックの予測動きベクトル候補は、次のように生成されもする。 For example, if the POC of the current picture is CurrPOC and the POC of the picture currently referenced by the picture is CurrRefPOC, the predicted motion vector candidates for the current block are also generated as follows.
Scale=(CurrPOC−CurrRefPOC)/(ColPOC−ColRefPOC)
mv_temporal=Scale*mv_colA
ここで、ColPOCは、同一位置のブロック1120が含まれている時間的に先行するピクチャ1112のPOCであり、ColRefPOCは、同一位置のブロック1120が参照するブロック1122が含まれている時間的に後行するピクチャ1114のPOCである。
Scale = (CurrPOC-CurRefPOC) / (ColPOC-ColRefPOC)
mv_temporal = Scale * mv_colA
Here, the ColPOC is the POC of the
図11Bは、本発明の他の実施形態によるBピクチャの予測動きベクトル候補を生成する方法を図示している。図11Aに図示された方法と比較すれば、時間的に後行するピクチャ1114に、現在ブロック1100と同一位置のブロックが存在するという点が異なる。
FIG. 11B illustrates a method of generating a predicted motion vector candidate for a B picture according to another embodiment of the present invention. Compared with the method illustrated in FIG. 11A,
図11Bを参照すれば、現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補は、時間的に後行するピクチャ1114と同一位置のブロック1130の動きベクトルを利用して生成されもする。例えば、現在ブロック1100と同一位置のブロック1130の動きベクトルmv_colBが、現在ピクチャ1110の時間的に先行するピクチャ1112の検索されたブロック1132に対して生成されれば、現在ブロック1100の予測動きベクトルの候補であるmv_L0B及びmv_L1Bは、次のように生成されもする。
Referring to FIG. 11B, the predicted motion vector candidate of the
mv_L0B=(t3/t4)*mv_colB
mv_L1B=mv_L0B−mv_colB
ここで、mv_L0Bは、時間的に先行するピクチャ1112に係わる現在ブロック1110の予測動きベクトルを意味し、mv_L1Bは、時間的に後行するピクチャ1114に係わる現在ブロック1100の予測動きベクトル候補を意味する。
mv_L0B = (t3 / t4) * mv_colB
mv_L1B = mv_L0B-mv_colB
Here, mv_L0B means a predicted motion vector of the
図11Aと同様に、図11Bに図示された実施形態でも、Bピクチャである現在ピクチャ1110が、時間的に先行するピクチャ1112と、時間的に後行するピクチャ1114との間に存在する。従って、同一位置のブロック1130の動きベクトルmv_colBが、時間的に先行するピクチャ1112に対して生成されれば、mv_L0Bに基づいて、現在ブロック1100の動きベクトルをさらに正確に予測することができる。言い換えれば、mv_colBが、図11Bに図示された方向と反対方向の動きベクトルである場合、すなわち、時間的に後行するピクチャ1114後の他のピクチャに対して生成された場合より、mv_colBが図11Bに図示された方向の動きベクトルである場合、現在ブロック1100の動きベクトルをさらに正確に予測することができる。
Similar to FIG. 11A, also in the embodiment illustrated in FIG. 11B, the
従って、現在ブロック1110から、同一位置のブロック1130への方向がList1方向であるならば、同一位置のブロック1130の動きベクトルmv_colBは、List0方向であってこそ、図11Bに図示されたように、現在ピクチャ1110が、先行するピクチャ1112と、後行するピクチャ1114との間に存在する可能性が高くなり、mv_colBに基づいて、現在ブロック1100の動きベクトルをさらに正確に予測することができる。
Therefore, if the direction from the
また、現在ブロックが参照するピクチャが、図11Bに図示された隣接したピクチャ1112及び1114ではない他のピクチャであってもよいので、POCに基づいて、現在ブロックの予測動きベクトル候補を生成する。
Further, since the picture referred to by the current block may be another picture other than the
例えば、現在ピクチャのPOCがCurrPOCであり、現在ピクチャが参照するピクチャのPOCがCurrRefPOCであるならば、現在ブロックの予測動きベクトル候補は、次のように生成されもする。 For example, if the POC of the current picture is CurrPOC and the POC of the picture currently referenced by the picture is CurrRefPOC, the predicted motion vector candidates for the current block are also generated as follows.
Scale=(CurrPOC−CurrRefPOC)/(ColPOC−ColRefPOC)
mv_temporal=Scale*mv_colB
ここで、ColPOCは、同一位置のブロック1130が含まれている時間的に後行するピクチャ1114のPOCであり、ColRefPOCは、同一位置のブロック1130が参照するブロック1132が含まれている時間的に先行するピクチャ1112のPOCである。
Scale = (CurrPOC-CurRefPOC) / (ColPOC-ColRefPOC)
mv_temporal = Scale * mv_colB
Here, the ColPOC is the POC of the
図11Cは、本発明の一実施形態によるPピクチャ(predictive picture)の予測動きベクトル候補を図示している。図11Cを参照すれば、現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補は、時間的に先行するピクチャ1112と同一位置のブロック1140の動きベクトルを利用して決定される。例えば、現在ブロック1100と同一位置のブロック1140の動きベクトルmv_colCが、他の時間的に先行するピクチャ1116の検索されたブロック1142に対して生成されれば、現在ブロック1100の予測動きベクトル候補であるmv_L0Cは、次のように決定される。
FIG. 11C illustrates a predictive motion vector candidate for a P picture (predictive picture) according to an embodiment of the present invention. With reference to FIG. 11C, the predicted motion vector candidate of the
mv_L0C=(t6/t5)*mv_colC
図11A及び図11Bと係わって説明したように、POCに基づいて、mv_L0Cを決定することもできる。現在ピクチャ1110のPOC、現在ピクチャ1110が参照するピクチャのPOC、時間的に先行するピクチャ1112のPOC及び他の時間的に先行するピクチャ1116のPOCに基づいて、mv_L0Cを決定することができる。
mv_L0C = (t6 / t5) * mv_colC
As described in connection with FIGS. 11A and 11B, mv_L0C can also be determined based on POC. The mv_L0C can be determined based on the POC of the
現在ピクチャ1110がPピクチャであるので、現在ブロック1100の予測動きベクトル候補は、図11A及び図11Bと異なり、一つだけ決定される。
Since the
また、図11A及び図11Bで、時間的距離に基づいて生成された予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用するためには、同一位置のブロック1120及び1130のうちいずれのブロックを利用して予測動きベクトル候補を生成するかを示す情報が、共に符号化されなければならないが、この情報は、スライスパラメータまたはシーケンスパラメータとして、スライスヘッダまたはシーケンスヘッダに含まれる。
Further, in FIGS. 11A and 11B, in order to use the predicted motion vector candidate generated based on the temporal distance for predicting the motion vector of the current block, any of the
まとめれば、図10A及び図10B、図11Aないし図11Cによって、予測動きベクトルの候補の集合Cは、次の通りある。 In summary, according to FIGS. 10A and 10B, FIGS. 11A to 11C, the set C of candidates for the predicted motion vector is as follows.
C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1,…,mv_aN,mv_b0,mv_b1,…,mv_bN,mv_c,mv_d,mv_e,mv_temporal}
または、集合Cは、予測動きベクトルの候補の個数を減らした集合であってもよい。
C = {median (mv_a0, mv_b0, mv_c), mv_a0, mv_a1, ..., mv_aN, mv_b0, mv_b1, ..., mv_bN, mv_c, mv_d, mv_e, mv_temporal}
Alternatively, the set C may be a set in which the number of candidates for the predicted motion vector is reduced.
C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}
ここで、mv_xは、xブロックの動きベクトルを意味し、median()は、中央値を意味し、mv_temporalは、図11Aないし図11Cと係わって説明した時間的距離を利用して生成された予測動きベクトル候補を意味する。mv_a’は、mv_a0、mv_a1、…、mv_aNのうち有効な最初の動きベクトルを意味する。例えば、a0ブロックが、イントラ予測を利用して符号化されたか、あるいは現在ブロックと異なるピクチャを参照したのであれば、a0の動きベクトルであるmv_a0は、有効ではないので、mv_a’=mv_a1になり、a1ブロックの動きベクトルも有効ではない場合には、mv_a’=mv_a2である。同様に、mv_b’は、mv_b0、mv_b1、…、mv_bNのうち有効な最初の動きベクトルを意味し、mv_c’は、mv_c、mv_d、mv_eのうち有効な最初の動きベクトルを意味する。
C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}
Here, mv_x means the motion vector of the x block, median () means the median value, and mv_temporal is the prediction generated by using the temporal distance described in connection with FIGS. 11A to 11C. It means a motion vector candidate. mv_a'means the first valid motion vector of mv_a0, mv_a1, ..., Mv_aN. For example, if the a0 block is encoded using intra-prediction or refers to a picture different from the current block, the motion vector of a0, mv_a0, is not valid, so mv_a'= mv_a1. , When the motion vector of the a1 block is also not valid, mv_a'= mv_a2. Similarly, mv_b'means the first valid motion vector of mv_b0, mv_b1, ..., Mv_bN, and mv_c'means the first valid motion vector of mv_c, mv_d, mv_e.
現在ブロックに隣接したブロックの動きベクトルのうち、現在ブロックと異なるピクチャを参照するブロックの動きベクトルは、現在ブロックの動きベクトルを効率的に予測することができない。従って、予測動きベクトル候補の集合Cで、現在ブロックと異なるピクチャを参照するブロックの動きベクトルを除くことができる。 Of the motion vectors of the blocks adjacent to the current block, the motion vector of the block that refers to a picture different from the current block cannot efficiently predict the motion vector of the current block. Therefore, in the set of predicted motion vector candidates C, the motion vector of a block that refers to a picture different from the current block can be excluded.
動きベクトル符号化装置900が、明示モードによって動きベクトルを符号化するときには、C集合のうち、いずれの予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用したかを指示する(signalling)情報も共に符号化する。言い換えれば、動きベクトル符号化装置900が動きベクトルを符号化するとき、C集合の元素、すなわち、予測動きベクトルの候補それぞれに対応する二進数を割り当て、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補に対応する二進数も共に符号化する。
When the motion
C集合の元素のうち一つを特定するために、それぞれの予測動きベクトル候補に対応する二進数を割り当て、二進数を出力するから、C集合の元素の個数が少ないほど、さらに少ないビットの二進数で、C集合の元素を特定することができる。 In order to identify one of the elements of the C set, a binary number corresponding to each predicted motion vector candidate is assigned and the binary number is output. Therefore, the smaller the number of elements in the C set, the smaller the number of bits. The element of the C set can be specified by the binary number.
従って、C集合で重複される予測動きベクトル候補があれば、重複される予測動きベクトル候補は、C集合から除外され、二進数を割り当てすることができる。例えば、C集合が、前述のように、C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}であるとき、mv_a’,mv_b’及びmv_c’がいずれも同一であるならば、C集合を、C={mv_a’,mv_temporal}のように、2つの元素でもって決定し、二進数を割り当てることができる。重複される予測動きベクトル候補を除外する前に、C集合の5個の元素を3ビットを利用して特定することができるならば、重複される予測動きベクトル候補を除外した後には、2個の元素を、1ビットを利用して特定することができる。 Therefore, if there are overlapping predicted motion vector candidates in the C set, the duplicated predicted motion vector candidates are excluded from the C set and a binary number can be assigned. For example, when the C set is C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal} as described above, mv_a', mv_b' and mv_c' are If they are all the same, the C set can be determined by two elements, such as C = {mv_a', mv_temporal}, and a binary number can be assigned. If the five elements of the C set can be identified using 3 bits before excluding duplicate predicted motion vector candidates, then two after excluding duplicate predicted motion vector candidates. The element of can be specified by using 1 bit.
重複される予測動きベクトル候補を除外する代わりに、重複される予測動きベクトル候補が、現在ブロックの予測動きベクトルとして決定される確率を高めるために、所定の加重値(weight)を付加することもできる。前述の例で、mv_a’,mv_b’及びmv_c’がいずれも同一であり、mv_a’だけC集合に含まれているので、mv_a’に所定の加重値を付け加え、mv_a’が現在ブロックの動きベクトルを予測するのに利用される確率を高めることができる。 Instead of excluding duplicate predicted motion vector candidates, a predetermined weight may be added to increase the probability that the duplicate predicted motion vector candidates will be determined as the predicted motion vector of the current block. can. In the above example, mv_a', mv_b', and mv_c'are all the same, and only mv_a'is included in the C set. Therefore, a predetermined weighted value is added to mv_a', and mv_a'is the motion vector of the current block. Can be used to increase the probability of being used to predict.
また、予測動きベクトル候補が一つである場合には、予測動きベクトルの候補のうち一つを特定するための二進数を符号化しないこともある。例えば、C集合が、C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1,…,mv_aN,mv_b0,mv_b1,…,mv_bN,mv_c,mv_d,mv_e,mv_temporal}が、a0ないしaNブロック、b0ないしbNブロック、cブロック、dブロック、eブロックがいずれもイントラ予測されたブロックであるならば、C集合は、C={mv_temporal}であるので、実質的に1つの元素しか含まない。従って、この場合、動きベクトル符号化装置900は、予測動きベクトル候補のうち一つを特定するための二進数を符号化しないこともある。
Further, when there is only one predicted motion vector candidate, the binary number for specifying one of the predicted motion vector candidates may not be encoded. For example, the C set is C = {median (mv_a0, mv_b0, mv_c), mv_a0, mv_a1, ..., mv_aN, mv_b0, mv_b1, ..., mv_bN, mv_c, mv_d, mv_e, mv_temporal}. If the bN block, c block, d block, and e block are all intra-predicted blocks, the C set contains C = {mv_temporal}, and therefore contains substantially only one element. Therefore, in this case, the motion
前述のすべての予測動きベクトルの候補以外に、他の動きベクトルが予測動きベクトルの候補として利用されることは、本発明が属する技術分野で当業者であるならば、容易に理解することができるであろう。 It can be easily understood by those skilled in the art to which the present invention belongs that other motion vectors other than all the candidates for the predicted motion vector described above are used as candidates for the predicted motion vector. Will.
また、本発明の他の実施形態によれば、候補決定部920は、予測動きベクトルの候補の個数を減らすことができる。
Further, according to another embodiment of the present invention, the
前述のように、複数の予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために、別途の情報が符号化されてビットストリームに含まれる。従って、C集合の元素の個数が少ないほど、C集合で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために必要な情報が、少ないビットで符号化されもする。このために、候補決定部920は、所定の評価関数を利用して、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を選択的に除外することができる。図12を参照しつつ詳細に説明する。
As mentioned above, of the multiple predictive motion vector candidates, separate information is encoded and included in the bitstream to identify the predictive motion vector candidates used to predict the motion vector of the current block. Is done. Therefore, the smaller the number of elements in the C set, the less bits the information needed to identify the predicted motion vector candidates currently used to predict the motion vector of the block in the C set. do. Therefore, the
図12は、本発明の一実施形態による予測動きベクトルの候補を減らす方法を図示している。図12では、C集合の元素の個数が三つであり、MVP1、MVP2及びMVP3が、C集合の元素であり、現在ブロックの動きベクトルがMVである場合を仮定している。現在ブロックの動きベクトルと最も類似した予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用されるので、MVと最も類似したMVP3が、現在ブロックの動きベクトルを予測するのに利用される。 FIG. 12 illustrates a method of reducing the number of predicted motion vector candidates according to an embodiment of the present invention. In FIG. 12, it is assumed that the number of elements in the C set is three, MVP1, MVP2 and MVP3 are the elements in the C set, and the motion vector of the block is currently MV. Since the predicted motion vector candidates most similar to the motion vector of the current block are used to predict the motion vector of the current block, MVP3 most similar to the MV is used to predict the motion vector of the current block. NS.
従って、動きベクトル符号化装置900で、動きベクトルについての情報として符号化される現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトル(以下、「実際動きベクトル差(motion vector difference)」とする)は、(2,0)である。MVが(5,0)であり、MVP3が(3,0)であるので、実際動きベクトル差は、(2,0)である。
Therefore, in the motion
候補決定部920は、このような実際動きベクトル差及び所定の評価関数を利用して、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を選択的に除外する。さらに詳細には、実際動きベクトル差と、所定の予測動きベクトル候補とを利用して、仮想の動きベクトルを生成し、生成された仮想の動きベクトルと、全体候補との動きベクトル差(以下、「仮想の動きベクトル差」)を全体候補について生成する。実際動きベクトル差と、所定の予測動きベクトル候補とを加算して仮想の動きベクトルを生成し、生成された仮想の動きベクトルと、全体候補との動きベクトル差を計算する。実際動きベクトル差と、全体候補それぞれについて計算された仮想の動きベクトル差とを比較することにより、所定の予測動きベクトル候補を、予測動きベクトルの全体候補から選択的に除外することができる。
The
図12を参照して詳細に説明すれば、まず候補決定部920は、予測動きベクトル候補のうち一つであるMVP1を、全体候補から除外するか否かを判断する。
To explain in detail with reference to FIG. 12, first, the
MVP1に基づいた仮想の動きベクトルと異なる予測動きベクトル候補を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、MVP1は、現在ブロックの動きベクトルを予測するのに利用されない。例えば、MVP1と、実際動きベクトル差とを加算して生成された仮想の動きベクトルからMVP3を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、MVP3が、MVP1よりさらに正確に仮想の動きベクトルを予測したことにより、この場合、MVP1は、予測動きベクトルのなることができないということは明白であるからである。 If the virtual motion vector difference generated by subtracting the predicted motion vector candidates different from the virtual motion vector based on MVP1 is smaller than the actual motion vector difference, MVP1 is used to predict the motion vector of the current block. Not done. For example, if the virtual motion vector difference generated by subtracting MVP3 from the virtual motion vector generated by adding the MVP1 and the actual motion vector difference is smaller than the actual motion vector difference, the MVP3 is larger than the MVP1. By predicting the virtual motion vector more accurately, it is clear that the MVP1 cannot be the predicted motion vector in this case.
図12で、MVP1と実際動きベクトル差とを加算すれば、MVP1に基づいた仮想の動きベクトルは、(2,0)である。従って、MVP1に基づいて、仮想の動きベクトルを生成したとき、MVP2に係わる仮想の動きベクトル差は、(2,0)であり、MVP3に係わる仮想の動きベクトル差は、(−1,0)である。このとき、MVP3に係わる仮想の動きベクトル差である(−1,0)の大きさは、実際動きベクトル差の大きさである(2,0)より小さいので、MVP1は、現在ブロックの予測動きベクトルになることができない。従って、MVP1を予測動きベクトルの全体候補から除外することができる。言い換えれば、前述のC集合で、MVP1に対応する予測動きベクトル候補は、除外されてもよい。 In FIG. 12, if the MVP1 and the actual motion vector difference are added, the virtual motion vector based on the MVP1 is (2,0). Therefore, when a virtual motion vector is generated based on MVP1, the virtual motion vector difference related to MVP2 is (2,0), and the virtual motion vector difference related to MVP3 is (-1,0). Is. At this time, since the magnitude of the virtual motion vector difference (-1,0) related to the MVP3 is smaller than the magnitude of the actual motion vector difference (2,0), the MVP1 is the predicted motion of the current block. Can't be a vector. Therefore, MVP1 can be excluded from the overall candidates for the predicted motion vector. In other words, in the above-mentioned C set, the predicted motion vector candidates corresponding to MVP1 may be excluded.
このとき、MVP1自体について計算された仮想の動きベクトル差は、(2,0)であり、これは、実際動きベクトル差と常に同一であるので、実際動きベクトルの大きさより小さいなることはない。従って、予測動きベクトルの全体候補それぞれについて仮想の動きベクトル差を計算するとき、MVP1自体に係わる仮想の動きベクトル差は計算しない。 At this time, the virtual motion vector difference calculated for the MVP1 itself is (2,0), which is always the same as the actual motion vector difference, and therefore cannot be smaller than the magnitude of the actual motion vector. Therefore, when calculating the virtual motion vector difference for each of the overall candidates of the predicted motion vector, the virtual motion vector difference related to the MVP1 itself is not calculated.
MVP1の除外いかん判断が完了すれば、候補決定部920は、MVP2を予測動きベクトルの全体候補から除外するか否かを判断する。MVP2を実際動きベクトル差と加算すれば、MVP2に基づいた仮想の動きベクトルは、(2,0)である。従って、MVP1に係わる仮想の動きベクトル差は、(2,0)であり、MVP3に係わる仮想の動きベクトル差は、(−1,0)である。MVP3に係わる仮想の動きベクトル差の大きさが、実際動きベクトル差の大きさより小さいので、MVP1と同様に、MVP2も、予測動きベクトルの全体候補から除外される。MVP2の除外いかんを判断するとき、MVP1に係わる仮想の動きベクトル差と、実際動きベクトル差との比較は、選択的である。MVP1は、すでに現在ブロックの予測動きベクトルではないということが明白であると判断されたので、MVP1を除外した残りの候補それぞれに係わる仮想の動きベクトル差を、実際動きベクトル差と比較することができる。
When the determination of exclusion of MVP1 is completed, the
また、候補決定部920は、MVP3についても除外いかんを判断する。MVP3に基づいた仮想の動きベクトルは、実際動きベクトルと同一であり、実際動きベクトルから、他の予測動きベクトル候補(すなわち、MVP1またはMVP2)を減算しても、実際動きベクトル差の大きさより小さい仮想の動きベクトル差が発生することがないので、MVP3は、予測動きベクトルの全体候補から除外されない。また、本発明の他の実施形態によれば、現在ブロックの動きベクトルを予測するのに利用されると決定されたMVP3は、予測動きベクトルの全体候補から除外されないことが明白であるので、候補決定部920は、現在ブロックの動きベクトルを予測するのに利用されると決定された予測動きベクトル候補については、除外いかんをスキップ(skip)することができる。
The
要するに、候補決定部920は、予測動きベクトルの全体候補のうち一つである第2予測動きベクトルの除外いかんを決定するが、第2予測動きベクトルと、実際動きベクトル差とを加算して、仮想の動きベクトルを生成し、仮想の動きベクトルと異なる予測動きベクトルの差ベクトルを、全体候補それぞれについて計算し、複数の仮想の動きベクトル差を生成する。複数の仮想の動きベクトル差のうち、実際動きベクトル差より大きさが小さい仮想の動きベクトル差が少なくとも一つ存在するならば、第2予測動きベクトルは、現在ブロックの予測動きベクトルではないことが明白であるので、予測動きベクトルの全体候補から除外する。
In short, the
また、候補決定部920は、このような除外いかんについての判断を、予測動きベクトルの全体候補それぞれについて反復することにより、予測動きベクトルの候補の全体個数、すなわち、C集合の元素の個数を減らすことができる。C集合の全体予測動きベクトルの候補の整列順序によって、順に除外いかんを判断する。例えば、C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}であるとき、median(mv_a’,mv_b’,mv_’)の除外いかんを判断し、判断が終われば、mv_a’の除外いかんを判断する。その後、mv_b’の除外いかんを判断する。C集合の整列順序によって、mv_temporalまで除外いかん判断を反復する。
Further, the
反復して判断するとき、以前判断過程で除外された候補については、仮想の動きベクトル差と、実際動きベクトル差との比較を省略することができることは、MVP2の除外いかんの判断と係わって説明した通りである。 It is explained in relation to the judgment of MVP2 exclusion that it is possible to omit the comparison between the virtual motion vector difference and the actual motion vector difference for the candidates excluded in the previous judgment process when making an iterative judgment. That's right.
また、C集合は、図13Aないし図13Dと係わって後述するとように、所定の基準によって再整列されるが、C集合が再整列された場合には、再整列された順序によって、除外いかんについての判断を反復する。 Further, the C set is rearranged according to a predetermined criterion as described later in relation to FIGS. 13A to 13D, but when the C set is rearranged, the exclusion is performed according to the rearranged order. Repeat the judgment of.
図12と係わって説明した仮想の動きベクトル差と、実際動きベクトル差との大きさ比較は、一次元動きベクトルはもとより、二次元動きベクトルについても適用される。言い換えれば、x座標及びy座標で定義される仮想の動きベクトル差の大きさと、実際動きベクトル差の大きさとを比較し、所定の予測動きベクトルの候補を全体候補から選択的に除外することができる。 The magnitude comparison between the virtual motion vector difference and the actual motion vector difference described with reference to FIG. 12 is applied not only to the one-dimensional motion vector but also to the two-dimensional motion vector. In other words, the magnitude of the virtual motion vector difference defined by the x-coordinate and the y-coordinate can be compared with the magnitude of the actual motion vector difference, and a predetermined predicted motion vector candidate can be selectively excluded from the overall candidates. can.
しかし、仮想の動きベクトル差と、実際動きベクトル差との比較の基準(criterion)である大きさは、例示的なものであり、多様な基準が、仮想の動きベクトル差と、実際動きベクトル差との比較に利用されもする。所定基準に基づいて、仮想の動きベクトル差に係わる値と、実際動きベクトル差に係わる値とを生成する評価関数を「A」とするとき、次の数式(1)によって、仮想の動きベクトル差と、実際動きベクトル差とを比較することができる。 However, the magnitude that is the criterion for comparison between the virtual motion vector difference and the actual motion vector difference is an example, and various criteria are the virtual motion vector difference and the actual motion vector difference. It is also used for comparison with. When the evaluation function that generates the value related to the virtual motion vector difference and the value related to the actual motion vector difference is "A" based on a predetermined standard, the virtual motion vector difference is calculated by the following mathematical formula (1). And the actual motion vector difference can be compared.
A(mvx+MVD−mvy)<A(MVD) (1)
候補決定部920は、予測動きベクトルの全体候補のうち一つである「mvx」を予測動きベクトルの全体候補から除外するか否かを判断するために、数式(1)を満足する「mvy」が全体候補中に少なくとも一つ存在するか否かを判断する。数式(1)で「MVD」は、実際動きベクトル差を意味する。「mvx」の除外いかんを判断するために、「mvx」に基づいた仮想の動きベクトルである「mvx+MVD」と異なる予測動きベクトル候補である「mvy」間の仮想の動きベクトル差である「mvx+MVD−mvy」を、所定の評価関数「A」を利用して評価した値である「A(mvx+MVD−mvy)」を計算し、計算の結果として生成された値を、実際動きベクトル差に係わる値である「A(MVD)」と比較する。全体候補のうち、「mvx」を除外した他の予測動きベクトル候補を、「mvy」に反復して代入し、数式(1)を満足する「mvy」が全体候補の中に少なくとも一つ存在するか否かを判断する。
A (mvx + MVD-mvy) <A (MVD) (1)
The
前述のように、「A」によって評価される仮想の動きベクトル差及び実際動きベクトル差は、x座標及びy座標で定義されもする。この場合、評価関数は、次の数式(2)のように、x座標を評価した値及びy座標を評価した値の和として定義されもする。 As described above, the virtual motion vector difference and the actual motion vector difference evaluated by "A" are also defined by the x-coordinate and the y-coordinate. In this case, the evaluation function is also defined as the sum of the evaluated values of the x-coordinate and the evaluated value of the y-coordinate, as in the following mathematical formula (2).
A(p,q)=f(p)+f(q) (2)
仮想の動きベクトル差または実際動きベクトル差が、x座標「p」及びy座標「q」として定義されるとき、それぞれの座標値を所定の関数「f」に代入し、代入した結果の和によって、評価関数「A」が定義されもする。
A (p, q) = f (p) + f (q) (2)
When the virtual motion vector difference or the actual motion vector difference is defined as the x-coordinate "p" and the y-coordinate "q", the respective coordinate values are assigned to the predetermined function "f", and the sum of the assigned results is used. , The evaluation function "A" is also defined.
本発明の一実施形態によれば、数式(1)及び数式(2)の評価関数「A」は、仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する評価関数である。候補決定部920は、仮想の動きベクトル差及び実際動きベクトル差をエントロピ符号化した結果を、評価関数「A」に基づいて推定し、推定結果に基づいて、予測動きベクトルの候補の個数を減らすことができる。数式(3)を参照して詳細に説明する。
According to one embodiment of the present invention, the evaluation function "A" of the mathematical formulas (1) and (2) is the result of entropy-encoding the virtual motion vector difference and the result of entropy-coding the actual motion vector difference. It is an evaluation function that estimates. The
Length=1;
Temp =(val<=0(−val<<1)+1:(val<<1);
While(1!=Temp){
Temp>>=1;
Length+=2;
}
f(val)=Length (3)
x座標値またはy座標値についてエントロピ符号化結果を推定する関数「f」は、数式(3)のように定義されもする。可変長符号化(variable length coding)(例えば、ユニバーサル可変長符号化(universal variable length coding)結果を予測する関数「f」に、x座標値またはy座標値である「val」が入力されれば、前記数式(3)によって、「Length」が計算される。
Length = 1;
Temp = (val << = 0 (-val << 1) + 1: (val <<1);
While (1! = Temp) {
Temp >> = 1;
Length + = 2;
}
f (val) = Length (3)
The function "f" for estimating the entropy-encoding result for the x-coordinate value or the y-coordinate value is also defined as in the equation (3). If the function "f" that predicts the result of variable length coding (for example, universal variable length coding) is entered with "val", which is an x-coordinate value or a y-coordinate value. , "Length" is calculated by the above formula (3).
数式(3)は、次のように示すこともできる。 Formula (3) can also be expressed as follows.
数式(3)によれば、「val」が負数または「0」であるならは、「val」を正数に変換した後、1ビットほど左側にシフトし、座標値に「2」を乗じ、「1」を加算して「Temp」として保存する。「val」が正数であるならば、「val」を1ビットほど左側にシフトし、座標値に「2」を乗じ、「Temp」として保存する。その後、「Temp」が「1」になるまで「while」ループを反復し、「Length」を計算する。 According to the formula (3), if "val" is a negative number or "0", after converting "val" to a positive number, shift it to the left by about 1 bit, multiply the coordinate value by "2", and then multiply. Add "1" and save as "Temp". If "val" is a positive number, shift "val" to the left by about 1 bit, multiply the coordinate value by "2", and save it as "Temp". After that, the "while" loop is repeated until "Temp" becomes "1", and "Length" is calculated.
例えば、仮想の動きベクトル差または実際動きベクトル差が(2,0)であるならば、A(2,0)=f(2+f(0)である。 For example, if the virtual motion vector difference or the actual motion vector difference is (2,0), then A (2,0) = f (2 + f (0).
f(2)は、次のように計算される。f(2)の「2」が正数であるので、1ビットほど左側にシフトし、「Temp」を「4」に設定する。最初のwhileループでは、「Temp」が「4」であり、「4」は、「1」ではないので、「4」を右側にシフトし、「1/2」を乗じることにより、「Temp」を「2」に設定する。「Length」の初期値は、「1」に設定されているので、最初のwhileループで、「Length」は、「3」になる。 f (2) is calculated as follows. Since "2" in f (2) is a positive number, shift it to the left by about 1 bit and set "Temp" to "4". In the first while loop, "Temp" is "4" and "4" is not "1", so by shifting "4" to the right and multiplying by "1/2", "Temp" Is set to "2". Since the initial value of "Length" is set to "1", "Length" becomes "3" in the first while loop.
2番目のwhileループでは、「Temp」が「2」であり、「2」は、「1」ではないので、「2」を右側にシフトし、「1/2」を乗じることにより、「Temp」を「1」に設定する。現在「Length」は、「3」であるので、2番目のwhileループで「Length」は、「5」になる。3番目のwhileループは、「Temp」が「1」であるので遂行されず、f(2)は、「5」になる。 In the second while loop, "Temp" is "2" and "2" is not "1", so by shifting "2" to the right and multiplying by "1/2", "Temp" Is set to "1". Currently, "Length" is "3", so in the second while loop, "Length" becomes "5". The third while loop is not executed because "Temp" is "1", and f (2) becomes "5".
f(0)は、次のように計算される。f(0)の入力座標値が「0」であるので、「0」を左側に1ビットシフトし、「1」を加算して「Temp」は、「1」に設定される。従って、whileループは遂行されない。「Length」の初期値によって、f(0)は、「1」になる。 f (0) is calculated as follows. Since the input coordinate value of f (0) is "0", "0" is shifted to the left by 1 bit, "1" is added, and "Temp" is set to "1". Therefore, the while loop is not executed. Depending on the initial value of "Length", f (0) becomes "1".
数式(3)と係わって説明した所定の評価関数「f」は、可変長符号化を利用したエントロピ符号化の結果を推定するための関数である。従って、候補決定部920は、「mvx」を予測動きベクトルの全体候補から除外するか否かを判断するために、評価関数「A」を利用して、仮想の動きベクトル差を可変長永遠に符号化した結果を推定する。推定結果、実際動きベクトル差よりさらに短い長さに符号化されると推定された仮想の動きベクトル差が少なくとも一つ存在すれば、「mvx」を予測動きベクトルの全体候補から除外する。
The predetermined evaluation function "f" described in relation to the mathematical formula (3) is a function for estimating the result of entropy coding using variable length coding. Therefore, the
しかし、可変長符号化の結果ではない他の方法によるエントロピ符号化結果を推定することができることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。例えば、他の評価関数「h」を利用して、仮想の動きベクトル差のエントロピ符号化結果、及び実際動きベクトル差のエントロピ符号化結果を推定し、比較することができるし、このとき、「h」は、コンテクスト適応であるは算術符号化(context adaptive binary arithmetic coding)の結果を推定する関数であってもよい。 However, those skilled in the art to which the present invention belongs will readily appreciate that entropy coding results by other methods that are not the result of variable length coding can be estimated. For example, another evaluation function "h" can be used to estimate and compare the entropy coding result of the virtual motion vector difference and the entropy coding result of the actual motion vector difference. "h" may be a function that estimates the result of context adaptive binary arithmetic coding.
また、本発明の他の実施形態によれば、所定の評価関数に基づいた評価結果の正確度を高めるために、インデックス情報を評価した結果も共に推定することができる。インデックス情報は、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を特定するための情報である。数式(4)を参照して詳細に説明する。 Further, according to another embodiment of the present invention, the result of evaluating the index information can be estimated together in order to improve the accuracy of the evaluation result based on the predetermined evaluation function. The index information is information for identifying a predetermined predicted motion vector candidate among the overall candidates of the predicted motion vector. This will be described in detail with reference to the mathematical formula (4).
A(mvx+MVD−mvy,mvyIdx)<A(MVD,mvxIdx) (4)
候補決定部920は、予測動きベクトルの全体候補のうち一つである「mvx」を、予測動きベクトルの全体候補から除外するか否かを判断するために数式(4)を満足する「mvy」が、全体候補中に少なくとも一つ存在するか否かを判断する。数式(4)で「MVD」は、実際動きベクトル差を意味し、mvxIdxとmvyIdxは、予測動きベクトルの全体候補で、それぞれ「mvx」と「mvy」とを特定するためのインデックス情報を意味する。「mvx」の除外いかんを判断するために、「mvx」に基づいた仮想の動きベクトルである「mvx+MVD」と異なる予測動きベクトル候補である「mvy」間の仮想の動きベクトル差である「mvx+MVD−mvy」及び「mvy」を全体候補で特定するためのインデックス情報を、所定の評価関数「A」を利用して評価し、実際動きベクトル差及び「mvx」を全体候補で特定するためのインデックス情報を、所定の評価関数「A」を利用して評価する。評価結果、数式(4)を満足する「mvy」が全体候補中に少なくとも一つ存在するか否かを判断する。
A (mvx + MVD-mvy, mbyIdx) <A (MVD, mbxIdx) (4)
The
前述のように、「A」によって評価される仮想の動きベクトル差及び実際動きベクトル差は、x座標及びy座標で定義され、数式(5)のように定義されもする。 As described above, the virtual motion vector difference and the actual motion vector difference evaluated by "A" are defined by the x-coordinate and the y-coordinate, and are also defined by the mathematical formula (5).
A(mvx+MVD−mvy,mvyIdx)=f(p1)+f(q1)+g(mvyIdx)
A(MVD,mvxIdx)=f(p2+f(q2+g(mvxIdx) (5)
数式(2)と比較すれば、数式(2)の左辺のA(mvx+MVD−mvy)は、仮想の動きベクトル差だけ評価したが、数式(5)のA(mvx+MVD−mvy,mvyIdx)は、仮想の動きベクトル差、及び予測動きベクトルの全体候補で「mvy」を特定するための情報も共に評価する。評価関数「A」は、前述のように、エントロピ符号化した結果を評価するための関数であってもよく、このとき、関数「f」は、数式(2)と係わって説明したように、仮想の動きベクトル差のx座標値またはy座標値に基づいて、エントロピ符号化結果を推定するための関数であり、関数「g」は、「mvxIdx」のエントロピ符号化結果を推定するための関数であってもよい。「mvx+MVD−mvy」のx座標値が「p1」であり、y座標値が「q1」であるとき、A(mvx+MVD−mvy,mvxIdx)は、数式(5)に示されたように計算することができる。
A (mvx + MVD-mvy, mvyIdx) = f (p1) + f (q1) + g (mvyIdx)
A (MVD, mbxIdx) = f (p2 + f (q2 + g (mvxIdx)) (5)
Compared with the formula (2), A (mvx + MVD-mvy) on the left side of the formula (2) evaluated only the virtual motion vector difference, but A (mvx + MVD-mvy, mvyIdx) of the formula (5) was virtual. The information for specifying "mvy" in the motion vector difference of and the overall candidate of the predicted motion vector is also evaluated. As described above, the evaluation function "A" may be a function for evaluating the result of entropy coding, and at this time, the function "f" is described in relation to the mathematical formula (2). It is a function for estimating the entropy coding result based on the x-coordinate value or the y-coordinate value of the virtual motion vector difference, and the function "g" is a function for estimating the entropy coding result of "mvxIdx". It may be. When the x-coordinate value of "mvx + MVD-mvy" is "p1" and the y-coordinate value is "q1", A (mvx + MVD-mvy, mbxIdx) shall be calculated as shown in the mathematical formula (5). Can be done.
数式(2)の右辺のA(MVD)も、実際動きベクトル差だけ評価したが、数式(5)のA(MVD,mvxIdx)は、実際動きベクトル差、及び予測動きベクトルの全体候補で「mvx」を特定するための情報を共に評価する。関数「f」は、数式(2)と係わって説明したように、実際動きベクトル差のx座標値またはy座標値に基づいて、エントロピ符号化結果を推定するための関数であり、関数「g」は、「mvxIdx」のエントロピ符号化結果を推定するための関数であってもよい。「MVD」のx座標値が「p2」であり、y座標値が「q2」であるとき、A(MVD,mvxIdx)は、数式(5)に図示されたように計算することができる。 A (MVD) on the right side of the equation (2) was also evaluated only for the actual motion vector difference, but A (MVD, mVxIdx) in the equation (5) is the overall candidate for the actual motion vector difference and the predicted motion vector, and is "mVx. Evaluate together the information to identify. The function "f" is a function for estimating the entropy coding result based on the x-coordinate value or the y-coordinate value of the actual motion vector difference, as explained in relation to the mathematical formula (2), and the function "g". May be a function for estimating the entropy coding result of "mvxIdx". When the x-coordinate value of "MVD" is "p2" and the y-coordinate value is "q2", A (MVD, mbxIdx) can be calculated as shown in the mathematical formula (5).
数式(4)及び(5)による除外いかん判断は、数式(2)による除外いかん判断に対して補助的に利用されもする。言い換えれば、数式(2)に基づいて、「mvx」を全体予測動きベクトルの候補から除外するか否かをまず判断し、補助的に数式(4)及び(5)によって、さらに一度除外いかんを判断することができる。例えば、数式(2)によって判断した結果、「A(mvx+MVD−mvy)」が「A(MVD)」と同一であるか、あるいはそれより大きい場合だけ存在し、「A(mvx+MVD−mvy)」が「A(MVD)」より小さい場合が存在しないならば、数式(2)によれば、「mvx」が、予測動きベクトルの全体候補から除外されない。しかし、「A(mvx+MVD−mvy)」と「A(MVD)」とが等しくても、数式(4)及び(5)による判断結果に基づいて、「mvx」を予測動きベクトルの全体候補から除外することができる。 The exclusion judgment by the mathematical formulas (4) and (5) is also used as an auxiliary to the exclusion judgment by the mathematical formula (2). In other words, based on the mathematical formula (2), it is first determined whether or not to exclude "mvx" from the candidates for the overall predicted motion vector, and then the mathematical formulas (4) and (5) are used to supplement the exclusion once more. You can judge. For example, as a result of judgment by the mathematical formula (2), "A (mvx + MVD-mvy)" exists only when it is the same as or larger than "A (MVD)", and "A (mvx + MVD-mvy)" is present. If there is no case smaller than "A (MVD)", then according to formula (2), "mvx" is not excluded from the overall candidates for the predicted motion vector. However, even if "A (mvx + MVD-mvy)" and "A (MVD)" are equal, "mvx" is excluded from the overall candidates for the predicted motion vector based on the judgment results by the mathematical formulas (4) and (5). can do.
候補決定部920が数式(1)ないし(5)に基づいて、予測動きベクトル候補に対しての除外いかんを判断するとき、C集合の整列順序によって、すべての予測動きベクトルの候補について反復することについては説明した。本発明の他の実施形態によれば、候補決定部920は、C集合を所定の基準によって再整列し、再整列順序によって、除外いかんの判断を反復することができる。図13Aないし図13Dを参照して詳細に説明する。
When the
図13Aないし図13Dは、本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示している。 13A to 13D illustrate the position of the current block contained in a coding unit of a predetermined size according to one embodiment of the present invention.
全体予測動きベクトルの候補がC={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}のようであるとき、C集合の予測動きベクトル候補それぞれに二進数を割り当てることにより、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトルを特定する可能性があることについて説明した。 When the candidates for the overall predicted motion vector are C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}, each of the predicted motion vector candidates in the C set is a binary number. It was explained that there is a possibility of identifying the predicted motion vector used to predict the motion vector of the current block among the candidates of the predicted motion vector by assigning.
このとき、C集合に含まれた予測動きベクトルの候補の整列順序によって、二進数が割り当てられ、このような二進数は、ハフマンコードに基づいた可変長符号であってもよい。従って、C集合の整列順序で、前に位置した予測動きベクトル候補に、さらに少ない個数のビットを割り当てることができる。例えば、C集合で、「median(mv_a’,mv_b’,mv_c’)」に「0」ビットを割り当て、mv_a’に「00」ビットを割り当て、mv_b’に「01」ビットを割り当てることができる。従って、候補決定部920は、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトル候補が、C集合の前方に位置するように、予測動きベクトルの候補を所定順序によって整列する。
At this time, a binary number is assigned according to the alignment order of the candidates of the predicted motion vector included in the C set, and such a binary number may be a variable length code based on the Huffman code. Therefore, a smaller number of bits can be assigned to the previously located predicted motion vector candidates in the well-ordered C set. For example, in the C set, the "median (mv_a', mv_b', mv_c')" can be assigned the "0" bit, the mv_a'can be assigned the "00" bit, and the mv_b'can be assigned the "01" bit. Therefore, the
現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトルは、符号化単位で、現在ブロックの位置によって決定される。図13Aのように、現在ブロックが符号化単位の下端に位置すれば、現在ブロックの動きベクトルは、符号化単位の左側に隣接したブロックの動きベクトル、または左側下部に隣接したブロックの動きベクトルと同一または類似した可能性が高い。従って、左側に隣接したブロックの動きベクトル、または左側下部に隣接したブロックの動きベクトルに対応する予測動きベクトルの候補が、C集合の前方に位置するように整列順序を変更する必要がある。前述のC集合の予測動きベクトルの候補のうちmv_b’が、左側に隣接したブロックの動きベクトルに対応する予測動きベクトルの候補であるので、C集合は、mv_b’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_b’,mv_a’,median(mv_a’,mv_b’,mv_c’),mv_c’,mv_temporal}のように再整列されもする。 The predicted motion vector, which is likely to be used to predict the motion vector of the current block, is the coding unit and is determined by the position of the current block. If the current block is located at the lower end of the coding unit, as in FIG. 13A, the motion vector of the current block will be the motion vector of the block adjacent to the left side of the coding unit or the motion vector of the block adjacent to the lower left side. Most likely the same or similar. Therefore, it is necessary to change the well-order so that the motion vector of the block adjacent to the left side or the candidate of the predicted motion vector corresponding to the motion vector of the block adjacent to the lower left side is located in front of the C set. Since mv_b'among the candidates for the predicted motion vector of the C set described above is a candidate for the predicted motion vector corresponding to the motion vector of the block adjacent to the left side, the C set is mv_b'and median (mv_a', mv_b'. , Mv_c'), and rearranged as C = {mv_b', mv_a', median (mv_a', mv_b', mv_c'), mv_c', mv_temporal}.
同様に、図13Bのように、現在ブロックが、符号化単位の左側に位置すれば、符号化単位の左側に隣接したブロックの動きベクトル、及び上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される可能性が高い。前述のC集合の予測動きベクトルの候補のうちmv_b’が、左側に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、C集合は、mv_b’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_b’,mv_a’,median(mv_a’,mv_b’,mv_c’),mv_c’,mv_temporal}のように再整列されもする。 Similarly, as shown in FIG. 13B, if the current block is located on the left side of the coding unit, the motion vector of the block adjacent to the left side of the coding unit and the predicted movement corresponding to the motion vector of the block adjacent to the upper part. Vector candidates are likely to be used to predict the motion vector of the current block. Of the above-mentioned candidates for the predicted motion vector of the C set, mv_b'is a predicted motion vector candidate corresponding to the motion vector of the block adjacent to the left side, so that the C set is mv_b'and median (mv_a', mv_b', The order with mv_c') is changed, and the order is also rearranged as C = {mv_b', mv_a', median (mv_a', mv_b', mv_c'), mv_c', mv_temporal}.
図13Cのように、現在ブロックが符号化単位の上部に位置すれば、符号化単位の左側に隣接したブロックの動きベクトル、及び上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの予測動きベクトルに利用される可能性が高い。前述のC集合の予測動きベクトルの候補のうちmv_a’が、上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、C集合は、mv_a’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_a’,median(mv_a’,mv_b’,mv_c’),mv_b’,mv_c’,mv_temporal}のように再整列されもする。 As shown in FIG. 13C, if the current block is located above the coding unit, the motion vector of the block adjacent to the left side of the coding unit and the predicted motion vector candidate corresponding to the motion vector of the block adjacent to the top can be obtained. Currently, it is likely to be used for the predicted motion vector of the block. Of the above-mentioned candidates for the predicted motion vector of the C set, mv_a'is the predicted motion vector candidate corresponding to the motion vector of the block adjacent to the upper part, so that the C set is mv_a'and median (mv_a', mv_b', The order with mv_c') is changed, and the order is also rearranged as C = {mv_a', median (mv_a', mv_b', mv_c'), mv_b', mv_c', mv_temporal}.
図13Dのように、現在ブロックが符号化単位の右側に位置すれば、符号化単位の右側上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される可能性が高い。前述のC集合の予測動きベクトルの候補のうちmv_c’が、右側上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、C集合は、mv_c’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_c’,mv_a’,mv_b’,median(mv_a’,mv_b’,mv_c’),mv_temporal}のように再整列されもする。 As shown in FIG. 13D, if the current block is located on the right side of the coding unit, the predicted motion vector candidate corresponding to the motion vector of the block adjacent to the upper right side of the coding unit predicts the motion vector of the current block. It is likely to be used for. Of the above-mentioned candidates for the predicted motion vector of the C set, mv_c'is a predicted motion vector candidate corresponding to the motion vector of the block adjacent to the upper right side, so that the C set is mv_c'and median (mv_a', mv_b'. , Mv_c'), and rearranged as C = {mv_c', mv_a', mv_b', median (mv_a', mv_b', mv_c'), mv_temporal}.
予測動きベクトルの候補を再整列する基準として、符号化単位での現在ブロックの位置は、例示的なのである。言い換えれば、多様な基準が、予測動きベクトルの候補を再整列する基準に利用されもする。現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を、C集合の前部に整列させる多様な基準が、予測動きベクトルの候補を再整列する基準に利用されもする。現在ブロック以前に符号化された他のブロックと係わる所定の情報に基づいて、現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を決定し、決定に基づいて、C集合を再整列することができる。 The position of the current block in the coding unit is exemplary as a criterion for rearranging the candidates for the predicted motion vector. In other words, various criteria are also used as criteria for rearranging the candidates for the predicted motion vector. Various criteria for aligning predicted motion vector candidates, which are likely to be similar to the motion vector of the current block, to the front of the C set are also used as criteria for rearranging the predicted motion vector candidates. Based on certain information related to other blocks encoded before the current block, predictive motion vector candidates that are likely to be similar to the motion vector of the current block are determined, and the C set is rearranged based on the determination. can do.
また、現在ブロックの動きベクトルを符号化する以前に、現在ブロックに対して符号化されたり復号化された他の情報に基づいて、現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を決定し、決定に基づいて、C集合を再整列することができる。 Also, a predicted motion vector candidate that is likely to be similar to the motion vector of the current block, based on other information encoded or decoded for the current block before encoding the motion vector of the current block. Can be determined and the C set can be rearranged based on the determination.
また、C集合の再整列時に重複された予測動きベクトル候補は、除外され、再整列を遂行することができる。予測動きベクトルの全体候補に、重複された予測動きベクトル候補がある場合には、これをまず除外し、前述の数式(1)ないし(5)によって、それぞれの予測動きベクトル候補に対して、除外いかんを判断することができる。 In addition, the predicted motion vector candidates that are duplicated when the C set is rearranged are excluded, and the rearrangement can be performed. If there are duplicate predicted motion vector candidates in the overall candidates for the predicted motion vector, they are first excluded, and each predicted motion vector candidate is excluded by the above formulas (1) to (5). I can judge the situation.
再び図9を参照すれば、動きベクトル符号化部930は、動きベクトルについての情報、及び予測動きベクトルについての情報を符号化する。動きベクトルについての情報は、現在ブロックの実際動きベクトルと、実際予測動きベクトルとの差ベクトルであり、予測動きベクトルについての情報は、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトルが除外された候補で、現在ブロックの動きベクトル予測に利用された予測動きベクトルを特定するための情報を符号化する。言い換えれば、候補決定部920から除外されていない予測動きベクトルの候補で、現在ブロックの予測動きベクトルを特定するための情報が、予測動きベクトルについての情報として符号化される。
Referring to FIG. 9 again, the motion
実際動きベクトル差を、動きベクトル推定部910から受信し、所定のエントロピ符号化方法によって符号化し、候補決定部920で、少なくとも1つの予測動きベクトル候補を選択的に除外して決定された予測動きベクトルの候補で、動きベクトル推定部910で決定された現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。
The actual motion vector difference is received from the motion
候補決定部920が、予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトルの候補を、前述の数式(1)ないし(5)によって除外して予測動きベクトルの候補を決めれば、決定された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。動きベクトル符号化部930は、候補決定部920から除外されていない予測動きベクトルの候補それぞれをインデクシング(indexing)し、予測動きベクトルについての情報として、インデックス情報をエントロピ符号化することができる。インデクシングとは、予測動きベクトルの候補それぞれに、所定の二進数を割り当てることを意味し、予測動きベクトルについての情報は、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された情報を意味する。候補決定部920が、少なくとも1つの予測動きベクトル候補を選択的に除外した結果、予測動きベクトル候補が一つだけ残れば、動きベクトル符号化部930で、予測動きベクトルについての情報を別途に符号化する必要がない。現在ブロックの動きベクトルを予測するのに利用する予測動きベクトル候補が、暗黙的(implicit)に決定されるからである。
The
また、図13Aないし図13Dと係わって説明したように、候補決定部920が、全体予測動きベクトルの候補を所定の基準によって再整列し、再整列された全体予測動きベクトルの候補から、少なくとも1つの予測動きベクトルを選択的に除外して生成した予測動きベクトルの候補それぞれをインデクシングし、インデックス情報をエントロピ符号化することもできる。
Further, as described with reference to FIGS. 13A to 13D, the
候補決定部920の再整列結果、現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトル候補に、最も少ないビット数の二進数が割り当てされるので、予測動きベクトルについての情報を、さらに高い圧縮率で符号化することができる。
As a result of the rearrangement of the
図14は、本発明の一実施形態による動きベクトルを復号化する装置を図示している。 FIG. 14 illustrates an apparatus that decodes a motion vector according to an embodiment of the present invention.
図2の映像復号化装置200、または図5の映像符号化部500に含まれ、動きベクトルを復号化する装置が、図14に詳細に図示されている。図14を参照すれば、本発明の一実施形態による動きベクトル復号化装置1400は、動きベクトル復号化部1410、候補決定部1420及び動きベクトル復元部1430を含む。
A device included in the
図14の動きベクトル復号化装置1400は、現在ブロックの動きベクトルが、前述の明示モード及び暗示モードのうち、明示モードによって符号化された場合、現在ブロックの動きベクトルを復号化する装置を図示している。
The motion
動きベクトル復号化部1410は、現在ブロックの動きベクトルに係わるビットストリームを受信し、受信されたビットストリームを復号化する。ビットストリームに含まれた動きベクトルについての情報を復号化する。現在ブロックの実際動きベクトル差を復号化する。実際動きベクトル差を、所定のエントロピ復号化方法によって復号化することができる。実際動きベクトル差は、現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトルである。
The motion
本発明の動きベクトルを符号化する方法によれば、前述の数式(1)ないし(5)によって、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を除外し、予測動きベクトルの候補が決定される。予測動きベクトルの候補は、固定されるのではなく、ブロック単位で復号化を進めるにつれて、続けて変更されもする。従って、予測動きベクトルの候補についての情報が同一であったとしても、予測動きベクトルの候補が決定されなければ、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を正確に復元することができない。 According to the method of encoding the motion vector of the present invention, at least one predicted motion vector candidate is excluded from the total candidates of the predicted motion vector by the above-mentioned mathematical formulas (1) to (5), and the predicted motion vector is obtained. Candidates are decided. The candidates for the predicted motion vector are not fixed, but are continuously changed as the decoding proceeds in block units. Therefore, even if the information about the predicted motion vector candidates is the same, if the predicted motion vector candidates are not determined, the predicted motion vector candidates used to predict the motion vector of the current block are accurately restored. Can not do it.
従って、予測動きベクトル候補を決定するに先立ち、候補決定部1420は、予測動きベクトルの候補を決定する。動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を、数式(1)ないし(5)によって選択的に除外し、予測動きベクトルの候補を決定する。現在ブロックに隣接した以前に復号化された領域に含まれたブロックの動きベクトルに基づいて決定された全体候補のうち、現在ブロックの動きベクトルを予測するのに利用されないということが明白な予測動きベクトル候補を、所定の評価関数に基づいて除外する。
Therefore, prior to determining the predicted motion vector candidate, the
予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び動きベクトル復号化部で復号化された動きベクトルについての情報に基づいて、仮想の動きベクトルを生成し、生成された仮想の動きベクトルと異なる予測動きベクトル候補の差である仮想の動きベクトル差を、全体候補それぞれについて計算する。計算された仮想の動きベクトル差を、動きベクトル復号化部1410で復号化された動きベクトルについての情報、すなわち、実際動きベクトル差と比較し、予測動きベクトルの候補を除外する。仮想の動きベクトル差のエントロピ符号化結果を、実際動きベクトル差のエントロピ符号化結果と比較し、所定の予測動きベクトルの候補を除外するか否かを判断することができる。また、エントロピ符号化結果の推定正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかん判断に利用することができる。予測動きベクトルの候補を除外する方法は、数式(1)ないし(5)と係わって説明した。
A virtual motion vector is generated based on information about a predetermined predicted motion vector candidate and a motion vector decoded by the motion vector decoding unit among all candidates of the predicted motion vector, and the generated virtual motion is generated. The virtual motion vector difference, which is the difference between the predicted motion vector candidates different from the vector, is calculated for each of the overall candidates. The calculated virtual motion vector difference is compared with the information about the motion vector decoded by the motion
また、本発明のさらに他の実施形態によれば、候補決定部1420は、予測動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補に対して数式(1)ないし(5)による除外判断を反復し、少なくとも1つの予測動きベクトル候補を選択的に除外することができる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式(1)ないし(5)による除外判断を反復することもできる。
Further, according to still another embodiment of the present invention, the
候補決定部1420が、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を除外した結果、予測動きベクトルの全体候補のうち、複数の予測動きベクトル候補が残れば、動きベクトル復号化部1410は、予測動きベクトルについての情報を復号化する。予測動きベクトルについての情報を、所定のエントロピ復号化方法によって復号化する。予測動きベクトルについての情報は、少なくとも1つの予測動きベクトル候補が除外された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報である。候補決定部1420から除外されていない予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報が復号化される。
As a result of the
候補決定部1420が予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を除外した結果、1つの予測動きベクトル候補のみ残れば、残された1つの予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用されるので、動きベクトル復号化部1410は、別途に予測動きベクトルの候補についての情報を復号化する必要がない。
As a result of the
動きベクトル復元部1430は、動きベクトル復号化部1410で復号化された動きベクトルについての情報に基づいて、現在ブロックの動きベクトルを復元する。動きベクトル復号化部1410で復号化された実際動きベクトル差と、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補とを加算し、現在ブロックの動きベクトルを復元する。候補決定部1420で決定された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用する予測動きベクトル候補を決定し、決定された予測動きベクトル候補を、実際動きベクトル差と加算する。候補決定部1420での除外結果、一つではない複数の予測動きベクトルの候補を残した場合には、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補は、動きベクトル復号化部1410で復号化された予測動きベクトルについての情報に基づいて決定される。
The motion
候補決定部1420によって予測動きベクトルの候補が決定されるので、復号化された予測動きベクトルについての情報が同一であったとしても、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補は、異なる位置に隣接したブロックの動きベクトルであってもよい。
Since the candidate motion vector candidates are determined by the
図15は、本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。図15を参照すれば、段階1510で、動きベクトル符号化装置は、現在ブロックの動きベクトルを推定し、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を、予測動きベクトルの全体候補のうちから決定する。現在ブロックと同一または類似した動きベクトルを、複数の参照ピクチャで検索し、検索結果によって、現在ブロックと参照ブロックとの相対的な位置差である動きベクトルを推定する。
FIG. 15 is a flowchart for explaining a method of coding a motion vector according to an embodiment of the present invention. Referring to FIG. 15, at
その後、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルに基づいて、現在ブロックの動きベクトルを予測する。言い換えれば、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルを、予測動きベクトルの全体候補に設定し、予測動きベクトルの全体候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。現在ブロックの動きベクトルと、決定された予測動きベクトル候補との差ベクトル、すなわち、実際動きベクトル差を生成する。 It then predicts the motion vector of the current block based on the motion vector of the block contained in the previously encoded region adjacent to the current block. In other words, the motion vector of the block contained in the previously encoded region adjacent to the current block is set as the overall candidate of the predicted motion vector, and among the overall candidates of the predicted motion vector, the estimated current block Determine the predicted motion vector candidates that are most similar to the motion vector. Generates the difference vector between the motion vector of the current block and the determined predicted motion vector candidate, that is, the actual motion vector difference.
段階1520で、映像符号化装置は、予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外する。予測動きベクトルの全体候補のうち、現在ブロックの動きベクトルを予測するのに利用されないことが明白な予測動きベクトル候補を除外する。
At
映像符号化装置は、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補と、段階1510で生成された実際動きベクトル差とを利用し、仮想の動きベクトルを生成する。生成された仮想の動きベクトル、及び他の予測動きベクトル候補を利用し、仮想の動きベクトル差を生成する。全体候補それぞれに対して仮想の動きベクトル差を生成し、生成された仮想の動きベクトル差と、実際動きベクトル差とを比較し、所定の予測動きベクトル候補を選択的に除外することができる。
The video coding apparatus generates a virtual motion vector by using a predetermined predicted motion vector candidate and the actual motion vector difference generated in
段階1520の仮想動きベクトルを生成する過程、及び選択的に除外する過程を全体候補いずれに対しても反復して遂行することにより、少なくとも1つの予測動きベクトル候補を全体候補から除外することができる。除外する過程を反復して遂行するときには、すでに除外された予測動きベクトル候補を除いた残りの予測動きベクトル候補それぞれに対して、仮想の動きベクトル差を計算し、計算された仮想の動きベクトル差を、実際動きベクトル差と比較することができる。
At least one predicted motion vector candidate can be excluded from the overall candidates by iteratively performing the process of generating the virtual motion vector of
所定の評価関数に基づいて、仮想の動きベクトル差及び実際動きベクトル差を評価して比較することができ、所定の評価関数は、エントロピ符号化結果を予測する関数である。仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する関数に基づいて、比較することができる。また、評価の正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかんの判断に利用することができる。予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外する方法は、数式(1)ないし(5)と係わって説明した。 A virtual motion vector difference and an actual motion vector difference can be evaluated and compared based on a predetermined evaluation function, and the predetermined evaluation function is a function for predicting an entropy coding result. A comparison can be made based on a function that estimates the result of entropy-coding the virtual motion vector difference and the result of entropy-coding the actual motion vector difference. In addition, in order to improve the accuracy of the evaluation, the result of entropy-coding the index information can also be estimated and used for determining the exclusion. The method of excluding at least one predicted motion vector candidate from the total candidates of the predicted motion vector has been described in relation to mathematical formulas (1) to (5).
また、動きベクトル符号化装置は、図13Aないし図13Dと係わって説明したように、動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外することもできる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式(1)ないし(5)による除外判断を反復することもできる。 Further, as described in connection with FIGS. 13A to 13D, the motion vector coding apparatus rearranges all the motion vector candidates according to a predetermined reference, and at least one predicted motion vector is selected from the rearranged all candidates. Candidates can also be selectively excluded. It is also possible to exclude duplicate predicted motion vector candidates from the rearranged overall candidates and repeat the exclusion judgment by the formulas (1) to (5).
段階1530で、動きベクトル符号化装置は、動きベクトルについての情報、及び予測動きベクトルについての情報を符号化する。実際動きベクトル差、及び現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。予測動きベクトルについての情報は、段階1520及び1530を介して除外されていない予測動きベクトルの候補で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報であってもよい。
At
予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外した結果、1つの予測動きベクトル候補だけ残れば、予測動きベクトルについての情報を符号化しないこともある。 As a result of excluding at least one predicted motion vector candidate from the total candidates of the predicted motion vector, if only one predicted motion vector candidate remains, the information about the predicted motion vector may not be encoded.
図16は、本発明の一実施形態による動きベクトルを復号化する方法を説明するためのフローチャートである。図16を参照すれば、段階1610で、動きベクトル復号化装置は、受信されたビットストリームから、現在ブロックの動きベクトルについての情報を復号化する。動きベクトルについての情報は、現在ブロックの実際動きベクトルと、現在ブロックの予測動きベクトルとの実際動きベクトル差であってもよい。
FIG. 16 is a flowchart for explaining a method of decoding a motion vector according to an embodiment of the present invention. Referring to FIG. 16, at
段階1620で、動きベクトル復号化装置は、段階1610で復号化された動きベクトルについての情報及び予測動きベクトルの全体候補のうち、1つの予測動きベクトル候補に基づいて、仮想の動きベクトルを生成する。
At
仮想の動きベクトルが生成されれば、動きベクトル復号化装置は、予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外する。現在ブロックに隣接した以前に復号化された領域のブロックの動きベクトルに基づいて、予測動きベクトルの全体候補が決定される。動きベクトル復号化装置は、このような予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外することができる。所定の評価関数に基づいて、仮想の動きベクトル差と、段階1610で復号化された実際動きベクトル差とを評価し、所定の予測動きベクトル候補を選択的に除外する。予測動きベクトル候補を全体候補から除外する方法は、段階1530と同一であり、数式(1)ないし(5)を参照して説明した。
Once the virtual motion vector is generated, the motion vector decoder excludes at least one predicted motion vector candidate from the overall candidates for the predicted motion vector. The overall candidate for the predicted motion vector is determined based on the motion vector of the block in the previously decoded region adjacent to the current block. The motion vector decoding device can selectively exclude at least one predicted motion vector candidate from all such predicted motion vector candidates. Based on a predetermined evaluation function, the virtual motion vector difference and the actual motion vector difference decoded in
段階1620の仮想の動きベクトルを生成する過程、及び選択的に除外する過程を全体候補いずれに対しても反復して遂行することにより、少なくとも1つの予測動きベクトル候補を全体候補から除外することができる。
At least one predicted motion vector candidate can be excluded from the overall candidates by iteratively performing the process of generating the virtual motion vector of
また、動きベクトル符号化装置は、図13Aないし図13Dと係わって説明したように、動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外することもできる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式(1)ないし(5)による除外判断を反復することもできる。 Further, as described in connection with FIGS. 13A to 13D, the motion vector coding apparatus rearranges all the motion vector candidates according to a predetermined reference, and at least one predicted motion vector is selected from the rearranged all candidates. Candidates can also be selectively excluded. It is also possible to exclude duplicate predicted motion vector candidates from the rearranged overall candidates and repeat the exclusion judgment by the formulas (1) to (5).
除外結果、複数の予測動きベクトルの候補が残れば、予測動きベクトルについての情報を復号化し、1つの予測動きベクトル候補だけ残れば、予測動きベクトルについての情報を復号化しない。 As a result of exclusion, if a plurality of predicted motion vector candidates remain, the information about the predicted motion vector is decoded, and if only one predicted motion vector candidate remains, the information about the predicted motion vector is not decoded.
段階1630で、動きベクトル復号化装置は、段階1620から除外されていない予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を決定する。
At
現在ブロックの予測動きベクトルについての情報に基づいて、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を決定することができる。段階1620の除外結果、1つの予測動きベクトル候補だけ残った場合には、残った1つの予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補として決定される。
Based on the information about the predicted motion vector of the current block, among the candidates of the predicted motion vector, the predicted motion vector candidate used for predicting the motion vector of the current block can be determined. As a result of the exclusion in
予測動きベクトル候補が決定されれば、決定された予測動きベクトル候補と、段階1610で復号化された実際動きベクトル差とを加算し、現在ブロックの動きベクトルを復元する。
When the predicted motion vector candidate is determined, the determined predicted motion vector candidate and the actual motion vector difference decoded in
以上のように本発明について、たとえ限定された実施形態及び図面によって説明したにしても、本発明が、前記の実施形態に限定されるものではなく、これは、本発明が属する分野で当業者であるならば、このような記載から、多様な修正及び変形が可能であろう。従って、本発明の思想は、特許請求の範囲によってのみ把握されなければならず、これと均等であったり、あるいは等価的な変形はいずれも、本発明思想の範疇に属するものである。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体に、コンピュータが読み取り可能なコードとして具現することが可能である。 As described above, even if the present invention is described with reference to limited embodiments and drawings, the present invention is not limited to the above-described embodiments, and those skilled in the art in the field to which the present invention belongs. If so, various modifications and modifications would be possible from such a description. Therefore, the idea of the present invention must be grasped only by the scope of claims, and any modification equal to or equivalent to this belongs to the category of the idea of the present invention. Further, the system according to the present invention can be embodied as a computer-readable code on a computer-readable recording medium.
例えば、本発明の例示的な実施形態による映像符号化装置、映像復号化装置、動きベクトル符号化装置及び動きベクトル復号化装置は、図1、図2、図4、図5、図9及び図14に図示されたような装置のそれぞれのユニットにカップルリングされたバス、前記バスに結合された少なくとも1つのプロセッサを含んでもよい。また、命令、受信されたメッセージまたは生成されたメッセージを保存するために、前記バスに結合され、前述のような命令を遂行するための少なくとも1つのプロセッサにカップルリングされたメモリを含んでもよい。 For example, the video coding device, the video decoding device, the motion vector coding device, and the motion vector decoding device according to the exemplary embodiment of the present invention are shown in FIGS. 1, 2, 4, 5, 9, and 9. A bus coupled to each unit of the device as illustrated in 14, may include at least one processor coupled to the bus. It may also include memory coupled to said bus and coupled to at least one processor for carrying out instructions as described above in order to store instructions, received messages or generated messages.
また、コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるすべての種類の記録装置を含む。記録媒体の例としては、ROM(read-only memory)、RAM(random-access memory)、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されもする。 Also, computer-readable recording media include all types of recording devices in which data readable by computer systems is stored. Examples of recording media include ROM (read-only memory), RAM (random-access memory), CD-ROM, magnetic tape, floppy (registered trademark) disk, optical data storage device, and the like. In addition, computer-readable recording media are distributed to computer systems connected to a network, and computer-readable code is stored and executed in a distributed manner.
1400 ベクトル復号化装置
1410 動きベクトル復号化部
1420 候補決定部
1430 動きベクトル復元部
1400
Claims (10)
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定する段階と、
前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化方法。 In the method of decoding video
The stage of decoding the information about the motion vector difference of the current block in the video and the information about the predicted motion vector for specifying the predicted motion vector of the current block from the bit stream, and
The stage of constructing the predicted motion vector candidate set and
A step of adjusting the predicted motion vector candidate set based on the value of the predicted motion vector candidate in the predicted motion vector candidate set, and a step of adjusting the predicted motion vector candidate set.
A step of determining the predicted motion vector of the current block based on the adjusted predicted motion vector candidate set and the information about the predicted motion vector, and
Including a step of determining the motion vector of the current block based on the information about the predicted motion vector of the current block and the motion vector difference of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size information, and the maximum coding unit is hierarchically divided by one or more coding units having a depth to encode the current depth. The unit is one of the coding units divided from the higher depth coding unit.
A decoding method, wherein the current block is included in the coding unit of the current depth.
前記予測動きベクトル候補集合内の重複する値を有する1次予測動きベクトル候補が存在する場合、前記重複する値を有する1次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項1に記載の復号化方法。 The step of adjusting the predicted motion vector candidate set is
When there are primary predicted motion vector candidates having overlapping values in the predicted motion vector candidate set, one of the primary predicted motion vector candidates having overlapping values is removed by the predicted motion vector candidate set. The decoding method according to claim 1, wherein the decoding method is characterized by the above.
前記予測動きベクトル情報は、1ビットの二進数値を通じて前記2つの予測動きベクトル候補のうち一つを示すことを特徴とする請求項1に記載の復号化方法。 The adjusted predicted motion vector candidate set contains a total of two predicted motion vector candidates.
The decoding method according to claim 1, wherein the predicted motion vector information indicates one of the two predicted motion vector candidates through a 1-bit binary numerical value.
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する動きベクトル復元部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化装置。 A decoding unit that decodes information about the motion vector difference of the current block in the video and information about the predicted motion vector for specifying the predicted motion vector of the current block from the bit stream.
A candidate determination unit that constitutes a predicted motion vector candidate set and adjusts the predicted motion vector candidate set based on the values of the predicted motion vector candidates in the predicted motion vector candidate set.
Based on the information about the adjusted predicted motion vector candidate set and the predicted motion vector, the predicted motion vector of the current block is determined, and the information about the predicted motion vector of the current block and the motion vector difference of the current block is used. Based on, the motion vector restoration unit that determines the motion vector of the current block is included.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size information, and the maximum coding unit is hierarchically divided by one or more coding units having a depth to encode the current depth. The unit is one of the coding units divided from the higher depth coding unit.
A decoding device, characterized in that the current block is included in the coding unit of the current depth.
前記候補決定部は、1ビットの二進数値を有する前記予測動きベクトル情報を通じて前記2つの予測動きベクトル候補のうち一つを決定することを特徴とする請求項4に記載の復号化装置。 The candidate determination unit adjusts the predicted motion vector candidate set so as to include a total of two predicted motion vector candidates.
The decoding device according to claim 4, wherein the candidate determination unit determines one of the two predicted motion vector candidates through the predicted motion vector information having a 1-bit binary value.
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、符号化方法。 In the method of coding video
At the stage of performing inter-prediction for the current block in the video and determining the motion vector of the current block,
The stage of constructing the predicted motion vector candidate set and
A step of adjusting the predicted motion vector candidate set based on the value of the predicted motion vector candidate in the predicted motion vector candidate set, and a step of adjusting the predicted motion vector candidate set.
Among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, the predicted motion vector of the current block is determined, and the predicted motion vector of the current block is specified. And the stage of encoding information about the predicted motion vector for
A step of encoding information about the difference between the motion vector of the current block and the predicted motion vector of the current block, which indicates the difference between the motion vector of the current block and the predicted motion vector of the current block.
Including a step of generating a bitstream containing information about the motion vector difference of the current block and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size, and the maximum coding unit is hierarchically divided by one or more coding units having a depth, and the coding unit of the current depth. Is one of the coding units divided from the higher depth coding unit,
A coding method, wherein the current block is included in the coding unit of the current depth.
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、符号化装置。 In a device that encodes video
A motion vector estimation unit that performs inter-prediction for the current block in the video and determines the motion vector of the current block.
A candidate determination unit that constitutes a predicted motion vector candidate set and adjusts the predicted motion vector candidate set based on the values of the predicted motion vector candidates in the predicted motion vector candidate set.
To determine the predicted motion vector of the current block among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, and to specify the predicted motion vector of the current block. The information about the predicted motion vector of the current block is encoded, and the information about the difference of the motion vector of the current block indicating the difference between the motion vector of the current block and the predicted motion vector of the current block is encoded, and the motion of the current block is encoded. Includes a motion vector encoding unit that generates a bit stream containing information about the vector difference and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size, and the maximum coding unit is hierarchically divided by one or more coding units having a depth, and the coding unit of the current depth. Is one of the coding units divided from the higher depth coding unit,
A coding device, characterized in that the current block is included in the coding unit of the current depth.
現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含むことを特徴とする符号化方法。 In the method of coding video
At the stage of performing inter-prediction for the current block and determining the motion vector of the current block,
The stage of constructing the predicted motion vector candidate set and
A step of adjusting the predicted motion vector candidate set based on the value of the predicted motion vector candidate in the predicted motion vector candidate set, and a step of adjusting the predicted motion vector candidate set.
To determine the predicted motion vector of the current block among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, and to specify the predicted motion vector of the current block. And the stage of encoding information about the predicted motion vector of
A step of encoding information about the difference in the motion vector of the current block, which indicates the difference between the motion vector of the current block and the predicted motion vector of the current block.
Including a step of generating a bitstream containing information about the motion vector difference of the current block and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
A coding method, wherein the adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
現在ブロックに対するインター予測を行って前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含むことを特徴とする符号化装置。 In a device that encodes video
A motion vector estimation unit that performs inter-prediction for the current block and determines the motion vector of the current block.
A candidate determination unit that constitutes a predicted motion vector candidate set and adjusts the predicted motion vector candidate set based on the values of the predicted motion vector candidates in the predicted motion vector candidate set.
To determine the predicted motion vector of the current block among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, and to specify the predicted motion vector of the current block. The information about the predicted motion vector of the current block is encoded, and the information about the difference of the motion vector of the current block indicating the difference between the motion vector of the current block and the predicted motion vector of the current block is encoded, and the motion of the current block is encoded. Includes a motion vector encoding unit that generates a bit stream containing information about the vector difference and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The encoding device, wherein the adjacent block includes a first block at the lower left of the current block and a second block above the first block.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29616310P | 2010-01-19 | 2010-01-19 | |
US61/296,163 | 2010-01-19 | ||
KR1020110004015A KR101768207B1 (en) | 2010-01-19 | 2011-01-14 | Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates |
KR10-2011-0004015 | 2011-01-14 | ||
JP2019084467A JP6740420B2 (en) | 2010-01-19 | 2019-04-25 | Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019084467A Division JP6740420B2 (en) | 2010-01-19 | 2019-04-25 | Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020182236A JP2020182236A (en) | 2020-11-05 |
JP6935553B2 true JP6935553B2 (en) | 2021-09-15 |
Family
ID=62565747
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018001693A Active JP6523494B2 (en) | 2010-01-19 | 2018-01-10 | Method and apparatus for encoding / decoding motion vector based on reduced predicted motion vector candidate |
JP2019084467A Active JP6740420B2 (en) | 2010-01-19 | 2019-04-25 | Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate |
JP2020124907A Active JP6935553B2 (en) | 2010-01-19 | 2020-07-22 | Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018001693A Active JP6523494B2 (en) | 2010-01-19 | 2018-01-10 | Method and apparatus for encoding / decoding motion vector based on reduced predicted motion vector candidate |
JP2019084467A Active JP6740420B2 (en) | 2010-01-19 | 2019-04-25 | Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate |
Country Status (2)
Country | Link |
---|---|
JP (3) | JP6523494B2 (en) |
RU (1) | RU2701087C1 (en) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5731840A (en) * | 1995-03-10 | 1998-03-24 | Kabushiki Kaisha Toshiba | Video coding/decoding apparatus which transmits different accuracy prediction levels |
KR100355831B1 (en) * | 2000-12-06 | 2002-10-19 | 엘지전자 주식회사 | Motion vector coding method based on 2-demension least bits prediction |
KR100865034B1 (en) * | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | Method for predicting motion vector |
US7978769B2 (en) * | 2003-06-30 | 2011-07-12 | Ntt Docomo, Inc. | Method and apparatus for coding motion information |
US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
KR101356734B1 (en) * | 2007-01-03 | 2014-02-05 | 삼성전자주식회사 | Method and apparatus for video encoding, and method and apparatus for video decoding using motion vector tracking |
KR101365574B1 (en) * | 2007-01-29 | 2014-02-20 | 삼성전자주식회사 | Method and apparatus for video encoding, and Method and apparatus for video decoding |
JP5025286B2 (en) * | 2007-02-28 | 2012-09-12 | シャープ株式会社 | Encoding device and decoding device |
JP4809296B2 (en) * | 2007-06-15 | 2011-11-09 | シャープ株式会社 | Video encoding apparatus and video decoding apparatus |
ES2812473T3 (en) * | 2008-03-19 | 2021-03-17 | Nokia Technologies Oy | Combined motion vector and benchmark prediction for video encoding |
JP4977094B2 (en) * | 2008-06-25 | 2012-07-18 | 株式会社東芝 | Image coding method |
KR101517768B1 (en) * | 2008-07-02 | 2015-05-06 | 삼성전자주식회사 | Method and apparatus for encoding video and method and apparatus for decoding video |
JP5422168B2 (en) * | 2008-09-29 | 2014-02-19 | 株式会社日立製作所 | Video encoding method and video decoding method |
JPWO2011034148A1 (en) * | 2009-09-18 | 2013-02-14 | シャープ株式会社 | Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data |
JPWO2011048903A1 (en) * | 2009-10-20 | 2013-03-07 | シャープ株式会社 | Moving picture coding apparatus, moving picture decoding apparatus, and data structure |
KR101768207B1 (en) * | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates |
-
2018
- 2018-01-10 JP JP2018001693A patent/JP6523494B2/en active Active
-
2019
- 2019-01-17 RU RU2019101175A patent/RU2701087C1/en active
- 2019-04-25 JP JP2019084467A patent/JP6740420B2/en active Active
-
2020
- 2020-07-22 JP JP2020124907A patent/JP6935553B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018093504A (en) | 2018-06-14 |
JP6740420B2 (en) | 2020-08-12 |
JP2019146252A (en) | 2019-08-29 |
JP2020182236A (en) | 2020-11-05 |
JP6523494B2 (en) | 2019-06-05 |
RU2701087C1 (en) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6275889B2 (en) | Method and apparatus for encoding / decoding motion vectors based on reduced predicted motion vector candidates | |
JP5856268B2 (en) | Video decoding method | |
KR102027474B1 (en) | Method and apparatus for encoding/decoding image by using motion vector of previous block as motion vector of current block | |
KR101974140B1 (en) | Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates | |
JP6935553B2 (en) | Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates | |
AU2015201666B2 (en) | Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210714 |
|
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: 20210727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6935553 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |