JP6740420B2 - Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate - Google Patents

Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate Download PDF

Info

Publication number
JP6740420B2
JP6740420B2 JP2019084467A JP2019084467A JP6740420B2 JP 6740420 B2 JP6740420 B2 JP 6740420B2 JP 2019084467 A JP2019084467 A JP 2019084467A JP 2019084467 A JP2019084467 A JP 2019084467A JP 6740420 B2 JP6740420 B2 JP 6740420B2
Authority
JP
Japan
Prior art keywords
motion vector
vector predictor
current block
block
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019084467A
Other languages
Japanese (ja)
Other versions
JP2019146252A (en
Inventor
リ,テミー
ハン,ウ−ジン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020110004015A external-priority patent/KR101768207B1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019146252A publication Critical patent/JP2019146252A/en
Priority to JP2020124907A priority Critical patent/JP6935553B2/en
Application granted granted Critical
Publication of JP6740420B2 publication Critical patent/JP6740420B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Description

本発明は、動きベクトルを符号化/復号化する方法及び装置に係り、さらに詳細には、現在ブロックの動きベクトルを予測符号化、予測復号化する方法及び装置に関する。 The present invention relates to a method and a device for coding/decoding a motion vector, and more particularly to a method and a device for predictive coding and predictive decoding of 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 H.264/MPEG-4 AVC (advanced video coding) utilize motion vectors of previously encoded blocks adjacent to the current block to predict the motion vector of the current block. For the current block, the median of the motion vectors of the previously coded blocks adjacent to the left side, the upper side, and the upper right side is used as the motion vector predictor of the current block. The motion vector of the current block is not coded as it is, but only the motion vector difference between the motion vector of the current block and the predicted motion vector is coded.

本発明の一つ以上の例示的な実施形態は、動きベクトルを予測符号化、予測復号化する方法及び装置を提供し、前記方法を行うためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するものである。 One or more exemplary embodiments of the present invention provide a method and apparatus for predictive coding and predictive decoding of a motion vector, and a computer readable recording medium storing a program for performing the method. It is provided.

前記技術的課題を解決するための本発明の一実施形態による動きベクトルを符号化する方法は、現在ブロックの動きベクトルを推定し、前記推定結果に基づいて、予測動きベクトルの全体候補のうち、第1予測動きベクトル候補を、前記現在ブロックの予測動きベクトルとして決定し、前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとに基づいて、動きベクトルについての情報を生成する段階と、前記全体候補のうち、第2予測動きベクトル候補及び前記差ベクトルを利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記差ベクトルと前記動きベクトルとについての情報を比較し、前記第2予測動きベクトル候補を、前記全体候補から選択的に除外する段階と、前記動きベクトルについての情報、及び前記現在ブロックの予測動きベクトルについての情報を符号化する段階と、を含む。 A method for encoding a motion vector according to an embodiment of the present invention to solve the technical problem is to estimate a motion vector of a current block and, based on the estimation result, among all candidates of a motion vector predictor, Determining a first motion vector predictor candidate as a motion vector predictor of the current block, and generating information about the motion vector based on the motion vector of the current block and the motion vector predictor of the current block; Of the overall candidates, a second motion vector predictor candidate and the difference vector are used to generate a virtual motion vector, and a difference vector between the virtual motion vector and each of the overall candidates is generated. And the information about the motion vector and selectively excluding the second motion vector predictor candidate from the overall candidates, information about the motion vector, and the motion vector predictor of the current block. Encoding the information.

前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する方法は、現在ブロックの動きベクトルについての情報を復号化する段階と、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する段階と、除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する段階と、を含む。 A method of decoding a motion vector according to an exemplary embodiment of the present invention to solve the technical problem is to decode information about a motion vector of a current block, and select a predetermined motion vector from among all motion vector predictor candidates. Of the motion vector predictor candidate and the information about the decoded motion vector to generate a virtual motion vector, generate a difference vector between the virtual motion vector and each of the overall candidates, and Comparing the resulting difference vector with information about the decoded motion vector, selectively excluding the predetermined motion vector predictor from the overall candidate, and selecting a candidate motion vector predictor that has not been excluded. Determining one of them as a motion vector predictor of the current block, and restoring the motion vector of the current block based on the determined motion vector predictor and 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 motion vector predictor, Motion vector estimation that determines a first motion vector predictor candidate as the motion vector predictor of the current block, and generates information about the motion vector based on the motion vector of the current block and the motion vector predictor of the current block. A part of the whole candidates, a second motion vector predictor candidate and the difference vector are used to generate a virtual motion vector, and a difference vector between the virtual motion vector and each of the whole candidates is generated; A candidate determining unit that compares information about a difference vector and the motion vector and selectively excludes the second motion vector predictor candidate from the overall candidate; and information about the motion vector, and prediction of the current block. A motion vector estimator that encodes information about the motion vector.

前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する装置は、現在ブロックの動きベクトルについての情報を復号化する動きベクトル復号化部;予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する候補決定部;及び除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する動きベクトル復元部;を含む。 An apparatus for decoding a motion vector according to an embodiment of the present invention for solving the above technical problem is a motion vector decoding unit for decoding information about a motion vector of a current block; Among them, a virtual motion vector is generated using a predetermined motion vector predictor candidate and information about 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 motion vector predictor from the overall candidate; One of the motion vector candidates is determined as the motion vector predictor of the current block, and the motion vector of the current block is determined based on the determined motion vector predictor and the information about the decoded motion vector. A motion vector restoring unit for restoring the.

前記技術的課題を解決するために本発明は、前記動きベクトルを符号化する方法及び/または復号化する方法を行うためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。 In order to solve the technical problem, the present invention provides a computer-readable recording medium having recorded therein a program for performing the method of encoding the motion vector and/or the method of decoding the motion vector.

本発明によれば、予測動きベクトルの候補を利用し、動きベクトルを予測符号化、予測復号化する場合にも、予測動きベクトルの候補の個数を減らし、動きベクトルを予測符号化、予測復号化することができる。従って、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測に利用された予測動きベクトル候補を特定するのに必要な情報を最小限のビットで符号化することができ、動きベクトル符号化/復号化の圧縮率が向上し、これによって、映像符号化/復号化の圧縮率も向上しうる。 According to the present invention, the number of motion vector predictor candidates is reduced and the motion vector is motion vector predictive coding and predictive decoding even when motion vector predictive coding and predictive decoding are performed using motion vector predictor candidates. can do. Therefore, of the motion vector predictor candidates, the information necessary to specify the motion vector predictor candidate used for prediction of the motion vector of the current block can be encoded with the minimum number of bits. The compression rate of /decoding is improved, and thus the compression rate of video encoding/decoding can be improved.

本発明の一実施形態による映像符号化装置を図示する図面である。3 is a diagram illustrating a video encoding apparatus according to an exemplary embodiment of the present invention. 本発明の一実施形態による映像復号化装置を図示する図面である。3 is a diagram illustrating a video decoding apparatus according to an exemplary embodiment of the present invention. 本発明の一実施形態による階層的符号化単位を図示する図面である。5 is a diagram illustrating a hierarchical coding unit according to an embodiment of the present invention. 本発明の一実施形態による符号化単位に基づいた映像符号化部を図示する図面である。4 is a diagram illustrating a video encoding unit based on an encoding unit according to an exemplary embodiment of the present invention. 本発明の一実施形態による符号化単位に基づいた映像復号化部を図示する図面である。6 is a diagram illustrating a video decoding unit based on a coding unit according to an embodiment of the present invention. 本発明の一実施形態による最大符号化単位、サブ符号化単位及び予測単位を図示する図面である。6 is a diagram illustrating a maximum coding unit, a sub-coding unit, and a prediction unit according to an embodiment of the present invention. 本発明の一実施形態による、符号化単位及び変換単位を図示する図面である。5 is a diagram illustrating a coding unit and a conversion unit according to an embodiment of the present invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。6 is a diagram illustrating a division form of a coding unit, a prediction unit, and a conversion unit according to an embodiment of the present invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。6 is a diagram illustrating a division form of a coding unit, a prediction unit, and a conversion unit according to an embodiment of the present invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。6 is a diagram illustrating a division form of a coding unit, a prediction unit, and a conversion unit according to an embodiment of the present invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。6 is a diagram illustrating a division form of a coding unit, a prediction unit, and a conversion unit according to an embodiment of the present invention. 本発明の一実施形態による動きベクトルを符号化する装置を図示する図面である。6 is a diagram illustrating an apparatus for encoding a motion vector according to an exemplary embodiment of the present invention. 本発明の一実施形態による予測動きベクトルの候補を図示する図面である。6 is a diagram illustrating candidates of a motion vector predictor according to an exemplary embodiment of the present invention. 本発明の一実施形態による予測動きベクトルの候補を図示する図面である。6 is a diagram illustrating candidates of a motion vector predictor according to an exemplary embodiment of the present invention. 本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。6 is a diagram illustrating blocks of various sizes adjacent to a current block according to an exemplary embodiment of the present invention. 本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。6 is a diagram illustrating blocks of various sizes adjacent to a current block according to an exemplary embodiment of the present invention. 本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。6 is a diagram illustrating blocks of various sizes adjacent to a current block according to an exemplary embodiment of the present invention. 本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。6 is a diagram illustrating candidates of a motion vector predictor according to another embodiment of the present invention. 本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。6 is a diagram illustrating candidates of a motion vector predictor according to another embodiment of the present invention. 本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。6 is a diagram illustrating candidates of a motion vector predictor according to another embodiment of the present invention. 本発明の一実施形態による予測動きベクトルの候補を縮小する方法を図示する図面である。5 is a diagram illustrating a method of reducing a motion vector predictor candidate according to an embodiment of the present invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。6 is a diagram illustrating a position of a current block included in an encoding unit having a predetermined size according to an exemplary embodiment of the present invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。6 is a diagram illustrating a position of a current block included in an encoding unit having a predetermined size according to an exemplary embodiment of the present invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。6 is a diagram illustrating a position of a current block included in an encoding unit having a predetermined size according to an exemplary embodiment of the present invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。6 is a diagram illustrating a position of a current block included in an encoding unit having a predetermined size according to an exemplary embodiment of the present invention. 本発明の一実施形態による動きベクトルを復号化する装置を図示する図面である。5 is a diagram illustrating an apparatus for decoding a motion vector according to an exemplary embodiment of the present invention. 本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。6 is a flowchart illustrating a method of encoding a motion vector according to an exemplary embodiment of the present invention. 本発明の一実施形態による動きベクトルを復号化する方法を説明するためのフローチャートである。6 is a flowchart illustrating a method of decoding a motion vector according to an exemplary embodiment of the present invention.

以下、図面を参照しつつ、本発明の実施形態について詳細に説明する。「少なくとも1の〜」のような表現は、構成要素のリストに先行する場合、構成要素の全体リストを変更し、リストの個別的な構成要素を変更するものではない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. An expression such as "at least one of" modifies the entire list of components, but not the individual components of the list, if it precedes the list of components.

以下、映像は、ビデオの静止映像、または動画及びビデオ自体を示す。 Hereinafter, the image refers to a still image of the video, or a moving image and the video itself.

図1は、本発明の一実施形態による映像符号化装置を図示している。図1を参照すれば、本発明の一実施形態による映像符号化装置100は、最大符号化単位分割部110、符号化深度決定部120、映像データ符号化部130及び符号化情報符号化部140を含む。 FIG. 1 illustrates a video encoding device according to an embodiment of the present invention. Referring to FIG. 1, a video coding apparatus 100 according to an exemplary embodiment of the present invention includes a maximum coding unit dividing unit 110, a coding depth determining unit 120, a video data coding unit 130, and a coding information coding unit 140. including.

最大符号化単位分割部110は、最大サイズの符号化単位である最大符号化単位に基づいて、現在フレームまたは現在スライスを分割することができる。現在フレームまたは現在スライスを少なくとも1つの最大符号化単位に分割することができる。 The maximum coding unit dividing unit 110 may divide the current frame or the current slice based on the maximum coding unit which is the maximum size coding unit. The current frame or current slice may be divided into at least one maximum coding unit.

本発明の一実施形態によれば、最大符号化単位及び深度を利用して、符号化単位が表現されもする。前述のように、最大符号化単位は、現在フレームの符号化単位のうち、大きさが最大である符号化単位を示し、深度は、符号化単位が階層的に縮小された程度を示す。深度が大きくなりつつ、符号化単位は、最大符号化単位から最小符号化単位まで縮小され、最大符号化単位の深度は、最小深度として定義され、最小符号化単位の深度は、最大深度として定義されもする。最大符号化単位は、深度が大きくなるにつれて、深度別符号化単位の大きさは小さくなり、k深度のサブ符号化単位は、kより大きい深度の複数個のサブ符号化単位を含んでもよい。 According to an embodiment of the present invention, the maximum coding unit and the depth may be used to represent the coding unit. 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 unit is 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. Also done. In the maximum coding unit, the size of each depth coding unit decreases as the depth increases, and the k-depth sub-coding unit may include a plurality of sub-coding units having a depth larger than k.

符号化されるフレームの大きさが大きくなるにつれ、さらに大きい単位で映像を符号化すれば、さらに高い映像圧縮率で映像を符号化することができる。しかし、符号化単位を大きくし、その大きさを固定させてしまえば、変わり続ける映像の特性を反映して効率的に映像を符号化することができない。 As the size of the frame to be coded increases, if the video is coded in a larger unit, the video can be coded at a higher video compression rate. However, if the encoding unit is increased and the size is fixed, it is impossible to efficiently encode the image by reflecting the continuously changing characteristic of the image.

例えば、海または空に係わる平坦な領域を符号化するときには、符号化単位を大きくするほど、圧縮率が向上するが、人またはビルに係わる複雑な領域を符号化するときには、符号化単位を小さくするほど圧縮率が向上する。 For example, when coding a flat area related to the sea or the sky, the compression rate improves as the coding unit increases, but when coding a complicated area related to a person or a building, the coding unit decreases. The higher the compression rate, the better.

このために、本発明の一実施形態は、フレームまたはスライスごとに異なるサイズの最大映像符号化単位を設定し、最大深度を設定する。最大深度は、符号化単位が縮小される最大回数を意味するので、最大深度によって、最大映像符号化単位に含まれた最小符号化単位サイズを可変的に設定することができる。 To this end, an embodiment of the present invention sets a maximum video coding unit of a different size for each frame or slice and sets a 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 according to the maximum depth.

符号化深度決定部120は、最大深度を決定する。最大深度は、R−Dコスト(rate-distortion cost)計算に基づいて決定される。最大深度は、フレームまたはスライスごとに異なって決定されたり、あるいはそれぞれの最大符号化単位ごとに異なって決定されてもよい。決定された最大深度は、符号化情報符号化部140に出力され、最大符号化単位別映像データは、映像データ符号化部130に出力される。 The coding depth determination unit 120 determines the maximum depth. The maximum depth is determined based on the RD cost (rate-distortion cost) calculation. The maximum depth may be determined differently for each frame or slice, or for each maximum coding unit. The determined maximum depth is output to the coding information coding unit 140, and the video data for each maximum coding unit is output to the video data coding unit 130.

最大深度は、最大符号化単位に含まれる最小サイズの符号化単位、すなわち、最小符号化単位を意味する。言い換えれば、最大符号化単位は、異なる深度によって、異なるサイズのサブ符号化単位に分割されもする。図8Aないし図8Dを参照して、詳細に後述する。また、最大符号化単位に含まれた異なるサイズのサブ符号化単位は、異なるサイズの処理単位に基づいて、予測または変換が行われる。変換は、空間ドメインのピクセル値を、周波数ドメインの係数に変換するのであり、離散コサイン変換(discrete cosine transform)またはKLT(Karhunen Loever transform)であってもよい。 The maximum depth means the minimum size coding unit included in the maximum coding unit, that is, the minimum coding unit. In other words, the maximum coding unit may be divided into sub-coding units of different sizes according to different depths. This will be described in detail later with reference to FIGS. 8A to 8D. In addition, sub-coding units having different sizes included in the maximum coding unit are predicted or converted based on processing units having different sizes. The transformation transforms pixel values in the spatial domain into coefficients in the frequency domain, and may be a discrete cosine transform or KLT (Karhunen Loever transform).

言い換えれば、映像符号化装置100は、映像符号化のための複数の処理段階を、多様なサイズ及び多様な形態の処理単位に基づいて遂行することができる。映像データの符号化のためには、予測、変換、エントロピ符号化などの処理段階を経るが、すべての段階にわたって等しい大きさの処理単位が利用されもし、段階別に異なるサイズの処理単位を利用することもできる。 In other words, the video coding apparatus 100 may perform a plurality of processing steps for video coding based on processing units of various sizes and various forms. For encoding video data, processing steps such as prediction, conversion, and entropy coding are performed, but processing units of the same size are used in all steps, or processing units of different sizes are used for each step. You can also

例えば、映像符号化装置100は、所定の符号化単位を予測するために、符号化単位と異なる処理単位を選択することができる。 For example, the video encoding device 100 can select a processing unit different from the encoding unit in order to predict a predetermined encoding unit.

符号化単位の大きさが、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, the motion estimation may be performed based on a processing unit in which at least one of the height and the width of the coding unit is halved. 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 be performed only on a prediction unit having a specific size or shape. For example, the intra mode is performed only for a prediction unit having a square size of 2Nx2N, NxN. Also, the skip mode is performed only for a prediction unit of size 2Nx2N. If there are a plurality of prediction units inside a coding unit, prediction is performed for each prediction unit, and the prediction mode with the smallest coding error may be selected.

また、映像符号化装置100は、符号化単位と異なる大きさの処理単位に基づいて、映像データを変換することができる。符号化単位の変換のために、符号化単位より小さいか、あるいは同じである大きさのデータ単位を基に、変換が行われもする。以下、変換の基になる処理単位を「変換単位」とする。 Also, the video encoding device 100 can convert the video data based on a processing unit having a size different from the encoding unit. In order to convert the coding unit, the conversion may be performed based on a data unit having a size smaller than or equal to the coding unit. Hereinafter, the processing unit that is the basis of conversion will be referred to as a “conversion unit”.

符号化深度決定部120は、ラグランジュ乗数(Lagrangian multiplier)基盤の率・歪曲最適化技法(rate-distortion optimization)を利用し、最大符号化単位に含まれたサブ符号化単位を決定することができる。言い換えれば、最大符号化単位が、いかなる形態の複数のサブ符号化単位に分割されるか決定することができるが、ここで、複数のサブ符号化単位は、深度によって大きさが異なる。その後、映像データ符号化部130は、符号化深度決定部120で決定された分割形態に基づいて、最大符号化単位を符号化してビットストリームを出力する。 The coding depth determination unit 120 may use a Lagrangian multiplier-based rate-distortion optimization technique to determine a sub-coding unit included in the maximum coding unit. .. In other words, it is possible to determine in what form the maximum coding unit is divided into a plurality of sub-coding units, where the plurality of sub-coding units have different sizes depending on the depth. After that, the video data encoding unit 130 encodes the maximum encoding unit based on the division mode determined by the encoding depth determination unit 120 and outputs a bitstream.

符号化情報符号化部140は、符号化深度決定部120で決定された最大符号化単位の符号化モードについての情報を符号化する。最大符号化単位の分割形態についての情報、最大深度についての情報、及び深度別サブ符号化単位の符号化モードについての情報を符号化し、ビットストリームを出力する。サブ符号化単位の符号化モードについての情報は、サブ符号化単位の予測単位についての情報、予測単位別予測モード情報、サブ符号化単位の変換単位についての情報などを含んでもよい。 The coding information coding unit 140 codes information about the coding mode of the maximum coding unit determined by the coding depth determination unit 120. The information about the division form of the maximum coding unit, the information about the maximum depth, and the information about the coding mode of the sub coding unit for each depth are coded, and a bitstream is output. The information about the coding mode of the sub coding unit may include information about the prediction unit of the sub coding unit, prediction mode information for each prediction unit, information about the conversion unit of the sub coding unit, and the like.

最大符号化単位の分割形態についての情報は、それぞれの符号化単位について、分割いかんを示す情報であってもよい。例えば、最大符号化単位を分割して符号化する場合、最大符号化単位に対して分割いかんを示す情報を符号化し、最大符号化単位を分割して生成されたサブ符号化単位をさらに分割して符号化する場合にも、それぞれのサブ符号化単位に対して分割いかんを示す情報を符号化する。分割いかんを示す情報は、分割いかんを示すフラグ情報であってもよい。 The information on the division form of the maximum coding unit may be information indicating division for 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 by means of information, information indicating division is encoded for each sub-encoding unit. The information indicating the division information may be flag information indicating the division information.

最大符号化単位ごとに異なるサイズのサブ符号化単位が存在し、それぞれのサブ符号化単位ごとに符号化モードについての情報が決定されなければならないので、1つの最大符号化単位については、少なくとも1つの符号化モードについての情報が決定される。 Since there are sub-coding units of different sizes for each maximum coding unit and the information about the coding mode has to be determined for each sub-coding unit, at least 1 for one maximum coding unit. Information about one coding mode is determined.

映像符号化装置100は、深度が大きくなるにつれて、最大符号化単位を高さ及び幅を半分にし、サブ符号化単位を生成することができる。すなわち、k深度の符号化単位の大きさが2Nx2Nであるならば、k+1深度の符号化単位の大きさは、NxNである。 The video coding apparatus 100 can generate a sub-coding unit by halving the maximum coding unit in height and width as the depth increases. That is, if the size of a k-depth coding unit is 2Nx2N, the size of a k+1-depth coding unit is NxN.

従って、一実施形態による映像符号化装置100は、映像の特性を考慮した最大符号化単位の大きさ及び最大深度を基に、それぞれの最大符号化単位ごとに、最適の分割形態を決定することができる。映像特性を考慮して、可変的に最大符号化単位の大きさを調節し、異なる深度のサブ符号化単位で最大符号化単位を分割して映像を符号化することにより、多様な解像度の映像をさらに効率的に符号化することができる。 Therefore, the image encoding apparatus 100 according to an embodiment may determine an optimal division mode for each maximum encoding unit based on the size and maximum depth of the maximum encoding unit in consideration of video characteristics. You can The size of the maximum coding unit is variably adjusted in consideration of the video characteristics, and the maximum coding unit is divided into sub-coding units of different depths to encode the video, thereby enabling the video with various resolutions. Can be encoded more efficiently.

図2は、本発明の一実施形態による映像復号化装置を図示している。図2を参照すれば、本発明の一実施形態による映像復号化装置200は、映像データ獲得部210、符号化情報抽出部220及び映像データ復号化部230を含む。 FIG. 2 illustrates a video decoding apparatus according to an exemplary embodiment of the present invention. Referring to FIG. 2, a video decoding apparatus 200 according to an exemplary embodiment of the present invention includes a video data acquisition unit 210, a coded information extraction unit 220, and a video data decoding unit 230.

映像関連データ獲得部210は、映像復号化装置200が受信したビットストリームをパージングし、最大符号化単位別に映像データを獲得し、映像データ復号化部230に出力する。映像データ獲得部210は、現在フレームまたはスライスに係わるヘッダから、現在フレームまたはスライスの最大符号化単位についての情報を抽出することができる。言い換えれば、ビットストリームを最大符号化単位に分割し、映像データ復号化部230に、最大符号化単位ごとに映像データを復号化させる。 The video-related data acquisition unit 210 parses the bit stream received by the video decoding device 200, acquires video data for each maximum coding unit, and outputs the video data to the video data decoding unit 230. The image data acquisition unit 210 may extract information about the maximum coding unit of the current frame or slice from the header related to the current frame or slice. In other words, the bitstream is divided into maximum coding units, and the video data decoding unit 230 is caused to decode the video data for each maximum coding unit.

符号化情報抽出部220は、映像復号化装置200が受信したビット列をパージングし、現在フレームに係わるヘッダから、最大符号化単位、最大深度、最大符号化単位の分割形態、サブ符号化単位の符号化モードについての情報を抽出する。分割形態及び符号化モードについての情報は、映像データ復号化部230に出力される。 The coding information extraction unit 220 parses the bit string received by the video decoding apparatus 200, and determines from the header of the current frame the maximum coding unit, the maximum depth, the division form of the maximum coding unit, and the code of the sub-coding unit. Extract information about activation mode. Information about the division mode and the encoding mode is output to the video data decoding unit 230.

最大符号化単位の分割形態についての情報は、最大符号化単位に含まれた深度によって異なるサイズのサブ符号化単位についての情報を含んでもよい。前述のように、分割形態についての情報は、それぞれの符号化単位に対して符号化された分割いかんを示す情報(例えば、フラグ情報)であってもよい。符号化モードについての情報は、サブ符号化単位別予測単位についての情報、予測モードについての情報及び変換単位についての情報などを含んでもよい。 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 included in the maximum coding unit. As described above, the information on the division mode may be information (for example, flag information) indicating the division coded 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 transform unit, and the like.

映像データ復号化部230は、符号化情報抽出部で抽出された情報に基づいて、それぞれの最大符号化単位の映像データを復号化して現在フレームを復元する。 The video data decoding unit 230 decodes the video data of each maximum coding unit based on the information extracted by the coding information extraction unit to restore the current frame.

最大符号化単位の分割形態についての情報に基づいて、映像データ復号化部230は、最大符号化単位に含まれたサブ符号化単位を復号化することができる。復号化過程は、イントラ予測及び動き補償を含むインター予測過程及び逆変換過程を含んでもよい。 The video data decoding unit 230 may decode the sub coding unit included in the maximum coding unit based on the information about the division form of the maximum coding unit. The decoding process may include an inter prediction process and an inverse transform process including intra prediction and motion compensation.

映像データ復号化部230は、サブ符号化単位の予測のために、サブ符号化単位別予測単位についての情報、及び予測モードについての情報に基づいて、イントラ予測またはインター予測を行うことができる。また、映像データ復号化部230は、サブ符号化単位の変換単位についての情報に基づいて、サブ符号化単位ごとに逆変換を行うことができる。 The video data decoding unit 230 may perform intra prediction or inter prediction based on the information about the prediction unit for each sub coding unit and the information about the prediction mode for the prediction of the sub coding unit. In addition, the video data decoding unit 230 can perform inverse conversion for each sub-encoding unit based on the information about the conversion unit of the sub-encoding unit.

図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 present 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 units, there may be coding units having a width x height of 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, 4x8.

図3を参照すれば、解像度が1920x1080である映像データ310について、最大符号化単位の大きさが64x64、最大深度が2に設定されている。 Referring to FIG. 3, with respect to the video data 310 having a resolution of 1920×1080, the maximum coding unit size is set to 64×64 and the maximum depth is set to 2.

他の解像度が1920x1080である映像データ320について、最大符号化単位の大きさが64x64、最大深度が4に設定されている。解像度が352x288であるビデオデータ330について、最大符号化単位の大きさが16x16、最大深度が2に設定されている。 For other video data 320 having a resolution of 1920×1080, the maximum coding unit size is set to 64×64 and the maximum depth is set to 4. For the video data 330 having a resolution of 352x288, the maximum coding unit size is set to 16x16 and the maximum depth is set to 2.

解像度が高いか、あるいはデータ量が多い場合、圧縮率向上だけではなく、映像特性を正確に反映するために、符号化サイズの最大サイズが相対的に大きいことが望ましい。従って、映像データ330に比較し、解像度が高い映像データ310及び320は、最大符号化単位の大きさが64x64に選択される。 When the resolution is high or the amount of data is large, it is desirable that the maximum encoding size is relatively large in order to accurately reflect the video characteristics as well as improving the compression rate. Therefore, the maximum encoding unit size of the video data 310 and 320 having a higher resolution than that of the video data 330 is selected as 64×64.

最大深度は、階層的符号化単位での総階層数を示す。映像データ310の最大深度が2であるので、映像データ310の符号化単位315は、長軸サイズが64である最大符号化単位から、深度が増加するにつれて、長軸サイズが32、16であるサブ符号化単位まで含んでもよい。 The maximum depth indicates the total number of layers in a hierarchical coding unit. Since the maximum depth of the video data 310 is 2, the coding unit 315 of the video data 310 has the major axis sizes of 32 and 16 as the depth increases from the maximum coding unit of the major axis size of 64. It may include a sub-coding unit.

一方、映像データ330の最大深度が2であるので、映像データ330の符号化単位335は、長軸サイズが16である最大符号化単位から、深度が増加するにつれて、長軸サイズが8、4である符号化単位まで含んでもよい。 On the other hand, since the maximum depth of the video data 330 is 2, the coding unit 335 of the video data 330 has a major axis size of 8 or 4 as the depth increases from the maximum coding unit of which the major axis size is 16. Up to the coding unit.

映像データ320の最大深度が4であるので、ビデオデータ320の符号化単位325は、長軸サイズが64である最大符号化単位から、深度が増加するにつれて、長軸サイズが32、16、8、4であるサブ符号化単位まで含んでもよい。深度が増加するほど、さらに小さいサブ符号化単位に基づいて映像を符号化するので、さらに細密な場面を含んでいる映像を符号化するのに適するようになる。 Since the maximum depth of the video data 320 is 4, the coding unit 325 of the video data 320 has the long axis size of 32, 16, 8 as the depth increases from the maximum coding unit of the long axis size of 64. 4 may be included. As the depth increases, the video is coded based on a smaller sub-coding unit, which is suitable for coding a video including a more detailed scene.

図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を利用して、インター予測及び動き補償を行う。 The intra prediction unit 410 performs intra prediction on the prediction unit of the intra mode in the current frame 405, and the motion estimation unit 420 and the motion compensation unit 425 determine the prediction unit of the inter mode on the current frame 405 and the reference frame. 495 is used to perform inter prediction and motion compensation.

イントラ予測部410、動き推定部420及び動き補償部425から出力された予測単位に基づいて、残差(residual)値が生成され、生成された残差値は、変換部430及び量子化部440を経て、量子化された変換係数として出力される。 A residual value is generated based on the prediction unit output from the intra prediction unit 410, the motion estimation unit 420, and the motion compensation unit 425, and the generated residual value is converted into the conversion unit 430 and the quantization unit 440. And is output as a quantized transform coefficient.

量子化された変換係数は、逆量子化部460、逆変換部470を介して再び残差値に復元され、復元された残差値は、デブロッキング部480及びループ・フィルタリング490を経て後処理され、参照フレーム495に出力される。量子化された変換係数は、エントロピ符号化部450を経て、ビットストリーム455に出力される。 The quantized transform coefficient is restored to the residual value again through the inverse quantizer 460 and the inverse transform unit 470, and the restored residual value is post-processed through the deblocking unit 480 and the loop filtering 490. And output to the reference frame 495. The quantized transform coefficient is output to the bitstream 455 via the entropy coding unit 450.

本発明の一実施形態による映像符号化方法によって符号化するために、映像符号化部400の構成要素であるイントラ予測部410、動き推定部420、動き補償部425、変換部430、量子化部440、エントロピ符号化部450、逆量子化部460、逆変換部470、デブロッキング部480及びループ・フィルタリング490は、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像符号化過程を処理する。 An intra prediction unit 410, a motion estimation unit 420, a motion compensation unit 425, a conversion unit 430, and a quantization unit, which are components of the video encoding unit 400, are encoded by the video encoding method according to the embodiment of the present invention. 440, the entropy coding unit 450, the dequantization unit 460, the detransformation unit 470, the deblocking unit 480, and the loop filtering 490 are all set as the maximum coding unit, the subcoding unit by depth, the prediction unit, and the transform unit. Based on the above, the video encoding process is processed.

図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 bit stream 505 passes through the parsing unit 510, and the coded video data to be decoded and the coding information necessary for decoding are parsed. The encoded video data is output as dequantized data via the entropy decoding unit 520 and the dequantization unit 530, and is restored to the residual value via the detransformation unit 540. The residual value is added to the intra prediction result of the intra prediction unit 550 or the motion compensation result of the motion compensation unit 560 to be restored for each coding unit. The restored coding unit is used for prediction of the next coding unit or the next frame after passing through the deblocking unit 570 and the loop filtering 580.

本発明の一実施形態による映像復号化方法によって復号化するために、映像復号化部400の構成要素であるパージング部510、エントロピ復号化部520、逆量子化部530、逆変換部540、イントラ予測部550、動き補償部560、デブロッキング部570及びループ・フィルタリング580が、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像復号化過程を処理する。 The parsing unit 510, the entropy decoding unit 520, the dequantization unit 530, the detransformation unit 540, and the intra, which are components of the video decoding unit 400, perform decoding by the video decoding method according to the embodiment of the present invention. The prediction unit 550, the motion compensation unit 560, the deblocking unit 570, and the loop filtering unit 580 process the video decoding process based on the maximum coding unit, the depth sub-coding unit, the prediction unit, and the transform unit. ..

特に、イントラ予測部550、動き補償部560は、最大符号化単位及び深度を考慮し、サブ符号化単位内の予測単位及び予測モードを決定し、逆変換部540は、変換単位の大きさを考慮し、逆変換を行う。 In particular, the intra prediction unit 550 and the motion compensation unit 560 determine the prediction unit and the prediction mode in the sub coding unit in consideration of the maximum coding unit and the depth, and the inverse transform unit 540 determines the size of the transform unit. Considering the above, the inverse conversion is performed.

図6は、本発明の一実施形態による最大符号化単位、サブ符号化単位及び予測単位を図示している。 FIG. 6 illustrates a maximum coding unit, a sub-coding unit, and a prediction unit according to an embodiment of the present invention.

本発明の一実施形態による映像符号化装置100及び映像復号化装置200は、映像特性を考慮して、符号化/復号化を行うために、階層的な符号化単位を利用する。最大符号化単位及び最大深度は、映像の特性によって適応的に設定されたり、ユーザの要求によって多様に設定されもする。 The video encoding apparatus 100 and the video decoding apparatus 200 according to an exemplary embodiment of the present invention use a hierarchical encoding unit to perform encoding/decoding in consideration of video characteristics. The maximum coding unit and the maximum depth may be set adaptively according to the characteristics of the image, or may be set variously according to the user's request.

本発明の一実施形態による符号化単位の階層構造600は、最大符号化単位610の高さ及び幅が64であり、最大深度が4である場合を図示している。符号化単位の階層構造600の縦軸に沿って深度が増加し、深度の増加によって、サブ符号化単位620ないし650の幅及び高さが縮小される。また、符号化単位の階層構造600の横軸に沿って、最大符号化単位610及びサブ符号化単位620ないし650の予測単位が図示されている。 A hierarchical structure 600 of coding units according to an exemplary embodiment of the present invention illustrates a case where the maximum coding unit 610 has a height and a width of 64 and a maximum depth of 4. The depth increases along the vertical axis of the hierarchical structure 600 of coding units, and the width increases and the height of the sub-coding units 620 to 650 is reduced. In addition, the prediction units of the maximum coding unit 610 and the sub-coding units 620 to 650 are illustrated along the horizontal axis of the hierarchical structure 600 of coding units.

最大符号化単位610は、深度が0であり、符号化単位の大きさ、すなわち、幅及び高さが64x64である。縦軸に沿って深度が増加し、サイズ32x32である深度1のサブ符号化単位620、サイズ16x16である深度2のサブ符号化単位630、サイズ8x8である深度3のサブ符号化単位640、サイズ4x4である深度4のサブ符号化単位650が存在する。サイズ4x4である深度4のサブ符号化単位650は、最小符号化単位である。 The maximum coding unit 610 has a depth of 0 and a size of the coding unit, that is, a width and a height of 64x64. As the depth increases along the vertical axis, a depth 1 sub-coding unit 620 having a size 32x32, a depth 2 sub-coding unit 630 having a size 16x16, a depth 3 sub-coding unit 640 having a size 8x8, and a size There is a depth 4 sub-coding unit 650 that is 4x4. A sub-coding unit 650 having a size of 4x4 and a depth of 4 is a minimum coding unit.

図6を参照すれば、それぞれの深度別に、横軸に沿って予測単位の例示が図示されている。すなわち、深度0の最大符号化単位610の予測単位は、サイズ64x64の符号化単位610と同一であるか、あるいはそれより小サイズであるサイズ64x64の予測単位610、サイズ64x32の予測単位612、サイズ32x64の予測単位614、サイズ32x32の予測単位(616であってもよい。 Referring to FIG. 6, prediction units are illustrated along the horizontal axis for each depth. That is, the prediction unit of the maximum coding unit 610 of depth 0 is the same as or smaller than the coding unit 610 of size 64x64, the prediction unit 610 of size 64x64, the prediction unit 612 of size 64x32, and the size A 32x64 prediction unit 614 and a size 32x32 prediction unit (616 may be used.

深度1のサイズ32x32の符号化単位620の予測単位は、サイズ32x32の符号化単位620と同一であるか、あるいはそれより小サイズであるサイズ32x32の予測単位620、サイズ32x16の予測単位622、サイズ16x32の予測単位624、サイズ16x16の予測単位626であってもよい。 The prediction unit of the coding unit 620 of size 32x32 at the depth 1 is the same as or smaller than the coding unit 620 of size 32x32, the prediction unit 620 of size 32x32, the prediction unit 622 of size 32x16, and the size The 16x32 prediction unit 624 and the size 16x16 prediction unit 626 may be used.

深度2のサイズ16x16の符号化単位630の予測単位は、サイズ16x16の符号化単位630と同一であるか、あるいはそれより小サイズであるサイズ16x16の予測単位630、サイズ16x8の予測単位632、サイズ8x16の予測単位634、サイズ8x8の予測単位636であってもよい。 The prediction unit of the coding unit 630 of size 16x16 of depth 2 is the same as or smaller than the coding unit 630 of size 16x16, the prediction unit 630 of size 16x16, the prediction unit 632 of size 16x8, the size of The prediction unit 634 of 8×16 and the prediction unit 636 of size 8×8 may be used.

深度3のサイズ8x8の符号化単位640の予測単位は、サイズ8x8の符号化単位640と同一であるか、あるいはそれより小サイズであるサイズ8x8の予測単位640、サイズ8x4の予測単位642、サイズ4x8の予測単位644、サイズ4x4の予測単位646であってもよい。 The prediction unit of the coding unit 640 of size 8x8 of depth 3 is the same as or smaller than the coding unit 640 of size 8x8, the prediction unit 640 of size 8x8, the prediction unit 642 of size 8x4, the size of The prediction unit 644 of 4×8 and the prediction unit 646 of size 4×4 may be used.

最後に、深度4のサイズ4x4の符号化単位650は、最大深度の符号化単位であり、予測単位は、サイズ4x4の予測単位650である。しかし、最大深度の符号化単位であるとして、必ずしも符号化単位と予測単位との大きさが同一である必要はなく、他の符号化単位610ないし650と同様に、符号化単位より小さい大きさの予測単位に分割して予測を行うこともできる。 Finally, the size 4x4 coding unit 650 of depth 4 is the maximum depth coding unit, and the prediction unit is the prediction unit 650 of size 4x4. However, as the coding unit of the maximum depth, the coding unit and the prediction unit do not necessarily have to have the same size, and like the other coding units 610 to 650, they have a size smaller than that of the coding unit. The prediction can be performed by dividing the prediction unit into

図7は、本発明の一実施形態による、符号化単位及び変換単位を図示している。 FIG. 7 illustrates coding units and transform units according to an embodiment of the present invention.

本発明の一実施形態による映像符号化装置100及び映像復号化装置200は、最大符号化単位そのまま符号化するか、あるいは最大符号化単位より小さいか、同じであるサブ符号化単位に最大符号化単位を分割して符号化する。符号化過程中、変換のための変換単位の大きさも、符号化単位及び予測単位と関係なく、最も高い圧縮率のための大きさに選択されもする。例えば、現在符号化単位710が64x64サイズであるとき、32x32サイズの変換単位720を利用して変換が行われもする。 The video encoding apparatus 100 and the video decoding apparatus 200 according to an exemplary embodiment of the present invention may perform maximum coding unit coding as it is, or may perform maximum coding in a sub coding unit that is smaller than or equal to the maximum coding unit. The unit is divided and encoded. During the encoding process, the size of the transform unit for the transform may also be selected to be the size for the highest compression rate regardless of the coding unit and the prediction unit. For example, when the current coding unit 710 has a size of 64x64, conversion may be performed using the conversion unit 720 having a size of 32x32.

図8Aないし図8Dは、本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示している。
図8A及び図8Bは、本発明の一実施形態による符号化単位及び予測単位を図示している。
8A to 8D illustrate division forms of a coding unit, a prediction unit, and a transform unit according to an embodiment of the present invention.
8A and 8B illustrate a coding unit and a prediction unit according to an embodiment of the present invention.

図8Aは、最大符号化単位810を符号化するために、本発明の一実施形態による映像符号化装置100が選択した分割形態を図示している。映像符号化装置100は、多様な形態に最大符号化単位810を分割し、符号化した後、多様な分割形態の符号化結果を、R−Dコストに基づいて比較し、最適の分割形態を選択する。最大符号化単位810をそのまま符号化することが最適である場合には、図8Aないし図8Dのように、最大符号化単位810を分割せずに、最大符号化単位800を符号化することもできる。 FIG. 8A illustrates a division mode selected by the video encoding apparatus 100 according to an exemplary embodiment of the present invention to encode the maximum coding unit 810. The video encoding apparatus 100 divides the maximum coding unit 810 into various forms, encodes the encoded units, compares the encoding results of various division forms based on the RD cost, and determines the optimal division form. select. When it is optimal to directly code the maximum coding unit 810, the maximum coding unit 800 may be coded without dividing the maximum coding unit 810 as shown in FIGS. 8A to 8D. it can.

図8Aを参照すれば、深度0である最大符号化単位810を、深度1以上のサブ符号化単位に分割して符号化する。最大符号化単位810を4つの深度1のサブ符号化単位に分割した後、全部または一部の深度1のサブ符号化単位を、さらに深度2のサブ符号化単位に分割する。 Referring to FIG. 8A, a 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 depth-1 sub-coding units, all or some of the depth-1 sub-coding units are further divided into depth-2 sub-coding units.

深度1のサブ符号化単位のうち、右側上部に位置したサブ符号化単位及び左側下部に位置したサブ符号化単位が、深度2以上のサブ符号化単位に分割された。深度2以上のサブ符号化単位のうち一部は、さらに深度3以上のサブ符号化単位に分割されもする。 Among the sub-encoding units with a depth of 1, the sub-encoding unit located on the upper right side and the sub-encoding unit located on the lower left side were divided into sub-encoding units with a depth of 2 or more. Some of the sub-coding units with a depth of 2 or more may be further divided into sub-coding units with a depth of 3 or more.

図8Bは、最大符号化単位810に係わる予測単位の分割形態を図示している。図8Bを参照すれば、最大符号化単位に係わる予測単位860は、最大符号化単位810と異なって分割される。言い換えれば、サブ符号化単位それぞれに対される予測単位は、サブ符号化単位より小さい。 FIG. 8B illustrates a division mode of a 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, the prediction unit related to the sub coding unit 854 located on the lower right side of the sub coding units of depth 1 may be smaller than the sub coding unit 854. The prediction units related to some of the sub coding units 815, 816, 850, 852 of the depth 2 sub coding units 814, 816, 818, 828, 850, 852 may be smaller than the sub coding units.

また、深度3のサブ符号化単位822,832,848に係わる予測単位は、サブ符号化単位より小さくともよい。予測単位は、それぞれのサブ符号化単位を、高さまたは幅方向に半分にした形態でもあり、高さ及び幅方向に四分した形態でもある。 Further, the prediction unit related to the sub-coding units 822, 832, 848 of depth 3 may be smaller than the sub-coding unit. The prediction unit is in a form in which each sub-coding unit is halved in the height or width direction, or in a form in which it is divided in the height and width directions.

図8C及び図8Dは、本発明の一実施形態による予測単位及び変換単位を図示している。 8C and 8D illustrate prediction units and conversion units according to an embodiment of the present invention.

図8Cは図8Bに図示された最大符号化単位810に係わる予測単位の分割形態を図示し、図8Dは、最大符号化単位810の変換単位の分割形態を図示している。 FIG. 8C illustrates a division form of a prediction unit related to the maximum coding unit 810 illustrated in FIG. 8B, and FIG. 8D illustrates a division form of a conversion unit of the maximum coding unit 810.

図8Dを参照すれば、変換単位870の分割形態は、予測単位860と異なって設定されもする。 Referring to FIG. 8D, the division mode 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 coding unit 854 of the depth 1 is selected in a form in which the height is halved, the transform unit may be selected to have the same size as the size of the coding unit 854 of the depth 1. .. Similarly, even if the prediction unit related to the coding unit 814, 850 of the depth 2 is selected in the form in which the height of the coding unit 814, 850 of the depth 2 is halved, the conversion unit is the coding of the depth 2 coding unit. The size may be selected to be equal to the original size of the units 814 and 850.

予測単位よりさらに小さい大きさに変換単位が選択されてもよい。例えば、深度2の符号化単位852に係わる予測単位が、幅を半分にした形態に選択された場合に、変換単位は、予測単位よりさらに小さい大きさである高さ及び幅を半分にした形態に選択されもする。 The conversion unit may be selected to have a size smaller than the prediction unit. For example, when the prediction unit related to the coding unit 852 having the depth of 2 is selected to have a half width, the conversion unit has a height and width that are smaller than the prediction unit. Will also be selected.

図9は、本発明の一実施形態による動きベクトルを符号化する装置を図示している。 FIG. 9 illustrates an apparatus for encoding a motion vector according to an embodiment of the present invention.

図1の映像符号化装置100、または図4の映像符号化部400に含まれ、動きベクトルを符号化する装置が図9に詳細に図示されている。図9を参照すれば、本発明の一実施形態による動きベクトル符号化装置900は、動きベクトル推定部910、候補決定部920及び動きベクトル符号化部930を含む。 An apparatus included in the video encoding apparatus 100 of FIG. 1 or the video encoding unit 400 of FIG. 4 and encoding a motion vector is illustrated in detail in FIG. Referring to FIG. 9, a motion vector encoding apparatus 900 according to an exemplary embodiment of the present invention includes a motion vector estimating unit 910, a candidate determining unit 920, and a motion vector encoding unit 930.

インター予測、すなわち、時間的予測を利用して符号化されたブロックを復号化するためには、現在ブロックと、参照ピクチャー内の類似したブロックとの相対的な位置差を示す動きベクトルについての情報が必要である。従って、映像符号化時に、動きベクトルについての情報を符号化し、ビットストリームに挿入するが、動きベクトルについての情報をそのまま符号化して挿入すれば、動きベクトルについての情報を符号化するためのオーバーヘッド(overhead)が増加し、映像データの圧縮率が低くなる。 In order to decode a block coded using inter prediction, that is, temporal prediction, information about a motion vector indicating a relative position difference between a current block and a similar block in a reference picture is used. is necessary. Therefore, at the time of video coding, the information about the motion vector is coded and inserted into the bitstream. However, if the information about the motion vector is coded and inserted as it is, the overhead for coding 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 motion vector predictor generated as a result of the prediction and the original motion vector is coded. Information about the motion vector is also compressed by inserting it into the bitstream.

動きベクトルの予測符号化には、明示モード(explicit mode)及び暗示モード(implicit mode)があってもよい。 The motion vector predictive coding may include an explicit mode and an implicit mode.

MPEG−4 H.264/MPEG−4 AVC(advanced video coding)のようなコーデックでは、現在ブロックの動きベクトルを予測するために、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルを利用する。現在ブロックに、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値(median)を、現在ブロックの予測動きベクトルとして利用する。インター予測を利用して符号化されたすべてのブロックの動きベクトルが、同一の方法を利用して予測されるから、現在ブロックの予測動きベクトルに係わる情報は、別途に符号化する必要がない。しかし、本発明による映像符号化装置100、または映像符号化部400は、動きベクトルをさらに正確に予測するために、前述の予測動きベクトルについての情報を別途に符号化しない暗示(implicit)モード、及び予測動きベクトルについての情報を符号化する明示モードをいずれも利用する。明示モードは、複数の予測動きベクトル候補のうち、現在ブロックの予測動きベクトルに利用された予測動きベクトルについての情報を符号化し、ビットストリームにシーケンスパラメータ、スライスパラメータまたはブロックパラメータとして挿入するモードを意味する。 MPEG-4 H.264. Codecs such as H.264/MPEG-4 AVC (advanced video coding) utilize motion vectors of previously encoded blocks adjacent to the current block to predict the motion vector of the current block. The median of the motion vectors of the previously coded blocks adjacent to the left side, the upper side and the right side of the current block is used as the motion vector predictor of the current block. Since the motion vectors of all blocks coded using inter prediction are predicted using the same method, it is not necessary to separately code the information about the motion vector predictor of the current block. However, the video encoding apparatus 100 or the video encoding unit 400 according to the present invention, in order to predict the motion vector more accurately, an implicit mode in which the information about the motion vector predictor is not separately encoded, And the explicit mode of encoding information about the motion vector predictor. The explicit mode means a mode in which, of a plurality of motion vector predictor candidates, information about the motion vector predictor used for the motion vector predictor of the current block is coded and inserted as a sequence parameter, slice parameter, or block parameter in the bitstream. To do.

図9は、このような明示モードによって動きベクトルを符号化するとき、予測符号化を行う装置を図示する。動きベクトル推定部910は、現在ブロックの動きベクトルを推定する。現在ブロックと類似または同一のブロックを、少なくとも1つの参照ピクチャで検索し、検索結果に基づいて、現在ブロックと、検索された参照ブロックとの相対的な位置差である動きベクトルを推定する。SAD(sum of absolute difference)の計算に基づいて、現在ブロックと類似または同一のブロックを検索し、検索結果に基づいて、現在ブロックの動きベクトルを推定することができる。 FIG. 9 illustrates an apparatus for performing predictive coding when a motion vector is coded by such an explicit mode. The motion vector estimation unit 910 estimates the motion vector of the current block. A block similar or identical to the current block is searched with at least one reference picture, and a motion vector, which is a relative position difference between the current block and the searched reference block, is estimated based on the search result. A block similar or identical to the current block can be searched based on the calculation of SAD (sum of absolute difference), and the motion vector of the current block can be estimated based on the search result.

また、動きベクトル推定部910は、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルに基づいて、現在ブロックの動きベクトルを予測する。言い換えれば、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルを、予測動きベクトルの候補(candidates)として設定し、予測動きベクトルの候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。 Also, the motion vector estimation unit 910 predicts the motion vector of the current block based on the motion vector of the block included in the previously coded area adjacent to the current block. In other words, the motion vector of the block included in the previously coded area adjacent to the current block is set as the candidate of the motion vector predictor (candidates), and the estimated current block of the candidates of the motion vector predictor is set. The motion vector predictor candidate that is most similar to the motion vector is determined.

MPEG−4 H.264/MPEG−4 AVCのようなコーデックでは、現在ブロックに、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値を、現在ブロックの予測動きベクトルとして利用する。符号化されるすべてのブロックが、以前に符号化されたブロックの動きベクトルを利用して予測され、1つの予測動きベクトルだけ利用するから、予測動きベクトルに係わる情報は、別途に符号化する必要がない。言い換えれば、インター予測を利用して符号化されたブロックの予測動きベクトルは、一つである。 MPEG-4 H.264. In codecs such as H.264/MPEG-4 AVC, the median value of motion vectors of previously encoded blocks adjacent to the left side, the upper side, and the upper right side of the current block is used as a prediction motion vector of the current block. Since all the blocks to be coded are predicted using the motion vector of the previously coded block and only one motion vector predictor is used, the information about the motion vector predictor needs to be coded separately. There is no. In other words, there is one motion vector predictor for a block coded using inter prediction.

しかし、現在ブロックの動きベクトルがさらに正確に予測されれば、動きベクトルをさらに高い圧縮率で符号化することができるが、このために、本発明の一実施形態は、複数の予測動きベクトルの候補のうち一つを選択し、現在ブロックの予測動きベクトルとして利用することにより、さらに高い圧縮率で、現在ブロックの動きベクトルを符号化する。以下では、複数の予測動きベクトルの候補を利用して、現在ブロックの動きベクトルを符号化する方法についてさらに詳細に説明する。 However, if the motion vector of the current block is more accurately predicted, the motion vector can be coded at a higher compression rate. By selecting one of the candidates and using it as the motion vector predictor of the current block, the motion vector of the current block is encoded at a higher compression rate. Hereinafter, a method of encoding a motion vector of the current block using a plurality of motion vector predictor candidates will be described in more detail.

図10A及び図10Bは、本発明の一実施形態による予測動きベクトルの候補を図示している。 10A and 10B illustrate motion vector predictor candidates according to an embodiment of the present invention.

図10Aを参照すれば、本発明の一実施形態による動きベクトルを予測方法は、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルのうち一つを、現在ブロックの予測動きベクトルとして利用することができる。現在ブロックの上部に隣接したブロックのうち、最も左側のa0ブロック、左側に隣接した最上部のb0ブロック、右側上部に隣接したcブロック、左側上部に隣接したdブロック及び左側下部に隣接したeブロックの動きベクトルを、いずれも現在ブロックの予測動きベクトルの候補として利用することができる。 Referring to FIG. 10A, a method of predicting a motion vector according to an exemplary embodiment of the present invention uses one of motion vectors of previously encoded blocks adjacent to a current block as a motion vector predictor of a current block. can do. Of the blocks adjacent to the upper part of the current block, the leftmost a0 block, the leftmost uppermost b0 block, the right upper adjacent c block, the left upper adjacent d block, and the left lower e adjacent block. Any of the motion vectors of can be used as candidates for the motion vector predictor of the current block.

本発明による映像の符号化方法及び復号化方法は、深度によって区分される多様な大きさの符号化単位を基に、映像符号化及び復号化を行うが、左側下部に隣接したeブロックの動きベクトルも、予測動きベクトル候補として利用することができる。 A video encoding method and a video decoding method according to the present invention perform video encoding and decoding on the basis of encoding units of various sizes that are divided according to depth. Vectors can also be used as motion vector predictor candidates.

図8A及び図8Bを参照して説明すれば、現在ブロックが符号化単位820であるならば、現在ブロックの上部、左側上部、右側上部、左側及び左側下部の符号化単位814,816,818及び822は、現在ブロック以前に符号化される。従って、現在ブロックの左側下部に隣接したブロックの動きベクトルも、予測動きベクトル候補として利用することができる。 Referring to FIGS. 8A and 8B, if the current block is a coding unit 820, the coding units 814, 816, 818 of the upper, left upper, right upper, left and lower left of the current block are: 822 is encoded before the current block. Therefore, the motion vector of the block adjacent to the lower left part of the current block can also be used as a motion vector predictor candidate.

図10Bを参照すれば、現在ブロックの接したすべてのブロックの動きベクトルを、予測動きベクトルの候補として利用することができる。言い換えれば、上部に隣接したブロックのうち最も左側のa0ブロックだけではなく、上部に隣接したすべてのブロック(a0ないしaN)の動きベクトルを、予測動きベクトル候補として利用することができ、左側に隣接したブロックのうち、最上部のb0ブロックだけではなく、左側に隣接したすべてのブロック(b0ないしbN)の動きベクトルを、予測動きベクトル候補として利用することができる。 Referring to FIG. 10B, the motion vectors of all the blocks which the current block is in contact with can be used as candidates for the motion vector predictor. 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 adjacent to the upper part (a0 to aN) can be used as the motion vector predictor candidates, Of the above blocks, not only the uppermost b0 block but also the motion vectors of all the blocks adjacent to the left side (b0 to bN) can be used as the motion vector predictor candidates.

また、隣接したブロックの動きベクトルの中央値を、予測動きベクトル候補として利用することができる。言い換えれば、median(mv_a0,mv_b0,mv_c)を、現在ブロックの予測動きベクトル候補として利用することができる。ここで、mv_a0は、a0ブロックの動きベクトルであり、mv_b0は、b0ブロックの動きベクトルであり、mv_cは、cブロックの動きベクトルである。 Further, the median value of motion vectors of adjacent blocks can be used as a motion vector predictor candidate. In other words, median(mv_a0, mv_b0, mv_c) can be used as a motion vector predictor candidate of the current block. Here, mv_a0 is the motion vector of the a0 block, mv_b0 is the motion vector of the b0 block, and mv_c is the motion vector of the c block.

ただし、現在ブロックの大きさ及び隣接したブロックの大きさによって、現在ブロックの予測動きベクトルの候補を制限することができるが、図10Cないし図10Eを参照して詳細に説明する。 However, the candidates of the motion vector predictor of the current block may be limited according to 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 through 10E illustrate blocks of various sizes adjacent to a current block according to an exemplary embodiment of the present invention.

前述のように、本発明による映像の符号化方法及び復号化方法は、深度によって決定される多様な大きさの符号化単位及び予測単位を利用して、映像を符号化する。従って、現在ブロックに隣接したブロックの大きさも多様であるが、現在ブロックの大きさと、一部隣接したブロックとの大きさが大きく異なっていれば、大きさが異なる一部隣接したブロックの動きベクトルは、予測動きベクトル候補として利用しないこともある。 As described above, the image encoding method and the image decoding method according to the present invention encode an image using encoding units and prediction units having various sizes determined by depth. Therefore, the size of the block adjacent to the current block is also diverse, but if the size of the current block and the size of the partially adjacent block are significantly different, the motion vectors of the partially adjacent blocks having different sizes are May not be used as a motion vector predictor candidate.

図10Cを参照すれば、現在ブロック1010の上部に隣接したブロック1014ないし1018は、現在ブロック1010の大きさより小さいブロックである。現在ブロック1010と大きさが同一である隣接したブロック1012の動きベクトルが、現在ブロック1010の動きベクトルと同一または類似した可能性が高いことがあるので、動きベクトル推定部910は、同一大きさの隣接したブロック1012の動きベクトルのみを予測動きベクトル候補として利用することができる。 Referring to FIG. 10C, blocks 1014 to 1018 adjacent to the top of the current block 1010 are blocks smaller than the size of the current block 1010. Since there is a high possibility that the motion vector of the adjacent block 1012 having the same size as the current block 1010 is the same as or similar to the motion vector of the current block 1010, the motion vector estimation unit 910 determines that the motion vector estimation unit 910 has the same size. Only the motion vector of the adjacent block 1012 can be used as a motion vector predictor candidate.

大きさが同じではないとしても、所定サイズ以上の隣接したブロックの動きベクトルだけ予測動きベクトル候補として利用することができる。例えば、現在ブロック1010の大きさと比較し、1/4大きさ以上のブロック(1012及び1018)の動きベクトルのみを、予測動きベクトル候補として利用することができる。 Even if the sizes are not the same, only motion vectors of adjacent blocks of a predetermined size or more can be used as motion vector predictor candidates. For example, compared with the size of the current block 1010, only motion vectors of blocks (1012 and 1018) having a size of ¼ or more can be used as motion vector predictor candidates.

図10Dを参照すれば、現在ブロック1020の左側に隣接したブロック1022の大きさは、現在ブロックの16倍であり、著しい大きさの違いが存在する。著しい大きさの違いによって、左側に隣接したブロック1022の動きベクトルが、現在ブロック1020の動きベクトルと同一または類似した可能性が低いことがある。従って、左側に隣接したブロック1022の動きベクトルは、現在ブロック1020の予測動きベクトル候補として利用せず、上部に隣接したブロック1024及び左側上部に隣接したブロック1026の動きベクトルだけ予測動きベクトル候補として利用することができる。 Referring to FIG. 10D, the size of the block 1022 adjacent to the left side of the current block 1020 is 16 times the size of the current block, and there is a significant difference in size. Due to significant size differences, the motion vector of the block 1022 adjacent to the left may not be the same or similar to the motion vector of the current block 1020. Therefore, the motion vector of the block 1022 adjacent to the left side is not used as the motion vector predictor candidate of the current block 1020, but only the motion vectors of the block 1024 adjacent to the upper part and the block 1026 adjacent to the left upper part are used as the motion vector predictor candidates. can do.

図10Eを参照すれば、現在ブロック(1030の大きさが、隣接したすべてのブロック1031ないし1037の大きさより大きい。このとき、隣接したすべてのブロック1031ないし1037の動きベクトルを、いずれも現在ブロック1030の予測動きベクトル候補として利用すれば、現在ブロック1030の予測動きベクトルの候補の個数があまりにも多い。現在ブロック1030と、隣接したブロック1031ないし1037とのサイズ差が大きいほど、予測動きベクトルの候補の個数はさらに多くなる。従って、本発明の一実施形態による動きベクトル推定部910は、隣接したブロックのうち一部ブロックの動きベクトルは、現在ブロック1030の予測動きベクトル候補として利用しない。 Referring to FIG. 10E, the size of the current block (1030 is larger than the sizes of all the adjacent blocks 1031 to 1037. At this time, the motion vectors of all the adjacent blocks 1031 to 1037 are set to the current block 1030. The number of motion vector predictor candidates of the current block 1030 is too large when used as the motion vector predictor candidates of the current block 1030. The larger the size difference between the current block 1030 and the adjacent blocks 1031 to 1037, the more motion vector candidate candidates. Therefore, the motion vector estimation unit 910 according to the embodiment of the present invention does not use the motion vectors of some of the adjacent blocks as the motion vector predictor candidates of the current block 1030.

例えば、図10Eに図示された実施形態で、左側下部に隣接したブロック1031及び右側上部に隣接したブロック1037の動きベクトルは、現在ブロック1030の予測動きベクトル候補として利用しないこともある。 For example, in the embodiment illustrated in FIG. 10E, the motion vectors of the block 1031 adjacent to the lower left side and the block 1037 adjacent to the upper right side may not be used as the motion vector predictor candidate of the current block 1030.

これをさらに一般化し、現在ブロック1030の大きさが、所定サイズ以上であるならば、隣接したブロックのうち、特定方向に隣接したブロックの動きベクトルは、現在ブロック1030の予測動きベクトル候補として利用しないこともある。 This is further generalized, and if the size of the current block 1030 is equal to or larger than a predetermined size, the motion vector of the block adjacent to the specific direction among the adjacent blocks is not used as the motion vector predictor candidate of the current block 1030. Sometimes.

図11Aないし図11Cは、本発明の他の実施形態による予測動きベクトルの候補を図示している。 11A through 11C illustrate motion vector predictor candidates according to another embodiment of the present invention.

図11Aは、本発明の一実施形態によるBピクチャ(bi-directional predictive picture)の予測動きベクトル候補を決定する方法を図示している。現在ブロックを含む現在ピクチャが、双方向予測を行うBピクチャであるとき、時間的距離(temporal distance)に基づいて生成された動きベクトルが、予測動きベクトル候補であってもよい。 FIG. 11A illustrates a method of determining a motion vector predictor candidate of 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 for which bidirectional prediction is performed, a motion vector generated based on a temporal distance may be a motion vector predictor candidate.

現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補(mv_temporal)は、時間的に先行するピクチャ1112と同一位置(colocated)のブロック1120の動きベクトルを利用して決定される。例えば、現在ブロック1100と同一位置のブロック1120の動きベクトルmv_colAが、現在ピクチャ1110の時間的に後行するピクチャ1114の検索されたブロック1122に対して生成されれば、現在ブロック1100の予測動きベクトルの候補であるmv_L0A及びmv_L1Aは、次のように決定される。 The motion vector predictor candidate (mv_temporal) of the current block 1100 of the current picture 1110 is determined using the motion vector of the block 1120 that is colocated with the temporally preceding picture 1112. For example, if the motion vector mv_colA of the block 1120 at the same position as the current block 1100 is generated for the searched block 1122 of the temporally subsequent picture 1114 of the current picture 1110, the motion vector predictor of the current block 1100 is predicted. The candidates mv_L0A and mv_L1A are determined as follows.

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 motion vector predictor candidate of the current block 1110 related to the temporally preceding picture 1112, and mv_L1A means a motion vector predictor candidate of the current block 1110 related to the temporally subsequent picture 1114. To do.

図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, a B picture, the current picture 1110, exists between a temporally preceding picture 1112 and a temporally subsequent picture 1114. At this time, if the motion vector mv_colA of the block 1120 at the same position is generated for the temporally subsequent picture 1114 of the current picture 1110, the motion vector of the current block 1100 is more accurately predicted based on mv_L1A. can do. In other words, when mv_colA is a motion vector in the direction opposite to the direction shown in FIG. 11A, that is, when mv_colA is generated for another picture before the picture 1112 that precedes in time, mv_colA is smaller than that in FIG. The motion vector of the current block 1100 can be predicted more accurately if the motion vector is in the direction shown in FIG. 11A.

従って、現在ブロック1110から同一位置のブロック1120への方向が、List0方向であるならば、同一位置のブロック1120の動きベクトルmv_colAは、List1方向であってこそ、図11Aに図示されたように、現在ピクチャ1110が、先行するピクチャ1112と、後行するピクチャ1114との間に存在する可能性が高くなり、mv_colAに基づいて、現在ブロック1100の動きベクトルをさらに正確に予測することができる。 Therefore, if the direction from the current block 1110 to the block 1120 at the same position is the List0 direction, the motion vector mv_colA of the block 1120 at the same position is in the List1 direction only as shown in FIG. 11A. The current picture 1110 is more likely to exist between the preceding picture 1112 and the following picture 1114, and the motion vector of the current block 1100 can be predicted more accurately based on mv_colA.

また、図11Aに図示されたピクチャ1110ないし1114は、経時的に配列されているので、POC(picture order count)に基づいて、現在ブロックの予測動きベクトル候補(mv_temporal)を生成することができる。現在ブロックの参照するピクチャが、図11Aに図示された隣接したピクチャ1112及び1114ではない他のピクチャであってもよいので、POCに基づいて、現在ブロックの予測動きベクトル候補を生成する。 In addition, since the pictures 1110 to 1114 illustrated in FIG. 11A are arranged over time, a motion vector predictor candidate (mv_temporal) of the current block can be generated based on the POC (picture order count). Since the picture referred to by the current block may be a picture other than the adjacent pictures 1112 and 1114 illustrated in FIG. 11A, the motion vector predictor candidate of the current block is generated based on the POC.

例えば、現在ピクチャのPOCがCurrPOCであり、現在ピクチャが参照するピクチャのPOCがCurrRefPOCであるならば、現在ブロックの予測動きベクトル候補は、次のように生成されもする。 For example, if the POC of the current picture is CurrPOC and the POC of the picture referred to by the current picture is CurrRefPOC, the motion vector predictor candidate of the current block is 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-CurrRefPOC)/(ColPOC-ColRefPOC)
mv_temporal=Scale*mv_colA
Here, ColPOC is the POC of the picture 1112 that temporally precedes the block 1120 that includes the same position, and ColRefPOC that temporally follows the block 1122 that the block 1120 that includes the same position refers to. This is the POC of the picture 1114 to be executed.

図11Bは、本発明の他の実施形態によるBピクチャの予測動きベクトル候補を生成する方法を図示している。図11Aに図示された方法と比較すれば、時間的に後行するピクチャ1114に、現在ブロック1100と同一位置のブロックが存在するという点が異なる。 FIG. 11B illustrates a method of generating motion vector predictor candidates for a B picture according to another embodiment of the present invention. Compared with the method illustrated in FIG. 11A, a difference is that a picture 1114 that is temporally subsequent includes a block at the same position as the current block 1100.

図11Bを参照すれば、現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補は、時間的に後行するピクチャ1114と同一位置のブロック1130の動きベクトルを利用して生成されもする。例えば、現在ブロック1100と同一位置のブロック1130の動きベクトルmv_colBが、現在ピクチャ1110の時間的に先行するピクチャ1112の検索されたブロック1132に対して生成されれば、現在ブロック1100の予測動きベクトルの候補であるmv_L0B及びmv_L1Bは、次のように生成されもする。 Referring to FIG. 11B, the motion vector predictor candidate of the current block 1100 of the current picture 1110 may be generated using the motion vector of the block 1130 at the same position as the temporally subsequent picture 1114. For example, if the motion vector mv_colB of the block 1130 at the same position as the current block 1100 is generated for the searched block 1132 of the temporally preceding picture 1112 of the current picture 1110, the predicted motion vector of the current block 1100 is calculated. The candidates mv_L0B and mv_L1B may also be generated as follows.

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 motion vector predictor of the current block 1110 related to the temporally preceding picture 1112, and mv_L1B means a motion vector predictor candidate of the current block 1100 related to the temporally subsequent picture 1114. ..

図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, in the embodiment shown in FIG. 11B, the B picture, the current picture 1110, exists between the temporally preceding picture 1112 and the temporally subsequent picture 1114. Therefore, if the motion vector mv_colB of the block 1130 at the same position is generated for the temporally preceding picture 1112, the motion vector of the current block 1100 can be predicted more accurately based on mv_L0B. In other words, when mv_colB is a motion vector in the direction opposite to the direction shown in FIG. 11B, that is, when mv_colB is generated for another picture after the picture 1114 that follows in time, mv_colB is calculated. 11B, the motion vector of the current block 1100 can be predicted more accurately.

従って、現在ブロック1110から、同一位置のブロック1130への方向がList1方向であるならば、同一位置のブロック1130の動きベクトルmv_colBは、List0方向であってこそ、図11Bに図示されたように、現在ピクチャ1110が、先行するピクチャ1112と、後行するピクチャ1114との間に存在する可能性が高くなり、mv_colBに基づいて、現在ブロック1100の動きベクトルをさらに正確に予測することができる。 Therefore, if the direction from the current block 1110 to the block 1130 at the same position is the List1 direction, the motion vector mv_colB of the block 1130 at the same position is in the List0 direction, as shown in FIG. 11B. The current picture 1110 is more likely to exist between the preceding picture 1112 and the following picture 1114, and the motion vector of the current block 1100 can be predicted more accurately based on mv_colB.

また、現在ブロックが参照するピクチャが、図11Bに図示された隣接したピクチャ1112及び1114ではない他のピクチャであってもよいので、POCに基づいて、現在ブロックの予測動きベクトル候補を生成する。 In addition, since the picture referred to by the current block may be a picture other than the adjacent pictures 1112 and 1114 illustrated in FIG. 11B, a motion vector predictor candidate for the current block is generated based on the POC.

例えば、現在ピクチャのPOCがCurrPOCであり、現在ピクチャが参照するピクチャのPOCがCurrRefPOCであるならば、現在ブロックの予測動きベクトル候補は、次のように生成されもする。 For example, if the POC of the current picture is CurrPOC and the POC of the picture referred to by the current picture is CurrRefPOC, the motion vector predictor candidate of the current block is 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-CurrRefPOC)/(ColPOC-ColRefPOC)
mv_temporal=Scale*mv_colB
Here, ColPOC is the POC of the picture 1114 that includes the block 1130 at the same position and is temporally subsequent, and ColRefPOC is the time that includes the block 1132 referenced by the block 1130 at the same position. It is the POC of the preceding picture 1112.

図11Cは、本発明の一実施形態によるPピクチャ(predictive picture)の予測動きベクトル候補を図示している。図11Cを参照すれば、現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補は、時間的に先行するピクチャ1112と同一位置のブロック1140の動きベクトルを利用して決定される。例えば、現在ブロック1100と同一位置のブロック1140の動きベクトルmv_colCが、他の時間的に先行するピクチャ1116の検索されたブロック1142に対して生成されれば、現在ブロック1100の予測動きベクトル候補であるmv_L0Cは、次のように決定される。 FIG. 11C illustrates a motion vector predictor candidate of a P picture (predictive picture) according to an embodiment of the present invention. Referring to FIG. 11C, the motion vector predictor candidate of the current block 1100 of the current picture 1110 is determined using the motion vector of the block 1140 at the same position as the temporally preceding picture 1112. For example, if the motion vector mv_colC of the block 1140 at the same position as the current block 1100 is generated for the searched block 1142 of another temporally preceding picture 1116, it is a candidate motion vector predictor of the current block 1100. mv_L0C is determined as follows.

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 be determined based on the POC. The mv_L0C can be determined based on the POC of the current picture 1110, the POC of the picture referenced by the current picture 1110, the POC of the temporally preceding picture 1112, and the POC of the other temporally preceding picture 1116.

現在ピクチャ1110がPピクチャであるので、現在ブロック1100の予測動きベクトル候補は、図11A及び図11Bと異なり、一つだけ決定される。 Since the current picture 1110 is a P picture, only one motion vector predictor candidate of the current block 1100 is determined, unlike FIGS. 11A and 11B.

また、図11A及び図11Bで、時間的距離に基づいて生成された予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用するためには、同一位置のブロック1120及び1130のうちいずれのブロックを利用して予測動きベクトル候補を生成するかを示す情報が、共に符号化されなければならないが、この情報は、スライスパラメータまたはシーケンスパラメータとして、スライスヘッダまたはシーケンスヘッダに含まれる。 In addition, in FIGS. 11A and 11B, in order to use the motion vector predictor candidate generated based on the temporal distance to predict the motion vector of the current block, one of the blocks 1120 and 1130 at the same position is used. The information indicating whether to generate a motion vector predictor candidate using the blocks of 1 must be coded together, and this information is included in the slice header or the sequence header as a slice parameter or a sequence parameter.

まとめれば、図10A及び図10B、図11Aないし図11Cによって、予測動きベクトルの候補の集合Cは、次の通りある。 In summary, referring to FIGS. 10A and 10B and FIGS. 11A to 11C, the set C of motion vector predictor candidates 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 motion vector predictor candidates 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 a motion vector of x block, median() means a median value, and mv_temporal is a prediction generated using the temporal distance described in connection with FIGS. 11A to 11C. It means a motion vector candidate. mv_a′ means a valid first motion vector of mv_a0, mv_a1,..., Mv_aN. For example, if the a0 block is coded 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. , A1 block motion vector is also invalid, mv_a′=mv_a2. Similarly, mv_b′ means a valid first motion vector of mv_b0, mv_b1,..., Mv_bN, and mv_c′ means a valid first motion vector of mv_c, mv_d, mv_e.

現在ブロックに隣接したブロックの動きベクトルのうち、現在ブロックと異なるピクチャを参照するブロックの動きベクトルは、現在ブロックの動きベクトルを効率的に予測することができない。従って、予測動きベクトル候補の集合Cで、現在ブロックと異なるピクチャを参照するブロックの動きベクトルを除くことができる。 Among 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 C of motion vector predictor candidates, a 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 vector coding apparatus 900 codes a motion vector in the explicit mode, the motion vector coding apparatus 900 indicates which prediction motion vector candidate in the C set was used to predict the motion vector of the current block (signaling). ) Information is also encoded together. In other words, when the motion vector encoding apparatus 900 encodes a motion vector, a binary number corresponding to each element of the C set, that is, each candidate of the motion vector predictor is assigned and used to predict the motion vector of the current block. The binary number corresponding to the selected motion vector predictor candidate is also encoded.

C集合の元素のうち一つを特定するために、それぞれの予測動きベクトル候補に対応する二進数を割り当て、二進数を出力するから、C集合の元素の個数が少ないほど、さらに少ないビットの二進数で、C集合の元素を特定することができる。 In order to specify one of the elements of the C set, a binary number corresponding to each motion vector predictor candidate is assigned and the binary number is output. Therefore, the smaller the number of elements of the C set, the smaller the bit number of the elements. The elements of the C set can be specified by a base 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 is a motion vector predictor candidate that is duplicated in the C set, the motion vector predictor candidate that is duplicated can be 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 both are the same, the C set can be determined by two elements and assigned a binary number, such as C={mv_a', mv_temporal}. If 5 elements of the C set can be identified using 3 bits before excluding the overlapping motion vector predictor candidates, then 2 elements are excluded after excluding the overlapping motion vector predictor candidates. Element can be specified by using 1 bit.

重複される予測動きベクトル候補を除外する代わりに、重複される予測動きベクトル候補が、現在ブロックの予測動きベクトルとして決定される確率を高めるために、所定の加重値(weight)を付加することもできる。前述の例で、mv_a’,mv_b’及びmv_c’がいずれも同一であり、mv_a’だけC集合に含まれているので、mv_a’に所定の加重値を付け加え、mv_a’が現在ブロックの動きベクトルを予測するのに利用される確率を高めることができる。 Instead of excluding the overlapping motion vector predictor candidates, a predetermined weight may be added to increase the probability that the overlapping motion vector predictor candidates will be determined as the motion vector predictor of the current block. it 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 weighting value is added to mv_a′ and mv_a′ is the motion vector of the current block. 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は、予測動きベクトル候補のうち一つを特定するための二進数を符号化しないこともある。 In addition, when the number of motion vector predictor candidates is one, the binary number for specifying one of the motion vector predictor 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,... If the bN block, the c block, the d block, and the e block are all intra-predicted blocks, the C set has C={mv_temporal}, and thus substantially includes only one element. Therefore, in this case, the motion vector coding apparatus 900 may not code the binary number for specifying one of the motion vector predictor candidates.

前述のすべての予測動きベクトルの候補以外に、他の動きベクトルが予測動きベクトルの候補として利用されることは、本発明が属する技術分野で当業者であるならば、容易に理解することができるであろう。 A person skilled in the art to which the present invention pertains can easily understand that, in addition to all of the above motion vector predictor candidates, other motion vectors are used as motion vector predictor candidates. Will.

また、本発明の他の実施形態によれば、候補決定部920は、予測動きベクトルの候補の個数を減らすことができる。 In addition, according to another embodiment of the present invention, the candidate determination unit 920 may reduce the number of motion vector predictor candidates.

前述のように、複数の予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために、別途の情報が符号化されてビットストリームに含まれる。従って、C集合の元素の個数が少ないほど、C集合で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために必要な情報が、少ないビットで符号化されもする。このために、候補決定部920は、所定の評価関数を利用して、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を選択的に除外することができる。図12を参照しつつ詳細に説明する。 As described above, in order to identify the motion vector predictor candidate used to predict the motion vector of the current block among the plurality of motion vector predictor candidates, additional information is encoded and included in the bitstream. Be done. Therefore, as the number of elements in the C set is smaller, the information necessary for specifying the motion vector predictor candidate used to predict the motion vector of the current block in the C set may be encoded with fewer bits. To do. Therefore, the candidate determination unit 920 can selectively exclude a predetermined motion vector predictor candidate from all motion vector predictor candidates using a predetermined evaluation function. This will be described in detail with reference to FIG.

図12は、本発明の一実施形態による予測動きベクトルの候補を減らす方法を図示している。図12では、C集合の元素の個数が三つであり、MVP1、MVP2及びMVP3が、C集合の元素であり、現在ブロックの動きベクトルがMVである場合を仮定している。現在ブロックの動きベクトルと最も類似した予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用されるので、MVと最も類似したMVP3が、現在ブロックの動きベクトルを予測するのに利用される。 FIG. 12 illustrates a method of reducing motion vector predictor candidates according to an embodiment of the present invention. In FIG. 12, it is assumed that the number of elements of the C set is three, MVP1, MVP2, and MVP3 are the elements of the C set, and the motion vector of the current block is MV. Since the motion vector predictor candidate most similar to the motion vector of the current block is used to predict the motion vector of the current block, MVP3 most similar to MV is used to predict the motion vector of the current block. It

従って、動きベクトル符号化装置900で、動きベクトルについての情報として符号化される現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトル(以下、「実際動きベクトル差(motion vector difference)」とする)は、(2,0)である。MVが(5,0)であり、MVP3が(3,0)であるので、実際動きベクトル差は、(2,0)である。 Therefore, in the motion vector encoding apparatus 900, the difference vector between the motion vector of the current block encoded as information about the motion vector and the motion vector predictor candidate used to predict the motion vector of the current block (hereinafter , "Actual motion vector difference") is (2,0). Since the MV is (5,0) and the MVP3 is (3,0), the actual motion vector difference is (2,0).

候補決定部920は、このような実際動きベクトル差及び所定の評価関数を利用して、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を選択的に除外する。さらに詳細には、実際動きベクトル差と、所定の予測動きベクトル候補とを利用して、仮想の動きベクトルを生成し、生成された仮想の動きベクトルと、全体候補との動きベクトル差(以下、「仮想の動きベクトル差」)を全体候補について生成する。実際動きベクトル差と、所定の予測動きベクトル候補とを加算して仮想の動きベクトルを生成し、生成された仮想の動きベクトルと、全体候補との動きベクトル差を計算する。実際動きベクトル差と、全体候補それぞれについて計算された仮想の動きベクトル差とを比較することにより、所定の予測動きベクトル候補を、予測動きベクトルの全体候補から選択的に除外することができる。 The candidate determination unit 920 selectively excludes at least one motion vector predictor candidate among all motion vector predictor candidates using the actual motion vector difference and the predetermined evaluation function. More specifically, a virtual motion vector is generated using the actual motion vector difference and a predetermined motion vector predictor candidate, and the motion vector difference between the generated virtual motion vector and the overall candidate (hereinafter, “Virtual motion vector difference”) is generated for all candidates. A virtual motion vector is generated by adding the actual motion vector difference and a predetermined motion vector predictor candidate, and the motion vector difference between the generated virtual motion vector and the overall candidate is calculated. By comparing the actual motion vector difference and the virtual motion vector difference calculated for each overall candidate, the predetermined motion vector predictor candidate can be selectively excluded from the overall motion vector predictor candidates.

図12を参照して詳細に説明すれば、まず候補決定部920は、予測動きベクトル候補のうち一つであるMVP1を、全体候補から除外するか否かを判断する。 More specifically, with reference to FIG. 12, the candidate determination unit 920 first determines whether or not to exclude MVP1, which is one of the motion vector predictor candidates, from the overall candidates.

MVP1に基づいた仮想の動きベクトルと異なる予測動きベクトル候補を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、MVP1は、現在ブロックの動きベクトルを予測するのに利用されない。例えば、MVP1と、実際動きベクトル差とを加算して生成された仮想の動きベクトルからMVP3を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、MVP3が、MVP1よりさらに正確に仮想の動きベクトルを予測したことにより、この場合、MVP1は、予測動きベクトルのなることができないということは明白であるからである。 If the virtual motion vector difference generated by subtracting the motion vector predictor candidate that is 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 MVP1 and the actual motion vector difference is smaller than the actual motion vector difference, MVP3 is larger than MVP1. This is because by predicting the virtual motion vector more accurately, it is clear that in this case, MVP1 cannot be the motion vector predictor.

図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 MVP1 and the actual motion vector difference are added, the virtual motion vector based on 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 uses the predicted motion of the current block. Cannot be a vector. Therefore, MVP1 can be excluded from all candidates for motion vector predictors. In other words, the motion vector predictor candidate corresponding to MVP1 in the aforementioned C set may be excluded.

このとき、MVP1自体について計算された仮想の動きベクトル差は、(2,0)であり、これは、実際動きベクトル差と常に同一であるので、実際動きベクトルの大きさより小さいなることはない。従って、予測動きベクトルの全体候補それぞれについて仮想の動きベクトル差を計算するとき、MVP1自体に係わる仮想の動きベクトル差は計算しない。 At this time, the virtual motion vector difference calculated for the MVP1 itself is (2, 0), and since it is always the same as the actual motion vector difference, it does not become smaller than the size of the actual motion vector. Therefore, when calculating the virtual motion vector difference for each of all candidates of the motion vector predictor, the virtual motion vector difference relating 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 as to whether to exclude MVP1 is completed, the candidate determination unit 920 determines whether to exclude MVP2 from all candidates for the motion vector predictor. If MVP2 is added to the actual motion vector difference, the virtual motion vector based on MVP2 is (2,0). Therefore, the virtual motion vector difference related to MVP1 is (2,0), and the virtual motion vector difference related to MVP3 is (-1,0). Since the magnitude of the virtual motion vector difference related to MVP3 is smaller than the magnitude of the actual motion vector difference, MVP2 is excluded from the overall candidates for the motion vector predictor, like MVP1. When determining whether to exclude MVP2, the comparison between the virtual motion vector difference relating to MVP1 and the actual motion vector difference is selective. Since it is determined that MVP1 is not already the motion vector predictor of the current block, it is possible to compare the virtual motion vector difference of each of the remaining candidates excluding MVP1 with the actual motion vector difference. it can.

また、候補決定部920は、MVP3についても除外いかんを判断する。MVP3に基づいた仮想の動きベクトルは、実際動きベクトルと同一であり、実際動きベクトルから、他の予測動きベクトル候補(すなわち、MVP1またはMVP2)を減算しても、実際動きベクトル差の大きさより小さい仮想の動きベクトル差が発生することがないので、MVP3は、予測動きベクトルの全体候補から除外されない。また、本発明の他の実施形態によれば、現在ブロックの動きベクトルを予測するのに利用されると決定されたMVP3は、予測動きベクトルの全体候補から除外されないことが明白であるので、候補決定部920は、現在ブロックの動きベクトルを予測するのに利用されると決定された予測動きベクトル候補については、除外いかんをスキップ(skip)することができる。 The candidate determination unit 920 also determines whether to exclude MVP3. The virtual motion vector based on MVP3 is the same as the actual motion vector, and is smaller than the actual motion vector difference even if other predicted motion vector candidates (that is, MVP1 or MVP2) are subtracted from the actual motion vector. Since the virtual motion vector difference does not occur, the MVP3 is not excluded from all the motion vector predictor candidates. In addition, according to another embodiment of the present invention, it is clear that the MVP3 determined to be used to predict the motion vector of the current block is not excluded from the overall motion vector predictor candidates. The determining unit 920 may skip the exclusion of the motion vector predictor candidate determined to be used to predict the motion vector of the current block.

要するに、候補決定部920は、予測動きベクトルの全体候補のうち一つである第2予測動きベクトルの除外いかんを決定するが、第2予測動きベクトルと、実際動きベクトル差とを加算して、仮想の動きベクトルを生成し、仮想の動きベクトルと異なる予測動きベクトルの差ベクトルを、全体候補それぞれについて計算し、複数の仮想の動きベクトル差を生成する。複数の仮想の動きベクトル差のうち、実際動きベクトル差より大きさが小さい仮想の動きベクトル差が少なくとも一つ存在するならば、第2予測動きベクトルは、現在ブロックの予測動きベクトルではないことが明白であるので、予測動きベクトルの全体候補から除外する。 In short, the candidate determination unit 920 determines whether to exclude the second motion vector predictor, which is one of all motion vector predictor candidates, by adding the second motion vector predictor and the actual motion vector difference, A virtual motion vector is generated, a difference vector of a predicted motion vector different from the virtual motion vector is calculated for each of all candidates, and a plurality of virtual motion vector differences is generated. If there is at least one virtual motion vector difference that is smaller than the actual motion vector difference among the plurality of virtual motion vector differences, the second motion vector predictor is not the motion vector predictor of the current block. Since it is obvious, it is excluded from the overall candidates for the motion vector predictor.

また、候補決定部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 candidate determination unit 920 reduces the total number of motion vector predictor candidates, that is, the number of elements of the C set, by repeating such determination regarding exclusion as to all motion vector predictor candidates. be able to. Exclusion is determined in order according to the alignment order of the candidates of the overall motion vector predictor of the C set. For example, when C={median(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}, it is determined whether median(mv_a', mv_b', mv_') is excluded, When the judgment is completed, the exclusion of mv_a' is judged. Then, the exclusion of mv_b' is determined. The exclusion determination is repeated up to mv_temporal according to the order of the C sets.

反復して判断するとき、以前判断過程で除外された候補については、仮想の動きベクトル差と、実際動きベクトル差との比較を省略することができることは、MVP2の除外いかんの判断と係わって説明した通りである。 When iteratively judging, 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, which is explained in connection with the judgment of the exclusion of MVP2. As I did.

また、C集合は、図13Aないし図13Dと係わって後述するとように、所定の基準によって再整列されるが、C集合が再整列された場合には、再整列された順序によって、除外いかんについての判断を反復する。 In addition, the C set is rearranged according to a predetermined criterion, as will be described later with reference to FIGS. 13A to 13D. However, when the C set is rearranged, the C set is excluded 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 to the two-dimensional motion vector as well as the one-dimensional motion vector. In other words, by comparing the magnitude of the virtual motion vector difference defined by the x-coordinate and the y-coordinate with the magnitude of the actual motion vector difference, it is possible to selectively exclude a predetermined motion vector predictor candidate from all candidates. it can.

しかし、仮想の動きベクトル差と、実際動きベクトル差との比較の基準(criterion)である大きさは、例示的なものであり、多様な基準が、仮想の動きベクトル差と、実際動きベクトル差との比較に利用されもする。所定基準に基づいて、仮想の動きベクトル差に係わる値と、実際動きベクトル差に係わる値とを生成する評価関数を「A」とするとき、次の数式(1)によって、仮想の動きベクトル差と、実際動きベクトル差とを比較することができる。 However, the magnitude that is a criterion for comparing the virtual motion vector difference and the actual motion vector difference is merely an example, and various criteria may be used as the criterion. Also used for comparison with. When an evaluation function for generating a value related to the virtual motion vector difference and a value related to the actual motion vector difference based on a predetermined criterion is “A”, the virtual motion vector difference is calculated by the following mathematical expression (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 candidate determination unit 920 satisfies “mvy” that satisfies Expression (1) in order to determine whether or not to exclude “mvx”, which is one of the overall motion vector predictor candidates, from the overall motion vector predictor candidates. , Is present in the overall candidates. In Expression (1), “MVD” means an actual motion vector difference. In order to determine whether “mvx” is excluded, a virtual motion vector difference “mvx+MVD−” that is a different motion vector predictor candidate “mvy” from the virtual motion vector “mvx+MVD” based on “mvx”. “Mvy” is a value evaluated using a predetermined evaluation function “A”, “A(mvx+MVD−mvy)” is calculated, and the value generated as a result of the calculation is a value related to the actual motion vector difference. Compare with a certain "A (MVD)". Of the overall candidates, other motion vector predictor candidates excluding “mvx” are iteratively substituted into “mvy”, and at least one “mvy” satisfying Expression (1) exists in the overall candidates. Determine whether or not.

前述のように、「A」によって評価される仮想の動きベクトル差及び実際動きベクトル差は、x座標及びy座標で定義されもする。この場合、評価関数は、次の数式(2)のように、x座標を評価した値及びy座標を評価した値の和として定義されもする。 As described above, the virtual motion vector difference and the actual motion vector difference evaluated by "A" may be defined by the x coordinate and the y coordinate. In this case, the evaluation function may be defined as the sum of the value evaluated for the x coordinate and the value evaluated for the y coordinate, as in the following Expression (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 substituted into a predetermined function “f”, and the sum of the substituted results is used. , The evaluation function “A” is also defined.

本発明の一実施形態によれば、数式(1)及び数式(2)の評価関数「A」は、仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する評価関数である。候補決定部920は、仮想の動きベクトル差及び実際動きベクトル差をエントロピ符号化した結果を、評価関数「A」に基づいて推定し、推定結果に基づいて、予測動きベクトルの候補の個数を減らすことができる。数式(3)を参照して詳細に説明する。 According to an embodiment of the present invention, the evaluation function “A” in Equations (1) and (2) may be the result of entropy coding the virtual motion vector difference and the result of entropy coding the actual motion vector difference. Is an evaluation function for estimating and. The candidate determination unit 920 estimates the result of entropy-encoding the virtual motion vector difference and the actual motion vector difference based on the evaluation function “A”, and reduces the number of motion vector predictor candidates based on the estimation result. be able to. This will be described in detail with reference to the equation (3).

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 coding result with respect to the x coordinate value or the y coordinate value may be defined as Equation (3). If variable length coding (eg, a variable “f” that predicts a universal variable length coding result is input with “val” that is an x coordinate value or ay coordinate value) “Length” is calculated by the above equation (3).

数式(3)は、次のように示すこともできる。 Equation (3) can also be expressed as follows.

x座標値またはy座標価格は、仮想の動きベクトル差または実際動きベクトル差のx座標値またはy座標値であってもよい。 The x-coordinate value or the y-coordinate value may be the x-coordinate value or the y-coordinate value of the virtual motion vector difference or the actual motion vector difference.

数式(3)によれば、「val」が負数または「0」であるならは、「val」を正数に変換した後、1ビットほど左側にシフトし、座標値に「2」を乗じ、「1」を加算して「Temp」として保存する。「val」が正数であるならば、「val」を1ビットほど左側にシフトし、座標値に「2」を乗じ、「Temp」として保存する。その後、「Temp」が「1」になるまで「while」ループを反復し、「Length」を計算する。 According to Equation (3), if “val” is a negative number or “0”, “val” is converted to a positive number, then shifted leftward by about 1 bit, and the coordinate value is multiplied by “2”, Add "1" and save as "Temp". If "val" is a positive number, "val" is shifted to the left by about 1 bit, the coordinate value is multiplied by "2", and the result is stored 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), 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" of f(2) is a positive number, it is shifted to the left by about 1 bit and "Temp" is set to "4". In the first while loop, "Temp" is "4", and "4" is not "1". Therefore, "4" is shifted to the right and multiplied by "1/2" to obtain "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 "2" is shifted to the right and multiplied by "1/2" to obtain "Temp". Is set to "1". Since "Length" is currently "3", "Length" becomes "5" in the second while loop. 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. F(0) becomes "1" depending on the initial value of "Length".

数式(3)と係わって説明した所定の評価関数「f」は、可変長符号化を利用したエントロピ符号化の結果を推定するための関数である。従って、候補決定部920は、「mvx」を予測動きベクトルの全体候補から除外するか否かを判断するために、評価関数「A」を利用して、仮想の動きベクトル差を可変長永遠に符号化した結果を推定する。推定結果、実際動きベクトル差よりさらに短い長さに符号化されると推定された仮想の動きベクトル差が少なくとも一つ存在すれば、「mvx」を予測動きベクトルの全体候補から除外する。 The predetermined evaluation function “f” described in connection with Expression (3) is a function for estimating the result of entropy coding using variable-length coding. Therefore, the candidate determination unit 920 uses the evaluation function “A” to determine whether or not to exclude “mvx” from the overall candidates for the motion vector predictor by using the evaluation function “A” as a variable length forever. Estimate the encoded result. As a result of the estimation, if there is at least one virtual motion vector difference estimated to be coded to have a length shorter than the actual motion vector difference, “mvx” is excluded from all candidates of the motion vector predictor.

しかし、可変長符号化の結果ではない他の方法によるエントロピ符号化結果を推定することができることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。例えば、他の評価関数「h」を利用して、仮想の動きベクトル差のエントロピ符号化結果、及び実際動きベクトル差のエントロピ符号化結果を推定し、比較することができるし、このとき、「h」は、コンテクスト適応であるは算術符号化(context adaptive binary arithmetic coding)の結果を推定する関数であってもよい。 However, it will be easily understood by those skilled in the art to which the present invention belongs that the entropy coding result by another method other than the result of the variable length coding can be estimated. For example, by using another evaluation function “h”, the entropy coding result of the virtual motion vector difference and the entropy coding result of the actual motion vector difference can be estimated and compared, and at this time, “ “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, in order to improve the accuracy of the evaluation result based on the predetermined evaluation function, the result of evaluating the index information can be estimated together. The index information is information for identifying a predetermined motion vector predictor candidate among all motion vector predictor candidates. This will be described in detail with reference to Equation (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,mvyIdx)<A(MVD,mvxIdx) (4)
The candidate determination unit 920 satisfies “mvy” that satisfies Expression (4) in order to determine whether to exclude “mvx”, which is one of the overall motion vector predictor candidates, from the overall motion vector predictor candidates. , It is determined whether there is at least one in all candidates. In Expression (4), “MVD” means an actual motion vector difference, and mvxIdx and mvyIdx are all candidates of the motion vector predictor, which are index information for specifying “mvx” and “mvy”, respectively. .. In order to determine whether “mvx” is excluded, a virtual motion vector difference “mvx+MVD−” that is a different motion vector predictor candidate “mvy” from the virtual motion vector “mvx+MVD” based on “mvx”. Index information for identifying the index information for identifying “mvy” and “mvy” as overall candidates by using a predetermined evaluation function “A” and identifying the actual motion vector difference and “mvx” as overall candidates Is evaluated using a predetermined evaluation function “A”. As a result of the evaluation, it is determined whether or not there is at least one "mvy" satisfying the mathematical expression (4) in the whole candidates.

前述のように、「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 may also be defined as Equation (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, mvxIdx)=f(p2+f(q2+g(mvxIdx) (5)
Compared with Equation (2), A(mvx+MVD-mvy) on the left side of Equation (2) was evaluated only by the virtual motion vector difference, but A(mvx+MVD-mvy, mvyIdx) in Equation (5) is virtual. And the information for specifying “mvy” in all the candidates of the motion vector predictor are also evaluated. As described above, the evaluation function “A” may be a function for evaluating the entropy-encoded result, and at this time, the function “f” is as described in relation to the mathematical expression (2). The function “g” 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”. May be When the x coordinate value of "mvx+MVD-mvy" is "p1" and the y coordinate value is "q1", A(mvx+MVD-mvy, mvxIdx) should be calculated as shown in Equation (5). You can

数式(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 by the actual motion vector difference, but A(MVD, mvxIdx) of the equation (5) is “mvx” as the actual motion vector difference and the entire candidate motion vector. Together with 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 described in connection with Expression (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,mvxIdx) can be calculated as shown in Equation (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 according to the formulas (4) and (5) may be used as a supplement to the exclusion judgment according to the formula (2). In other words, it is first determined whether or not “mvx” is excluded from the candidates of the overall motion vector predictor based on the equation (2), and by using the equations (4) and (5), it is possible to exclude the exclusion once more. You can judge. For example, as a result of determination by the mathematical expression (2), “A(mvx+MVD-mvy)” exists only when it is equal to or larger than “A(MVD)”, and “A(mvx+MVD-mvy)” is present. If there is no case smaller than “A(MVD)”, “mvx” is not excluded from the overall candidates for the motion vector predictor according to Expression (2). However, even if “A(mvx+MVD−mvy)” and “A(MVD)” are equal, “mvx” is excluded from all candidates of the motion vector predictor based on the determination results of the formulas (4) and (5). can do.

候補決定部920が数式(1)ないし(5)に基づいて、予測動きベクトル候補に対しての除外いかんを判断するとき、C集合の整列順序によって、すべての予測動きベクトルの候補について反復することについては説明した。本発明の他の実施形態によれば、候補決定部920は、C集合を所定の基準によって再整列し、再整列順序によって、除外いかんの判断を反復することができる。図13Aないし図13Dを参照して詳細に説明する。 When the candidate determination unit 920 determines whether to exclude a motion vector predictor candidate based on Equations (1) to (5), iterating for all motion vector predictor candidates according to the C set alignment order. Was explained. According to another embodiment of the present invention, the candidate determination unit 920 may rearrange the C set according to a predetermined criterion and repeat the exclusion determination according to the rearrangement order. This will be described in detail with reference to FIGS. 13A to 13D.

図13Aないし図13Dは、本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示している。 13A to 13D illustrate a position of a current block included in a coding unit having a predetermined size according to an exemplary 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 of the global motion vector predictor are C={median(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}, binary numbers are added to the motion vector predictor candidates of the C set. It has been explained that, by allocating, the motion vector predictor used to predict the motion vector of the current block may be specified among the motion vector predictor candidates.

このとき、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 motion vector predictor candidates included in the C set, and such a binary number may be a variable length code based on a Huffman code. Therefore, it is possible to allocate a smaller number of bits to the motion vector predictor candidate positioned before in the C set alignment order. For example, in C set, "median(mv_a', mv_b', mv_c')" can be assigned "0" bit, mv_a' can be assigned "00" bit, and mv_b' can be assigned "01" bit. Therefore, the candidate determination unit 920 performs prediction so that the motion vector predictor candidate, which is highly likely to be used for predicting the motion vector of the current block, of the motion vector predictor candidates is positioned in front of the C set. The motion vector candidates are arranged in a predetermined order.

現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトルは、符号化単位で、現在ブロックの位置によって決定される。図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 motion vector predictor, which is likely to be used to predict the motion vector of the current block, is determined by the position of the current block in a coding unit. As shown in FIG. 13A, if the current block is located at the lower end of the coding unit, the motion vector of the current block may 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 of the coding unit. Most likely the same or similar. Therefore, it is necessary to change the alignment order such that the motion vector of the block adjacent to the left side or the motion vector predictor candidate corresponding to the motion vector of the block adjacent to the lower left side is located in front of the C set. Among the candidates of the motion vector predictor of the C set described above, mv_b′ is a candidate of the motion vector predictor corresponding to the motion vector of the block adjacent to the left side, so that the C set includes mv_b′ and median(mv_a′, mv_b′). , Mv_c′) and the order is changed to 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 motion corresponding to the motion vector of the block adjacent to the upper part of the coding unit. The vector candidate is likely to be used to predict the motion vector of the current block. Since mv_b′ of the motion vector predictor candidates of the C set described above is a motion vector predictor candidate corresponding to the motion vector of the block adjacent to the left side, the C set includes mv_b′ and median(mv_a′, mv_b′, mv_c′) and the order is changed to 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 in the upper part of the coding unit, the motion vector of the block adjacent to the left side of the coding unit and the motion vector predictor candidate corresponding to the motion vector of the upper adjacent block are It is likely to be used for the motion vector predictor of the current block. Since mv_a′ of the motion vector predictor candidates of the C set described above is a motion vector predictor candidate corresponding to the motion vector of the block adjacent to the upper part, the C set includes mv_a′ and median(mv_a′, mv_b′, mv_c′) and the order is changed to 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 motion vector predictor 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. Is likely to be used for. Among the candidates of the motion vector predictor of the C set described above, mv_c′ is a motion vector predictor candidate corresponding to the motion vector of the block adjacent to the upper right side. Therefore, the C set includes mv_c′ and median(mv_a′, mv_b′). , Mv_c′) and the order is changed to 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 an example as a criterion for rearranging the motion vector predictor candidates. In other words, various criteria may also be used as criteria for reordering motion vector predictor candidates. Various criteria for aligning a motion vector predictor candidate that is likely to be similar to the motion vector of the current block to the front part of the C set may also be used as a criterion for rearranging the motion vector predictor candidates. A motion vector predictor candidate that is likely to be similar to the motion vector of the current block is determined based on predetermined information related to other blocks encoded before the current block, and the C set is rearranged based on the determination. can do.

また、現在ブロックの動きベクトルを符号化する以前に、現在ブロックに対して符号化されたり復号化された他の情報に基づいて、現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を決定し、決定に基づいて、C集合を再整列することができる。 In addition, before the motion vector of the current block is coded, a motion vector predictor candidate that is likely to be similar to the motion vector of the current block based on other information coded or decoded for the current block. , And the C set can be reordered based on the determination.

また、C集合の再整列時に重複された予測動きベクトル候補は、除外され、再整列を遂行することができる。予測動きベクトルの全体候補に、重複された予測動きベクトル候補がある場合には、これをまず除外し、前述の数式(1)ないし(5)によって、それぞれの予測動きベクトル候補に対して、除外いかんを判断することができる。 Also, the motion vector predictor candidates that are duplicated when the C set is rearranged can be excluded and realignment can be performed. If all the motion vector predictor candidates have redundant motion vector predictor candidates, the motion vector motion vector candidates are first excluded, and the motion vector predictor candidates are excluded from each of the motion vector predictor candidates by the above-described mathematical expressions (1) to (5). I can judge the situation.

再び図9を参照すれば、動きベクトル符号化部930は、動きベクトルについての情報、及び予測動きベクトルについての情報を符号化する。動きベクトルについての情報は、現在ブロックの実際動きベクトルと、実際予測動きベクトルとの差ベクトルであり、予測動きベクトルについての情報は、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトルが除外された候補で、現在ブロックの動きベクトル予測に利用された予測動きベクトルを特定するための情報を符号化する。言い換えれば、候補決定部920から除外されていない予測動きベクトルの候補で、現在ブロックの予測動きベクトルを特定するための情報が、予測動きベクトルについての情報として符号化される。 Referring to FIG. 9 again, the motion vector encoding unit 930 encodes the information about the motion vector and the information about the motion vector predictor. The information about the motion vector is a difference vector between the actual motion vector of the current block and the actual motion vector predictor, and the information about the motion vector predictor is at least one of the motion vector predictor's entire candidates. The excluded candidate encodes information for specifying the motion vector predictor used for motion vector prediction of the current block. In other words, the information for specifying the motion vector predictor of the current block among the motion vector predictor candidates that have not been excluded from the candidate determination unit 920 is encoded as the information about the motion vector predictor.

実際動きベクトル差を、動きベクトル推定部910から受信し、所定のエントロピ符号化方法によって符号化し、候補決定部920で、少なくとも1つの予測動きベクトル候補を選択的に除外して決定された予測動きベクトルの候補で、動きベクトル推定部910で決定された現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。 The actual motion vector difference is received from the motion vector estimation unit 910, coded by a predetermined entropy coding method, and the predicted motion determined by the candidate determination unit 920 by selectively excluding at least one predicted motion vector candidate. The information for specifying the motion vector predictor candidate used for predicting the motion vector of the current block determined by the motion vector estimation unit 910 is encoded as a vector candidate.

候補決定部920が、予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトルの候補を、前述の数式(1)ないし(5)によって除外して予測動きベクトルの候補を決めれば、決定された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。動きベクトル符号化部930は、候補決定部920から除外されていない予測動きベクトルの候補それぞれをインデクシング(indexing)し、予測動きベクトルについての情報として、インデックス情報をエントロピ符号化することができる。インデクシングとは、予測動きベクトルの候補それぞれに、所定の二進数を割り当てることを意味し、予測動きベクトルについての情報は、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された情報を意味する。候補決定部920が、少なくとも1つの予測動きベクトル候補を選択的に除外した結果、予測動きベクトル候補が一つだけ残れば、動きベクトル符号化部930で、予測動きベクトルについての情報を別途に符号化する必要がない。現在ブロックの動きベクトルを予測するのに利用する予測動きベクトル候補が、暗黙的(implicit)に決定されるからである。 It is determined if the candidate determination unit 920 determines a motion vector predictor candidate by excluding at least one motion vector predictor candidate from the whole motion vector predictor candidates by the above-described mathematical expressions (1) to (5). The information for identifying the motion vector predictor candidate used to predict the motion vector of the current block among the motion vector predictor candidates is encoded. The motion vector coding unit 930 can index each of the motion vector predictor candidates that have not been excluded from the candidate determination unit 920, and can entropy code the index information as information about the motion vector predictor. Indexing means assigning a predetermined binary number to each motion vector predictor candidate, and the information about the motion vector predictor is used to predict the motion vector of the current block among the motion vector predictor candidates. Means information provided. As a result of the candidate determination unit 920 selectively excluding at least one motion vector predictor candidate, if only one motion vector predictor remains, the motion vector encoding unit 930 separately encodes information about the motion vector predictor. There is no need to convert. This is because the motion vector predictor candidate used for predicting the motion vector of the current block is implicitly determined.

また、図13Aないし図13Dと係わって説明したように、候補決定部920が、全体予測動きベクトルの候補を所定の基準によって再整列し、再整列された全体予測動きベクトルの候補から、少なくとも1つの予測動きベクトルを選択的に除外して生成した予測動きベクトルの候補それぞれをインデクシングし、インデックス情報をエントロピ符号化することもできる。 Also, as described with reference to FIGS. 13A to 13D, the candidate determination unit 920 rearranges the candidates of the overall motion vector predictor according to a predetermined criterion, and selects at least 1 from the rearranged candidates of the overall motion vector predictor. It is also possible to index each of the motion vector predictor candidates generated by selectively excluding one motion vector predictor and entropy-encode the index information.

候補決定部920の再整列結果、現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトル候補に、最も少ないビット数の二進数が割り当てされるので、予測動きベクトルについての情報を、さらに高い圧縮率で符号化することができる。 As a result of the rearrangement of the candidate determination unit 920, a binary number having the smallest number of bits is assigned to the motion vector predictor candidate that is likely to be used to predict the motion vector of the current block. The information can be encoded with a higher compression rate.

図14は、本発明の一実施形態による動きベクトルを復号化する装置を図示している。 FIG. 14 illustrates an apparatus for decoding a motion vector according to an embodiment of the present invention.

図2の映像復号化装置200、または図5の映像符号化部500に含まれ、動きベクトルを復号化する装置が、図14に詳細に図示されている。図14を参照すれば、本発明の一実施形態による動きベクトル復号化装置1400は、動きベクトル復号化部1410、候補決定部1420及び動きベクトル復元部1430を含む。 An apparatus included in the video decoding apparatus 200 of FIG. 2 or the video encoding unit 500 of FIG. 5 and decoding a motion vector is illustrated in detail in FIG. Referring to FIG. 14, a motion vector decoding apparatus 1400 according to an exemplary embodiment of the present invention includes a motion vector decoding unit 1410, a candidate determining unit 1420, and a motion vector restoring unit 1430.

図14の動きベクトル復号化装置1400は、現在ブロックの動きベクトルが、前述の明示モード及び暗示モードのうち、明示モードによって符号化された場合、現在ブロックの動きベクトルを復号化する装置を図示している。 The motion vector decoding apparatus 1400 of FIG. 14 illustrates an apparatus that decodes the motion vector of the current block when the motion vector of the current block is coded in the explicit mode of the explicit mode and the implicit mode. ing.

動きベクトル復号化部1410は、現在ブロックの動きベクトルに係わるビットストリームを受信し、受信されたビットストリームを復号化する。ビットストリームに含まれた動きベクトルについての情報を復号化する。現在ブロックの実際動きベクトル差を復号化する。実際動きベクトル差を、所定のエントロピ復号化方法によって復号化することができる。実際動きベクトル差は、現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトルである。 The motion vector decoding unit 1410 receives the bitstream related to the motion vector of the current block, and decodes the received bitstream. Decode information about motion vectors included in the bitstream. Decode the actual motion vector difference of the current block. The actual motion vector difference can be decoded by a predetermined entropy decoding method. The actual motion vector difference is a difference vector between the motion vector of the current block and the motion vector predictor candidate used to predict the motion vector of the current block.

本発明の動きベクトルを符号化する方法によれば、前述の数式(1)ないし(5)によって、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を除外し、予測動きベクトルの候補が決定される。予測動きベクトルの候補は、固定されるのではなく、ブロック単位で復号化を進めるにつれて、続けて変更されもする。従って、予測動きベクトルの候補についての情報が同一であったとしても、予測動きベクトルの候補が決定されなければ、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を正確に復元することができない。 According to the method of encoding a motion vector of the present invention, at least one motion vector predictor candidate is excluded from all motion vector predictor vector candidates by the above-described mathematical expressions (1) to (5), and the motion vector predictor Candidates are determined. The motion vector predictor candidates are not fixed, but may be continuously changed as the decoding progresses in block units. Therefore, even if the information about the motion vector predictor candidate is the same, if the motion vector predictor candidate is not determined, the motion vector predictor candidate used to predict the motion vector of the current block is accurately restored. Can not do it.

従って、予測動きベクトル候補を決定するに先立ち、候補決定部1420は、予測動きベクトルの候補を決定する。動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を、数式(1)ないし(5)によって選択的に除外し、予測動きベクトルの候補を決定する。現在ブロックに隣接した以前に復号化された領域に含まれたブロックの動きベクトルに基づいて決定された全体候補のうち、現在ブロックの動きベクトルを予測するのに利用されないということが明白な予測動きベクトル候補を、所定の評価関数に基づいて除外する。 Therefore, prior to determining a motion vector predictor candidate, the candidate determination unit 1420 determines a motion vector predictor candidate. At least one motion vector predictor candidate among all motion vector candidates is selectively excluded by the mathematical formulas (1) to (5) to determine motion vector predictor candidates. Predictive motion that is not used to predict the motion vector of the current block among all candidates determined based on the motion vector of the block included in the previously decoded region adjacent to the current block Vector candidates are excluded based on a predetermined evaluation function.

予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び動きベクトル復号化部で復号化された動きベクトルについての情報に基づいて、仮想の動きベクトルを生成し、生成された仮想の動きベクトルと異なる予測動きベクトル候補の差である仮想の動きベクトル差を、全体候補それぞれについて計算する。計算された仮想の動きベクトル差を、動きベクトル復号化部1410で復号化された動きベクトルについての情報、すなわち、実際動きベクトル差と比較し、予測動きベクトルの候補を除外する。仮想の動きベクトル差のエントロピ符号化結果を、実際動きベクトル差のエントロピ符号化結果と比較し、所定の予測動きベクトルの候補を除外するか否かを判断することができる。また、エントロピ符号化結果の推定正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかん判断に利用することができる。予測動きベクトルの候補を除外する方法は、数式(1)ないし(5)と係わって説明した。 A virtual motion vector is generated based on information about a predetermined motion vector predictor candidate among all the motion vector predictor candidates and the motion vector decoded by the motion vector decoding unit, and the generated virtual motion vector is generated. A virtual motion vector difference, which is the difference between a motion vector predictor candidate and a vector that is different from the vector, is calculated for each overall candidate. The calculated virtual motion vector difference is compared with the information about the motion vector decoded by the motion vector decoding unit 1410, that is, the actual motion vector difference, and the motion vector predictor candidate is excluded. The entropy coding result of the virtual motion vector difference can be compared with the entropy coding result of the actual motion vector difference to determine whether to exclude a predetermined motion vector predictor candidate. In addition, in order to improve the estimation accuracy of the entropy coding result, the result of entropy coding the index information can also be estimated and used for the exclusion determination. The method of excluding the motion vector predictor candidates has been described with reference to the formulas (1) to (5).

また、本発明のさらに他の実施形態によれば、候補決定部1420は、予測動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補に対して数式(1)ないし(5)による除外判断を反復し、少なくとも1つの予測動きベクトル候補を選択的に除外することができる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式(1)ないし(5)による除外判断を反復することもできる。 In addition, according to another embodiment of the present invention, the candidate determination unit 1420 rearranges all candidates of the motion vector predictor according to a predetermined criterion, and formulas (1) to ( The exclusion judgment according to 5) can be repeated to selectively exclude at least one motion vector predictor candidate. It is also possible to exclude redundant motion vector predictor candidates from the rearranged overall candidates and repeat the exclusion determination according to equations (1) to (5).

候補決定部1420が、予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を除外した結果、予測動きベクトルの全体候補のうち、複数の予測動きベクトル候補が残れば、動きベクトル復号化部1410は、予測動きベクトルについての情報を復号化する。予測動きベクトルについての情報を、所定のエントロピ復号化方法によって復号化する。予測動きベクトルについての情報は、少なくとも1つの予測動きベクトル候補が除外された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報である。候補決定部1420から除外されていない予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報が復号化される。 As a result of the candidate determination unit 1420 excluding at least one motion vector predictor candidate from among all motion vector predictor candidates, if there are a plurality of motion vector predictor candidates among all motion vector predictor candidates, motion vector decoding is performed. The unit 1410 decodes the information about the motion vector predictor. Information about the motion vector predictor is decoded by a predetermined entropy decoding method. The information about the motion vector predictor is information for specifying a motion vector predictor candidate used to predict the motion vector of the current block among the motion vector predictor candidates in which at least one motion vector predictor candidate is excluded. Is. Information for identifying the motion vector predictor candidate used to predict the motion vector of the current block among the motion vector predictor candidates that have not been excluded from the candidate determination unit 1420 is decoded.

候補決定部1420が予測動きベクトルの全体候補のうち、少なくとも1つの予測動きベクトル候補を除外した結果、1つの予測動きベクトル候補のみ残れば、残された1つの予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用されるので、動きベクトル復号化部1410は、別途に予測動きベクトルの候補についての情報を復号化する必要がない。 As a result of the candidate determination unit 1420 excluding at least one motion vector predictor candidate from among all motion vector predictor candidates, if only one motion vector predictor candidate remains, the remaining one motion vector predictor candidate becomes the current block. Since the motion vector decoding unit 1410 is used to predict the motion vector, it is not necessary to separately decode the information about the motion vector predictor candidate.

動きベクトル復元部1430は、動きベクトル復号化部1410で復号化された動きベクトルについての情報に基づいて、現在ブロックの動きベクトルを復元する。動きベクトル復号化部1410で復号化された実際動きベクトル差と、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補とを加算し、現在ブロックの動きベクトルを復元する。候補決定部1420で決定された予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用する予測動きベクトル候補を決定し、決定された予測動きベクトル候補を、実際動きベクトル差と加算する。候補決定部1420での除外結果、一つではない複数の予測動きベクトルの候補を残した場合には、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補は、動きベクトル復号化部1410で復号化された予測動きベクトルについての情報に基づいて決定される。 The motion vector restoration unit 1430 restores the motion vector of the current block based on the information about the motion vector decoded by the motion vector decoding unit 1410. The actual motion vector difference decoded by the motion vector decoding unit 1410 is added to the motion vector predictor candidate used for predicting the motion vector of the current block to restore the motion vector of the current block. Of the motion vector predictor candidates determined by the candidate determination unit 1420, a motion vector predictor candidate to be used for predicting the motion vector of the current block is determined, and the motion vector predictor candidate thus determined is referred to as an actual motion vector difference. to add. As a result of the exclusion by the candidate determination unit 1420, when a plurality of motion vector predictor candidates other than one remain, the motion vector predictor candidate used for predicting the motion vector of the current block is motion vector decoding. It is determined based on the information about the motion vector predictor decoded by the unit 1410.

候補決定部1420によって予測動きベクトルの候補が決定されるので、復号化された予測動きベクトルについての情報が同一であったとしても、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補は、異なる位置に隣接したブロックの動きベクトルであってもよい。 Since the candidate of the motion vector predictor is determined by the candidate determination unit 1420, even if the information about the decoded motion vector predictor is the same, the motion vector predictor used to predict the motion vector of the current block. The candidates may be motion vectors of blocks adjacent to different positions.

図15は、本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。図15を参照すれば、段階1510で、動きベクトル符号化装置は、現在ブロックの動きベクトルを推定し、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を、予測動きベクトルの全体候補のうちから決定する。現在ブロックと同一または類似した動きベクトルを、複数の参照ピクチャで検索し、検索結果によって、現在ブロックと参照ブロックとの相対的な位置差である動きベクトルを推定する。 FIG. 15 is a flowchart illustrating a method of encoding a motion vector according to an exemplary embodiment of the present invention. Referring to FIG. 15, in step 1510, the motion vector encoder estimates a motion vector of a current block and selects a motion vector predictor candidate used to predict a motion vector of the current block as a motion vector predictor. Determine from among all candidates. A motion vector that is the same as or similar to the current block is searched for in a plurality of reference pictures, and a motion vector that is a relative position difference between the current block and the reference block is estimated based on the search result.

その後、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルに基づいて、現在ブロックの動きベクトルを予測する。言い換えれば、現在ブロックに隣接した以前に符号化された領域に含まれたブロックの動きベクトルを、予測動きベクトルの全体候補に設定し、予測動きベクトルの全体候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。現在ブロックの動きベクトルと、決定された予測動きベクトル候補との差ベクトル、すなわち、実際動きベクトル差を生成する。 Then, the motion vector of the current block is predicted based on the motion vector of the block included in the previously encoded area adjacent to the current block. In other words, the motion vector of the block included in the previously coded area adjacent to the current block is set as the overall candidate of the motion vector predictor, and the estimated current block of the overall candidate of the motion vector predictor is set. A motion vector predictor candidate most similar to the motion vector is determined. A difference vector between the motion vector of the current block and the determined motion vector predictor candidate, that is, an actual motion vector difference is generated.

段階1520で、映像符号化装置は、予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外する。予測動きベクトルの全体候補のうち、現在ブロックの動きベクトルを予測するのに利用されないことが明白な予測動きベクトル候補を除外する。 In operation 1520, the video encoder selectively excludes at least one motion vector predictor candidate from all motion vector predictor candidates. Of all the motion vector predictor candidates, motion vector predictor candidates that are not obviously used to predict the motion vector of the current block are excluded.

映像符号化装置は、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補と、段階1510で生成された実際動きベクトル差とを利用し、仮想の動きベクトルを生成する。生成された仮想の動きベクトル、及び他の予測動きベクトル候補を利用し、仮想の動きベクトル差を生成する。全体候補それぞれに対して仮想の動きベクトル差を生成し、生成された仮想の動きベクトル差と、実際動きベクトル差とを比較し、所定の予測動きベクトル候補を選択的に除外することができる。 The video encoding apparatus generates a virtual motion vector by using a predetermined motion vector predictor candidate among all motion vector predictor candidates and the actual motion vector difference generated in step 1510. A virtual motion vector difference is generated by using the generated virtual motion vector and other predicted motion vector candidates. It is possible to generate a virtual motion vector difference for each overall candidate, compare the generated virtual motion vector difference with the actual motion vector difference, and selectively exclude a predetermined motion vector predictor candidate.

段階1520の仮想動きベクトルを生成する過程、及び選択的に除外する過程を全体候補いずれに対しても反復して遂行することにより、少なくとも1つの予測動きベクトル候補を全体候補から除外することができる。除外する過程を反復して遂行するときには、すでに除外された予測動きベクトル候補を除いた残りの予測動きベクトル候補それぞれに対して、仮想の動きベクトル差を計算し、計算された仮想の動きベクトル差を、実際動きベクトル差と比較することができる。 It is possible to exclude at least one motion vector predictor candidate from all candidates by repeatedly performing the process of generating the virtual motion vector of step 1520 and the process of selectively excluding it for all candidate candidates. .. When the exclusion process is repeated, a virtual motion vector difference is calculated for each of the remaining motion vector predictor candidates excluding the motion vector motion vector candidates that have already been excluded, and the calculated virtual motion vector difference is calculated. Can be compared to the actual motion vector difference.

所定の評価関数に基づいて、仮想の動きベクトル差及び実際動きベクトル差を評価して比較することができ、所定の評価関数は、エントロピ符号化結果を予測する関数である。仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する関数に基づいて、比較することができる。また、評価の正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかんの判断に利用することができる。予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外する方法は、数式(1)ないし(5)と係わって説明した。 The virtual motion vector difference and the 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 the entropy coding result. Comparison can be performed 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 evaluation, the result of entropy coding of the index information can also be estimated and used for the determination of exclusion. The method of excluding at least one motion vector predictor candidate from all motion vector predictor candidates has been described with reference to Formulas (1) to (5).

また、動きベクトル符号化装置は、図13Aないし図13Dと係わって説明したように、動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外することもできる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式(1)ないし(5)による除外判断を反復することもできる。 In addition, the motion vector encoding apparatus may rearrange all motion vector candidates according to a predetermined criterion, as described with reference to FIGS. 13A to 13D, and select at least one motion vector predictor from the rearranged global candidates. Candidates can also be selectively excluded. It is also possible to exclude the redundant motion vector predictor candidates from the rearranged overall candidates and repeat the exclusion determination according to the formulas (1) to (5).

段階1530で、動きベクトル符号化装置は、動きベクトルについての情報、及び予測動きベクトルについての情報を符号化する。実際動きベクトル差、及び現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報を符号化する。予測動きベクトルについての情報は、段階1520及び1530を介して除外されていない予測動きベクトルの候補で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するための情報であってもよい。 In operation 1530, the motion vector encoder encodes the information about the motion vector and the information about the motion vector predictor. Coding information for identifying the actual motion vector difference and the motion vector predictor candidate used to predict the motion vector of the current block. The information about the motion vector predictor is a motion vector predictor candidate that has not been excluded through steps 1520 and 1530 and is used to identify a motion vector predictor candidate that is used to predict the motion vector of the current block. It may be.

予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外した結果、1つの予測動きベクトル候補だけ残れば、予測動きベクトルについての情報を符号化しないこともある。 As a result of excluding at least one motion vector predictor candidate from all motion vector predictor candidates, information about the motion vector predictor may not be encoded if only one motion vector predictor candidate remains.

図16は、本発明の一実施形態による動きベクトルを復号化する方法を説明するためのフローチャートである。図16を参照すれば、段階1610で、動きベクトル復号化装置は、受信されたビットストリームから、現在ブロックの動きベクトルについての情報を復号化する。動きベクトルについての情報は、現在ブロックの実際動きベクトルと、現在ブロックの予測動きベクトルとの実際動きベクトル差であってもよい。 FIG. 16 is a flowchart illustrating a method of decoding a motion vector according to an exemplary embodiment of the present invention. Referring to FIG. 16, in step 1610, the motion vector decoding apparatus decodes information about the motion vector of the current block from the received bitstream. The information about the motion vector may be an actual motion vector difference between the actual motion vector of the current block and the predicted motion vector of the current block.

段階1620で、動きベクトル復号化装置は、段階1610で復号化された動きベクトルについての情報及び予測動きベクトルの全体候補のうち、1つの予測動きベクトル候補に基づいて、仮想の動きベクトルを生成する。 In step 1620, the motion vector decoding apparatus generates a virtual motion vector based on one motion vector predictor candidate among the motion vector information decoded in step 1610 and all motion vector predictor candidates. ..

仮想の動きベクトルが生成されれば、動きベクトル復号化装置は、予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外する。現在ブロックに隣接した以前に復号化された領域のブロックの動きベクトルに基づいて、予測動きベクトルの全体候補が決定される。動きベクトル復号化装置は、このような予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外することができる。所定の評価関数に基づいて、仮想の動きベクトル差と、段階1610で復号化された実際動きベクトル差とを評価し、所定の予測動きベクトル候補を選択的に除外する。予測動きベクトル候補を全体候補から除外する方法は、段階1530と同一であり、数式(1)ないし(5)を参照して説明した。 When the virtual motion vector is generated, the motion vector decoding apparatus excludes at least one motion vector predictor candidate from all motion vector predictor candidates. An overall candidate for the motion vector predictor is determined based on the motion vector of the block of the previously decoded area adjacent to the current block. The motion vector decoding apparatus can selectively exclude at least one motion vector predictor candidate from all such motion vector predictor candidates. The virtual motion vector difference and the actual motion vector difference decoded in step 1610 are evaluated based on a predetermined evaluation function, and predetermined motion vector predictor candidates are selectively excluded. The method of excluding the motion vector predictor candidate from the overall candidates is the same as in step 1530, and has been described with reference to Equations (1) to (5).

段階1620の仮想の動きベクトルを生成する過程、及び選択的に除外する過程を全体候補いずれに対しても反復して遂行することにより、少なくとも1つの予測動きベクトル候補を全体候補から除外することができる。 It is possible to exclude at least one motion vector predictor candidate from all candidates by repeatedly performing the process of generating a virtual motion vector of step 1620 and the process of selectively excluding it for all candidate candidates. it can.

また、動きベクトル符号化装置は、図13Aないし図13Dと係わって説明したように、動きベクトルの全体候補を所定の基準によって再整列し、再整列された全体候補から、少なくとも1つの予測動きベクトル候補を選択的に除外することもできる。再整列された全体候補から、重複された予測動きベクトル候補を除外し、数式(1)ないし(5)による除外判断を反復することもできる。 In addition, the motion vector encoding apparatus re-aligns all motion vector candidates according to a predetermined criterion, as described with reference to FIGS. 13A to 13D, and selects at least one predicted motion vector Candidates can also be selectively excluded. It is also possible to exclude the redundant motion vector predictor candidates from the rearranged overall candidates and repeat the exclusion determination according to the formulas (1) to (5).

除外結果、複数の予測動きベクトルの候補が残れば、予測動きベクトルについての情報を復号化し、1つの予測動きベクトル候補だけ残れば、予測動きベクトルについての情報を復号化しない。 If a result of the exclusion indicates that a plurality of motion vector predictor candidates remain, information about the motion vector predictor is decoded, and if only one motion vector predictor candidate remains, information about the motion vector predictor is not decoded.

段階1630で、動きベクトル復号化装置は、段階1620から除外されていない予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を決定する。 In operation 1630, the motion vector decoding apparatus determines a motion vector predictor candidate used to predict the motion vector of the current block among the motion vector predictor candidates not excluded from operation 1620.

現在ブロックの予測動きベクトルについての情報に基づいて、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を決定することができる。段階1620の除外結果、1つの予測動きベクトル候補だけ残った場合には、残った1つの予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補として決定される。 Based on the information about the motion vector predictor of the current block, it is possible to determine a motion vector predictor candidate used to predict the motion vector of the current block among the motion vector predictor candidates. When only one motion vector predictor candidate remains as a result of the exclusion in step 1620, the remaining one motion vector predictor candidate is determined as a motion vector predictor candidate used to predict the motion vector of the current block. ..

予測動きベクトル候補が決定されれば、決定された予測動きベクトル候補と、段階1610で復号化された実際動きベクトル差とを加算し、現在ブロックの動きベクトルを復元する。 If the motion vector predictor candidate is determined, the motion vector predictor candidate determined is added to the actual motion vector difference decoded in step 1610 to restore the motion vector of the current block.

以上のように本発明について、たとえ限定された実施形態及び図面によって説明したにしても、本発明が、前記の実施形態に限定されるものではなく、これは、本発明が属する分野で当業者であるならば、このような記載から、多様な修正及び変形が可能であろう。従って、本発明の思想は、特許請求の範囲によってのみ把握されなければならず、これと均等であったり、あるいは等価的な変形はいずれも、本発明思想の範疇に属するものである。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体に、コンピュータが読み取り可能なコードとして具現することが可能である。 As described above, the present invention is not limited to the above-described embodiments even if the present invention is described by the limited embodiments and the drawings, and those skilled in the art to which the present invention belongs If so, various modifications and variations may be possible from such description. Therefore, the idea of the present invention must be understood only by the scope of the claims, and any equivalent or equivalent modifications thereof belong to the scope of the idea of the present invention. Also, 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 apparatus, the video decoding apparatus, the motion vector coding apparatus, and the motion vector decoding apparatus according to the exemplary embodiments of the present invention are shown in FIG. 1, FIG. 2, FIG. 4, FIG. 5, FIG. A bus coupled to each unit of the apparatus as illustrated at 14 may be included, at least one processor coupled to the bus. It may also include a memory coupled to the bus for storing instructions, received messages or generated messages and coupled to at least one processor for performing instructions as described above.

また、コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるすべての種類の記録装置を含む。記録媒体の例としては、ROM(read-only memory)、RAM(random-access memory)、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されもする。 In addition, the computer-readable recording medium includes all kinds of recording devices that store data that can be read by a computer system. Examples of the recording medium include a ROM (read-only memory), a RAM (random-access memory), a CD-ROM, a magnetic tape, a floppy (registered trademark) disk, and an optical data storage device. In addition, the computer-readable recording medium may be distributed over computer systems connected to a network, and the computer-readable code may be stored and executed in a distributed manner.

1400 ベクトル復号化装置
1410 動きベクトル復号化部
1420 候補決定部
1430 動きベクトル復元部
1400 Vector Decoding Device 1410 Motion Vector Decoding Unit 1420 Candidate Determining Unit 1430 Motion Vector Restoring Unit

Claims (10)

映像を復号化する方法において、
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定する段階と、
前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左上の第1ブロック、右上の第2ブロック、左下の第3ブロック及び前記第3ブロックの上部に位置する第4ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された正方形単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化方法。
In the method of decoding video,
Decoding information about a motion vector difference of a current block in a video and information about a motion vector predictor for specifying a motion vector predictor of the current block from a bitstream;
Constructing a set of motion vector predictor candidates,
Adjusting the motion vector predictor candidate set based on the value of the motion vector predictor candidate in the motion vector predictor candidate set;
Determining a motion vector predictor of the current block based on the adjusted motion vector candidate set and information about the motion vector predictor;
Determining a motion vector of the current block based on information about a motion vector predictor of the current block and a motion vector difference of the current block,
The adjusted motion vector predictor candidate set includes a primary motion vector predictor candidate based on a motion vector of a block adjacent to the current block and a motion vector predictor of a block on a reference picture at the same position as the current block. Including at least one of the following motion vector predictor candidates,
The adjacent blocks include a first block at the upper left of the current block, a second block at the upper right, a third block at the lower left, and a fourth block located above the third block ,
The image is divided into a plurality of maximum coding units according to maximum coding unit size information, and the maximum coding unit is hierarchically divided into one or more coding units having a depth, and a current depth is encoded. units, Ri one der of the divided square units from the coding unit of the upper depth,
The current block is characterized Rukoto included in the coding unit of the current depth, the decoding method.
前記予測動きベクトル候補集合を調整する段階は、
前記予測動きベクトル候補集合内の重複する値を有する1次予測動きベクトル候補が存在する場合、前記重複する値を有する1次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項1に記載の復号化方法。
Adjusting the motion vector predictor candidate set includes
When there is a primary motion vector predictor candidate having an overlapping value in the motion vector predictor candidate set, one of the primary motion vector predictor candidates having the overlapping value is removed from the motion vector predictor candidate set. The decoding method according to claim 1, wherein:
前記調整された予測動きベクトル候補集合は、全部で2つの予測動きベクトル候補を含み、
前記予測動きベクトル情報は、1ビットの二進数値を通じて前記2つの予測動きベクトル候補のうち一つを示すことを特徴とする請求項1に記載の復号化方法。
The adjusted set of motion vector predictor candidates includes a total of two motion vector predictor candidates,
The decoding method according to claim 1, wherein the motion vector predictor information indicates one of the two motion vector predictor candidates through a 1-bit binary value.
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する復号化部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する動きベクトル復元部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左上の第1ブロック、右上の第2ブロック、左下の第3ブロック及び前記第3ブロックの上部に位置する第4ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された正方形単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化装置。
A decoding unit that decodes information about a motion vector difference of a current block in a video and information about a motion vector predictor for specifying a motion vector predictor of the current block from a bitstream,
A candidate determination unit that configures a motion vector predictor candidate set and adjusts the motion vector predictor candidate set based on the value of the motion vector predictor candidate in the motion vector predictor candidate set;
Based on the information about the adjusted motion vector predictor candidate set and the motion vector predictor, determine the motion vector predictor of the current block, the information about the motion vector difference of the current block and the motion vector difference of the current block. A motion vector restoration unit that determines a motion vector of the current block based on the
The adjusted motion vector predictor candidate set includes a primary motion vector predictor candidate based on a motion vector of a block adjacent to the current block and a motion vector predictor of a block on a reference picture at the same position as the current block. Including at least one of the following motion vector predictor candidates,
The adjacent blocks include a first block at the upper left of the current block, a second block at the upper right, a third block at the lower left, and a fourth block located above the third block ,
The image is divided into a plurality of maximum coding units according to maximum coding unit size information, and the maximum coding unit is hierarchically divided into one or more coding units having a depth, and a current depth is encoded. units, Ri one der of the divided square units from the coding unit of the upper depth,
The current block is characterized Rukoto included in the coding unit of the current depth, the decoding device.
前記候補決定部は、予測動きベクトル候補集合を調整するにあたって、前記予測動きベクトル候補集合内の重複する値を有する1次予測動きベクトル候補が存在する場合、前記重複する値を有する1次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項4に記載の復号化装置。 The candidate determination unit adjusts the motion vector predictor candidate set, and when there is a primary motion vector predictor candidate having an overlapping value in the motion vector predictor candidate set, a primary motion predictive motion having the overlapping value. The decoding device according to claim 4, wherein one of the vector candidates is removed from the motion vector predictor candidate set. 前記候補決定部は、全部で2つの予測動きベクトル候補を含むように前記予測動きベクトル候補集合を調整し、
前記候補決定部は、1ビットの二進数値を有する前記予測動きベクトル情報を通じて前記2つの予測動きベクトル候補のうち一つを決定することを特徴とする請求項4に記載の復号化装置。
The candidate determination unit adjusts the motion vector predictor candidate set so as to include two motion vector predictor candidates in total,
The decoding device according to claim 4, wherein the candidate determination unit determines one of the two motion vector predictor candidates based on the motion vector predictor information having a 1-bit binary value.
映像を符号化する方法において、
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左上、右上及び左下のブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された正方形単位の一つであることを特徴とする、符号化方法。
In the method of encoding video,
Performing inter prediction on the current block in the image to determine a motion vector of the current block;
Constructing a set of motion vector predictor candidates,
Adjusting the motion vector predictor candidate set based on the value of the motion vector predictor candidate in the motion vector predictor candidate set;
Among the motion vector predictor candidates included in the motion vector predictor candidate set adjusted based on the motion vector of the current block, the motion vector predictor of the current block is determined, and the motion vector predictor of the current block is specified. Encoding information about the motion vector predictor for
Encoding information about a motion vector difference of the current block indicating a difference between the motion vector of the current block and a predicted motion vector of the current block;
Generating a bitstream including information about a motion vector difference of the current block and information about a motion vector predictor for identifying a motion vector predictor of the current block,
The adjusted motion vector predictor candidate set includes a primary motion vector predictor candidate based on a motion vector of a block adjacent to the current block and a motion vector predictor of a block on a reference picture at the same position as the current block. Including at least one of the following motion vector predictor candidates,
The adjacent blocks include upper left, upper right and lower left blocks of the current block,
The image is divided into a plurality of maximum coding units according to a maximum coding unit size, and the maximum coding unit is hierarchically divided into one or more coding units having a depth, and a coding unit of a current depth. Is a square unit divided from a coding unit of upper depth, and is a coding method.
映像を符号化する装置において、
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左上、右上及び左下のブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された正方形単位の一つであることを特徴とする符号化装置。
In a device that encodes video,
A motion vector estimator for performing inter prediction on the current block in the image to determine the motion vector of the current block;
A candidate determination unit that configures a motion vector predictor candidate set and adjusts the motion vector predictor candidate set based on the value of the motion vector predictor candidate in the motion vector predictor candidate set;
To determine the motion vector predictor of the current block among the motion vector predictor candidates included in the motion vector predictor candidate set adjusted based on the motion vector of the current block, and to specify the motion vector predictor of the current block. Information about the motion vector of the current block is encoded, information about the difference between the motion vector of the current block indicating the difference between the motion vector of the current block and the motion vector predictor of the current block is encoded, and the motion of the current block is encoded. A motion vector encoding unit that generates a bitstream including information about a vector difference and information about a motion vector predictor for specifying a motion vector predictor of the current block;
The adjusted motion vector predictor candidate set includes a primary motion vector predictor candidate based on a motion vector of a block adjacent to the current block and a motion vector predictor of a block on a reference picture at the same position as the current block. Including at least one of the following motion vector predictor candidates,
The adjacent blocks include upper left, upper right and lower left blocks of the current block,
The image is divided into a plurality of maximum coding units according to a maximum coding unit size, and the maximum coding unit is hierarchically divided into one or more coding units having a depth, and a coding unit of a current depth. Is a square unit divided from a coding unit of upper depth, which is a coding unit.
映像を符号化する方法において、
現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左上、右上及び左下のブロックを含むことを特徴とする符号化方法。
In the method of encoding video,
Performing inter prediction on the current block to determine a motion vector of the current block;
Constructing a set of motion vector predictor candidates,
Adjusting the motion vector predictor candidate set based on the value of the motion vector predictor candidate in the motion vector predictor candidate set;
To determine the motion vector predictor of the current block among the motion vector predictor candidates included in the motion vector predictor candidate set adjusted based on the motion vector of the current block, and to specify the motion vector predictor of the current block. Encoding information about the motion vector predictor of
Encoding information about a difference in motion vector of the current block indicating a difference between a motion vector of the current block and a motion vector predictor of the current block;
Generating a bitstream including information about a motion vector difference of the current block and information about a motion vector predictor for identifying a motion vector predictor of the current block,
The adjusted motion vector predictor candidate set includes a primary motion vector predictor candidate based on a motion vector of a block adjacent to the current block and a motion vector predictor of a block on a reference picture at the same position as the current block. Including at least one of the following motion vector predictor candidates,
The encoding method, wherein the adjacent blocks include upper left, upper right and lower left blocks of the current block.
映像を符号化する装置において、
現在ブロックに対するインター予測を行って前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左上、右上及び左下のブロックを含むことを特徴とする符号化装置。
In a device that encodes video,
A motion vector estimation unit that performs inter prediction on the current block to determine the motion vector of the current block;
A candidate determination unit that configures a motion vector predictor candidate set and adjusts the motion vector predictor candidate set based on the value of the motion vector predictor candidate in the motion vector predictor candidate set;
To determine the motion vector predictor of the current block among the motion vector predictor candidates included in the motion vector predictor candidate set adjusted based on the motion vector of the current block, and to specify the motion vector predictor of the current block. Information about the motion vector of the current block is encoded, information about the difference between the motion vector of the current block indicating the difference between the motion vector of the current block and the motion vector predictor of the current block is encoded, and the motion of the current block is encoded. A motion vector encoding unit that generates a bitstream including information about a vector difference and information about a motion vector predictor for specifying a motion vector predictor of the current block;
The adjusted motion vector predictor candidate set includes a primary motion vector predictor candidate based on a motion vector of a block adjacent to the current block and a motion vector predictor of a block on a reference picture at the same position as the current block. Including at least one of the following motion vector predictor candidates,
The coding apparatus according to claim 1, wherein the adjacent blocks include upper left, upper right and lower left blocks of the current block.
JP2019084467A 2010-01-19 2019-04-25 Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate Active JP6740420B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020124907A JP6935553B2 (en) 2010-01-19 2020-07-22 Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29616310P 2010-01-19 2010-01-19
US61/296,163 2010-01-19
KR10-2011-0004015 2011-01-14
KR1020110004015A KR101768207B1 (en) 2010-01-19 2011-01-14 Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018001693A Division JP6523494B2 (en) 2010-01-19 2018-01-10 Method and apparatus for encoding / decoding motion vector based on reduced predicted motion vector candidate

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020124907A Division JP6935553B2 (en) 2010-01-19 2020-07-22 Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates

Publications (2)

Publication Number Publication Date
JP2019146252A JP2019146252A (en) 2019-08-29
JP6740420B2 true JP6740420B2 (en) 2020-08-12

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 (1)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
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

Country Status (2)

Country Link
JP (3) JP6523494B2 (en)
RU (1) RU2701087C1 (en)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
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
WO2011034148A1 (en) * 2009-09-18 2011-03-24 シャープ株式会社 Encoder apparatus, decoder apparatus, moving image encoder apparatus, moving image decoder apparatus, and encoding data
US20120213288A1 (en) * 2009-10-20 2012-08-23 Yoshihiro Kitaura Video encoding device, video decoding device, 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

Also Published As

Publication number Publication date
JP2018093504A (en) 2018-06-14
JP6935553B2 (en) 2021-09-15
JP6523494B2 (en) 2019-06-05
JP2019146252A (en) 2019-08-29
JP2020182236A (en) 2020-11-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
JP6740420B2 (en) Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate
KR101477546B1 (en) Apparatus for decoding motion vector
KR101477545B1 (en) Method for decoding motion vector
AU2015201666B2 (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
KR101617796B1 (en) Method and apparatus for decoding image
KR20140136415A (en) Method and apparatus for encoding/decoding motion vector

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200609

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: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200722

R150 Certificate of patent or registration of utility model

Ref document number: 6740420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250