[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6935553B2 - Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates - Google Patents

Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates Download PDF

Info

Publication number
JP6935553B2
JP6935553B2 JP2020124907A JP2020124907A JP6935553B2 JP 6935553 B2 JP6935553 B2 JP 6935553B2 JP 2020124907 A JP2020124907 A JP 2020124907A JP 2020124907 A JP2020124907 A JP 2020124907A JP 6935553 B2 JP6935553 B2 JP 6935553B2
Authority
JP
Japan
Prior art keywords
motion vector
predicted motion
current block
block
predicted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020124907A
Other languages
Japanese (ja)
Other versions
JP2020182236A (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 JP2020182236A publication Critical patent/JP2020182236A/en
Application granted granted Critical
Publication of JP6935553B2 publication Critical patent/JP6935553B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動きベクトルを符号化/復号化する方法及び装置に係り、さらに詳細には、現在ブロックの動きベクトルを予測符号化、予測復号化する方法及び装置に関する。 The present invention relates to a method and an apparatus for encoding / decoding a motion vector, and more specifically, to a method and an apparatus for predictively coding and predictively decoding a motion vector of a current block.

MPEG(moving picture experts group)−4H.264/MPEG−4AVC(advanced video coding)のようなコーデックでは、現在ブロックの動きベクトルを予測するために、現在ブロックに隣接した以前に符号化されたブロックの動きベクトルを利用する。現在ブロックに対し、左側、上部及び右側上部に隣接した以前に符号化されたブロックの動きベクトルの中央値(median)を、現在ブロックの予測動きベクトル(motion vector predictor)として利用する。現在ブロックの動きベクトルをそのまま符号化するのではなく、現在ブロックの動きベクトルと予測動きベクトルとの動きベクトル差だけ符号化する。 MPEG (moving picture experts group) -4H. Codecs such as 264 / MPEG-4 AVC (advanced video coding) utilize the motion vector of a previously encoded block adjacent to the current block to predict the motion vector of the current block. The median of the motion vector of the previously encoded block adjacent to the left, top and top right of the current block is used as the motion vector predictor of the current block. Instead of encoding the motion vector of the current block as it is, only the motion vector difference between the motion vector of the current block and the predicted motion vector is encoded.

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

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

前記技術的課題を解決するための本発明の一実施形態による動きベクトルを復号化する方法は、現在ブロックの動きベクトルについての情報を復号化する段階と、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補、及び前記復号化された動きベクトルについての情報を利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記生成された差ベクトルを、前記復号化された動きベクトルについての情報と比較し、前記所定の予測動きベクトルを、前記全体候補から選択的に除外する段階と、除外されていない予測動きベクトルの候補のうち一つを、前記現在ブロックの予測動きベクトルとして決定し、前記決定された予測動きベクトル、及び前記復号化された動きベクトルについての情報に基づいて、前記現在ブロックの動きベクトルを復元する段階と、を含む。 The method for decoding the motion vector according to the embodiment of the present invention for solving the technical problem is predetermined among the stage of decoding the information about the motion vector of the current block and the overall candidate of the predicted motion vector. A virtual motion vector is generated by using the predicted motion vector candidate of the above and the information about the decoded motion vector, a difference vector between the virtual motion vector and each of the overall candidates is generated, and the generation is performed. The difference vector is compared with the information about the decoded motion vector, and the predetermined predicted motion vector is selectively excluded from the overall candidates, and the candidate of the predicted motion vector that is not excluded. One of them is determined as the predicted motion vector of the current block, and the motion vector of the current block is restored based on the determined predicted motion vector and the information about the decoded motion vector. ,including.

前記技術的課題を解決するための本発明の一実施形態による動きベクトルを符号化する装置は、現在ブロックの動きベクトルを推定し、前記推定結果に基づいて、予測動きベクトルの全体候補のうち、第1予測動きベクトル候補を、前記現在ブロックの予測動きベクトルとして決定し、前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとに基づいて、動きベクトルについての情報を生成する動きベクトル推定部;前記全体候補のうち、第2予測動きベクトル候補及び前記差ベクトルを利用して仮想の動きベクトルを生成し、前記仮想の動きベクトルと、前記全体候補それぞれとの差ベクトルを生成し、前記差ベクトルと前記動きベクトルとについての情報を比較し、前記第2予測動きベクトル候補を、前記全体候補から選択的に除外する候補決定部;及び前記動きベクトルについての情報、及び前記現在ブロックの予測動きベクトルについての情報を符号化する動きベクトル推定部;を含む。 An apparatus for encoding a motion vector according to an embodiment of the present invention for solving the technical problem estimates a motion vector of a current block, and based on the estimation result, among all candidates of a predicted motion vector. A motion vector estimation that determines a first predicted motion vector candidate as a predicted motion vector of the current block and generates information about the motion vector based on the motion vector of the current block and the predicted motion vector of the current block. Part; Among the overall candidates, a virtual motion vector is generated using the second predicted motion vector candidate and the difference vector, and a difference vector between the virtual motion vector and each of the overall candidates is generated, and the above. A candidate determination unit that compares information about the difference vector and the motion vector and selectively excludes the second predicted motion vector candidate from the overall candidates; and information about the motion vector and prediction of the current block. Includes a motion vector estimator; which encodes information about the motion vector.

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

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

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

本発明の一実施形態による映像符号化装置を図示する図面である。It is a drawing which illustrates the image coding apparatus by one Embodiment of this invention. 本発明の一実施形態による映像復号化装置を図示する図面である。It is a drawing which illustrates the image decoding apparatus by one Embodiment of this invention. 本発明の一実施形態による階層的符号化単位を図示する図面である。It is a drawing which illustrates the hierarchical coding unit by one Embodiment of this invention. 本発明の一実施形態による符号化単位に基づいた映像符号化部を図示する図面である。It is a drawing which illustrates the image coding part based on the coding unit by one Embodiment of this invention. 本発明の一実施形態による符号化単位に基づいた映像復号化部を図示する図面である。It is a drawing which illustrates the image decoding part based on the coding unit by one Embodiment of this invention. 本発明の一実施形態による最大符号化単位、サブ符号化単位及び予測単位を図示する図面である。It is a drawing which illustrates the maximum coding unit, the sub-coding unit and the prediction unit by one Embodiment of this invention. 本発明の一実施形態による、符号化単位及び変換単位を図示する図面である。It is a drawing which illustrates the coding unit and conversion unit by one Embodiment of this invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。It is a drawing which illustrates the division | division form of the coding unit, the prediction unit and the conversion unit by one Embodiment of this invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。It is a drawing which illustrates the division | division form of the coding unit, the prediction unit and the conversion unit by one Embodiment of this invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。It is a drawing which illustrates the division | division form of the coding unit, the prediction unit and the conversion unit by one Embodiment of this invention. 本発明の一実施形態による、符号化単位、予測単位及び変換単位の分割形態を図示する図面である。It is a drawing which illustrates the division | division form of the coding unit, the prediction unit and the conversion unit by one Embodiment of this invention. 本発明の一実施形態による動きベクトルを符号化する装置を図示する図面である。It is a drawing which illustrates the apparatus which encodes the motion vector by one Embodiment of this invention. 本発明の一実施形態による予測動きベクトルの候補を図示する図面である。It is a drawing which illustrates the candidate of the predicted motion vector by one Embodiment of this invention. 本発明の一実施形態による予測動きベクトルの候補を図示する図面である。It is a drawing which illustrates the candidate of the predicted motion vector by one Embodiment of this invention. 本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。It is a drawing which illustrates the block of various sizes adjacent to the present block by one Embodiment of this invention. 本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。It is a drawing which illustrates the block of various sizes adjacent to the present block by one Embodiment of this invention. 本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示する図面である。It is a drawing which illustrates the block of various sizes adjacent to the present block by one Embodiment of this invention. 本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。It is a drawing which illustrates the candidate of the predicted motion vector by another embodiment of this invention. 本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。It is a drawing which illustrates the candidate of the predicted motion vector by another embodiment of this invention. 本発明の他の実施形態による予測動きベクトルの候補を図示する図面である。It is a drawing which illustrates the candidate of the predicted motion vector by another embodiment of this invention. 本発明の一実施形態による予測動きベクトルの候補を縮小する方法を図示する図面である。It is a drawing which illustrates the method of reducing the candidate of the predicted motion vector by one Embodiment of this invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。It is a drawing which illustrates the position of the present block included in the coding unit of a predetermined size by one Embodiment of this invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。It is a drawing which illustrates the position of the present block included in the coding unit of a predetermined size by one Embodiment of this invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。It is a drawing which illustrates the position of the present block included in the coding unit of a predetermined size by one Embodiment of this invention. 本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示する図面である。It is a drawing which illustrates the position of the present block included in the coding unit of a predetermined size by one Embodiment of this invention. 本発明の一実施形態による動きベクトルを復号化する装置を図示する図面である。It is a drawing which illustrates the apparatus which decodes the motion vector by one Embodiment of this invention. 本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。It is a flowchart for demonstrating the method of coding a motion vector by one Embodiment of this invention. 本発明の一実施形態による動きベクトルを復号化する方法を説明するためのフローチャートである。It is a flowchart for demonstrating the method of decoding the motion vector by one Embodiment of this 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 ~" modifies the entire list of components and does not change the individual components of the list if it precedes the list of components.

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

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

最大符号化単位分割部110は、最大サイズの符号化単位である最大符号化単位に基づいて、現在フレームまたは現在スライスを分割することができる。現在フレームまたは現在スライスを少なくとも1つの最大符号化単位に分割することができる。 The maximum coding unit division unit 110 can 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 can be divided into at least one maximum coding unit.

本発明の一実施形態によれば、最大符号化単位及び深度を利用して、符号化単位が表現されもする。前述のように、最大符号化単位は、現在フレームの符号化単位のうち、大きさが最大である符号化単位を示し、深度は、符号化単位が階層的に縮小された程度を示す。深度が大きくなりつつ、符号化単位は、最大符号化単位から最小符号化単位まで縮小され、最大符号化単位の深度は、最小深度として定義され、最小符号化単位の深度は、最大深度として定義されもする。最大符号化単位は、深度が大きくなるにつれて、深度別符号化単位の大きさは小さくなり、k深度のサブ符号化単位は、kより大きい深度の複数個のサブ符号化単位を含んでもよい。 According to one embodiment of the present invention, the coding unit is also represented by utilizing the maximum coding unit and the depth. As described above, the maximum coding unit indicates the coding unit having the largest size among the coding units of the current frame, and the depth indicates the degree to which the coding units are hierarchically reduced. As the depth increases, the coding unit is reduced from the maximum coding unit to the minimum coding unit, the depth of the maximum coding unit is defined as the minimum depth, and the depth of the minimum coding unit is defined as the maximum depth. It will also be done. As the maximum coding unit increases in depth, the size of the depth-based coding unit decreases, and the k-depth sub-coding unit may include a plurality of sub-coding units having a depth greater than k.

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

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

このために、本発明の一実施形態は、フレームまたはスライスごとに異なるサイズの最大映像符号化単位を設定し、最大深度を設定する。最大深度は、符号化単位が縮小される最大回数を意味するので、最大深度によって、最大映像符号化単位に含まれた最小符号化単位サイズを可変的に設定することができる。 To this end, one embodiment of the present invention sets a different size maximum video coding unit for each frame or slice and sets the maximum depth. Since the maximum depth means the maximum number of times that the coding unit is reduced, the minimum coding unit size included in the maximum video coding unit can be variably set by the maximum depth.

符号化深度決定部120は、最大深度を決定する。最大深度は、R−Dコスト(rate-distortion cost)計算に基づいて決定される。最大深度は、フレームまたはスライスごとに異なって決定されたり、あるいはそれぞれの最大符号化単位ごとに異なって決定されてもよい。決定された最大深度は、符号化情報符号化部140に出力され、最大符号化単位別映像データは、映像データ符号化部130に出力される。 The coding depth determination unit 120 determines the maximum depth. The maximum depth is determined based on the rate-distortion cost calculation. The maximum depth may be determined differently for each frame or slice, or differently 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 smallest size coding unit included in the maximum coding unit, that is, the minimum coding unit. In other words, the maximum coding unit is also divided into sub-coding units of different sizes at different depths. Details will be described later with reference to FIGS. 8A to 8D. Further, the sub-coding units of different sizes included in the maximum coding unit are predicted or converted based on the processing units of different sizes. The transformation transforms the pixel values of the spatial domain into the coefficients of the frequency domain, which may be the discrete cosine transform or the KLT (Karhunen Loever transform).

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

例えば、映像符号化装置100は、所定の符号化単位を予測するために、符号化単位と異なる処理単位を選択することができる。 For example, the video coding apparatus 100 can select a processing unit different from the coding unit in order to predict a predetermined coding 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, motion prediction may be performed based on a processing unit in the form of halving at least one of the height or width of the coding unit. Hereinafter, the processing unit on which the prediction is based will be referred to as a “prediction unit”.

予測モードは、イントラモード、インターモード及びスキップモードのうち少なくとも一つであり、特定予測モードは、特定のサイズまたは形態の予測単位についてのみ遂行されもする。例えば、イントラモードは、正方形である2Nx2N,NxNサイズの予測単位についてのみ遂行される。また、スキップモードは、2Nx2Nサイズの予測単位についてのみ遂行される。符号化単位内部に、複数の予測単位があれば、それぞれの予測単位に対して予測を行い、符号化誤差が最も小さい予測モードが選択されもする。 The prediction mode is at least one of an intra mode, an inter mode and a skip mode, and the specific prediction mode may also be performed only for a prediction unit of a particular size or form. For example, the intra mode is performed only for predictive units of square 2Nx2N, NxN size. Further, the skip mode is executed only for the prediction unit of 2Nx2N size. If there are a plurality of prediction units inside the coding unit, prediction is performed for each prediction unit, and the prediction mode with the smallest coding error is also selected.

また、映像符号化装置100は、符号化単位と異なる大きさの処理単位に基づいて、映像データを変換することができる。符号化単位の変換のために、符号化単位より小さいか、あるいは同じである大きさのデータ単位を基に、変換が行われもする。以下、変換の基になる処理単位を「変換単位」とする。 Further, the video coding apparatus 100 can convert video data based on a processing unit having a size different from that of the coding unit. For the conversion of the coding unit, the conversion is also performed based on the data unit of the size smaller than or the same as 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 can determine the sub-coding unit included in the maximum coding unit by using the rate-distortion optimization based on the Lagrangian multiplier. .. In other words, it is possible to determine what form the maximum coding unit is divided into a plurality of sub-coding units, where the plurality of sub-coding units vary in size depending on the depth. After that, the video data coding unit 130 encodes the maximum coding unit and outputs a bit stream based on the division form determined by the coding depth determination unit 120.

符号化情報符号化部140は、符号化深度決定部120で決定された最大符号化単位の符号化モードについての情報を符号化する。最大符号化単位の分割形態についての情報、最大深度についての情報、及び深度別サブ符号化単位の符号化モードについての情報を符号化し、ビットストリームを出力する。サブ符号化単位の符号化モードについての情報は、サブ符号化単位の予測単位についての情報、予測単位別予測モード情報、サブ符号化単位の変換単位についての情報などを含んでもよい。 Coding information The coding unit 140 encodes information about the coding mode of the maximum coding unit determined by the coding depth determination unit 120. It encodes information about the division form of the maximum coding unit, information about the maximum depth, and information about the coding mode of the sub-coding unit for each depth, and outputs a bit stream. 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 about the division form of the maximum coding unit may be information indicating the division of each coding unit. For example, when the maximum coding unit is divided and coded, the information indicating the division is encoded with respect to the maximum coding unit, and the sub-coding unit generated by dividing the maximum coding unit is further divided. Also in the case of encoding, the information indicating the division is encoded for each sub-coding unit. The information indicating the division can be the flag information indicating the division.

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

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

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

図2は、本発明の一実施形態による映像復号化装置を図示している。図2を参照すれば、本発明の一実施形態による映像復号化装置200は、映像データ獲得部210、符号化情報抽出部220及び映像データ復号化部230を含む。 FIG. 2 illustrates a video decoding apparatus according to an embodiment of the present invention. Referring to FIG. 2, the video decoding apparatus 200 according to the 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 video data acquisition unit 210 can 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 bit stream is divided into the maximum coding units, and the video data decoding unit 230 is made to decode the video data for each maximum coding unit.

符号化情報抽出部220は、映像復号化装置200が受信したビット列をパージングし、現在フレームに係わるヘッダから、最大符号化単位、最大深度、最大符号化単位の分割形態、サブ符号化単位の符号化モードについての情報を抽出する。分割形態及び符号化モードについての情報は、映像データ復号化部230に出力される。 The coding information extraction unit 220 parsing the bit string received by the video decoding apparatus 200, and from the header related to 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 the conversion mode. Information about the division mode and the coding 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 contained in the maximum coding unit. As described above, the information about the division form may be information (for example, flag information) indicating the division that is encoded for each coding unit. The information about the coding mode may include information about the prediction unit for each sub-coding unit, information about the prediction mode, information about the conversion unit, and the like.

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

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

映像データ復号化部230は、サブ符号化単位の予測のために、サブ符号化単位別予測単位についての情報、及び予測モードについての情報に基づいて、イントラ予測またはインター予測を行うことができる。また、映像データ復号化部230は、サブ符号化単位の変換単位についての情報に基づいて、サブ符号化単位ごとに逆変換を行うことができる。 The video data decoding unit 230 can 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. Further, the video data decoding unit 230 can perform inverse transformation for each sub-coding unit based on the information about the conversion unit of the sub-coding 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 invention may include 32x32, 16x16, 8x8 and 4x4 from a coding unit having a width x height of 64x64. In addition to the square coding unit, there can be coding units having width x height of 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, 4x8.

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

他の解像度が1920x1080である映像データ320について、最大符号化単位の大きさが64x64、最大深度が4に設定されている。解像度が352x288であるビデオデータ330について、最大符号化単位の大きさが16x16、最大深度が2に設定されている。 For the video data 320 having another resolution of 1920x1080, the size of the maximum coding unit is set to 64x64 and the maximum depth is set to 4. For the video data 330 having a resolution of 352x288, the size of the maximum coding unit 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 size of the coding size is relatively large in order not only to improve the compression rate but also to accurately reflect the video characteristics. Therefore, in the video data 310 and 320 having a higher resolution than the video data 330, the size of the maximum coding unit is selected to be 64x64.

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

一方、映像データ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 having a major axis size of 16. It may include up to the coding unit which is.

映像データ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 a major axis size of 32, 16, 8 as the depth increases from the maximum coding unit having a major axis size of 64. It may include up to a sub-coding unit of 4. As the depth increases, the image is encoded based on a smaller sub-coding unit, which makes it suitable for encoding an image containing more detailed scenes.

図4は、本発明の一実施形態による符号化単位に基づいた映像符号化部を図示している。 FIG. 4 illustrates a video coding unit based on a coding unit according to an embodiment of the present invention.

イントラ予測部410は、現在フレーム405において、イントラモードの予測単位に対してイントラ予測を行い、動き推定部420及び動き補償部425は、インターモードの予測単位に対して、現在フレーム405及び参照フレーム495を利用して、インター予測及び動き補償を行う。 In the current frame 405, the intra prediction unit 410 makes an intra prediction for the prediction unit in the intra mode, and the motion estimation unit 420 and the motion compensation unit 425 make the current frame 405 and the reference frame for the prediction unit in the inter mode. Inter-prediction and motion compensation are performed using 495.

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

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

本発明の一実施形態による映像符号化方法によって符号化するために、映像符号化部400の構成要素であるイントラ予測部410、動き推定部420、動き補償部425、変換部430、量子化部440、エントロピ符号化部450、逆量子化部460、逆変換部470、デブロッキング部480及びループ・フィルタリング490は、いずれも最大符号化単位、深度によるサブ符号化単位、予測単位及び変換単位に基づいて、映像符号化過程を処理する。 In order to encode by the video coding method according to the embodiment of the present invention, the intra prediction unit 410, the motion estimation unit 420, the motion compensation unit 425, the conversion unit 430, and the quantization unit, which are the components of the video coding unit 400, are used. The 440, the entropy coding unit 450, the inverse quantization unit 460, the inverse conversion unit 470, the deblocking unit 480, and the loop filtering 490 are all set to the maximum coding unit, the sub-coding unit by depth, the prediction unit, and the conversion unit. Based on this, the video coding 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 encoded 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 inverse conversion unit 540. The residual value is added to the result of the intra prediction of the intra prediction unit 550 or the motion compensation result of the motion compensation unit 560, and is restored for each coding unit. The restored coding unit is used for predicting the next coding unit or the next frame via the deblocking unit 570 and the loop filtering 580.

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

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

本発明の一実施形態による映像符号化装置100及び映像復号化装置200は、映像特性を考慮して、符号化/復号化を行うために、階層的な符号化単位を利用する。最大符号化単位及び最大深度は、映像の特性によって適応的に設定されたり、ユーザの要求によって多様に設定されもする。 The video coding device 100 and the video decoding device 200 according to the embodiment of the present invention utilize hierarchical coding units in order to perform coding / 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 variously set according to the user's request.

本発明の一実施形態による符号化単位の階層構造600は、最大符号化単位610の高さ及び幅が64であり、最大深度が4である場合を図示している。符号化単位の階層構造600の縦軸に沿って深度が増加し、深度の増加によって、サブ符号化単位620ないし650の幅及び高さが縮小される。また、符号化単位の階層構造600の横軸に沿って、最大符号化単位610及びサブ符号化単位620ないし650の予測単位が図示されている。 The hierarchical structure 600 of the coding unit according to one embodiment of the present invention illustrates the 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 the coding units, and the increase in depth reduces the width and height of the sub-coding units 620 to 650. Further, along the horizontal axis of the hierarchical structure 600 of the coding units, the prediction units of the maximum coding unit 610 and the sub-coding units 620 to 650 are shown.

最大符号化単位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, i.e., width and height of 64x64. Depth increases along the vertical axis, size 32x32 depth 1 sub-coding unit 620, size 16x16 depth 2 sub-coding unit 630, size 8x8 depth 3 sub-coding unit 640, size. There is a 4x4 depth 4 subcoding unit 650. The sub-coding unit 650 having a depth of 4 having a size of 4x4 is the minimum coding unit.

図6を参照すれば、それぞれの深度別に、横軸に沿って予測単位の例示が図示されている。すなわち、深度0の最大符号化単位610の予測単位は、サイズ64x64の符号化単位610と同一であるか、あるいはそれより小サイズであるサイズ64x64の予測単位610、サイズ64x32の予測単位612、サイズ32x64の予測単位614、サイズ32x32の予測単位(616であってもよい。 With reference to FIG. 6, examples of prediction units are illustrated along the horizontal axis for each depth. That is, the prediction unit of the maximum coding unit 610 at 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. The 32x64 prediction unit 614 and the 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 size 32x32 coding unit 620 at depth 1 is the same as or smaller than the size 32x32 coding unit 620, the size 32x32 prediction unit 620, the size 32x16 prediction unit 622, and the size. It may be a 16x32 prediction unit 624 and a size 16x16 prediction unit 626.

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

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

最後に、深度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 size 4x4 prediction unit 650. However, as the maximum depth coding unit, the size of the coding unit and the prediction unit do not necessarily have to be the same, and like the other coding units 610 to 650, the size is smaller than the coding unit. It is also possible to make a prediction by dividing it into the prediction units of.

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

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

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

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

図8Aを参照すれば、深度0である最大符号化単位810を、深度1以上のサブ符号化単位に分割して符号化する。最大符号化単位810を4つの深度1のサブ符号化単位に分割した後、全部または一部の深度1のサブ符号化単位を、さらに深度2のサブ符号化単位に分割する。 Referring to FIG. 8A, the maximum coding unit 810 having a depth of 0 is divided into sub-coding units having a depth of 1 or more and coded. After the maximum coding unit 810 is divided into four depth 1 sub-coding units, all or part of the depth 1 sub-coding units are further divided into depth 2 sub-coding units.

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

図8Bは、最大符号化単位810に係わる予測単位の分割形態を図示している。図8Bを参照すれば、最大符号化単位に係わる予測単位860は、最大符号化単位810と異なって分割される。言い換えれば、サブ符号化単位それぞれに対される予測単位は、サブ符号化単位より小さい。 FIG. 8B illustrates the division form of the prediction unit related to the maximum coding unit 810. Referring to FIG. 8B, the prediction unit 860 related to the maximum coding unit is divided differently from the maximum coding unit 810. In other words, the prediction unit for each sub-coding unit is smaller than the sub-coding unit.

例えば、深度1のサブ符号化単位のうち、右側下部に位置したサブ符号化単位854に係わる予測単位は、サブ符号化単位854より小さくともよい。深度2のサブ符号化単位814,816,818,828,850,852のうち一部のサブ符号化単位815,816,850,852に係わる予測単位は、サブ符号化単位より小さくともよい。 For example, among the sub-coding units having a depth of 1, the prediction unit related to the sub-coding unit 854 located at the lower right side may be smaller than the sub-coding unit 854. Of the sub-coding units 814,816,818,828,850,852 at depth 2, the prediction unit related to some of the sub-coding units 815,816,850,852 may be smaller than the sub-coding units.

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

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

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

図8Dを参照すれば、変換単位870の分割形態は、予測単位860と異なって設定されもする。 With reference to FIG. 8D, the division form of the conversion unit 870 may be set differently from the prediction unit 860.

例えば、深度1の符号化単位854に係わる予測単位が、高さを半分にした形態に選択されても、変換単位は、深度1の符号化単位854の大きさと等しい大きさに選択されもする。同様に、深度2の符号化単位814,850に係わる予測単位が、深度2の符号化単位814,850の高さを半分にした形態に選択されても、変換単位は、深度2の符号化単位814,850の本来の大きさと等しい大きさに選択されもする。 For example, even if the prediction unit related to the coding unit 854 at depth 1 is selected in a form in which the height is halved, the conversion unit is also selected to have a size equal to the size of the coding unit 854 at depth 1. .. Similarly, even if the prediction unit related to the coding unit 814,850 at depth 2 is selected in a form in which the height of the coding unit 814,850 at depth 2 is halved, the conversion unit is the coding at depth 2. It is also selected to be equal in size to the original size of the units 814 and 850.

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

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

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

インター予測、すなわち、時間的予測を利用して符号化されたブロックを復号化するためには、現在ブロックと、参照ピクチャ内の類似したブロックとの相対的な位置差を示す動きベクトルについての情報が必要である。従って、映像符号化時に、動きベクトルについての情報を符号化し、ビットストリームに挿入するが、動きベクトルについての情報をそのまま符号化して挿入すれば、動きベクトルについての情報を符号化するためのオーバーヘッド(overhead)が増加し、映像データの圧縮率が低くなる。 In order to decode an encoded block using inter-prediction, or temporal prediction, information about a motion vector that indicates the relative position difference between the current block and a similar block in the reference picture. is required. Therefore, at the time of video coding, the information about the motion vector is encoded and inserted into the bit stream, but if the information about the motion vector is encoded and inserted as it is, the overhead for encoding the information about the motion vector ( overhead) increases and the compression rate of video data decreases.

従って、映像符号化では、現在ブロックの動きベクトルを予測し、予測の結果として生成された予測動きベクトル(motion vector predictor)と原本動きベクトルとの動きベクトル差(motion vector difference)のみを符号化してビットストリームに挿入することにより、動きベクトルについての情報も圧縮する。 Therefore, in video coding, the motion vector of the current block is predicted, and only the motion vector difference between the predicted motion vector (motion vector predictor) generated as a result of the prediction and the original motion vector is encoded. By inserting it into the bit stream, it also compresses the information about the motion vector.

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

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

図9は、このような明示モードによって動きベクトルを符号化するとき、予測符号化を行う装置を図示する。動きベクトル推定部910は、現在ブロックの動きベクトルを推定する。現在ブロックと類似または同一のブロックを、少なくとも1つの参照ピクチャで検索し、検索結果に基づいて、現在ブロックと、検索された参照ブロックとの相対的な位置差である動きベクトルを推定する。SAD(sum of absolute difference)の計算に基づいて、現在ブロックと類似または同一のブロックを検索し、検索結果に基づいて、現在ブロックの動きベクトルを推定することができる。 FIG. 9 illustrates a device that performs predictive coding when a motion vector is coded in such an explicit mode. The motion vector estimation unit 910 estimates the motion vector of the current block. A block similar to or the same as the current block is searched for at least one reference picture, and a motion vector which is a relative positional difference between the current block and the searched reference block is estimated based on the search result. A block similar to or the same as 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)として設定し、予測動きベクトルの候補のうち、推定された現在ブロックの動きベクトルと最も類似した予測動きベクトル候補を決定する。 The motion vector estimation unit 910 also predicts the motion vector of the current block based on the motion vector of the block contained in the previously encoded region adjacent to the current block. In other words, the motion vectors of the blocks contained in the previously encoded region adjacent to the current block are set as predicted motion vector candidates (candidates), and the estimated current block among the predicted motion vector candidates is set. Determine the predicted motion vector candidates that are most similar to the motion vector of.

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

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

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

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

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

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

図10Bを参照すれば、現在ブロックの接したすべてのブロックの動きベクトルを、予測動きベクトルの候補として利用することができる。言い換えれば、上部に隣接したブロックのうち最も左側のa0ブロックだけではなく、上部に隣接したすべてのブロック(a0ないしaN)の動きベクトルを、予測動きベクトル候補として利用することができ、左側に隣接したブロックのうち、最上部のb0ブロックだけではなく、左側に隣接したすべてのブロック(b0ないしbN)の動きベクトルを、予測動きベクトル候補として利用することができる。 With reference to FIG. 10B, the motion vectors of all the blocks currently in contact with each other can be used as candidates for the predicted motion vector. In other words, not only the leftmost a0 block among the blocks adjacent to the upper part but also the motion vectors of all the blocks (a0 to aN) adjacent to the upper part can be used as predictive motion vector candidates, and are adjacent to the left side. Among the blocks, not only the uppermost b0 block but also the motion vectors of all the blocks (b0 to bN) adjacent to the left side can be used as the predicted motion vector candidates.

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

ただし、現在ブロックの大きさ及び隣接したブロックの大きさによって、現在ブロックの予測動きベクトルの候補を制限することができるが、図10Cないし図10Eを参照して詳細に説明する。 However, the candidates for the predicted motion vector of the current block can be limited by the size of the current block and the size of the adjacent block, which will be described in detail with reference to FIGS. 10C to 10E.

図10Cないし図10Eは、本発明の一実施形態による現在ブロックに隣接した多様な大きさのブロックを図示している。 10C to 10E illustrate blocks of various sizes adjacent to the current block according to one embodiment of the invention.

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

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

大きさが同じではないとしても、所定サイズ以上の隣接したブロックの動きベクトルだけ予測動きベクトル候補として利用することができる。例えば、現在ブロック1010の大きさと比較し、1/4大きさ以上のブロック(1012及び1018)の動きベクトルのみを、予測動きベクトル候補として利用することができる。 Even if the sizes are not the same, only motion vectors of adjacent blocks of a predetermined size or larger can be used as predicted motion vector candidates. For example, only motion vectors of blocks (1012 and 1018) having a size of 1/4 or more of the size of the current block 1010 can be used as predicted motion vector 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 that of the current block, and there is a significant difference in size. Due to the significant difference in magnitude, it is unlikely that the motion vector of block 1022 adjacent to the left side is currently the same as or similar to the motion vector of block 1020. Therefore, the motion vector of the block 1022 adjacent to the left side is not currently used as the predicted motion vector candidate of the block 1020, and only the motion vector of the block 1024 adjacent to the upper part and the block 1026 adjacent to the upper left side is used as the predicted motion vector candidate. can do.

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

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

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

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

現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補(mv_temporal)は、時間的に先行するピクチャ1112と同一位置(colocated)のブロック1120の動きベクトルを利用して決定される。例えば、現在ブロック1100と同一位置のブロック1120の動きベクトルmv_colAが、現在ピクチャ1110の時間的に後行するピクチャ1114の検索されたブロック1122に対して生成されれば、現在ブロック1100の予測動きベクトルの候補であるmv_L0A及びmv_L1Aは、次のように決定される。 The predicted motion vector candidate (mv_temporal) of the current block 1100 of the current picture 1110 is determined by using the motion vector of the block 1120 at the same position (colocated) as the time-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 picture 1114 that currently follows the time of the picture 1110, the predicted motion vector of the current block 1100. Mv_L0A and mv_L1A, which are candidates for, 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 predicted motion vector candidate of the current block 1110 related to the time-preceding picture 1112, and mv_L1A means a predicted motion vector candidate of the current block 1110 related to the time-following picture 1114. 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, the current picture 1110, which is a B picture, exists between the time-leading picture 1112 and the time-following picture 1114. At this time, if the motion vector mv_colA of the block 1120 at the same position is generated for the time-following picture 1114 of the current picture 1110, the motion vector of the current block 1100 is predicted more accurately based on mv_L1A. can do. In other words, mv_colA is more than when mv_colA is a motion vector in the direction opposite to the direction shown in FIG. 11A, that is, when it is generated for other pictures prior to picture 1112 which precedes in time. With the motion vector in the direction illustrated in 11A, the motion vector of block 1100 can now be predicted more accurately.

従って、現在ブロック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 must be in the List1 direction, as shown in FIG. 11A. The current picture 1110 is more likely to exist between the preceding picture 1112 and the trailing picture 1114, and the motion vector of the current block 1100 can be more accurately predicted based on mv_colA.

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

Scale=(CurrPOC−CurrRefPOC)/(ColPOC−ColRefPOC)
mv_temporal=Scale*mv_colA
ここで、ColPOCは、同一位置のブロック1120が含まれている時間的に先行するピクチャ1112のPOCであり、ColRefPOCは、同一位置のブロック1120が参照するブロック1122が含まれている時間的に後行するピクチャ1114のPOCである。
Scale = (CurrPOC-CurRefPOC) / (ColPOC-ColRefPOC)
mv_temporal = Scale * mv_colA
Here, the ColPOC is the POC of the picture 1112 that precedes the block 1120 at the same position in time, and the ColRefPOC is the POC of the block 1122 that is referenced by the block 1120 at the same position later in time. The POC of picture 1114 to be performed.

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

図11Bを参照すれば、現在ピクチャ1110の現在ブロック1100の予測動きベクトル候補は、時間的に後行するピクチャ1114と同一位置のブロック1130の動きベクトルを利用して生成されもする。例えば、現在ブロック1100と同一位置のブロック1130の動きベクトルmv_colBが、現在ピクチャ1110の時間的に先行するピクチャ1112の検索されたブロック1132に対して生成されれば、現在ブロック1100の予測動きベクトルの候補であるmv_L0B及びmv_L1Bは、次のように生成されもする。 Referring to FIG. 11B, the predicted motion vector candidate of the current block 1100 of the current picture 1110 is also generated by using the motion vector of the block 1130 at the same position as the time-following 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 picture 1112 that precedes the current picture 1110 in time, the predicted motion vector of the current block 1100 will be generated. Candidates mv_L0B and mv_L1B are also 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 predicted motion vector of the current block 1110 related to the time-preceding picture 1112, and mv_L1B means a predicted motion vector candidate of the current block 1100 related to the time-following 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, also in the embodiment illustrated in FIG. 11B, the current picture 1110, which is a B picture, exists between the time-leading picture 1112 and the time-following picture 1114. Therefore, if the motion vector mv_colB of the block 1130 at the same position is generated for the picture 1112 that precedes in time, the motion vector of the current block 1100 can be predicted more accurately based on the mv_L0B. In other words, mv_colB is more than if mv_colB is a motion vector in the direction opposite to the direction shown in FIG. 11B, that is, it is generated for another picture after picture 1114 that follows in time. With the motion vector in the direction illustrated in 11B, the motion vector of block 1100 can now 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 must be 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 trailing picture 1114, and the motion vector of the current block 1100 can be predicted more accurately based on mv_colB.

また、現在ブロックが参照するピクチャが、図11Bに図示された隣接したピクチャ1112及び1114ではない他のピクチャであってもよいので、POCに基づいて、現在ブロックの予測動きベクトル候補を生成する。 Further, since the picture referred to by the current block may be another picture other than the adjacent pictures 1112 and 1114 shown in FIG. 11B, the predicted motion vector 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 currently referenced by the picture is CurrRefPOC, the predicted motion vector candidates for the current block are also generated as follows.

Scale=(CurrPOC−CurrRefPOC)/(ColPOC−ColRefPOC)
mv_temporal=Scale*mv_colB
ここで、ColPOCは、同一位置のブロック1130が含まれている時間的に後行するピクチャ1114のPOCであり、ColRefPOCは、同一位置のブロック1130が参照するブロック1132が含まれている時間的に先行するピクチャ1112のPOCである。
Scale = (CurrPOC-CurRefPOC) / (ColPOC-ColRefPOC)
mv_temporal = Scale * mv_colB
Here, the ColPOC is the POC of the picture 1114 that follows the time when the block 1130 at the same position is included, and the ColRefPOC is the POC of the block 1132 that the block 1130 at the same position refers to. 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 predictive motion vector candidate for a P picture (predictive picture) according to an embodiment of the present invention. With reference to FIG. 11C, the predicted motion vector candidate of the current block 1100 of the current picture 1110 is determined by using the motion vector of the block 1140 at the same position as the time-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 the other time-preceding picture 1116, it is a predicted motion vector candidate 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 also be determined based on POC. The mv_L0C can be determined based on the POC of the current picture 1110, the POC of the picture currently referenced by the picture 1110, the POC of the time-preceding picture 1112, and the POC of the other time-preceding picture 1116.

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

また、図11A及び図11Bで、時間的距離に基づいて生成された予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用するためには、同一位置のブロック1120及び1130のうちいずれのブロックを利用して予測動きベクトル候補を生成するかを示す情報が、共に符号化されなければならないが、この情報は、スライスパラメータまたはシーケンスパラメータとして、スライスヘッダまたはシーケンスヘッダに含まれる。 Further, in FIGS. 11A and 11B, in order to use the predicted motion vector candidate generated based on the temporal distance for predicting the motion vector of the current block, any of the blocks 1120 and 1130 at the same position can be used. Information indicating whether to generate a predicted motion vector candidate using the block of the above must be encoded 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, according to FIGS. 10A and 10B, FIGS. 11A to 11C, the set C of candidates for the predicted motion vector is as follows.

C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1,…,mv_aN,mv_b0,mv_b1,…,mv_bN,mv_c,mv_d,mv_e,mv_temporal}
または、集合Cは、予測動きベクトルの候補の個数を減らした集合であってもよい。
C = {median (mv_a0, mv_b0, mv_c), mv_a0, mv_a1, ..., mv_aN, mv_b0, mv_b1, ..., mv_bN, mv_c, mv_d, mv_e, mv_temporal}
Alternatively, the set C may be a set in which the number of candidates for the predicted motion vector is reduced.

C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}
ここで、mv_xは、xブロックの動きベクトルを意味し、median()は、中央値を意味し、mv_temporalは、図11Aないし図11Cと係わって説明した時間的距離を利用して生成された予測動きベクトル候補を意味する。mv_a’は、mv_a0、mv_a1、…、mv_aNのうち有効な最初の動きベクトルを意味する。例えば、a0ブロックが、イントラ予測を利用して符号化されたか、あるいは現在ブロックと異なるピクチャを参照したのであれば、a0の動きベクトルであるmv_a0は、有効ではないので、mv_a’=mv_a1になり、a1ブロックの動きベクトルも有効ではない場合には、mv_a’=mv_a2である。同様に、mv_b’は、mv_b0、mv_b1、…、mv_bNのうち有効な最初の動きベクトルを意味し、mv_c’は、mv_c、mv_d、mv_eのうち有効な最初の動きベクトルを意味する。
C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}
Here, mv_x means the motion vector of the x block, median () means the median value, and mv_temporal is the prediction generated by using the temporal distance described in connection with FIGS. 11A to 11C. It means a motion vector candidate. mv_a'means the first valid motion vector of mv_a0, mv_a1, ..., Mv_aN. For example, if the a0 block is encoded using intra-prediction or refers to a picture different from the current block, the motion vector of a0, mv_a0, is not valid, so mv_a'= mv_a1. , When the motion vector of the a1 block is also not valid, mv_a'= mv_a2. Similarly, mv_b'means the first valid motion vector of mv_b0, mv_b1, ..., Mv_bN, and mv_c'means the first valid motion vector of mv_c, mv_d, mv_e.

現在ブロックに隣接したブロックの動きベクトルのうち、現在ブロックと異なるピクチャを参照するブロックの動きベクトルは、現在ブロックの動きベクトルを効率的に予測することができない。従って、予測動きベクトル候補の集合Cで、現在ブロックと異なるピクチャを参照するブロックの動きベクトルを除くことができる。 Of the motion vectors of the blocks adjacent to the current block, the motion vector of the block that refers to a picture different from the current block cannot efficiently predict the motion vector of the current block. Therefore, in the set of predicted motion vector candidates C, the motion vector of a block that refers to a picture different from the current block can be excluded.

動きベクトル符号化装置900が、明示モードによって動きベクトルを符号化するときには、C集合のうち、いずれの予測動きベクトル候補を、現在ブロックの動きベクトルを予測するのに利用したかを指示する(signalling)情報も共に符号化する。言い換えれば、動きベクトル符号化装置900が動きベクトルを符号化するとき、C集合の元素、すなわち、予測動きベクトルの候補それぞれに対応する二進数を割り当て、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補に対応する二進数も共に符号化する。 When the motion vector coding apparatus 900 encodes the motion vector in the explicit mode, it indicates which of the C sets, the predicted motion vector candidates, is used to predict the motion vector of the current block (signaling). ) Information is also encoded. In other words, when the motion vector encoder 900 encodes a motion vector, it assigns a binary number corresponding to each element of the C set, that is, a candidate for the predicted motion vector, and uses it to predict the motion vector of the current block. The binary numbers corresponding to the predicted motion vector candidates are also encoded.

C集合の元素のうち一つを特定するために、それぞれの予測動きベクトル候補に対応する二進数を割り当て、二進数を出力するから、C集合の元素の個数が少ないほど、さらに少ないビットの二進数で、C集合の元素を特定することができる。 In order to identify one of the elements of the C set, a binary number corresponding to each predicted motion vector candidate is assigned and the binary number is output. Therefore, the smaller the number of elements in the C set, the smaller the number of bits. The element of the C set can be specified by the binary number.

従って、C集合で重複される予測動きベクトル候補があれば、重複される予測動きベクトル候補は、C集合から除外され、二進数を割り当てすることができる。例えば、C集合が、前述のように、C={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}であるとき、mv_a’,mv_b’及びmv_c’がいずれも同一であるならば、C集合を、C={mv_a’,mv_temporal}のように、2つの元素でもって決定し、二進数を割り当てることができる。重複される予測動きベクトル候補を除外する前に、C集合の5個の元素を3ビットを利用して特定することができるならば、重複される予測動きベクトル候補を除外した後には、2個の元素を、1ビットを利用して特定することができる。 Therefore, if there are overlapping predicted motion vector candidates in the C set, the duplicated predicted motion vector candidates are excluded from the C set and a binary number can be assigned. For example, when the C set is C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal} as described above, mv_a', mv_b' and mv_c' are If they are all the same, the C set can be determined by two elements, such as C = {mv_a', mv_temporal}, and a binary number can be assigned. If the five elements of the C set can be identified using 3 bits before excluding duplicate predicted motion vector candidates, then two after excluding duplicate predicted motion vector candidates. The element of can be specified by using 1 bit.

重複される予測動きベクトル候補を除外する代わりに、重複される予測動きベクトル候補が、現在ブロックの予測動きベクトルとして決定される確率を高めるために、所定の加重値(weight)を付加することもできる。前述の例で、mv_a’,mv_b’及びmv_c’がいずれも同一であり、mv_a’だけC集合に含まれているので、mv_a’に所定の加重値を付け加え、mv_a’が現在ブロックの動きベクトルを予測するのに利用される確率を高めることができる。 Instead of excluding duplicate predicted motion vector candidates, a predetermined weight may be added to increase the probability that the duplicate predicted motion vector candidates will be determined as the predicted motion vector of the current block. can. In the above example, mv_a', mv_b', and mv_c'are all the same, and only mv_a'is included in the C set. Therefore, a predetermined weighted value is added to mv_a', and mv_a'is the motion vector of the current block. Can be used to increase the probability of being used to predict.

また、予測動きベクトル候補が一つである場合には、予測動きベクトルの候補のうち一つを特定するための二進数を符号化しないこともある。例えば、C集合が、C={median(mv_a0,mv_b0,mv_c),mv_a0,mv_a1,…,mv_aN,mv_b0,mv_b1,…,mv_bN,mv_c,mv_d,mv_e,mv_temporal}が、a0ないしaNブロック、b0ないしbNブロック、cブロック、dブロック、eブロックがいずれもイントラ予測されたブロックであるならば、C集合は、C={mv_temporal}であるので、実質的に1つの元素しか含まない。従って、この場合、動きベクトル符号化装置900は、予測動きベクトル候補のうち一つを特定するための二進数を符号化しないこともある。 Further, when there is only one predicted motion vector candidate, the binary number for specifying one of the predicted motion vector candidates may not be encoded. For example, the C set is C = {median (mv_a0, mv_b0, mv_c), mv_a0, mv_a1, ..., mv_aN, mv_b0, mv_b1, ..., mv_bN, mv_c, mv_d, mv_e, mv_temporal}. If the bN block, c block, d block, and e block are all intra-predicted blocks, the C set contains C = {mv_temporal}, and therefore contains substantially only one element. Therefore, in this case, the motion vector coding device 900 may not encode a binary number for identifying one of the predicted motion vector candidates.

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

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

前述のように、複数の予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために、別途の情報が符号化されてビットストリームに含まれる。従って、C集合の元素の個数が少ないほど、C集合で、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補を特定するために必要な情報が、少ないビットで符号化されもする。このために、候補決定部920は、所定の評価関数を利用して、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を選択的に除外することができる。図12を参照しつつ詳細に説明する。 As mentioned above, of the multiple predictive motion vector candidates, separate information is encoded and included in the bitstream to identify the predictive motion vector candidates used to predict the motion vector of the current block. Is done. Therefore, the smaller the number of elements in the C set, the less bits the information needed to identify the predicted motion vector candidates currently used to predict the motion vector of the block in the C set. do. Therefore, the candidate determination unit 920 can selectively exclude a predetermined predicted motion vector candidate from the total candidates of the predicted motion vector by 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 the number of predicted motion vector candidates according to an embodiment of the present invention. In FIG. 12, it is assumed that the number of elements in the C set is three, MVP1, MVP2 and MVP3 are the elements in the C set, and the motion vector of the block is currently MV. Since the predicted motion vector candidates most similar to the motion vector of the current block are used to predict the motion vector of the current block, MVP3 most similar to the MV is used to predict the motion vector of the current block. NS.

従って、動きベクトル符号化装置900で、動きベクトルについての情報として符号化される現在ブロックの動きベクトルと、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトル候補との差ベクトル(以下、「実際動きベクトル差(motion vector difference)」とする)は、(2,0)である。MVが(5,0)であり、MVP3が(3,0)であるので、実際動きベクトル差は、(2,0)である。 Therefore, in the motion vector coding apparatus 900, the difference vector between the motion vector of the current block encoded as information about the motion vector and the predicted motion vector candidate used for predicting the motion vector of the current block (hereinafter referred to as , "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 predicted motion vector candidate from the total candidates of the predicted motion vector by utilizing such an actual motion vector difference and a predetermined evaluation function. More specifically, a virtual motion vector is generated by using the actual motion vector difference and a predetermined predicted motion vector candidate, and the motion vector difference between the generated virtual motion vector and the overall candidate (hereinafter referred to as “)”. "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 predicted motion vector 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 with the virtual motion vector difference calculated for each of the overall candidates, a predetermined predicted motion vector candidate can be selectively excluded from the overall candidates of the predicted motion vector.

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

MVP1に基づいた仮想の動きベクトルと異なる予測動きベクトル候補を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、MVP1は、現在ブロックの動きベクトルを予測するのに利用されない。例えば、MVP1と、実際動きベクトル差とを加算して生成された仮想の動きベクトルからMVP3を減算して生成された仮想の動きベクトル差が、実際動きベクトル差より小さければ、MVP3が、MVP1よりさらに正確に仮想の動きベクトルを予測したことにより、この場合、MVP1は、予測動きベクトルのなることができないということは明白であるからである。 If the virtual motion vector difference generated by subtracting the predicted motion vector candidates different from the virtual motion vector based on MVP1 is smaller than the actual motion vector difference, MVP1 is used to predict the motion vector of the current block. Not done. For example, if the virtual motion vector difference generated by subtracting MVP3 from the virtual motion vector generated by adding the MVP1 and the actual motion vector difference is smaller than the actual motion vector difference, the MVP3 is larger than the MVP1. By predicting the virtual motion vector more accurately, it is clear that the MVP1 cannot be the predicted motion vector in this case.

図12で、MVP1と実際動きベクトル差とを加算すれば、MVP1に基づいた仮想の動きベクトルは、(2,0)である。従って、MVP1に基づいて、仮想の動きベクトルを生成したとき、MVP2に係わる仮想の動きベクトル差は、(2,0)であり、MVP3に係わる仮想の動きベクトル差は、(−1,0)である。このとき、MVP3に係わる仮想の動きベクトル差である(−1,0)の大きさは、実際動きベクトル差の大きさである(2,0)より小さいので、MVP1は、現在ブロックの予測動きベクトルになることができない。従って、MVP1を予測動きベクトルの全体候補から除外することができる。言い換えれば、前述のC集合で、MVP1に対応する予測動きベクトル候補は、除外されてもよい。 In FIG. 12, if the MVP1 and the actual motion vector difference are added, the virtual motion vector based on the MVP1 is (2,0). Therefore, when a virtual motion vector is generated based on MVP1, the virtual motion vector difference related to MVP2 is (2,0), and the virtual motion vector difference related to MVP3 is (-1,0). Is. At this time, since the magnitude of the virtual motion vector difference (-1,0) related to the MVP3 is smaller than the magnitude of the actual motion vector difference (2,0), the MVP1 is the predicted motion of the current block. Can't be a vector. Therefore, MVP1 can be excluded from the overall candidates for the predicted motion vector. In other words, in the above-mentioned C set, the predicted motion vector candidates corresponding to MVP1 may be excluded.

このとき、MVP1自体について計算された仮想の動きベクトル差は、(2,0)であり、これは、実際動きベクトル差と常に同一であるので、実際動きベクトルの大きさより小さいなることはない。従って、予測動きベクトルの全体候補それぞれについて仮想の動きベクトル差を計算するとき、MVP1自体に係わる仮想の動きベクトル差は計算しない。 At this time, the virtual motion vector difference calculated for the MVP1 itself is (2,0), which is always the same as the actual motion vector difference, and therefore cannot be smaller than the magnitude of the actual motion vector. Therefore, when calculating the virtual motion vector difference for each of the overall candidates of the predicted motion vector, the virtual motion vector difference related to the MVP1 itself is not calculated.

MVP1の除外いかん判断が完了すれば、候補決定部920は、MVP2を予測動きベクトルの全体候補から除外するか否かを判断する。MVP2を実際動きベクトル差と加算すれば、MVP2に基づいた仮想の動きベクトルは、(2,0)である。従って、MVP1に係わる仮想の動きベクトル差は、(2,0)であり、MVP3に係わる仮想の動きベクトル差は、(−1,0)である。MVP3に係わる仮想の動きベクトル差の大きさが、実際動きベクトル差の大きさより小さいので、MVP1と同様に、MVP2も、予測動きベクトルの全体候補から除外される。MVP2の除外いかんを判断するとき、MVP1に係わる仮想の動きベクトル差と、実際動きベクトル差との比較は、選択的である。MVP1は、すでに現在ブロックの予測動きベクトルではないということが明白であると判断されたので、MVP1を除外した残りの候補それぞれに係わる仮想の動きベクトル差を、実際動きベクトル差と比較することができる。 When the determination of exclusion of MVP1 is completed, the candidate determination unit 920 determines whether or not to exclude MVP2 from all the candidates of the predicted motion vector. 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 of the predicted motion vector as well as MVP1. When determining the exclusion of MVP2, the comparison between the virtual motion vector difference related to MVP1 and the actual motion vector difference is selective. Since it was determined that MVP1 is no longer the predicted motion vector of the current block, it is possible to compare the virtual motion vector difference for each of the remaining candidates excluding MVP1 with the actual motion vector difference. 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 even if other predicted motion vector candidates (that is, MVP1 or MVP2) are subtracted from the actual motion vector, it is smaller than the magnitude of the actual motion vector difference. Since no virtual motion vector difference occurs, MVP3 is not excluded from the overall candidates for the predicted motion vector. Also, according to other embodiments of the present invention, it is clear that MVP3, which is currently determined to be used to predict the motion vector of the block, is not excluded from the overall candidates for the predicted motion vector. The determination unit 920 can skip exclusions for the predicted motion vector candidates that are currently determined to be used to predict the motion vector of the block.

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

また、候補決定部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 candidates for the predicted motion vector, that is, the number of elements in the C set, by repeating the judgment on such exclusions for each of the overall candidates for the predicted motion vector. be able to. The exclusion is determined in order according to the well-ordered order of the candidates of the overall predicted motion vector of the C set. For example, when C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}, the exclusion of median (mv_a', mv_b', mv_') is determined. When the judgment is completed, the exclusion of mv_a'is judged. After that, the exclusion of mv_b'is determined. Depending on the order of the C set, the exclusion judgment is repeated up to mv_temporal.

反復して判断するとき、以前判断過程で除外された候補については、仮想の動きベクトル差と、実際動きベクトル差との比較を省略することができることは、MVP2の除外いかんの判断と係わって説明した通りである。 It is explained in relation to the judgment of MVP2 exclusion that it is possible to omit the comparison between the virtual motion vector difference and the actual motion vector difference for the candidates excluded in the previous judgment process when making an iterative judgment. That's right.

また、C集合は、図13Aないし図13Dと係わって後述するとように、所定の基準によって再整列されるが、C集合が再整列された場合には、再整列された順序によって、除外いかんについての判断を反復する。 Further, the C set is rearranged according to a predetermined criterion as described later in relation to FIGS. 13A to 13D, but when the C set is rearranged, the exclusion is performed according to the rearranged order. Repeat the judgment of.

図12と係わって説明した仮想の動きベクトル差と、実際動きベクトル差との大きさ比較は、一次元動きベクトルはもとより、二次元動きベクトルについても適用される。言い換えれば、x座標及びy座標で定義される仮想の動きベクトル差の大きさと、実際動きベクトル差の大きさとを比較し、所定の予測動きベクトルの候補を全体候補から選択的に除外することができる。 The magnitude comparison between the virtual motion vector difference and the actual motion vector difference described with reference to FIG. 12 is applied not only to the one-dimensional motion vector but also to the two-dimensional motion vector. In other words, the magnitude of the virtual motion vector difference defined by the x-coordinate and the y-coordinate can be compared with the magnitude of the actual motion vector difference, and a predetermined predicted motion vector candidate can be selectively excluded from the overall candidates. can.

しかし、仮想の動きベクトル差と、実際動きベクトル差との比較の基準(criterion)である大きさは、例示的なものであり、多様な基準が、仮想の動きベクトル差と、実際動きベクトル差との比較に利用されもする。所定基準に基づいて、仮想の動きベクトル差に係わる値と、実際動きベクトル差に係わる値とを生成する評価関数を「A」とするとき、次の数式(1)によって、仮想の動きベクトル差と、実際動きベクトル差とを比較することができる。 However, the magnitude that is the criterion for comparison between the virtual motion vector difference and the actual motion vector difference is an example, and various criteria are the virtual motion vector difference and the actual motion vector difference. It is also used for comparison with. When the evaluation function that generates the value related to the virtual motion vector difference and the value related to the actual motion vector difference is "A" based on a predetermined standard, the virtual motion vector difference is calculated by the following mathematical formula (1). And the actual motion vector difference can be compared.

A(mvx+MVD−mvy)<A(MVD) (1)
候補決定部920は、予測動きベクトルの全体候補のうち一つである「mvx」を予測動きベクトルの全体候補から除外するか否かを判断するために、数式(1)を満足する「mvy」が全体候補中に少なくとも一つ存在するか否かを判断する。数式(1)で「MVD」は、実際動きベクトル差を意味する。「mvx」の除外いかんを判断するために、「mvx」に基づいた仮想の動きベクトルである「mvx+MVD」と異なる予測動きベクトル候補である「mvy」間の仮想の動きベクトル差である「mvx+MVD−mvy」を、所定の評価関数「A」を利用して評価した値である「A(mvx+MVD−mvy)」を計算し、計算の結果として生成された値を、実際動きベクトル差に係わる値である「A(MVD)」と比較する。全体候補のうち、「mvx」を除外した他の予測動きベクトル候補を、「mvy」に反復して代入し、数式(1)を満足する「mvy」が全体候補の中に少なくとも一つ存在するか否かを判断する。
A (mvx + MVD-mvy) <A (MVD) (1)
The candidate determination unit 920 satisfies the mathematical formula (1) in order to determine whether or not to exclude "mvx", which is one of the overall candidates of the predicted motion vector, from the overall candidates of the predicted motion vector. Determine if at least one is present in the overall candidates. In the formula (1), "MVD" means the actual motion vector difference. In order to determine the exclusion of "mvx", the virtual motion vector difference between "mvx + MVD", which is a virtual motion vector based on "mvx", and "mvy", which is a predicted motion vector candidate, is "mvx + MVD-". "Mvy" is calculated by calculating "A (mvx + MVD-mvy)" which is a value evaluated by using a predetermined evaluation function "A", 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)". Among the overall candidates, there is at least one "mvy" that satisfies the formula (1) by repeatedly substituting the other predicted motion vector candidates excluding "mvx" into "mvy". Judge 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" are also defined by the x-coordinate and the y-coordinate. In this case, the evaluation function is also defined as the sum of the evaluated values of the x-coordinate and the evaluated value of the y-coordinate, as in the following mathematical formula (2).

A(p,q)=f(p)+f(q) (2)
仮想の動きベクトル差または実際動きベクトル差が、x座標「p」及びy座標「q」として定義されるとき、それぞれの座標値を所定の関数「f」に代入し、代入した結果の和によって、評価関数「A」が定義されもする。
A (p, q) = f (p) + f (q) (2)
When the virtual motion vector difference or the actual motion vector difference is defined as the x-coordinate "p" and the y-coordinate "q", the respective coordinate values are assigned to the predetermined function "f", and the sum of the assigned results is used. , The evaluation function "A" is also defined.

本発明の一実施形態によれば、数式(1)及び数式(2)の評価関数「A」は、仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する評価関数である。候補決定部920は、仮想の動きベクトル差及び実際動きベクトル差をエントロピ符号化した結果を、評価関数「A」に基づいて推定し、推定結果に基づいて、予測動きベクトルの候補の個数を減らすことができる。数式(3)を参照して詳細に説明する。 According to one embodiment of the present invention, the evaluation function "A" of the mathematical formulas (1) and (2) is the result of entropy-encoding the virtual motion vector difference and the result of entropy-coding the actual motion vector difference. It is an evaluation function that estimates. The 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 predicted motion vector candidates based on the estimation result. be able to. This will be described in detail with reference to the mathematical formula (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-encoding result for the x-coordinate value or the y-coordinate value is also defined as in the equation (3). If the function "f" that predicts the result of variable length coding (for example, universal variable length coding) is entered with "val", which is an x-coordinate value or a y-coordinate value. , "Length" is calculated by the above formula (3).

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

Figure 0006935553
x座標値またはy座標価格は、仮想の動きベクトル差または実際動きベクトル差のx座標値またはy座標値であってもよい。
Figure 0006935553
The x-coordinate value or the y-coordinate price 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 the formula (3), if "val" is a negative number or "0", after converting "val" to a positive number, shift it to the left by about 1 bit, multiply the coordinate value by "2", and then multiply. Add "1" and save as "Temp". If "val" is a positive number, shift "val" to the left by about 1 bit, multiply the coordinate value by "2", and save it as "Temp". After that, the "while" loop is repeated until "Temp" becomes "1", and "Length" is calculated.

例えば、仮想の動きベクトル差または実際動きベクトル差が(2,0)であるならば、A(2,0)=f(2+f(0)である。 For example, if the virtual motion vector difference or the actual motion vector difference is (2,0), then A (2,0) = f (2 + f (0).

f(2)は、次のように計算される。f(2)の「2」が正数であるので、1ビットほど左側にシフトし、「Temp」を「4」に設定する。最初のwhileループでは、「Temp」が「4」であり、「4」は、「1」ではないので、「4」を右側にシフトし、「1/2」を乗じることにより、「Temp」を「2」に設定する。「Length」の初期値は、「1」に設定されているので、最初のwhileループで、「Length」は、「3」になる。 f (2) is calculated as follows. Since "2" in f (2) is a positive number, shift it to the left by about 1 bit and set "Temp" to "4". In the first while loop, "Temp" is "4" and "4" is not "1", so by shifting "4" to the right and multiplying by "1/2", "Temp" Is set to "2". Since the initial value of "Length" is set to "1", "Length" becomes "3" in the first while loop.

2番目のwhileループでは、「Temp」が「2」であり、「2」は、「1」ではないので、「2」を右側にシフトし、「1/2」を乗じることにより、「Temp」を「1」に設定する。現在「Length」は、「3」であるので、2番目のwhileループで「Length」は、「5」になる。3番目のwhileループは、「Temp」が「1」であるので遂行されず、f(2)は、「5」になる。 In the second while loop, "Temp" is "2" and "2" is not "1", so by shifting "2" to the right and multiplying by "1/2", "Temp" Is set to "1". Currently, "Length" is "3", so in the second while loop, "Length" becomes "5". The third while loop is not executed because "Temp" is "1", and f (2) becomes "5".

f(0)は、次のように計算される。f(0)の入力座標値が「0」であるので、「0」を左側に1ビットシフトし、「1」を加算して「Temp」は、「1」に設定される。従って、whileループは遂行されない。「Length」の初期値によって、f(0)は、「1」になる。 f (0) is calculated as follows. Since the input coordinate value of f (0) is "0", "0" is shifted to the left by 1 bit, "1" is added, and "Temp" is set to "1". Therefore, the while loop is not executed. Depending on the initial value of "Length", f (0) becomes "1".

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

しかし、可変長符号化の結果ではない他の方法によるエントロピ符号化結果を推定することができることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。例えば、他の評価関数「h」を利用して、仮想の動きベクトル差のエントロピ符号化結果、及び実際動きベクトル差のエントロピ符号化結果を推定し、比較することができるし、このとき、「h」は、コンテクスト適応であるは算術符号化(context adaptive binary arithmetic coding)の結果を推定する関数であってもよい。 However, those skilled in the art to which the present invention belongs will readily appreciate that entropy coding results by other methods that are not the result of variable length coding can be estimated. For example, another evaluation function "h" can be used to estimate and compare the entropy coding result of the virtual motion vector difference and the entropy coding result of the actual motion vector difference. "h" may be a function that estimates the result of context adaptive binary arithmetic coding.

また、本発明の他の実施形態によれば、所定の評価関数に基づいた評価結果の正確度を高めるために、インデックス情報を評価した結果も共に推定することができる。インデックス情報は、予測動きベクトルの全体候補のうち、所定の予測動きベクトル候補を特定するための情報である。数式(4)を参照して詳細に説明する。 Further, according to another embodiment of the present invention, the result of evaluating the index information can be estimated together in order to improve the accuracy of the evaluation result based on the predetermined evaluation function. The index information is information for identifying a predetermined predicted motion vector candidate among the overall candidates of the predicted motion vector. This will be described in detail with reference to the mathematical formula (4).

A(mvx+MVD−mvy,mvyIdx)<A(MVD,mvxIdx) (4)
候補決定部920は、予測動きベクトルの全体候補のうち一つである「mvx」を、予測動きベクトルの全体候補から除外するか否かを判断するために数式(4)を満足する「mvy」が、全体候補中に少なくとも一つ存在するか否かを判断する。数式(4)で「MVD」は、実際動きベクトル差を意味し、mvxIdxとmvyIdxは、予測動きベクトルの全体候補で、それぞれ「mvx」と「mvy」とを特定するためのインデックス情報を意味する。「mvx」の除外いかんを判断するために、「mvx」に基づいた仮想の動きベクトルである「mvx+MVD」と異なる予測動きベクトル候補である「mvy」間の仮想の動きベクトル差である「mvx+MVD−mvy」及び「mvy」を全体候補で特定するためのインデックス情報を、所定の評価関数「A」を利用して評価し、実際動きベクトル差及び「mvx」を全体候補で特定するためのインデックス情報を、所定の評価関数「A」を利用して評価する。評価結果、数式(4)を満足する「mvy」が全体候補中に少なくとも一つ存在するか否かを判断する。
A (mvx + MVD-mvy, mbyIdx) <A (MVD, mbxIdx) (4)
The candidate determination unit 920 satisfies the mathematical formula (4) in order to determine whether or not to exclude "mvx", which is one of the overall candidates of the predicted motion vector, from the overall candidates of the predicted motion vector, "mvy". However, it is determined whether or not at least one of the overall candidates exists. In the formula (4), "MVD" means the actual motion vector difference, and mbxIdx and mbyIdx are all candidates of the predicted motion vector, and mean the index information for specifying "mvx" and "mvy", respectively. .. In order to determine the exclusion of "mvx", the virtual motion vector difference between "mvx + MVD", which is a virtual motion vector based on "mvx", and "mvy", which is a predicted motion vector candidate, is different from "mvx + MVD-". Index information for specifying "mvy" and "mvy" as a whole candidate is evaluated using a predetermined evaluation function "A", and actual motion vector difference and index information for specifying "mvx" as a whole candidate are evaluated. Is evaluated using a predetermined evaluation function "A". As a result of the evaluation, it is determined whether or not at least one "mvy" satisfying the mathematical formula (4) exists in the overall 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 are also defined by the mathematical formula (5).

A(mvx+MVD−mvy,mvyIdx)=f(p1)+f(q1)+g(mvyIdx)
A(MVD,mvxIdx)=f(p2+f(q2+g(mvxIdx) (5)
数式(2)と比較すれば、数式(2)の左辺のA(mvx+MVD−mvy)は、仮想の動きベクトル差だけ評価したが、数式(5)のA(mvx+MVD−mvy,mvyIdx)は、仮想の動きベクトル差、及び予測動きベクトルの全体候補で「mvy」を特定するための情報も共に評価する。評価関数「A」は、前述のように、エントロピ符号化した結果を評価するための関数であってもよく、このとき、関数「f」は、数式(2)と係わって説明したように、仮想の動きベクトル差のx座標値またはy座標値に基づいて、エントロピ符号化結果を推定するための関数であり、関数「g」は、「mvxIdx」のエントロピ符号化結果を推定するための関数であってもよい。「mvx+MVD−mvy」のx座標値が「p1」であり、y座標値が「q1」であるとき、A(mvx+MVD−mvy,mvxIdx)は、数式(5)に示されたように計算することができる。
A (mvx + MVD-mvy, mvyIdx) = f (p1) + f (q1) + g (mvyIdx)
A (MVD, mbxIdx) = f (p2 + f (q2 + g (mvxIdx)) (5)
Compared with the formula (2), A (mvx + MVD-mvy) on the left side of the formula (2) evaluated only the virtual motion vector difference, but A (mvx + MVD-mvy, mvyIdx) of the formula (5) was virtual. The information for specifying "mvy" in the motion vector difference of and the overall candidate of the predicted motion vector is also evaluated. As described above, the evaluation function "A" may be a function for evaluating the result of entropy coding, and at this time, the function "f" is described in relation to the mathematical formula (2). It is a function for estimating the entropy coding result based on the x-coordinate value or the y-coordinate value of the virtual motion vector difference, and the function "g" is a function for estimating the entropy coding result of "mvxIdx". It may be. When the x-coordinate value of "mvx + MVD-mvy" is "p1" and the y-coordinate value is "q1", A (mvx + MVD-mvy, mbxIdx) shall be calculated as shown in the mathematical formula (5). Can be done.

数式(2)の右辺のA(MVD)も、実際動きベクトル差だけ評価したが、数式(5)のA(MVD,mvxIdx)は、実際動きベクトル差、及び予測動きベクトルの全体候補で「mvx」を特定するための情報を共に評価する。関数「f」は、数式(2)と係わって説明したように、実際動きベクトル差のx座標値またはy座標値に基づいて、エントロピ符号化結果を推定するための関数であり、関数「g」は、「mvxIdx」のエントロピ符号化結果を推定するための関数であってもよい。「MVD」のx座標値が「p2」であり、y座標値が「q2」であるとき、A(MVD,mvxIdx)は、数式(5)に図示されたように計算することができる。 A (MVD) on the right side of the equation (2) was also evaluated only for the actual motion vector difference, but A (MVD, mVxIdx) in the equation (5) is the overall candidate for the actual motion vector difference and the predicted motion vector, and is "mVx. Evaluate together the information to identify. The function "f" is a function for estimating the entropy coding result based on the x-coordinate value or the y-coordinate value of the actual motion vector difference, as explained in relation to the mathematical formula (2), and the function "g". May be a function for estimating the entropy coding result of "mvxIdx". When the x-coordinate value of "MVD" is "p2" and the y-coordinate value is "q2", A (MVD, mbxIdx) can be calculated as shown in the mathematical formula (5).

数式(4)及び(5)による除外いかん判断は、数式(2)による除外いかん判断に対して補助的に利用されもする。言い換えれば、数式(2)に基づいて、「mvx」を全体予測動きベクトルの候補から除外するか否かをまず判断し、補助的に数式(4)及び(5)によって、さらに一度除外いかんを判断することができる。例えば、数式(2)によって判断した結果、「A(mvx+MVD−mvy)」が「A(MVD)」と同一であるか、あるいはそれより大きい場合だけ存在し、「A(mvx+MVD−mvy)」が「A(MVD)」より小さい場合が存在しないならば、数式(2)によれば、「mvx」が、予測動きベクトルの全体候補から除外されない。しかし、「A(mvx+MVD−mvy)」と「A(MVD)」とが等しくても、数式(4)及び(5)による判断結果に基づいて、「mvx」を予測動きベクトルの全体候補から除外することができる。 The exclusion judgment by the mathematical formulas (4) and (5) is also used as an auxiliary to the exclusion judgment by the mathematical formula (2). In other words, based on the mathematical formula (2), it is first determined whether or not to exclude "mvx" from the candidates for the overall predicted motion vector, and then the mathematical formulas (4) and (5) are used to supplement the exclusion once more. You can judge. For example, as a result of judgment by the mathematical formula (2), "A (mvx + MVD-mvy)" exists only when it is the same as or larger than "A (MVD)", and "A (mvx + MVD-mvy)" is present. If there is no case smaller than "A (MVD)", then according to formula (2), "mvx" is not excluded from the overall candidates for the predicted motion vector. However, even if "A (mvx + MVD-mvy)" and "A (MVD)" are equal, "mvx" is excluded from the overall candidates for the predicted motion vector based on the judgment results by the mathematical formulas (4) and (5). can do.

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

図13Aないし図13Dは、本発明の一実施形態による所定サイズの符号化単位に含まれた現在ブロックの位置を図示している。 13A to 13D illustrate the position of the current block contained in a coding unit of a predetermined size according to one embodiment of the present invention.

全体予測動きベクトルの候補がC={median(mv_a’,mv_b’,mv_c’),mv_a’,mv_b’,mv_c’,mv_temporal}のようであるとき、C集合の予測動きベクトル候補それぞれに二進数を割り当てることにより、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用された予測動きベクトルを特定する可能性があることについて説明した。 When the candidates for the overall predicted motion vector are C = {median (mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mv_temporal}, each of the predicted motion vector candidates in the C set is a binary number. It was explained that there is a possibility of identifying the predicted motion vector used to predict the motion vector of the current block among the candidates of the predicted motion vector by assigning.

このとき、C集合に含まれた予測動きベクトルの候補の整列順序によって、二進数が割り当てられ、このような二進数は、ハフマンコードに基づいた可変長符号であってもよい。従って、C集合の整列順序で、前に位置した予測動きベクトル候補に、さらに少ない個数のビットを割り当てることができる。例えば、C集合で、「median(mv_a’,mv_b’,mv_c’)」に「0」ビットを割り当て、mv_a’に「00」ビットを割り当て、mv_b’に「01」ビットを割り当てることができる。従って、候補決定部920は、予測動きベクトルの候補のうち、現在ブロックの動きベクトルを予測するのに利用される可能性が高い予測動きベクトル候補が、C集合の前方に位置するように、予測動きベクトルの候補を所定順序によって整列する。 At this time, a binary number is assigned according to the alignment order of the candidates of the predicted motion vector included in the C set, and such a binary number may be a variable length code based on the Huffman code. Therefore, a smaller number of bits can be assigned to the previously located predicted motion vector candidates in the well-ordered C set. For example, in the C set, the "median (mv_a', mv_b', mv_c')" can be assigned the "0" bit, the mv_a'can be assigned the "00" bit, and the mv_b'can be assigned the "01" bit. Therefore, the candidate determination unit 920 predicts that among the candidates for the predicted motion vector, the predicted motion vector candidate that is likely to be used for predicting the motion vector of the current block is located in front of the C set. Motion vector candidates are aligned 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 predicted motion vector, which is likely to be used to predict the motion vector of the current block, is the coding unit and is determined by the position of the current block. If the current block is located at the lower end of the coding unit, as in FIG. 13A, the motion vector of the current block will be the motion vector of the block adjacent to the left side of the coding unit or the motion vector of the block adjacent to the lower left side. Most likely the same or similar. Therefore, it is necessary to change the well-order so that the motion vector of the block adjacent to the left side or the candidate of the predicted motion vector corresponding to the motion vector of the block adjacent to the lower left side is located in front of the C set. Since mv_b'among the candidates for the predicted motion vector of the C set described above is a candidate for the predicted motion vector corresponding to the motion vector of the block adjacent to the left side, the C set is mv_b'and median (mv_a', mv_b'. , Mv_c'), and rearranged as C = {mv_b', mv_a', median (mv_a', mv_b', mv_c'), mv_c', mv_temporal}.

同様に、図13Bのように、現在ブロックが、符号化単位の左側に位置すれば、符号化単位の左側に隣接したブロックの動きベクトル、及び上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される可能性が高い。前述のC集合の予測動きベクトルの候補のうちmv_b’が、左側に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、C集合は、mv_b’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_b’,mv_a’,median(mv_a’,mv_b’,mv_c’),mv_c’,mv_temporal}のように再整列されもする。 Similarly, as shown in FIG. 13B, if the current block is located on the left side of the coding unit, the motion vector of the block adjacent to the left side of the coding unit and the predicted movement corresponding to the motion vector of the block adjacent to the upper part. Vector candidates are likely to be used to predict the motion vector of the current block. Of the above-mentioned candidates for the predicted motion vector of the C set, mv_b'is a predicted motion vector candidate corresponding to the motion vector of the block adjacent to the left side, so that the C set is mv_b'and median (mv_a', mv_b', The order with mv_c') is changed, and the order is also rearranged as C = {mv_b', mv_a', median (mv_a', mv_b', mv_c'), mv_c', mv_temporal}.

図13Cのように、現在ブロックが符号化単位の上部に位置すれば、符号化単位の左側に隣接したブロックの動きベクトル、及び上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの予測動きベクトルに利用される可能性が高い。前述のC集合の予測動きベクトルの候補のうちmv_a’が、上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、C集合は、mv_a’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_a’,median(mv_a’,mv_b’,mv_c’),mv_b’,mv_c’,mv_temporal}のように再整列されもする。 As shown in FIG. 13C, if the current block is located above the coding unit, the motion vector of the block adjacent to the left side of the coding unit and the predicted motion vector candidate corresponding to the motion vector of the block adjacent to the top can be obtained. Currently, it is likely to be used for the predicted motion vector of the block. Of the above-mentioned candidates for the predicted motion vector of the C set, mv_a'is the predicted motion vector candidate corresponding to the motion vector of the block adjacent to the upper part, so that the C set is mv_a'and median (mv_a', mv_b', The order with mv_c') is changed, and the order is also rearranged as C = {mv_a', median (mv_a', mv_b', mv_c'), mv_b', mv_c', mv_temporal}.

図13Dのように、現在ブロックが符号化単位の右側に位置すれば、符号化単位の右側上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補が、現在ブロックの動きベクトルを予測するのに利用される可能性が高い。前述のC集合の予測動きベクトルの候補のうちmv_c’が、右側上部に隣接したブロックの動きベクトルに対応する予測動きベクトル候補であるので、C集合は、mv_c’とmedian(mv_a’,mv_b’,mv_c’)との順序を変え、C={mv_c’,mv_a’,mv_b’,median(mv_a’,mv_b’,mv_c’),mv_temporal}のように再整列されもする。 As shown in FIG. 13D, if the current block is located on the right side of the coding unit, the predicted motion vector candidate corresponding to the motion vector of the block adjacent to the upper right side of the coding unit predicts the motion vector of the current block. It is likely to be used for. Of the above-mentioned candidates for the predicted motion vector of the C set, mv_c'is a predicted motion vector candidate corresponding to the motion vector of the block adjacent to the upper right side, so that the C set is mv_c'and median (mv_a', mv_b'. , Mv_c'), and rearranged as C = {mv_c', mv_a', mv_b', median (mv_a', mv_b', mv_c'), mv_temporal}.

予測動きベクトルの候補を再整列する基準として、符号化単位での現在ブロックの位置は、例示的なのである。言い換えれば、多様な基準が、予測動きベクトルの候補を再整列する基準に利用されもする。現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を、C集合の前部に整列させる多様な基準が、予測動きベクトルの候補を再整列する基準に利用されもする。現在ブロック以前に符号化された他のブロックと係わる所定の情報に基づいて、現在ブロックの動きベクトルと類似した可能性が高い予測動きベクトル候補を決定し、決定に基づいて、C集合を再整列することができる。 The position of the current block in the coding unit is exemplary as a criterion for rearranging the candidates for the predicted motion vector. In other words, various criteria are also used as criteria for rearranging the candidates for the predicted motion vector. Various criteria for aligning predicted motion vector candidates, which are likely to be similar to the motion vector of the current block, to the front of the C set are also used as criteria for rearranging the predicted motion vector candidates. Based on certain information related to other blocks encoded before the current block, predictive motion vector candidates that are likely to be similar to the motion vector of the current block are determined, and the C set is rearranged based on the determination. can do.

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

また、C集合の再整列時に重複された予測動きベクトル候補は、除外され、再整列を遂行することができる。予測動きベクトルの全体候補に、重複された予測動きベクトル候補がある場合には、これをまず除外し、前述の数式(1)ないし(5)によって、それぞれの予測動きベクトル候補に対して、除外いかんを判断することができる。 In addition, the predicted motion vector candidates that are duplicated when the C set is rearranged are excluded, and the rearrangement can be performed. If there are duplicate predicted motion vector candidates in the overall candidates for the predicted motion vector, they are first excluded, and each predicted motion vector candidate is excluded by the above formulas (1) to (5). I can judge the situation.

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

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

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

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

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

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

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

図14の動きベクトル復号化装置1400は、現在ブロックの動きベクトルが、前述の明示モード及び暗示モードのうち、明示モードによって符号化された場合、現在ブロックの動きベクトルを復号化する装置を図示している。 The motion vector decoding device 1400 of FIG. 14 illustrates a device that decodes the motion vector of the current block when the motion vector of the current block is encoded by the explicit mode among the above-mentioned explicit modes and implicit modes. 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. Decrypt the information about the motion vector contained 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 the difference vector between the motion vector of the current block and the predicted motion vector candidate used to predict the motion vector of the current block.

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

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

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

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

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

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

動きベクトル復元部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 and the predicted motion vector candidate used for predicting the motion vector of the current block are added to restore the motion vector of the current block. Among the predicted motion vector candidates determined by the candidate determination unit 1420, the predicted motion vector candidates used for predicting the motion vector of the current block are determined, and the determined predicted motion vector candidates are referred to as the actual motion vector difference. to add. As a result of exclusion by the candidate determination unit 1420, when a plurality of predicted motion vector candidates other than one are left, the predicted motion vector candidate used for predicting the motion vector of the current block is motion vector decoding. It is determined based on the information about the predicted motion vector decoded in part 1410.

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

図15は、本発明の一実施形態による動きベクトルを符号化する方法を説明するためのフローチャートである。図15を参照すれば、段階1510で、動きベクトル符号化装置は、現在ブロックの動きベクトルを推定し、現在ブロックの動きベクトルを予測するのに利用される予測動きベクトル候補を、予測動きベクトルの全体候補のうちから決定する。現在ブロックと同一または類似した動きベクトルを、複数の参照ピクチャで検索し、検索結果によって、現在ブロックと参照ブロックとの相対的な位置差である動きベクトルを推定する。 FIG. 15 is a flowchart for explaining a method of coding a motion vector according to an embodiment of the present invention. Referring to FIG. 15, at step 1510, the motion vector encoder estimates the motion vector of the current block, and the predicted motion vector candidate used to predict the motion vector of the current block is the predicted motion vector. Decide from 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 the motion vector that is the relative positional difference between the current block and the reference block is estimated from the search results.

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

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

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

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

所定の評価関数に基づいて、仮想の動きベクトル差及び実際動きベクトル差を評価して比較することができ、所定の評価関数は、エントロピ符号化結果を予測する関数である。仮想の動きベクトル差をエントロピ符号化した結果と、実際動きベクトル差をエントロピ符号化した結果とを推定する関数に基づいて、比較することができる。また、評価の正確度を高めるために、インデックス情報をエントロピ符号化した結果も共に推定し、除外いかんの判断に利用することができる。予測動きベクトルの全体候補から、少なくとも1つの予測動きベクトル候補を除外する方法は、数式(1)ないし(5)と係わって説明した。 A virtual motion vector difference and an actual motion vector difference can be evaluated and compared based on a predetermined evaluation function, and the predetermined evaluation function is a function for predicting an entropy coding result. A comparison can be made based on a function that estimates the result of entropy-coding the virtual motion vector difference and the result of entropy-coding the actual motion vector difference. In addition, in order to improve the accuracy of the evaluation, the result of entropy-coding the index information can also be estimated and used for determining the exclusion. The method of excluding at least one predicted motion vector candidate from the total candidates of the predicted motion vector has been described in relation to mathematical formulas (1) to (5).

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

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

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

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

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

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

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

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

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

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

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

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

以上のように本発明について、たとえ限定された実施形態及び図面によって説明したにしても、本発明が、前記の実施形態に限定されるものではなく、これは、本発明が属する分野で当業者であるならば、このような記載から、多様な修正及び変形が可能であろう。従って、本発明の思想は、特許請求の範囲によってのみ把握されなければならず、これと均等であったり、あるいは等価的な変形はいずれも、本発明思想の範疇に属するものである。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体に、コンピュータが読み取り可能なコードとして具現することが可能である。 As described above, even if the present invention is described with reference to limited embodiments and drawings, the present invention is not limited to the above-described embodiments, and those skilled in the art in the field to which the present invention belongs. If so, various modifications and modifications would be possible from such a description. Therefore, the idea of the present invention must be grasped only by the scope of claims, and any modification equal to or equivalent to this belongs to the category of the idea of the present invention. Further, the system according to the present invention can be embodied as a computer-readable code on a computer-readable recording medium.

例えば、本発明の例示的な実施形態による映像符号化装置、映像復号化装置、動きベクトル符号化装置及び動きベクトル復号化装置は、図1、図2、図4、図5、図9及び図14に図示されたような装置のそれぞれのユニットにカップルリングされたバス、前記バスに結合された少なくとも1つのプロセッサを含んでもよい。また、命令、受信されたメッセージまたは生成されたメッセージを保存するために、前記バスに結合され、前述のような命令を遂行するための少なくとも1つのプロセッサにカップルリングされたメモリを含んでもよい。 For example, the video coding device, the video decoding device, the motion vector coding device, and the motion vector decoding device according to the exemplary embodiment of the present invention are shown in FIGS. 1, 2, 4, 5, 9, and 9. A bus coupled to each unit of the device as illustrated in 14, may include at least one processor coupled to the bus. It may also include memory coupled to said bus and coupled to at least one processor for carrying out instructions as described above in order to store instructions, received messages or generated messages.

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

1400 ベクトル復号化装置
1410 動きベクトル復号化部
1420 候補決定部
1430 動きベクトル復元部
1400 Vector decoding device 1410 Motion vector decoding unit 1420 Candidate determination unit 1430 Motion vector restoration unit

Claims (10)

映像を復号化する方法において、
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定する段階と、
前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化方法。
In the method of decoding video
The stage of decoding the information about the motion vector difference of the current block in the video and the information about the predicted motion vector for specifying the predicted motion vector of the current block from the bit stream, and
The stage of constructing the predicted motion vector candidate set and
A step of adjusting the predicted motion vector candidate set based on the value of the predicted motion vector candidate in the predicted motion vector candidate set, and a step of adjusting the predicted motion vector candidate set.
A step of determining the predicted motion vector of the current block based on the adjusted predicted motion vector candidate set and the information about the predicted motion vector, and
Including a step of determining the motion vector of the current block based on the information about the predicted motion vector of the current block and the motion vector difference of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size information, and the maximum coding unit is hierarchically divided by one or more coding units having a depth to encode the current depth. The unit is one of the coding units divided from the higher depth coding unit.
A decoding method, wherein the current block is included in the coding unit of the current depth.
前記予測動きベクトル候補集合を調整する段階は、
前記予測動きベクトル候補集合内の重複する値を有する1次予測動きベクトル候補が存在する場合、前記重複する値を有する1次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項1に記載の復号化方法。
The step of adjusting the predicted motion vector candidate set is
When there are primary predicted motion vector candidates having overlapping values in the predicted motion vector candidate set, one of the primary predicted motion vector candidates having overlapping values is removed by the predicted motion vector candidate set. The decoding method according to claim 1, wherein the decoding method is characterized by the above.
前記調整された予測動きベクトル候補集合は、全部で2つの予測動きベクトル候補を含み、
前記予測動きベクトル情報は、1ビットの二進数値を通じて前記2つの予測動きベクトル候補のうち一つを示すことを特徴とする請求項1に記載の復号化方法。
The adjusted predicted motion vector candidate set contains a total of two predicted motion vector candidates.
The decoding method according to claim 1, wherein the predicted motion vector information indicates one of the two predicted motion vector candidates through a 1-bit binary numerical value.
映像内の現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報をビットストリームから復号化する復号化部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記調整された予測動きベクトル候補集合及び前記予測動きベクトルについての情報に基づき、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトル及び前記現在ブロックの動きベクトル差についての情報に基づき、前記現在ブロックの動きベクトルを決定する動きベクトル復元部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズ情報によって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、復号化装置。
A decoding unit that decodes information about the motion vector difference of the current block in the video and information about the predicted motion vector for specifying the predicted motion vector of the current block from the bit stream.
A candidate determination unit that constitutes a predicted motion vector candidate set and adjusts the predicted motion vector candidate set based on the values of the predicted motion vector candidates in the predicted motion vector candidate set.
Based on the information about the adjusted predicted motion vector candidate set and the predicted motion vector, the predicted motion vector of the current block is determined, and the information about the predicted motion vector of the current block and the motion vector difference of the current block is used. Based on, the motion vector restoration unit that determines the motion vector of the current block is included.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size information, and the maximum coding unit is hierarchically divided by one or more coding units having a depth to encode the current depth. The unit is one of the coding units divided from the higher depth coding unit.
A decoding device, characterized in that the current block is included in the coding unit of the current depth.
前記候補決定部は、予測動きベクトル候補集合を調整するにあたって、前記予測動きベクトル候補集合内の重複する値を有する1次予測動きベクトル候補が存在する場合、前記重複する値を有する1次予測動きベクトル候補のうち一つを前記予測動きベクトル候補集合で除去することを特徴とする請求項4に記載の復号化装置。 When adjusting the predicted motion vector candidate set, the candidate determination unit determines that if there are primary predicted motion vector candidates having overlapping values in the predicted motion vector candidate set, the primary predicted motion having the overlapping values is present. The decoding device according to claim 4, wherein one of the vector candidates is removed by the predicted motion vector candidate set. 前記候補決定部は、全部で2つの予測動きベクトル候補を含むように前記予測動きベクトル候補集合を調整し、
前記候補決定部は、1ビットの二進数値を有する前記予測動きベクトル情報を通じて前記2つの予測動きベクトル候補のうち一つを決定することを特徴とする請求項4に記載の復号化装置。
The candidate determination unit adjusts the predicted motion vector candidate set so as to include a total of two predicted motion vector candidates.
The decoding device according to claim 4, wherein the candidate determination unit determines one of the two predicted motion vector candidates through the predicted motion vector information having a 1-bit binary value.
映像を符号化する方法において、
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち、前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと、前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、符号化方法。
In the method of coding video
At the stage of performing inter-prediction for the current block in the video and determining the motion vector of the current block,
The stage of constructing the predicted motion vector candidate set and
A step of adjusting the predicted motion vector candidate set based on the value of the predicted motion vector candidate in the predicted motion vector candidate set, and a step of adjusting the predicted motion vector candidate set.
Among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, the predicted motion vector of the current block is determined, and the predicted motion vector of the current block is specified. And the stage of encoding information about the predicted motion vector for
A step of encoding information about the difference between the motion vector of the current block and the predicted motion vector of the current block, which indicates the difference between the motion vector of the current block and the predicted motion vector of the current block.
Including a step of generating a bitstream containing information about the motion vector difference of the current block and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size, and the maximum coding unit is hierarchically divided by one or more coding units having a depth, and the coding unit of the current depth. Is one of the coding units divided from the higher depth coding unit,
A coding method, wherein the current block is included in the coding unit of the current depth.
映像を符号化する装置において、
映像内の現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含み、
前記映像は、最大符号化単位サイズによって複数個の最大符号化単位に分割され、最大符号化単位は、深度を有する一つ以上の符号化単位で階層的に分割され、現在深度の符号化単位は、上位深度の符号化単位から分割された符号化単位の一つであり、
前記現在ブロックは、前記現在深度の符号化単位に含まれることを特徴とする、符号化装置。
In a device that encodes video
A motion vector estimation unit that performs inter-prediction for the current block in the video and determines the motion vector of the current block.
A candidate determination unit that constitutes a predicted motion vector candidate set and adjusts the predicted motion vector candidate set based on the values of the predicted motion vector candidates in the predicted motion vector candidate set.
To determine the predicted motion vector of the current block among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, and to specify the predicted motion vector of the current block. The information about the predicted motion vector of the current block is encoded, and the information about the difference of the motion vector of the current block indicating the difference between the motion vector of the current block and the predicted motion vector of the current block is encoded, and the motion of the current block is encoded. Includes a motion vector encoding unit that generates a bit stream containing information about the vector difference and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
The video is divided into a plurality of maximum coding units according to the maximum coding unit size, and the maximum coding unit is hierarchically divided by one or more coding units having a depth, and the coding unit of the current depth. Is one of the coding units divided from the higher depth coding unit,
A coding device, characterized in that the current block is included in the coding unit of the current depth.
映像を符号化する方法において、
現在ブロックに対するインター予測を行って、前記現在ブロックの動きベクトルを決定する段階と、
予測動きベクトル候補集合を構成する段階と、
前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する段階と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化する段階と、
前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化する段階と、
前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する段階と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含むことを特徴とする符号化方法。
In the method of coding video
At the stage of performing inter-prediction for the current block and determining the motion vector of the current block,
The stage of constructing the predicted motion vector candidate set and
A step of adjusting the predicted motion vector candidate set based on the value of the predicted motion vector candidate in the predicted motion vector candidate set, and a step of adjusting the predicted motion vector candidate set.
To determine the predicted motion vector of the current block among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, and to specify the predicted motion vector of the current block. And the stage of encoding information about the predicted motion vector of
A step of encoding information about the difference in the motion vector of the current block, which indicates the difference between the motion vector of the current block and the predicted motion vector of the current block.
Including a step of generating a bitstream containing information about the motion vector difference of the current block and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
A coding method, wherein the adjacent block includes a first block at the lower left of the current block and a second block at the top of the first block.
映像を符号化する装置において、
現在ブロックに対するインター予測を行って前記現在ブロックの動きベクトルを決定する動きベクトル推定部と、
予測動きベクトル候補集合を構成し、前記予測動きベクトル候補集合内の予測動きベクトル候補の値に基づき、前記予測動きベクトル候補集合を調整する候補決定部と、
前記現在ブロックの動きベクトルに基づいて前記調整された予測動きベクトル候補集合に含まれた予測動きベクトル候補のうち前記現在ブロックの予測動きベクトルを決定し、前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を符号化し、前記現在ブロックの動きベクトルと前記現在ブロックの予測動きベクトルとの差を示す前記現在ブロックの動きベクトルの差についての情報を符号化し、前記現在ブロックの動きベクトル差についての情報及び前記現在ブロックの予測動きベクトルを特定するための予測動きベクトルについての情報を含むビットストリームを生成する動きベクトル符号化部と、を含み、
前記調整された予測動きベクトル候補集合は、前記現在ブロックに隣接したブロックの動きベクトルに基づいた1次予測動きベクトル候補と、現在ブロックと同じ位置の参照ピクチャ上のブロックの動きベクトルに基づいた2次予測動きベクトル候補のうち少なくとも一つを含み、
前記隣接したブロックは、前記現在ブロックの左下の第1ブロック、及び前記第1ブロックの上部の第2ブロックを含むことを特徴とする符号化装置。
In a device that encodes video
A motion vector estimation unit that performs inter-prediction for the current block and determines the motion vector of the current block.
A candidate determination unit that constitutes a predicted motion vector candidate set and adjusts the predicted motion vector candidate set based on the values of the predicted motion vector candidates in the predicted motion vector candidate set.
To determine the predicted motion vector of the current block among the predicted motion vector candidates included in the adjusted predicted motion vector candidate set based on the motion vector of the current block, and to specify the predicted motion vector of the current block. The information about the predicted motion vector of the current block is encoded, and the information about the difference of the motion vector of the current block indicating the difference between the motion vector of the current block and the predicted motion vector of the current block is encoded, and the motion of the current block is encoded. Includes a motion vector encoding unit that generates a bit stream containing information about the vector difference and information about the predicted motion vector for identifying the predicted motion vector of the current block.
The adjusted predicted motion vector candidate set is based on the first-order predicted motion vector candidate based on the motion vector of the block adjacent to the current block and the motion vector of the block on the reference picture at the same position as the current block. Includes at least one of the next predicted motion vector candidates
The encoding device, wherein the adjacent block includes a first block at the lower left of the current block and a second block above the first block.
JP2020124907A 2010-01-19 2020-07-22 Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates Active JP6935553B2 (en)

Applications Claiming Priority (5)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019084467A Division JP6740420B2 (en) 2010-01-19 2019-04-25 Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate

Publications (2)

Publication Number Publication Date
JP2020182236A JP2020182236A (en) 2020-11-05
JP6935553B2 true JP6935553B2 (en) 2021-09-15

Family

ID=62565747

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2018001693A Active JP6523494B2 (en) 2010-01-19 2018-01-10 Method and apparatus for encoding / decoding motion vector based on reduced predicted motion vector candidate
JP2019084467A Active JP6740420B2 (en) 2010-01-19 2019-04-25 Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate
JP2020124907A Active JP6935553B2 (en) 2010-01-19 2020-07-22 Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2018001693A Active JP6523494B2 (en) 2010-01-19 2018-01-10 Method and apparatus for encoding / decoding motion vector based on reduced predicted motion vector candidate
JP2019084467A Active JP6740420B2 (en) 2010-01-19 2019-04-25 Method and apparatus for coding/decoding motion vector based on reduced motion vector predictor candidate

Country Status (2)

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

Family Cites Families (16)

* 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
JPWO2011034148A1 (en) * 2009-09-18 2013-02-14 シャープ株式会社 Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data
JPWO2011048903A1 (en) * 2009-10-20 2013-03-07 シャープ株式会社 Moving picture coding apparatus, moving picture decoding apparatus, and data structure
KR101768207B1 (en) * 2010-01-19 2017-08-16 삼성전자주식회사 Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates

Also Published As

Publication number Publication date
JP2018093504A (en) 2018-06-14
JP6740420B2 (en) 2020-08-12
JP2019146252A (en) 2019-08-29
JP2020182236A (en) 2020-11-05
JP6523494B2 (en) 2019-06-05
RU2701087C1 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
JP6275889B2 (en) Method and apparatus for encoding / decoding motion vectors based on reduced predicted motion vector candidates
JP5856268B2 (en) Video decoding method
KR102027474B1 (en) Method and apparatus for encoding/decoding image by using motion vector of previous block as motion vector of current block
KR101974140B1 (en) Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates
JP6935553B2 (en) Methods and Devices for Coding / Decoding Motion Vectors Based on Reduced Predicted Motion Vector Candidates
AU2015201666B2 (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210727

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210825

R150 Certificate of patent or registration of utility model

Ref document number: 6935553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250