JP2021536699A - Motion vector acquisition methods, devices, computer devices and storage media - Google Patents

Motion vector acquisition methods, devices, computer devices and storage media Download PDF

Info

Publication number
JP2021536699A
JP2021536699A JP2021512258A JP2021512258A JP2021536699A JP 2021536699 A JP2021536699 A JP 2021536699A JP 2021512258 A JP2021512258 A JP 2021512258A JP 2021512258 A JP2021512258 A JP 2021512258A JP 2021536699 A JP2021536699 A JP 2021536699A
Authority
JP
Japan
Prior art keywords
motion vector
block
processed
picture
candidate
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.)
Granted
Application number
JP2021512258A
Other languages
Japanese (ja)
Other versions
JP7140908B2 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2021536699A publication Critical patent/JP2021536699A/en
Priority to JP2022142722A priority Critical patent/JP7386301B2/en
Application granted granted Critical
Publication of JP7140908B2 publication Critical patent/JP7140908B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本願は、動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体を開示し、ビデオ圧縮技術の分野に関連する。方法において、処理対象のピクチャ・ブロックの初期の動きベクトルは、参照ブロックと処理対象のピクチャ・ブロックとの間の位置関係を使用することにより決定される。参照ブロックと処理対象のピクチャ・ブロックとが、同じコーディング・ツリー・ブロック内に位置する場合、デコーダは、参照ブロックの初期の動きベクトルを、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用する。参照ブロックと処理対象のピクチャ・ブロックとが、異なるコーディング・ツリー・ブロック内に位置する場合、デコーダは、参照ブロックの最終的な動きベクトルを、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用する。この場合、参照ブロックの最終的な動きベクトルが、処理対象のピクチャ・ブロックに必要とされる場合、処理対象のピクチャ・ブロックを使用することができるように、参照ブロックの初期の動きベクトルが、参照ブロックの最終的な動きベクトルとして使用されることが可能であり、これにより、参照ブロックの最終的な動きベクトルが得られた後に限り、処理対象のピクチャ・ブロックを復号化することができるというケースを回避し、復号化効率を向上させることができる。The present application discloses motion vector acquisition methods and devices, computer devices, and storage media, and relates to the field of video compression technology. In the method, the initial motion vector of the picture block to be processed is determined by using the positional relationship between the reference block and the picture block to be processed. If the reference block and the picture block to be processed are located in the same coding tree block, the decoder uses the initial motion vector of the reference block as the initial motion vector of the picture block to be processed. .. If the reference block and the picture block to be processed are located in different coding tree blocks, the decoder uses the final motion vector of the reference block as the initial motion vector of the picture block to be processed. do. In this case, if the final motion vector of the reference block is needed for the picture block to be processed, the initial motion vector of the reference block can be used so that the picture block to be processed can be used. It can be used as the final motion vector of the reference block, which means that the picture block to be processed can be decoded only after the final motion vector of the reference block is obtained. Cases can be avoided and decryption efficiency can be improved.

Description

本願は、2018年9月3日に出願された「ビデオ・コーディング方法及び装置」と題する中国特許出願第201811020181.9号に対する優先権を主張しており、その全体が参照により本願に組み込まれる。 This application claims priority to Chinese Patent Application No. 201811020181.9, entitled "Video Coding Methods and Devices" filed September 3, 2018, which is incorporated herein by reference in its entirety.

本願は、2018年10月29日に出願された「動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体」と題する中国特許出願第201811271726.3号に対する優先権を主張しており、その全体が参照により本願に組み込まれる。 This application claims priority to Chinese Patent Application No. 201811271726.3 entitled "Motion Vector Acquisition Methods and Devices, Computer Devices, and Storage Media" filed October 29, 2018, in its entirety. Is incorporated herein by reference.

技術分野
本願は、ビデオ圧縮技術の分野、特に動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体に関連する。
Technical Fields The present application relates to the field of video compression technology, in particular motion vector acquisition methods and devices, computer devices, and storage media.

背景
日常生活において、ビデオ関連アプリケーションはますます人気を集めている。コンピュータ技術の成熟とともに、ビデオ処理技術もまた大きく発展してきた。ビデオ・コーディング技術は目覚ましく発展してきた。ピクチャのフレーム内のコーディング・ユニットが符号化される場合に、冗長性は、コーディング・ユニットと予測ユニットとの間の相関を利用することにより、可能な限り排除されることが可能である。復号化の際に、冗長性が除去された後に取得された情報は、コーディング・ユニットに対応するピクチャ情報を取得するために復号化される。
Background Video-related applications are becoming more and more popular in everyday life. With the maturity of computer technology, video processing technology has also evolved significantly. Video coding technology has evolved tremendously. Redundancy can be eliminated as much as possible by utilizing the correlation between the coding unit and the prediction unit when the coding unit within the frame of the picture is encoded. At the time of decoding, the information acquired after the redundancy is removed is decoded to acquire the picture information corresponding to the coding unit.

復号化処理は次のようであってもよい:コーディング・ユニットの動き情報を取得した後に、デコーダは、動き情報に基づいて、候補の予測された動きベクトルのリストを設定し、取得された動き情報に基づいて、候補の予測された動きベクトルのリストから、最適な予測された動きベクトルを選択し、最適な予測された動きベクトルで示される参照ユニットを開始点として使用することにより、コーディング・ユニットに最も類似する予測ユニットを探索し、候補の予測された動きベクトルのリストの中で最適な予測された動きベクトルを、予測ユニットの動きベクトルに更新し(即ち、更新された予測された動きベクトルはコーディング・ユニットの予測された動きベクトルであり)、更新された予測された動きベクトルと予測ユニットとに基づいて、コーディング・ユニットに対応するピクチャ情報を取得する。 The decoding process may be as follows: After acquiring the motion information of the coding unit, the decoder sets a list of candidate predicted motion vectors based on the motion information and the acquired motion. Coding by selecting the optimal predicted motion vector from the list of candidate predicted motion vectors based on the information and using the reference unit indicated by the optimal predicted motion vector as the starting point. Search for the prediction unit that most closely resembles the unit and update the best predicted motion vector in the list of candidate predicted motion vectors to the motion vector of the prediction unit (ie, the updated predicted motion). The vector is the predicted motion vector of the coding unit), and the picture information corresponding to the coding unit is acquired based on the updated predicted motion vector and the prediction unit.

本願を実現するプロセスにおいて、発明者は、関連する技術が少なくとも以下の問題を有することを見出している:デコーダは、復号化中に複数のコーディング・ユニットを同時に復号化する可能性がある。しかしながら、現在のコーディング・ユニットの予測された動きベクトルが、別のコーディング・ユニットに使用されることを必要とする場合、復号化は、現在のコーディング・ユニットの最適な予測された動きベクトルが更新された後に限って実行することが可能であり、その結果、遅延が非常に発生しやすい。 In the process of realizing the present application, the inventor has found that the related techniques have at least the following problems: the decoder may decode multiple coding units simultaneously during decoding. However, if the predicted motion vector of the current coding unit needs to be used by another coding unit, decoding will update the optimal predicted motion vector of the current coding unit. It can only be executed after it has been done, and as a result, delays are very likely to occur.

本願の実施形態は、関連技術における復号化遅延問題を解決するために、動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体を提供する。 Embodiments of the present application provide motion vector acquisition methods and devices, computer devices, and storage media to solve the decoding delay problem in related arts.

ある態様によれば、本願は動きベクトル取得方法を提供し、これは、
処理対象のピクチャ・ブロックの参照ブロックを決定するステップであって、参照ブロックと処理対象のピクチャ・ブロックとはピクチャの同じフレームに位置する、ステップと、
参照ブロックが前もってセットされたレンジ内にある場合に、参照ブロックの初期の動きベクトルに基づいて、処理対象のピクチャ・ブロックの動きベクトルを取得するステップであって、前もってセットされたレンジは、処理対象のピクチャ・ブロックの位置に基づいて決定される、ステップと、
参照ブロックが前もってセットされたレンジ外にある場合に、参照ブロックの最終的な動きベクトルに基づいて、処理対象のピクチャ・ブロックの動きベクトルを取得するステップであって、最終的な動きベクトルは初期の動きベクトルに基づいて取得される、ステップとを含む。
According to one aspect, the present application provides a motion vector acquisition method, which is:
A step that determines the reference block of the picture block to be processed, in which the reference block and the picture block to be processed are located in the same frame of the picture.
If the reference block is within a preset range, it is a step to get the motion vector of the picture block to be processed based on the initial motion vector of the reference block, and the preset range is processed. Steps and steps that are determined based on the position of the target picture block,
This is the step to get the motion vector of the picture block to be processed based on the final motion vector of the reference block when the reference block is out of the preset range, and the final motion vector is the initial. Includes steps, which are obtained based on the motion vector of.

可能な実装において、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックCTBと処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、同じ行に位置することを含み、
相応して、参照ブロックが前もってセットされたレンジ外にあることは、参照ブロックが位置するコーディング・ツリー・ブロックと処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、異なる行に位置することを含む。
In a possible implementation, the fact that the reference block is within the preset range means that the coding tree block CTB where the reference block is located and the coding tree block where the picture block to be processed is located are on the same line. Including being located in
Correspondingly, the fact that the reference block is out of the preset range means that the coding tree block where the reference block is located and the coding tree block where the picture block to be processed is located are located on different lines. Including doing.

前述の可能な実装に基づいて、異なる前もってセットされたレンジが提供される可能性があり、その結果、処理対象のピクチャ・ブロックの動きベクトルは、異なる前もってセットされたレンジに基づいて決定されることが可能であり、処理対象のピクチャ・ブロックの複数の動きベクトルを選択することが可能である。 Based on the possible implementations described above, different preset ranges may be provided so that the motion vector of the picture block to be processed is determined based on the different preset ranges. It is possible to select multiple motion vectors of the picture block to be processed.

可能な実装において、参照ブロックが位置するコーディング・ツリー・ブロックと処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、異なる行に位置し、参照ブロックが位置するコーディング・ツリー・ブロックは、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの上又は左上にある。 In a possible implementation, the coding tree block where the reference block is located and the coding tree block where the picture block to be processed is located are on different lines, and the coding tree block where the reference block is located is , Above or in the upper left of the coding tree block where the picture block to be processed is located.

前述の可能な実装に基づいて、複数の前もってセットされた条件を動きベクトル選択のために提供することができるように、別の前もってセットされたレンジを提供することができる。 Based on the possible implementations described above, it is possible to provide another pre-set range so that multiple pre-set conditions can be provided for motion vector selection.

可能な実装において、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックと処理対象のピクチャ・ブロックとが、同じコーディング・ツリー・ブロックに位置することを含み、
相応して、参照ブロックが前もってセットされたレンジ外にあることは、参照ブロックと処理対象のピクチャ・ブロックとが、異なるコーディング・ツリー・ブロックに位置することを含む。
In a possible implementation, the fact that the reference block is within the preset range includes that the reference block and the picture block to be processed are located in the same coding tree block.
Correspondingly, the fact that the reference block is out of the preset range includes that the reference block and the picture block to be processed are located in different coding tree blocks.

前述の可能な実装に基づいて、複数の可能な特定の前もってセットされたレンジが提供されてもよい。 Multiple possible specific pre-set ranges may be provided based on the possible implementations described above.

可能な実装において、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じであること、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックであることを含み、及び
相応して、参照ブロックが前もってセットされたレンジ外にあることは、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じではないこと、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックではないことを含む。
In a possible implementation, the fact that the reference block is within the preset range means that the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located. , Or the coding tree block in which the reference block is located is a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located, and correspondingly, the reference block is pre-located. Being out of the set range means that the coding tree block in which the reference block is located is not the same as the coding tree block in which the picture block to be processed is located, or the coding tree block in which the reference block is located. Includes that the tree block is not the left or right adjacency block of the coding tree block in which the picture block to be processed is located.

上記の可能な実装に基づいて、複数の可能な特定の前もってセットされたレンジが提供されてもよい。 Based on the possible implementations described above, a plurality of possible specific pre-set ranges may be provided.

可能な実装において、処理対象のピクチャ・ブロックの参照ブロックを決定するステップは、
1つ以上の前もってセットされた候補参照ブロックを参照ブロックとして、前もってセットされた順序で連続的に決定するステップであって、候補参照ブロックは、処理対象のピクチャ・ブロックとの前もってセットされた空間的な位置関係を有するピクチャ・ブロックを含む、ステップを含む。
In a possible implementation, the step of determining the reference block of the picture block to be processed is:
A step of continuously determining one or more pre-set candidate reference blocks as reference blocks in a pre-set order, where the candidate reference block is a pre-set space with the picture block to be processed. Includes steps, including picture blocks that have a relative positional relationship.

前述の実装に基づいて、処理対象のピクチャ・ブロックの参照ブロックが決定されてもよく、次いで、参照ブロックに基づいて処理対象のピクチャ・ブロックの初期の動きベクトルが決定されてもよい。 Based on the above implementation, the reference block of the picture block to be processed may be determined, and then the initial motion vector of the picture block to be processed may be determined based on the reference block.

可能な実装において、処理対象のピクチャ・ブロックの参照ブロックを決定するステップは、
ビットストリームを解析し、1つ以上の第1識別情報を取得するステップと、
1つ以上の第1識別情報に基づいて、処理対象のピクチャ・ブロックの複数の候補参照ブロックから、参照ブロックを決定するステップであって、候補参照ブロックは、処理対象のピクチャ・ブロックとの前もってセットされた空間的な位置関係を有するピクチャ・ブロックを含む、ステップとを含む。
In a possible implementation, the step of determining the reference block of the picture block to be processed is:
The step of parsing the bitstream to obtain one or more first identification information,
A step of determining a reference block from a plurality of candidate reference blocks of a picture block to be processed based on one or more first identification information, wherein the candidate reference block is in advance with the picture block to be processed. Includes steps, including picture blocks with set spatial positional relationships.

前述の可能な実装に基づいて、処理対象のピクチャ・ブロックの参照ブロックは、ビットストリーム内の識別情報に基づいて決定されることが可能であり、次いで処理対象のピクチャ・ブロックの初期の動きベクトルは、参照ブロックに基づいて決定されることが可能である。 Based on the possible implementation described above, the reference block of the picture block to be processed can be determined based on the identification information in the bitstream, and then the initial motion vector of the picture block to be processed. Can be determined based on the reference block.

可能な実装において、最終的な動きベクトルは初期の動きベクトルに基づいて取得されることは、
初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得することと、
最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、最終的な動きベクトルとして決定することとを含む。
In a possible implementation, it is possible that the final motion vector is obtained based on the initial motion vector.
To get multiple candidates for the final motion vector by adding the initial motion vector and multiple preset offset vectors separately,
This includes determining the final motion vector candidate corresponding to the minimum distortion cost among the plurality of final motion vector candidates as the final motion vector.

前述の可能な実装に基づいて、最小の歪コストに対応する最終的な動きベクトルの候補が、最終的な動きベクトルとして使用され、その結果、最終的な動きベクトルはより正確になる。 Based on the possible implementations described above, the final motion vector candidate corresponding to the lowest strain cost is used as the final motion vector, resulting in a more accurate final motion vector.

可能な実装において、方法は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、第1の最終的な動きベクトルと第1の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
最終的な動きベクトルは初期の動きベクトルに基づいて取得されることは、
第1の初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて第1の最終的な動きベクトルの複数の候補を取得することと、
第1の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第1の最終的な動きベクトルの候補を、第1の最終的な動きベクトルとして決定することであって、第1の最終的な動きベクトルは、複数の前もってセットされたオフセット・ベクトルにおける第1オフセット・ベクトルに対応する、ことと、
第2オフセット・ベクトルを取得することであって、第2オフセット・ベクトルのサイズは第1オフセット・ベクトルのものに等しく、第2オフセット・ベクトルの方向は前記第1オフセット・ベクトルのものと逆である、ことと、
第2の初期の動きベクトルと第2オフセット・ベクトルとを加えて第2の最終的な動きベクトルを取得することとを含む。
In a possible implementation, the method is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first. The initial motion vector and the second initial motion vector are included, and the first final motion vector and the first initial motion vector are based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed.
That the final motion vector is obtained based on the initial motion vector,
To obtain multiple candidates for the first final motion vector by adding the first initial motion vector and multiple preset offset vectors separately.
The candidate for the first final motion vector corresponding to the minimum strain cost among the plurality of candidates for the first final motion vector is determined as the first final motion vector. The first final motion vector corresponds to the first offset vector in a plurality of preset offset vectors.
To obtain the second offset vector, the size of the second offset vector is equal to that of the first offset vector, and the direction of the second offset vector is opposite to that of the first offset vector. There is, that,
It involves adding a second initial motion vector and a second offset vector to obtain a second final motion vector.

前述の可能な実装に基づいて、最終的な動きベクトルは、双方向予測モードにおける初期の動きベクトルに基づいて取得される。 Based on the possible implementations described above, the final motion vector is obtained based on the initial motion vector in bidirectional prediction mode.

可能な実装において、方法は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、第1の最終的な動きベクトルと第1の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
最終的な動きベクトルは初期の動きベクトルに基づいて取得されることは、
第1の初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて第1の最終的な動きベクトルの複数の候補を取得することと、
第1の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第1の最終的な動きベクトルの候補を、第1の最終的な動きベクトルとして決定すること、
第2の初期の動きベクトルと複数の前もってセットされた第2オフセット・ベクトルとを別々に加えて第2の最終的な動きベクトルの複数の候補を取得することと、
第2の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第2の最終的な動きベクトルの候補を、第2の最終的な動きベクトルとして決定することとを含む。
In a possible implementation, the method is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first. The initial motion vector and the second initial motion vector are included, and the first final motion vector and the first initial motion vector are based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed.
That the final motion vector is obtained based on the initial motion vector,
To obtain multiple candidates for the first final motion vector by adding the first initial motion vector and multiple preset offset vectors separately.
Determining the candidate for the first final motion vector corresponding to the minimum strain cost among the plurality of candidates for the first final motion vector as the first final motion vector,
To obtain multiple candidates for the second final motion vector by adding the second initial motion vector and the plurality of pre-set second offset vectors separately.
This includes determining the candidate for the second final motion vector corresponding to the minimum strain cost among the plurality of candidates for the second final motion vector as the second final motion vector.

上記の可能な実装に基づいて、双方向予測モードにおける初期の動きベクトルに基づいて最終的な動きベクトルを取得する別の方法が提供され、その結果、双方向予測モードにおける最終的な動きベクトルを取得する複数の方法を提供することが可能である。 Based on the above possible implementation, another method of obtaining the final motion vector based on the initial motion vector in the bidirectional prediction mode is provided, resulting in the final motion vector in the bidirectional prediction mode. It is possible to provide multiple ways to obtain.

第2態様によれば、本願は動きベクトル残差決定方法を提供し、これは、
ビットストリームを解析して第2識別情報を取得するステップであって、第2識別情報は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定するために使用される、ステップと、
初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得するステップと、
最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、最終的な動きベクトルとして決定するステップと、
最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用するか、又は最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップとを含む。
According to the second aspect, the present application provides a method for determining a motion vector residual, which is:
The step of analyzing the bitstream to obtain the second identification information, which is used to determine the initial motion vector of the picture block to be processed.
The step of adding the initial motion vector and multiple pre-set offset vectors separately to get multiple candidates for the final motion vector,
A step of determining the final motion vector candidate corresponding to the minimum distortion cost among multiple candidates of the final motion vector as the final motion vector, and
Either the difference between the final motion vector and the initial motion vector is used as the motion vector residual of the picture block to be processed, or the final motion vector is the motion vector of the picture block to be processed. Includes steps to use as residuals.

可能な実装において、方法は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、第1の最終的な動きベクトルと第1の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第1の最終的な動きベクトルと第1の初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの第1動きベクトル残差として使用するステップを含む。
In a possible implementation, the method is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first. The initial motion vector and the second initial motion vector are included, and the first final motion vector and the first initial motion vector are based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed.
The step of using the difference between the final motion vector and the initial motion vector as the motion vector residuals of the picture block to be processed is:
It comprises the step of using the difference between the first final motion vector and the first initial motion vector as the first motion vector residual of the picture block to be processed.

前述の可能な実装に基づいて、処理対象のピクチャ・ブロックの動きベクトル残差が、双方向インター予測モードにおいて決定されることが可能である。 Based on the possible implementation described above, the motion vector residuals of the picture block to be processed can be determined in the bidirectional interprediction mode.

可能な実装において、最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第2の最終的な動きベクトルと第2の初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの第2動きベクトル残差として使用するステップを更に含む。
In a possible implementation, the step of using the difference between the final motion vector and the initial motion vector as the motion vector residuals of the picture block being processed is:
Further included is the step of using the difference between the second final motion vector and the second initial motion vector as the second motion vector residual of the picture block to be processed.

可能な実装において、最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第1の最終的な動きベクトルを、処理対象のピクチャ・ブロックの第1動きベクトル残差として使用するステップを含む。
In a possible implementation, the step of using the final motion vector as the motion vector residuals of the picture block to be processed is:
It comprises the step of using the first final motion vector as the first motion vector residual of the picture block to be processed.

可能な実装において、最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第2の最終的な動きベクトルを、処理対象のピクチャ・ブロックの第2動きベクトル残差として使用するステップを更に含む。
In a possible implementation, the step of using the final motion vector as the motion vector residuals of the picture block to be processed is:
It further comprises the step of using the second final motion vector as the second motion vector residual of the picture block to be processed.

前述の複数の可能な実装に基づいて、処理対象のピクチャ・ブロックの動きベクトル残差を決定する複数の方法が提供され、その結果、エンコーダ及びデコーダは、動きベクトル残差に基づいて符号化効率及び復号化効率を改善することができる。 Based on the multiple possible implementations described above, multiple methods are provided to determine the motion vector residuals of the picture block to be processed so that the encoder and decoder have coding efficiency based on the motion vector residuals. And the decoding efficiency can be improved.

第3態様によれば、本願は動きベクトル・データ・ストレージ方法を提供し、これは、
ビットストリームを解析して第2識別情報と第3識別情報とを取得するステップであって、第2識別情報は、処理対象のピクチャ・ブロックの初期の予測された動きベクトルを決定するために使用される、ステップと、
初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得するステップと、
第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示す場合に、ビットストリームを解析して動きベクトル残差を取得し、動きベクトル残差をターゲット・ストレージ空間に記憶するステップと、
第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示す場合に、最終的な予測された動きベクトルと初期の予測された動きベクトルとの間の差分をターゲット・ストレージ空間に記憶するか、又は最終的な予測された動きベクトルをターゲット・ストレージ空間に記憶するステップとを含む。
According to a third aspect, the present application provides a motion vector data storage method, which is:
The step of analyzing the bitstream to obtain the second and third identification information, which is used to determine the initial predicted motion vector of the picture block to be processed. To be done, steps and
Steps to get the final predicted motion vector based on the initial predicted motion vector and multiple pre-set offset vectors,
When the third identification information indicates that the bitstream carries the motion vector residuals of the picture block to be processed, the bitstream is analyzed to obtain the motion vector residuals, and the motion vector residuals are obtained. Steps to store in the target storage space and
If the third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block being processed, then between the final predicted motion vector and the initial predicted motion vector. Includes the steps of storing the differences in the target storage space or storing the final predicted motion vector in the target storage space.

可能な実装において、第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示すことは、
第3識別情報が、処理対象のピクチャ・ブロックの予測モードはAMVPモードであることを示すことを含む。
In a possible implementation, the third identification information indicates that the bitstream carries the motion vector residuals of the picture block to be processed.
The third identification information includes indicating that the prediction mode of the picture block to be processed is the AMVP mode.

前述の可能な実装に基づいて、処理対象のピクチャ・ブロックの動きベクトル・データは、複数の予測モードで記憶されることが可能である。 Based on the possible implementation described above, the motion vector data of the picture block to be processed can be stored in multiple prediction modes.

可能な実装において、第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示すことは、
第3識別情報が、処理対象のピクチャ・ブロックの予測モードはマージ・モード又はスキップ・モードであることを示すことを含む。
In a possible implementation, the third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block being processed.
The third identification information includes indicating that the prediction mode of the picture block to be processed is the merge mode or the skip mode.

前述の可能な実装に基づいて、異なる識別情報が、異なる予測モードを区別するために使用され、その結果、処理対象のピクチャ・ブロックの動きベクトル・データは、複数の予測モードで記憶されることが可能である。 Based on the possible implementations described above, different identification information is used to distinguish between different prediction modes, so that the motion vector data of the picture block being processed is stored in multiple prediction modes. Is possible.

可能な実装において、初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得するステップは、
初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得するステップと、
最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、最終的な動きベクトルとして決定するステップとを含む。
In a possible implementation, the step of getting the final predicted motion vector based on the initial predicted motion vector and multiple pre-set offset vectors is
The step of adding the initial motion vector and multiple pre-set offset vectors separately to get multiple candidates for the final motion vector,
It includes a step of determining a final motion vector candidate corresponding to the minimum distortion cost among a plurality of final motion vector candidates as a final motion vector.

上記の可能な実装に基づいて、歪コストを使用することで最終的に予測される動きベクトルを取得する精度はより高くなり、更に、記憶される動きベクトル・データはより正確になる。 Based on the above possible implementation, the distortion cost is used to obtain the final predicted motion vector with higher accuracy, and the stored motion vector data is more accurate.

第4態様によれば、本願は、上記の動きベクトル取得方法を実行するように構成された動きベクトル取得装置を提供する。具体的には、動きベクトル取得装置は、第1態様又は第1態様のオプション的な方法のうちの任意の1つで提供される動きベクトル取得方法を実行するように構成された機能モジュールを含む。上記の態様は、動きベクトル取得方法に対応する態様である。 According to the fourth aspect, the present application provides a motion vector acquisition device configured to execute the above motion vector acquisition method. Specifically, the motion vector acquisition device includes a functional module configured to perform the motion vector acquisition method provided in any one of the first aspect or the optional method of the first aspect. .. The above aspect corresponds to the motion vector acquisition method.

第5態様によれば、本願は、上記の動きベクトル残差決定方法を実行するように構成された動きベクトル残差決定装置を提供する。具体的には、動きベクトル残差決定装置は、第2態様又は第2態様のオプション的な方法のうちの任意の1つで提供される動きベクトル残差決定方法を実行するように構成された機能モジュールを含む。上記の態様は、動きベクトル残差決定方法に対応する態様である。 According to a fifth aspect, the present application provides a motion vector residual determination device configured to perform the motion vector residual determination method described above. Specifically, the motion vector residual determination device is configured to perform the motion vector residual determination method provided by any one of the second aspect or the optional method of the second aspect. Includes functional modules. The above aspect corresponds to the motion vector residual determination method.

第6態様によれば、本願は、上記の動きベクトル・データ・ストレージ方法を実行するように構成された動きベクトル・データ・ストレージ装置を提供する。具体的には、動きベクトル・データ・ストレージ装置は、第3態様又は第3態様のオプション的な方法のうちの任意の1つで提供される動きベクトル・データ・ストレージ方法を実行するように構成された機能モジュールを含む。上記の態様は、動きベクトル・データ・ストレージ方法に対応する態様である。 According to a sixth aspect, the present application provides a motion vector data storage device configured to perform the motion vector data storage method described above. Specifically, the motion vector data storage device is configured to perform the motion vector data storage method provided by any one of the third aspect or the optional method of the third aspect. Includes functional modules that have been created. The above aspect corresponds to the motion vector data storage method.

第7態様によれば、本願はコンピュータ・デバイスを提供する。コンピュータ・デバイスはプロセッサとメモリとを含む。メモリは、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル取得方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a seventh aspect, the present application provides a computer device. Computer devices include processors and memory. The memory stores at least one instruction, which is loaded and executed by the processor to implement the operations performed in the motion vector acquisition method described above.

第8態様によれば、本願はコンピュータ・デバイスを提供する。コンピュータ・デバイスはプロセッサとメモリとを含む。メモリは、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル・データ・ストレージ方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to an eighth aspect, the present application provides a computer device. Computer devices include processors and memory. The memory stores at least one instruction, which is loaded and executed by the processor to perform the operations performed in the motion vector data storage method described above.

第9態様によれば、本願はコンピュータ・デバイスを提供する。コンピュータ・デバイスはプロセッサとメモリとを含む。メモリは、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル残差決定方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a ninth aspect, the present application provides a computer device. Computer devices include processors and memory. The memory stores at least one instruction, which is loaded and executed by the processor to implement the operations performed in the motion vector residual determination method described above.

第10態様によれば、本願はコンピュータ読み取り可能な記憶媒体を提供する。記憶媒体は、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル取得方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a tenth aspect, the present application provides a computer-readable storage medium. The storage medium stores at least one instruction, which is loaded and executed by the processor to realize the operations performed in the motion vector acquisition method described above.

第11態様によれば、本願はコンピュータ読み取り可能な記憶媒体を提供する。記憶媒体は、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル残差決定方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to the eleventh aspect, the present application provides a computer-readable storage medium. The storage medium stores at least one instruction, which is loaded and executed by the processor to implement the operations performed in the motion vector residual determination method described above.

第12態様によれば、本願はコンピュータ読み取り可能な記憶媒体を提供する。記憶媒体は、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル・データ・ストレージ方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a twelfth aspect, the present application provides a computer-readable storage medium. The storage medium stores at least one instruction, which is loaded and executed by the processor to realize the operations performed in the motion vector data storage method described above.

本願において提供される技術的解決策は、少なくとも以下の有益な効果を含む: The technical solutions provided in this application include at least the following beneficial effects:

処理対象のピクチャ・ブロックの初期の動きベクトルは、参照ブロックと処理対象のピクチャ・ブロックとの間の位置関係を使用することにより決定される。参照ブロックと処理対象のピクチャ・ブロックとが、前もってセットされたレンジ内にある場合、デコーダは、参照ブロックの初期の動きベクトルを、処理対象のピクチャ・ブロックの動きベクトルとして使用する。参照ブロックと処理対象のピクチャ・ブロックとが、前もってセットされたレンジ外にある場合、デコーダは、参照ブロックの最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトルとして使用する。この場合に、処理対象のピクチャ・ブロックが、復号化の際に、参照ブロックの最終的な動きベクトルを使用することによって復号化されることを必要とする場合、デコーダは、処理対象のピクチャ・ブロックを使用することができるように、参照ブロックの初期の動きベクトルを、処理対象のピクチャ・ブロックの動きベクトルとして使用することが可能であり、これにより、参照ブロックの最終的な動きベクトルが得られた後に限り、処理対象のピクチャ・ブロックの動きベクトルを取得することができるというケースを回避し、復号化効率を向上させることができる。 The initial motion vector of the picture block to be processed is determined by using the positional relationship between the reference block and the picture block to be processed. If the reference block and the picture block to be processed are within a preset range, the decoder uses the initial motion vector of the reference block as the motion vector of the picture block to be processed. If the reference block and the picture block to be processed are out of the preset range, the decoder uses the final motion vector of the reference block as the motion vector of the picture block to be processed. In this case, if the picture block to be processed needs to be decoded by using the final motion vector of the reference block at the time of decoding, the decoder will use the picture block to be processed. The initial motion vector of the reference block can be used as the motion vector of the picture block to be processed so that the block can be used, which gives the final motion vector of the reference block. It is possible to avoid the case where the motion vector of the picture block to be processed can be acquired and improve the decoding efficiency only after the motion vector is obtained.

本願の実施形態で使用するために構成されることが可能なビデオ・コーディング・システムの一例のブロック図である。FIG. 3 is a block diagram of an example video coding system that can be configured for use in embodiments of the present application.

本願の実施形態で使用するために構成されることが可能なビデオ・エンコーダの一例のシステム・ブロック図である。FIG. 3 is a system block diagram of an example video encoder that can be configured for use in embodiments of the present application.

本願の実施形態で使用するために構成されることが可能なビデオ・デコーダの一例のシステム・ブロック図である。FIG. 3 is a system block diagram of an example video decoder that can be configured for use in embodiments of the present application.

本願の実施形態で使用するために構成されることが可能なインター予測モジュールの一例の概略ブロック図である。It is a schematic block diagram of an example of an inter-prediction module that can be configured for use in embodiments of the present application.

コーディング・ユニット及びコーディング・ユニットに関連する隣接するピクチャ・ブロックの一例の概略図である。It is a schematic diagram of an example of a coding unit and adjacent picture blocks associated with the coding unit.

候補の予測された動きベクトルのリストを構築する実装例のフローチャートである。It is a flowchart of an implementation example which constructs a list of predicted motion vectors of candidates.

組み合わされた候補の動きベクトルをマージ・モード候補の予測された動きベクトルのリストに追加する実装例の概略図である。It is a schematic of the implementation example which adds the combined candidate motion vector to the list of predicted motion vectors of merge mode candidates.

スケーリングされた候補の動きベクトルをマージ・モード候補の予測された動きベクトルのリストに追加する実装例の概略図である。It is a schematic of the implementation example which adds a scaled candidate motion vector to a list of predicted motion vectors of merge mode candidates.

ゼロ動きベクトルをマージ・モード候補の予測された動きベクトルのリストに追加する実装例の概略図である。It is a schematic of the implementation example which adds a zero motion vector to a list of predicted motion vectors of merge mode candidates.

マージ予測モードの実装例のフローチャートである。It is a flowchart of the implementation example of the merge prediction mode.

高度な動きベクトル予測モードの実装例のフローチャートである。It is a flowchart of the implementation example of the advanced motion vector prediction mode.

本願の実施形態で使用するために構成されることが可能なビデオ・デコーダによって実行される動き補償の実装例のフローチャートである。FIG. 3 is a flow chart of an example motion compensation implementation performed by a video decoder that can be configured for use in embodiments of the present application.

本願の実施形態によるビデオ符号化中の動きベクトル更新方法の概略フローチャートである。It is a schematic flowchart of the motion vector update method during video coding by embodiment of this application.

本願の実施形態によるビデオ復号化中の動きベクトル更新方法の概略フローチャートである。It is a schematic flowchart of the motion vector update method during video decoding by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application. 本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトル取得方法の概略フローチャートである。It is a schematic flowchart of the motion vector acquisition method by embodiment of this application.

本願の実施形態による動きベクトル取得方法の概略フローチャートである。It is a schematic flowchart of the motion vector acquisition method by embodiment of this application.

本願の実施形態に従って指定されたレンジ内で動きベクトルを選択する概略図である。It is a schematic diagram which selects the motion vector within the range specified according to the embodiment of this application.

本願の実施形態による現在の予測ブロックの取得方法の概略図である。It is a schematic diagram of the acquisition method of the present prediction block by embodiment of this application.

本願の実施形態によるビデオ復号化中の動きベクトル取得装置の概略ブロック図である。It is a schematic block diagram of the motion vector acquisition apparatus during video decoding by the embodiment of this application.

本願の実施形態によるビデオ・コーディング・デバイスの概略ブロック図である。FIG. 3 is a schematic block diagram of a video coding device according to an embodiment of the present application.

本願の実施形態による動きベクトル取得装置の構造図である。It is a structural drawing of the motion vector acquisition apparatus by embodiment of this application.

本願の実施形態による動きベクトル残差決定装置の構造図である。It is a structural drawing of the motion vector residual determination apparatus by embodiment of this application.

本願の実施形態による動きベクトル・データ・ストレージ装置の構造図である。It is a structural diagram of the motion vector data storage apparatus according to the embodiment of this application.

本願の目的、技術的解決策、及び利点をより明確化するために、以下、添付図面を参照して、本願の実装を更に詳細に説明する。 In order to further clarify the objectives, technical solutions, and advantages of the present application, the implementation of the present application will be described in more detail below with reference to the accompanying drawings.

図1は、本願の実施形態によるビデオ・コーディング・システム10の概略ブロック図である。図1に示すように、システム10はソース装置12を含む。ソース装置12は、後に宛先装置14によって復号化されるべき符号化されたビデオ・データを生成する。ソース装置12及び宛先装置14は、デスクトップ・コンピュータ、ノートブック・コンピュータ、タブレット・コンピュータ、セット・トップ・ボックス、「スマート」フォンのような電話ハンドセット、「スマート」タッチパッド、テレビ、カメラ、ディスプレイ装置、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、ビデオ・ストリーミング送信装置などを含む広範囲の装置の任意の何れかを含む可能性がある。幾つかの用途では、ソース装置12及び宛先装置14は、無線通信用に装備されていてもよい。 FIG. 1 is a schematic block diagram of a video coding system 10 according to an embodiment of the present application. As shown in FIG. 1, the system 10 includes a source device 12. The source device 12 produces encoded video data that should later be decoded by the destination device 14. The source device 12 and the destination device 14 are desktop computers, notebook computers, tablet computers, set-top boxes, telephone handset such as "smart" phones, "smart" touchpads, televisions, cameras, display devices. , Digital media players, video game consoles, video streaming transmitters, etc. may include any of a wide range of devices. In some applications, the source device 12 and the destination device 14 may be equipped for wireless communication.

宛先装置14は、リンク16を介して、復号化対象の符号化されたビデオ・データを受信することができる。リンク16は、符号化されたビデオ・データを、ソース装置12から宛先装置14へ送信することが可能な任意のタイプの媒体又は装置を含むことができる。実現可能な実装において、リンク16は、ソース装置12が、符号化されたビデオ・データを宛先装置14へリアル・タイムで直接的に送信することを可能にする通信媒体を含む可能性がある。符号化されたビデオ・データは、通信規格(例えば、無線通信プロトコル)に従って変調されることが可能であり、その後、宛先装置14へ送信される。通信媒体は、任意の無線又は有線の通信媒体、例えば、無線周波数スペクトル又は少なくとも1つの物理的な送信ラインを含む可能性がある。通信媒体は、パケット・ベースのネットワーク(例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットのようなグローバル・ネットワーク)の一部を構成することができる。通信媒体は、ルーター、スイッチ、基地局、又は、ソース装置12から宛先装置14への通信を促進するために使用されることが可能な任意の他のデバイスを含む可能性がある。 The destination device 14 can receive the encoded video data to be decoded via the link 16. Link 16 may include any type of medium or device capable of transmitting encoded video data from the source device 12 to the destination device 14. In a feasible implementation, the link 16 may include a communication medium that allows the source device 12 to send the encoded video data directly to the destination device 14 in real time. The encoded video data can be modulated according to a communication standard (eg, a wireless communication protocol) and then transmitted to the destination device 14. The communication medium may include any wireless or wired communication medium, such as a radio frequency spectrum or at least one physical transmission line. The communication medium can form part of a packet-based network (eg, a local area network, a wide area network, or a global network such as the Internet). The communication medium may include routers, switches, base stations, or any other device that can be used to facilitate communication from the source device 12 to the destination device 14.

代替的に、符号化されたデータは出力インターフェース22からストレージ装置へ出力されてもよい。同様に、符号化されたデータは、入力インターフェースを介してストレージ装置からアクセスされる可能性がある。ストレージ装置は、複数の分散されたデータ記憶媒体又はローカルにアクセスされるデータ記憶媒体、例えば、ハード・ドライブ、ブルーレイ、デジタル多用途ディスク(digital video disc,DVD)、コンパクト・ディスク・リード・オンリー・メモリ(compact disc read−only memory,CD−ROM)、フラッシュ・メモリ、揮発性又は不揮発性メモリ、又は、符号化されたビデオ・データを記憶するように構成された任意の他の適切なデジタル記憶媒体のうちの任意の1つを含む可能性がある。別の実現可能な実装において、ストレージ装置は、ソース装置12によって生成された符号化ビデオを保持することが可能なファイル・サーバー又は別の中間的なストレージ装置に対応する可能性がある。宛先装置14は、ストリーミング送信又はダウンロードにより、ストレージ装置からの記憶されたビデオ・データにアクセスすることが可能である。ファイル・サーバーは、符号化されたビデオ・データを記憶し、符号化されたビデオ・データを宛先装置14へ送信することが可能な任意のタイプのサーバーであるとすることができる。実現可能な実装において、ファイル・サーバーは、ウェブサイト・サーバー、ファイル転送プロトコル・サーバー、ネットワーク接続ストレージ装置、又はローカル・ディスク・ドライブを含む。宛先装置14は、インターネット接続を含む任意の標準データ接続を介して、符号化されたビデオ・データにアクセスすることができる。データ接続は、ファイル・サーバーに記憶された符号化されたビデオ・データにアクセスするのに適した無線チャネル(例えば、ワイヤレス・フィデリティ(wireless−fidelity,Wi−Fi)接続)又は有線接続(例えば、ケーブル・モデム)、又はそれらの組み合わせを含む可能性がある。ストレージ装置からの符号化されたビデオ・データの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組み合わせであってもよい。 Alternatively, the encoded data may be output from the output interface 22 to the storage device. Similarly, the encoded data may be accessed from the storage device via the input interface. The storage device is a plurality of distributed data storage media or locally accessible data storage media such as hard drives, Blu-rays, digital video discs (DVDs), compact discs read-only. Memory (compact disc read-only memory, CD-ROM), flash memory, volatile or non-volatile memory, or any other suitable digital storage configured to store encoded video data. It may contain any one of the media. In another feasible implementation, the storage device may correspond to a file server or another intermediate storage device capable of holding the encoded video produced by the source device 12. The destination device 14 can access the stored video data from the storage device by streaming transmission or download. The file server can be any type of server capable of storing the encoded video data and transmitting the encoded video data to the destination device 14. In a feasible implementation, file servers include website servers, file transfer protocol servers, network-attached storage devices, or local disk drives. The destination device 14 can access the encoded video data via any standard data connection, including an internet connection. A data connection is a wireless channel (eg, a wireless-fidelity (Wi-Fi) connection) or a wired connection (eg, a wireless-fidelity) suitable for accessing encoded video data stored on a file server. Cable modems), or combinations thereof. The transmission of the encoded video data from the storage device may be a streaming transmission, a download transmission, or a combination thereof.

本願における技術は必ずしも無線のアプリケーションや設定に限定されない。技術は、複数のマルチメディア・アプリケーション、例えば、オーバー・ザ・エアー・テレビジョン放送、ケーブル・テレビジョン伝送、衛星テレビジョン伝送、ビデオ・ストリーミング伝送(例えば、インターネットを介するもの)、データ記憶媒体における記憶のためのデジタル・ビデオの符号化、データ記憶媒体に記憶されたデジタル・ビデオの復号化、又は他のアプリケーションのうちの任意の何れかをサポートするために、ビデオ復号化に適用されることが可能である。幾つかの実現可能な実装において、システム10は、ビデオ・ストリーミング伝送、ビデオ再生、ビデオ放送、及び/又はビデオ電話などのアプリケーションをサポートするために、一方向又は双方向のビデオ伝送をサポートするように構成されてもよい。 The techniques in this application are not necessarily limited to wireless applications and settings. The technology is used in multiple multimedia applications such as over-the-air television broadcasting, cable television transmission, satellite television transmission, video streaming transmission (eg, over the Internet), and data storage media. Applicable to video decoding to support any of digital video encoding for storage, decoding of digital video stored on data storage media, or any other application. Is possible. In some feasible implementations, the system 10 will support one-way or two-way video transmission to support applications such as video streaming transmission, video playback, video broadcasting, and / or video telephone. It may be configured in.

図1の実現可能な実装において、ソース装置12は、ビデオ・ソース18、ビデオ・エンコーダ20、及び出力インターフェース22を含む。幾つかのアプリケーションにおいて、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含んでもよい。ソース装置12において、ビデオ・ソース18は、例えば以下のソース:ビデオ捕捉装置(例えば、ビデオ・カメラ)、以前に捕捉されたビデオを含むビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダからビデオを受信するビデオ・フィードイン・インターフェース、及び/又はソース・ビデオとしてコンピュータ・グラフィックス・データを生成するコンピュータ・グラフィックス・システム、又はそれらの組み合わせを含むことが可能である。実現可能な実装において、ビデオ・ソース18がビデオ・カメラである場合に、ソース装置12及び宛先装置14は、カメラ電話又はビデオ電話を構成することが可能である。例えば、本願で説明される技術は、例えば、ビデオ復号化に適用されることが可能であり、無線及び/又は有線アプリケーションに適用されることが可能である。 In the feasible implementation of FIG. 1, the source device 12 includes a video source 18, a video encoder 20, and an output interface 22. In some applications, the output interface 22 may include a modulator / demodulator (modem) and / or a transmitter. In the source device 12, the video source 18 may include, for example, the following sources: a video capture device (eg, a video camera), a video archive containing previously captured video, and a video receiving video from a video content provider. It can include a feed-in interface and / or a computer graphics system that produces computer graphics data as source video, or a combination thereof. In a feasible implementation, if the video source 18 is a video camera, the source device 12 and the destination device 14 can configure a camera phone or a video phone. For example, the techniques described herein can be applied, for example, to video decoding and can be applied to wireless and / or wired applications.

ビデオ・エンコーダ20は、捕捉された又は予め捕捉されたビデオ、又はコンピュータによって生成されたビデオを符号化することができる。符号化されたビデオ・データは、ソース装置12の出力インターフェース22を介して宛先装置14へ直接的に送信されることが可能である。符号化されたビデオ・データはまた(又は代替的に)、記憶装置24に記憶されることが可能であり、その結果、宛先装置14又は別の装置は以後に、復号化及び/又は再生のために、符号化されたビデオ・データにアクセスする。 The video encoder 20 can encode captured or pre-captured video, or computer-generated video. The encoded video data can be transmitted directly to the destination device 14 via the output interface 22 of the source device 12. The encoded video data can also (or alternatively) be stored in the storage device 24 so that the destination device 14 or another device can subsequently be decoded and / or played back. To access the encoded video data.

宛先装置14は、入力インターフェース28、ビデオ・デコーダ30、及びディスプレイ装置32を含む。幾つかのアプリケーションでは、入力インターフェース28は、受信機及び/又はモデムを含んでもよい。宛先装置14の入力インターフェース28は、リンク16を介して、符号化されたビデオ・データを受信する。リンク16を介してストレージ装置24に送信又は提供される符号化されたビデオ・データは、ビデオ・エンコーダ20によって生成され且つビデオ・デコーダ30のようなビデオ・デコーダによってビデオ・データを復号化するために使用される複数のシンタックス要素を含む可能性がある。これらのシンタックス要素は、通信媒体上で送信され、且つ記憶媒体又はファイル・サーバーに記憶される、符号化されたビデオ・データに含まれることが可能である。 The destination device 14 includes an input interface 28, a video decoder 30, and a display device 32. In some applications, the input interface 28 may include a receiver and / or a modem. The input interface 28 of the destination device 14 receives the encoded video data via the link 16. The encoded video data transmitted or provided to the storage device 24 over the link 16 is generated by the video encoder 20 and for decoding the video data by a video decoder such as the video decoder 30. May contain multiple syntax elements used in. These syntax elements can be included in the encoded video data transmitted over the communication medium and stored on the storage medium or file server.

ディスプレイ装置32は、宛先装置14と一体化されていてもよいし、或いは宛先装置14の外側に配置されていてもよい。幾つかの実現可能な実装において、宛先装置14は、統合されたディスプレイ装置を含んでもよく、また、外部ディスプレイ装置のインターフェースに接続するように構成されてもよい。他の実現可能な実装において、宛先装置14はディスプレイ装置であってもよい。一般に、ディスプレイ装置32は、復号化されたビデオ・データをユーザーに表示し、複数のディスプレイ装置、例えば、液晶ディスプレイ、プラズマ・ディスプレイ、有機発光ダイオード・ディスプレイ、又は他のタイプのディスプレイ装置のうちの任意の1つを含むことができる。 The display device 32 may be integrated with the destination device 14 or may be arranged outside the destination device 14. In some feasible implementations, the destination device 14 may include an integrated display device or may be configured to connect to an interface of an external display device. In other feasible implementations, the destination device 14 may be a display device. Generally, the display device 32 displays the decoded video data to the user and is among a plurality of display devices such as a liquid crystal display, a plasma display, an organic light emitting diode display, or another type of display device. Any one can be included.

ビデオ・エンコーダ20及びビデオ・デコーダ30は、例えば、現在開発されている次世代ビデオ・コーディング圧縮規格(H.266)に従って動作することが可能であり、H.266テスト・モデルに準拠していてもよい。 The video encoder 20 and the video decoder 30 can operate according to, for example, the next generation video coding compression standard (H.266) currently being developed, and H.I. It may be compliant with the 266 test model.

代替的に、ビデオ・エンコーダ20及びビデオ・デコーダ30は、例えばITU−T H.265規格又はITU−T H.264規格のような他の専用若しくは工業規格、又はこれらの規格の拡張に従って動作してもよい。ITU−T H.265規格はまた、高効率ビデオ復号化規格とも呼ばれ、ITU−T H.264規格は代替的に、動画エキスパート・グループ(moving picture experts group,MPEG−4)パート10又はアドバンスト・ビデオ・コーディング(advanced video coding,AVC)とも呼ばれている。しかしながら、本願の技術は、如何なる特定の復号化規格にも限定されない。他の実現可能な実装において、ビデオ圧縮規格はMPEG−2及びITU−T H.263を含む。 Alternatively, the video encoder 20 and the video decoder 30 are described, for example, by ITU-T H. 265 standard or ITU-T H. It may operate according to other specialized or industrial standards such as the 264 standard, or extensions of these standards. ITU-T H. The 265 standard, also referred to as the high efficiency video decoding standard, is the ITU-T H.D. Alternatively, the 264 standard is also referred to as moving picture experts group (MPEG-4) Part 10 or advanced video coding (AVC). However, the technique of the present application is not limited to any particular decoding standard. In other feasible implementations, video compression standards are MPEG-2 and ITU-TH. 263 is included.

図1には示されていないが、幾つかの態様において、ビデオ・エンコーダ20及びビデオ・デコーダ30はそれぞれオーディオ・エンコーダ及びオーディオ・デコーダと一体化されていてもよく、同じデータ・ストリーム又は別個のデータ・ストリームにおいてオーディオ及びビデオの両方を符号化するために、適切なマルチプレクサ・デマルチプレクサ(multiplexer−demultiplexer,MUX−DEMUX)ユニット又は他のハードウェア及びソフトウェアを含んでもよい。適用可能であるならば、幾つかの実現可能な実装において、MUX−DEMUXユニットは、ITU H.223マルチプレクサ・プロトコル、又はユーザー・データグラム・プロトコル(user datagram protocol,UDP)のような他のプロトコルに準拠してもよい。 Although not shown in FIG. 1, in some embodiments, the video encoder 20 and the video decoder 30 may be integrated with the audio encoder and audio decoder, respectively, and may be the same data stream or separate. Appropriate multiplexer / demultiplexer (multiplexer-demultiplexer, MUX-DEMUX) units or other hardware and software may be included to encode both audio and video in the data stream. If applicable, in some feasible implementations, the MUX-DEMUX unit is an ITU H. It may comply with the 223 multiplexer protocol, or other protocols such as the user datagram protocol (UDP).

ビデオ・エンコーダ20及びビデオ・デコーダ30は、複数の適切なエンコーダ回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processing,DSP)、特定用途向け集積回路(application specific integrated circuit, ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array, FPGA)、ディスクリート・ロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせのうちの任意の1つとして実現されることが可能である。幾つかの技術がソフトウェアとして実現される場合、装置は、本願における技術を実現するために、適切な非一時的なコンピュータ読み取り可能な媒体にソフトウェアの命令を記憶し、1つ以上のプロセッサを使用することによってハードウェアの形式で命令を実行することができる。ビデオ・エンコーダ20及びビデオ・デコーダ30はそれぞれ1つ以上のエンコーダ又はデコーダに含まれてもよい。ビデオ・エンコーダ20及びビデオ・デコーダ30の何れも、対応する装置において組み合わされたエンコーダ/デコーダ(coder decoder,CODEC)の一部として統合されることが可能である。 The video encoder 20 and the video decoder 30 include a plurality of suitable encoder circuits, such as one or more microprocessors, digital signal processing (DSP), application specific integrated circuit (ASIC). ), Field programmable gate array (FPGA), discrete logic, software, hardware, firmware, or any combination thereof. be. When some techniques are realized as software, the device stores software instructions in a suitable non-temporary computer-readable medium and uses one or more processors to realize the techniques in this application. By doing so, the instruction can be executed in the form of hardware. The video encoder 20 and the video decoder 30 may be included in one or more encoders or decoders, respectively. Both the video encoder 20 and the video decoder 30 can be integrated as part of a combined encoder / decoder (CODEC) in the corresponding device.

本願は、例えば、ビデオ・エンコーダ20が特定の情報を例えばビデオ・デコーダ30に「シグナリング」する別の装置に関する可能性がある。しかしながら、ビデオ・エンコーダ20は、情報をシグナリングするために、特定のシンタックス要素を、ビデオ・データの符号化された部分に関連付けることができることは、理解されるべきである。即ち、ビデオ・エンコーダ20は、データをシグナリングするために、特定のシンタックス要素を、ビデオ・データの符号化された部分のヘッダ情報に記憶することができる。幾つかのアプリケーションでは、これらのシンタックス要素は、ビデオ・デコーダ30によって受信され復号化される前に、符号化され記憶される(例えば、ストレージ・システム又はファイル・サーバーに記憶される)。従って、用語「信号」は、伝送がリアル・タイムで行われるか、ほぼリアル・タイムで行われるか、又はある時間スパン内で行われるかによらず、例えば、シンタックスの伝送又は圧縮されたビデオ・データを復号化するために使用される他のデータの伝送を意味する可能性がある。例えば、伝送は、符号化の間にシンタックス要素が媒体に記憶された場合に実行されることが可能であり、その後、シンタックス要素は、媒体に記憶された後の任意の時間に、復号化装置によって取り出されることが可能である。 The present application may relate, for example, to another device in which the video encoder 20 "signals" certain information to, for example, the video decoder 30. However, it should be understood that the video encoder 20 can associate a particular syntax element with an encoded portion of the video data in order to signal the information. That is, the video encoder 20 can store a specific syntax element in the header information of the encoded portion of the video data in order to signal the data. In some applications, these syntax elements are encoded and stored (eg, stored in a storage system or file server) before being received and decoded by the video decoder 30. Thus, the term "signal" is used, for example, to transmit or compress a syntax, regardless of whether the transmission takes place in real time, near real time, or within a time span. It may mean the transmission of other data used to decode the video data. For example, transmission can be performed if the syntax element is stored on the medium during coding, after which the syntax element is decoded at any time after it is stored on the medium. It can be taken out by a computer.

共同ビデオ・エキスパート・チーム(joint video team,JVT)は、H.265高効率ビデオ符号化(high efficiency video coding, HEVC)規格を開発した。HEVC標準化は、ビデオ復号化装置の進化したモデルに基づいており、モデルはHEVCテスト・モデルと呼ばれる。最新のH.265規格文書はhttp://www.itu.int/rec/T−REC−H.265において入手可能ある。標準文書の最新バージョンはH.265(12/16)であり、標準文書は参照によりその全体が本願に組み込まれる。HMでは、ビデオ復号化装置は、ITU−TH.264/AVCの既存のアルゴリズムに関連する幾つかの追加的な能力を有することが仮定されている。例えば、H.264は9個のイントラ予測符号化モードを提供する一方、HMは最大35個のイントラ予測符号化モードを提供することができる。 The joint video team (JVT) is H.K. 265 High efficiency video coding (HEVC) standard has been developed. The HEVC standardization is based on an evolved model of the video decoder, which is called the HEVC test model. The latest H. The 265 standard document is http: // www. itu. int / rec / T-REC-H. Available at 265. The latest version of the standard document is H. 265 (12/16), the standard document is incorporated herein by reference in its entirety. In HM, the video decoder is ITU-TH. It is hypothesized to have some additional capabilities associated with existing 264 / AVC algorithms. For example, H. The 264 can provide 9 intra-predictive coding modes, while the HM can provide up to 35 intra-predictive coding modes.

JVETはH.266規格の開発に取り組んでいる。H.266標準化プロセスは、ビデオ復号化装置の進化したモデルに基づいており、モデルはH.266テスト・モデルと呼ばれる。H.266アルゴリズムの説明はhttp://phenix.int−evry.fr/jvetで入手可能であり、最新のアルゴリズムの説明はJVET−G1001−v1に含まれている。アルゴリズム記述文書は、その全体が参照により本願に組み込まれる。更に、JEMテスト・モデルのための参照ソフトウェアは、https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/で入手可能であり、その全体が参照により本願に組み込まれる。 JVET is H. We are working on the development of the 266 standard. H. The 266 standardization process is based on an evolved model of the video decoder, which is based on H.D. It is called the 266 test model. H. The explanation of the 266 algorithm is http: // phenix. int−evry. It is available on fr / jvet and the latest algorithm description is contained in JVET-G1001-v1. The entire algorithm description document is incorporated herein by reference in its entirety. In addition, reference software for the JEM test model is available at https: // jvet. hhi. fraunhofer. It is available at de / svn / svn_HMJEM Software / and is incorporated by reference in its entirety into this application.

一般に、HMワーキング・モデルで説明されているように、ビデオ・フレーム又はピクチャは、ルマ及びクロマ・サンプルの両方を含む、一連のツリー・ブロック又は最大コーディング・ユニット(largest coding unit,LCU)に分割されることが可能である。LCUはまた、コーディング・ツリー・ユニット(coding tree unit,CTU)とも呼ばれる。ツリー・ブロックは、H.264規格のマクロブロックのものと同様の機能を有する。スライスは、復号化の順序で幾つかの連続するツリー・ブロックを含む。ビデオ・フレーム又はピクチャは、1つ又は複数のスライスに区分けされることが可能である。各ツリー・ブロックは、四分木に基づいてコーディング・ユニットに分割されることが可能である。例えば、四分木のルート・ノードとして機能するツリー・ブロックは、4つの子ノードに分割することが可能であり、各々の子ノードはまた、親ノードとして機能する可能性があり、他の4つの子ノードに分割される。四分木のリーフ・ノードとして機能する最終的な分割不可能な子ノードは、復号化ノード、例えば、復号化されたビデオ・ブロックを含む。復号化されたビットストリームに関連したシンタックス・データにおいて、ツリー・ブロックが分割されることが可能な最大回数と、復号化ノードの最小サイズとが、決定される可能性がある。 Generally, as described in the HM working model, a video frame or picture is divided into a series of tree blocks or a largest coding unit (LCU) containing both Luma and Chroma samples. It is possible to be done. The LCU is also called a coding tree unit (CTU). The tree block is H. It has the same function as that of the 264 standard macroblock. The slice contains several contiguous tree blocks in the order of decryption. The video frame or picture can be divided into one or more slices. Each tree block can be divided into coding units based on quadtrees. For example, a tree block that acts as the root node of a quadtree can be split into four child nodes, each child node can also act as a parent node, and the other four. Divided into two child nodes. The final indivisible child node that acts as the leaf node of the quadtree contains a decryption node, eg, a decrypted video block. In the syntax data associated with the decrypted bitstream, the maximum number of times the tree block can be split and the minimum size of the decrypted node may be determined.

1つのCTUは、1つのコーディング・ツリー・ブロック(coding tree block,CTB)及び同じ位置における2つのクロマCTBと、幾つかの対応する構文要素とを含むことに留意すべきである。CTBは、1つのコーディング・ブロック(coding block,CB)として直接的に使用されることが可能であるか、又は複数の小さなコーディング・ブロックCB、1つのルマCB、2つのクロマCB、及び幾つかの対応するシンタックス要素に、四分木の形式で分割されて、1つのコーディング・ユニット(coding unit,CU)を形成することが可能である。 It should be noted that one CTU contains one coding tree block (CTB) and two chroma CTBs at the same location and several corresponding syntax elements. The CTB can be used directly as a coding block (CB), or multiple small coding blocks CB, one Luma CB, two Chroma CBs, and several. It is possible to divide into the corresponding syntax elements of the above in the form of a quadtree to form one coding unit (CU).

CUは、復号化ノード、予測ユニット(prediction unit,PU)、及び復号化ノードに関連する変換ユニット(transform unit,TU)を含む。CUのサイズは復号化ノードのサイズに対応し、CUの形状は正方形である必要がある。CUのサイズは、8×8ピクセルから最大64×64ピクセルまでのレンジにあるか、又はより大きなツリー・ブロック・サイズであってもよい。各CUは、1つ以上のPU及び1つ以上のTUを含むことが可能である。例えば、CUに関連するシンタックス・データは、1つのCUを1つ以上のPUに区分けすることを記述することができる。パーティショニング・パターンは、CUがスキップ又はダイレクト・モードで符号化される場合、イントラ予測モードで符号化される場合、又はインター予測モードで符号化される場合に、相違する可能性がある。パーティショニングによって得られるPUは、非正方形の形状である可能性がある。例えば、CUに関連するシンタックス・データはまた、四分木に基づく1つ以上のTUへのCUのパーティショニングを記述することができる。TUは、正方形又は非正方形の形状であってもよい。 The CU includes a decoding node, a prediction unit (PU), and a transform unit (TU) associated with the decoding node. The size of the CU corresponds to the size of the decoding node, and the shape of the CU needs to be square. The size of the CU may range from 8x8 pixels up to 64x64 pixels, or may be a larger tree block size. Each CU can include one or more PUs and one or more TUs. For example, CU-related syntax data can describe dividing one CU into one or more PUs. The partitioning pattern can be different if the CU is coded in skip or direct mode, in intra-prediction mode, or in inter-prediction mode. The PU obtained by partitioning may have a non-square shape. For example, CU-related syntax data can also describe the partitioning of a CU to one or more TUs based on a quadtree. The TU may have a square or non-square shape.

HEVC規格はTUベースの変換を許容する。異なるCUは異なるTUを含む可能性がある。TUのサイズは、通常、区分けされたLCUに対して規定される所与のCU内のPUのサイズに基づいて設定される。しかしながら、常にこのようではないかもしれない。TUのサイズは通常、PUのものと同じか又はそれより小さい。幾つかの実現可能な実装において、「残差四分木」(residual quadtree,RQT)と呼ばれる四分木構造が、CUに対応する残差サンプルを、より小さなユニットに分割するために使用される可能性がある。RQTのリーフ・ノードは、TUと言及される場合がある。TUに関連するピクセル差分は、変換係数を生成するために変換される可能性があり、変換係数は量子化される可能性がある。 The HEVC standard allows TU-based conversion. Different CUs may contain different TUs. The size of the TU is usually set based on the size of the PU in a given CU defined for the partitioned LCU. However, this may not always be the case. The size of the TU is usually the same as or smaller than that of the PU. In some feasible implementations, a quadtree structure called a "residual quadtree" (RQT) is used to divide the CU-corresponding residual sample into smaller units. there is a possibility. Leaf nodes of RQT are sometimes referred to as TUs. Pixel differences associated with the TU may be converted to generate a conversion factor, and the conversion factor may be quantized.

一般に、PUは、予測処理に関するデータを含む。例えば、PUがイントラ・モードで符号化される場合、PUは、PUのイントラ予測モードを記述するデータを含む可能性がある。別の実現可能な実装において、PUがインター・モードで符号化される場合、PUは、PUのための動きベクトルを規定するデータを含む可能性がある。例えば、PUのための動きベクトルを規定するデータは、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4ピクセル精度又は1/8ピクセル精度)、動きベクトルが指し示す参照ピクチャ、及び/又は動きベクトルの参照ピクチャ・リスト(例えば、リスト0、リスト1、又はリストC)を記述することができる。 Generally, the PU contains data related to the prediction process. For example, if the PU is encoded in intra mode, the PU may contain data describing the intra prediction mode of the PU. In another feasible implementation, if the PU is encoded in intermode, the PU may contain data defining motion vectors for the PU. For example, the data defining the motion vector for the PU is indicated by the horizontal component of the motion vector, the vertical component of the motion vector, the resolution of the motion vector (eg, 1/4 pixel accuracy or 1/8 pixel accuracy), and the motion vector. A reference picture and / or a motion vector reference picture list (eg, list 0, list 1, or list C) can be described.

一般に、変換及び量子化処理がTUに対して使用される。1つ以上のPUを含む所与のCUは、1つ以上のTUを含むことも可能である。予測を実行した後に、ビデオ・エンコーダ20は、PUに対応する残差を計算することができる。残差は、ピクセル差分を含む。ピクセル差分は変換係数に変換されることが可能であり、変換係数は量子化され、TUを用いてスキャンされて、エントロピー復号化のためのシリアル化された変換係数を生成する。本願では、用語「ビデオ・ブロック」は、通常、CUの復号化ノードを示すために使用される。幾つかの特定のアプリケーションでは、用語「ビデオ・ブロック」はまた、復号化ノード、PU、及びTUを含むツリー・ブロック、例えばLCU又はCUを示すために使用されることが可能である。 Generally, transformation and quantization processes are used for TUs. A given CU containing one or more PUs can also contain one or more TUs. After performing the prediction, the video encoder 20 can calculate the residuals corresponding to the PU. The residuals include pixel differences. Pixel differences can be converted to conversion factors, which are quantized and scanned using the TU to produce a serialized conversion factor for entropy decoding. In the present application, the term "video block" is typically used to indicate a CU decoding node. In some specific applications, the term "video block" can also be used to indicate a tree block containing a decryption node, PU, and TU, such as an LCU or CU.

ビデオ・シーケンスには、通常、一連のビデオ・フレーム又はピクチャを含む。例えば、ピクチャのグループ(group of picture, GOP)は、一連のビデオ・ピクチャ、又は1つ以上のビデオ・ピクチャを含む。GOPは、GOPのヘッダ情報、1つ以上のピクチャのヘッダ情報などにシンタックス・データを含む可能性があり、シンタックス・データは、GOPに含まれるピクチャの量を記述する。ピクチャの各スライスは、対応するピクチャの符号化モードを記述するスライス・シンタックス・データを含む可能性がある。ビデオ・エンコーダ20は、通常、ビデオ・データを符号化するために、個々のビデオ・スライス内のビデオ・ブロックに対して動作を実行する。ビデオ・ブロックは、CUにおける復号化ノードに対応する可能性がある。ビデオ・ブロックのサイズは、固定されていてもよいし、又は変更可能であってもよく、指定された復号化規格によって異なる可能性がある。 A video sequence usually includes a series of video frames or pictures. For example, a group of pictures (GOP) includes a series of video pictures, or one or more video pictures. The GOP may include syntax data in the header information of the GOP, the header information of one or more pictures, and the like, and the syntax data describes the amount of pictures contained in the GOP. Each slice of a picture may contain slice syntax data that describes the coding mode of the corresponding picture. The video encoder 20 typically performs an operation on a video block within an individual video slice to encode the video data. The video block may correspond to a decryption node in the CU. The size of the video block may be fixed or variable and may vary depending on the specified decoding standard.

実現可能な実装において、HMは様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×Nのサイズを用いたPUに対するイントラ予測と、2N×2N、2N×N、N×2N、又はN×Nのサイズを用いた対称的なPUに対するインター予測をサポートし、HMはまた、2N×nU、2N×nD、nL×2N、又はnR×2Nのサイズを用いたPUに対するインター予測の非対称パーティショニングもサポートする。非対称パーティショニングにおいて、CUはある方向では区分けされず、別の方向では2つの部分に区分けされ、一方の部分はCUの25%を占め、他方の部分はCUの75%を占める。CUの25%を占める部分は、「n」の後に「U(Up)」、「D(Down)」、「L(Left)」、「R(Right)」を続けて示すインジケータによって示される。従って、例えば「2N×nU」は、水平に区分けされた2N×2N CUを指し、上部は2N×0.5N PU、下部は2N×1.5N PUである。 In a feasible implementation, HM supports prediction at various PU sizes. Assuming that the size of a particular CU is 2N × 2N, the HM will make an intra prediction for the PU using a size of 2N × 2N or N × N and 2N × 2N, 2N × N, N × 2N, or N. Supporting inter-prediction for symmetric PUs using xN size, HM also supports inter-prediction asymmetric parties for PUs using xN x nU, 2N x nD, nL x 2N, or nR x 2N sizes. It also supports shining. In asymmetric partitioning, the CU is not divided in one direction, but in two directions, one part occupying 25% of the CU and the other part occupying 75% of the CU. The portion that occupies 25% of the CU is indicated by an indicator that indicates "n" followed by "U (Up)", "D (Down)", "L (Left)", and "R (Right)". Therefore, for example, "2N x nU" refers to a horizontally divided 2N x 2N CU, the upper part is 2N x 0.5N PU, and the lower part is 2N x 1.5N PU.

本願では、「N×N」及び「NかけるN」は、例えば16×16ピクセル又は16に16を乗算した個数のピクセルのように、垂直次元及び水平次元のビデオ・ブロックのピクセル・サイズを示すために可換に使用されることが可能である。一般に、16×16ブロックは、垂直方向に16ピクセル(y=16)、水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、通常、垂直方向にN個のピクセルを有し、水平方向にN個のピクセルを有し、ここで、Nは非負の整数値である。ブロック中のピクセルは、行及び列に配列されることが可能である。また、ブロックの水平方向におけるピクセルの量と垂直方向におけるピクセルの量とは、必ずしも同じではない可能性がある。例えば、ブロックは、N×Mピクセルを含んでもよく、ここで、Mは、必ずしもNに等しくない。 In the present application, "NxN" and "N times N" indicate the pixel size of a vertical and horizontal dimensional video block, such as 16x16 pixels or the number of pixels obtained by multiplying 16 by 16. It can be used interchangeably for. Generally, a 16x16 block has 16 pixels (y = 16) in the vertical direction and 16 pixels (x = 16) in the horizontal direction. Similarly, an N × N block usually has N pixels in the vertical direction and N pixels in the horizontal direction, where N is a non-negative integer value. The pixels in the block can be arranged in rows and columns. Also, the amount of pixels in the horizontal direction and the amount of pixels in the vertical direction of the block may not always be the same. For example, the block may contain N × M pixels, where M is not necessarily equal to N.

CU内のPUに関するイントラ又はインター予測復号化を実行した後に、ビデオ・エンコーダ20は、CU内のTUの残差データを計算することができる。PUは、空間ドメイン(ピクセル・ドメインとも呼ばれる)内のピクセル・データを含む可能性があり、TUは、残差ビデオ・データに適用される変換(例えば、離散コサイン変換(discrete cosine transform,DCT)、整数変換、ウェーブレット変換、又は他の概念的に類似する変換)の後の変換ドメインにおける係数を含む可能性がある。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測子との間のピクセル差分に対応する可能性がある。ビデオ・エンコーダ20は、CUの残差データを含むTUを生成し、次いでTUを変換してCUの変換係数を生成することができる。 After performing intra-or inter-predictive decoding for the PU in the CU, the video encoder 20 can calculate the residual data of the TU in the CU. The PU may contain pixel data within the spatial domain (also known as the pixel domain), and the TU is a transformation applied to the residual video data (eg, the discrete cosine transform (DCT)). , Integer transform, wavelet transform, or other conceptually similar transform) may include coefficients in the transform domain. The residual data may correspond to the pixel difference between the pixels of the unencoded picture and the predictor corresponding to the PU. The video encoder 20 can generate a TU containing the residual data of the CU and then convert the TU to generate a conversion factor of the CU.

変換係数を生成するために何らかの変換を実行した後に、ビデオ・エンコーダ20は、変換係数を量子化することができる。量子化は、例えば係数を表すために使用されるデータの量を減らし、更なる圧縮を実行するために、係数を量子化するプロセスを指す。量子化プロセスは、係数の幾つか又は全てに関連するビット深度を低減することができる。例えば、量子化の間に、nビット値は、丸めによりmビット値に低減されることが可能であり、ここで、nはmより大きい。 After performing some conversion to generate the conversion factor, the video encoder 20 can quantize the conversion factor. Quantization refers to the process of quantizing the coefficients, for example to reduce the amount of data used to represent the coefficients and to perform further compression. The quantization process can reduce the bit depth associated with some or all of the coefficients. For example, during quantization, the n-bit value can be reduced to an m-bit value by rounding, where n is greater than m.

JEMモデルはビデオ・ピクチャ符号化構造を更に改良する。具体的には、「四分木プラス二分木」(quad tree combined with binary tree,QTBT)構造と呼ばれるブロック・コーディング構造が導入される。HEVCにおけるCU、PU、TUのような概念を使用せずに、QTBT構造は、より柔軟なCU分割形状をサポートする。CUは、正方形又は長方形におけるものであってもよい。四分木パーティショニングが先ずCTU上で実行され、二分木パーティショニングが、四分木のリーフ・ノード上で更に実行される。更に、対称水平パーティショニング及び対称垂直パーティショニングという2つの二分木パーティショニング・モードが存在する。二分木のリーフ・ノードはCUと言及される。JEMモデルにおけるCUは、予測及び変換の間に更に区分けされることはできない。言い換えれば、JEMモデルにおけるCU、PU、及びTUは、同じブロック・サイズを有する。既存のJEMモデルでは、最大CTUサイズは256×256ルマ・ピクセルである。 The JEM model further improves the video-picture coding structure. Specifically, a block coding structure called a "quad tree combined with binary tree (QTBT) structure" will be introduced. Without using concepts like CU, PU, TU in HEVC, the QTBT structure supports a more flexible CU split shape. The CU may be square or rectangular. Quadtree partitioning is first performed on the CTU, and binary partitioning is further performed on the leaf node of the quadtree. In addition, there are two binary partitioning modes: symmetric horizontal partitioning and symmetric vertical partitioning. The binary tree leaf node is referred to as the CU. The CU in the JEM model cannot be further subdivided between prediction and transformation. In other words, the CU, PU, and TU in the JEM model have the same block size. In the existing JEM model, the maximum CTU size is 256 x 256 Luma pixels.

幾つかの実現可能な実装において、ビデオ・エンコーダ20は、量子化された変換係数を、所定のスキャン順序でスキャンして、エントロピー符号化されることが可能なシリアル化されたベクトルを生成することができる。他の実現可能な実装において、ビデオ・エンコーダ20は、適応スキャニングを実行することができる。量子化された変換係数をスキャンして1次元ベクトルを形成した後に、ビデオ・エンコーダ20は、文脈適応型可変長コーディング(context−adaptive variable−length coding,CAVLC)法、文脈ベースの適応型二進算術コーディング(context−based adaptive binary arithmetic coding,CABAC)法、確率間隔パーティショニング・エントロピー(probability interval partitioning entropy,PIPE)コーディング法、又は別のエントロピー・コーディング法に基づいて、1次元ベクトルをエントロピー復号化することができる。ビデオ・エンコーダ20は、符号化されたビデオ・データに関連付けられたシンタックス要素を更に符号化することが可能であり、その結果、ビデオ・デコーダ30はビデオ・データを復号化する。 In some feasible implementations, the video encoder 20 scans the quantized conversion factors in a predetermined scan order to produce a serialized vector that can be entropy-coded. Can be done. In other feasible implementations, the video encoder 20 can perform adaptive scanning. After scanning the quantized transformation coefficients to form a one-dimensional vector, the video encoder 20 is subjected to context-adaptive variable-length coding (CAVLC) method, context-based adaptive binary. Entropy decoding a one-dimensional vector based on the context-based adaptive binary arithmetic coding (CABAC) method, the probability interval partitioning entropy (PIPE) coding method, or another entropy coding method. can do. The video encoder 20 can further encode the syntax elements associated with the encoded video data, so that the video decoder 30 decodes the video data.

CABACを実行するために、ビデオ・エンコーダ20は、コンテキスト・モデルにおけるコンテキストを、送信対象のシンボルに割り当てることができる。コンテキストは、シンボルの隣接する値が非ゼロであるかどうかに関連付けられる可能性がある。CAVLCを実行するために、ビデオ・エンコーダ20は、送信対象のシンボルの可変長コードを選択することができる。可変長コーディングにおけるコードワード(variable−length coding,VLC)は、より短いコードがより可能性の高いシンボルに対応し且つより長いコードがより可能性の低いシンボルに対応するように、構成されることが可能である。このようにして、全ての送信対象のシンボルに対して等しい長さのコードワードを使用することと比較して、VLCを使用することは、ビット・レートを削減することができる。CABACにおける確率は、シンボルに割り当てられたコンテキストに基づいて決定されることが可能である。 To perform CABAC, the video encoder 20 can assign a context in the context model to a symbol to be transmitted. The context can be associated with whether the adjacent value of the symbol is non-zero. To perform CAVLC, the video encoder 20 can select the variable length code of the symbol to be transmitted. Codewords (variable-length coding, VLC) in variable length coding are configured such that shorter codes correspond to more likely symbols and longer codes correspond to less likely symbols. Is possible. In this way, using VLC can reduce the bit rate as compared to using codewords of equal length for all transmitted symbols. Probabilities in CABAC can be determined based on the context assigned to the symbol.

本願のこの実施形態では、ビデオ・エンコーダは、ピクチャ間の時間的な冗長性を低減するために、インター予測を実行することができる。上述したように、CUは、異なるビデオ圧縮コーディング規格に従って、1つ以上の予測ユニットPUを有することが可能である。言い換えれば、複数のPUが1つのCUに属している可能性があり、あるいはPU及びCUは同じサイズを有する。本明細書では、CU及びPUが同じサイズを有する場合、CUのパーティショニング・モードは、パーティションなしを実行するか、又はCUを1つのPUに区分けし、ここで、PUは説明のために均一に使用される。ビデオ・エンコーダがインター予測を実行する場合、ビデオ・エンコーダは、PUに関する動き情報を、ビデオ・デコーダにシグナリングすることが可能である。例えば、PUに関する動き情報は、参照ピクチャ・インデックス、動きベクトル、及び予測方向識別子を含む可能性がある。動きベクトルは、PUのピクチャ・ブロック(ビデオ・ブロック、ピクセル・ブロック、ピクセル・セット等とも呼ばれる)とPUの参照ブロックとの間の変位を示すことができる。PUの参照ブロックは、PUのピクチャ・ブロックに類似した参照ピクチャの一部であってもよい。参照ブロックは、参照ピクチャ・インデックス及び予測方向識別子によって示される参照ピクチャ内に配置されてもよい。 In this embodiment of the present application, the video encoder can perform inter-prediction to reduce temporal redundancy between pictures. As mentioned above, the CU can have one or more prediction unit PUs according to different video compression coding standards. In other words, multiple PUs may belong to one CU, or the PUs and CUs have the same size. As used herein, if the CU and PU have the same size, the partitioning mode of the CU either performs no partitioning or divides the CU into one PU, where the PUs are uniform for illustration purposes. Used for. When the video encoder performs inter-prediction, the video encoder can signal motion information about the PU to the video decoder. For example, motion information about a PU may include a reference picture index, a motion vector, and a predictive direction identifier. The motion vector can indicate the displacement between the picture block of the PU (also called a video block, pixel block, pixel set, etc.) and the reference block of the PU. The reference block of the PU may be part of a reference picture similar to the picture block of the PU. The reference block may be placed within the reference picture indicated by the reference picture index and the predictive direction identifier.

PUに関する動き情報を表現するために必要なコーディングされたビットの量を削減するために、ビデオ・エンコーダは、マージ(merge)予測モード又はアドバンスト動きベクトル予測(advanced motion vector prediction,AMVP)モードに従って、各PUに関する候補の予測された動きベクトル(motion vector,MV)のリストを生成することができる。PUに関する候補の予測された動きベクトルのリストにおける候補の予測された動きベクトルの各々は、動き情報を示すことができる。候補の予測された動きベクトルのリスト内の幾つかの候補の予測された動きベクトルによって示される動き情報は、他のPUに対する動き情報に基づいてもよい。候補の予測された動きベクトルが、特定の空間的な候補の予測された動きベクトル位置又は特定の時間的な候補の予測された動きベクトル位置のうちの1つの動き情報を示す場合、候補の予測された動きベクトルは、本願では「オリジナル」候補の予測された動きベクトルと呼ばれる場合がある。例えば、本願でマージ予測モードとも呼ばれるマージ・モードでは、5つのオリジナル空間候補の予測された動きベクトル位置と、1つのオリジナル時間候補の予測された動きベクトル位置とが存在し得る。幾つかの例では、ビデオ・エンコーダは、異なるオリジナル候補の予測された動きベクトルからの幾つかの動きベクトルを組み合わせること、オリジナル候補の予測された動きベクトルを修正すること、又は候補の予測された動きベクトルとしてゼロ動きベクトルのみを挿入することによって、追加候補の予測された動きベクトルを生成することができる。これらの追加候補の予測された動きベクトルは、オリジナル候補の予測された動きベクトルとは考えられず、本願では、マニュアルで生成された候補の予測された動きベクトルと言及される場合がある。 To reduce the amount of coded bits needed to represent motion information about the PU, the video encoder follows a merge prediction mode or advanced motion vector prediction (AMVP) mode. A list of candidate predicted motion vectors (MVs) for each PU can be generated. Each of the candidate predicted motion vectors in the list of candidate predicted motion vectors for the PU can indicate motion information. The motion information represented by some candidate predicted motion vectors in the list of candidate predicted motion vectors may be based on motion information for other PUs. Candidate prediction if the candidate's predicted motion vector indicates motion information for one of a particular spatial candidate's predicted motion vector position or a particular temporal candidate's predicted motion vector position. The resulting motion vector may be referred to herein as the predicted motion vector of the "original" candidate. For example, in the merge mode, which is also referred to as the merge prediction mode in the present application, there may be a predicted motion vector position of five original space candidates and a predicted motion vector position of one original time candidate. In some examples, the video encoder may combine several motion vectors from different original candidate predicted motion vectors, modify the original candidate's predicted motion vector, or predict the candidate. By inserting only the zero motion vector as the motion vector, the predicted motion vector of additional candidates can be generated. The predicted motion vectors of these additional candidates are not considered to be the predicted motion vectors of the original candidate and may be referred to herein as the manually generated predicted motion vectors of the candidates.

本願における技術は、通常、ビデオ・エンコーダにおいて候補の予測された動きベクトルのリストを生成する技術と、ビデオ・デコーダにおいて同じ候補の予測された動きベクトルのリストを生成する技術とを含む。ビデオ・エンコーダ及びビデオ・デコーダは、候補の予測された動きベクトルのリストを構築するために同じ技術を実現することによって、同じ候補の予測された動きベクトルのリストを生成することができる。例えば、ビデオ・エンコーダ及びビデオ・デコーダは、同じ量の候補の予測された動きベクトル(例えば、5つの候補の予測された動きベクトル)を有するリストを構成することができる。ビデオ・エンコーダ及びビデオ・デコーダは、先ず、(例えば、同じピクチャにおける隣接するブロックのような)空間的な候補の予測された動きベクトルを考慮し、次いで、(例えば、異なるピクチャにおける候補の予測された動きベクトルのような)時間的な候補の予測された動きベクトルを考慮し、最終的に、マニュアルで生成される候補の予測された動きベクトルを考慮することを、必要な量の候補の予測された動きベクトルがリストに追加されるまで行うことができる。本願の技術によれば、候補の予測された動きベクトルのリストを構成する間に、候補の予測された動きベクトルのリストから、反復的な候補の予測された動きベクトルを除去するために、あるタイプの候補の予測された動きベクトルに対して、プルーニング処理が実行されてもよく、プルーニング処理は、デコーダの複雑性を低減するために、他のタイプの候補の予測された動きベクトルに関して実行されなくてもよい。例えば、空間的な候補の予測された動きベクトルの集合及び時間的な候補の予測された動きベクトルの集合に対して、プルーニング処理は、反復した動き情報を伴う候補の予測された動きベクトルを、候補の予測された動きベクトルのリストから除去するために実行されることが可能である。しかしながら、マニュアルで生成された候補の予測された動きベクトルは、プルーニング処理が、マニュアルで生成された候補の予測された動きベクトルに関して実行されない場合に、候補の予測されたベクトルのリストに追加されることが可能である。 Techniques in the present application typically include techniques for generating a list of predicted motion vectors for candidates in a video encoder and techniques for generating a list of predicted motion vectors for the same candidate in a video decoder. Video encoders and video decoders can generate a list of predicted motion vectors for the same candidate by implementing the same technique for constructing a list of predicted motion vectors for the same candidate. For example, a video encoder and a video decoder can construct a list with the same amount of candidate predicted motion vectors (eg, 5 candidate predicted motion vectors). Video encoders and video decoders first consider the predicted motion vectors of spatial candidates (eg, adjacent blocks in the same picture), and then (eg, predicted candidates in different pictures). Considering the predicted motion vectors of temporal candidates (such as motion vectors) and finally considering the predicted motion vectors of manually generated candidates, the required amount of candidate predictions. This can be done until the motion vector is added to the list. According to the technique of the present application, there is to remove the iterative candidate's predicted motion vector from the candidate's list of predicted motion vectors while constructing the candidate's list of predicted motion vectors. A pruning process may be performed on the predicted motion vector of the type candidate, and the pruning process is performed on the predicted motion vector of the other type candidate in order to reduce the complexity of the decoder. It does not have to be. For example, for a set of predicted motion vectors of spatial candidates and a set of predicted motion vectors of temporal candidates, the pruning process combines the predicted motion vectors of the candidates with iterative motion information. It can be performed to remove from the list of candidate predicted motion vectors. However, the manually generated candidate predicted motion vector is added to the list of candidate predicted motion vectors if the pruning process is not performed on the manually generated candidate predicted motion vector. It is possible.

CUのPUに関する候補の予測された動きベクトルのリストを生成した後に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストから、候補の予測された動きベクトルを選択し、候補の予測された動きベクトル・インデックスをビットストリームで出力することができる。選択された候補の予測された動きベクトルは、復号化されているターゲットPUの予測ユニットに最もよく合致する動きベクトルを生成するための候補の予測された動きベクトルであってもよい。候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を示すことができる。ビデオ・エンコーダは、更に、PUに関する動き情報によって示される参照ブロックに基づいて、PUに関する予測ピクチャ・ブロックを生成してもよい。PUに関する動き情報は、選択された候補の予測された動きベクトルによって示される動き情報に基づいて決定されてもよい。例えば、マージ・モードでは、PUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。アドバンスト動きベクトル予測モードでは、PUのための動き情報は、PUのための動きベクトル差分と選択された候補の予測された動きベクトルによって示される動き情報とに基づいて決定されることが可能である。ビデオ・エンコーダは、CUのPUに対する予測ピクチャ・ブロックとCUに対するオリジナル・ピクチャ・ブロックとに基づいて、CUに対する1つ以上の残差ピクチャ・ブロックを生成することができる。次いで、ビデオ・エンコーダは、1つ以上の残差ピクチャ・ブロックを符号化し、1つ以上の残差ピクチャ・ブロックをビットストリームで出力することができる。 After generating a list of candidate predicted motion vectors for the PU of the CU, the video encoder selects the candidate predicted motion vector from the list of candidate predicted motion vectors and the candidate predicted motion vector. The motion vector index can be output as a bit stream. The predicted motion vector of the selected candidate may be a candidate predicted motion vector for generating a motion vector that best matches the predicted unit of the decoded target PU. The candidate's predicted motion vector index can indicate the position of the selected candidate's predicted motion vector in the list of candidate's predicted motion vectors. The video encoder may further generate a predictive picture block for the PU based on the reference block indicated by the motion information about the PU. The motion information about the PU may be determined based on the motion information indicated by the predicted motion vector of the selected candidate. For example, in merge mode, the motion information of the PU may be the same as the motion information indicated by the predicted motion vector of the selected candidate. In the advanced motion vector prediction mode, the motion information for the PU can be determined based on the motion vector difference for the PU and the motion information indicated by the predicted motion vector of the selected candidate. .. The video encoder can generate one or more residual picture blocks for the CU based on the predicted picture blocks for the PU of the CU and the original picture blocks for the CU. The video encoder can then encode one or more residual picture blocks and output one or more residual picture blocks in a bitstream.

ビットストリームは、PUに関する候補の予測された動きベクトルのリストにおいて、選択された候補の予測された動きベクトルを識別するデータを含むことができる。ビデオ・デコーダは、PUのための候補の予測された動きベクトル・リストにおいて、選択された候補の予測された動きベクトルによって示される動き情報に基づいて、PUの動き情報を決定することができる。ビデオ・デコーダは、PUの動き情報に基づいて、PUのための1つ以上の参照ブロックを識別することができる。PUに対する1つ以上の参照ブロックを識別した後に、ビデオ・デコーダは、PUに対する1つ以上の参照ブロックに基づいて、PUに対する予測ピクチャ・ブロックを生成してもよい。ビデオ・デコーダは、CUのPUに対する予測ピクチャ・ブロックとCUに対する1つ以上の残差ピクチャ・ブロックとに基づいて、CUに対するピクチャ・ブロックを再構成することができる。 The bitstream can contain data that identifies the predicted motion vectors of the selected candidates in the list of predicted motion vectors of the candidates for the PU. The video decoder can determine the motion information of the PU based on the motion information indicated by the predicted motion vector of the selected candidate in the candidate predicted motion vector list for the PU. The video decoder can identify one or more reference blocks for the PU based on the motion information of the PU. After identifying one or more reference blocks for the PU, the video decoder may generate a predictive picture block for the PU based on the one or more reference blocks for the PU. The video decoder can reconstruct the picture block for the CU based on the predicted picture block for the PU of the CU and one or more residual picture blocks for the CU.

説明を簡単にするために、本願では、位置又はピクチャ・ブロックは、CU又はPUとの様々な空間的な関係を有するものとして説明されることが可能である。説明は、次のように説明することができる:ロケーション又はピクチャ・ブロックは、CU又はPUに関連付けられたピクチャ・ブロックと様々な空間的な関係を有する。追加的に、本願では、ビデオ・デコーダによって現在復号化されているPUは、処理対象のPUと言及されてもよいし、又は現在の処理対象のピクチャ・ブロックと言及されてもよい。本願では、ビデオ・デコーダによって現在復号化されているCUは、処理対象のCUと言及されてもよい。本願では、ビデオ・デコーダによって現在復号化されているピクチャは、現在のピクチャと言及されてもよい。本願は、PU及びCUが同じサイズを有する場合、又はPUがCUである場合にも適用可能であることが理解されるべきである。PUは説明のために均一に使用される。 For the sake of brevity, the location or picture block can be described herein as having various spatial relationships with the CU or PU. The description can be described as follows: The location or picture block has various spatial relationships with the picture block associated with the CU or PU. Additionally, in the present application, the PU currently being decoded by the video decoder may be referred to as the PU to be processed, or may be referred to as the picture block currently being processed. In the present application, the CU currently decoded by the video decoder may be referred to as the CU to be processed. In the present application, the picture currently decoded by the video decoder may be referred to as the current picture. It should be understood that the present application is also applicable if the PU and CU have the same size, or if the PU is a CU. PU is used uniformly for illustration purposes.

先に簡単に説明したように、ビデオ・エンコーダ20は、インター予測によってCUのPUに対する予測ピクチャ・ブロック及び動き情報を生成することができる。多くの例において、所与のPUの動き情報は、1つ以上の隣接するPU(即ち、ピクチャ・ブロックが所与のPUのピクチャ・ブロックに空間的又は時間的に隣接しているPU)の動き情報と同一又は類似であってもよい。隣接するPUは、しばしば同様な動き情報を有するので、ビデオ・エンコーダ20は、隣接するPUの動き情報に基づいて、所与のPUの動き情報を符号化することができる。隣接するPUの動き情報に基づいて所与のPUの動き情報を符号化することは、所与のPUの動き情報を示すためにビットストリームにおいて要求される符号化されたビットの量を減らすことができる。 As briefly described above, the video encoder 20 can generate predictive picture blocks and motion information for the PU of the CU by inter-prediction. In many examples, the motion information of a given PU is of one or more adjacent PUs (ie, a PU in which a picture block is spatially or temporally adjacent to a picture block of a given PU). It may be the same as or similar to the motion information. Since the adjacent PUs often have similar motion information, the video encoder 20 can encode the motion information of a given PU based on the motion information of the adjacent PUs. Encoding the motion information of a given PU based on the motion information of adjacent PUs reduces the amount of encoded bits required in the bitstream to indicate the motion information of a given PU. Can be done.

ビデオ・エンコーダ20は、様々な方法で、隣接するPUの動き情報に基づいて、所与のPUの動き情報を符号化することができる。例えば、ビデオ・エンコーダ20は、所与のPUに対する動き情報が、隣接するPUに対する動き情報と同じであることを示すことができる。本願では、マージ・モードは、所与のPUに対する動き情報が隣接するPUに対する動き情報と同じであることを示すために使用されてもよいし、又は隣接するPUに対する動き情報から導出されてもよい。別の実現可能な実装において、ビデオ・エンコーダ20は、所与のPUに対する動きベクトル差分(motion vector difference, MVD)を計算することが可能であり、MVDは、所与のPUに対する初期の動きベクトルと所与のPUに対する最終的な動きベクトルとの間の差分である。ビデオ・エンコーダ20は、所与のPUの動き情報において、所与のPUの動きベクトルの代わりにMVDを含めることができる。ビットストリームでは、MVDを表現するために必要なコーディングされたビットの量は、所与のPUに対する動きベクトルを表現するために必要なコーディングされたビットの量よりも少ない。本願では、アドバンスト動きベクトル予測モードを使用して、所与のPUの動き情報が、MVDと候補の動きベクトルを識別するためのインデックス値とを使用することによって、デコーダにシグナリングされることを示すことができる。 The video encoder 20 can encode the motion information of a given PU based on the motion information of the adjacent PUs in various ways. For example, the video encoder 20 can indicate that the motion information for a given PU is the same as the motion information for an adjacent PU. In the present application, the merge mode may be used to indicate that the motion information for a given PU is the same as the motion information for an adjacent PU, or it may be derived from the motion information for an adjacent PU. good. In another feasible implementation, the video encoder 20 is capable of calculating a motion vector difference (MVD) for a given PU, and the MVD is an initial motion vector for a given PU. And the difference between the final motion vector for a given PU. The video encoder 20 can include the MVD in place of the motion vector of a given PU in the motion information of a given PU. In a bitstream, the amount of coded bits needed to represent an MVD is less than the amount of coded bits needed to represent a motion vector for a given PU. The present application uses an advanced motion vector prediction mode to show that motion information for a given PU is signaled to the decoder by using an MVD and an index value to identify a candidate motion vector. be able to.

マージ・モード又はAMVPモードにおいて、所与のPUの動き情報をデコーダにシグナリングするために、ビデオ・エンコーダ20は、所与のPUに対する候補の予測された動きベクトルのリストを生成することができる。候補の予測された動きベクトルのリストは、1つ以上の候補の予測された動きベクトルを含んでもよい。所与のPUに関する候補の予測された動きベクトルのリストにおける各候補の予測された動きベクトルは、動き情報を指定することができる。各候補の予測された動きベクトルによって示される動き情報は、動きベクトル、参照ピクチャ・インデックス、及び予測方向識別子を含んでもよい。候補の予測された動きベクトルのリスト内の候補の予測された動きベクトルは、「オリジナル」候補の予測された動きベクトルを含む可能性があり、各々の「オリジナル」候補の予測された動きベクトルは、所与のPUとは異なるPU内の特定の候補の予測された動きベクトル位置のうちの1つの動き情報を示す。 In order to signal the motion information of a given PU to the decoder in merge mode or AMVP mode, the video encoder 20 can generate a list of candidate predicted motion vectors for a given PU. The list of candidate predicted motion vectors may include one or more candidate predicted motion vectors. Each candidate's predicted motion vector in the list of candidate predicted motion vectors for a given PU can specify motion information. The motion information represented by each candidate's predicted motion vector may include a motion vector, a reference picture index, and a predicted direction identifier. The predicted motion vectors of the candidates in the list of predicted motion vectors of the candidates may contain the predicted motion vectors of the "original" candidates, and the predicted motion vectors of each "original" candidate , Shows motion information of one of the predicted motion vector positions of a particular candidate in a PU different from a given PU.

PUに関する候補の予測された動きベクトルのリストを生成した後に、ビデオ・エンコーダ20は、PUのための候補の予測された動きベクトルのリストから、候補の予測された動きベクトルのうちの1つを選択することができる。例えば、ビデオ・エンコーダは、各々の候補の予測された動きベクトルを、復号化されているPUと比較し、所望のレート歪コストを有する候補の予測された動きベクトルを選択することができる。ビデオ・エンコーダ20は、PUのための候補の予測された動きベクトル・インデックスを出力することができる。候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトル・リストにおいて選択された候補の予測された動きベクトルの位置を識別することができる。 After generating a list of candidate predicted motion vectors for the PU, the video encoder 20 picks one of the candidate predicted motion vectors from the list of candidate predicted motion vectors for the PU. You can choose. For example, the video encoder can compare each candidate's predicted motion vector to the decoded PU and select a candidate's predicted motion vector with the desired rate distortion cost. The video encoder 20 can output a candidate predicted motion vector index for the PU. The candidate's predicted motion vector index can identify the position of the selected candidate's predicted motion vector in the candidate's predicted motion vector list.

更に、ビデオ・エンコーダ20は、PUの動き情報により示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成してもよい。PUに関する動き情報は、PUに関する候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルによって示される動き情報に基づいて決定されてもよい。例えば、マージ・モードにおいて、PUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。AMVPモードでは、PUの動き情報は、PUの動きベクトル差分と、選択された候補の予測された動きベクトルによって示される動き情報とに基づいて、決定されてもよい。上述のように、ビデオ・エンコーダ20は、PUの予測ピクチャ・ブロックを処理することができる。 Further, the video encoder 20 may generate a predicted picture block of the PU based on the reference block indicated by the motion information of the PU. The motion information for the PU may be determined based on the motion information indicated by the predicted motion vector of the candidate selected in the list of predicted motion vectors for the candidate for the PU. For example, in merge mode, the motion information of the PU may be the same as the motion information indicated by the predicted motion vector of the selected candidate. In the AMVP mode, the motion information of the PU may be determined based on the motion vector difference of the PU and the motion information indicated by the predicted motion vector of the selected candidate. As mentioned above, the video encoder 20 can process the predicted picture block of the PU.

ビデオ・デコーダ30がビットストリームを受信する場合に、ビデオ・デコーダ30は、CUの各PUに対して候補の予測された動きベクトルのリストを生成することができる。PUに関するビデオ・デコーダ30によって生成される候補の予測された動きベクトルのリストは、PUに関するビデオ・エンコーダ20によって生成される候補の予測された動きベクトルのリストと同じであってもよい。ビットストリームを解析することによって取得されるシンタックス要素は、PUに関する候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を示すことができる。PUに関する候補の予測された動きベクトルのリストを生成した後に、ビデオ・デコーダ30は、PUの動き情報によって示される1つ以上の参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成してもよい。ビデオ・デコーダ30は、PUに関する候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルによって示される動き情報に基づいて、PUの動き情報を決定することができる。ビデオ・デコーダ30は、PUの予測ピクチャ・ブロックとCUの残差ピクチャ・ブロックとに基づいて、CUのピクチャ・ブロックを再構成することができる。 When the video decoder 30 receives the bitstream, the video decoder 30 can generate a list of candidate predicted motion vectors for each PU of the CU. The list of candidate predicted motion vectors generated by the video decoder 30 for the PU may be the same as the list of candidate predicted motion vectors generated by the video encoder 20 for the PU. The syntax element obtained by analyzing the bitstream can indicate the position of the predicted motion vector of the selected candidate in the list of predicted motion vectors of the candidate for the PU. After generating a list of candidate predicted motion vectors for the PU, the video decoder 30 may also generate a PU predictive picture block based on one or more reference blocks indicated by the PU motion information. good. The video decoder 30 can determine the motion information of the PU based on the motion information indicated by the predicted motion vector of the candidate selected in the list of predicted motion vectors of the candidates for the PU. The video decoder 30 can reconstruct the picture block of the CU based on the predicted picture block of the PU and the residual picture block of the CU.

実現可能な実装において、デコーダ上で、候補の予測された動きベクトルのリストの構築と、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を得るためのビットストリームの解析とは、互いに独立しており、任意の順序で又は並行して実行されてもよいことが理解されるべきである。 In a feasible implementation, the bits for constructing a list of candidate predicted motion vectors and obtaining the position of the selected candidate's predicted motion vector in the candidate's list of predicted motion vectors on the decoder. It should be understood that the analysis of the stream is independent of each other and may be performed in any order or in parallel.

別の実現可能な実装において、デコーダ上で、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置が、先ずビットストリームを解析することによって取得され、次いで、候補の予測された動きベクトルのリストが、解析によって得られた位置に基づいて構成される。この実装では、全ての候補の予測された動きベクトルのリストを構築することを必要とせずに、解析により得られた位置における候補の予測された動きベクトルのリストのみが、その位置での候補の予測された動きベクトルを決定するために構築されることを必要とする。例えば、ビットストリームを解析することによって、選択された候補の予測された動きベクトルは、候補の予測された動きベクトルのリストにおいてインデックスが3である候補の予測された動きベクトルであり、インデックスが3である候補の予測された動きベクトルを決定するために、インデックス0からインデックス3までの候補の予測された動きベクトルのリストのみを構成する必要があることが分かる。これは、複雑さを低減し、復号化効率を改善することができる。 In another feasible implementation, on the decoder, the position of the predicted motion vector of the candidate selected in the list of predicted motion vectors of the candidate is first obtained by analyzing the bit stream and then the candidate. A list of predicted motion vectors of is constructed based on the positions obtained by the analysis. In this implementation, it is not necessary to build a list of predicted motion vectors for all candidates, only the list of predicted motion vectors for candidates at the position obtained by the analysis is the candidate at that position. It needs to be constructed to determine the predicted motion vector. For example, by analyzing the bit stream, the predicted motion vector of the selected candidate is the predicted motion vector of the candidate having an index of 3 in the list of predicted motion vectors of the candidate and having an index of 3. It can be seen that in order to determine the predicted motion vector of the candidate, it is necessary to construct only the list of the predicted motion vector of the candidate from index 0 to index 3. This can reduce complexity and improve decoding efficiency.

図2は、本願の実施形態によるビデオ・エンコーダ20の概略ブロック図である。ビデオ・エンコーダ20は、ビデオ・スライス内のビデオ・ブロックに関してイントラ復号化及びインター復号化を実行することができる。イントラ復号化は、所与のビデオ・フレーム又はピクチャ内のビデオの空間的な冗長性を低減又は除去するために、空間的予測を当てにする。インター復号化は、ビデオ・シーケンスの隣接するフレーム又はピクチャにおけるビデオの時間的な冗長性を低減又は除去するために、時間的な予測を当てにする。イントラ・モード(Iモード)は、幾つかの空間的な圧縮モードの任意の1つであってもよい。一方向予測モード(Pモード)又は双方向予測モード(Bモード)のようなインター・モードは、幾つかの時間的な圧縮モードの任意の1つであってもよい。 FIG. 2 is a schematic block diagram of the video encoder 20 according to the embodiment of the present application. The video encoder 20 can perform intra-decoding and inter-decoding on the video blocks in the video slice. Intra-decoding relies on spatial prediction to reduce or eliminate spatial redundancy of video within a given video frame or picture. Interdecoding relies on temporal prediction to reduce or eliminate temporal redundancy of video in adjacent frames or pictures of a video sequence. The intra mode (I mode) may be any one of several spatial compression modes. The inter-mode, such as one-way prediction mode (P mode) or two-way prediction mode (B mode), may be any one of several temporal compression modes.

図2の実現可能な実装において、ビデオ・エンコーダ20は、パーティショニング・ユニット35、予測ユニット41、参照ピクチャ・ストレージ64、加算器50、変換ユニット52、量子化ユニット54、エントロピー符号化ユニット56を含む。 In a feasible implementation of FIG. 2, the video encoder 20 includes a partitioning unit 35, a prediction unit 41, a reference picture storage 64, an adder 50, a conversion unit 52, a quantization unit 54, and an entropy coding unit 56. include.

参照ピクチャ・ストレージ64は、MVDを記憶するためのターゲット・ストレージ空間を提供するように、即ち、処理対象のPUに対する最終的な動きベクトルと初期の動きベクトルとの間の差分を記憶するように、更に構成されてもよい。幾つかの実施形態では、参照ピクチャ・ストレージ64は、処理対象のPUの最終的な動きベクトルを更に記憶することができる。本願のこの実施形態では、参照ピクチャ・ストレージ64に記憶されたMVDは、別のPUの符号化プロセスで使用されてもよい。例えば、マージ(merge)モードにおける復号化処理では、更新されていない初期の動きベクトルと更新された最終的な動きベクトルとが、異なる時間に別々に記憶される。従って、処理対象のPUが、別のPUについて予測された動きベクトルを取得する必要がある場合、特定の条件下で、処理対象のPUは、別のPUの更新されていない初期の動きベクトルを、別のPUの動きベクトルとして、直接的に使用することが可能であり、別のPUの動きベクトルが更新された後に、別のブロックの動きベクトルを得る必要はない。 The reference picture storage 64 provides a target storage space for storing the MVD, i.e., to store the difference between the final motion vector and the initial motion vector for the PU to be processed. , Further configured. In some embodiments, the reference picture storage 64 can further store the final motion vector of the PU to be processed. In this embodiment of the present application, the MVD stored in the reference picture storage 64 may be used in another PU coding process. For example, in the decryption process in the merge mode, the unupdated initial motion vector and the updated final motion vector are stored separately at different times. Therefore, if the PU to be processed needs to obtain the predicted motion vector for another PU, under certain conditions, the PU to be processed will get the unupdated initial motion vector of the other PU. , It can be used directly as a motion vector of another PU, and it is not necessary to obtain the motion vector of another block after the motion vector of another PU is updated.

ターゲット・ストレージ空間は、参照ピクチャ・ストレージ64以外のメモリ、例えば、新しく追加されたメモリによって提供されてもよいことに留意されたい。これは、本願のこの実施態様で具体的には限定されない。 Note that the target storage space may be provided by memory other than the reference picture storage 64, eg, newly added memory. This is not specifically limited in this embodiment of the present application.

関連技術において、ビデオ・エンコーダ20がマージ・モードで動作する場合に、参照ピクチャ・ストレージ64の中身が空であるか、又はゼロ・ベクトルであること、即ち、ビデオ・エンコーダ20がマージ・モードで動作する場合に、ターゲット・ストレージ空間は符号化中に使用されず、符号化プロセスでは、処理対象のPUによって得られる他のPUの予測された動きベクトルは、他のPUの更新された最終的な動きベクトルであることに留意されたい。従って、処理対象のPUは、他のPUの予測された動きベクトルが更新された後に限り、他のPUに対する予測された動きベクトルを得ることが可能であり、その結果、符号化の間に符号化遅延が生じる。しかしながら、ビデオ・エンコーダ20が非マージ・モードで動作する場合、参照ピクチャ・ストレージ64が使用されてもよい。例えば、AMVPモードでは、ターゲット・ストレージ空間は、動きベクトル残差を記憶するために使用され、ビデオ・エンコーダ20は、動きベクトル残差を符号化し、その結果、現在のPUを復号化した後に、ビデオ・デコーダ30は、処理対象のPUの動きベクトル残差を取得し、処理対象のPUの動きベクトル残差と、処理対象のPUの初期の動きベクトルとに基づいて、処理対象のPUの最終的な動きベクトルを取得することができる。 In a related technique, when the video encoder 20 operates in merge mode, the contents of the reference picture storage 64 are empty or zero vector, i.e., the video encoder 20 is in merge mode. When operating, the target storage space is not used during encoding, and in the encoding process, the predicted motion vector of the other PUs obtained by the PU being processed is the updated final of the other PUs. Note that it is a motion vector. Therefore, the PU to be processed can obtain the predicted motion vector for the other PU only after the predicted motion vector of the other PU has been updated, and as a result, the coding during the coding. There is a delay in conversion. However, if the video encoder 20 operates in non-merge mode, the reference picture storage 64 may be used. For example, in AMVP mode, the target storage space is used to store the motion vector residuals, and the video encoder 20 encodes the motion vector residuals and, as a result, after decoding the current PU. The video decoder 30 acquires the motion vector residual of the PU to be processed, and is the final of the PU to be processed based on the motion vector residual of the PU to be processed and the initial motion vector of the PU to be processed. Motion vector can be obtained.

予測ユニット41は、動き推定ユニット42、動き補償ユニット44、イントラ予測ユニット46を含む。ビデオ・ブロック再構成のために、ビデオ・エンコーダ20は、逆量子化ユニット58、逆変換ユニット60、及び加算器62を更に含む。ビデオ・エンコーダ20は、ブロック境界上でフィルタリングを実行し、再構成されたビデオからブロッキング・アーチファクトを除去するために、デブロッキング・フィルタ(図2には示されていない)を更に含んでもよい。必要に応じて、デブロッキング・フィルタは、通常、加算器62の出力に対してフィルタリングを実行する。デブロッキング・フィルタに加えて、追加のループ・フィルタ(ループの中又は後)が使用されてもよい。 The prediction unit 41 includes a motion estimation unit 42, a motion compensation unit 44, and an intra prediction unit 46. For video block reconstruction, the video encoder 20 further includes an inverse quantization unit 58, an inverse transformation unit 60, and an adder 62. The video encoder 20 may further include a deblocking filter (not shown in FIG. 2) to perform filtering on the block boundaries and remove blocking artifacts from the reconstructed video. If necessary, the deblocking filter typically performs filtering on the output of adder 62. In addition to the deblocking filter, additional loop filters (inside or after the loop) may be used.

図2に示すように、ビデオ・エンコーダ20は、ビデオ・データを受信し、パーティショニング・ユニット35は、データをビデオ・ブロックに区分けする。このような区分けは、更に、スライス、ピクチャ・ブロック、又は他のより大きなユニットに区分けすることと、LCU及びCUの四分木構造に基づくビデオ・ブロック・パーティショニングとを含んでもよい。例えば、ビデオ・エンコーダ20は、符号化対象のビデオ・スライス内のビデオ・ブロックを符号化するための構成要素である。通常、1つのスライスは、複数のビデオ・ブロックに区分けされることが可能である(そして、ピクチャ・ブロックと呼ばれるビデオ・ブロックのセットに区分けされることが可能である)。 As shown in FIG. 2, the video encoder 20 receives the video data and the partitioning unit 35 divides the data into video blocks. Such partitioning may further include partitioning into slices, picture blocks, or other larger units and video block partitioning based on the LCU and CU quadtree structure. For example, the video encoder 20 is a component for encoding a video block in a video slice to be encoded. Usually, one slice can be divided into multiple video blocks (and can be divided into a set of video blocks called picture blocks).

予測ユニット41は、符号化品質及びコスト計算結果(例えば、レート歪コスト(rate distortion cost,RDcost)、これはレート歪コストとも呼ばれる)に基づいて、現在のビデオ・ブロックに対して、複数の可能な復号化モード、例えば複数のイントラ復号化モードのうちの1つ又は複数のインター復号化モードのうちの1つを選択することができる。予測ユニット41は、取得されたイントラ復号化ブロック又はインター復号化ブロックを加算器50に提供して残差ブロック・データを生成し、得られたイントラ復号化ブロック又はインター復号化ブロックを加算器62に提供して、符号化されたブロックを再構成し、再構成された符号化されたブロックを参照ピクチャとして使用することができる。 The prediction unit 41 may have a plurality of possibilities for the current video block based on the coding quality and the cost calculation result (eg, rate distortion cost, RDcost). Decoding mode, for example, one of a plurality of intra-decoding modes or one of a plurality of inter-decoding modes can be selected. The prediction unit 41 provides the acquired intra-decoding block or inter-decoding block to the adder 50 to generate residual block data, and the obtained intra-decoding block or inter-decoding block is added to the adder 62. The encoded block can be reconstructed and the reconstructed encoded block can be used as a reference picture.

予測ユニット41における動き推定ユニット42及び動き補償ユニット44は、1つ以上の参照ピクチャの1つ以上の予測ブロックに対する現在のビデオ・ブロックに関してインター予測復号化を実行して、時間的な圧縮を行う。動き推定ユニット42は、ビデオ・シーケンスのプリセット・モードに基づいて、ビデオ・スライスのインター予測モードを決定するように構成されてもよい。プリセット・モードでは、シーケンス内のビデオ・スライスは、Pスライス、Bスライス、GPBスライスとして指定されることが可能である。動き推定ユニット42及び動き補償ユニット44は、大いに統合されてもよいが、概念を説明するために別々に記述される。動き推定ユニット42によって実行される動き推定は、ビデオ・ブロックを推定するための動きベクトルを生成するプロセスである。例えば、動きベクトルは、参照ピクチャの予測ブロックに対する、現在のビデオ・フレーム又はピクチャのビデオ・ブロックのPUの変位を示すことができる。 The motion estimation unit 42 and motion compensation unit 44 in the prediction unit 41 perform interpredictive decoding for the current video block for one or more predictive blocks of one or more reference pictures to perform temporal compression. .. The motion estimation unit 42 may be configured to determine the inter-prediction mode of the video slice based on the preset mode of the video sequence. In preset mode, the video slices in the sequence can be designated as P slices, B slices, GPB slices. The motion estimation unit 42 and the motion compensation unit 44 may be highly integrated, but are described separately to illustrate the concept. The motion estimation performed by the motion estimation unit 42 is a process of generating a motion vector for estimating a video block. For example, the motion vector can indicate the displacement of the PU of the current video frame or video block of the picture with respect to the predicted block of the reference picture.

予測ブロックは、ピクセル差分に基づいて、復号化対象のビデオ・ブロックに近接して合致していることが見出されたPUのブロックであり、ピクセル差分は、絶対差分(sum of absolute difference,SAD)、二乗差分の合計(sum of squared difference, SSD)、又は他の差分メトリックを使用することにより決定されることが可能である。幾つかの実現可能な実装において、ビデオ・エンコーダ20は、参照ピクチャ・ストレージ64に記憶された参照ピクチャのサブ整数(sub−integer)ピクセル位置の値を計算することができる。例えば、ビデオ・エンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、又は別の分数ピクセル位置の値を補間することができる。従って、動き推定ユニット42は、全てのピクセル位置及び分数ピクセル位置に関する動き探索を実行し、分数ピクセル精度で動きベクトルを出力することができる。 A predictive block is a block of PUs that are found to be closely matched to the video block to be decoded based on the pixel difference, and the pixel difference is the sum of absolute difference (SAD). ), Sum of squared difference (SSD), or other difference metric can be used. In some feasible implementations, the video encoder 20 can calculate the value of the sub-integer pixel position of the reference picture stored in the reference picture storage 64. For example, the video encoder 20 can interpolate a value at a 1/4 pixel position, a 1/8 pixel position, or another fractional pixel position of a reference picture. Therefore, the motion estimation unit 42 can execute a motion search for all pixel positions and fractional pixel positions and output a motion vector with fractional pixel accuracy.

動き推定ユニット42は、PUの位置と参照ピクチャの予測ブロックの位置とを比較することにより、インター復号化されるスライス内のビデオ・ブロックのPUに対する動きベクトルを算出する。参照ピクチャは、第1参照ピクチャ・リスト(リスト0)又は第2参照ピクチャ・リスト(リスト1)から選択されることが可能である。各リストは、参照ピクチャ・ストレージ64に記憶された1つ以上の参照ピクチャを識別するために使用される。動き推定ユニット42は、計算された動きベクトルを、エントロピー符号化ユニット56及び動き補償ユニット44へ送る。 The motion estimation unit 42 calculates the motion vector for the PU of the video block in the interdecoded slice by comparing the position of the PU with the position of the predicted block of the reference picture. The reference picture can be selected from the first reference picture list (list 0) or the second reference picture list (list 1). Each list is used to identify one or more reference pictures stored in the reference picture storage 64. The motion estimation unit 42 sends the calculated motion vector to the entropy coding unit 56 and the motion compensation unit 44.

動き補償ユニット44によって実行される動き補償は、動き推定によって決定される動きベクトルに基づく予測ブロックの抽出又は生成を含むことが可能であり、サブ・ピクセル・レベルの精度で補間を実行することが可能である。現在のビデオ・ブロックのPUに対する動きベクトルを受信した後に、動き補償ユニット44は、動きベクトルが1つの参照ピクチャ・リスト内で指し示す予測ブロックを突き止めることができる。ビデオ・エンコーダ20は、復号化されている現在のビデオ・ブロックのピクセル値から、予測ブロックのピクセル値を減算して残差ビデオ・ブロックを取得し、ピクセル差分を取得する。ピクセル差分は、ブロックの残差データを構成し、ルマ差分成分とクロマ差分成分の両方を含む可能性がある。加算器50は、減算演算を実行する1つ以上の構成要素である。動き補償ユニット44は、ビデオ・ブロック及びビデオ・スライスに関連するシンタックス要素を更に生成することが可能であり、その結果、ビデオ・デコーダ30はビデオ・スライス内のビデオ・ブロックを復号化する。 Motion compensation performed by motion compensation unit 44 can include extraction or generation of predictive blocks based on motion vectors determined by motion estimation and can perform interpolation with sub-pixel level accuracy. It is possible. After receiving the motion vector for the PU of the current video block, the motion compensation unit 44 can locate the predictive block that the motion vector points to in one reference picture list. The video encoder 20 subtracts the pixel value of the predicted block from the pixel value of the current video block being decoded to obtain the residual video block and obtains the pixel difference. The pixel difference constitutes the residual data of the block and may contain both the Luma difference component and the Chroma difference component. The adder 50 is one or more components that perform a subtraction operation. The motion compensation unit 44 can further generate the video blocks and the syntax elements associated with the video slices, so that the video decoder 30 decodes the video blocks in the video slices.

PUがBスライスに位置する場合、PUを含むピクチャは、「list 0」及び「list 1」と言及される2つの参照ピクチャ・リストに関連付けられることが可能である。幾つかの実現可能な実装において、Bスライスを含むピクチャは、リスト0及びリスト1のリストの組み合わせに関連付けられてもよい。 When the PU is located in the B slice, the picture containing the PU can be associated with two reference picture lists referred to as "list 0" and "list 1". In some feasible implementations, a picture containing a B slice may be associated with a combination of lists in Listing 0 and Listing 1.

また、PUがBスライスに位置する場合、動き推定ユニット42は、PUに対して一方向予測又は双方向予測を実行することが可能である。幾つかの実現可能な実装において、双方向予測は、参照ピクチャ・リスト0及び参照ピクチャ・リスト1におけるピクチャに基づいて、別々に実行される予測である。幾つかの他の実現可能な実装において、双方向予測は、表示順序で現在のフレームについての再構成される将来のフレームと再構成される過去のフレームとに基づいて別々に実行される予測である。また、動き推定ユニット42が、PUに対して一方向予測を実行する場合には、動き推定ユニット42は、PUに対する参照ブロックを探すために、リスト0又はリスト1内の参照ピクチャを探索することができる。そして、動き推定ユニット42は、リスト0又はリスト1に参照ブロックを含む参照ピクチャを示す参照インデックスと、PU及び参照ブロックの間の空間的な変位を示す動きベクトルとを生成することができる。動き推定ユニット42は、PUの動き情報として、参照インデックス、予測方向識別子、及び動きベクトルを出力することができる。予測方向識別子は、参照インデックスがリスト0又はリスト1における参照ピクチャを示すことを示してもよい。動き補償ユニット44は、PUの動き情報により示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成することができる。 Further, when the PU is located in the B slice, the motion estimation unit 42 can execute one-way prediction or two-way prediction for the PU. In some feasible implementations, bidirectional prediction is a prediction performed separately based on the pictures in reference picture list 0 and reference picture list 1. In some other feasible implementation, bidirectional prediction is a prediction that is performed separately based on the reconstructed future frame and the reconstructed past frame for the current frame in display order. be. Further, when the motion estimation unit 42 executes one-way prediction for the PU, the motion estimation unit 42 searches the reference picture in the list 0 or the list 1 in order to search for the reference block for the PU. Can be done. Then, the motion estimation unit 42 can generate a reference index indicating a reference picture including a reference block in list 0 or list 1, and a motion vector indicating a spatial displacement between the PU and the reference block. The motion estimation unit 42 can output a reference index, a prediction direction identifier, and a motion vector as motion information of the PU. The predictive direction identifier may indicate that the reference index indicates a reference picture in Listing 0 or Listing 1. The motion compensation unit 44 can generate a predicted picture block of the PU based on the reference block indicated by the motion information of the PU.

動き推定ユニット42が、PUに対して双方向予測を行う場合、動き推定ユニット42は、PUに対する参照ブロックに対してリスト0内の参照ピクチャを探索し、更に、PUに対する他の参照ブロックに対してリスト1内の参照ピクチャを探索することができる。そして、動き推定ユニット42は、リスト0及びリスト1の参照ブロックを含む参照ピクチャを示す参照インデックスと、参照ブロック及びPUの間の空間的な変位を示す動きベクトルとを生成することができる。また、動き推定ユニット42は、PUの参照インデックス及び動きベクトルを、PUの動き情報として出力することができる。動き補償ユニット44は、PUの動き情報により示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成することができる。 When the motion estimation unit 42 makes bidirectional predictions for the PU, the motion estimation unit 42 searches for a reference picture in list 0 for a reference block for the PU, and further for another reference block for the PU. The reference picture in the list 1 can be searched. Then, the motion estimation unit 42 can generate a reference index indicating a reference picture including the reference blocks of List 0 and Listing 1, and a motion vector indicating a spatial displacement between the reference block and the PU. Further, the motion estimation unit 42 can output the reference index and the motion vector of the PU as the motion information of the PU. The motion compensation unit 44 can generate a predicted picture block of the PU based on the reference block indicated by the motion information of the PU.

幾つかの実現可能な実装において、動き推定ユニット42は、PUの動き情報の完全なセットを、エントロピー符号化モジュール56に対して出力しない。その代わりに、動き推定ユニット42は、別のPUの動き情報に関するPUの動き情報をシグナリングしてもよい。例えば、動き推定ユニット42は、PUの動き情報が、隣接するPUの動き情報と同様であることを決定することが可能である。この実装において、動き推定ユニット42は、PUに関連するシンタックス構造において、インジケータ値を示すことが可能であり、インジケータ値は、PUの動き情報が、隣接するPUの動き情報と同じであること、又は隣接するPUの動き情報から導出されてもよいことを、ビデオ・デコーダ30に示す。別の実装において、動き推定ユニット42は、PUに関連するシンタックス構造において、隣接するPUに関連する候補の予測された動きベクトルと動きベクトル差分(motion vector difference,MVD)とを識別することができる。MVDは、PUの動きベクトルと、隣接するPUに関連する指示された候補の予測された動きベクトルとの間の差分を示す。ビデオ・デコーダ30は、指示された候補の予測された動きベクトル及びMVDを使用することによって、PUの動きベクトルを決定することができる。 In some feasible implementations, the motion estimation unit 42 does not output a complete set of PU motion information to the entropy coding module 56. Instead, the motion estimation unit 42 may signal PU motion information regarding motion information of another PU. For example, the motion estimation unit 42 can determine that the motion information of the PU is similar to the motion information of the adjacent PU. In this implementation, the motion estimation unit 42 can indicate an indicator value in the syntax structure related to the PU, and the indicator value is that the motion information of the PU is the same as the motion information of the adjacent PU. , Or the video decoder 30 may be derived from motion information of adjacent PUs. In another implementation, the motion estimation unit 42 can discriminate between the predicted motion vector of a candidate associated with an adjacent PU and the motion vector difference (MVD) in the PU-related syntax structure. can. The MVD indicates the difference between the motion vector of the PU and the predicted motion vector of the indicated candidate associated with the adjacent PU. The video decoder 30 can determine the motion vector of the PU by using the predicted motion vector and MVD of the indicated candidate.

上述したように、予測モジュール41は、CUの各PUに対して候補の予測された動きベクトルのリストを生成することができる。1つ以上の候補の予測された動きベクトルのリストは、1つ以上のオリジナル候補の予測された動きベクトルと、1つ以上のオリジナル候補の予測された動きベクトルから導出された1つ以上の追加候補の予測された動きベクトルとを含むことができる。 As mentioned above, the prediction module 41 can generate a list of candidate predicted motion vectors for each PU of the CU. The list of predicted motion vectors for one or more candidates is one or more additions derived from the predicted motion vectors for one or more original candidates and the predicted motion vectors for one or more original candidates. Can include candidate predicted motion vectors.

本願のこの実施形態では、マージ・モードで候補の予測された動きベクトルのリストを設定する際に、予測モジュール41は、候補の予測された動きベクトルのリストに、処理対象のPUの参照PUの動きベクトルを記憶することができ、参照PUの動きベクトルは、参照PUの更新されていない初期の動きベクトルであってもよいし、又は参照PUの更新された最終的な動きベクトルであってもよいことに留意すべきである。参照PUのための更新された最終的な動きベクトルは、ターゲット・ストレージ空間に記憶された動きベクトルに基づいて取得されてもよい。ターゲット・ストレージ空間がMVDを記憶する場合、参照PUの最終的な動きベクトルは、参照PUの初期の動きベクトルと、ターゲット・ストレージ空間に記憶されたMVDとを加算することによって取得されることが可能である。ターゲット・ストレージ空間が、参照PUのための最終的な動きベクトルを記憶する場合、参照PUのための最終的な動きベクトルは、ターゲット・ストレージ空間から直接的に取得されることが可能である。参照PUの動きベクトルは、以下の方法で、候補の予測された動きベクトルのリストに記憶されることが可能である:参照PUと現在のPUが同一のCTB又はCTBの行レンジにある場合には、参照ユニットの更新されていない初期の動きベクトルが、候補の予測された動きベクトルのリストに記憶されるか、又は参照PUと現在のPUが同一のCTB又はCTBの行レンジにある場合には、参照ユニットの更新された最終的な動きベクトルが、候補の予測された動きベクトルのリストに記憶される。 In this embodiment of the present application, when setting a list of candidate predicted motion vectors in merge mode, the prediction module 41 adds the candidate predicted motion vector list to the reference PU of the PU to be processed. The motion vector can be stored and the motion vector of the reference PU may be the unupdated initial motion vector of the reference PU or the updated final motion vector of the reference PU. It should be noted that it is good. The updated final motion vector for the reference PU may be obtained based on the motion vector stored in the target storage space. If the target storage space stores the MVD, the final motion vector of the reference PU may be obtained by adding the initial motion vector of the reference PU to the MVD stored in the target storage space. It is possible. If the target storage space stores the final motion vector for the reference PU, the final motion vector for the reference PU can be obtained directly from the target storage space. The motion vector of the reference PU can be stored in the list of candidate predicted motion vectors in the following way: if the reference PU and the current PU are in the same CTB or CTB row range. Is stored in the list of candidate predicted motion vectors for the initial unupdated motion vector of the reference unit, or if the reference PU and the current PU are in the same CTB or CTB row range. Stores the updated final motion vector of the reference unit in the list of candidate predicted motion vectors.

予測ユニット41のイントラ予測ユニット46は、復号化対象の現在のブロックと同一のピクチャ又はスライス内にある1つ以上の隣接するブロックに対して、現在のビデオ・ブロックに対してイントラ予測復号化を実行し、空間圧縮を提供することができる。従って、動き推定ユニット42と動き補償ユニット44とによって実行される(上述したような)インター予測の代替案として、イントラ予測ユニット46は、現在のブロックに対してイントラ予測を実行することができる。具体的には、イントラ予測ユニット46は、現在のブロックを符号化するためのイントラ予測モードを決定することができる。幾つかの実現可能な実装において、イントラ予測ユニット46は、(例えば)様々なイントラ予測モードを使用して、別々の符号化トラバーサルの間に現在のブロックを符号化し、イントラ予測ユニット46(又は、幾つかの実現可能な実装におけるモード選択ユニット40)は、テスト・モードから適切なイントラ予測モードを選択することができる。 The intra prediction unit 46 of the prediction unit 41 performs intra prediction decoding for the current video block for one or more adjacent blocks in the same picture or slice as the current block to be decoded. Can be performed and provide spatial compression. Therefore, as an alternative to the inter-prediction performed by the motion estimation unit 42 and the motion compensation unit 44 (as described above), the intra-prediction unit 46 can perform the intra-prediction on the current block. Specifically, the intra prediction unit 46 can determine the intra prediction mode for encoding the current block. In some feasible implementations, the intra-prediction unit 46 (eg) uses various intra-prediction modes to encode the current block during separate coding traversals, and the intra-prediction unit 46 (or). The mode selection unit 40) in some feasible implementations can select the appropriate intra-prediction mode from the test mode.

予測ユニット41は、現在のビデオ・ブロックの予測ブロックを、インター予測又はイントラ予測により生成した後に、ビデオ・エンコーダ20は、予測ブロックを現在のビデオ・ブロックから減算し、残差ビデオ・ブロックを取得する。残差ブロック内の残差ビデオ・データは、1つ以上のTUに含まれ、変換ユニット52に印加されることが可能である。変換ユニット52は、離散コサイン変換(discrete cosine transform, DCT)又は概念的に類似した変換(例えば、離散正弦変換(discrete sine transform, DST))のような変換を実行することによって、残差ビデオ・データを、残差変換係数に変換する。変換ユニット52は、残差ビデオ・データを、ピクセル・ドメインから変換ドメイン(例えば、周波数ドメイン)へ変換することができる。 After the prediction unit 41 generates a prediction block of the current video block by inter-prediction or intra-prediction, the video encoder 20 subtracts the prediction block from the current video block to obtain the residual video block. do. The residual video data in the residual block is contained in one or more TUs and can be applied to the conversion unit 52. The transform unit 52 performs a transform such as a discrete cosine transform (DCT) or a conceptually similar transform (eg, a discrete sine transform (DST)) to perform a residual video. Convert the data to the residual transform coefficient. The conversion unit 52 can convert the residual video data from the pixel domain to the conversion domain (eg, the frequency domain).

変換ユニット52は、取得された変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化して、ビット・レートを更に低下させる。量子化プロセスは、係数の幾つか又は全てに関連するビット深度を低減することができる。量子化度は、量子化パラメータを調整することによって修正されることが可能である。幾つかの実現可能な実装において、量子化ユニット54は、次いで、量子化された変換係数を含む行列をスキャンすることができる。あるいは、エントロピー符号化ユニット56がスキャンを実行してもよい。 The conversion unit 52 can send the acquired conversion coefficient to the quantization unit 54. The quantization unit 54 quantizes the conversion factor to further reduce the bit rate. The quantization process can reduce the bit depth associated with some or all of the coefficients. The degree of quantization can be modified by adjusting the quantization parameters. In some feasible implementations, the quantized unit 54 can then scan the matrix containing the quantized transformation factors. Alternatively, the entropy coding unit 56 may perform the scan.

量子化の後に、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化することができる。例えば、エントロピー符号化ユニット56は、文脈適応型可変長コーディング(CAVLC)、文脈適応型二進算術コーディング(CABAC)、確率間隔パーティショニング・エントロピー(PIPE)コーディング、又は他のエントロピー・コーディング方法又は技術を実行することができる。エントロピー符号化ユニット56は、復号化されている現在のビデオ・スライスの動きベクトル及び別のシンタックス要素を更にエントロピー符号化することができる。エントロピー符号化ユニット56によってエントロピー符号化された後に、符号化されたビットストリームは、ビデオ・デコーダ30に送信されてもよいし、又はビデオ・デコーダ30によるその後の送信又は検索のために記録されてもよい。 After quantization, the entropy coding unit 56 can entropy code the quantized conversion factors. For example, the entropy coding unit 56 may include context-adaptive variable-length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), probability interval partitioning entropy (PIPE) coding, or other entropy coding methods or techniques. Can be executed. The entropy coding unit 56 can further entropy code the motion vector of the current video slice being decoded and another syntax element. After being entropy-coded by the entropy coding unit 56, the encoded bitstream may be transmitted to the video decoder 30 or recorded for subsequent transmission or retrieval by the video decoder 30. May be good.

エントロピー符号化ユニット56は、本願の技術によれば、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオ・エンコーダ20は、コンテキストの各々に対して使用される、複数のイントラ予測モード・インデックス・テーブル、及び複数の修正されたイントラ予測モード・インデックス・テーブル(コードワード・マッピング・テーブルとも言及される)を含むことが可能な送信されたビットストリーム構成データの中に、様々なブロックの符号化コンテキストの定義、最確モード(most probable mode,MPM)の指示、イントラ予測モード・インデックス・テーブル、及び修正されたイントラ予測モード・インデックス・テーブルを含むことができる。 The entropy coding unit 56 can encode information indicating the selected intra prediction mode according to the technique of the present application. The video encoder 20 is also referred to as a plurality of intra-prediction mode index tables and a plurality of modified intra-prediction mode index tables (also referred to as codeword mapping tables) used for each of the contexts. ) Can be included in the transmitted bitstream configuration data, such as definitions of coding contexts for various blocks, indications for most probable mode (MPM), intra-predictive mode index tables, and It can contain a modified intra-prediction mode index table.

逆量子化ユニット58及び逆変換ユニット60はそれぞれ逆量子化及び逆変換を実行し、ピクセル・ドメイン内の残差ブロックを再構成し、これは、以後、参照ピクチャの参照ブロックとして使用される。動き補償ユニット44は、1つの参照ピクチャ・リスト内の1つの参照ピクチャの残差ブロックと予測ブロックとを加算することによって、参照ブロックを計算することができる。また、動き補償ユニット44は、再構成された残差ブロックに、1つ以上の補間フィルタを適用して、動き推定のためのサブ整数ピクセル値を計算してもよい。加算器62は、再構成された残差ブロックと、動き補償ユニット44によって生成された動き補償された予測ブロックとを加算して、参照ピクチャ・ストレージ64に記憶される参照ブロックを生成する。参照ブロックは、後続のビデオ・フレーム又はピクチャにおけるブロックに関してインター予測を実行するための参照ブロックとして、動き推定ユニット42及び動き補償ユニット44によって使用されてもよい。 The inverse quantization unit 58 and the inverse transformation unit 60 perform inverse quantization and inverse transformation, respectively, to reconstruct the residual block in the pixel domain, which is subsequently used as the reference block of the reference picture. The motion compensation unit 44 can calculate the reference block by adding the residual block and the prediction block of one reference picture in one reference picture list. Further, the motion compensation unit 44 may apply one or more interpolation filters to the reconstructed residual block to calculate a sub-integer pixel value for motion estimation. The adder 62 adds the reconstructed residual block and the motion compensated prediction block generated by the motion compensation unit 44 to generate a reference block stored in the reference picture storage 64. The reference block may be used by the motion estimation unit 42 and the motion compensation unit 44 as a reference block for performing interprediction with respect to a block in a subsequent video frame or picture.

図3は、本願の実施形態によるビデオ・デコーダ30の概略ブロック図である。図3の実現可能な実装において、ビデオ・デコーダ30は、エントロピー復号化ユニット80、予測ユニット81、逆量子化ユニット86、逆変換ユニット88、加算器90、及び参照ピクチャ・ストレージ92を含む。 FIG. 3 is a schematic block diagram of the video decoder 30 according to the embodiment of the present application. In a feasible implementation of FIG. 3, the video decoder 30 includes an entropy decoding unit 80, a prediction unit 81, an inverse quantization unit 86, an inverse conversion unit 88, an adder 90, and a reference picture storage 92.

参照ピクチャ・ストレージ92は、ターゲット・ストレージ空間を提供するように構成されることが可能である。ターゲット・ストレージ空間は、MVDを記憶するために使用され、即ち、最終的な動きベクトルと初期の動きベクトルとの間の差分を記憶するために使用される。幾つかの実施形態では、ターゲット・ストレージ空間は、最終的な動きベクトルを記憶するために使用される。本願のこの実施形態では、更新された最終的な動きベクトル、又はターゲット・ストレージ空間に記憶されたMVDは、別のPUの符号化プロセスで使用されることが可能である。例えば、マージ・モードにおける復号化プロセスでは、更新されていない初期の動きベクトルと更新された最終的な動きベクトルとが、異なる時間に別々に記憶される。従って、処理対象のPUが、別のPUについて予測された動きベクトルを取得する必要がある場合、特定の条件下で、処理対象のPUは、別のPUの更新されていない初期の動きベクトルを、別のPUの動きベクトルとして、直接的に使用することが可能であり、別のPUの動きベクトルが更新された後に、別のブロックの動きベクトルを得る必要はない。 The reference picture storage 92 can be configured to provide a target storage space. The target storage space is used to store the MVD, i.e., to store the difference between the final motion vector and the initial motion vector. In some embodiments, the target storage space is used to store the final motion vector. In this embodiment of the present application, the updated final motion vector, or MVD stored in the target storage space, can be used in another PU coding process. For example, in the decryption process in merge mode, the unupdated initial motion vector and the updated final motion vector are stored separately at different times. Therefore, if the PU to be processed needs to obtain the predicted motion vector for another PU, under certain conditions, the PU to be processed will get the unupdated initial motion vector of the other PU. , It can be used directly as a motion vector of another PU, and it is not necessary to obtain the motion vector of another block after the motion vector of another PU is updated.

ターゲット・ストレージ空間は、参照ピクチャ・ストレージ92以外のメモリ、例えば、新しく追加されたメモリによって提供されてもよいことに留意すべきである。これは本願の実施形態で具体的には限定されない。 It should be noted that the target storage space may be provided by memory other than the reference picture storage 92, eg, newly added memory. This is not specifically limited to the embodiments of the present application.

関連技術において、ビデオ・デコーダ30がマージ・モードで動作する場合に、ターゲット・ストレージ空間の中身が空であるか、又はゼロ・ベクトルであること、即ち、ビデオ・エンコーダ20がマージ・モードで動作する場合に、ターゲット・ストレージ空間は、復号化の間に使用されず、復号化の間に、処理対象のPUによって得られる他のPUの予測された動きベクトルは、他のPUの更新された最終的な動きベクトルであることに留意すべきである。従って、処理対象のPUは、他のPUに対する予測された動きベクトルが更新された後に限り、他のPUに対する予測された動きベクトルを得ることが可能であり、その結果、復号化の間に復号化遅延が生じる。しかしながら、ビデオ・デコーダ30が非マージ・モードで動作する場合、ターゲット・ストレージ空間が使用されてもよい。例えば、AMVPモードでは、ビデオ・デコーダ30は、復号化により、処理対象のPUのためのMVDを取得することができ、その結果、ビデオ・デコーダ30は、最終動きベクトルと処理対象のPUに対するMVDとに基づいて、処理対象のPUに対する最終的な動きベクトルを取得することができる。 In a related technique, when the video decoder 30 operates in merge mode, the contents of the target storage space are empty or zero vector, that is, the video encoder 20 operates in merge mode. If so, the target storage space is not used during decoding, and during decoding, the predicted motion vectors of the other PUs obtained by the PU being processed are updated by the other PUs. It should be noted that it is the final motion vector. Therefore, the PU to be processed can obtain the predicted motion vector for the other PU only after the predicted motion vector for the other PU has been updated, and as a result, decode during decoding. There will be a delay in conversion. However, if the video decoder 30 operates in non-merge mode, the target storage space may be used. For example, in AMVP mode, the video decoder 30 can obtain the MVD for the PU to be processed by decoding, so that the video decoder 30 can obtain the final motion vector and the MVD for the PU to be processed. Based on, the final motion vector for the PU to be processed can be obtained.

予測ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。幾つかの実現可能な実装において、ビデオ・デコーダ30は、図4のビデオ・エンコーダ20に関して説明した符号化プロセスと逆の例示的な復号化プロセスを実行することができる。 The prediction unit 81 includes a motion compensation unit 82 and an intra prediction unit 84. In some feasible implementations, the video decoder 30 can perform an exemplary decoding process that is the reverse of the coding process described for the video encoder 20 of FIG.

復号化の間に、ビデオ・デコーダ30は、ビデオ・エンコーダ20から、符号化されたビデオ・スライス及び関連するシンタックス要素のビデオ・ブロックを表すエンコードされたビデオ・ビットストリームを受信する。ビデオ・デコーダ30のエントロピー復号化ユニット80は、ビットストリームを復号化し、量子化された係数、動きベクトル、及び他のシンタックス要素を生成する。エントロピー復号化ユニット80は、動きベクトル及び他のシンタックス要素を予測ユニット81に転送する。ビデオ・デコーダ30は、ビデオ・スライス・レベル及び/又はビデオ・ブロック・レベルでシンタックス要素を受信することができる。 During decoding, the video decoder 30 receives from the video encoder 20 an encoded video bitstream representing a video block of encoded video slices and associated syntax elements. The entropy decoding unit 80 of the video decoder 30 decodes the bitstream to generate quantized coefficients, motion vectors, and other syntax elements. The entropy decoding unit 80 transfers the motion vector and other syntax elements to the prediction unit 81. The video decoder 30 can receive syntax elements at the video slice level and / or the video block level.

ビデオ・スライスが、イントラ復号化された(I)スライスに復号化された場合、予測ユニット81のイントラ予測ユニット84は、シグナリングされたイントラ予測モードと、現在のフレーム又はピクチャの以前に復号化されたブロックのデータとに基づいて、現在のビデオ・スライスのビデオ・ブロックの予測データを生成することができる。 If the video slice is decoded into an intra-decrypted (I) slice, the intra-prediction unit 84 of the prediction unit 81 is decoded prior to the signaled intra-prediction mode and the current frame or picture. Predictive data for the video block of the current video slice can be generated based on the data of the block.

ビデオ・ピクチャが、インター復号化されたスライス(例えば、Bスライス、Pスライス、又はGPBスライス)に復号化された場合、予測ユニット81の動き補償ユニット82は、エントロピー復号化ユニット80から受信した動きベクトル及び他のシンタックス要素に基づいて、現在のビデオ・ピクチャのビデオ・ブロックの予測ブロックを生成する。予測ブロックは、1つの参照ピクチャ・リスト内の1つの参照ピクチャから生成されてもよい。ビデオ・デコーダ30は、参照ピクチャ・ストレージ92に記憶された参照ピクチャに基づいて、参照ピクチャ・リスト(リスト0及びリスト1)を構成するためにデフォルトの構成技術を使用することができる。 When the video picture is decoded into an inter-decoded slice (eg, a B-slice, a P-slice, or a GPB slice), the motion compensation unit 82 of the prediction unit 81 receives the motion received from the entropy-decoding unit 80. Generates a predictive block of the video block of the current video picture based on vectors and other syntax elements. The prediction block may be generated from one reference picture in one reference picture list. The video decoder 30 can use the default configuration technique to construct the reference picture list (List 0 and List 1) based on the reference picture stored in the reference picture storage 92.

動き補償ユニット82は、動きベクトル及び他のシンタックス要素を解析することによって、現在のビデオ・スライスのビデオ・ブロックの予測情報を決定し、予測情報を用いて、復号化されているビデオ・ブロックの予測ブロックを生成する。例えば、動き補償ユニット82は、受信したシンタックス要素の幾つかを用いて、ビデオ・スライスのビデオ・ブロックを復号化するための予測(例えば、イントラ予測又はインター予測)モード、インター予測スライス・タイプ(例えば、Bスライス、Pスライス、又はGPBスライス)スライスの1つ以上の参照ピクチャ・リストの構成情報、スライスの各々のインター符号化されたビデオ・ブロックの動きベクトル、スライスの各々のインター復号化されたビデオ・ブロックのインター予測ステータス、及び現在のビデオ・スライスにおけるビデオ・ブロックを復号化するための他の情報を決定する。 The motion compensation unit 82 determines the prediction information of the video block of the current video slice by analyzing the motion vector and other syntax elements, and uses the prediction information to decode the video block. Generate a prediction block for. For example, motion compensation unit 82 uses some of the received syntax elements to decode a video block of a video slice in a predictive (eg, intra-predictive or inter-predictive) mode, inter-predictive slice type. (For example, B slice, P slice, or GPB slice) Configuration information of one or more reference picture lists of the slice, motion vector of each inter-encoded video block of the slice, inter-decoding of each of the slices. Determines the interpredicted status of the video block that has been made, as well as other information for decoding the video block in the current video slice.

動き補償ユニット82は、更に、補間フィルタを用いて補間を実行してもよい。動き補償ユニット82は、例えば、ビデオ・ブロックの符号化の間に、ビデオ・エンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算することができる。本願では、動き補償ユニット82は、受信したシンタックス要素に基づいて、ビデオ・エンコーダ20によって使用される補間フィルタを決定し、補間フィルタを用いて予測ブロックを生成することができる。 The motion compensation unit 82 may further perform interpolation using an interpolation filter. The motion compensation unit 82 can calculate the interpolated value of the sub-integer pixels of the reference block, for example, using the interpolation filter used by the video encoder 20 during the coding of the video block. In the present application, the motion compensation unit 82 can determine the interpolation filter used by the video encoder 20 based on the received syntax element, and use the interpolation filter to generate a prediction block.

PUがインター予測によって符号化される場合、動き補償ユニット82は、PUに対する候補の予測された動きベクトルのリストを生成することができる。ビットストリームは、PUのための候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を識別するためのデータを含んでもよい。PUに対する候補の予測された動きベクトルを生成した後に、動き補償ユニット82は、PUに対する動き情報によって示される1つ以上の参照ブロックに基づいて、PUに対する予測ピクチャ・ブロックを生成することができる。PUの参照ブロックは、PUの時間的なピクチャとは異なる時間的なピクチャの中に位置していてもよい。動き補償ユニット82は、PUに対する候補の予測された動きベクトルのリストにおいて選択された動き情報に基づいて、PUの動き情報を決定することができる。 If the PU is encoded by inter-prediction, the motion compensation unit 82 can generate a list of candidate predicted motion vectors for the PU. The bitstream may contain data for identifying the position of the predicted motion vector of the selected candidate in the list of predicted motion vectors of the candidate for the PU. After generating the predicted motion vector of the candidate for the PU, the motion compensation unit 82 can generate the predicted picture block for the PU based on one or more reference blocks indicated by the motion information for the PU. The reference block of the PU may be located in a temporal picture different from the temporal picture of the PU. The motion compensation unit 82 can determine the motion information of the PU based on the motion information selected in the list of predicted motion vectors of the candidates for the PU.

本願の実施形態では、動き補償ユニット82は、マージ・モードにおける候補の予測された動きベクトルのリストを設定する際に、処理対象のPUの参照PUに対する予測された動きベクトルを、候補の予測された動きベクトルのリストに記憶してもよく、参照PUの予測された動きベクトルは、参照PUの更新されていない初期の動きベクトルであってもよく、或いは参照PUの更新された予測された動きベクトルであってもよいことに留意すべきである。参照PUの更新された最終的な動きベクトルは、ターゲット・ストレージ空間に記憶される参照PUのための動きベクトルに基づいて取得されてもよい。例えば、ターゲット・ストレージ空間がMVDを記憶する場合、参照PUのための最終的な動きベクトルは、参照PUのための初期の動きベクトルとターゲット・ストレージ空間に記憶されたMVDとを加算することによって、取得されることが可能である。ターゲット・ストレージ空間が、参照PUのための最終的な動きベクトルを記憶する場合に、参照PUのための最終的な動きベクトルは、ターゲット・ストレージ空間から直接的に取得されることが可能である。参照PUに対する予測された動きベクトルは、次のような方法で、候補の予測された動きベクトルのリストに記憶されてもよい:参照PUと現在のPUとが同じCTB又はCTBの行レンジにある場合に、参照ユニットに対する更新されていない初期の動きベクトルが、候補の予測された動きベクトルのリストに記憶される;又は参照PUと現在のPUとが同じCTB又はCTBの行レンジにある場合に、参照ユニットに対する更新された最終的な動きベクトルが、候補の予測された動きベクトルのリストに記憶される。 In an embodiment of the present application, the motion compensation unit 82 predicts a candidate motion vector with respect to a reference PU of the PU to be processed when setting a list of candidate predicted motion vectors in merge mode. The motion vector may be stored in the list of motion vectors, and the predicted motion vector of the reference PU may be the initial motion vector of the reference PU that has not been updated, or the predicted motion of the reference PU may be updated. It should be noted that it may be a vector. The updated final motion vector of the reference PU may be obtained based on the motion vector for the reference PU stored in the target storage space. For example, if the target storage space stores the MVD, the final motion vector for the reference PU is by adding the initial motion vector for the reference PU and the MVD stored in the target storage space. , Can be obtained. If the target storage space stores the final motion vector for the reference PU, the final motion vector for the reference PU can be obtained directly from the target storage space. .. The predicted motion vector for the reference PU may be stored in the list of candidate predicted motion vectors in the following way: the reference PU and the current PU are in the same CTB or CTB row range. In some cases, the unupdated initial motion vector for the reference unit is stored in the list of candidate predicted motion vectors; or if the reference PU and the current PU are in the same CTB or CTB row range. , The updated final motion vector for the reference unit is stored in the list of candidate predicted motion vectors.

逆量子化ユニット86は、ビットストリームで提供され且つエントロピー復号化ユニット80によって復号化される量子化変換係数に対して逆量子化(例えば、量子化解除)を実行する。逆量子化プロセスは、ビデオ・スライス内の各ビデオ・ブロックについてビデオ・エンコーダ20によって計算された量子化パラメータに基づいて量子化度を決定し、適用されるべき逆量子化度を同様に決定することを含むことが可能である。逆変換ユニット88は、変換係数に対して逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換プロセス)を実行し、ピクセル・ドメインにおいて残差ブロックを生成する。 The dequantization unit 86 performs dequantization (eg, dequantization) on the quantization conversion coefficients provided in the bitstream and decoded by the entropy decoding unit 80. The dequantization process determines the degree of quantization based on the quantization parameters calculated by the video encoder 20 for each video block in the video slice, as well as the degree of dequantization to be applied. It is possible to include that. The inverse transformation unit 88 performs an inverse transformation on the transformation coefficients (eg, an inverse DCT, an inverse integer transformation, or a geometrically similar inverse transformation process) to generate a residual block in the pixel domain.

動き補償ユニット82が、動きベクトル及び他のシンタックス要素に基づいて、現在のビデオ・ブロックの予測ブロックを生成した後に、ビデオ・デコーダ30は、逆変換ユニット88からの残差ブロックと、動き補償ユニット82によって生成された対応する予測ブロックとの加算演算を実行して、復号化されたビデオ・ブロックを形成する。加算器90は、加算演算を実行する1つ以上の構成要素である。必要な場合には、ブロッキング・アーチファクトを除去するために、復号化されたブロックに関してフィルタリングを実行するために、デブロッキング・フィルタが使用されてもよい。別のループ・フィルタ(復号化ループの中又は後)が、ピクセルを平滑化するために使用されてもよいし、又は別の方法でビデオ品質が改善されてもよい。次いで、所与のフレーム又はピクチャ内の復号化されたビデオ・ブロックは、参照ピクチャ・ストレージ92に記憶される。参照ピクチャ・ストレージ92は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャ・ストレージ92はまた、図1のディスプレイ装置32のようなディスプレイ装置で以後に提示される復号化されたビデオを記憶する。 After the motion compensation unit 82 has generated a predictive block of the current video block based on the motion vector and other syntax elements, the video decoder 30 has a residual block from the inverse conversion unit 88 and motion compensation. Performs an addition operation with the corresponding predictive block generated by the unit 82 to form the decoded video block. The adder 90 is one or more components that perform an addition operation. If desired, a deblocking filter may be used to perform filtering on the decoded blocks to remove blocking artifacts. Another loop filter (inside or after the decoding loop) may be used to smooth the pixels, or the video quality may be improved in another way. The decoded video block within a given frame or picture is then stored in reference picture storage 92. The reference picture storage 92 stores a reference picture used for subsequent motion compensation. The reference picture storage 92 also stores the decoded video that is subsequently presented in a display device such as the display device 32 of FIG.

上述したように、本願の技術は、例えばインター復号化に関連する。本願の技術は、本願で説明される任意のビデオ・デコーダによって実行されてもよく、ビデオ・デコーダは、図1ないし図3に示され説明される(例えば)ビデオ・エンコーダ20及びビデオ・デコーダ30を含むことは理解されるべきである。具体的には、実現可能な実装において、図2で説明された予測ユニット41は、ビデオ・データのブロックの符号化中にインター予測が実行される場合に、以下で説明される特定の技術を実行することができる。別の実現可能な実装において、図3で説明された予測ユニット81は、ビデオ・データのブロックの復号化中にインター予測が実行される場合に、以下で説明される特定の技術を実行することができる。従って、一般的な「ビデオ・エンコーダ」又は「ビデオ・デコーダ」に対する参照は、ビデオ・エンコーダ20、ビデオ・デコーダ30、又は別のビデオ符号化若しくは符号化ユニットを含んでもよい。 As mentioned above, the techniques of the present application relate, for example, to inter-decoding. The techniques of the present application may be performed by any video decoder described herein, the video decoders being (eg) the video encoder 20 and the video decoder 30 shown and described in FIGS. 1 to 3. It should be understood to include. Specifically, in a feasible implementation, the prediction unit 41 described in FIG. 2 implements the specific techniques described below when inter-prediction is performed while encoding a block of video data. Can be executed. In another feasible implementation, the prediction unit 81 described in FIG. 3 performs the specific technique described below when inter-prediction is performed during decoding of a block of video data. Can be done. Thus, a reference to a general "video encoder" or "video decoder" may include a video encoder 20, a video decoder 30, or another video coding or coding unit.

図4は、本願の実施形態によるインター予測モジュールの概略ブロック図である。インター予測モジュール121は、例えば、動き推定ユニット42及び動き補償ユニット44を含むことができる。PUとCUの間の関係は、ビデオ圧縮コーディング規格によって異なる。インター予測モジュール121は、複数のパーティショニング・パターンに従って、現在のCUをPUに区分けすることができる。例えば、インター予測モジュール121は、2N×2N、2N×N、N×2N、N×Nのパーティショニング・パターンに従って、現在のCUをPUに区分けすることができる。別の実施形態では、現在のCUは現在のPUである。これに限定されない。 FIG. 4 is a schematic block diagram of an inter-prediction module according to an embodiment of the present application. The inter-prediction module 121 can include, for example, a motion estimation unit 42 and a motion compensation unit 44. The relationship between PU and CU depends on the video compression coding standard. The inter-prediction module 121 can divide the current CU into PUs according to a plurality of partitioning patterns. For example, the inter-prediction module 121 can classify the current CU into PUs according to a 2Nx2N, 2NxN, Nx2N, NxN partitioning pattern. In another embodiment, the current CU is the current PU. Not limited to this.

インター予測モジュール121は、各PUに関して整数動き推定(integer motion estimation,IME)、次いで分数動き推定(fraction motion estimation,FME)を行うことができる。インター予測モジュール121がPUに対してIMEを実行する場合、インター予測モジュール121は、PUに対する参照ブロックについて1つ以上の参照ピクチャを探索することができる。PUに対する参照ブロックを発見した後に、インター予測モジュール121は、PUとPUに対する参照ブロックとの間の空間的変位を示す動きベクトルを、整数の精度で生成することができる。インター予測モジュール121がPUに対してFMEを実行する場合、インター予測モジュール121は、PUに対してIMEを実行することによって生成される動きベクトルを改善することができる。PUに関してFMEを実行することによって生成される動きベクトルは、サブ整数精度(例えば、1/2ピクセル精度又は1/4ピクセル精度)を有する可能性がある。PUの動きベクトルを生成した後に、インター予測モジュール121は、PUの動きベクトルを使用することによって、PUの予測ピクチャ・ブロックを生成することができる。 The inter-prediction module 121 can perform integer motion estimation (IME) and then fractional motion estimation (FME) for each PU. When the inter-prediction module 121 performs an IME on the PU, the inter-prediction module 121 can search for one or more reference pictures for the reference block for the PU. After discovering the reference block for the PU, the inter-prediction module 121 can generate a motion vector indicating the spatial displacement between the PU and the reference block for the PU with integer accuracy. When the inter-prediction module 121 executes the FME on the PU, the inter-prediction module 121 can improve the motion vector generated by executing the IME on the PU. The motion vector generated by running FME on the PU may have sub-integer accuracy (eg, 1/2 pixel accuracy or 1/4 pixel accuracy). After generating the motion vector of the PU, the inter-prediction module 121 can generate the predicted picture block of the PU by using the motion vector of the PU.

インター予測モジュール121がPUの動き情報をAMVPモードにおいてデコーダにシグナリングする幾つかの実現可能な実装において、インター予測モジュール121は、PUのための候補の予測された動きベクトルのリストを生成することができる。候補の予測された動きベクトルのリストは、1つ以上のオリジナル候補の予測された動きベクトルと、1つ以上のオリジナル候補の予測された動きベクトルから導出された1つ以上の追加候補の予測された動きベクトルとを含んでもよい。PUのための候補の予測された動きベクトルのリストを生成した後に、インター予測モジュール121は、候補の予測された動きベクトルのリストから、候補の予測された動きベクトルを選択し、PUのための動きベクトル差分(MVD)を生成することができる。PUに対するMVDは、選択された候補の予測された動きベクトルによって示される動きベクトルと、IME及びFMEによりPUに対して生成された動きベクトルとの間の差分を示すことができる。これらの実現可能な実装において、インター予測モジュール121は、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を識別する、候補の予測された動きベクトルのインデックスを出力することができる。インター予測モジュール121は、PUのMVDを更に出力することができる。以下、本願の実施形態における図11においてアドバンスト動きベクトル予測(AMVP)モードの実現可能な実装を詳細に説明する。 In some feasible implementations in which the inter-prediction module 121 signals the PU motion information to the decoder in AMVP mode, the inter-prediction module 121 may generate a list of candidate predicted motion vectors for the PU. can. The list of predicted motion vectors of candidates is the predicted motion vector of one or more original candidates and the predicted motion vector of one or more additional candidates derived from the predicted motion vector of one or more original candidates. It may also include a motion vector. After generating a list of candidate predicted motion vectors for the PU, the inter-prediction module 121 selects the candidate predicted motion vectors from the list of candidate predicted motion vectors and for the PU. Motion vector differences (MVDs) can be generated. The MVD for the PU can indicate the difference between the motion vector represented by the predicted motion vector of the selected candidate and the motion vector generated for the PU by the IME and FME. In these feasible implementations, the inter-prediction module 121 indexes the candidate's predicted motion vectors to identify the position of the selected candidate's predicted motion vector in the list of candidate's predicted motion vectors. Can be output. The inter-prediction module 121 can further output the MVD of the PU. Hereinafter, a feasible implementation of the advanced motion vector prediction (AMVP) mode will be described in detail in FIG. 11 in the embodiment of the present application.

PUの動き情報を生成するために、PUに対してIME及びFMEを実行することに加えて、インター予測モジュール121は、更に、PUに対してマージ演算を実行してもよい。インター予測モジュール121がPUに対してマージ演算を実行する場合に、インター予測モジュール121は、PUのための候補の予測された動きベクトルのリストを生成することができる。PUのための候補の予測された動きベクトルのリストは、1つ以上のオリジナル候補の予測された動きベクトルと、1つ以上のオリジナル候補の予測された動きベクトルから導出された1つ以上の追加候補の予測された動きベクトルとを含んでもよい。候補の予測された動きベクトルのリスト内の1つ以上のオリジナル候補の予測された動きベクトルは、1つ以上の空間候補の予測された動きベクトルと時間候補の予測された動きベクトルとを含むことができる。空間候補の予測された動きベクトルは、現在のピクチャ内の別のPUに対する動き情報を示すことができる。時間候補の予測された動きベクトルは、現在のピクチャとは異なるピクチャ内の対応するPUの動き情報に基づいてもよい。時間候補の予測された動きベクトルは、時間的動きベクトル予測子(time motion vector prediction,TMVP)と言及される場合もある。 In addition to executing IME and FME on the PU to generate motion information on the PU, the inter-prediction module 121 may further perform a merge operation on the PU. When the inter-prediction module 121 performs a merge operation on the PU, the inter-prediction module 121 can generate a list of candidate predicted motion vectors for the PU. The list of candidate predicted motion vectors for PU is one or more original candidate predicted motion vectors and one or more additions derived from one or more original candidate predicted motion vectors. It may include a candidate's predicted motion vector. The predicted motion vector of one or more original candidates in the list of predicted motion vectors of the candidate includes the predicted motion vector of one or more spatial candidates and the predicted motion vector of the time candidate. Can be done. The predicted motion vector of the spatial candidate can indicate motion information for another PU in the current picture. The predicted motion vector of the time candidate may be based on the motion information of the corresponding PU in a picture different from the current picture. The predicted motion vector of a time candidate is sometimes referred to as a time motion vector prediction (TMVP).

候補の予測された動きベクトルのリストを生成した後に、インター予測モジュール121は、候補の予測された動きベクトルのリストから、1つの候補の予測された動きベクトルを選択することができる。次に、インター予測モジュール121は、PUの動き情報によって示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成することができる。マージ・モードでは、PUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。図10は、マージ・モードの例のフローチャートである。 After generating the list of candidate predicted motion vectors, the inter-prediction module 121 can select one candidate predicted motion vector from the list of candidate predicted motion vectors. Next, the inter-prediction module 121 can generate a predictive picture block of the PU based on the reference block indicated by the motion information of the PU. In merge mode, the motion information of the PU may be the same as the motion information indicated by the predicted motion vector of the selected candidate. FIG. 10 is a flowchart of an example of the merge mode.

IME及びFMEによりPUの予測ピクチャ・ブロックを生成し、マージ演算によりPUの予測ピクチャ・ブロックを生成した後に、インター予測モジュール121は、FME演算を実行することによって生成された予測ピクチャ・ブロック、又はマージ演算を実行することによって生成された予測ピクチャ・ブロックを選択することができる。幾つかの実現可能な実装において、インター予測モジュール121は、FME演算を実行することによって生成された予測ピクチャ・ブロックと、マージ演算を実行することによって生成された予測ピクチャ・ブロックとのレート歪コストを分析することによって、PUの予測ピクチャ・ブロックを選択することができる。 After the IME and FME generate the predicted picture block of the PU and the merge operation to generate the predicted picture block of the PU, the inter-prediction module 121 may generate the predicted picture block or the predicted picture block generated by performing the FME operation. You can select the predicted picture blocks generated by performing the merge operation. In some feasible implementations, the inter-prediction module 121 has a rate distortion cost between the predicted picture block generated by performing the FME operation and the predicted picture block generated by performing the merge operation. By analyzing the, the predicted picture block of the PU can be selected.

インター予測モジュール121が、各パーティショニング・パターンに従って現在のCUを区分けすることによって生成されたPUの予測ピクチャ・ブロックを選択した後に(幾つかの実装では、コーディング・ツリー・ユニットCTUがCUに区分けされた後であり、CUはより小さなPUに更には区分けされず、この場合、PUはCUと同等である)、インター予測モジュール121は、現在のCUに対するパーティショニング・パターンを選択することができる。幾つかの実装において、インター予測モジュール121は、各パーティショニング・パターンに従って現在のCUを区分けすることによって生成されたPUの選択された予測ピクチャ・ブロックのレート歪コストを分析することによって、現在のCUのためのパーティショニング・パターンを選択することができる。インター予測モジュール121は、選択されたパーティショニング・パターンに属するPUに関連付けられた予測ピクチャ・ブロックを、残差生成モジュール102に出力することができる。インター予測モジュール121は、選択されたパーティショニング・パターンに属するPUの動き情報のシンタックス要素を、エントロピー符号化モジュール116に出力することができる。 After the inter-prediction module 121 selects the predicted picture block of the PU generated by partitioning the current CU according to each partitioning pattern (in some implementations, the coding tree unit CTU divides it into CUs). After that, the CU is not further subdivided into smaller PUs, in which case the PU is equivalent to the CU), the inter-prediction module 121 can select the partitioning pattern for the current CU. .. In some implementations, the inter-prediction module 121 analyzes the current rate distortion cost of the selected predicted picture block of the PU generated by partitioning the current CU according to each partitioning pattern. You can select the partitioning pattern for the CU. The inter-prediction module 121 can output the prediction picture block associated with the PU belonging to the selected partitioning pattern to the residual generation module 102. The inter-prediction module 121 can output the syntax element of the motion information of the PU belonging to the selected partitioning pattern to the entropy coding module 116.

図4に示す概略図では、インター予測モジュール121は、IMEモジュール180Aないし180N(「IMEモジュール180」と総称する)、FMEモジュール182Aないし182N(「FMEモジュール182」と総称する)、モジュール184Aないし184N(「マージ・モジュール184」と総称する)、PUパターン意思決定モジュール186Aないし186N(「PUパターン意思決定モジュール186」と総称する)、及びCUパターン意思決定モジュール188(CTU対CUパターン意思決定プロセスを更に実行してもよい)を含む。 In the schematic shown in FIG. 4, the inter-prediction module 121 includes IME modules 180A to 180N (collectively referred to as “IME module 180”), FME modules 182A to 182N (collectively referred to as “FME module 182”), and modules 184A to 184N. (Collectively referred to as "merge module 184"), PU pattern decision modules 186A to 186N (collectively referred to as "PU pattern decision module 186"), and CU pattern decision module 188 (CTU vs. CU pattern decision process). May be further executed).

IMEモジュール180、FMEモジュール182、及びマージ・モジュール184はそれぞれIME演算、FME演算、及び現在のCUのPUに関するマージ演算を実行することができる。図4に示す概略図では、インター予測モジュール121は、CUの各パーティショニング・パターンにおける各PUについて、別個のIMEモジュール180、別個のFMEモジュール182、及び別個のマージ・モジュール184を含むものとして説明される。別の実現可能な実装では、インター予測モジュール121は、CUの各パーティショニング・パターンにおける各PUについて、個別のIMEモジュール180も、個別のFMEモジュール182も、個別のマージ・モジュール184も含まない。 The IME module 180, FME module 182, and merge module 184 can perform IME operations, FME operations, and merge operations on the PU of the current CU, respectively. In the schematic shown in FIG. 4, the inter-prediction module 121 is described as including a separate IME module 180, a separate FME module 182, and a separate merge module 184 for each PU in each partitioning pattern of the CU. Will be done. In another feasible implementation, the inter-prediction module 121 does not include a separate IME module 180, a separate FME module 182, or a separate merge module 184 for each PU in each partitioning pattern of the CU.

図4の概略図に示すように、IMEモジュール180A、FMEモジュール182A、及びマージ・モジュール184Aはそれぞれ、2N×2Nのパーティショニング・パターンに従ってCUを区分けすることによって生成されたPUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Aは、IMEモジュール180A、FMEモジュール182A、及びマージ・モジュール184Aによって生成される予測ピクチャ・ブロックの1つを選択することができる。 As shown in the schematic of FIG. 4, the IME module 180A, the FME module 182A, and the merge module 184A each have an IME for a PU generated by partitioning the CU according to a 2N × 2N partitioning pattern. Operations, FME operations, and merge operations can be performed. The PU mode decision module 186A can select one of the predictive picture blocks generated by the IME module 180A, the FME module 182A, and the merge module 184A.

IMEモジュール180B、FMEモジュール182B、及びマージ・モジュール184Bはそれぞれ、N×2Nのパーティショニング・パターンに従ってCUを区分けすることによって生成された左PUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Bは、IMEモジュール180B、FMEモジュール182B、及びマージ・モジュール184Bによって生成される予測ピクチャ・ブロックの1つを選択することができる。 The IME module 180B, FME module 182B, and merge module 184B each perform IME, FME, and merge operations on the left PU generated by partitioning the CU according to an N × 2N partitioning pattern. Can be executed. The PU mode decision module 186B can select one of the predictive picture blocks generated by the IME module 180B, the FME module 182B, and the merge module 184B.

IMEモジュール180C、FMEモジュール182C、及びマージ・モジュール184Cはそれぞれ、N×2Nのパーティショニング・パターンに従ってCUを区分けすることによって生成された右PUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Cは、IMEモジュール180C、FMEモジュール182C、及びマージ・モジュール184Cによって生成される予測ピクチャ・ブロックの1つを選択することができる。 The IME module 180C, FME module 182C, and merge module 184C each perform IME, FME, and merge operations on the right PU generated by partitioning the CU according to the N × 2N partitioning pattern. Can be executed. The PU mode decision module 186C can select one of the predictive picture blocks generated by the IME module 180C, the FME module 182C, and the merge module 184C.

IMEモジュール180N、FMEモジュール182N、及びマージ・モジュール184はそれぞれ、N×Nのパーティショニング・パターンに従ってCUを区分けすることによって生成された右下PUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Nは、IMEモジュール180N、FMEモジュール182N、及びマージ・モジュール184Nによって生成される予測ピクチャ・ブロックの1つを選択することができる。 The IME module 180N, the FME module 182N, and the merge module 184, respectively, perform an IME operation, an FME operation, and a merge operation on the lower right PU generated by partitioning the CU according to the N × N partitioning pattern. Can be executed. The PU mode decision module 186N can select one of the predictive picture blocks generated by the IME module 180N, the FME module 182N, and the merge module 184N.

PUパターン意思決定モジュール186は、複数の可能な予測ピクチャ・ブロックのレート歪コストを分析することによって予測ピクチャ・ブロックを選択し、所与の復号化シナリオにおいて最適なレート歪コストを提供する予測ピクチャ・ブロックを選択することができる。例えば、限られた帯域幅を有するアプリケーションに対しては、PUモード意思決定モジュール186は、圧縮比が増やされた予測ピクチャ・ブロックを好む可能性があり、他のアプリケーションに対しては、PUモード意思決定モジュール186は、再構成されたビデオの品質が改善される予測ピクチャ・ブロックを好む可能性がある。PUパターン意思決定モジュール186が現在のCUのPUに対する予測ピクチャ・ブロックを選択した後に、CUパターン意思決定モジュール188は、現在のCUに対するパーティショニング・パターンを選択し、選択されたパーティショニング・パターンに属するPUに対する予測ピクチャ・ブロック及び動き情報を出力する。 The PU pattern decision module 186 selects a predictive picture block by analyzing the rate distortion cost of multiple possible predictive picture blocks and provides the optimal rate distortion cost for a given decoding scenario. -You can select a block. For example, for applications with limited bandwidth, the PU mode decision module 186 may prefer predictive picture blocks with increased compression ratios, and for other applications PU mode. The decision module 186 may prefer predictive picture blocks that improve the quality of the reconstructed video. After the PU pattern decision module 186 selects the predicted picture block for the PU of the current CU, the CU pattern decision module 188 selects the partitioning pattern for the current CU to the selected partitioning pattern. Outputs the predicted picture block and motion information for the PU to which it belongs.

図5は、本願の実施形態によるコーディング・ユニットとコーディング・ユニットに関連付けられた隣接するピクチャ・ブロックとの一例の概略図であり、CU250とCU250に関連付けられた例示的な候補の予測された動きベクトル位置252Aないし252Eを示す概略図である。本願では、候補の予測された動きベクトル位置252Aないし252Eは、まとめて候補の予測された動きベクトル位置252と言及される場合がある。候補の予測された動きベクトル位置252は、CU250と同じピクチャ内にある空間候補の予測された動きベクトルを表す。候補の予測された動きベクトル位置252AはCU250の左にある。候補の予測された動きベクトル位置252BはCU250の上にある。候補の予測された動きベクトル位置252CはCU250の右上にある。候補の予測された動きベクトル位置252DはCU250の左下にある。候補の予測された動きベクトル位置252EはCU250の左上にある。図8は、インター予測モジュール121及び動き補償モジュール162が、候補の予測された動きベクトルのリストを生成することができる方法の実装例を示す。以下、インター予測モジュール121に関連して実装が説明される。しかしながら、動き補償モジュール162が、同じ技術を実装し、従って同じ候補の予測された動きベクトルのリストを生成してもよいことが理解されるべきである。本願のこの実施形態では、候補の予測された動きベクトル位置が位置するピクチャ・ブロックは、参照ブロックと呼ばれる。更に、参照ブロックは、空間参照ブロック、例えば252Aないし252Eが位置するピクチャ・ブロックを含み、時間参照ブロック、例えば同一位置にある(co−located)ブロックが位置するピクチャ・ブロック、又は同一位置にあるブロックの空間的に隣接するピクチャ・ブロックを含む。 FIG. 5 is a schematic diagram of an example of a coding unit and adjacent picture blocks associated with the coding unit according to an embodiment of the present application, with predicted movements of the CU 250 and exemplary candidates associated with the CU 250. It is a schematic diagram which shows the vector positions 252A to 252E. In the present application, the candidate's predicted motion vector positions 252A to 252E may be collectively referred to as the candidate's predicted motion vector position 252. The candidate's predicted motion vector position 252 represents the predicted motion vector of the spatial candidate in the same picture as the CU 250. The candidate's predicted motion vector position 252A is to the left of the CU250. The candidate's predicted motion vector position 252B is above the CU250. The candidate's predicted motion vector position 252C is in the upper right corner of the CU250. The candidate's predicted motion vector position 252D is at the bottom left of the CU250. The candidate's predicted motion vector position 252E is at the top left of the CU250. FIG. 8 shows an implementation example of how the inter-prediction module 121 and motion compensation module 162 can generate a list of candidate predicted motion vectors. Hereinafter, the implementation will be described in relation to the inter-prediction module 121. However, it should be understood that the motion compensation module 162 may implement the same technique and thus generate a list of predicted motion vectors of the same candidate. In this embodiment of the present application, the picture block in which the predicted motion vector position of the candidate is located is referred to as a reference block. Further, the reference block includes a spatial reference block, eg, a picture block in which 252A to 252E are located, and a time reference block, eg, a picture block in which a co-located block is located, or is co-located. Contains picture blocks that are spatially adjacent to each other.

図6は、本願の実施形態による、候補の予測された動きベクトルのリストを構成するための例示的なフローチャートである。図6の技術は、5つの候補の予測された動きベクトルを含むリストに基づいて説明されるが、本願で説明される技術は、代替的に、別のサイズのリストと共に使用されてもよい。5つの候補の予測された動きベクトルはそれぞれインデックス(例えば、0ないし4)を有することができる。図6の技術は一般的なビデオ・デコーダに基づいて説明される。一般的なビデオ・デコーダは、例えば、ビデオ・エンコーダ(例えば、ビデオ・エンコーダ20)又はビデオ・デコーダ(例えば、ビデオ・デコーダ30)であってもよい。 FIG. 6 is an exemplary flow chart for constructing a list of candidate predicted motion vectors according to an embodiment of the present application. Although the technique of FIG. 6 is described on the basis of a list containing five candidate predicted motion vectors, the technique described herein may optionally be used with a list of different sizes. Each of the five candidate predicted motion vectors can have an index (eg, 0-4). The technique of FIG. 6 will be described on the basis of a typical video decoder. A typical video decoder may be, for example, a video encoder (eg, video encoder 20) or a video decoder (eg, video decoder 30).

図6の実装に従って、候補の予測された動きベクトルのリストを再構成するために、ビデオ・デコーダは、先ず4つの空間候補を考察し(602)、各々の空間候補は、1つの予測された動きベクトルに対応し、4つの空間候補の予測された動きベクトルは、候補の予測された動きベクトル位置252A、252B、252C、252Dを含む可能性がある。4つの空間候補の予測された動きベクトルは、現在のCU(例えば、CU250)と同じピクチャ内にある4つのPUの動き情報に対応する。言い換えると、4つの空間候補の予測された動きベクトルは、4つのPUの予測された動きベクトルである。本願のこの実施形態では、4つの空間候補の予測された動きベクトルを取得する場合に、ビデオ・デコーダは先ず4つのPUを決定する必要がある。例えば、ビデオ・デコーダが4つのPUのうちの1つを決定するプロセスは、次のようなプロセスであってもよい:PUと現在のCUが同一のCTB又はCTBの行レンジにある場合には、PUの更新されていない初期の動きベクトルが、PUに対応する空間候補の予測された動きベクトルとして使用されるか、又は、PUと現在のCUが同一のCTB又はCTBの行レンジにない場合には、PUの更新された最終的な動きベクトルが、PUに対応する空間候補の予測された動きベクトルとして使用される。PUのための更新された最終的な動きベクトルは、PUが記憶されているターゲット・ストレージ空間から取得されることができる。この場合、ターゲット・ストレージ空間は、更新された最終的な動きベクトルを記憶する。幾つかの実施形態では、ターゲット・ストレージ空間はMVDを記憶する。この場合、PUのための更新された最終的な動きベクトルは、代替的に、ターゲット・ストレージ空間に記憶されたMVD及びPUのための更新されていない初期の動きベクトルに基づいて取得されてもよい。 In order to reconstruct the list of predicted motion vectors of the candidates according to the implementation of FIG. 6, the video decoder first considers four spatial candidates (602), and each spatial candidate has one predicted. Corresponding to the motion vector, the predicted motion vector of the four spatial candidates may include the candidate's predicted motion vector positions 252A, 252B, 252C, 252D. The predicted motion vectors of the four spatial candidates correspond to the motion information of the four PUs in the same picture as the current CU (eg, CU250). In other words, the predicted motion vectors of the four spatial candidates are the predicted motion vectors of the four PUs. In this embodiment of the present application, the video decoder must first determine the four PUs when acquiring the predicted motion vectors of the four spatial candidates. For example, the process by which the video decoder determines one of the four PUs may be as follows: if the PU and the current CU are in the same CTB or CTB row range: , The unupdated initial motion vector of the PU is used as the predicted motion vector of the spatial candidate corresponding to the PU, or the PU and the current CU are not in the same CTB or CTB row range. The updated final motion vector of the PU is used as the predicted motion vector of the spatial candidates corresponding to the PU. The updated final motion vector for the PU can be obtained from the target storage space where the PU is stored. In this case, the target storage space stores the updated final motion vector. In some embodiments, the target storage space stores the MVD. In this case, the updated final motion vector for the PU may instead be obtained based on the MVD stored in the target storage space and the unupdated initial motion vector for the PU. good.

ビデオ・デコーダは、リスト内の4つの空間候補の予測された動きベクトルを、指定された順序で考慮することができる。例えば、候補の予測された動きベクトル位置252Aが最初に考慮されてもよい。候補の予測された動きベクトル位置252Aが利用可能である場合、候補の予測された動きベクトル位置252Aはインデックス0に割り当てられてもよい。候補の予測された動きベクトル位置252Aが利用不可能である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Aを、候補の予測された動きベクトルのリストに追加しない可能性がある。候補の予測された動きベクトル位置は、様々な理由で利用不可能であるかもしれない。例えば、候補の予測された動きベクトル位置が現在のピクチャに無い場合、候補の予測された動きベクトル位置は利用不可能である可能性がある。別の実現可能な実装において、候補の予測された動きベクトル位置がイントラ予測を経る場合、候補の予測された動きベクトル位置は利用不可能である可能性がある。別の実現可能な実装において、候補の予測された動きベクトル位置が、現在のCUに対応するスライスとは異なるスライスにある場合、候補の予測された動きベクトル位置は利用不可能である可能性がある。 The video decoder can consider the predicted motion vectors of the four spatial candidates in the list in a specified order. For example, the candidate's predicted motion vector position 252A may be considered first. If the candidate predicted motion vector position 252A is available, the candidate predicted motion vector position 252A may be assigned to index 0. If the candidate predicted motion vector position 252A is not available, the video decoder may not add the candidate predicted motion vector position 252A to the list of candidate predicted motion vectors. The candidate's predicted motion vector position may not be available for a variety of reasons. For example, if the candidate's predicted motion vector position is not in the current picture, the candidate's predicted motion vector position may not be available. In another feasible implementation, if the candidate's predicted motion vector position goes through intra-prediction, the candidate's predicted motion vector position may not be available. In another feasible implementation, if the candidate's predicted motion vector position is in a different slice than the slice corresponding to the current CU, the candidate's predicted motion vector position may not be available. be.

候補の予測された動きベクトル位置252Aを考慮した後、ビデオ・デコーダは候補の予測された動きベクトル位置252Bを考慮してもよい。候補の予測された動きベクトル位置252Bが利用可能であり、候補の予測された動きベクトル位置252Aとは異なる場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Bを、候補の予測された動きベクトルのリストに追加してもよい。この特定の文脈では、用語「同一」又は「異なる」は、候補の予測された動きベクトル位置が同一又は異なる動き情報に関連付けられることを意味する。従って、2つの候補の予測された動きベクトル位置が同じ動き情報を有する場合、2つの候補の予測された動きベクトル位置は同じであると考えられ、又は2つの候補の予測された動きベクトル位置が異なる動き情報を有する場合、2つの候補の予測された動きベクトル位置は異なると考えられる。候補の予測された動きベクトル位置252Aが利用不可能である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Bを、インデックス0に割り当てる可能性がある。候補の予測された動きベクトル位置252Aが利用可能である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252を、インデックス1に割り当てる可能性がある。候補の予測された動きベクトル位置252Bが利用不可能であるか、又は候補の予測された動きベクトル位置252Aと同じである場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Bをスキップし、候補の予測された動きベクトル位置252Bを、候補の予測された動きベクトルのリストに追加しない。 After considering the candidate predicted motion vector position 252A, the video decoder may consider the candidate predicted motion vector position 252B. If the candidate's predicted motion vector position 252B is available and different from the candidate's predicted motion vector position 252A, the video decoder will place the candidate's predicted motion vector position 252B as the candidate's predicted motion vector position 252B. It may be added to the list of motion vectors. In this particular context, the terms "same" or "different" mean that a candidate's predicted motion vector position is associated with the same or different motion information. Therefore, if the predicted motion vector positions of the two candidates have the same motion information, then the predicted motion vector positions of the two candidates are considered to be the same, or the predicted motion vector positions of the two candidates are If they have different motion information, the predicted motion vector positions of the two candidates are considered to be different. If the candidate predicted motion vector position 252A is not available, the video decoder may assign the candidate predicted motion vector position 252B to index 0. If a candidate predicted motion vector position 252A is available, the video decoder may assign the candidate predicted motion vector position 252 to index 1. If the candidate's predicted motion vector position 252B is unavailable or is the same as the candidate's predicted motion vector position 252A, the video decoder skips the candidate's predicted motion vector position 252B. , Do not add the candidate's predicted motion vector position 252B to the list of candidate's predicted motion vectors.

同様に、ビデオ・デコーダは、候補の予測された動きベクトル位置252Cを考慮して、候補の予測された動きベクトル位置252Cをリストに追加するかどうかを決定する。候補の予測された動きベクトル位置252Cが利用可能であり、候補の予測された動きベクトル位置252B及び252Aと異なる場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Cを、次の利用可能なインデックスに割り当てることができる。候補の予測された動きベクトル位置252Cが利用不可能であるか、又は候補の予測された動きベクトル位置252A及び252Bの少なくとも1つと同一である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Cを、候補の予測された動きベクトルのリストに追加しない。次に、ビデオ・デコーダは、候補の予測された動きベクトル位置252Dを考慮する。候補の予測された動きベクトル位置252Dが利用可能であり、候補の予測された動きベクトル位置252A、252B、及び252Cと異なる場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Dを、次の利用可能なインデックスに割り当てることができる。候補の予測された動きベクトル位置252Dが利用不可能であるか、又は候補の予測された動きベクトル位置252A、252B、及び252Cの少なくとも1つと同一である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Dを、候補の予測された動きベクトルのリストに追加しない。前述の実装では、候補の予測された動きベクトル252Aないし252Dを考慮して、候補の予測された動きベクトル252Aないし252Dが、候補の予測された動きベクトルのリストに追加されるか否かを決定する例が、概略的に説明されている。しかしながら、幾つかの実装において、候補の予測された動きベクトル252Aないし252Dの全てが、先ず候補の予測された動きベクトルのリストに追加されてもよく、次いで、反復的な候補の予測された動きベクトル位置が、候補の予測された動きベクトルのリストから除去される。 Similarly, the video decoder takes into account the candidate's predicted motion vector position 252C and decides whether to add the candidate's predicted motion vector position 252C to the list. If a candidate predicted motion vector position 252C is available and is different from the candidate predicted motion vector positions 252B and 252A, the video decoder will use the candidate predicted motion vector position 252C as the next available. Can be assigned to various indexes. If the candidate's predicted motion vector position 252C is not available or is identical to at least one of the candidate's predicted motion vector positions 252A and 252B, the video decoder will perform the candidate's predicted motion vector. Do not add position 252C to the list of candidate predicted motion vectors. The video decoder then considers the candidate predicted motion vector position 252D. If a candidate predicted motion vector position 252D is available and is different from the candidate predicted motion vector positions 252A, 252B, and 252C, the video decoder sets the candidate predicted motion vector position 252D to the next. Can be assigned to the available indexes of. If the candidate's predicted motion vector position 252D is not available or is identical to at least one of the candidate's predicted motion vector positions 252A, 252B, and 252C, the video decoder predicts the candidate. The motion vector position 252D is not added to the list of candidate predicted motion vectors. In the above implementation, the candidate predicted motion vectors 252A to 252D are considered to determine whether the candidate predicted motion vectors 252A to 252D are added to the list of candidate predicted motion vectors. An example of how to do this is outlined. However, in some implementations, all of the candidate predicted motion vectors 252A to 252D may first be added to the list of candidate predicted motion vectors, and then iterative candidate predicted motion. The vector position is removed from the list of candidate predicted motion vectors.

ビデオ・デコーダが最初の4つの空間候補の予測された動きベクトルを考慮した後、候補の予測された動きベクトルのリストは、4つの空間候補の予測された動きベクトルを含む可能性があり、或いは4つより少ない空間候補の予測された動きベクトルを含む可能性がある。リストが4つの空間候補の予測された動きベクトルを含む場合(604でyes)、即ち、4つの空間候補を含む場合、ビデオ・デコーダは時間候補を考慮し(606)、各々の時間候補は1つの候補の予測された動きベクトルに対応する。時間候補の予測された動きベクトルは、現在のピクチャとは異なるピクチャの同一位置にあるPUの動き情報に対応する可能性がある。時間候補の予測された動きベクトルが利用可能であり、最初の4つの空間候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、インデックス4に割り当てる。時間候補の予測された動きベクトルが利用不可能であるか、又は最初の4つの空間候補の予測された動きベクトルの1つと同一である場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない。従って、ビデオ・デコーダが時間候補の予測された動きベクトルを考慮した後(606)、候補の予測された動きベクトルのリストは、5つの候補の予測された動きベクトル(602で考慮された最初の4つの空間候補の予測された動きベクトル、及び604で考慮された時間候補の予測された動きベクトル)を含む可能性があり、或いは4つの候補の予測された動きベクトル(602で考慮された最初の4つの空間候補の予測された動きベクトル)を含む可能性がある。候補の予測された動きベクトルのリストが、5つの候補の予測された動きベクトルを含む場合(608においてyes)、即ち5つの候補を含む場合、ビデオ・デコーダはリストの構築を完了する。 After the video decoder considers the predicted motion vectors of the first four spatial candidates, the list of predicted motion vectors of the candidates may contain the predicted motion vectors of the four spatial candidates, or It may contain predicted motion vectors of less than four spatial candidates. If the list contains the predicted motion vectors of four spatial candidates (yes at 604), i.e., the video decoder considers the time candidates (606), and each time candidate is one. Corresponds to the predicted motion vector of one candidate. The predicted motion vector of the time candidate may correspond to the motion information of the PU at the same position in the picture different from the current picture. If the predicted motion vector of the time candidate is available and different from the predicted motion vector of the first four spatial candidates, the video decoder assigns the predicted motion vector of the time candidate to index 4. If the predicted motion vector of the time candidate is not available or is identical to one of the predicted motion vectors of the first four spatial candidates, the video decoder will use the predicted motion vector of the time candidate. Is not added to the list of candidate predicted motion vectors. Thus, after the video decoder considers the predicted motion vectors of the time candidates (606), the list of predicted motion vectors of the candidates is the first of the five predicted motion vectors considered in 602. It may contain the predicted motion vectors of the four spatial candidates and the predicted motion vectors of the time candidates considered in 604, or the first predicted motion vectors of the four candidates considered in 602. Predicted motion vectors of the four spatial candidates). If the list of candidate predicted motion vectors contains five candidate predicted motion vectors (yes in 608), i.e., the video decoder completes the construction of the list.

候補の予測された動きベクトルのリストが、4つの候補の予測された動きベクトルを含む場合(608においてNo)、ビデオ・デコーダは、第5の空間候補の予測された動きベクトルを考慮することができる(610)。第5の空間候補の予測された動きベクトルは、(例えば)候補の予測された動きベクトル位置252Eに対応してもよい。位置252Eに対応する候補の予測された動きベクトルが利用可能であり、位置252A、252B、252C、及び252Dに対応する候補の予測された動きベクトルとは異なる場合、ビデオ・デコーダは、第5の空間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、第5の空間候補の予測された動きベクトルを、インデックス4に割り当てることができる。位置252Eに対応する候補の予測された動きベクトルが利用不可能である場合、又は候補の予測された動きベクトル位置252A、252B、252C、及び252Dに対応する候補の予測された動きベクトルと同一である場合、ビデオ・デコーダは、位置252に対応する候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない可能性がある。従って、第5の空間候補の予測された動きベクトルが考慮された後(610)、リストは、5つの候補の予測された動きベクトル(602で考慮された最初の4つの空間候補の予測された動きベクトル、及び610で考慮された第5の空間候補の予測された動きベクトル)を含む可能性があり、或いは4つの候補の予測された動きベクトル(602で検討された最初の4つの空間候補の予測された動きベクトル)を含む可能性がある。 If the list of candidate predicted motion vectors contains four candidate predicted motion vectors (No in 608), the video decoder may consider the fifth spatial candidate's predicted motion vector. You can (610). The predicted motion vector of the fifth spatial candidate may (eg) correspond to the predicted motion vector position 252E of the candidate. If a candidate predicted motion vector corresponding to position 252E is available and is different from the candidate predicted motion vector corresponding to positions 252A, 252B, 252C, and 252D, the video decoder is a fifth. The predicted motion vector of the spatial candidate can be added to the list of predicted motion vectors of the candidate, and the predicted motion vector of the fifth spatial candidate can be assigned to the index 4. If the candidate's predicted motion vector corresponding to position 252E is not available, or if the candidate's predicted motion vector is identical to the candidate's predicted motion vector corresponding to positions 252A, 252B, 252C, and 252D. In some cases, the video decoder may not add the candidate predicted motion vector corresponding to position 252 to the list of candidate predicted motion vectors. Therefore, after the predicted motion vectors of the fifth spatial candidate are considered (610), the list predicts the predicted motion vectors of the five candidates (the first four spatial candidates considered in 602). It may contain motion vectors, and the predicted motion vectors of the fifth spatial candidate considered in 610, or the predicted motion vectors of four candidates (the first four spatial candidates examined in 602). Predicted motion vector) may be included.

候補の予測された動きベクトルのリストが5つの候補を含む場合(612においてyes)、即ち、5つの候補の予測された動きベクトルを含む場合、ビデオ・デコーダは候補の予測された動きベクトルのリストの生成を完了する。候補の予測された動きベクトルのリストが4つの候補の予測された動きベクトルを含む場合(612においてNo)、ビデオ・デコーダは、リストが5つの候補を含むまで(616でyes)、即ち5つの候補の予測された動きベクトルを含むまで、マニュアルで生成された候補の予測された動きベクトルを追加する(614)。 If the list of candidate predicted motion vectors contains 5 candidates (yes in 612), that is, if it contains 5 candidate predicted motion vectors, the video decoder will list the candidate predicted motion vectors. Completes the generation of. If the list of candidate predicted motion vectors contains four candidate predicted motion vectors (No at 612), the video decoder will run until the list contains five candidates (yes at 616), i.e. five. Add the manually generated candidate predicted motion vectors until they contain the candidate predicted motion vectors (614).

ビデオ・デコーダが最初の4つの空間候補の予測された動きベクトルを考慮した後に、リストが4つより少ない空間候補の予測された動きベクトルを含む場合(604においてNo)、ビデオ・デコーダは、第5の空間候補を考慮し(618)、即ち、第5の空間候補の予測された動きベクトルを考慮することができる。第5の空間候補の予測された動きベクトルは、(例えば)候補の予測された動きベクトル位置252Eに対応してもよい。位置252Eに対応する候補の予測された動きベクトルが利用可能であり、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、第5の空間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、第5の空間候補の予測された動きベクトルを、次の利用可能なインデックスに割り当てることができる。位置252Eに対応する候補の予測された動きベクトルが利用不可能であるか、又は候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルの1つと同一である場合、ビデオ・デコーダは、位置252Eに対応する候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない可能性がある。次いで、ビデオ・デコーダは、時間的な候補、即ち、時間的な予測された動きベクトルを考慮することができる(620)。時間候補の予測された動きベクトルが利用可能であり、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、時間候補の予測された動きベクトルを、次の利用可能インデックスに割り当てることができる。時間候補の予測された動きベクトルが利用不可能であるか、又は候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルの1つと同一である場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない可能性がある。 If the list contains less than four predicted motion vectors of spatial candidates (No in 604) after the video decoder considers the predicted motion vectors of the first four spatial candidates, then the video decoder is the first. The 5 spatial candidates can be considered (618), i.e. the predicted motion vector of the 5th spatial candidate can be considered. The predicted motion vector of the fifth spatial candidate may (eg) correspond to the predicted motion vector position 252E of the candidate. If the candidate predicted motion vector corresponding to position 252E is available and is different from the candidate predicted motion vector present in the list of candidate predicted motion vectors, the video decoder is in the fifth space. Candidate predicted motion vectors can be added to the list of candidate predicted motion vectors and the fifth spatial candidate predicted motion vector can be assigned to the next available index. If the candidate predicted motion vector corresponding to position 252E is not available or is identical to one of the candidate predicted motion vectors present in the candidate's list of predicted motion vectors, video. The decoder may not add the candidate predicted motion vector corresponding to position 252E to the list of candidate predicted motion vectors. The video decoder can then consider temporal candidates, i.e., temporally predicted motion vectors (620). If the predicted motion vector of the time candidate is available and different from the predicted motion vector of the candidate present in the list of predicted motion vectors of the candidate, the video decoder will display the predicted motion vector of the time candidate. Can be added to the list of candidate predicted motion vectors and the time candidate predicted motion vector can be assigned to the next available index. If the predicted motion vector of the time candidate is unavailable or is identical to one of the predicted motion vectors of the candidate present in the list of predicted motion vectors of the candidate, the video decoder will run the time. Candidate predicted motion vectors may not be added to the list of candidate predicted motion vectors.

第5の空間候補の予測された動きベクトル(618)と時間候補の予測された動きベクトル(620)とが考慮された後に、候補の予測された動きベクトルのリストが、第5の空間候補の予測された動きベクトルを含む場合(622でyes)、ビデオ・デコーダは候補の予測された動きベクトルのリストの生成を完了する。候補の予測された動きベクトルのリストが、5つより少ない候補の予測された動きベクトルを含む場合(622においてNo)、ビデオ・デコーダは、リストが5つの候補の予測された動きベクトルを含むまで(616においてYes)、マニュアルで生成された候補の予測された動きベクトルを追加する(614)。 After the predicted motion vector (618) of the fifth space candidate and the predicted motion vector (620) of the time candidate are considered, the list of predicted motion vectors of the candidate is the fifth space candidate. If it contains a predicted motion vector (yes at 622), the video decoder completes the generation of a list of candidate predicted motion vectors. If the list of candidate predicted motion vectors contains less than 5 candidate predicted motion vectors (No at 622), the video decoder will continue until the list contains 5 candidate predicted motion vectors. (Yes at 616), add the predicted motion vector of the manually generated candidate (614).

本願の技術によれば、追加のマージ候補の予測された動きベクトルは、空間候補の予測された動きベクトル及び時間候補の予測された動きベクトルの後に、マニュアルで生成されることが可能であり、その結果、マージ候補の予測された動きベクトルのリストのサイズは、常に、指定された量のマージ候補の予測された動きベクトル(例えば、上述した図6の実現可能な実装における5つの候補の予測された動きベクトル)に等しくなる。追加的なマージ候補の予測された動きベクトルは、例えば、組み合わされた双方向予測マージ候補の予測された動きベクトル(候補の予測された動きベクトル1)、スケーリングされた双方向予測マージ候補の予測された動きベクトル(候補の予測された動きベクトル2)、及びゼロ・ベクトル・マージ候補の予測された動きベクトル(候補の予測された動きベクトル3)を含む可能性がある。追加のマージ候補の予測された動きベクトルの前述の3つのケースの具体的な説明については、図7ないし図9を参照されたい。 According to the technique of the present application, the predicted motion vectors of additional merge candidates can be manually generated after the predicted motion vectors of the spatial candidates and the predicted motion vectors of the time candidates. As a result, the size of the list of predicted motion vectors of the merge candidates will always be the predicted motion vectors of the specified amount of merge candidates (eg, the predictions of the five candidates in the feasible implementation of FIG. 6 above. Is equal to the motion vector). The predicted motion vectors of the additional merge candidates are, for example, the predicted motion vectors of the combined bidirectional predictive merge candidates (candidate predicted motion vector 1), the scaled bidirectional predictive merge candidate predictions. It may include a motion vector (candidate predicted motion vector 2) and a zero vector merge candidate predicted motion vector (candidate predicted motion vector 3). See FIGS. 7-9 for a specific description of the above three cases of predicted motion vectors for additional merge candidates.

図7は、本願の実施形態による、マージ・モード候補の予測された動きベクトルのリストに、結合された候補の動きベクトルを追加する例の概略図である。結合された双予測マージ候補の予測された動きベクトルは、オリジナルのマージ候補の予測された動きベクトルを結合することによって生成されることが可能である。具体的には、2つのオリジナル候補の予測された動きベクトル(mvL0及びrefIdxL0、又はmvL1及びrefIdxL1を有する)を使用して、双予測マージ候補の予測された動きベクトルを生成することができる。図7では、2つの候補の予測された動きベクトルが、オリジナルのマージ候補の予測された動きベクトルのリストに含まれる。一方の候補の予測された動きベクトルの予測タイプはリスト0を使用することによる一方向予測であり、他方の候補の予測された動きベクトルの予測タイプはリスト1を使用することによる一方向予測である。この実現可能な実装では、mvL0_A及びref0はリスト0から得られ、mvL1_B及びref0はリスト1から得られる。次いで、双予測マージ候補の予測された動きベクトル(リスト0におけるmvL0_A及びref0を、リスト1におけるmvL1_B及びref0を有する)が生成されることが可能であり、双予測マージ候補の予測された動きベクトルが、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なるかどうかが、検査される。双予測マージ候補の予測された動きベクトルが既存の候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、双予測マージ候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加することができる。 FIG. 7 is a schematic diagram of an example of adding a combined candidate motion vector to a list of predicted motion vectors of merge mode candidates according to an embodiment of the present application. The predicted motion vectors of the combined bi-predictive merge candidates can be generated by combining the predicted motion vectors of the original merge candidates. Specifically, the predicted motion vectors of the two original candidates (having mvL0 and refIdxL0, or mvL1 and refIdxL1) can be used to generate the predicted motion vectors of the bipredictive merge candidates. In FIG. 7, the predicted motion vectors of the two candidates are included in the list of predicted motion vectors of the original merge candidates. The prediction type of the predicted motion vector of one candidate is one-way prediction by using List 0, and the prediction type of the predicted motion vector of the other candidate is one-way prediction by using List 1. be. In this feasible implementation, mvL0_A and ref0 are obtained from Listing 0, and mvL1_B and ref0 are obtained from Listing 1. It is then possible to generate the predicted motion vectors of the bi-predictive merge candidates (having mvL0_A and ref0 in Listing 0 and mvL1_B and ref0 in Listing 1), and the predicted motion vectors of the bi-predictive merge candidates. Is checked for different from the candidate's predicted motion vector present in the candidate's list of predicted motion vectors. If the predicted motion vector of a bi-predicted merge candidate is different from the predicted motion vector of an existing candidate, the video decoder will display the predicted motion vector of the bi-predicted merge candidate as a list of the predicted motion vectors of the candidate. Can be added to.

図8は、本願の実施形態による、スケーリングされた候補の動きベクトルを、マージ・モード候補の予測された動きベクトルのリストに追加する例の概略図である。スケーリングされた双予測マージ候補の予測された動きベクトルは、オリジナルのマージ候補の予測された動きベクトルをスケーリングすることによって生成されてもよい。具体的には、1つのオリジナル候補の予測された動きベクトル(mvLX及びrefIdxLXを有する)を使用して、双予測マージ候補の予測された動きベクトルを生成することができる。図8の実現可能な実装では、2つの候補の予測された動きベクトルが、オリジナルのマージ候補の予測された動きベクトルのリストに含まれる。一方の候補の予測された動きベクトルの予測タイプはリスト0を使用することによる一方向予測であり、他方の候補の予測された動きベクトルの予測タイプはリスト1を使用することによる一方向予測である。この実現可能な実装では、mvL0_A及びref0はリスト0から得られ、ref0はリスト1にコピーされ、参照インデックスref0’として示される。次いで、mvL0’_Aは、ref0及びref0’でmvL0_Aをスケーリングすることによって計算されることが可能である。スケーリングは、POC(Picture Order Count,POC)距離に依存する可能性がある。次に、双予測マージ候補の予測された動きベクトル(リスト0におけるmvL0_A及びref0、リスト1におけるmvL0’_A及びref0’を有する)を生成することが可能であり、双予測マージ候補の予測された動きベクトルが反復されているか否かが検査される。双予測マージ候補の予測された動きベクトルが反復されていない場合、双予測マージ候補の予測された動きベクトルが、マージ候補の予測された動きベクトルのリストに追加されることが可能である。 FIG. 8 is a schematic diagram of an example of adding a scaled candidate motion vector to a list of predicted motion vectors of merge mode candidates according to an embodiment of the present application. The predicted motion vector of the scaled bi-predictive merge candidate may be generated by scaling the predicted motion vector of the original merge candidate. Specifically, one original candidate predicted motion vector (with mvLX and refIdxLX) can be used to generate a bipredicted merge candidate predicted motion vector. In the feasible implementation of FIG. 8, the predicted motion vectors of the two candidates are included in the list of predicted motion vectors of the original merge candidates. The prediction type of the predicted motion vector of one candidate is one-way prediction by using List 0, and the prediction type of the predicted motion vector of the other candidate is one-way prediction by using List 1. be. In this feasible implementation, mvL0_A and ref0 are obtained from Listing 0, ref0 is copied to Listing 1 and shown as the reference index ref0'. MvL0'_A can then be calculated by scaling mvL0_A with ref0 and ref0'. Scaling may depend on the POC (Picture Order Count, POC) distance. It is then possible to generate predicted motion vectors of bi-predictive merge candidates (having mvL0_A and ref0 in Listing 0, mvL0'_A and ref0' in List 1) and predicted bi-predictive merge candidates. It is checked whether the motion vector is repeated. If the predicted motion vector of the bi-predicted merge candidate is not repeated, it is possible that the predicted motion vector of the bi-predicted merge candidate is added to the list of predicted motion vectors of the merge candidate.

図9は、本願の実施形態による、マージ・モード候補の予測された動きベクトルのリストに、ゼロ動きベクトルを追加する例の概略図である。ゼロ・ベクトル・マージ候補の予測された動きベクトルは、ゼロ・ベクトル及び参照されることが可能な参照インデックスを組み合わせることによって生成されることが可能である。ゼロ・ベクトル候補の予測された動きベクトルが反復されない場合、ゼロ・ベクトル候補の予測された動きベクトルは、マージ候補の予測された動きベクトルのリストに追加されることが可能である。各々の生成されたマージ候補の予測された動きベクトルの動き情報は、リスト内の以前の候補の予測された動きベクトルの動き情報と比較されることが可能である。 FIG. 9 is a schematic diagram of an example of adding a zero motion vector to a list of predicted motion vectors of merge mode candidates according to an embodiment of the present application. The predicted motion vector of the zero vector merge candidate can be generated by combining the zero vector and the reference index that can be referenced. If the predicted motion vector of the zero vector candidate is not repeated, the predicted motion vector of the zero vector candidate can be added to the list of predicted motion vectors of the merge candidate. The motion information of the predicted motion vector of each generated merge candidate can be compared with the motion information of the predicted motion vector of the previous candidate in the list.

実現可能な実装において、新しく生成された候補の予測された動きベクトルが、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なる場合、生成された候補の予測された動きベクトルは、マージ候補の予測された動きベクトルのリストに追加される。候補の予測された動きベクトルが、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なるかどうかを決定するプロセスは、しばしば、プルーニング(pruning)と呼ばれる。プルーニングにより、各々新しく生成された候補の予測された動きベクトルは、リスト内の既存候補の予測された動きベクトルと比較されることが可能である。幾つかの実現可能な実装において、プルーニング処理は、1つ以上の新しい候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと比較し、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと同一である新しい候補の予測された動きベクトルを追加することをスキップすることを含むことが可能である。幾つかの他の実現可能な実装において、プルーニング処理は、1つ以上の新しい候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、次いで、反復した候補の予測された動きベクトルをリストから除外することを含む可能性がある。 In a feasible implementation, if the predicted motion vector of the newly generated candidate is different from the predicted motion vector of the candidate present in the list of predicted motion vectors of the candidate, the predicted motion vector of the generated candidate is predicted. The motion vector is added to the list of predicted motion vectors for merge candidates. The process of determining whether a candidate's predicted motion vector differs from the candidate's predicted motion vector present in the candidate's list of predicted motion vectors is often referred to as pruning. Pruning allows each newly generated predicted motion vector of a candidate to be compared with the predicted motion vector of an existing candidate in the list. In some feasible implementations, the pruning process compares the predicted motion vector of one or more new candidates with the predicted motion vector of the candidate present in the list of predicted motion vectors of the candidate. It is possible to include skipping the addition of new candidate predicted motion vectors that are identical to the candidate's predicted motion vectors present in the candidate's list of predicted motion vectors. In some other feasible implementation, the pruning process adds one or more new candidate predicted motion vectors to the list of candidate predicted motion vectors and then iterative candidate predictions. May include excluding motion vectors from the list.

本願の実現可能な実装において、インター予測の間に、処理対象ピクチャ・ブロックの動き情報を予測する方法は:処理対象のピクチャ・ブロックが位置するピクチャにおいて動きベクトルが決定される少なくとも1つのピクチャ・ブロックの動き情報を取得するステップであって、動きベクトルが決定される少なくとも1つのピクチャ・ブロックは、処理対象のピクチャ・ブロックに隣接しないピクチャ・ブロックであって、その動きベクトルが決定されているピクチャ・ブロックを含む、ステップと、第1識別情報を取得するステップであって、第1識別情報は、動きベクトルが決定される少なくとも1つのピクチャ・ブロックの動き情報においてターゲット動き情報を決定するために使用される、ステップと、ターゲット動き情報に基づいて、処理対象ピクチャ・ブロックの動き情報を予測するステップとを含む。 In a feasible implementation of the present application, a method of predicting motion information of a picture block to be processed during interprediction is: at least one picture in which the motion vector is determined in the picture in which the picture block to be processed is located. At least one picture block in which the motion vector is determined in the step of acquiring the motion information of the block is a picture block not adjacent to the picture block to be processed, and the motion vector is determined. A step including a picture block and a step of acquiring the first identification information, wherein the first identification information determines the target motion information in the motion information of at least one picture block in which the motion vector is determined. Includes a step used in the process and a step of predicting the motion information of the picture block to be processed based on the target motion information.

図10は、本願の実施形態によるマージ・モードの一例のフローチャートである。ビデオ・エンコーダ(例えば、ビデオ・エンコーダ20)は、マージ演算200を実行することができる。別の実現可能な実装において、ビデオ・エンコーダは、マージ演算200とは異なるマージ演算を実行する可能性がある。例えば、別の実現可能な実装において、ビデオ・エンコーダはマージ演算を実行することが可能であり、ビデオ・エンコーダは、マージ演算200のステップより多い又は少ないステップ、或いはマージ演算200のステップとは異なるステップを実行する。別の実現可能な実装において、ビデオ・エンコーダは、マージ演算200のステップを異なる順序で、又は並列で実行することができる。エンコーダは、更に、スキップ(skip)モードで符号化されたPUに対してマージ演算200を実行してもよい。 FIG. 10 is a flowchart of an example of the merge mode according to the embodiment of the present application. The video encoder (eg, the video encoder 20) can perform the merge operation 200. In another feasible implementation, the video encoder may perform a different merge operation than the merge operation 200. For example, in another feasible implementation, the video encoder can perform the merge operation, and the video encoder is different from more or less steps in the merge operation 200, or steps in the merge operation 200. Perform the steps. In another feasible implementation, the video encoder can perform the steps of the merge operation 200 in different orders or in parallel. The encoder may further perform merge operation 200 on the PU encoded in skip mode.

ビデオ・エンコーダがマージ演算200を開始した後、ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを生成することができる(202)。ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを、種々の方法で生成することができる。例えば、ビデオ・エンコーダは、図7から図9に関連して以下で説明される技術例の1つに従って、現在のPUのための候補の予測された動きベクトルのリストを生成することができる。 After the video encoder initiates the merge operation 200, the video encoder can generate a list of candidate predicted motion vectors for the current PU (202). The video encoder can generate a list of candidate predicted motion vectors for the current PU in a variety of ways. For example, a video encoder can generate a list of candidate predicted motion vectors for the current PU according to one of the technical examples described below in connection with FIGS. 7-9.

上記のように、現在のPUの候補の予測された動きベクトルのリストは、時間候補の予測された動きベクトルを含む可能性がある。時間候補の予測された動きベクトルは、時間的な同一位置にあるPUの動き情報を示すことができる。同一位置にあるPUは、ピクチャ・フレーム内で、現在のPUと同じ位置に空間的に位置していてもよいが、現在のピクチャの代わりに参照ピクチャ内に位置していてもよい。本願では、対応する時間的PUを含む参照ピクチャは、関連する参照ピクチャとして言及されてもよい。この出願において、関連する参照ピクチャの参照ピクチャ・インデックスは、関連する参照ピクチャ・インデックスとして言及されてもよい。上述のように、現在のピクチャは、1つ以上の参照ピクチャ・リスト(例えば、リスト0及びリスト1)に関連付けられてもよい。参照ピクチャ・インデックスは、参照ピクチャ・リスト内の参照ピクチャの位置を示すことによって、参照ピクチャを示すことができる。幾つかの実現可能な実装において、現在のピクチャは、結合された参照ピクチャ・リストに関連付けられてもよい。 As mentioned above, the list of predicted motion vectors for the current PU candidates may include the predicted motion vectors for the time candidates. The predicted motion vector of the time candidate can indicate the motion information of the PUs at the same position in time. PUs at the same position may be spatially located in the picture frame at the same position as the current PU, but may be located in the reference picture instead of the current picture. In the present application, a reference picture including a corresponding temporal PU may be referred to as a related reference picture. In this application, the reference picture index of the associated reference picture may be referred to as the associated reference picture index. As mentioned above, the current picture may be associated with one or more reference picture lists (eg, List 0 and List 1). The reference picture index can indicate a reference picture by indicating the position of the reference picture in the reference picture list. In some feasible implementations, the current picture may be associated with a combined reference picture list.

一部のビデオ・エンコーダでは、関連する参照ピクチャ・インデックスは、現在のPUに関連する参照インデックス・ソース位置をカバーするPUの参照ピクチャ・インデックスである。これらのビデオ・エンコーダでは、現在のPUに関連して位置する参照インデックス・ソースは、現在のPUの左又は現在のPUの上に隣接している。本願では、PUに関連するピクチャ・ブロックが特定の場所を含む場合、PUは特定の場所を「カバー」することができる。これらのビデオ・エンコーダでは、参照インデックスのソース位置が利用不可能である場合、ビデオ・エンコーダは参照ピクチャ・インデックス0を使用してもよい。 For some video encoders, the associated reference picture index is the PU's reference picture index that covers the reference index source position associated with the current PU. In these video encoders, the reference index source located relative to the current PU is adjacent to the left of the current PU or above the current PU. In the present application, if the picture block associated with the PU contains a particular location, the PU may "cover" the particular location. For these video encoders, the video encoder may use the reference picture index 0 if the source position of the reference index is not available.

一部の例において、現在のPUに関連する参照インデックス・ソース位置は、現在のCU内にある。これらの例では、現在のPUに関連する参照インデックス・ソース位置をカバーするPUは、PUが現在のCUの上又は左にある場合に、利用可能であると考えられてもよい。しかしながら、ビデオ・エンコーダは、同一位置にあるPUを含む参照ピクチャを決定するために、現在のCUの別のPUの動き情報にアクセスする必要があるかもしれない。従って、これらのビデオ・エンコーダは、現在のCUに属するPUに対する動き情報(例えば、参照ピクチャ・インデックス)を使用して、現在のPUの時間候補の予測された動きベクトルを生成することができる。換言すれば、これらのビデオ・エンコーダは、現在のCUに属するPUの動き情報を使用して、時間的な候補の予測された動きベクトルを生成することができる。従って、ビデオ・エンコーダは、現在のPUと、現在のPUに関連する参照インデックス・ソース位置をカバーするPUとに関する候補の予測された動きベクトルのリストを、並列的に生成することはできないかもしれない。 In some examples, the reference index source location associated with the current PU is within the current CU. In these examples, a PU that covers the reference index source position associated with the current PU may be considered available if the PU is above or to the left of the current CU. However, the video encoder may need to access motion information for another PU in the current CU to determine a reference picture that includes a PU in the same position. Thus, these video encoders can use motion information (eg, reference picture index) for PUs belonging to the current CU to generate predicted motion vectors for time candidates for the current PU. In other words, these video encoders can use the motion information of PUs belonging to the current CU to generate predicted motion vectors of temporal candidates. Therefore, the video encoder may not be able to generate a list of candidate predicted motion vectors for the current PU and the PU covering the reference index source position associated with the current PU in parallel. No.

本願の技術によれば、ビデオ・エンコーダは、他の如何なるPUの参照ピクチャ・インデックスも参照することなく、関連する参照ピクチャ・インデックスを明示的に設定することができる。このようにして、ビデオ・エンコーダは、現在のPU及び現在のCUの別のPUについて、候補の予測された動きベクトルのリストを、並列的に生成することができる。ビデオ・エンコーダは、関連する参照ピクチャ・インデックスを明示的に設定するので、関連する参照ピクチャ・インデックスは、現在のCUの他の如何なるPUの動き情報にも基づいていない。ビデオ・エンコーダが、関連付けられた参照ピクチャ・インデックスを明示的に設定する幾つかの実現可能な実装では、ビデオ・エンコーダは、関連付けられた参照ピクチャ・インデックスを、固定された前もってセットされた参照ピクチャ・インデックス(例えば、0)に常に設定することができる。このようにして、ビデオ・エンコーダは、前もってセットされた参照ピクチャ・インデックスによって示された参照フレーム内の同一位置にあるPUの動き情報に基づいて、時間的な候補の予測された動きベクトルを生成することが可能であり、時間的な候補の予測された動きベクトルを、現在のCUの候補の予測された動きベクトルのリストに追加することが可能である。また、候補の予測された動きベクトルのリストは、参照フレーム・リストでもある。 According to the technique of the present application, the video encoder can explicitly set the associated reference picture index without reference to the reference picture index of any other PU. In this way, the video encoder can generate a list of candidate predicted motion vectors in parallel for the current PU and another PU of the current CU. Since the video encoder explicitly sets the associated reference picture index, the associated reference picture index is not based on the motion information of any other PU in the current CU. In some feasible implementations where the video encoder explicitly sets the associated reference picture index, the video encoder sets the associated reference picture index to a fixed, pre-set reference picture. -It can always be set to the index (for example, 0). In this way, the video encoder generates a predicted motion vector of temporal candidates based on the motion information of the co-located PUs in the reference frame indicated by the preset reference picture index. It is possible to add the predicted motion vectors of the temporal candidates to the list of predicted motion vectors of the current CU candidates. The list of candidate predicted motion vectors is also a reference frame list.

ビデオ・エンコーダが、関連付けられた参照ピクチャ・インデックスを明示的に設定する実現可能な実装では、ビデオ・エンコーダは、シンタックス構造(例えば、ピクチャ・ヘッダ、スライス・ヘッダ、APS、又は他のシンタックス構造)において、関連付けられた参照ピクチャ・インデックスを明示的にシグナリングすることができる。この実現可能な実装では、ビデオ・エンコーダは、各LCU(即ち、CTU)、CU、PU、TU、又は別のタイプのサブ・ブロックのための関連する参照ピクチャ・インデックスを、デコーダにシグナリングすることができる。例えば、ビデオ・エンコーダは、CUの各PUに対する関連する参照ピクチャ・インデックスが「1」に等しいことを、シグナリングすることができる。 In a feasible implementation where the video encoder explicitly sets the associated reference picture index, the video encoder has a syntax structure (eg, picture header, slice header, APS, or other syntax). In the structure), the associated reference picture index can be explicitly signaled. In this feasible implementation, the video encoder signals the decoder with a relevant reference picture index for each LCU (ie, CTU), CU, PU, TU, or another type of subblock. Can be done. For example, the video encoder can signal that the associated reference picture index for each PU of the CU is equal to "1".

幾つかの実現可能な実装では、関連する参照ピクチャ・インデックスは、明示的ではなく暗黙的に設定されてもよい。これらの実現可能な実装では、たとえこれらの位置が現在のPUに厳密に隣接していなかったとしても、ビデオ・エンコーダは、現在のCU外側の位置をカバーするPUの参照ピクチャ・インデックスによって示される参照ピクチャ内のPUに対する動き情報を使用することによって、現在のCUのPUに対する候補の予測された動きベクトルのリスト内の各々の時間的な候補の予測された動きベクトルを生成することができる。 In some feasible implementations, the associated reference picture index may be set implicitly rather than explicitly. In these feasible implementations, the video encoder is indicated by a PU reference picture index that covers the position outside the current CU, even if these positions are not exactly adjacent to the current PU. By using the motion information for the PU in the reference picture, it is possible to generate a predicted motion vector for each temporal candidate in the list of predicted motion vectors for the candidate for the PU of the current CU.

現在のPUに対する候補の予測された動きベクトルのリストを生成した後に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおいて候補の予測された動きベクトルに関連する予測ピクチャ・ブロックを生成することができる(204)。ビデオ・エンコーダは、指示された候補の予測された動きベクトルの動き情報に基づいて現在のPUの動き情報を決定し、次いで、候補の予測された動きベクトルに関連する予測ピクチャ・ブロックを生成するために、現在のPUの動き情報によって示された1つ以上の参照ブロックに基づいて予測ピクチャ・ブロックを生成することができる。次いで、ビデオ・エンコーダは、候補の予測された動きベクトルのリストから、1つの候補の予測された動きベクトルを選択することができる(206)。ビデオ・エンコーダは、候補の予測された動きベクトルを種々の方法で選択することができる。例えば、ビデオ・エンコーダは、候補の予測された動きベクトルに関連する各々の予測ピクチャ・ブロックのレート歪コストを分析することによって、1つの候補の予測された動きベクトルを選択することができる。 After generating a list of candidate predicted motion vectors for the current PU, the video encoder generates a predictive picture block associated with the candidate's predicted motion vector in the list of candidate predicted motion vectors. Can be (204). The video encoder determines the current PU motion information based on the motion information of the indicated candidate's predicted motion vector, and then generates a predictive picture block associated with the candidate's predicted motion vector. Therefore, it is possible to generate a predictive picture block based on one or more reference blocks indicated by the motion information of the current PU. The video encoder can then select one candidate predicted motion vector from the list of candidate predicted motion vectors (206). The video encoder can select candidate predicted motion vectors in various ways. For example, the video encoder can select one candidate predicted motion vector by analyzing the rate distortion cost of each predicted picture block associated with the candidate predicted motion vector.

候補の予測された動きベクトルを選択した後に、ビデオ・エンコーダは、候補の予測された動きベクトル・インデックスを出力することができる(208)。また、候補の予測された動きベクトル・インデックスは、参照フレーム・リスト・インデックスでもあり、候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリストから選択された候補の予測された動きベクトルの位置を示すことができる。幾つかの実現可能な実装では、候補の予測された動きベクトル・インデックスは「merge_idx」として表現されてもよい。 After selecting a candidate's predicted motion vector, the video encoder can output the candidate's predicted motion vector index (208). The candidate's predicted motion vector index is also the reference frame list index, and the candidate's predicted motion vector index is the candidate's predicted motion vector index selected from the candidate's list of predicted motion vectors. The position of the motion vector can be shown. In some feasible implementations, the candidate's predicted motion vector index may be expressed as "merge_idx".

図11は、本願の実施形態によるアドバンスト動きベクトル予測モードの一例のフローチャートである。ビデオ・エンコーダ(例えば、ビデオ・エンコーダ20)は、AMVP演算210を実行することができる。 FIG. 11 is a flowchart of an example of the advanced motion vector prediction mode according to the embodiment of the present application. The video encoder (eg, video encoder 20) can perform AMVP operation 210.

ビデオ・エンコーダがAMVP演算210を開始した後、ビデオ・エンコーダは、現在のPUに対して1つ以上の動きベクトルを生成することができる(211)。ビデオ・エンコーダは、現在のPUのための動きベクトルを生成するために、整数動き推定及び分数動き推定を実行することができる。上述のように、現在のピクチャは、2つの参照ピクチャ・リスト(リスト0及びリスト1)と関連付けられる可能性がある。一方向予測が現在のPUで実行される場合、ビデオ・エンコーダは、現在のPUのためのリスト−0動きベクトル又はリスト−1動きベクトルを生成することができる。リスト−0動きベクトルは、現在のPUのためのピクチャ・ブロックと、リスト0における参照ピクチャの参照ブロックとの間の空間的変位を示すことができる。リスト−1動きベクトルは、現在のPUのためのピクチャ・ブロックと、リスト1における参照ピクチャの参照ブロックとの間の空間的変位を示すことができる。双方向予測が現在のPUで実行される場合、ビデオ・エンコーダは、現在のPUのためのリスト−0動きベクトル及びリスト−1動きベクトルを生成することができる。 After the video encoder initiates the AMVP operation 210, the video encoder can generate one or more motion vectors for the current PU (211). The video encoder can perform integer motion estimation and fractional motion estimation to generate motion vectors for the current PU. As mentioned above, the current picture may be associated with two reference picture lists (List 0 and List 1). If one-way prediction is performed on the current PU, the video encoder can generate a List-0 motion vector or a List-1 motion vector for the current PU. The list-0 motion vector can indicate the spatial displacement between the picture block for the current PU and the reference block of the reference picture in list 0. The Listing-1 motion vector can indicate the spatial displacement between the picture block for the current PU and the reference block of the reference picture in Listing 1. If bidirectional prediction is performed on the current PU, the video encoder can generate a List-0 motion vector and a List-1 motion vector for the current PU.

現在のPUに対する1つ以上の動きベクトルを生成した後、ビデオ・エンコーダは、現在のPUに対する予測ピクチャ・ブロックを生成してもよい(212)。ビデオ・エンコーダは、現在のPUに対する1つ以上の動きベクトルによって示される1つ以上の参照ブロックに基づいて、現在のPUに対する予測ピクチャ・ブロックを生成することができる。 After generating one or more motion vectors for the current PU, the video encoder may generate a predictive picture block for the current PU (212). The video encoder can generate a predictive picture block for the current PU based on one or more reference blocks indicated by one or more motion vectors for the current PU.

更に、ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを生成することができる(213)。ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストを、種々の方法で生成することができる。例えば、ビデオ・エンコーダは、図6ないし図9に関連して以下で説明される1つ以上の実現可能な実装に従って、現在のPUのための候補の予測された動きベクトルのリストを生成することができる。幾つかの実現可能な実装では、ビデオ・エンコーダがAMVP演算210において候補の予測された動きベクトルのリストを生成する場合に、候補の予測された動きベクトルのリストは、2つの候補の予測された動きベクトルに制限される可能性がある。対照的に、ビデオ・エンコーダがマージ演算において候補の予測された動きベクトルのリストを生成する場合には、候補の予測された動きベクトルのリストは、より多くの候補の予測された動きベクトル(例えば、5つの候補の予測された動きベクトル)を含む可能性がある。 In addition, the video encoder can generate a list of candidate predicted motion vectors for the current PU (213). The video decoder can generate a list of candidate predicted motion vectors for the current PU in a variety of ways. For example, a video encoder may generate a list of candidate predicted motion vectors for the current PU according to one or more feasible implementations described below in connection with FIGS. 6-9. Can be done. In some feasible implementations, if the video encoder produces a list of candidate predicted motion vectors in AMVP operation 210, the list of candidate predicted motion vectors will be two candidate predicted motion vectors. May be limited to motion vectors. In contrast, if the video encoder produces a list of candidate predicted motion vectors in a merge operation, the list of candidate predicted motion vectors will be a list of more candidate predicted motion vectors (eg,). It may contain 5 candidate predicted motion vectors).

現在のPUに対する候補の予測された動きベクトルのリストを生成した後、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおいて、各々の候補の予測された動きベクトルに対して1つ以上の動きベクトル差分(MVD)を生成することができる(214)。ビデオ・エンコーダは、候補の予測された動きベクトルによって示される動きベクトルと、現在のPUに対する対応する動きベクトルとの間の差分を決定して、候補の予測された動きベクトルに対する動きベクトル差分を生成することができる。 After generating a list of candidate predicted motion vectors for the current PU, the video encoder will in the list of candidate predicted motion vectors one or more for each candidate's predicted motion vector. A motion vector difference (MVD) can be generated (214). The video encoder determines the difference between the motion vector indicated by the candidate's predicted motion vector and the corresponding motion vector for the current PU to generate the motion vector difference for the candidate's predicted motion vector. can do.

一方向予測が現在のPUに対して実行される場合、ビデオ・エンコーダは、各々の候補の予測された動きベクトルに対して単一のMVDを生成することができる。双方向予測が現在のPUに対して実行される場合、ビデオ・エンコーダは、各々の候補の予測された動きベクトルに対して2つのMVDを生成することができる。第1MVDは、候補の予測された動きベクトルによって示される動きベクトルと、現在のPUに対するリスト−0動きベクトルとの間の差分を示すことができる。第2MVDは、候補の予測された動きベクトルによって示される動きベクトルと、現在のPUに対するリスト−1動きベクトルとの間の差分を示すことができる。 If one-way prediction is performed on the current PU, the video encoder can generate a single MVD for each candidate predicted motion vector. If bidirectional prediction is performed on the current PU, the video encoder can generate two MVDs for each candidate predicted motion vector. The first MVD can show the difference between the motion vector represented by the candidate predicted motion vector and the list-0 motion vector for the current PU. The second MVD can show the difference between the motion vector represented by the candidate's predicted motion vector and the List-1 motion vector for the current PU.

ビデオ・エンコーダは、候補の予測された動きベクトルのリストから1つ以上の候補の予測された動きベクトルを選択することができる(215)。ビデオ・エンコーダは、1つ以上の候補の予測された動きベクトルを、種々の方法で選択することができる。例えば、ビデオ・エンコーダは、符号化対象の動きベクトルの関連する動きベクトルに最小誤差で合致する候補の予測された動きベクトルを選択することができる。これは、候補の予測された動きベクトルに対する動きベクトル差分を表現するために必要なビット量を削減することができる。 The video encoder can select one or more candidate predicted motion vectors from the list of candidate predicted motion vectors (215). The video encoder can select one or more candidate predicted motion vectors in various ways. For example, the video encoder can select a candidate predicted motion vector that matches the associated motion vector of the motion vector to be encoded with minimal error. This can reduce the amount of bits required to represent the motion vector difference for the candidate's predicted motion vector.

1つ以上の候補の予測された動きベクトルを選択した後、ビデオ・エンコーダは、現在のPUに対する1つ以上の参照ピクチャ・インデックスと、現在のPUに対する1つ以上の候補の予測された動きベクトル・インデックスと、1つ以上の選択された候補の予測された動きベクトルに対する1つ以上の動きベクトル差分とを出力することができる(216)。 After selecting one or more candidate predicted motion vectors, the video encoder will have one or more reference picture indexes for the current PU and one or more candidate predicted motion vectors for the current PU. It is possible to output the index and one or more motion vector differences with respect to the predicted motion vector of one or more selected candidates (216).

現在のピクチャが2つの参照ピクチャ・リスト(リスト0及びリスト1)に関連付けられ、一方向予測が現在のPUに対して実行される例において、ビデオ・エンコーダは、リスト0に対する参照ピクチャ・インデックス(「ref_idx_10」)又はリスト1に対する参照ピクチャ・インデックス(「ref_idx_11」)を出力することができる。ビデオ・エンコーダは、更に、候補の予測された動きベクトルのリスト内で、現在のPUに対するリスト−0動きベクトルの選択された候補の予測された動きベクトルの位置を示す候補の予測された動きベクトル・インデックス(「mvp_10_flag」)を出力することができる。代替的に、ビデオ・エンコーダは、候補の予測された動きベクトルのリスト内で、現在のPUに対するリスト−1動きベクトルの選択された候補の予測された動きベクトルの位置を示す候補の予測された動きベクトル・インデックス(「mvp_11_flag」)を出力することができる。ビデオ・エンコーダは、更に、現在のPUに対するリスト−0動きベクトル又はリスト−1動きベクトルに対するMVDを出力することができる。 In an example where the current picture is associated with two reference picture lists (List 0 and List 1) and one-way prediction is performed for the current PU, the video encoder has a reference picture index to List 0 (List 0). A reference picture index (“ref_idx_11”) for “ref_idx_10”) or Listing 1 can be output. The video encoder also provides a candidate predicted motion vector that indicates the position of the selected candidate's predicted motion vector for the list-0 motion vector with respect to the current PU within the list of candidate predicted motion vectors. -The index ("mbp_10_flag") can be output. Alternatively, the video encoder is a candidate's predicted motion vector that indicates the position of the selected candidate's predicted motion vector for the list-1 motion vector with respect to the current PU within the list of candidate's predicted motion vectors. A motion vector index ("mvp_11_flag") can be output. The video encoder can also output a List-0 motion vector for the current PU or an MVD for the List-1 motion vector.

現在のピクチャが2つの参照ピクチャ・リスト(リスト0及びリスト1)に関連付けられており、且つ双方向予測が現在のPUに対して実行される例において、ビデオ・エンコーダは、リスト0に対して参照ピクチャ・インデックス(「ref_idx_10」)及びリスト1に対して参照ピクチャ・インデックス(「ref_idx_11」)を出力することができる。更に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおける現在のPUに対するリスト−0動きベクトルの選択された候補の予測された動きベクトルの位置を示す、候補の予測された動きベクトル・インデックス(「mvp_10_flag」)を出力することができる。更に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおける現在のPUに対するリスト−1動きベクトルの選択された候補の予測された動きベクトルの位置を示す、候補の予測された動きベクトル・インデックス(「mvp_11_flag」)を出力することができる。ビデオ・エンコーダは、更に、現在のPUに対するリスト−0動きベクトルに対するMVDと、現在のPUに対するリスト−1動きベクトルに対するMVDとを出力することができる。 In an example where the current picture is associated with two reference picture lists (List 0 and List 1) and bidirectional prediction is performed for the current PU, the video encoder is for List 0. A reference picture index (“ref_idx_11”) can be output for the reference picture index (“ref_idx_10”) and list 1. In addition, the video encoder indicates the position of the selected candidate's predicted motion vector for the list-0 motion vector with respect to the current PU in the list of candidate's predicted motion vectors. The index ("mvp_10_flag") can be output. In addition, the video encoder indicates the position of the selected candidate's predicted motion vector of the list-1 motion vector with respect to the current PU in the list of candidate's predicted motion vectors. The index ("mvp_11_flag") can be output. The video encoder can also output an MVD for the List-0 motion vector for the current PU and an MVD for the List-1 motion vector for the current PU.

図12は、本願の実施形態による、ビデオ・デコーダ(例えば、ビデオ・デコーダ30)によって実行される動き補償の一例のフローチャートである。 FIG. 12 is a flowchart of an example of motion compensation performed by a video decoder (eg, video decoder 30) according to an embodiment of the present application.

ビデオ・デコーダが動き補償演算を実行する場合220、ビデオ・デコーダは、現在のPUに対して選択された候補の予測された動きベクトルの指示を受けることができる(222)。例えば、ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を示す、候補の予測された動きベクトル・インデックスを受信することができる。 If the video decoder performs a motion compensation operation 220, the video decoder can be instructed by the predicted motion vector of the selected candidate for the current PU (222). For example, the video decoder receives a candidate predicted motion vector index indicating the position of the selected candidate's predicted motion vector in the list of candidate predicted motion vectors for the current PU. be able to.

現在のPUの動き情報がAMVPモードで符号化され、双方向予測が現在のPUに対して実行される場合、ビデオ・デコーダは、第1候補の予測された動きベクトル・インデックスと第2候補の予測された動きベクトル・インデックスとを受信することができる。第1候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリスト中の現在のPUに対するリスト−0動きベクトルの選択された候補の予測された動きベクトルの位置を示す。第2候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリスト中の現在のPUに対するリスト−1動きベクトルの選択された候補の予測された動きベクトルの位置を示す。幾つかの実現可能な実装において、単一のシンタックス要素が、2つの候補の予測された動きベクトル・インデックスを識別するために使用されることが可能である。 If the motion information of the current PU is encoded in AMVP mode and bidirectional prediction is performed for the current PU, the video decoder will have the predicted motion vector index of the first candidate and the second candidate. It is possible to receive the predicted motion vector index. The predicted motion vector index of the first candidate indicates the position of the predicted motion vector of the selected candidate of the list-0 motion vector with respect to the current PU in the list of predicted motion vectors of the candidate. The predicted motion vector index of the second candidate indicates the position of the predicted motion vector of the selected candidate of the list-1 motion vector with respect to the current PU in the list of predicted motion vectors of the candidate. In some feasible implementations, a single syntax element can be used to identify the predicted motion vector indexes of the two candidates.

更に、ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストを生成することができる(224)。ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストを、種々の方法で生成することができる。例えば、ビデオ・デコーダは、図5ないし図9に関連して後述される技術を使用することによって、現在のPUのための候補の予測された動きベクトルのリストを生成することができる。ビデオ・デコーダが候補の予測された動きベクトルのリストのための時間的な候補の予測された動きベクトルを生成する場合に、ビデオ・デコーダは、図10に関して上述したように、同一位置にあるPUを含む参照ピクチャを識別する参照ピクチャ・インデックスを明示的又は暗黙的に設定することができる。 In addition, the video decoder can generate a list of candidate predicted motion vectors for the current PU (224). The video decoder can generate a list of candidate predicted motion vectors for the current PU in a variety of ways. For example, a video decoder can generate a list of candidate predicted motion vectors for the current PU by using the techniques described below in connection with FIGS. 5-9. If the video decoder produces a candidate predicted motion vector in time for a list of candidate predicted motion vectors, the video decoder will be co-located PU as described above with respect to FIG. A reference picture index that identifies the reference picture containing the can be set explicitly or implicitly.

現在のPUに対する候補の予測された動きベクトルのリストを生成した後に、ビデオ・デコーダは、現在のPUに対する候補の予測された動きベクトルのリストにおける1つ以上の候補の予測された動きベクトルによって示される動き情報に基づいて、現在のPUに対する動き情報を決定することができる(225)。例えば、現在のPUの動き情報がマージ・モードで符号化される場合、現在のPUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。現在のPUの動き情報がAMVPモードで符号化される場合、ビデオ・デコーダは、選択された候補の予測された動きベクトルによって示される1つ以上の動きベクトルとビットストリームで示される1つ以上のMVDとを使用することによって、現在のPUのための1つ以上の動きベクトルを再構成することができる。現在のPUの参照ピクチャ・インデックス及び予測方向識別子は、1つ以上の参照ピクチャ・インデックス、及び1つ以上の選択された候補の予測された動きベクトルの1つ以上の予測方向識別子と同一であってもよい。現在のPUのための動き情報を決定した後に、ビデオ・デコーダは、現在のPUのための動き情報によって示される1つ以上の参照ブロックに基づいて、現在のPUのための予測ピクチャ・ブロックを生成することができる(226)。 After generating a list of candidate predicted motion vectors for the current PU, the video decoder is indicated by one or more candidate predicted motion vectors in the list of candidate predicted motion vectors for the current PU. Based on the motion information, the motion information for the current PU can be determined (225). For example, if the current PU motion information is encoded in merge mode, the current PU motion information may be the same as the motion information indicated by the predicted motion vector of the selected candidate. If the current PU motion information is encoded in AMVP mode, the video decoder will have one or more motion vectors represented by the predicted motion vectors of the selected candidates and one or more represented by the bitstream. By using with MVD, one or more motion vectors for the current PU can be reconstructed. The current PU reference picture index and predictive direction identifier are identical to one or more reference picture indexes and one or more predictive direction identifiers of one or more selected candidate predicted motion vectors. You may. After determining the motion information for the current PU, the video decoder determines the predicted picture block for the current PU based on one or more reference blocks indicated by the motion information for the current PU. Can be generated (226).

図13は、本願の実施形態によるビデオ符号化中に動きベクトルを更新する一例のフローチャートである。処理対象のピクチャ・ブロックは、符号化対象のブロックである。 FIG. 13 is an example flowchart for updating the motion vector during video coding according to the embodiment of the present application. The picture block to be processed is a block to be encoded.

1301:処理対象のピクチャ・ブロックの予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの初期の動きベクトルを取得する。 1301: Acquires the initial motion vector of the picture block to be processed based on the predicted motion vector of the picture block to be processed.

実行可能な実装において、例えば、マージ・モードでは、処理対象のピクチャ・ブロックの予測された動きベクトルは、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用される。 In a viable implementation, for example, in merge mode, the predicted motion vector of the picture block to be processed is used as the initial motion vector of the picture block to be processed.

処理対象のピクチャ・ブロックの予測された動きベクトルは、本願の実施形態における図6ないし図9に示される方法、又はH.265規格又はJEM参照モードにおける任意の何れかの既存の予測された動きベクトル取得方法によって取得されることが可能である。これは限定されない。動きベクトル差分は、処理対象のピクチャ・ブロックに関連して取得されることが可能である。動き推定は、処理対象のピクチャ・ブロックの予測された動きベクトルに基づいて決定された探索範囲内で実行され、動き推定後に得られた処理対象のピクチャ・ブロックの動きベクトルと処理対象のピクチャ・ブロックの予測された動きベクトルとの間の差分が、動きベクトル差分として使用される。 The predicted motion vector of the picture block to be processed is the method shown in FIGS. 6 to 9 in the embodiment of the present application, or H. It can be acquired by any existing predicted motion vector acquisition method in the 265 standard or JEM reference mode. This is not limited. The motion vector difference can be acquired in relation to the picture block to be processed. Motion estimation is performed within a search range determined based on the predicted motion vector of the picture block to be processed, and the motion vector of the picture block to be processed and the picture to be processed obtained after motion estimation. The difference between the block and the predicted motion vector is used as the motion vector difference.

双方向予測の間に、このステップは具体的には:処理対象のピクチャ・ブロックの前方予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの第1の初期の動きベクトルを取得するステップと、処理対象のピクチャ・ブロックの後方予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの第2の初期の動きベクトルを取得するステップとを含む。 During bidirectional prediction, this step specifically: Get the first initial motion vector of the picture block to be processed based on the forward predicted motion vector of the picture block to be processed. And the step of acquiring a second initial motion vector of the picture block to be processed based on the backward predicted motion vector of the picture block to be processed.

1302:初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、処理対象のピクチャ・ブロックの予測ブロックを取得する。詳細は以下の通りである: 1302: Obtains a predicted block of picture blocks to be processed based on the initial motion vector and one or more preset motion vector offsets. Details are as follows:

S13021:処理対象のピクチャ・ブロックの参照フレーム・インデックスで示される処理対象のピクチャ・ブロックの参照フレームから、処理対象のピクチャ・ブロックの初期の動きベクトルで示されるピクチャ・ブロックを取得し、処理対象のピクチャ・ブロックの時間的な予測ブロックとして供給する。 S13021: The picture block represented by the initial motion vector of the picture block to be processed is acquired from the reference frame of the picture block to be processed indicated by the reference frame index of the picture block to be processed, and the processing target is obtained. It is supplied as a time prediction block of the picture block of.

初期の動きベクトルは、第1の初期の動きベクトルと第2の初期の動きベクトルとを含む。第1の初期の動きベクトルは、処理対象のピクチャ・ブロックの第1の参照フレーム・タイプに基づいて第1動き補正ブロックを示し、第1動き補正ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための参照ブロックである。第2の初期の動きベクトルは、処理対象のピクチャ・ブロックの第2の参照フレーム・リストに基づいて第2動き補正ブロックを示し、第2動き補正ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための参照ブロックである。 The initial motion vector includes a first initial motion vector and a second initial motion vector. The first initial motion vector indicates a first motion compensation block based on the first reference frame type of the picture block to be processed, and the first motion compensation block is motion compensation in the picture block to be processed. Is a reference block for executing. The second initial motion vector indicates a second motion compensation block based on the second reference frame list of the picture block to be processed, and the second motion compensation block is motion compensation in the picture block to be processed. Is a reference block for executing.

13022:1つ以上の最終的な動きベクトルを取得するために、処理対象のピクチャ・ブロックの初期の動きベクトルと、1つ以上の前もってセットされた動きベクトル・オフセットとを加える。ここで、各々の最終的な動きベクトルは探索位置を示す。 13022: To get one or more final motion vectors, add the initial motion vector of the picture block to be processed and one or more preset motion vector offsets. Here, each final motion vector indicates a search position.

前もってセットされた動きベクトル・オフセットは、前もってセットされたオフセット・ベクトル値であってもよいし、前もってセットされたオフセット・ベクトル精度であってもよいし、又は前もってセットされたオフセット・ベクトル・レンジであってもよい。前もってセットされた動きベクトル・オフセットの具体的な値、及び前もってセットされた動きベクトル・オフセットの量は、本発明のこの実施形態において限定されない。 The preset motion vector offset may be a preset offset vector value, a preset offset vector accuracy, or a preset offset vector range. May be. The specific value of the preset motion vector offset and the amount of the preset motion vector offset are not limited in this embodiment of the invention.

最終的な動きベクトルは、第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含む。第1の最終的な動きベクトルは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて第1動き補償ブロックを示し、第1動き補償ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための予測ブロックである。第2の最終的な動きベクトルは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて第2動き補償ブロックを示し、第2動き補償ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための予測ブロックである。 The final motion vector includes a first final motion vector and a second final motion vector. The first final motion vector indicates a first motion compensation block based on the first reference frame list of the picture block to be processed, and the first motion compensation block is motion compensation in the picture block to be processed. Is a predictive block for executing. The second final motion vector indicates a second motion compensation block based on the second reference frame list of the picture block to be processed, and the second motion compensation block is motion compensation in the picture block to be processed. Is a predictive block for executing.

13023:1つ以上の最終的な動きベクトルによって示される1つ以上の探索位置において1つ以上の候補の予測ブロックを取得する。ここで、各々の探索位置は1つの候補予測ブロックに対応する。 13023: Acquire one or more candidate prediction blocks at one or more search positions indicated by one or more final motion vectors. Here, each search position corresponds to one candidate prediction block.

13024:1つ以上の候補の予測ブロックから、時間的な予測ブロックからのピクセル差分が最小の候補の予測ブロックを、処理対象のピクチャ・ブロックの予測ブロックとして選択する。 13024: From one or more candidate prediction blocks, the candidate prediction block with the smallest pixel difference from the temporal prediction block is selected as the prediction block for the picture block to be processed.

最小ピクセル差分はまた、最小歪コストとして理解されてもよい。この場合、予測ブロックの最終的な動きベクトルは、複数の候補の最終的な動きベクトルにおける最小歪コストに対応する候補の最終的な動きベクトルである。歪コストは、複数の方法で計算されてもよいことが、理解されるべきである。例えば、候補予測ブロックと時間的な予測ブロックとのピクセル行列間の絶対差分の合計が計算されてもよいし、又は、ピクセル行列の平均が除去された後の絶対差分の合計が計算されてもよいし、又は、ピクセル行列の別の比較的正確な値が計算されてもよい。最小歪コストの具体的な内容は、本発明のこの実施形態では限定されない。 The minimum pixel difference may also be understood as the minimum distortion cost. In this case, the final motion vector of the prediction block is the candidate final motion vector corresponding to the minimum strain cost in the final motion vectors of the plurality of candidates. It should be understood that strain costs may be calculated in multiple ways. For example, the sum of the absolute differences between the pixel matrices of the candidate prediction block and the temporal prediction block may be calculated, or the sum of the absolute differences after the pixel matrix averages have been removed may be calculated. Alternatively, another relatively accurate value of the pixel matrix may be calculated. The specific content of the minimum strain cost is not limited to this embodiment of the present invention.

双方向予測の間において、このステップは具体的には:処理対象のピクチャ・ブロックの第1参照フレーム・インデックスによって示される処理対象のピクチャ・ブロックの第1参照フレーム・リストから、処理対象のピクチャ・ブロックの第1の初期の動きベクトルによって示される第1ピクチャ・ブロックを取得するステップであって、第1ピクチャ・ブロックは前方参照ブロックであり、相応して第1の初期の動きベクトルは前方の初期の動きベクトルであってもよい、ステップと、処理対象のピクチャ・ブロックの第2参照フレーム・リストによって示される処理対象のピクチャ・ブロックの第2参照フレーム・リストから、処理対象のピクチャ・ブロックの第2の初期の動きベクトルによって示される第2ピクチャ・ブロックを取得するステップであって、第2ピクチャ・ブロックは後方参照ブロックであり、相応して第2の初期の動きベクトルは後方の初期の動きベクトルであってもよい、ステップと、処理対象のピクチャ・ブロックの時間予測ブロック・ブロックを取得するために、第1ピクチャ・ブロック及び第2ピクチャ・ブロックに対する重み付け処理を実行するステップと、1つ以上の第1の最終的な動きベクトルを取得するために、処理対象のピクチャ・ブロックの第1の初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを加算し、1つ以上の第2の最終的な動きベクトルを取得するために、処理対象のピクチャ・ブロックの第2の初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを加算するステップと、1つ以上の第1の最終的な動きベクトルによって示される1つ以上の探索位置で1つ以上の第1候補予測ブロックを取得し、1つ以上の第2の最終的な動きベクトルによって示される1つ以上の探索位置で1つ以上の第1候補予測ブロックを取得するステップと、1つ以上の第1候補予測ブロックから、時間予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの第1予測ブロックとして選択し、1つ以上の後方の候補予測ブロックから、時間予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの第2予測ブロックとして選択するステップと、処理対象のピクチャ・ブロックの予測ブロックを取得するために、第1予測ブロック及び第1予測ブロックに対する重み付け処理を実行するステップとを含む。 During bidirectional prediction, this step is specifically: the picture to be processed from the first reference frame list of the picture block to be processed indicated by the first reference frame index of the picture block to be processed. The step of acquiring the first picture block indicated by the first initial motion vector of the block, where the first picture block is the forward reference block and correspondingly the first initial motion vector is forward. From the step and the second reference frame list of the picture block to be processed indicated by the second reference frame list of the picture block to be processed, which may be the initial motion vector of. The step of retrieving the second picture block indicated by the block's second initial motion vector, where the second picture block is the back reference block and correspondingly the second initial motion vector is backward. A step that may be an initial motion vector and a step that performs weighting processing on the first picture block and the second picture block in order to acquire the time prediction block block of the picture block to be processed. To get one or more first final motion vectors, add the first initial motion vector of the picture block to be processed and one or more preset motion vector offsets. To get one or more second final motion vectors, add the second initial motion vector of the picture block to be processed and one or more preset motion vector offsets. Obtain one or more first candidate prediction blocks at one or more search positions indicated by a step and one or more first final motion vectors, and one or more second final motion vectors. A step of acquiring one or more first candidate prediction blocks at one or more search positions indicated by, and a candidate prediction block having the smallest pixel difference from the time prediction block from one or more first candidate prediction blocks. , The candidate prediction block having the smallest pixel difference from the time prediction block from one or more backward candidate prediction blocks is selected as the first prediction block of the picture block to be processed. 2 The first prediction block to acquire the step to select as the prediction block and the prediction block of the picture block to be processed. A step of executing a weighting process for the first prediction block and the first prediction block is included.

一部の実施形態では、複数の候補の最終的な動きベクトルにおける最小歪コストに対応する候補の最終動きベクトルによって示される方向の別の動きベクトルが、代替的に、予測ブロックの最終的な動きベクトルとして使用されてもよい。具体的には、予測ブロックの最終的な動きベクトルは、第1の前もってセットされた条件に基づいて選択されてもよい。 In some embodiments, another motion vector in the direction indicated by the candidate's final motion vector corresponding to the minimum strain cost in the final motion vector of the plurality of candidates is, instead, the final motion of the predicted block. It may be used as a vector. Specifically, the final motion vector of the prediction block may be selected based on the first preset condition.

可能な実装において、複数の候補の最終的な動きベクトルは、複数の方向における複数の動きベクトルであってもよい。先ず、各方向の特定の精度が選択されてもよい。例えば、整数ピクセル精度を有する候補の最終的な動きベクトルが、各方向の第1ベクトルとして使用され、最小歪コストに対応する第1ベクトルが、複数の第1ベクトルから参照ベクトルとして選択される。参照ベクトルに対応する歪コストAと、負の方向の参照ベクトルに対応する第2ベクトルに対応する歪コストCと、初期の動きベクトルに対応する歪コストBとの間の第1の前もってセットされた関係が、第1の前もってセットされた条件を満たす場合、参照ベクトルが、予測ブロックの最終的な動きベクトルとして使用される。参照ベクトルに対応する歪コストAと、負の方向の参照ベクトルに対応する第2ベクトルに対応する歪コストCと、初期の動きベクトルに対応する歪コストBとの間の第1の前もってセットされた関係が、第1の前もってセットされた条件を満たさない場合において、A及びBが第2の前もってセットされた条件を満たすならば、第1ベクトルの長さは、第3ベクトルを得るために前もってセットされた精度で減らされ、第3ベクトルが、予測ブロックの第1ターゲット・ベクトルとして使用される。A及びBが第2の前もってセットされた条件を満たさない場合において、B及びCが第3の前もってセットされた条件を満たすならば、第1ベクトルの長さは、第4ベクトルを得るために前もってセットされた精度で増やされ、第4ベクトルが、予測ブロックの第1ターゲット・ベクトルとして使用される。B及びCが第3の前もってセットされた条件を満たさない場合には、特定のループ・カウントが設定される。各ループでは、参照ベクトルのオフセットが最初に更新される。具体的には、A、B、Cの間の第2の前もってセットされた関係が第4の前もってセットされた条件を満たす場合、参照ベクトルのオフセットが更新される。A、B、Cの間の第2の前もってセットされた関係が第4の前もってセットされた条件を満たさないか、又はループ・カウントが0まで減った場合、参照ベクトルのオフセットは更新されず、ループは終了する。ループが終了した後、オフセットの方向が、A及びCの値の関係に基づいて決定され、オフセットの方向は正方向又は負方向を含む。参照ベクトル、オフセット、及びオフセットの方向に基づいて第5ベクトルが取得され、第5ベクトルは、予測ブロックの第1ターゲット・ベクトルとして使用される。最終的に、第1ターゲット・ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。第1の前もってセットされた関係は、比例関係、差分関係、又は値の関係であってもよい。第1の前もってセットされた条件は、A、C、及びBの間の第1の前もってセットされた関係が、前もってセットされた値に等しいことであってもよいし、第2の前もってセットされた条件は、AがBに等しいことであってもよいし、第3の前もってセットされた条件は、BがCに等しいことであってもよい。第1の前もってセットされた関係、第1の前もってセットされた条件、前もってセットされた値、第2の前もってセットされた条件、第3の前もってセットされた条件、第2の前もってセットされた関係、及び第4の前もってセットされた条件は、本発明のこの実施形態において特に限定されない。 In a possible implementation, the final motion vector of the plurality of candidates may be a plurality of motion vectors in multiple directions. First, a particular accuracy in each direction may be selected. For example, the final motion vector of the candidate with integer pixel accuracy is used as the first vector in each direction, and the first vector corresponding to the minimum strain cost is selected as the reference vector from the plurality of first vectors. The first pre-set between the strain cost A corresponding to the reference vector, the strain cost C corresponding to the second vector corresponding to the negative reference vector, and the strain cost B corresponding to the initial motion vector. If the relationship satisfies the first preset condition, the reference vector is used as the final motion vector of the prediction block. The first pre-set between the strain cost A corresponding to the reference vector, the strain cost C corresponding to the second vector corresponding to the negative reference vector, and the strain cost B corresponding to the initial motion vector. If the relationship does not satisfy the first preset condition and A and B satisfy the second preset condition, then the length of the first vector is to obtain the third vector. Decreased with a preset precision, the third vector is used as the first target vector of the prediction block. If A and B do not meet the second preset condition, and B and C satisfy the third preset condition, then the length of the first vector is to obtain the fourth vector. Increased with preset precision, the fourth vector is used as the first target vector of the prediction block. If B and C do not meet the third preset condition, a particular loop count is set. In each loop, the offset of the reference vector is updated first. Specifically, if the second preset relationship between A, B, C satisfies the fourth preset condition, the offset of the reference vector is updated. If the second pre-set relationship between A, B, C does not meet the fourth pre-set condition, or the loop count drops to zero, the offset of the reference vector is not updated. The loop ends. After the loop ends, the direction of the offset is determined based on the relationship between the values of A and C, and the direction of the offset includes the positive or negative direction. A fifth vector is obtained based on the reference vector, the offset, and the direction of the offset, and the fifth vector is used as the first target vector of the prediction block. Finally, the first target vector is used as the final motion vector of the prediction block. The first pre-set relationship may be a proportional relationship, a differential relationship, or a value relationship. The first pre-set condition may be that the first pre-set relationship between A, C, and B is equal to the pre-set value, or the second pre-set. The condition may be that A is equal to B, and the third pre-set condition may be that B is equal to C. 1st pre-set relationship, 1st pre-set condition, pre-set value, 2nd pre-set condition, 3rd pre-set condition, 2nd pre-set relationship , And the fourth pre-set conditions are not particularly limited in this embodiment of the invention.

例えば、8つの候補の動きベクトルが存在し、8つの候補の動きベクトルは、予測ブロックの上方向、下方向、左方向、及び右方向の4方向に位置する。各方向に2つの候補の動きベクトルが存在する。4つの第1ベクトルを得るために、最大長の候補の動きベクトルが、4つの方向のそれぞれからを先ず選択される。上方向の第1ベクトルが最小歪コストに対応する場合、上方向の第1ベクトルが参照ベクトルとして使用され、即ち、予測ブロックの最終的なベクトルは正方向の動きベクトルである。第1の前もってセットされた条件は、参照ベクトルに対応する歪コストAと、第2ベクトルに対応する歪コストCと、初期の動きベクトルに対応する歪コストBとの間の比例関係が1であり、第2ベクトルは参照ベクトルとは逆方向の候補の動きベクトルであり、前もってセットされた精度は1/4精度であることが仮定される。この場合において、参照ベクトルに対応する歪コストが2であり、下方向の第1ベクトルに対応する歪コストが4であり、初期の動きベクトルに対応する歪コストが3である場合に、参照ベクトルに対応する歪コスト、下方向の第1ベクトルに対応する歪コスト、及び初期の動きベクトルに対応する歪コストの比例関係が(2×B)/(A+C)であり、比例関係は1であることが仮定される。この場合、参照ベクトルは、前もってセットされたブロックの最終的な動きベクトルとして使用される。下方向の第1ベクトルに対応する歪コストが5であり、比率関係(2×B)/(A+C)が1でない場合、比率は第1の前もってセットされた条件を満たさない。この場合において、AがBに等しい場合、参照ベクトルの長さは、第3ベクトルを得るために、前もってセットされた精度1/4で減らされ、第3ベクトルは、前もってセットされたブロックの最終的な動きベクトルとして使用される。AがBと等しくない場合において、BがCに等しい場合、参照ベクトルの長さは、第4ベクトルを得るために、前もってセットされた精度1/4で増やされ、第4ベクトルは、前もってセットされたブロックの最終的な動きベクトルとして使用される。BがCと等しくない場合、ループ・カウントは3に設定され、参照ベクトルのオフセットの精度は、先ず、各ループで1/8に更新され、A、B、及びCの間の第2の前もってセットされた関係は、K=|(A−C)×16|及びT=((A+C)−2×B)×8であると仮定される。KがT以上である場合に、第4の前もってセットされた条件は満たされ、参照ベクトルのオフセットの精度は1/16に更新される。K及びTは各ループにおいて、K=K−T、及びT=T/2に更新されることが仮定される。ループ係数が0まで減少すると、ループは終了する。ループが終了した後に、A及びCの値の関係に基づいて、オフセットの方向が決定される。AがC以上である場合、オフセットの方向は正の方向である。AがCより小さい場合、オフセットの方向は負の方向である。参照ベクトル、オフセット、及びオフセットの方向に基づいて第5ベクトルが取得され、第5ベクトルは、予測ブロックの第1ターゲット・ベクトルとして使用される。最終的に、第1ターゲット・ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。 For example, there are eight candidate motion vectors, and the eight candidate motion vectors are located in four directions: up, down, left, and right of the prediction block. There are two candidate motion vectors in each direction. To obtain the four first vectors, the maximum length candidate motion vector is first selected from each of the four directions. If the first vector in the upward direction corresponds to the minimum strain cost, the first vector in the upward direction is used as the reference vector, that is, the final vector of the prediction block is the positive motion vector. The first pre-set condition is that the proportional relationship between the strain cost A corresponding to the reference vector, the strain cost C corresponding to the second vector, and the strain cost B corresponding to the initial motion vector is 1. Yes, the second vector is a candidate motion vector in the opposite direction to the reference vector, and it is assumed that the preset precision is 1/4 precision. In this case, when the strain cost corresponding to the reference vector is 2, the strain cost corresponding to the first downward vector is 4, and the strain cost corresponding to the initial motion vector is 3, the reference vector. The proportional relationship between the strain cost corresponding to, the strain cost corresponding to the first downward vector, and the strain cost corresponding to the initial motion vector is (2 × B) / (A + C), and the proportional relationship is 1. Is assumed. In this case, the reference vector is used as the final motion vector of the pre-set block. If the strain cost corresponding to the first vector in the downward direction is 5 and the ratio relationship (2 × B) / (A + C) is not 1, the ratio does not satisfy the first preset condition. In this case, if A is equal to B, the length of the reference vector is reduced by a pre-set precision of 1/4 to obtain the third vector, and the third vector is the final of the pre-set block. Used as a motion vector. If A is not equal to B and B is equal to C, then the length of the reference vector is increased by a pre-set precision of 1/4 to obtain the 4th vector, and the 4th vector is preset. Used as the final motion vector of the block. If B is not equal to C, the loop count is set to 3 and the offset accuracy of the reference vector is first updated to 1/8 in each loop and a second advance between A, B, and C. It is assumed that the set relationships are K = | (AC) × 16 | and T = ((A + C) -2 × B) × 8. If K is greater than or equal to T, the fourth preset condition is satisfied and the offset accuracy of the reference vector is updated to 1/16. It is assumed that K and T are updated to K = KT and T = T / 2 in each loop. When the loop coefficient decreases to 0, the loop ends. After the loop ends, the direction of the offset is determined based on the relationship between the values of A and C. If A is greater than or equal to C, the offset direction is positive. If A is less than C, the offset direction is negative. A fifth vector is obtained based on the reference vector, the offset, and the direction of the offset, and the fifth vector is used as the first target vector of the prediction block. Finally, the first target vector is used as the final motion vector of the prediction block.

確かに、幾つかの実施形態では、参照ベクトルに対応する歪コストと、ターゲット方向の第3ベクトルに対応する歪コストとの間の第3の前もってセットされた関係が、第5の前もってセットされた条件を満たさない場合、第1ベクトルの長さは、第2ターゲット・ベクトルに対応する増加した歪コストが第2ターゲット条件を満たすまで、前もってセットされた精度によって増やされることが可能である。参照ベクトルに対応する歪コストと、ターゲット方向の第3ベクトルに対応する歪コストとの間の第3の前もってセットされた関係が、第5の前もってセットされた条件を満たす場合、第1ベクトルの長さは、第2ターゲット・ベクトルに対応する減少した歪コストがターゲット条件を満たすまで、前もってセットされた精度によって減らされることが可能である。ターゲット方向は参照ベクトルの方向以外の任意の方向である。第3の前もってセットされた関係、第5の前もってセットされた条件、及びターゲット条件は、本発明のこの実施形態において具体的に限定されない。 Indeed, in some embodiments, a third pre-set relationship between the strain cost corresponding to the reference vector and the strain cost corresponding to the third vector in the target direction is set in the fifth pre-set. If the above conditions are not met, the length of the first vector can be increased by the preset accuracy until the increased strain cost corresponding to the second target vector meets the second target condition. If the third preset relationship between the strain cost corresponding to the reference vector and the strain cost corresponding to the third vector in the target direction satisfies the fifth preset condition, then the first vector. The length can be reduced by the preset accuracy until the reduced strain cost corresponding to the second target vector meets the target condition. The target direction is any direction other than the direction of the reference vector. The third pre-set relationship, the fifth pre-set condition, and the target condition are not specifically limited in this embodiment of the invention.

幾つかの実施態様において、参照ベクトルに対応する歪コストのうちの第4の前もってセットされた関係、ターゲット方向の第3ベクトルに対応する歪コスト、及び中間ベクトルに対応する歪コストが、第6の前もってセットされた条件を満たす場合、第3ターゲット・ベクトルは、前もってセットされた精度によって参照ベクトルを増加させることによって決定される。参照ベクトルに対応する歪コスト、ターゲット方向の第3ベクトルに対応する歪コスト、及び中間ベクトルに対応する歪コストの間の第4の前もってセットされた関係が、第6の前もってセットされた条件を満たさない場合、第3ターゲット・ベクトルは、前もってセットされた精度によって参照ベクトルを減少させることによって決定される。中間ベクトルは、参照ベクトルと第2ベクトルとの間に位置する動きベクトルである。前もってセットされた精度で参照ベクトルを増加させ、前もってセットされた精度で参照ベクトルを減少させる処理は上述されており、詳細はここで再び説明しない。第4の前もってセットされた関係及び第6の前もってセットされた条件は、本発明のこの実施形態において具体的に限定されない。 In some embodiments, the fourth preset relationship of the strain costs corresponding to the reference vector, the strain cost corresponding to the third vector in the target direction, and the strain cost corresponding to the intermediate vector is the sixth. If the preset condition of is satisfied, the third target vector is determined by increasing the reference vector by the preset accuracy. The fourth pre-set relationship between the strain cost corresponding to the reference vector, the strain cost corresponding to the third vector in the target direction, and the strain cost corresponding to the intermediate vector is the sixth pre-set condition. If not satisfied, the third target vector is determined by decrementing the reference vector with preset precision. The intermediate vector is a motion vector located between the reference vector and the second vector. The process of increasing the reference vector with preset precision and decreasing the reference vector with preset precision has been described above and will not be described in detail here again. The fourth pre-set relationship and the sixth pre-set condition are not specifically limited in this embodiment of the invention.

図14は、本願の実施形態によるビデオ復号化の間に動きベクトルを更新する一例のフローチャートである。処理対象のピクチャ・ブロックは、復号化対象のブロックである。 FIG. 14 is a flowchart of an example of updating a motion vector during video decoding according to an embodiment of the present application. The picture block to be processed is a block to be decoded.

1401:インデックスで示される処理対象のピクチャ・ブロックの予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの初期の動きベクトルを取得する。 1401: The initial motion vector of the picture block to be processed is acquired based on the predicted motion vector of the picture block to be processed indicated by the index.

実行可能な実装において、例えば、マージ・モードでは、処理対象のピクチャ・ブロックの予測された動きベクトルが、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用される。 In a viable implementation, for example, in merge mode, the predicted motion vector of the picture block to be processed is used as the initial motion vector of the picture block to be processed.

処理対象のピクチャ・ブロックの予測された動きベクトルは、本願の実施形態における図6ないし図9に示される方法、又はH.265規格又はJEM参照モードにおける既存の予測動きベクトル取得方法の任意の1つによって取得されることが可能である。これは限定されない。動きベクトル差分は、ビットストリームを解析することによって取得されることが可能である。 The predicted motion vector of the picture block to be processed is the method shown in FIGS. 6 to 9 in the embodiment of the present application, or H. It can be acquired by any one of the existing predicted motion vector acquisition methods in the 265 standard or JEM reference mode. This is not limited. The motion vector difference can be obtained by analyzing the bitstream.

双方向予測の間に、このステップは、具体的には:処理対象のピクチャ・ブロックの前方予測動きベクトルに基づいて、処理対象のピクチャ・ブロックの第1の初期の動きベクトルを取得するステップと、処理対象のピクチャ・ブロックの後方予測動きベクトルに基づいて、処理対象のピクチャ・ブロックの第2の初期の動きベクトルを取得するステップとを含む。 During bidirectional prediction, this step specifically: obtains the first initial motion vector of the picture block to be processed, based on the forward predicted motion vector of the picture block to be processed. , A step of acquiring a second initial motion vector of the picture block to be processed, based on the backward predicted motion vector of the picture block to be processed.

1402:初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、処理対象のピクチャ・ブロックの予測ブロックを取得する。詳細は次のとおりである。 1402: Obtains a predicted block of picture blocks to be processed based on the initial motion vector and one or more preset motion vector offsets. The details are as follows.

S14021:処理対象のピクチャ・ブロックの参照ブロックとして供給するために、処理対象のピクチャ・ブロックの参照フレーム・インデックスで示される処理対象のピクチャ・ブロックの参照フレームから、処理対象のピクチャ・ブロックの初期の動きベクトルで示されるピクチャ・ブロックを取得する。 S14021: The initial stage of the picture block to be processed from the reference frame of the picture block to be processed indicated by the reference frame index of the picture block to be processed in order to be supplied as the reference block of the picture block to be processed. Gets the picture block represented by the motion vector of.

14022:1つ以上の最終的な動きベクトルを得るために、初期の動きベクトルと、処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加える。ここで、各々の最終的な動きベクトルは、探索位置を示す。 14022: To obtain one or more final motion vectors, add the initial motion vector and one or more pre-set motion vector offsets of the picture block to be processed. Here, each final motion vector indicates a search position.

14023:1つ以上の最終的な動きベクトルによって示される1つ以上の探索位置において、1つ以上の候補の予測ブロックを取得する。各々の探索位置は1つの候補の予測ブロックに対応する。 14023: Acquire one or more candidate prediction blocks at one or more search positions indicated by one or more final motion vectors. Each search position corresponds to one candidate prediction block.

14024:1つ以上の候補の予測ブロックから、時間的な予測ブロックからの最小のピクセル差分を有する候補の予測ブロックを、処理対象のピクチャ・ブロックの予測ブロックとして選択する。 14024: From one or more candidate prediction blocks, the candidate prediction block with the smallest pixel difference from the temporal prediction block is selected as the prediction block for the picture block to be processed.

双方向予測の間に、このステップは具体的には:処理対象のピクチャ・ブロックの第1参照フレーム・インデックスによって示される処理対象のピクチャ・ブロックの第1参照フレームから、処理対象のピクチャ・ブロックの第1の初期の動きベクトルによって示される第1ピクチャ・ブロックを取得し、処理対象のピクチャ・ブロックの第2参照フレーム・インデックスによって示される処理対象のピクチャ・ブロックの第2参照フレームから、処理対象のピクチャ・ブロックの第2の初期の動きベクトルによって示される第2ピクチャ・ブロックを取得するステップと、
処理対象のピクチャ・ブロックの時間的な予測ブロックを取得するために、第1ピクチャ・ブロックと第2ピクチャ・ブロックとに対して重み付け処理を実行するステップと、第1の初期の動きベクトルと処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加算して、1つ以上の第1の最終的な動きベクトルを取得し、第2の初期の動きベクトルと処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加算して、1つ以上の第2の最終的な動きベクトルを取得するステップと、1つ以上の第1の最終的な動きベクトルによって示される1つ以上の探索位置における1つ以上の前方候補予測ブロックを取得し、1つ以上の第2の最終的な動きベクトルによって示される1つ以上の探索位置における1つ以上の後方候補予測ブロックを取得するステップと、1つ以上の前方候補予測ブロックから、時間的な予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの前方予測ブロックとして選択し、1つ以上の後方候補予測ブロックから、時間的な予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの後方予測ブロックとして選択するステップと、処理対象のピクチャ・ブロックの予測ブロックを得るために、前方予測ブロック及び後方予測ブロックに対して重み付け処理を実行するステップとを含む。
During bidirectional prediction, this step specifically: From the first reference frame of the picture block to be processed, indicated by the first reference frame index of the picture block to be processed, to the picture block to be processed. Gets the first picture block indicated by the first initial motion vector of, and processes from the second reference frame of the picture block to be processed, which is indicated by the second reference frame index of the picture block to be processed. The step of getting the second picture block, which is indicated by the second initial motion vector of the picture block of interest,
A step of performing weighting processing on the first picture block and the second picture block, and a first initial motion vector and processing in order to obtain a temporally predicted block of the picture block to be processed. Add one or more pre-set motion vector offsets of the picture block of interest to get one or more first final motion vectors, the second initial motion vector and the object to be processed. A step of adding one or more pre-set motion vector offsets of a picture block to obtain one or more second final motion vectors and one or more first finals. Get one or more forward candidate prediction blocks at one or more search positions indicated by a motion vector, and one or more at one or more search positions indicated by one or more second final motion vectors. From the step of acquiring the backward candidate prediction block of and one or more forward candidate prediction blocks, the candidate prediction block having the minimum pixel difference from the temporal prediction block is selected as the forward prediction block of the picture block to be processed. Then, from one or more backward candidate prediction blocks, a step of selecting a candidate prediction block having the minimum pixel difference from the temporal prediction block as a backward prediction block of the picture block to be processed, and a picture to be processed. In order to obtain the predicted block of the block, a step of executing a weighting process on the forward predicted block and the backward predicted block is included.

幾つかの具体的な実施形態を用いることにより、以下、動きベクトルを更新する実装を詳細に説明する。図13の符号化方法及び図14の復号化方法で説明されているように、動きベクトルの更新はエンコーダ及びデコーダにおいて一貫していることが理解されるべきである。従って、以下の実施形態は、エンコーダ又はデコーダのみから説明される。エンコーダからの説明が提供される場合に、デコーダにおける実装は、エンコーダにおけるものと一貫性を維持しており、デコーダからの説明が提供される場合に、エンコーダにおける実装は、デコーダにおけるものと一貫性を維持していることが理解されるべきである。 The implementation of updating the motion vector will be described in detail below by using some specific embodiments. It should be understood that motion vector updates are consistent in encoders and decoders, as described in the coding method of FIG. 13 and the decoding method of FIG. Therefore, the following embodiments will be described only from the encoder or decoder. The implementation in the decoder remains consistent with that in the encoder when the description from the encoder is provided, and the implementation in the encoder is consistent with that in the decoder when the description from the decoder is provided. It should be understood that it maintains.

図15に示すように、現在の復号化ブロックは、第1復号化ブロックであり、現在の復号化ブロックの予測された動き情報が得られる。現在の復号化ブロックの前方及び後方の動きベクトル予測子は、それぞれ(−10,4)及び(5,6)であり、現在の復号化ブロックのピクチャ・オーダ−・カウント(picture order count,POC)POCは、4であると仮定する。POCは、ピクチャの表示順序を示すために使用され、ピクチャの表示された参照ピクチャのインデックス値によって示される参照ピクチャのPOCは、それぞれ2及び6である。この場合、現在の復号化ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 15, the current decoding block is the first decoding block, and the predicted motion information of the current decoding block can be obtained. The motion vector predictors forward and backward of the current decoded block are (-10, 4) and (5, 6), respectively, and the picture order count (POC) of the current decoded block. ) POC is assumed to be 4. The POC is used to indicate the display order of the pictures, and the POCs of the reference pictures indicated by the index values of the displayed reference pictures of the pictures are 2 and 6, respectively. In this case, the POC corresponding to the current decryption block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

前方予測と後方予測とが現在の復号化ブロックに対して別々に実行されて、現在の復号化ブロックの初期の前方復号化予測ブロック(forward prediction block,FPB)と初期の後方復号化予測ブロック(backward prediction block,BPB)とを求める。初期の前方復号化予測ブロック及び初期の後方復号化予測ブロックはそれぞれFPB1及びBPB1であると仮定する。現在の復号化ブロックの第1復号化予測ブロック(decoding prediction block,DPB)は、FPB1及びBPB1に対して重み付け加算を行うことによって得られ、DPB1である仮定される。 Forward and backward predictions are performed separately for the current decoding block, with the initial forward prediction block (FPB) and the initial backward decoding prediction block (FPB) of the current decoding block. backward prediction block, BPB). It is assumed that the initial forward decoding prediction block and the initial backward decoding prediction block are FPB1 and BPB1, respectively. The first decoding prediction block (DPB) of the current decoding block is obtained by weighting addition to FPB1 and BPB1 and is assumed to be DPB1.

(−10,4)及び(5,6)が前方及び後方動きベクトル予測器の基準入力として使用され、前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックに対して、第1精度の動き探索が別々に実行される。この場合、第1精度は1ピクセル・レンジにおける1/2ピクセル精度である。第1復号化予測ブロックDPB1が参照として使用される。各々の動き探索により得られる対応する新しい前方及び後方復号化予測ブロックが、第1復号化予測ブロックDPB1と比較されて、DPB1からの最小の差分を有する新しい復号化予測ブロックを取得し、新しい復号化予測ブロックに対応する前方及び後方動きベクトル予測子が、ターゲット動きベクトル予測子として使用され、それぞれ(−11,4)及び(6,6)であると仮定される。 (-10,4) and (5,6) are used as reference inputs for forward and backward motion vector predictors, with first precision motion search for forward and backward predictive reference picture blocks. Are executed separately. In this case, the first precision is 1/2 pixel precision in the 1 pixel range. The first decryption prediction block DPB1 is used as a reference. The corresponding new forward and backward decoding prediction blocks obtained by each motion search are compared with the first decoding prediction block DPB1 to obtain a new decoding prediction block with the smallest difference from DPB1 and a new decoding. The forward and backward motion vector predictors corresponding to the transformation prediction blocks are used as target motion vector predictors and are assumed to be (-11,4) and (6,6), respectively.

ターゲット動きベクトル予測子は、(−11,4)及び(6,6)に更新され、前方予測及び後方予測が、ターゲット動きベクトル予測子に基づいて第1復号化ブロックに対して別々に実行され、ターゲット復号化予測ブロックが、取得された新しい前方及び後方復号化予測ブロックに対して重み付け加算を行うことにより取得され、DPB2であると仮定され、現在の復号化ブロックの復号化予測ブロックは、DPB2に更新される。 The target motion vector predictor is updated to (-11,4) and (6,6), and forward and backward predictions are performed separately for the first decoding block based on the target motion vector predictor. , The target decryption prediction block is acquired by weighting the acquired new forward and backward decoding prediction blocks and is assumed to be DPB2, and the decoding prediction block of the current decoding block is Updated to DPB2.

第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに対して実行される場合、第1精度は任意の指定あれた精度であってもよく、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision may be any specified precision, eg, an integer pixel precision. , 1/2 pixel accuracy, 1/4 pixel accuracy, or 1/8 pixel accuracy.

図16に示すように、現在の復号化ブロックは、第1復号化ブロックであり、現在の復号化ブロックの予測された動き情報が取得される。現在の復号化ブロックの前方動きベクトル予測子は(−21,18)であり、現在の復号化ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値によって示される参照ピクチャのPOCは2であることが仮定される。この場合、現在の復号化ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2である。 As shown in FIG. 16, the current decoding block is the first decoding block, and the predicted motion information of the current decoding block is acquired. The forward motion vector predictor of the current decoded block is (-21,18), the POC of the picture in which the current decoded block is located is 4, and the POC of the reference picture indicated by the index value of the reference picture is It is assumed to be 2. In this case, the POC corresponding to the current decryption block is 4 and the POC corresponding to the forward predictive reference picture block is 2.

前方予測が、現在の復号化ブロックに対して実行されて、現在の復号化ブロックの初期の前方予測ブロックを取得する。初期の前方復号化予測ブロックはFPB1であると仮定する。この場合、FPB1は、現在の復号化ブロックの第1復号化予測ブロックとして使用され、第1復号化予測ブロックは、DPB1として示される。 Forward prediction is performed on the current decryption block to get the initial forward prediction block of the current decryption block. It is assumed that the initial forward decoding prediction block is FPB1. In this case, the FPB1 is used as the first decoding prediction block of the current decoding block, and the first decoding prediction block is shown as the DPB1.

(−21,18)が、前方動きベクトル予測器の基準入力として使用され、第1精度の動き探索が、前方動き予測参照ピクチャ・ブロックに対して実行される。この場合において、第1精度は5ピクセル・レンジにおける1ピクセル精度である。第1復号化予測ブロックDPB1が参照として使用される。各々の動き探索により取得された対応する新しい前方復号化予測ブロックは、第1復号化予測ブロックDPB1と比較され、DPB1からの最小差分を有する新しい復号化予測ブロックを取得し、新しい復号化予測ブロックに対応する前方動きベクトル予測子が、ターゲット動きベクトル予測子として使用され、(−19,19)であると仮定される。 (-21, 18) are used as reference inputs for the forward motion vector predictor, and a first-precision motion search is performed on the forward motion prediction reference picture block. In this case, the first precision is 1 pixel precision in the 5 pixel range. The first decryption prediction block DPB1 is used as a reference. The corresponding new forward decoding prediction block acquired by each motion search is compared with the first decoding prediction block DPB1 to obtain a new decoding prediction block with the minimum difference from DPB1 and a new decoding prediction block. The forward motion vector predictor corresponding to is used as the target motion vector predictor and is assumed to be (-19,19).

ターゲット動きベクトル予測子は(−19,19)に更新され、前方予測がターゲット動きベクトル予測子に基づいて実行され、取得された新しい前方復号化予測ブロックは、ターゲット復号化予測ブロックとして使用され、DPB2であると仮定され、現在の復号化ブロックの復号化予測ブロックはDPB2に更新される。 The target motion vector predictor is updated to (-19, 19), forward prediction is performed based on the target motion vector predictor, and the new forward decoding prediction block obtained is used as the target decoding prediction block. Assumed to be DPB2, the decoding prediction block of the current decoding block is updated to DPB2.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合に、第1精度は任意の指定された精度であってもよく、例えば整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよいことに留意すべきである。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision may be any specified precision, eg, an integer pixel precision. It should be noted that the accuracy may be 1/2 pixel accuracy, 1/4 pixel accuracy, or 1/8 pixel accuracy.

図17A及び図17Bに示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測動き情報が得られる。現在のコーディング・ブロックの前方及び後方動きベクトル予測子はそれぞれ(−6,12)及び(8,4)であり、現在の復号化ブロックが位置するピクチャのPOCは8であり、参照ピクチャのインデックス値によって示される参照ピクチャのPOCはそれぞれ4及び12であることが仮定される。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは4であり、後方予測参照ピクチャ・ブロックに対応するPOCは12である。 As shown in FIGS. 17A and 17B, the current coding block is the first coding block, and the predicted motion information of the current coding block can be obtained. The forward and backward motion vector predictors of the current coding block are (-6,12) and (8,4), respectively, and the POC of the picture in which the current decoding block is located is 8, and the index of the reference picture. It is assumed that the POCs of the reference pictures indicated by the values are 4 and 12, respectively. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 4, and the POC corresponding to the backward predictive reference picture block is 12.

前方予測及び後方予測は、現在の符号化ブロックに対して別々に実行されて、現在の符号化ブロックの初期の前方符号化予測ブロックと初期の後方符号化予測ブロックとを取得する。初期の前方符号化予測ブロック及び初期の後方符号化予測ブロックはそれぞれFPB1及びBPB1であると仮定される。現在の符号化ブロックの第1符号化予測ブロックは、FPB1及びBPB1に対して重み付け加算を実行することによって取得され、DPB1であると仮定される。 The forward and backward predictions are performed separately for the current coded block to get the initial forward and backward coded predictive blocks of the current coded block. The initial forward-coded predictive block and the initial backward-coded predictive block are assumed to be FPB1 and BPB1, respectively. The first coding prediction block of the current coding block is obtained by performing weighting addition to FPB1 and BPB1 and is assumed to be DPB1.

(−6,12)及び(8,4)が前方及び後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに対して別々に実行される。第1符号化予測ブロックDPB1は、参照として使用される。各々の動き探索により取得された対応する新しい前方及び後方符号化予測ブロックは、第1符号化予測ブロックDPB1と比較され、DBIからの最小差分を有する新しい符号化予測ブロックを取得し、新しい符号化予測ブロックに対応する前方及び後方動きベクトル予測子が、ターゲット動きベクトル予測子として使用され、それぞれ(−11,4)及び(6,6)であると仮定される。 (-6,12) and (8,4) are used as reference inputs for forward and backward motion vector predictors, with first precision motion search for forward and backward predictive reference picture blocks. Will be executed separately. The first coded prediction block DPB1 is used as a reference. The corresponding new forward and backward coded predictive blocks obtained by each motion search are compared with the first coded predictive block DPB1 to obtain a new coded predictive block with the minimum difference from the DBI and a new coded form. The forward and backward motion vector predictors corresponding to the prediction blocks are used as target motion vector predictors and are assumed to be (-11,4) and (6,6), respectively.

ターゲット動きベクトル予測子は(−11,4)及び(6,6)に更新され、前方予測及び後方予測が、ターゲット動きベクトル予測子に基づいて第1符号化ブロックに対して別々に実行され、ターゲット符号化予測ブロックが、取得された新しい前方及び後方符号化予測ブロックに対して重み付け加算を実行することにより取得され、DPB2であると仮定され、現在のコーディング・ブロックの符号化予測ブロックはDPB2に更新される。 The target motion vector predictors are updated to (-11,4) and (6,6), forward and backward predictions are performed separately for the first coded block based on the target motion vector predictors. The target coded predictive block is obtained by performing a weighted addition on the new forward and backward coded predictive blocks obtained and is assumed to be DPB2, and the coded predictive block of the current coding block is DPB2. Will be updated to.

次いで、(−11,4)及び(6,6)が前方及び後方の動きベクトル予測子の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに関して別々に実行される。現在のコーディング・ブロックの符号化予測ブロックDPB2は、参照として使用される。各々の動き探索で得られた対応する新しい前方及び後方符号化予測ブロックは、第1符号化予測ブロックDPB2と比較されて、DPB2からの最小差分を有する新しい符号化予測ブロックを取得し、新しい符号化予測ブロックに対応する前方及び後方動きベクトル予測子が、新しいターゲット動きベクトル予測子として使用され、それぞれ(−7,11)及び(6,5)であると仮定される。 (-11,4) and (6,6) are then used as reference inputs for the forward and backward motion vector predictors, and the first precision motion search is the forward predictive reference picture block and the backward predictive reference picture. Executed separately for blocks. The coded prediction block DPB2 of the current coding block is used as a reference. The corresponding new forward and backward coded prediction blocks obtained in each motion search are compared with the first coded predictive block DPB2 to obtain a new coded predictive block with the smallest difference from DPB2 and a new code. The forward and backward motion vector predictors corresponding to the transformation prediction blocks are used as new target motion vector predictors and are assumed to be (-7,11) and (6,5), respectively.

次いで、ターゲット動きベクトル予測子は(−7,11)及び(6,5)に更新され、前方予測及び後方予測が、最新のターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、ターゲット符号化予測ブロックは、取得された新しい前方及び後方符号化予測ブロックに対して重み付け加算を実行することにより取得され、DPB3であると仮定され、現在のコーディング・ブロックの符号化予測ブロックはDPB3に更新される。 The target motion vector predictors are then updated to (-7,11) and (6,5), and forward and backward predictions are based on the latest target motion vector predictors for the first coding block. Performed separately, the target coded predictive block is obtained by performing a weighted addition on the new forward and backward coded predictive blocks obtained, assumed to be DPB3, and the code of the current coding block. The conversion prediction block is updated to DPB3.

更に、ターゲット動きベクトル予測子は、上記の方法に従って連続的に更新されることが可能であり、サイクル数は限定されない。 Further, the target motion vector predictor can be continuously updated according to the above method, and the number of cycles is not limited.

第1精度の動き探索が前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに対して実行される場合に、第1精度は任意の指定された精度であってもよく、例えば整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよいことに留意すべきである。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision may be any specified precision, eg, integer pixel precision, It should be noted that it may be 1/2 pixel accuracy, 1/4 pixel accuracy, or 1/8 pixel accuracy.

幾つかの実現可能な実施形態では、条件が満たされるとサイクルは終了することが理解されるべきである。例えば、サイクルは、DPBnとDPBn−1との差分が閾値より小さい場合に終了し、ここで、nは2より大きな正の整数である。 It should be understood that in some feasible embodiments, the cycle ends when the conditions are met. For example, the cycle ends when the difference between DPBn and DPBn-1 is less than the threshold, where n is a positive integer greater than 2.

図18に示すように、現在の復号化ブロックは、第1復号化ブロックであり、現在の復号化ブロックの予測された動き情報が得られる。現在の復号化ブロックの前方及び後方動きベクトルの値はそれぞれ(−10,4)及び(5,6)であり、現在の復号化ブロックの前方及び後方動きベクトル差分はそれぞれ(−2,1)及び(1,1)であり、現在の復号化ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される参照ピクチャのPOCはそれぞれ2及び6であることが仮定される。従って、現在の復号化ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 18, the current decoding block is the first decoding block, and the predicted motion information of the current decoding block can be obtained. The forward and backward motion vector values of the current decoded block are (-10,4) and (5,6), respectively, and the forward and backward motion vector differences of the current decoded block are (-2,1), respectively. And (1,1), it is assumed that the POC of the picture in which the current decoding block is located is 4 and the POC of the reference picture indicated by the index value of the reference picture is 2 and 6, respectively. Therefore, the POC corresponding to the current decoded block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

前方予測及び後方予測は、現在の復号化ブロックに対して別々に実行されて、現在の復号化ブロックの初期の前方復号化予測ブロック(FPB)及び初期の後方復号化予測ブロック(BPB)を取得する。初期の前方復号化予測ブロック及び初期の後方復号化予測ブロックはそれぞれFPB1及びBPB1であると仮定される。現在の復号化ブロックの第1復号化予測ブロック(DPB)は、FPB1及びBPB1に関して重み付け加算を実行することによって取得され、DPB1であると仮定される。 Forward and backward predictions are performed separately for the current decoding block to get the initial forward decoding prediction block (FPB) and the initial backward decoding prediction block (BPB) of the current decoding block. do. The initial forward decoding prediction block and the initial backward decoding prediction block are assumed to be FPB1 and BPB1, respectively. The first decoding prediction block (DPB) of the current decoding block is obtained by performing weighting addition on FPB1 and BPB1 and is assumed to be DPB1.

前方動きベクトル予測子及び前方動きベクトル差分の合計と、後方動きベクトル予測子及び後方動きベクトル差分の合計とは、即ち(−10,4)+(−2,1)=(−12,5)と(5,6)+(1,1)=(6,7)とはそれぞれ前方動きベクトル及び後方動きベクトルとして使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに別々に実行される。この場合、第1精度は1ピクセル/レンジにおける1/4ピクセル精度である。第1復号化予測ブロックDPB1は参照として使用される。各々の動き探索で得られる対応する新しい前方及び後方復号化予測ブロックは、第1復号化予測ブロックDPB1と比較されて、DPB1からの最小差分を有する新しい復号化予測ブロックを取得する。新しい復号化予測ブロックに対応する前方及び後方動きベクトルは、ターゲット動きベクトル予測子として使用され、それぞれ(−11,4)及び(6,6)と仮定される。 The sum of the forward motion vector predictor and the forward motion vector difference and the sum of the backward motion vector predictor and the backward motion vector difference are (-10,4) + (-2,1) = (-12,5). And (5,6) + (1,1) = (6,7) are used as forward motion vector and backward motion vector, respectively, and the first-precision motion search refers to the forward prediction reference picture block and the backward prediction reference. Executed separately for picture blocks. In this case, the first precision is 1/4 pixel precision in 1 pixel / range. The first decryption prediction block DPB1 is used as a reference. The corresponding new forward and backward decoding prediction blocks obtained in each motion search are compared with the first decoding prediction block DPB1 to obtain a new decoding prediction block with the minimum difference from DPB1. The forward and backward motion vectors corresponding to the new decoded prediction block are used as target motion vector predictors and are assumed to be (-11,4) and (6,6), respectively.

ターゲット動きベクトルは(−11,4)及び(6,6)に更新され、前方予測及び後方予測が、ターゲット動きベクトルに基づいて第1復号化ブロックに対して別々に実行され、ターゲット復号化予測ブロックは、取得された新しい前方及び後方復号化予測ブロックに対して重み付け加算を実行することにより取得され、DPB2であると仮定され、現在の復号化ブロックの復号化予測ブロックはDPB2に更新される。 The target motion vector is updated to (-11,4) and (6,6), forward prediction and backward prediction are executed separately for the first decoding block based on the target motion vector, and the target decoding prediction is performed. The block is acquired by performing weighting addition on the acquired new forward and backward decoding prediction blocks, is assumed to be DPB2, and the decoding prediction block of the current decoding block is updated to DPB2. ..

本願の中核的な技術的内容を更に反映させるために、マージ・モードにおけるエンコーダによる動きベクトルを記憶する処理が、以下、具体的な実施形態を使用することにより説明される。図19は、本願の実施形態によるエンコーダによる動きベクトルを取得する方法の概略フローチャートである。方法は以下のステップを含む。 In order to further reflect the core technical content of the present application, the process of storing motion vectors by the encoder in the merge mode will be described below by using specific embodiments. FIG. 19 is a schematic flowchart of a method of acquiring a motion vector by an encoder according to the embodiment of the present application. The method includes the following steps.

1901:第1の処理対象のピクチャ・ブロックを取得した後に、エンコーダは、第1の処理対象のピクチャ・ブロックの1つ以上の前もってセットされた候補の参照ブロックを決定する。 1901: After acquiring the first processed picture block, the encoder determines one or more pre-set candidate reference blocks of the first processed picture block.

図3を参照すると、第1の処理対象のピクチャ・ブロックは、符号化対象のピクチャ・ブロックであり、即ち、符号化対象のピクチャ・ブロックは、エンコーダ・パーティションのパーティション・ユニットがビデオ・データを取得した後に得られる。第1の処理対象のピクチャ・ブロックは、現在のPUであってもよいし、又は現在のCUであってもよいことに留意すべきである。これは、本発明のこの実施形態において具体的に限定されない。 Referring to FIG. 3, the first processed picture block is a coded picture block, that is, the coded picture block is such that the partition unit of the encoder partition stores the video data. Obtained after acquisition. It should be noted that the picture block to be processed may be the current PU or the current CU. This is not specifically limited in this embodiment of the invention.

候補の参照ブロックは、第1の処理対象のピクチャ・ブロックとの前もってセットされた空間位置関係を有するピクチャ・ブロックを含む。前もってセットされた空間位置関係は、図5に示された位置関係であってもよい。図5に示す候補の参照ブロックは、第1の処理対象のピクチャ・ブロックに隣接しているので、即ち、候補の参照ブロックのピクチャ情報は、第1の処理対象のピクチャ・ブロックのものと比較的類似しているので、第1の処理対象のピクチャ・ブロックを予測するために、候補の参照ブロックの動きベクトルは、第1の処理対象のピクチャ・ブロックの予測された動きベクトルとして使用されることが可能である。幾つかの実施形態では、候補の参照ブロックは、更に、別の実際のピクチャ・ブロック、又は、第1の処理対象のピクチャ・ブロックとの前もってセットされた空間相関を有するバーチャル・ピクチャ・ブロックを含む。本願のこの実施態様において、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとの間の位置関係は、特定の量の候補参照ブロックによって具体的に限定されない。 The candidate reference block includes a picture block having a preset spatial positional relationship with the first processed picture block. The preset spatial positional relationship may be the positional relationship shown in FIG. Since the candidate reference block shown in FIG. 5 is adjacent to the picture block to be processed, that is, the picture information of the candidate reference block is compared with that of the picture block to be processed. Due to their similarities, the motion vector of the candidate reference block is used as the predicted motion vector of the first processed picture block in order to predict the first processed picture block. It is possible. In some embodiments, the candidate reference block is further a virtual picture block having a pre-set spatial correlation with another real picture block or a first processed picture block. include. In this embodiment of the present application, the positional relationship between the candidate reference block and the first processed picture block is not specifically limited by a particular amount of candidate reference blocks.

1902:エンコーダは、1つ以上の候補の参照ブロックの1つ以上の動きベクトルを決定する。 1902: The encoder determines one or more motion vectors of one or more candidate reference blocks.

本願のこの実施形態では、動きベクトル更新処理が、候補参照ブロックに対して実行される。候補参照ブロックに対する更新処理が完了すると、候補参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有し、即ち、候補参照ブロックは、相応して、初期の動きベクトルと最終的な動きベクトルとを記憶する。幾つかの実施形態では、候補参照ブロックは、相応して、初期の動きベクトル及び動きベクトル残差を記憶し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの初期の動きベクトルと動きベクトル残差とを加えることによって取得されることが可能である。 In this embodiment of the present application, the motion vector update process is executed for the candidate reference block. When the update process for the candidate reference block is completed, the candidate reference block has an initial motion vector and a final motion vector, that is, the candidate reference block has a corresponding initial motion vector and final motion. Memorize the vector. In some embodiments, the candidate reference block stores the initial motion vector and motion vector residuals accordingly, and the final motion vector of the candidate reference block is the initial motion vector of the candidate reference block. And can be obtained by adding the motion vector residuals.

しかしながら、候補参照ブロックに対する更新処理が完了していない場合、候補参照ブロックは初期動きベクトルのみを有し、即ち、相応して候補の参照ブロックは候補の参照ブロックの初期の動きベクトルのみを記憶する。 However, if the update process for the candidate reference block is not completed, the candidate reference block has only the initial motion vector, that is, the candidate reference block correspondingly stores only the initial motion vector of the candidate reference block. ..

候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有するので、エンコーダは、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの初期の動きベクトル又は最終的な動きベクトルを使用することが可能であり、その結果、候補の参照ブロックの動きベクトルは、第1の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用される。 Since the candidate reference block has an initial motion vector and a final motion vector, the encoder uses the initial motion vector or the final motion vector of the candidate reference block as the motion vector of the candidate reference block. As a result, the motion vector of the candidate reference block is used as the predicted motion vector of the spatial candidate of the picture block to be processed.

参照ブロックにおける動きベクトル更新処理については、図13に関連する本願の実施形態を参照されたい、ということに留意すべきである。図19に関連する実施形態の参照ブロックは、図13に関連する実施形態における処理対象のピクチャ・ブロックであることが理解されるべきである。 It should be noted that for the motion vector update process in the reference block, refer to the embodiment of the present application related to FIG. It should be understood that the reference block of the embodiment related to FIG. 19 is the picture block to be processed in the embodiment related to FIG.

ステップ1902において、候補の参照ブロックの動きベクトルは、候補の参照ブロックの前もってセットされたレンジに基づいて決定されてもよい。例えば、候補の参照ブロックが前もってセットされたレンジ内にある場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用され、或いは候補の参照ブロックが前もってセットされたレンジ外にある場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。従って、1つ以上の候補の参照ブロックの1つ以上の動きベクトルを決定することができる。 In step 1902, the motion vector of the candidate reference block may be determined based on the previously set range of the candidate reference block. For example, if the candidate reference block is within the preset range, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block, or the candidate reference block is preset. If it is out of range, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Therefore, one or more motion vectors of one or more candidate reference blocks can be determined.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置していない場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。図21を参照すると、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の具体的なレンジは、本発明のこの実施形態で具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the candidate reference block is located and the CTB where the first picture block to be processed is located are located on the same row, the initial motion vector of the candidate reference block is the candidate reference block. Used as a motion vector. Correspondingly, if the CTB where the candidate reference block is located and the CTB where the first picture block to be processed is located are not located in the same row, the initial motion vector of the candidate reference block is a candidate. Used as a motion vector for the reference block of. Referring to FIG. 21, the coding tree block in which the candidate reference block is located and the coding tree block in which the first picture block to be processed is located are located on different rows, and the candidate reference block is located. If the located coding tree block and the coding tree block in which the first processed picture block is located are located in different rows of adjacent spaces, then the initial motion vector of the candidate reference block is: It will be appreciated that it will be used as a motion vector for the candidate reference block. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The specific range of spaces adjacent to different rows is not specifically limited in this embodiment of the invention.

関連技術において、エンコーダは複数の処理対象のピクチャ・ブロックを同時に符号化してもよい。しかしながら、複数の処理対象のピクチャ・ブロックが同一のCTB行内に位置する場合、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックである可能性がある。複数の処理対象のピクチャ・ブロックが互いの候補の参照ブロックである場合、別のブロックの更新された最終的な動きベクトルは、別のブロックが更新された後に限り、現在の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用されることが可能である。その結果、符号化の遅延が存在する。更に、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックであるので、他のブロックが更新されるまで待機する必要がある。その結果、符号化遅延が増加する。 In a related technique, the encoder may encode a plurality of picture blocks to be processed at the same time. However, when a plurality of processed picture blocks are located in the same CTB row, the plurality of processed picture blocks may be reference blocks of each other. If multiple processed picture blocks are reference blocks of each other's candidates, the updated final motion vector of another block will only be the current processed picture block after another block has been updated. It can be used as a predicted motion vector for block spatial candidates. As a result, there is a coding delay. Further, since the plurality of picture blocks to be processed are reference blocks of each other's candidates, it is necessary to wait until the other blocks are updated. As a result, the coding delay increases.

従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、次いで、候補の参照ブロックの動きベクトルが、第1の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用される。これについては、ステップ1903を参照されたい。 Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, and then the motion vector of the candidate reference block is the first object to be processed. Used as a predicted motion vector for spatial candidates in a picture block. See step 1903 for this.

候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、候補の参照ブロックに対する更新処理は完了しない可能性がある。従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、候補の参照ブロックが更新されるまで待機する必要はなく、符号化遅延を低減する。候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。従って、候補の参照ブロックは最終的な動きベクトルを有し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして最終的な動きベクトルを使用することは、符号化品質を保証することができる。 If the CTB where the candidate reference block is located and the CTB where the first picture block to be processed is located are located on the same row, the update process for the candidate reference block may not be completed. Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, and there is no need to wait for the candidate reference block to be updated, and it is coded. Reduce delay. If the CTB where the candidate reference block is located and the CTB where the first process target picture block is located are not located on the same row, it is sufficient to complete the update process for the candidate reference block. Show that you have time. Therefore, the candidate reference block has a final motion vector, and the final motion vector of the candidate reference block can be used as the motion vector of the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the candidate reference block guarantees the coding quality. can do.

前もってセットされたレンジは、代替的に、CTBブロック・レンジであってもよい。例えば、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The preset range may be the CTB block range instead. For example, when the candidate reference block and the first processed picture block are located in the same CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, if the candidate reference block and the first processed picture block are not located in the same CTB, the final motion vector of the candidate reference block is the motion vector of the candidate reference block. Used as.

候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、それは候補の参照ブロックにおける更新処理は完了していない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とすることなく、候補の参照ブロックの動きベクトルとして直接的に使用され、符号化遅延を低減する。更に、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、それは候補の参照ブロックに関して更新処理を完了するための十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、第1の処理対象のピクチャ・ブロックと同じCTB内に位置していない候補の参照ブロックの最終的な動きベクトルを、候補の参照ブロックの動きベクトルとして使用することは、符号化品質を保証することができる。 If the candidate reference block and the first processed picture block are located in the same CTB, it indicates that the update process in the candidate reference block may not be completed, and the candidate reference block. The initial motion vector of is used directly as the motion vector of the candidate reference block without having to wait for the candidate reference block to be updated, reducing the coding delay. Further, if the candidate reference block and the first processed picture block are not located in the same CTB, it indicates that there is sufficient time to complete the update process for the candidate reference block. .. Further, since the final motion vector is a motion vector obtained after the initial motion vector is refined, the final of the candidate reference blocks that are not located in the same CTB as the first processed picture block. Using the motion vector as the motion vector of the candidate reference block can guarantee the coding quality.

前もってセットされたレンジは、代替的に、同じCTBブロック・レンジ又は左隣接及び右隣接CTBブロックのレンジであってもよい。例えば、候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBであるか、又は候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The pre-set range may optionally be the same CTB block range or the range of left-adjacent and right-adjacent CTB blocks. For example, the CTB where the candidate reference block is located is the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is the first process target picture block. If it is a left-adjacent or right-adjacent block of the located CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, the CTB where the candidate reference block is located is not the same as the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is the first process target picture. If the block is not on the left or right side of the CTB where the block is located, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block.

候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBと同じである場合、又は候補参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合、それは、候補の参照ブロックに対する更新処理が完了しない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とせずに、候補の参照ブロックの動きベクトルとして直接的に使用され、符号化遅延を低減する。更に、候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの最終的な動きベクトルを使用することは、符号化品質を保証することができる。 If the CTB where the candidate reference block is located is the same as the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is where the first process target picture block is located. If it is a left-adjacent or right-adjacent block of the candidate CTB, it indicates that the update process for the candidate reference block may not be completed, and the initial motion vector of the candidate reference block is updated by the candidate reference block. It is used directly as the motion vector of the candidate reference block without the need to wait until it is done, reducing the coding delay. Further, the CTB where the candidate reference block is located is not the same as the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is the first process target picture block. If is not a left-adjacent or right-adjacent block of the CTB in which it is located, it indicates that there is sufficient time to complete the update process for the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, it is not possible to use the final motion vector of the candidate reference block as the motion vector of the candidate reference block. , The coding quality can be guaranteed.

1903:エンコーダは、1つ以上の候補の参照ブロックの1つ以上の動きベクトルに基づいて、候補の予測された動きベクトルのリストを設定する。 1903: The encoder sets a list of predicted motion vectors of candidates based on one or more motion vectors of one or more candidate reference blocks.

候補の予測された動きベクトルのリストを設定する方法については、図6ないし図9を参照されたい。詳細はここで再び説明しない。 See FIGS. 6-9 for how to set a list of predicted motion vectors for candidates. Details will not be explained here again.

1904:エンコーダは、処理対象のピクチャ・ブロックの参照ブロックを決定する。参照ブロック及び第1の処理対象のピクチャ・ブロックは、同じピクチャのフレーム内に位置する。 1904: The encoder determines the reference block of the picture block to be processed. The reference block and the first processed picture block are located within the frame of the same picture.

最小レート歪コストを有する候補の参照ブロックが、第1の処理対象のピクチャ・ブロックの1つ以上の候補の参照ブロックから、第1の処理対象のピクチャ・ブロックの参照ブロックとして選択される。 The candidate reference block with the minimum rate distortion cost is selected from one or more candidate reference blocks of the first processable picture block as the reference block of the first processable picture block.

1905:エンコーダは、参照ブロックの動きベクトルを記憶する。参照ブロックの動きベクトルは、現在の処理対象のピクチャ・ブロックの初期の動きベクトルである。 1905: The encoder stores the motion vector of the reference block. The motion vector of the reference block is the initial motion vector of the picture block currently being processed.

参照ブロックの動きベクトルは、設定された候補の予測された動きベクトルのリストにおける対応する位置から取得されることが可能である。 The motion vector of the reference block can be obtained from the corresponding position in the list of predicted motion vectors of the set candidates.

ステップ1901ないしステップ1905は、エンコーダが第1の処理対象のピクチャ・ブロックの初期の動きベクトルを取得する処理である。 Steps 1901 to 1905 are processes in which the encoder acquires the initial motion vector of the first process target picture block.

1906:エンコーダは、第1の処理対象のピクチャ・ブロックの初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、第1の処理対象のピクチャ・ブロックの予測ブロックを決定する。 1906: The encoder determines the predictive block of the first processed picture block based on the initial motion vector of the first processed picture block and one or more preset motion vector offsets. decide.

ステップ1906は、図13の13021ないし13024を使用することによって完了させることが可能である。詳細はここで再び説明しない。 Step 1906 can be completed by using 13021 to 13024 of FIG. Details will not be explained here again.

1つ以上の前もってセットされた動きベクトル・オフセットは、ピクセル単位に基づいて設定されることが可能である。例えば、第1の処理対象のピクチャ・ブロックの初期の動きベクトルで示されるピクチャ・ブロックは、第1の処理対象のピクチャ・ブロックの時間的な予測ブロックとして使用され、時間的な予測ブロックの1ピクセル単位又は1/2ピクセル単位内の1つ以上の候補の予測ブロックが、時間的な予測ブロックを中心として使用することにより探索される。確かに、別の長さ又は別のピクセル単位が使用されてもよい。1つ以上の前もってセットされた動きベクトル・オフセットは、本願のこの実施形態で具体的に限定されない。 One or more pre-set motion vector offsets can be set on a pixel-by-pixel basis. For example, the picture block represented by the initial motion vector of the picture block to be processed is used as a temporal prediction block of the picture block to be processed, and is one of the temporal prediction blocks. One or more candidate prediction blocks within pixel units or 1/2 pixel units are searched by using the temporal prediction blocks as the center. Indeed, different lengths or different pixel units may be used. One or more pre-set motion vector offsets are not specifically limited in this embodiment of the present application.

1907:予測ブロックの動きベクトルを決定した後に、エンコーダは、予測ブロックの動きベクトルを、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルとして使用する。 1907: After determining the motion vector of the predicted block, the encoder uses the motion vector of the predicted block as the final motion vector of the picture block to be processed.

ステップ1907において、候補の参照ブロックの動きベクトルは、予測ブロックの前もってセットされたレンジに基づいて決定されることが可能である。例えば、予測ブロックが、前もってセットされたレンジ内にある場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用され、予測ブロックが、前もってセットされたレンジ外にある場合には、予測ブロックの最終的な動きベクトルが、予測ブロックの動きベクトルとして使用される。 In step 1907, the motion vector of the candidate reference block can be determined based on the pre-set range of the predicted block. For example, if the predicted block is within a preset range, the initial motion vector of the predicted block is used as the motion vector of the predicted block, and the predicted block is outside the preset range. The final motion vector of the predicted block is used as the motion vector of the predicted block.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。相応して、予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置しない場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。図21を参照すると、予測ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、予測ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の特定のレンジは、本発明のこの実施形態では具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the prediction block is located and the CTB where the first picture block to be processed is located are located on the same row, the initial motion vector of the prediction block is used as the motion vector of the prediction block. Will be done. Correspondingly, if the CTB where the prediction block is located and the CTB where the first picture block to be processed is located are not located in the same row, the initial motion vector of the prediction block is the motion vector of the prediction block. Used as. Referring to FIG. 21, the coding tree block in which the prediction block is located and the coding tree block in which the first processing target picture block is located are located on different rows, and the prediction block is located in the coding tree block. If the tree block and the coding tree block in which the first processed picture block is located are located in adjacent spaces of different rows, the initial motion vector of the predicted block is the motion of the predicted block. It will be understood that it is used as a vector. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The particular range of adjacent spaces in different rows is not specifically limited in this embodiment of the invention.

予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、予測ブロックに対する更新処理は終了しない可能性がある。従って、予測ブロックの初期の動きベクトルは、予測ブロックの動きベクトルとして直接的に使用されることが可能であり、予測ブロックが更新されるまで待機する必要はなく、符号化遅延を低減する。予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、予測ブロックに対する更新処理を完了するのに十分な時間があることを示す。従って、予測ブロックは最終的な動きベクトルを有し、予測ブロックの最終的な動きベクトルは、候補の参照ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、予測ブロックの動きベクトルとして最終的な動きベクトルを使用することは、符号化品質を保証することができる。 If the CTB where the prediction block is located and the CTB where the picture block to be processed first is located are located on the same row, the update processing for the prediction block may not be completed. Therefore, the initial motion vector of the prediction block can be used directly as the motion vector of the prediction block, and it is not necessary to wait until the prediction block is updated, which reduces the coding delay. If the CTB where the prediction block is located and the CTB where the first processing target picture block is located are not located on the same row, it has enough time to complete the update process for the prediction block. Show that. Therefore, the predicted block has a final motion vector, and the final motion vector of the predicted block can be used as a motion vector of the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the prediction block guarantees the coding quality. Can be done.

幾つかの実施形態では、前もってセットされたレンジは代替的にCTBブロック・レンジであってもよい。幾つかの他の実施形態では、前もってセットされたレンジは、代替的に、同じCTBブロックであってもよい。予測ブロックの動きベクトルの決定は、候補の参照ブロックの動きベクトルの決定と同様である。これについてはステップ1902を参照されたい。詳細はここで再び説明しない。 In some embodiments, the preset range may be the CTB block range instead. In some other embodiments, the pre-set range may be the same CTB block instead. Determining the motion vector of the predictive block is similar to determining the motion vector of the candidate reference block. See step 1902 for this. Details will not be explained here again.

1908:エンコーダは、候補リスト内の第1の処理対象のピクチャ・ブロックの初期の動きベクトルを、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルに更新する。 1908: The encoder updates the initial motion vector of the first processed picture block in the candidate list to the final motion vector of the first processed picture block.

1909:エンコーダは、第1の処理対象のピクチャ・ブロックの動きベクトル残差を、ターゲット・ストレージ空間に記憶する。 1909: The encoder stores the motion vector residual of the picture block to be processed in the target storage space.

動きベクトル残差は、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルと、第1の処理対象のピクチャ・ブロックの初期の動きベクトルとの間の動きベクトル差分である。 The motion vector residual is the motion vector difference between the final motion vector of the first processed picture block and the initial motion vector of the first processed picture block.

ターゲット・ストレージ空間は、動きベクトル残差をエンコーダにより記憶するための空間である。例えば、ターゲット・ストレージ空間は、図2の参照ピクチャ記憶ストレージ64であってもよい。 The target storage space is a space for storing the motion vector residuals by the encoder. For example, the target storage space may be the reference picture storage storage 64 of FIG.

関連技術におけるマージ・モードでは、ターゲット・ストレージ空間はゼロ・ベクトルを記憶するか、又はターゲット・ストレージ空間はデータを記憶しないことに留意すべきである。しかしながら、本願のこの実施形態におけるマージ・モードでは、処理対象のピクチャ・ブロックの動きベクトル残差がターゲット・ストレージ空間に記憶され、その結果、ターゲット・ストレージ空間を完全に使用することが可能であるだけでなく、他のピクチャ・ブロックの動きベクトルが第1の処理対象のピクチャ・ブロックに対して必要とされる場合に、他のピクチャ・ブロックの動きベクトルを柔軟に選択することも可能である。ステップ1902及び1907において示されるように、エンコーダの符号化効率は更に改善される。 It should be noted that in merge mode in related technology, the target storage space stores zero vectors or the target storage space does not store data. However, in the merge mode of this embodiment of the present application, the motion vector residuals of the picture block to be processed are stored in the target storage space, and as a result, the target storage space can be completely used. Not only that, it is also possible to flexibly select the motion vector of the other picture block when the motion vector of the other picture block is required for the first processed picture block. .. As shown in steps 1902 and 1907, the coding efficiency of the encoder is further improved.

更に、一部の実装では、ステップ1909において、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルが、代替的に、第1の処理対象のピクチャ・ブロックの動きベクトル残差として使用され、ターゲット・ストレージ空間に記憶されることが可能であり、即ち、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルがターゲット・ストレージ空間に記憶され、第1の処理対象のピクチャ・ブロックの動きベクトル残差は、ターゲット・ストレージ空間に記憶されない。この場合において、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルが別のブロックに必要とされる場合、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルは、第1の処理対象のピクチャ・ブロックの初期の動きベクトルと、第1の処理対象のピクチャ・ブロックの動きベクトル残差とを加算する必要なしに、エンコーダのターゲット・ストレージ空間から直接的に取得されることが可能である。 Further, in some implementations, in step 1909, the final motion vector of the first processed picture block is instead used as the motion vector residual of the first processed picture block. , That is, the final motion vector of the picture block to be processed is stored in the target storage space, that is, the picture block to be processed first. The motion vector residuals of are not stored in the target storage space. In this case, if the final motion vector of the picture block to be processed is required for another block, the final motion vector of the picture block to be processed is the first. Can be obtained directly from the encoder's target storage space without having to add the initial motion vector of the picture block to be processed and the motion vector residuals of the first picture block to be processed. It is possible.

ステップ1909の具体的なストレージ方法については、図21を参照されたい。 See FIG. 21 for the specific storage method of step 1909.

ステップ1908及び1909のシーケンスには厳密な要件がないことに留意すべきであり、エンコーダは代替的にステップ1908の前にステップ1909を実行してもよい。これは本願のこの実施形態で具体的に限定されない。 It should be noted that there are no strict requirements for the sequences of steps 1908 and 1909, and the encoder may optionally perform step 1909 prior to step 1908. This is not specifically limited in this embodiment of the present application.

ステップ1906ないし1909は、エンコーダが第1の処理対象のピクチャ・ブロックの最終的な動きベクトルを取得する処理である。 Steps 1906 to 1909 are processes in which the encoder acquires the final motion vector of the first process target picture block.

1910:エンコーダは、処理対象のピクチャ・ブロックの初期の動きベクトル、又は候補リスト内の処理対象のピクチャ・ブロックの初期の動きベクトルに対応する1つ以上の第1識別情報を、ビットストリームに符号化する。 1910: The encoder encodes one or more first identification information corresponding to the initial motion vector of the picture block to be processed or the initial motion vector of the picture block to be processed in the candidate list into a bitstream. To become.

識別情報はインデックスを含む可能性がある。確かに、幾つかの実装において、識別情報は、予測モードを更に含んでもよい。インデックスは、候補の予測された動きベクトルのリストにおける対応する動きベクトルを示すために使用され、動きベクトルは、第1の処理対象のピクチャ・ブロックの初期の動きベクトル又は最終的な動きベクトルであり、予測モードはマージ・モード、AMVPAモード、及びスキップ・モードを含む。本願のこの実施形態では、予測モードはマージ・モードである。確かに、別の実施形態では、予測モードは別のモードであってもよい。これは本願のこの実施形態で限定されない。 The identification information may include an index. Indeed, in some implementations, the identification information may further include a predictive mode. The index is used to indicate the corresponding motion vector in the list of candidate predicted motion vectors, which is the initial motion vector or final motion vector of the first processed picture block. , Prediction modes include merge mode, AMVPA mode, and skip mode. In this embodiment of the present application, the prediction mode is the merge mode. Indeed, in another embodiment, the prediction mode may be another mode. This is not limited to this embodiment of the present application.

前述の実装において、現在のコーディング・ブロックを符号化する場合に、エンコーダは、参照ブロックの最終的な動きベクトルの代わりに、参照ブロックの更新されていない初期の動きベクトルを、現在のコーディング・ブロックの予測された動きベクトルとして使用する。このようにして、参照ブロックの動きベクトルが現在のコーディング・ブロックに対して必要とされる場合に、関連するステップは、参照ブロックの最終的な動きベクトルが更新されるまで待機することを必要とせずに、実行されることが可能であり、符号化遅延が削減されることを補償する一方、動きベクトルが更新されるので符号化効率が改善される。 In the above implementation, when encoding the current coding block, the encoder replaces the final motion vector of the reference block with the unupdated initial motion vector of the reference block to the current coding block. Used as the predicted motion vector of. In this way, if the motion vector of the reference block is needed for the current coding block, the relevant steps need to wait until the final motion vector of the reference block is updated. It can be performed without, while compensating for a reduction in coding delay, while updating the motion vector to improve coding efficiency.

エンコーダにより使用されるインター予測モードが前方予測又は後方予測である場合に、候補参照ブロックの動きベクトル、参照ブロックの動きベクトル、及び予測ブロックの動きベクトルは、前方動きベクトル又は後方動きベクトルを含むことに留意すべきである。相応して、候補の予測された動きベクトルのリストが設定されると、候補の予測された動きベクトルのリストは、リスト0又はリスト1のみを含み、処理対象のピクチャ・ブロックの初期の動きベクトルは、前方の初期の動きベクトル又は後方の初期の動きベクトルを含み、処理対象のピクチャ・ブロックの最終的な動きベクトルは、前方の最終的な動きベクトル又は後方の最終的な動きベクトルを含む。 When the inter-prediction mode used by the encoder is forward or backward prediction, the motion vector of the candidate reference block, the motion vector of the reference block, and the motion vector of the predictive block shall include the forward or backward motion vector. Should be noted. Correspondingly, when a list of candidate predicted motion vectors is set, the list of candidate predicted motion vectors contains only list 0 or list 1 and is the initial motion vector of the picture block to be processed. Contains an early forward motion vector or an early backward motion vector, and the final motion vector of the picture block to be processed includes a final forward motion vector or a final backward motion vector.

エンコーダにより使用されるインター予測モードが双方向予測である場合、候補の参照ブロックの動きベクトル、参照ブロックの動きベクトル、及び予測ブロックの動きベクトルは、第1動きベクトルと第2動きベクトルとを含み、第1動きベクトルは前方動きベクトルであり、第2動きベクトルは後方動きベクトルである。相応して、候補の予測された動きベクトルのリストが設定されると、候補の予測された動きベクトルのリストは、リスト0及びリスト1を含み、処理対象のピクチャ・ブロックの初期の動きベクトルは、第1の初期の動きベクトル及び第2の初期の動きベクトルを含み、処理対象のピクチャ・ブロックの最終的な動きベクトルは、第1の最終的な動きベクトル及び第2の最終的な動きベクトルを含む。第1の初期の動きベクトル及び第1の最終的な動きベクトルは前方動きベクトルであり、第2の初期の動きベクトルと第2の最終的な動きベクトルは後方動きベクトルである。 When the inter-prediction mode used by the encoder is bidirectional prediction, the motion vector of the candidate reference block, the motion vector of the reference block, and the motion vector of the prediction block include the first motion vector and the second motion vector. , The first motion vector is a forward motion vector, and the second motion vector is a backward motion vector. Correspondingly, when a list of candidate predicted motion vectors is set, the list of candidate predicted motion vectors includes list 0 and list 1, and the initial motion vector of the picture block to be processed is , A first initial motion vector and a second initial motion vector, and the final motion vector of the picture block to be processed is the first final motion vector and the second final motion vector. including. The first initial motion vector and the first final motion vector are forward motion vectors, and the second initial motion vector and the second final motion vector are backward motion vectors.

上記の内容はエンコーダについて説明されている。相応して、マージ・モードにおいてデコーダにより動きベクトルを記憶する処理が、具体的な実施形態を用いて以下において説明される。図20は、本願の実施形態による、デコーダによる動きベクトルを取得する方法の概略フローチャートである。方法は以下のステップを含む。 The above content describes the encoder. Correspondingly, the process of storing motion vectors by the decoder in the merge mode will be described below using specific embodiments. FIG. 20 is a schematic flowchart of a method of acquiring a motion vector by a decoder according to the embodiment of the present application. The method includes the following steps.

2001:第2の処理対象のピクチャ・ブロックに対応するビットストリームを受信した後、デコーダは、第2識別情報及び第3識別情報を得るためにビットストリームを解析する。ここで、第2識別情報は、処理対象のピクチャ・ブロックの初期の予測された動きベクトルを決定するために使用され、第3識別情報は、動きベクトル残差が復号化の間に解析される必要があるかどうかを示すために使用される。 2001: After receiving the bitstream corresponding to the picture block to be processed, the decoder analyzes the bitstream to obtain the second identification information and the third identification information. Here, the second discriminant information is used to determine the initial predicted motion vector of the picture block to be processed, and the third discriminant information is the motion vector residuals analyzed during decoding. Used to indicate if it is necessary.

第2識別情報は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定するために使用されるインデックスを含んでもよい。ステップ2002及び2004を参照すると、幾つかの実施形態において、第2識別情報は、予測モード・タイプを更に含んでもよい。 The second identification information may include an index used to determine the initial motion vector of the picture block to be processed. Referring to steps 2002 and 2004, in some embodiments, the second identification information may further include a predictive mode type.

第3識別情報は、復号化の間に、動きベクトル残差が、解析されることを必要とするかどうかを示すために使用される。本願のこの実施形態では、動きベクトル残差は、マージ・モードで解析されることを必要としないが、別の実施形態において、動きベクトル残差が解析される場合がある。例えば、SMVPモードでは、第3識別情報の指示に従って、第2処理対象のピクチャ・ブロックの動きベクトル残差をビットストリームに加える場合に、デコーダは、ビットストリームを解析することによって、動きベクトル残差を取得することができる。この場合、デコーダは、動きベクトル残差を、ターゲット・ストレージ空間に直接的に記憶する。 The third identification information is used to indicate whether the motion vector residuals need to be analyzed during decoding. In this embodiment of the present application, the motion vector residuals do not need to be analyzed in merge mode, but in another embodiment the motion vector residuals may be analyzed. For example, in the SMVP mode, when the motion vector residual of the picture block to be processed in the second process is added to the bitstream according to the instruction of the third identification information, the decoder analyzes the bitstream to obtain the motion vector residual. Can be obtained. In this case, the decoder stores the motion vector residuals directly in the target storage space.

2002:第2の処理対象のピクチャ・ブロックに対応するビットストリームを受信した後に、デコーダは、第2の処理対象のピクチャ・ブロックの1つ以上の候補の参照ブロックと、1つ以上の候補の参照ブロックの1つ以上の動きベクトルとを決定する。 2002: After receiving the bitstream corresponding to the second processed picture block, the decoder has one or more candidate reference blocks and one or more candidate for the second processed picture block. Determine with one or more motion vectors of the reference block.

1つ以上の候補の参照ブロックは、第2の処理対象のピクチャ・ブロックとの前もってセットされた空間位置関係を有するピクチャ・ブロックを含む。候補の参照ブロックの決定については、図5を参照されたい。詳細はここで再び説明しない。 The reference block of one or more candidates includes a picture block having a spatial positional relationship set in advance with the picture block to be processed. See FIG. 5 for determining candidate reference blocks. Details will not be explained here again.

本願のこの実施形態では、動きベクトル更新処理が、候補の参照ブロックに対して実行される。候補の参照ブロックに対する更新処理が完了すると、候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有し、即ち、候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを記憶する。幾つかの実施形態では、候補の参照ブロックは、初期の動きベクトルと動きベクトル残差とを記憶し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの初期の動きベクトルと動きベクトル残差とを加えることによって取得することができる。 In this embodiment of the present application, motion vector update processing is performed on the candidate reference block. When the update process for the candidate reference block is completed, the candidate reference block has an initial motion vector and a final motion vector, that is, the candidate reference block has an initial motion vector and a final motion vector. And remember. In some embodiments, the candidate reference block stores the initial motion vector and motion vector residuals, and the final motion vector of the candidate reference block is the initial motion vector and motion of the candidate reference block. It can be obtained by adding a vector residual.

しかしながら、候補の参照ブロックの更新処理が完了していない場合、候補の参照ブロックは初期の動きベクトルのみを有し、即ち、候補の参照ブロックは、候補の参照ブロックの初期の動きベクトルのみを記憶する。 However, if the update process of the candidate reference block is not completed, the candidate reference block has only the initial motion vector, that is, the candidate reference block stores only the initial motion vector of the candidate reference block. do.

候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有するので、デコーダは、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの初期の動きベクトル又は最終的な動きベクトルを用いる必要があり、その結果、候補の参照ブロックの動きベクトルは、第2の処理対象のピクチャ・ブロックの空間的な候補の予測された動きベクトルとして使用される。 Since the candidate reference block has an initial motion vector and a final motion vector, the decoder uses the initial motion vector or the final motion vector of the candidate reference block as the motion vector of the candidate reference block. As a result, the motion vector of the candidate reference block is used as the predicted motion vector of the spatial candidate of the second processed picture block.

参照ブロックに対する動きベクトル更新プロセス及び初期の動きベクトルの取得については、図14に関連する本願の実施形態を参照されたい、ということに留意すべきである。図20に関連する実施形態の参照ブロックは、図14に関連する実施形態の処理対象のピクチャ・ブロックであることが理解されるべきである。 It should be noted that for the motion vector update process for the reference block and the acquisition of the initial motion vector, see embodiments of the present application related to FIG. It should be understood that the reference block of the embodiment related to FIG. 20 is the picture block to be processed according to the embodiment of FIG.

ステップ1802において、候補の参照ブロックの動きベクトルは、候補の参照ブロックの前もってセットされたレンジに基づいて決定されてもよい。例えば、候補の参照ブロックが前もってセットされたレンジ内にある場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用され、候補の参照ブロックが前もってセットされたレンジ外にある場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。従って、1つ以上の候補の参照ブロックの1つ以上の動きベクトルを決定することができる。 In step 1802, the motion vector of the candidate reference block may be determined based on the previously set range of the candidate reference block. For example, if the candidate reference block is within the preset range, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block and the candidate reference block is preset. If it is out of range, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Therefore, one or more motion vectors of one or more candidate reference blocks can be determined.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一行に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一行に位置していない場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。図21を参照すると、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合に、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の具体的なレンジは、本発明のこの実施形態で具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the candidate reference block is located and the CTB where the second picture block to be processed is located are located on the same row, the initial motion vector of the candidate reference block is the candidate reference block. Used as a motion vector. Correspondingly, if the CTB where the candidate reference block is located and the CTB where the second picture block to be processed is located are not located on the same row, the initial motion vector of the candidate reference block is a candidate. Used as a motion vector for the reference block of. Referring to FIG. 21, the coding tree block in which the candidate reference block is located and the coding tree block in which the second picture block to be processed is located are located on different rows, and the candidate reference block is located. If the coding tree block in which it is located and the coding tree block in which the second picture block to be processed is located are located in adjacent spaces on different rows, the initial motion vector of the candidate reference block is It will be appreciated that it is used as a motion vector for candidate reference blocks. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The specific range of spaces adjacent to different rows is not specifically limited in this embodiment of the invention.

関連技術において、デコーダは複数の処理対象のピクチャ・ブロックを同時に復号化してもよい。しかしながら、複数の処理対象のピクチャ・ブロックが同一のCTB行内に位置する場合、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックである可能性がある。複数の処理対象のピクチャ・ブロックが互いの候補の参照ブロックである場合、別のブロックの更新された最終的な動きベクトルは、別のブロックが更新された後に限り、現在の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用されることが可能である。その結果、復号化の遅延が存在する。更に、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックであるので、他のブロックが更新されるまで待機する必要がある。その結果、復号化遅延が増加する。 In a related technique, the decoder may simultaneously decode a plurality of picture blocks to be processed. However, when a plurality of processed picture blocks are located in the same CTB row, the plurality of processed picture blocks may be reference blocks of each other. If multiple processed picture blocks are reference blocks of each other's candidates, the updated final motion vector of another block will only be the current processed picture block after another block has been updated. It can be used as a predicted motion vector for block spatial candidates. As a result, there is a decryption delay. Further, since the plurality of picture blocks to be processed are reference blocks of each other's candidates, it is necessary to wait until the other blocks are updated. As a result, the decryption delay increases.

従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、次いで、候補の参照ブロックの動きベクトルが、第2の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用される。これについては、ステップ1803を参照されたい。 Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, and then the motion vector of the candidate reference block is the second object to be processed. Used as a predicted motion vector for spatial candidates in a picture block. See step 1803 for this.

候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、候補の参照ブロックに対する更新処理は完了しない可能性がある。従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、候補の参照ブロックが更新されるまで待機する必要はなく、復号化遅延を低減する。候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。従って、候補の参照ブロックは最終的な動きベクトルを有し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして最終的な動きベクトルを使用することは、復号化品質を保証することができる。 If the CTB where the candidate reference block is located and the CTB where the second picture block to be processed is located are located on the same row, the update process for the candidate reference block may not be completed. Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, without having to wait for the candidate reference block to be updated, and decoding. Reduce delay. If the CTB where the candidate reference block is located and the CTB where the second processed picture block is located are not located on the same row, it is sufficient to complete the update process for the candidate reference block. Show that you have time. Therefore, the candidate reference block has a final motion vector, and the final motion vector of the candidate reference block can be used as the motion vector of the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the candidate reference block guarantees decoding quality. can do.

前もってセットされたレンジは、代替的に、CTBブロック・レンジであってもよい。例えば、候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The preset range may be the CTB block range instead. For example, when the candidate reference block and the second processed picture block are located in the same CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, if the candidate reference block and the second processed picture block are not located in the same CTB, the final motion vector of the candidate reference block is the motion vector of the candidate reference block. Used as.

候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、それは候補の参照ブロックにおける更新処理は完了していない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とすることなく、候補の参照ブロックの動きベクトルとして直接的に使用され、復号化遅延を低減する。更に、候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、それは候補の参照ブロックに関して更新処理を完了するための十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、第2の処理対象のピクチャ・ブロックと同じCTB内に位置していない候補の参照ブロックの最終的な動きベクトルを、候補の参照ブロックの動きベクトルとして使用することは、復号化品質を保証することができる。 If the candidate reference block and the second processed picture block are located in the same CTB, it indicates that the update process in the candidate reference block may not be completed, and the candidate reference block. The initial motion vector of is used directly as the motion vector of the candidate reference block without having to wait for the candidate reference block to be updated, reducing the decoding delay. Further, if the candidate reference block and the second processed picture block are not located in the same CTB, it indicates that there is sufficient time to complete the update process for the candidate reference block. .. Further, since the final motion vector is a motion vector obtained after the initial motion vector is refined, the final of the candidate reference blocks that are not located in the same CTB as the second processed picture block. Using the motion vector as the motion vector of the candidate reference block can guarantee the decoding quality.

前もってセットされたレンジは、代替的に、同じCTBブロック・レンジ、又は左隣接及び右隣接CTBブロックのレンジであってもよい。例えば、候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBであるか、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The preset range may optionally be the same CTB block range, or the range of left-adjacent and right-adjacent CTB blocks. For example, the CTB where the candidate reference block is located is the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture block. If it is a left-adjacent or right-adjacent block of the located CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, the CTB where the candidate reference block is located is not the same as the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture. If the block is not on the left or right side of the CTB where the block is located, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block.

候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBと同じである場合、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合、それは、候補の参照ブロックに対する更新処理が完了しない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とせずに、候補の参照ブロックの動きベクトルとして直接的に使用され、復号化遅延を低減する。更に、候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの最終的な動きベクトルを使用することは、復号化品質を保証することができる。 If the CTB where the candidate reference block is located is the same as the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture block. If it is a left-adjacent or right-adjacent block of the located CTB, it indicates that the update process for the candidate reference block may not be completed, and the initial motion vector of the candidate reference block is that the candidate reference block It is used directly as the motion vector of the candidate reference block without having to wait for it to be updated, reducing the decoding delay. Further, the CTB where the candidate reference block is located is not the same as the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture block. If is not a left-adjacent or right-adjacent block of the CTB in which it is located, it indicates that there is sufficient time to complete the update process for the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, it is not possible to use the final motion vector of the candidate reference block as the motion vector of the candidate reference block. , Decryption quality can be guaranteed.

2003:デコーダは、1つ以上の候補の参照ブロックの1つ以上の動きベクトルに基づいて、候補の予測された動きベクトルのリストを設定する。 2003: The decoder sets a list of predicted motion vectors of candidates based on one or more motion vectors of one or more candidate reference blocks.

ステップ2003は、ステップ1903と同じであり、即ち、デコーダが候補の予測された動きベクトルのリストを設定する方法は、エンコーダが候補の予測された動きベクトルのリストを設定する方法と一貫しており、設定された候補の予測された動きベクトルのリストは同じである。エンコーダは、デコーダによって受信されるビットストリームを符号化するエンコーダである。 Step 2003 is the same as step 1903, i.e., the way the decoder sets the list of candidate predicted motion vectors is consistent with the way the encoder sets the list of candidate predicted motion vectors. , The list of predicted motion vectors of the set candidates is the same. The encoder is an encoder that encodes the bitstream received by the decoder.

2004:デコーダは、第2識別情報に基づいて、候補の予測された動きベクトルのリストから、第2の処理対象のピクチャ・ブロックの参照ブロックと参照ブロックの動きベクトルとを決定する。 2004: The decoder determines the reference block of the picture block to be processed and the motion vector of the reference block from the list of predicted motion vectors of the candidates based on the second identification information.

第2識別情報のインデックスで示される動きベクトルは、インデックスに基づいて候補の予測された動きベクトルのリストから選択される。動きベクトルは、第2の処理対象のピクチャ・ブロックの初期の動きベクトルであり、動きベクトルはまた、第2の処理対象のピクチャ・ブロックの参照ブロックの動きベクトルでもある。 The motion vector indicated by the index of the second identification information is selected from the list of candidate predicted motion vectors based on the index. The motion vector is the initial motion vector of the second processed picture block, and the motion vector is also the motion vector of the reference block of the second processed picture block.

2005:エンコーダは、参照ブロックの動きベクトルを、第2の処理対象のピクチャ・ブロックの初期の動きベクトルとして記憶する。 2005: The encoder stores the motion vector of the reference block as the initial motion vector of the second processed picture block.

ステップ2001ないし2005は、デコーダが第2の処理対象のピクチャ・ブロックの初期の動きベクトルを取得する処理である。 Steps 2001 to 2005 are processes in which the decoder acquires the initial motion vector of the picture block to be processed.

2006:デコーダは、第2の処理対象のピクチャ・ブロックの初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、第2の処理対象のピクチャ・ブロックの予測ブロックを決定する。 2006: The decoder determines the predictive block of the second processed picture block based on the initial motion vector of the second processed picture block and one or more preset motion vector offsets. decide.

ステップ2006は、図14の1401ないし1404を使用することによって完了することができる。詳細はここで再び説明しない。 Step 2006 can be completed by using 1401 to 1404 of FIG. Details will not be explained here again.

1つ以上の前もってセットされた動きベクトル・オフセットについては、ステップ1906を参照されたい。詳細はここで再び説明しない。 See step 1906 for one or more preset motion vector offsets. Details will not be explained here again.

ステップ2005及び2006を実行する不特定のシーケンスがあることに留意すべきであり、ステップ2006は代替的にステップ2005の前に実行されてもよい。ステップ2005及び2006を実行するシーケンスは、本願のこの実施形態において具体的に限定されない。 It should be noted that there are unspecified sequences that perform steps 2005 and 2006, and step 2006 may be performed before step 2005 instead. The sequences that perform steps 2005 and 2006 are not specifically limited in this embodiment of the present application.

2007:予測ブロックの動きベクトルを決定した後に、デコーダは、予測ブロックの動きベクトルを、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルとして使用する。 2007: After determining the motion vector of the predicted block, the decoder uses the motion vector of the predicted block as the final motion vector of the picture block to be processed.

ステップ2007では、候補の参照ブロックの動きベクトルが、予測ブロックの前もってセットされたレンジに基づいて決定されることが可能である。例えば、予測ブロックが前もってセットされたレンジ内にある場合には、予測ブロックの初期の動きベクトルが予測ブロックの動きベクトルとして使用され、予測ブロックが前もってセットされたレンジ外にある場合には、予測ブロックの最終的な動きベクトルが予測ブロックの動きベクトルとして使用される。 In step 2007, the motion vector of the candidate reference block can be determined based on the pre-set range of the predicted block. For example, if the predicted block is within the preset range, the initial motion vector of the predicted block is used as the motion vector of the predicted block, and if the predicted block is outside the preset range, the prediction is made. The final motion vector of the block is used as the motion vector of the predicted block.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。相応して、予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置しない場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。図21を参照すると、予測ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、予測ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の特定のレンジは、本発明のこの実施形態では具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the prediction block is located and the CTB where the second picture block to be processed is located are located on the same row, the initial motion vector of the prediction block is used as the motion vector of the prediction block. Will be done. Correspondingly, if the CTB where the prediction block is located and the CTB where the second picture block to be processed is located are not located in the same row, the initial motion vector of the prediction block is the motion vector of the prediction block. Used as. Referring to FIG. 21, the coding tree block in which the prediction block is located and the coding tree block in which the second processing target picture block is located are located on different rows, and the prediction block is located in the coding tree block. If the tree block and the coding tree block where the second processed picture block is located are located in adjacent spaces on different rows, the initial motion vector of the predictor block is the motion of the predictor block. It will be understood that it is used as a vector. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The particular range of adjacent spaces in different rows is not specifically limited in this embodiment of the invention.

予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、予測ブロックに対する更新処理は終了しない可能性がある。従って、予測ブロックの初期の動きベクトルは、予測ブロックの動きベクトルとして直接的に使用されることが可能であり、予測ブロックが更新されるまで待機する必要はなく、復号化遅延を低減する。予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、予測ブロックに対する更新処理を完了するのに十分な時間があることを示す。従って、予測ブロックは最終的な動きベクトルを有し、予測ブロックの最終的な動きベクトルは、候補の参照ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、予測ブロックの動きベクトルとして最終的な動きベクトルを使用することは、復号化品質を保証することができる。 If the CTB where the prediction block is located and the CTB where the second picture block to be processed is located are located on the same row, the update processing for the prediction block may not be completed. Therefore, the initial motion vector of the predicted block can be used directly as the motion vector of the predicted block, and it is not necessary to wait until the predicted block is updated, which reduces the decoding delay. If the CTB where the predicted block is located and the CTB where the second processed picture block is located are not located on the same row, it has enough time to complete the update process for the predicted block. Show that. Therefore, the predicted block has a final motion vector, and the final motion vector of the predicted block can be used as a motion vector of the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the prediction block ensures decoding quality. Can be done.

幾つかの実施形態では、前もってセットされたレンジは代替的にCTBブロック・レンジであってもよい。幾つかの他の実施形態では、前もってセットされたレンジは、代替的に、同じCTBブロック・レンジであってもよい。予測ブロックの動きベクトルの決定は、候補の参照ブロックの動きベクトルの決定と同様である。これについてはステップ1802を参照されたい。詳細はここで再び説明しない。 In some embodiments, the preset range may be the CTB block range instead. In some other embodiments, the preset range may be the same CTB block range instead. Determining the motion vector of the predictive block is similar to determining the motion vector of the candidate reference block. See step 1802 for this. Details will not be explained here again.

ステップ2006及びステップ2007は、デコーダが第2の処理対象のピクチャ・ブロックの最終的な動きベクトルを取得する処理である。 Steps 2006 and 2007 are processes in which the decoder acquires the final motion vector of the picture block to be processed.

2008:第2の処理対象のピクチャ・ブロックの動きベクトル残差を、ターゲット・ストレージ空間に記憶する。 2008: The motion vector residual of the picture block to be processed second is stored in the target storage space.

ターゲット・ストレージ空間は、デコーダによって動きベクトル残差を記憶するための空間である。例えば、ターゲット・ストレージ空間は、図3の参照ピクチャ・ストレージ92であってもよい。 The target storage space is a space for storing motion vector residuals by the decoder. For example, the target storage space may be the reference picture storage 92 of FIG.

関連技術におけるマージ・モードでは、ターゲット・ストレージ空間はゼロ・ベクトルを記憶するか、又はターゲット・ストレージ空間はデータを記憶しないことに留意すべきである。しかしながら、本願のこの実施形態におけるマージ・モードでは、処理対象のピクチャ・ブロックの動きベクトル残差がターゲット・ストレージ空間に記憶され、その結果、ターゲット・ストレージ空間を完全に使用することが可能であるだけでなく、他のピクチャ・ブロックの動きベクトルが第2の処理対象のピクチャ・ブロックに対して必要とされる場合に、他のピクチャ・ブロックの動きベクトルを柔軟に選択することも可能である。ステップ2002及び2007において示されるように、デコーダの復号化効率は更に改善される。 It should be noted that in merge mode in related technology, the target storage space stores zero vectors or the target storage space does not store data. However, in the merge mode of this embodiment of the present application, the motion vector residuals of the picture block to be processed are stored in the target storage space, and as a result, the target storage space can be completely used. Not only that, it is also possible to flexibly select the motion vector of the other picture block when the motion vector of the other picture block is required for the second processed picture block. .. As shown in steps 2002 and 2007, the decoding efficiency of the decoder is further improved.

更に、一部の実装では、ステップ2008において、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルが、代替的に、第2の処理対象のピクチャ・ブロックの動きベクトル残差として使用され、ターゲット・ストレージ空間に記憶されることが可能であり、即ち、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルがターゲット・ストレージ空間に記憶され、第2の処理対象のピクチャ・ブロックの動きベクトル残差は、ターゲット・ストレージ空間に記憶されない。この場合において、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルが別のブロックに必要とされる場合、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルは、第2の処理対象のピクチャ・ブロックの初期の動きベクトルと、第2の処理対象のピクチャ・ブロックの動きベクトル残差とを加算する必要なしに、デコーダのターゲット・ストレージ空間から直接的に取得されることが可能である。 Further, in some implementations, in step 2008, the final motion vector of the second processed picture block is instead used as the motion vector residual of the second processed picture block. , That is, the final motion vector of the second processed picture block is stored in the target storage space and is stored in the target storage space, that is, the second processed picture block. The motion vector residuals of are not stored in the target storage space. In this case, if the final motion vector of the second processed picture block is required for another block, the final motion vector of the second processed picture block is the second. Can be obtained directly from the decoder's target storage space without the need to add the initial motion vector of the picture block to be processed and the motion vector residuals of the second picture block to be processed. It is possible.

このステップ2008における具体的なストレージ方法については、図21を参照されたい。 See FIG. 21 for a specific storage method in this step 2008.

ステップ2007及び2008の間のシーケンスには厳密な要件がないことに留意すべきであり、デコーダは代替的にステップ2008の前にステップ2007を実行してもよい。これは本願のこの実施形態で具体的に限定されない。 It should be noted that there are no strict requirements for the sequence between steps 2007 and 2008, and the decoder may optionally perform step 2007 before step 2008. This is not specifically limited in this embodiment of the present application.

2009:デコーダは、第2の処理対象のピクチャ・ブロックの動きベクトル残差と初期の動き差分とに基づいて、第2の処理対象のピクチャ・ブロックに対応するピクチャ情報を取得する。 2009: The decoder acquires the picture information corresponding to the second processed picture block based on the motion vector residual of the second processed picture block and the initial motion difference.

ピクチャ情報は、第2の処理対象のピクチャ・ブロックのオリジナル・ピクチャを識別するために使用されるピクセル情報を含む。 The picture information includes pixel information used to identify the original picture of the second processable picture block.

デコーダは、第2の処理対象のピクチャ・ブロックの動きベクトル残差と初期の動き差分とに基づいて、第2の処理対象のピクチャ・ブロックに対応するピクチャ情報を取得する。これについては、図3を参照されたい。詳細はここで再び説明されない。 The decoder acquires the picture information corresponding to the picture block to be processed second based on the motion vector residual of the picture block to be processed and the initial motion difference. See FIG. 3 for this. Details will not be explained here again.

相応して、デコーダは、代替的に、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルに基づいて、第2の処理対象のピクチャ・ブロックに対応するピクチャ情報を取得してもよい。 Accordingly, the decoder may instead acquire the picture information corresponding to the second processed picture block based on the final motion vector of the second processed picture block. ..

前述の実装では、現在の復号化ブロックを復号化する場合に、デコーダは、参照ブロックの最終的な動きベクトルの代わりに、現在の復号化ブロックの予測された動きベクトルとして、参照ブロックの更新されていない初期の動きベクトルを使用する。このように、参照ブロックの動きベクトルが現在の復号化ブロックに対して必要とされる場合、関連するステップは、参照ブロックの最終的な動きベクトルが更新されるまで待機する必要なしに実行されることが可能であり、復号化遅延が確実に削減されることを保証する一方、復号化効率は、動きベクトルが更新されるので改善される。 In the above implementation, when decoding the current decrypted block, the decoder updates the reference block as the predicted motion vector of the current decoded block instead of the final motion vector of the reference block. Use an early motion vector that is not. Thus, if the motion vector of the reference block is required for the current decoded block, the relevant steps are performed without having to wait for the final motion vector of the reference block to be updated. It is possible to ensure that the decoding delay is reduced, while the decoding efficiency is improved as the motion vector is updated.

動きベクトル・ストレージ方法を更に反映するために、具体的な実施形態が、ストレージ・ステップを説明するためにここで使用される。具体的な説明は次のとおりである: To further reflect the motion vector storage method, specific embodiments are used herein to illustrate the storage steps. The specific explanation is as follows:

マージ・モードでは、各々の予測方向において2つのMVが存在する可能性があり、それぞれ第1MV情報及び第2MV情報である。例えば、第1MV及び第2MVはそれぞれ、参照ブロックの初期の動きベクトル、及び参照ブロックの最終的な動きベクトルであってもよい。MVD導出プロセスはマージ・モードに導入される。例えば、前方予測プロセスにおいて、第1MVがMV0であり、第2MVがMV0’である場合に、派生的な関係が存在する:MV0’=MV0+(−)MVD0。2つのMV、例えば初期の動きベクトルのインデックス値と以前のMVD、即ち、2つのMV間の差分とを記憶することによって、第1MVが特定の条件下で使用されることが可能であり、第2MVが特定の条件下で使用されることが可能であり、遅延を回避する。 In the merge mode, there may be two MVs in each prediction direction, the first MV information and the second MV information, respectively. For example, the first MV and the second MV may be the initial motion vector of the reference block and the final motion vector of the reference block, respectively. The MVD derivation process is introduced into merge mode. For example, in the forward prediction process, if the first MV is MV0 and the second MV is MV0', then there is a derivative relationship: MV0'= MV0 + (-) MVD0. Two MVs, eg, the initial motion vector. By storing the index value of and the previous MVD, i.e., the difference between the two MVs, the first MV can be used under certain conditions and the second MV is used under certain conditions. It is possible to avoid delays.

特定の条件については、ステップ1902又は2002を参照されたい。詳細はここで再び説明されない。 See step 1902 or 2002 for specific conditions. Details will not be explained here again.

実現可能な実装において、
非マージ・モードでは、ターゲット・ストレージ空間が、参照ブロックの動きベクトル残差を記憶するために使用され、参照ブロックの動きベクトル残差は、参照ブロックの最終的な動きベクトルと参照ブロックの予測された動きベクトルとの差分である。
マージ・モードでは、ターゲット・ストレージ空間は、選択された最終的な動きベクトルを記憶するために使用されるか、又はターゲット・ストレージ空間は、参照ブロックの初期の動きベクトルと選択された最終的な動きベクトルとの間の差分を記憶するために使用される。
In a feasible implementation
In non-merged mode, the target storage space is used to store the motion vector residuals of the reference block, and the motion vector residuals of the reference block are predicted for the final motion vector of the reference block and the reference block. It is the difference from the motion vector.
In merge mode, the target storage space is used to store the selected final motion vector, or the target storage space is the initial motion vector of the reference block and the selected final motion vector. Used to store the difference to and from the motion vector.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

図22に示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が得られ、参照ブロックはマージ・モードであり、参照ブロックの動き情報の位置は、現在のコーディング・ブロックと同一のCTBラインのレンジにはない。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−22,18)と前方MVD(1,0)とを加えることによって取得され、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(2,12)と後方MVD(−1,0)とを加えることによって取得され、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 22, the current coding block is the first coding block, which provides the predicted motion information of the current coding block, the reference block is in merge mode, and the motion information of the reference block. The position of is not in the same CTB line range as the current coding block. In this case, the forward motion vector predictor (-21,18) of the current coding block is obtained by adding the forward motion vector (-22,18) and the forward MVD (1,0) of the reference block. The backward motion vector predictor (1,12) of the current coding block is obtained by adding the backward motion vector (2,12) and the backward MVD (-1,0) of the reference block and is the current coding block. The POC of the picture in which the block is located is 4, the POC of the forward reference picture indicated by the index value of the reference picture is 2, and the POC of the backward reference picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。 (-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

図22に示すように、現在の復号化ブロックは第1復号化ブロックであり、現在のコーディング・ブロックの予測された動き情報が得られ、参照ブロックはマージ・モードであり、参照ブロックの動き情報の位置は、現在のコーディング・ブロックと同一のCTBレンジにはない。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−22,18)と前方MVD(1,0)とを加えることによって取得され、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(2,12)と後方MVD(−1,0)とを加えることによって取得され、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 22, the current decoding block is the first decoding block, which provides the predicted motion information of the current coding block, the reference block is in merge mode, and the motion information of the reference block. The position of is not in the same CTB range as the current coding block. In this case, the forward motion vector predictor (-21,18) of the current coding block is obtained by adding the forward motion vector (-22,18) and the forward MVD (1,0) of the reference block. The backward motion vector predictor (1,12) of the current coding block is obtained by adding the backward motion vector (2,12) and the backward MVD (-1,0) of the reference block and is the current coding block. The POC of the picture in which the block is located is 4, the POC of the forward reference picture indicated by the index value of the reference picture is 2, and the POC of the backward reference picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。
新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。
(-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search.
The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

図22に示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が得られ、参照ブロックはマージ・モードであり、参照ブロックの動き情報の位置は、現在のコーディング・ブロックと同一のCTBラインのレンジにはない。
この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−22,18)と前方MVD(1,0)とを加えることによって取得され、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(2,12)と後方MVD(−1,0)とを加えることによって取得され、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。
As shown in FIG. 22, the current coding block is the first coding block, which provides the predicted motion information of the current coding block, the reference block is in merge mode, and the motion information of the reference block. The position of is not in the same CTB line range as the current coding block.
In this case, the forward motion vector predictor (-21,18) of the current coding block is obtained by adding the forward motion vector (-22,18) and the forward MVD (1,0) of the reference block. The backward motion vector predictor (1,12) of the current coding block is obtained by adding the backward motion vector (2,12) and the backward MVD (-1,0) of the reference block and is the current coding block. The POC of the picture in which the block is located is 4, the POC of the forward reference picture indicated by the index value of the reference picture is 2, and the POC of the backward reference picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。 (-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

次いで、(−21,19)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1/2ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,11)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1/2ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、
前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用される。
(-21,19) is then used as a reference input for the forward motion vector predictor, and a first precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is 1/2 pixel precision. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 11) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is 1/2 pixel precision. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference.
The forward motion vector predictor corresponding to the forward prediction block and the backward motion vector predictor corresponding to the backward prediction block are used as the target motion vector predictor.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

現在の復号化ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が取得される。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−21,18)であり、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(1,12)であり、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 The current decoding block is the first coding block, and the predicted motion information of the current coding block is acquired. In this case, the forward motion vector predictor (-21,18) of the current coding block is the forward motion vector (-21,18) of the reference block and the backward motion vector predictor (1) of the current coding block. , 12) are the backward movement vectors (1,12) of the reference block, the POC of the picture in which the current coding block is located is 4, and the POC of the forward reference picture indicated by the index value of the reference picture is 2. The POC of the back-referenced picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。 (-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

幾つかの実施形態では、処理対象のピクチャ・ブロックは複数のサブ・ブロックを含んでもよく、コーデックは、各々のサブ・ブロックの最終的な動きベクトルに基づいて、処理対象のピクチャ・ブロックの最終的な動きベクトルを取得することができる。可能な実装において、各々のサブ・ブロックは、初期の動きベクトルと、サブ・ブロックの複数の前もってセットされたオフセット・ベクトルとを有する。コーデックは、任意のサブ・ブロックの複数の候補の最終的な動きベクトルを得るために、複数のサブ・ブロックのうちの任意の1つの初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えることができる。コーデックは、任意のサブ・ブロックの最終的な動きベクトルとして、任意のサブ・ブロックの複数の候補の最終的な動きベクトルにおける最小歪コストに対応する候補の最終的な動きベクトルを使用する。同様に、コーデックは、各サブ・ブロックの最終的な動きベクトルを得ることができ、次いで、コーデックは、各サブ・ブロックの最終的な動きベクトルに基づいて、処理対象のピクチャ・ブロックの最終的な動きベクトルを得ることができる。各サブ・ブロックの最終的な動きベクトルに基づいて処理対象のピクチャ・ブロックの最終的な動きベクトルを得るプロセスは、本発明のこの実施形態において具体的に限定されない。 In some embodiments, the picture block to be processed may contain a plurality of sub-blocks, and the codec is the final of the picture blocks to be processed based on the final motion vector of each sub-block. Motion vector can be obtained. In a possible implementation, each sub-block has an initial motion vector and a plurality of pre-set offset vectors of the sub-block. The codec has an initial motion vector of any one of a plurality of sub-blocks and a plurality of pre-set offset vectors in order to obtain the final motion vector of multiple candidates of any sub-block. Can be added separately. The codec uses, as the final motion vector of any sub-block, the candidate final motion vector corresponding to the minimum distortion cost in the final motion vector of multiple candidates of any sub-block. Similarly, the codec can obtain the final motion vector of each sub-block, and then the codec can obtain the final motion vector of the picture block to be processed based on the final motion vector of each sub-block. Motion vector can be obtained. The process of obtaining the final motion vector of the picture block to be processed based on the final motion vector of each sub-block is not specifically limited in this embodiment of the present invention.

任意のサブ・ブロックの複数の候補の最終的な動きベクトルを得る前に、コーデックは、先ず、任意のサブ・ブロックの初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを決定する必要があることに留意すべきである。任意のサブ・ブロックの初期の動きベクトルを決定する方法は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定する方法に類似しており、本発明のこの実施形態では説明しない。更に、任意のサブ・ブロックの複数の前もってセットされたオフセット・ベクトルを決定する方法は、処理対象のピクチャ・ブロックの複数の前もってセットされたオフセット・ベクトルを決定する方法に類似しており、本発明のこの実施形態では説明しない。 Before obtaining the final motion vector of multiple candidates for any subblock, the codec must first determine the initial motion vector of any subblock and the preset offset vectors. It should be noted that there is. The method of determining the initial motion vector of any sub-block is similar to the method of determining the initial motion vector of the picture block to be processed and is not described in this embodiment of the invention. Furthermore, the method of determining multiple pre-set offset vectors of any sub-block is similar to the method of determining multiple pre-set offset vectors of the picture block to be processed. Not described in this embodiment of the invention.

図23は、本願の実施形態による動きベクトル取得装置2300の概略ブロック図である。装置2300は:
処理対象のピクチャ・ブロックの参照ブロックを決定するように構成された決定モジュール2301であって、参照ブロック及び処理対象のピクチャ・ブロックは前もってセットされた時間的又は空間的な相関を有し、参照ブロックは、初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを有し、参照ブロックの初期の動きベクトルは、参照ブロックの予測された動きベクトルに基づいて取得され、参照ブロックの予測ブロックは、初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて取得される、決定モジュールと、
処理対象のピクチャ・ブロックの予測された動きベクトルとして、参照ブロックの初期の動きベクトルを使用するように構成された取得モジュール2302とを含む。
FIG. 23 is a schematic block diagram of the motion vector acquisition device 2300 according to the embodiment of the present application. Device 2300 is:
A decision module 2301 configured to determine a reference block for a picture block to be processed, wherein the reference block and the picture block to be processed have a preset temporal or spatial correlation and are referenced. The block has an initial motion vector and one or more preset motion vector offsets, and the initial motion vector of the reference block is obtained based on the predicted motion vector of the reference block and is a reference block. The prediction block of is obtained based on the initial motion vector and one or more pre-set motion vector offsets, with a decision module,
Includes acquisition module 2302 configured to use the initial motion vector of the reference block as the predicted motion vector of the picture block to be processed.

実現可能な実装において、取得モジュール2302は、参照ブロックの予測された動きベクトルを、参照ブロックの初期の動きベクトルとして使用するように構成されるか、又は参照ブロックの予測された動きベクトルと参照ブロックの動きベクトル差分とを加算して、参照ブロックの初期の動きベクトルを取得するように更に構成される。 In a feasible implementation, the acquisition module 2302 is configured to use the predicted motion vector of the reference block as the initial motion vector of the reference block, or the predicted motion vector of the reference block and the reference block. It is further configured to obtain the initial motion vector of the reference block by adding the motion vector difference of.

実現可能な実施において、取得モジュール2302は、更に、参照ブロックの時間的な予測ブロックとして機能するように、参照ブロックの初期の動きベクトルによって示されるピクチャ・ブロックを、参照ブロックの参照フレームから取得し;1つ以上の実際の動きベクトルを取得するために、参照ベクトルの初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを追加し(ここで、それぞれの実際の動きベクトルは1つ以上の探索位置を示す)、1つ以上の実際の動きベクトルによって示される1つ以上の探索位置において1つ以上の候補の予測ブロックを取得し(ここで、それぞれの探索位置は1つの候補の予測ブロックに対応する)、時間的な予測ブロックからの最小ピクセル差分を有する候補の予測ブロックを、参照ブロックの予測ブロックとして、1つ以上の候補の予測ブロックから選択するように構成される。 In a feasible implementation, acquisition module 2302 further acquires the picture block represented by the initial motion vector of the reference block from the reference frame of the reference block so that it acts as a temporal prediction block of the reference block. To get one or more actual motion vectors, add the initial motion vector of the reference vector and one or more preset motion vector offsets (where each actual motion vector is Obtain one or more candidate prediction blocks at one or more search positions indicated by one or more actual motion vectors (indicating one or more search positions) (where each search position is one). A candidate prediction block having the smallest pixel difference from the temporal prediction block (corresponding to the candidate prediction block) is configured to be selected from one or more candidate prediction blocks as the reference block prediction block. ..

実現可能な実装において、装置2300は、双方向予測に使用され、参照フレームは、第1方向の参照フレームと第2方向の参照フレームとを含み、初期の動きベクトルは、第1方向の初期の動きベクトルと第2方向の初期の動きベクトルとを含み、取得モジュール2302は、具体的には、参照ブロックの第1方向の参照フレームから、参照ブロックの第1方向の初期の動きベクトルによって示される第1ピクチャ・ブロックを取得し、参照ブロックの第2方向の参照フレームから、参照ブロックの第2方向の初期の動きベクトルによって示される第2のピクチャ・ブロックを取得し、参照ブロックの時間的な予測ブロックを取得するために、第1ピクチャ・ブロック及び第2ピクチャ・ブロックに対して重み付け処理を実行するように構成される。 In a feasible implementation, the device 2300 is used for bidirectional prediction, the reference frame includes a reference frame in the first direction and a reference frame in the second direction, and the initial motion vector is the initial motion vector in the first direction. It contains a motion vector and an initial motion vector in the second direction, and the acquisition module 2302 is specifically indicated by the initial motion vector in the first direction of the reference block from the reference frame in the first direction of the reference block. Obtain the first picture block, and from the reference frame in the second direction of the reference block, obtain the second picture block indicated by the initial motion vector in the second direction of the reference block, and obtain the temporal of the reference block. It is configured to perform a weighting process on the first picture block and the second picture block in order to acquire the prediction block.

実現可能な実施において、取得モジュール2302は、処理対象のピクチャ・ブロックの予測された動きベクトルを、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用するように具体的に構成される。 In a feasible implementation, acquisition module 2302 is specifically configured to use the predicted motion vector of the picture block to be processed as the initial motion vector of the picture block to be processed.

実現可能な実施において、取得モジュール2302は、処理対象のピクチャ・ブロックの予測された動きベクトルと、処理対象のピクチャ・ブロックの動きベクトル差分
とを加算して、処理対象のピクチャ・ブロックの初期の動きベクトルを取得するように、具体的に構成される。
In a feasible implementation, acquisition module 2302 adds the predicted motion vector of the picture block to be processed and the motion vector difference of the picture block to be processed to the initial of the picture block to be processed. It is specifically configured to get a motion vector.

実現可能な実装において、装置2300は、ビデオ復号化に使用され、処理対象のピクチャ・ブロックの動きベクトル差分は、ビットストリームにおける第1識別情報を解析することによって得られる。 In a feasible implementation, the device 2300 is used for video decoding and the motion vector differences of the picture blocks to be processed are obtained by analyzing the first discriminant information in the bitstream.

実現可能な実装において、装置2300は、ビデオ復号化に使用され、決定モジュール2301は、第2識別情報を得るためにビットストリームを解析し、第2識別情報に基づいて処理対象のピクチャ・ブロックの参照ブロックを決定するように、具体的に構成される。 In a feasible implementation, device 2300 is used for video decoding and decision module 2301 analyzes the bitstream to obtain second identification information and is based on the second identification information of the picture block to be processed. It is specifically configured to determine the reference block.

実現可能な実装において、装置2300は、ビデオ符号化に使用され、決定モジュール2301は、処理対象のピクチャ・ブロックの1つ以上の候補の参照ブロックから、処理対象のピクチャ・ブロックの参照ブロックとして、最小レート歪コストを有する候補参照ブロックを選択するように、具体的に構成される。 In a feasible implementation, device 2300 is used for video coding and the decision module 2301 is taken from one or more candidate reference blocks of the picture block to be processed as a reference block of the picture block to be processed. It is specifically configured to select the candidate reference block with the minimum rate distortion cost.

図24は、本願の実施形態によるビデオ・コーディング・デバイスの概略ブロック図である。デバイス2400は、エンコーダに適用されてもよいし、又はデコーダに適用されてもよい。デバイス2400はプロセッサ2401及びメモリ2402を含む。プロセッサ2401及びメモリ2402は互いに(例えば、バス2404を介して)接続される。可能な実装において、デバイス2400は、トランシーバ2403を更に含んでもよい。トランシーバ2403は、プロセッサ2401及びメモリ2402に接続され、データを受信/送信するように構成される。 FIG. 24 is a schematic block diagram of a video coding device according to an embodiment of the present application. The device 2400 may be applied to the encoder or may be applied to the decoder. Device 2400 includes processor 2401 and memory 2402. The processor 2401 and the memory 2402 are connected to each other (eg, via bus 2404). In a possible implementation, the device 2400 may further include a transceiver 2403. Transceiver 2403 is connected to processor 2401 and memory 2402 and is configured to receive / transmit data.

メモリ2402は、ランダム・アクセス・メモリ(random access memory,RAM)、リード・オンリー・メモリ(read−only memory,ROM)、消去可能なプログラマブル。リード・オンリー・メモリ(erasable programmable read only memory,EPROM)、又はコンパクト・ディスク・リード・オンリー・メモリ(compact disc read−only memory,CD−ROM)を含むが、これらに限定されない。メモリ2402は、関連するプログラム・コード及びビデオ・データを記憶するように構成される。 The memory 2402 is a random access memory (RAM), a read-only memory (ROM), and an erasable programmable. Includes, but is not limited to, read-only memory (EPROM) or compact disc read-only memory (CD-ROM). Memory 2402 is configured to store relevant program code and video data.

プロセッサ2401は、1つ以上の中央処理ユニット(central processing unit,CPU)であってもよい。プロセッサ2401が1つのCPUである場合、CPUは、シングル・コアCPU又はマルチ・コアCPUであってもよい。 Processor 2401 may be one or more central processing units (CPUs). When the processor 2401 is one CPU, the CPU may be a single core CPU or a multi-core CPU.

プロセッサ2401は、メモリ2402に記憶されたプログラム・コードを読み込み、図13ないし図20に対応する任意の実装解決策、及び実装解決策の種々の実現可能な実装における演算を実行するように構成される。 Processor 2401 is configured to read the program code stored in memory 2402 and perform any implementation solution corresponding to FIGS. 13 to 20 and operations in various feasible implementations of the implementation solution. To.

例えば、本願の実施形態は、コンピュータ読み取り可能な記憶媒体を更に提供する。コンピュータ読み取り可能な記憶媒体は命令を記憶する。命令がコンピュータ上で実行される場合に、コンピュータは、
図13ないし図20に対応する任意の実装解決策、及び実装解決策の種々の実装可能な実装における演算を実行することを可能にする。
For example, embodiments of the present application further provide a computer-readable storage medium. A computer-readable storage medium stores instructions. When the instruction is executed on the computer, the computer
It makes it possible to perform operations in any implementation solution corresponding to FIGS. 13 to 20 and in various implementable implementations of the implementation solution.

例えば、本願の実施形態は、命令を含むコンピュータ・プログラム製品を更に提供する。コンピュータ・プログラム製品がコンピュータ上で実行される場合に、コンピュータは、図13ないし図20に対応する任意の実装解決策、及び実装解決策の種々の実装可能な実装における演算を実行することを可能にする。 For example, embodiments of the present application further provide computer program products that include instructions. When a computer program product is run on a computer, the computer is capable of performing any implementation solution corresponding to FIGS. 13-20, as well as operations in various implementable implementations of the implementation solution. To.

図25は、本願の実施形態による動きベクトル取得装置を示す。装置は、決定モジュール2501と、第1取得モジュール2502と、第2取得モジュール2503とを含む。 FIG. 25 shows a motion vector acquisition device according to an embodiment of the present application. The apparatus includes a determination module 2501, a first acquisition module 2502, and a second acquisition module 2503.

決定モジュール2501は、ステップ1904を実行するように構成される。 The decision module 2501 is configured to perform step 1904.

第1取得モジュール2502は、ステップ1907を実行するように構成される。 The first acquisition module 2502 is configured to perform step 1907.

第2取得モジュール2503は、ステップ1907を実行するように構成される。 The second acquisition module 2503 is configured to perform step 1907.

オプションとして、参照ブロックが、前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックCTBと、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが同じ行に位置することを含む。
相応して、参照ブロックが、前もってセットされたレンジ外にあることは、ステップ1907に関連して、参照ブロックが位置するコーディング・ツリー・ブロックと、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置することを含む。
Optionally, the reference block is in the preset range so that the coding tree block CTB where the reference block is located and the coding tree block where the picture block to be processed is located are on the same line. Including being located.
Correspondingly, the fact that the reference block is out of the preset range is related to step 1907, that is, the coding tree block in which the reference block is located and the coding tree in which the picture block to be processed is located. -Includes that the block is located on a different line.

オプションとして、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックと処理対象のピクチャ・ブロックとが同じコーディング・ツリー・ブロックに位置することを含む。
相応して、参照ブロックが前もってセットされたレンジ外にあることは、ステップ1907に関連して、参照ブロックと処理対象のピクチャ・ブロックとが異なるコーディング・ツリー・ブロックに位置することを含む。
Optionally, having the reference block in the preset range includes that the reference block and the picture block to be processed are in the same coding tree block.
Correspondingly, the fact that the reference block is out of the preset range includes that the reference block and the picture block to be processed are located in different coding tree blocks in relation to step 1907.

オプションとして、
参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じであること、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックであることを含む。
相応して、参照ブロックが前もってセットされたレンジ外にあることは、ステップ1907に関し、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じではないこと、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックではないことを含む。
As an option
The fact that the reference block is within the preset range means that the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located, or the reference block is located. Includes that the located coding tree block is a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located.
Correspondingly, the fact that the reference block is out of the preset range means that for step 1907, the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located. Includes that the coding tree block in which the reference block is located is not the left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located.

図26は、本願の実施形態による動きベクトル残差決定装置を示す。装置は、解析モジュール2601、加算モジュール2602、決定モジュール2603、及び取得モジュール2604を含む。 FIG. 26 shows a motion vector residual determination device according to an embodiment of the present application. The apparatus includes an analysis module 2601, an addition module 2602, a determination module 2603, and an acquisition module 2604.

解析モジュール2601は、ステップ2001を実行するように構成される。 The analysis module 2601 is configured to perform step 2001.

加算モジュール2602は、ステップ2002を実行するように構成される。 Addition module 2602 is configured to perform step 2002.

決定モジュール2603は、ステップ1422を実行するように構成される。 The decision module 2603 is configured to perform step 1422.

取得モジュール2604は、ステップ2008を実行するように構成される。 Acquisition module 2604 is configured to perform step 2008.

オプションとして、装置は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルを含み;第1の最終的な動きベクトルと第1の初期の動きベクトルとは処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し;及び
最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用することは:
第1の最終的な動きベクトルと第1の初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの第1動きベクトル残差として使用することを含む。
Optionally, the device is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first initial motion vector. Includes motion vector and second initial motion vector; first final motion vector and first initial motion vector are motion compensation blocks based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed; and the final motion vector and Using the difference from the initial motion vector as the motion vector residuals of the picture block being processed is:
The difference between the first final motion vector and the first initial motion vector is used as the first motion vector residual of the picture block to be processed.

図27は、本願の実施形態による動きベクトル・データ記憶装置を示す。装置は、第1解析モジュール2701、取得モジュール2702、第2解析モジュール2703、及び記憶モジュール2704を含む。 FIG. 27 shows a motion vector data storage device according to an embodiment of the present application. The apparatus includes a first analysis module 2701, an acquisition module 2702, a second analysis module 2703, and a storage module 2704.

第1解析モジュール2701は、ステップ2001を実行するように構成される。 The first analysis module 2701 is configured to perform step 2001.

取得モジュール2702は、ステップ2007を実行するように構成される。 Acquisition module 2702 is configured to perform step 2007.

第2解析モジュール2703は、ステップ2001を実行するように構成される。 The second analysis module 2703 is configured to perform step 2001.

記憶モジュール2704は、ステップ2008を実行するように構成される Storage module 2704 is configured to perform step 2008.

当業者は、本明細書で開示された実施形態で説明される例との組み合わせにおいて、ユニット及びアルゴリズム・ステップは、電子ハードウェア、又はコンピュータ・ソフトウェアと電子ハードウェアとの組み合わせによって実現されることが可能であることを認識するであろう。機能がハードウェア又はソフトウェアによって実行されるかどうかは、特定のアプリケーション及び技術的解決策の設計制約条件に依存する。当業者は、それぞれの特定のアプリケーションについて、説明された機能を実装するために様々な方法を使用することが可能であるが、そのような実装が本願の範囲を超えるものであると考えるべきではない。 Those skilled in the art will appreciate that in combination with the examples described in the embodiments disclosed herein, the units and algorithm steps are implemented by electronic hardware, or a combination of computer software and electronic hardware. Will recognize that is possible. Whether a function is performed by hardware or software depends on the design constraints of the particular application and technical solution. One of ordinary skill in the art can use various methods to implement the described functionality for each particular application, but such implementation should be considered to be beyond the scope of this application. No.

便宜上及び簡潔な説明の目的により、前述のシステム、装置、及びユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照されたいということが、当業者には明らかに理解されるであろう。詳細はここで再び説明しない。 It will be apparent to those skilled in the art that for convenience and brief description purposes, those skilled in the art should refer to the corresponding processes in embodiments of the methods described above for detailed operating processes of the systems, devices and units described above. Will be done. Details will not be explained here again.

前述の実施形態のすべて又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることが可能である。ソフトウェアが実施形態を実施するために使用される場合、実施形態は、コンピュータ・プログラム製品の形式で完全に又は部分的に実現されることが可能である。コンピュータ・プログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータ・プログラム命令がコンピュータ上においてロードされ実行される場合に、本願の実施形態に従って、手順又は機能の全部又は一部が生じる。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータ・ネットワーク、又は他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、又はコンピュータ読み取り可能な記憶媒体から別のコンピュータ読み取り可能な記憶媒体へ送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバー、又はデータ・センターから他のウェブサイト、コンピュータ、サーバー、又はデータ・センターに、有線(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者回線)又は無線(例えば、赤外線、マイクロ波など)方式で送信されることが可能である。コンピュータ読み取り可能な記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、又は1つ以上の使用可能な媒体を統合するサーバー又はデータ・センターなどのデータ・ストレージ・デバイスであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピー・ディスク、ハード・ディスク、又は磁気テープ)、光媒体(例えば、デジタル多用途ディスク)、半導体媒体(例えば、固体ドライブ)等であってもよい。 All or part of the aforementioned embodiments can be realized by software, hardware, firmware, or any combination thereof. When the software is used to implement an embodiment, the embodiment can be fully or partially implemented in the form of a computer program product. Computer program products include one or more computer instructions. When computer program instructions are loaded and executed on a computer, all or part of the procedure or function arises according to embodiments of the present application. The computer may be a general purpose computer, a dedicated computer, a computer network, or other programmable device. Computer instructions may be stored on a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, a computer command can be wired (eg, coaxial cable, fiber optic, or digital subscriber line) or from a website, computer, server, or data center to another website, computer, server, or data center. It can be transmitted wirelessly (eg, infrared, microwave, etc.). The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device such as a server or data center that integrates one or more usable media. The medium that can be used may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital versatile disk), a semiconductor medium (for example, a solid-state drive), or the like.

前述の実施形態では、各々の実施形態における説明は個々の焦点を有する。実施形態において詳細には説明されていない部分については、他の実施形態における関連する説明を参照されたい。 In the aforementioned embodiments, the description in each embodiment has an individual focus. For parts not described in detail in the embodiment, refer to the related description in the other embodiments.

以上の説明は、本願の特定の実装を説明しているに過ぎず、本願の保護範囲を限定するようには意図されていない。本願で開示される技術的範囲の中で当業者により容易に把握される任意の変形又は置換は、本願の保護範囲内にあるものとする。従って、本願の保護範囲は、クレームの保護範囲に従うものとする。


The above description merely describes a particular implementation of the present application and is not intended to limit the scope of protection of the present application. Any modifications or substitutions readily apparent to those skilled in the art within the technical scope disclosed herein shall be within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be in accordance with the scope of protection of the claim.


本願は、2018年9月3日に出願された「ビデオ・コーディング方法及び装置」と題する中国特許出願第201811020181.9号に対する優先権を主張しており、その全体が参照により本願に組み込まれる。 This application claims priority to Chinese Patent Application No. 201811020181.9, entitled "Video Coding Methods and Devices" filed September 3, 2018, which is incorporated herein by reference in its entirety.

本願は、2018年10月29日に出願された「動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体」と題する中国特許出願第201811271726.3号に対する優先権を主張しており、その全体が参照により本願に組み込まれる。 This application claims priority to Chinese Patent Application No. 201811271726.3 entitled "Motion Vector Acquisition Methods and Devices, Computer Devices, and Storage Media" filed October 29, 2018, in its entirety. Is incorporated herein by reference.

技術分野
本願は、ビデオ圧縮技術の分野、特に動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体に関連する。
Technical Fields The present application relates to the field of video compression technology, in particular motion vector acquisition methods and devices, computer devices, and storage media.

背景
日常生活において、ビデオ関連アプリケーションはますます人気を集めている。コンピュータ技術の成熟とともに、ビデオ処理技術もまた大きく発展してきた。ビデオ・コーディング技術は目覚ましく発展してきた。ピクチャのフレーム内のコーディング・ユニットが符号化される場合に、冗長性は、コーディング・ユニットと予測ユニットとの間の相関を利用することにより、可能な限り排除されることが可能である。復号化の際に、冗長性が除去された後に取得された情報は、コーディング・ユニットに対応するピクチャ情報を取得するために復号化される。
Background Video-related applications are becoming more and more popular in everyday life. With the maturity of computer technology, video processing technology has also evolved significantly. Video coding technology has evolved tremendously. Redundancy can be eliminated as much as possible by utilizing the correlation between the coding unit and the prediction unit when the coding unit within the frame of the picture is encoded. At the time of decoding, the information acquired after the redundancy is removed is decoded to acquire the picture information corresponding to the coding unit.

復号化処理は次のようであってもよい:コーディング・ユニットの動き情報を取得した後に、デコーダは、動き情報に基づいて、候補の予測された動きベクトルのリストを設定し、取得された動き情報に基づいて、候補の予測された動きベクトルのリストから、最適な予測された動きベクトルを選択し、最適な予測された動きベクトルで示される参照ユニットを開始点として使用することにより、コーディング・ユニットに最も類似する予測ユニットを探索し、候補の予測された動きベクトルのリストの中で最適な予測された動きベクトルを、予測ユニットの動きベクトルに更新し(即ち、更新された予測された動きベクトルはコーディング・ユニットの予測された動きベクトルであり)、更新された予測された動きベクトルと予測ユニットとに基づいて、コーディング・ユニットに対応するピクチャ情報を取得する。 The decoding process may be as follows: After acquiring the motion information of the coding unit, the decoder sets a list of candidate predicted motion vectors based on the motion information and the acquired motion. Coding by selecting the optimal predicted motion vector from the list of candidate predicted motion vectors based on the information and using the reference unit indicated by the optimal predicted motion vector as the starting point. Search for the prediction unit that most closely resembles the unit and update the best predicted motion vector in the list of candidate predicted motion vectors to the motion vector of the prediction unit (ie, the updated predicted motion). The vector is the predicted motion vector of the coding unit), and the picture information corresponding to the coding unit is acquired based on the updated predicted motion vector and the prediction unit.

本願を実現するプロセスにおいて、発明者は、関連する技術が少なくとも以下の欠点を有することを見出している:デコーダは、復号化中に複数のコーディング・ユニットを同時に復号化する可能性がある。しかしながら、現在のコーディング・ユニットの予測された動きベクトルが、別のコーディング・ユニットに使用されることを必要とする場合、復号化は、現在のコーディング・ユニットの最適な予測された動きベクトルが更新された後に限って実行することが可能であり、その結果、遅延が非常に発生しやすい。 In the process of realizing the present application, the inventor has found that the related technique has at least the following drawbacks : the decoder may decode multiple coding units simultaneously during decoding. However, if the predicted motion vector of the current coding unit needs to be used by another coding unit, decoding will update the optimal predicted motion vector of the current coding unit. It can only be executed after it has been done, and as a result, delays are very likely to occur.

本願の実施形態は、関連技術における復号化遅延問題を解決するために、動きベクトル取得方法及び装置、コンピュータ・デバイス、並びに記憶媒体を提供する。 Embodiments of the present application provide motion vector acquisition methods and devices, computer devices, and storage media to solve the decoding delay problem in related arts.

ある態様によれば、本願は動きベクトル取得方法を提供し、これは、
処理対象のピクチャ・ブロックの参照ブロックを決定するステップであって、参照ブロックと処理対象のピクチャ・ブロックとはピクチャの同じフレームに位置する、ステップと、
参照ブロックが前もってセットされたレンジ内にある場合に、参照ブロックの初期の動きベクトルに基づいて、処理対象のピクチャ・ブロックの動きベクトルを取得するステップであって、前もってセットされたレンジは、処理対象のピクチャ・ブロックの位置に基づいて決定される、ステップと、
参照ブロックが前もってセットされたレンジ外にある場合に、参照ブロックの最終的な動きベクトルに基づいて、処理対象のピクチャ・ブロックの動きベクトルを取得するステップであって、最終的な動きベクトルは初期の動きベクトルに基づいて取得される、ステップとを含む。
According to one aspect, the present application provides a motion vector acquisition method, which is:
A step that determines the reference block of the picture block to be processed, in which the reference block and the picture block to be processed are located in the same frame of the picture.
If the reference block is within a preset range, it is a step to get the motion vector of the picture block to be processed based on the initial motion vector of the reference block, and the preset range is processed. Steps and steps that are determined based on the position of the target picture block,
This is the step to get the motion vector of the picture block to be processed based on the final motion vector of the reference block when the reference block is out of the preset range, and the final motion vector is the initial. Includes steps, which are obtained based on the motion vector of.

可能な実装において、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックCTBと処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、同じ行に位置することを含み、
相応して、参照ブロックが前もってセットされたレンジ外にあることは、参照ブロックが位置するコーディング・ツリー・ブロックと処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、異なる行に位置することを含む。
In a possible implementation, the fact that the reference block is within the preset range means that the coding tree block CTB where the reference block is located and the coding tree block where the picture block to be processed is located are on the same line. Including being located in
Correspondingly, the fact that the reference block is out of the preset range means that the coding tree block where the reference block is located and the coding tree block where the picture block to be processed is located are located on different lines. Including doing.

前述の可能な実装に基づいて、異なる前もってセットされたレンジが提供される可能性があり、その結果、処理対象のピクチャ・ブロックの動きベクトルは、異なる前もってセットされたレンジに基づいて決定されることが可能であり、処理対象のピクチャ・ブロックの複数の動きベクトルを選択することが可能である。 Based on the possible implementations described above, different preset ranges may be provided so that the motion vector of the picture block to be processed is determined based on the different preset ranges. It is possible to select multiple motion vectors of the picture block to be processed.

可能な実装において、参照ブロックが位置するコーディング・ツリー・ブロックと処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、異なる行に位置し、参照ブロックが位置するコーディング・ツリー・ブロックは、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの上又は左上にある。 In a possible implementation, the coding tree block where the reference block is located and the coding tree block where the picture block to be processed is located are on different lines, and the coding tree block where the reference block is located is , Above or in the upper left of the coding tree block where the picture block to be processed is located.

前述の可能な実装に基づいて、複数の前もってセットされた条件を動きベクトル選択のために提供することができるように、別の前もってセットされたレンジを提供することができる。 Based on the possible implementations described above, it is possible to provide another pre-set range so that multiple pre-set conditions can be provided for motion vector selection.

可能な実装において、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックと処理対象のピクチャ・ブロックとが、同じコーディング・ツリー・ブロックに位置することを含み、
相応して、参照ブロックが前もってセットされたレンジ外にあることは、参照ブロックと処理対象のピクチャ・ブロックとが、異なるコーディング・ツリー・ブロックに位置することを含む。
In a possible implementation, the fact that the reference block is within the preset range includes that the reference block and the picture block to be processed are located in the same coding tree block.
Correspondingly, the fact that the reference block is out of the preset range includes that the reference block and the picture block to be processed are located in different coding tree blocks.

前述の可能な実装に基づいて、複数の可能な特定の前もってセットされたレンジが提供されてもよい。 Multiple possible specific pre-set ranges may be provided based on the possible implementations described above.

可能な実装において、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じであること、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックであることを含み、及び
相応して、参照ブロックが前もってセットされたレンジ外にあることは、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じではないこと、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックではないことを含む。
In a possible implementation, the fact that the reference block is within the preset range means that the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located. , Or the coding tree block in which the reference block is located is a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located, and correspondingly, the reference block is pre-located. Being out of the set range means that the coding tree block in which the reference block is located is not the same as the coding tree block in which the picture block to be processed is located, or the coding tree block in which the reference block is located. Includes that the tree block is not the left or right adjacency block of the coding tree block in which the picture block to be processed is located.

上記の可能な実装に基づいて、複数の可能な特定の前もってセットされたレンジが提供されてもよい。 Based on the possible implementations described above, a plurality of possible specific pre-set ranges may be provided.

可能な実装において、処理対象のピクチャ・ブロックの参照ブロックを決定するステップは、
1つ以上の前もってセットされた候補参照ブロックを参照ブロックとして、前もってセットされた順序で連続的に決定するステップであって、候補参照ブロックは、処理対象のピクチャ・ブロックとの前もってセットされた空間的な位置関係を有するピクチャ・ブロックを含む、ステップを含む。
In a possible implementation, the step of determining the reference block of the picture block to be processed is:
A step of continuously determining one or more pre-set candidate reference blocks as reference blocks in a pre-set order, where the candidate reference block is a pre-set space with the picture block to be processed. Includes steps, including picture blocks that have a relative positional relationship.

前述の実装に基づいて、処理対象のピクチャ・ブロックの参照ブロックが決定されてもよく、次いで、参照ブロックに基づいて処理対象のピクチャ・ブロックの初期の動きベクトルが決定されてもよい。 Based on the above implementation, the reference block of the picture block to be processed may be determined, and then the initial motion vector of the picture block to be processed may be determined based on the reference block.

可能な実装において、処理対象のピクチャ・ブロックの参照ブロックを決定するステップは、
ビットストリームを解析し、1つ以上の第1識別情報を取得するステップと、
1つ以上の第1識別情報に基づいて、処理対象のピクチャ・ブロックの複数の候補参照ブロックから、参照ブロックを決定するステップであって、候補参照ブロックは、処理対象のピクチャ・ブロックとの前もってセットされた空間的な位置関係を有するピクチャ・ブロックを含む、ステップとを含む。
In a possible implementation, the step of determining the reference block of the picture block to be processed is:
The step of parsing the bitstream to obtain one or more first identification information,
A step of determining a reference block from a plurality of candidate reference blocks of a picture block to be processed based on one or more first identification information, wherein the candidate reference block is in advance with the picture block to be processed. Includes steps, including picture blocks with set spatial positional relationships.

前述の可能な実装に基づいて、処理対象のピクチャ・ブロックの参照ブロックは、ビットストリーム内の識別情報に基づいて決定されることが可能であり、次いで処理対象のピクチャ・ブロックの初期の動きベクトルは、参照ブロックに基づいて決定されることが可能である。 Based on the possible implementation described above, the reference block of the picture block to be processed can be determined based on the identification information in the bitstream, and then the initial motion vector of the picture block to be processed. Can be determined based on the reference block.

可能な実装において、最終的な動きベクトルは初期の動きベクトルに基づいて取得されることは、
初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得することと、
最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、最終的な動きベクトルとして決定することとを含む。
In a possible implementation, it is possible that the final motion vector is obtained based on the initial motion vector.
To get multiple candidates for the final motion vector by adding the initial motion vector and multiple preset offset vectors separately,
This includes determining the final motion vector candidate corresponding to the minimum distortion cost among the plurality of final motion vector candidates as the final motion vector.

前述の可能な実装に基づいて、最小の歪コストに対応する最終的な動きベクトルの候補が、最終的な動きベクトルとして使用され、その結果、最終的な動きベクトルはより正確になる。 Based on the possible implementations described above, the final motion vector candidate corresponding to the lowest strain cost is used as the final motion vector, resulting in a more accurate final motion vector.

可能な実装において、方法は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、第1の最終的な動きベクトルと第1の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
最終的な動きベクトルは初期の動きベクトルに基づいて取得されることは、
第1の初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて第1の最終的な動きベクトルの複数の候補を取得することと、
第1の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第1の最終的な動きベクトルの候補を、第1の最終的な動きベクトルとして決定することであって、第1の最終的な動きベクトルは、複数の前もってセットされたオフセット・ベクトルにおける第1オフセット・ベクトルに対応する、ことと、
第2オフセット・ベクトルを取得することであって、第2オフセット・ベクトルのサイズは第1オフセット・ベクトルのものに等しく、第2オフセット・ベクトルの方向は前記第1オフセット・ベクトルのものと逆である、ことと、
第2の初期の動きベクトルと第2オフセット・ベクトルとを加えて第2の最終的な動きベクトルを取得することとを含む。
In a possible implementation, the method is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first. The initial motion vector and the second initial motion vector are included, and the first final motion vector and the first initial motion vector are based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed.
That the final motion vector is obtained based on the initial motion vector,
To obtain multiple candidates for the first final motion vector by adding the first initial motion vector and multiple preset offset vectors separately.
The candidate for the first final motion vector corresponding to the minimum strain cost among the plurality of candidates for the first final motion vector is determined as the first final motion vector. The first final motion vector corresponds to the first offset vector in a plurality of preset offset vectors.
To obtain the second offset vector, the size of the second offset vector is equal to that of the first offset vector, and the direction of the second offset vector is opposite to that of the first offset vector. There is, that,
It involves adding a second initial motion vector and a second offset vector to obtain a second final motion vector.

前述の可能な実装に基づいて、最終的な動きベクトルは、双方向予測モードにおける初期の動きベクトルに基づいて取得される。 Based on the possible implementations described above, the final motion vector is obtained based on the initial motion vector in bidirectional prediction mode.

可能な実装において、方法は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、第1の最終的な動きベクトルと第1の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
最終的な動きベクトルは初期の動きベクトルに基づいて取得されることは、
第1の初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて第1の最終的な動きベクトルの複数の候補を取得することと、
第1の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第1の最終的な動きベクトルの候補を、第1の最終的な動きベクトルとして決定すること、
第2の初期の動きベクトルと複数の前もってセットされた第2オフセット・ベクトルとを別々に加えて第2の最終的な動きベクトルの複数の候補を取得することと、
第2の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第2の最終的な動きベクトルの候補を、第2の最終的な動きベクトルとして決定することとを含む。
In a possible implementation, the method is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first. The initial motion vector and the second initial motion vector are included, and the first final motion vector and the first initial motion vector are based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed.
That the final motion vector is obtained based on the initial motion vector,
To obtain multiple candidates for the first final motion vector by adding the first initial motion vector and multiple preset offset vectors separately.
Determining the candidate for the first final motion vector corresponding to the minimum strain cost among the plurality of candidates for the first final motion vector as the first final motion vector,
To obtain multiple candidates for the second final motion vector by adding the second initial motion vector and the plurality of pre-set second offset vectors separately.
This includes determining the candidate for the second final motion vector corresponding to the minimum strain cost among the plurality of candidates for the second final motion vector as the second final motion vector.

上記の可能な実装に基づいて、双方向予測モードにおける初期の動きベクトルに基づいて最終的な動きベクトルを取得する別の方法が提供され、その結果、双方向予測モードにおける最終的な動きベクトルを取得する複数の方法を提供することが可能である。 Based on the above possible implementation, another method of obtaining the final motion vector based on the initial motion vector in the bidirectional prediction mode is provided, resulting in the final motion vector in the bidirectional prediction mode. It is possible to provide multiple ways to obtain.

第2態様によれば、本願は動きベクトル残差決定方法を提供し、これは、
ビットストリームを解析して第2識別情報を取得するステップであって、第2識別情報は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定するために使用される、ステップと、
初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得するステップと、
最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、最終的な動きベクトルとして決定するステップと、
最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用するか、又は最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップとを含む。
According to the second aspect, the present application provides a method for determining a motion vector residual, which is:
The step of analyzing the bitstream to obtain the second identification information, which is used to determine the initial motion vector of the picture block to be processed.
The step of adding the initial motion vector and multiple pre-set offset vectors separately to get multiple candidates for the final motion vector,
A step of determining the final motion vector candidate corresponding to the minimum distortion cost among multiple candidates of the final motion vector as the final motion vector, and
Either the difference between the final motion vector and the initial motion vector is used as the motion vector residual of the picture block to be processed, or the final motion vector is the motion vector of the picture block to be processed. Includes steps to use as residuals.

可能な実装において、方法は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、第1の最終的な動きベクトルと第1の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第1の最終的な動きベクトルと第1の初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの第1動きベクトル残差として使用するステップを含む。
In a possible implementation, the method is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first. The initial motion vector and the second initial motion vector are included, and the first final motion vector and the first initial motion vector are based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed.
The step of using the difference between the final motion vector and the initial motion vector as the motion vector residuals of the picture block to be processed is:
It comprises the step of using the difference between the first final motion vector and the first initial motion vector as the first motion vector residual of the picture block to be processed.

前述の可能な実装に基づいて、処理対象のピクチャ・ブロックの動きベクトル残差が、双方向インター予測モードにおいて決定されることが可能である。 Based on the possible implementation described above, the motion vector residuals of the picture block to be processed can be determined in the bidirectional interprediction mode.

可能な実装において、最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第2の最終的な動きベクトルと第2の初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの第2動きベクトル残差として使用するステップを更に含む。
In a possible implementation, the step of using the difference between the final motion vector and the initial motion vector as the motion vector residuals of the picture block being processed is:
Further included is the step of using the difference between the second final motion vector and the second initial motion vector as the second motion vector residual of the picture block to be processed.

可能な実装において、最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第1の最終的な動きベクトルを、処理対象のピクチャ・ブロックの第1動きベクトル残差として使用するステップを含む。
In a possible implementation, the step of using the final motion vector as the motion vector residuals of the picture block to be processed is:
It comprises the step of using the first final motion vector as the first motion vector residual of the picture block to be processed.

可能な実装において、最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
第2の最終的な動きベクトルを、処理対象のピクチャ・ブロックの第2動きベクトル残差として使用するステップを更に含む。
In a possible implementation, the step of using the final motion vector as the motion vector residuals of the picture block to be processed is:
It further comprises the step of using the second final motion vector as the second motion vector residual of the picture block to be processed.

前述の複数の可能な実装に基づいて、処理対象のピクチャ・ブロックの動きベクトル残差を決定する複数の方法が提供され、その結果、エンコーダ及びデコーダは、動きベクトル残差に基づいて符号化効率及び復号化効率を改善することができる。 Based on the multiple possible implementations described above, multiple methods are provided to determine the motion vector residuals of the picture block to be processed so that the encoder and decoder have coding efficiency based on the motion vector residuals. And the decoding efficiency can be improved.

第3態様によれば、本願は動きベクトル・データ・ストレージ方法を提供し、これは、
ビットストリームを解析して第2識別情報と第3識別情報とを取得するステップであって、第2識別情報は、処理対象のピクチャ・ブロックの初期の予測された動きベクトルを決定するために使用される、ステップと、
初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得するステップと、
第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示す場合に、ビットストリームを解析して動きベクトル残差を取得し、動きベクトル残差をターゲット・ストレージ空間に記憶するステップと、
第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示す場合に、最終的な予測された動きベクトルと初期の予測された動きベクトルとの間の差分をターゲット・ストレージ空間に記憶するか、又は最終的な予測された動きベクトルをターゲット・ストレージ空間に記憶するステップとを含む。
According to a third aspect, the present application provides a motion vector data storage method, which is:
The step of analyzing the bitstream to obtain the second and third identification information, which is used to determine the initial predicted motion vector of the picture block to be processed. To be done, steps and
Steps to get the final predicted motion vector based on the initial predicted motion vector and multiple pre-set offset vectors,
When the third identification information indicates that the bitstream carries the motion vector residuals of the picture block to be processed, the bitstream is analyzed to obtain the motion vector residuals, and the motion vector residuals are obtained. Steps to store in the target storage space and
If the third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block being processed, then between the final predicted motion vector and the initial predicted motion vector. Includes the steps of storing the differences in the target storage space or storing the final predicted motion vector in the target storage space.

可能な実装において、第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示すことは、
第3識別情報が、処理対象のピクチャ・ブロックの予測モードはAMVPモードであることを示すことを含む。
In a possible implementation, the third identification information indicates that the bitstream carries the motion vector residuals of the picture block to be processed.
The third identification information includes indicating that the prediction mode of the picture block to be processed is the AMVP mode.

前述の可能な実装に基づいて、処理対象のピクチャ・ブロックの動きベクトル・データは、複数の予測モードで記憶されることが可能である。 Based on the possible implementation described above, the motion vector data of the picture block to be processed can be stored in multiple prediction modes.

可能な実装において、第3識別情報が、ビットストリームは処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示すことは、
第3識別情報が、処理対象のピクチャ・ブロックの予測モードはマージ・モード又はスキップ・モードであることを示すことを含む。
In a possible implementation, the third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block being processed.
The third identification information includes indicating that the prediction mode of the picture block to be processed is the merge mode or the skip mode.

前述の可能な実装に基づいて、異なる識別情報が、異なる予測モードを区別するために使用され、その結果、処理対象のピクチャ・ブロックの動きベクトル・データは、複数の予測モードで記憶されることが可能である。 Based on the possible implementations described above, different identification information is used to distinguish between different prediction modes, so that the motion vector data of the picture block being processed is stored in multiple prediction modes. Is possible.

可能な実装において、初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得するステップは、
初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得するステップと、
最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、最終的な動きベクトルとして決定するステップとを含む。
In a possible implementation, the step of getting the final predicted motion vector based on the initial predicted motion vector and multiple pre-set offset vectors is
The step of adding the initial motion vector and multiple pre-set offset vectors separately to get multiple candidates for the final motion vector,
It includes a step of determining a final motion vector candidate corresponding to the minimum distortion cost among a plurality of final motion vector candidates as a final motion vector.

上記の可能な実装に基づいて、歪コストを使用することで最終的に予測される動きベクトルを取得する精度はより高くなり、更に、記憶される動きベクトル・データはより正確になる。 Based on the above possible implementation, the distortion cost is used to obtain the final predicted motion vector with higher accuracy, and the stored motion vector data is more accurate.

第4態様によれば、本願は、上記の動きベクトル取得方法を実行するように構成された動きベクトル取得装置を提供する。具体的には、動きベクトル取得装置は、第1態様又は第1態様のオプション的な方法のうちの任意の1つで提供される動きベクトル取得方法を実行するように構成された機能モジュールを含む。上記の態様は、動きベクトル取得方法に対応する態様である。 According to the fourth aspect, the present application provides a motion vector acquisition device configured to execute the above motion vector acquisition method. Specifically, the motion vector acquisition device includes a functional module configured to perform the motion vector acquisition method provided in any one of the first aspect or the optional method of the first aspect. .. The above aspect corresponds to the motion vector acquisition method.

第5態様によれば、本願は、上記の動きベクトル残差決定方法を実行するように構成された動きベクトル残差決定装置を提供する。具体的には、動きベクトル残差決定装置は、第2態様又は第2態様のオプション的な方法のうちの任意の1つで提供される動きベクトル残差決定方法を実行するように構成された機能モジュールを含む。上記の態様は、動きベクトル残差決定方法に対応する態様である。 According to a fifth aspect, the present application provides a motion vector residual determination device configured to perform the motion vector residual determination method described above. Specifically, the motion vector residual determination device is configured to perform the motion vector residual determination method provided by any one of the second aspect or the optional method of the second aspect. Includes functional modules. The above aspect corresponds to the motion vector residual determination method.

第6態様によれば、本願は、上記の動きベクトル・データ・ストレージ方法を実行するように構成された動きベクトル・データ・ストレージ装置を提供する。具体的には、動きベクトル・データ・ストレージ装置は、第3態様又は第3態様のオプション的な方法のうちの任意の1つで提供される動きベクトル・データ・ストレージ方法を実行するように構成された機能モジュールを含む。上記の態様は、動きベクトル・データ・ストレージ方法に対応する態様である。 According to a sixth aspect, the present application provides a motion vector data storage device configured to perform the motion vector data storage method described above. Specifically, the motion vector data storage device is configured to perform the motion vector data storage method provided by any one of the third aspect or the optional method of the third aspect. Includes functional modules that have been created. The above aspect corresponds to the motion vector data storage method.

第7態様によれば、本願はコンピュータ・デバイスを提供する。コンピュータ・デバイスはプロセッサとメモリとを含む。メモリは、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル取得方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a seventh aspect, the present application provides a computer device. Computer devices include processors and memory. The memory stores at least one instruction, which is loaded and executed by the processor to implement the operations performed in the motion vector acquisition method described above.

第8態様によれば、本願はコンピュータ・デバイスを提供する。コンピュータ・デバイスはプロセッサとメモリとを含む。メモリは、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル・データ・ストレージ方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to an eighth aspect, the present application provides a computer device. Computer devices include processors and memory. The memory stores at least one instruction, which is loaded and executed by the processor to perform the operations performed in the motion vector data storage method described above.

第9態様によれば、本願はコンピュータ・デバイスを提供する。コンピュータ・デバイスはプロセッサとメモリとを含む。メモリは、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル残差決定方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a ninth aspect, the present application provides a computer device. Computer devices include processors and memory. The memory stores at least one instruction, which is loaded and executed by the processor to implement the operations performed in the motion vector residual determination method described above.

第10態様によれば、本願はコンピュータ読み取り可能な記憶媒体を提供する。記憶媒体は、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル取得方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a tenth aspect, the present application provides a computer-readable storage medium. The storage medium stores at least one instruction, which is loaded and executed by the processor to realize the operations performed in the motion vector acquisition method described above.

第11態様によれば、本願はコンピュータ読み取り可能な記憶媒体を提供する。記憶媒体は、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル残差決定方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to the eleventh aspect, the present application provides a computer-readable storage medium. The storage medium stores at least one instruction, which is loaded and executed by the processor to implement the operations performed in the motion vector residual determination method described above.

第12態様によれば、本願はコンピュータ読み取り可能な記憶媒体を提供する。記憶媒体は、少なくとも1つの命令を記憶し、命令は、前述の動きベクトル・データ・ストレージ方法において実行される演算を実現するために、プロセッサによってロードされ実行される。 According to a twelfth aspect, the present application provides a computer-readable storage medium. The storage medium stores at least one instruction, which is loaded and executed by the processor to realize the operations performed in the motion vector data storage method described above.

本願において提供される技術的解決策は、少なくとも以下の有益な効果を含む: The technical solutions provided in this application include at least the following beneficial effects:

処理対象のピクチャ・ブロックの初期の動きベクトルは、参照ブロックと処理対象のピクチャ・ブロックとの間の位置関係を使用することにより決定される。参照ブロックと処理対象のピクチャ・ブロックとが、前もってセットされたレンジ内にある場合、デコーダは、参照ブロックの初期の動きベクトルを、処理対象のピクチャ・ブロックの動きベクトルとして使用する。参照ブロックと処理対象のピクチャ・ブロックとが、前もってセットされたレンジ外にある場合、デコーダは、参照ブロックの最終的な動きベクトルを、処理対象のピクチャ・ブロックの動きベクトルとして使用する。この場合に、処理対象のピクチャ・ブロックが、復号化の際に、参照ブロックの最終的な動きベクトルを使用することによって復号化されることを必要とする場合、デコーダは、処理対象のピクチャ・ブロックを使用することができるように、参照ブロックの初期の動きベクトルを、処理対象のピクチャ・ブロックの動きベクトルとして使用することが可能であり、これにより、参照ブロックの最終的な動きベクトルが得られた後に限り、処理対象のピクチャ・ブロックの動きベクトルを取得することができるというケースを回避し、復号化効率を向上させることができる。 The initial motion vector of the picture block to be processed is determined by using the positional relationship between the reference block and the picture block to be processed. If the reference block and the picture block to be processed are within a preset range, the decoder uses the initial motion vector of the reference block as the motion vector of the picture block to be processed. If the reference block and the picture block to be processed are out of the preset range, the decoder uses the final motion vector of the reference block as the motion vector of the picture block to be processed. In this case, if the picture block to be processed needs to be decoded by using the final motion vector of the reference block at the time of decoding, the decoder will use the picture block to be processed. The initial motion vector of the reference block can be used as the motion vector of the picture block to be processed so that the block can be used, which gives the final motion vector of the reference block. It is possible to avoid the case where the motion vector of the picture block to be processed can be acquired and improve the decoding efficiency only after the motion vector is obtained.

本願の実施形態で使用するために構成されることが可能なビデオ・コーディング・システムの一例のブロック図である。FIG. 3 is a block diagram of an example video coding system that can be configured for use in embodiments of the present application.

本願の実施形態で使用するために構成されることが可能なビデオ・エンコーダの一例のシステム・ブロック図である。FIG. 3 is a system block diagram of an example video encoder that can be configured for use in embodiments of the present application.

本願の実施形態で使用するために構成されることが可能なビデオ・デコーダの一例のシステム・ブロック図である。FIG. 3 is a system block diagram of an example video decoder that can be configured for use in embodiments of the present application.

本願の実施形態で使用するために構成されることが可能なインター予測モジュールの一例の概略ブロック図である。It is a schematic block diagram of an example of an inter-prediction module that can be configured for use in embodiments of the present application.

コーディング・ユニット及びコーディング・ユニットに関連する隣接するピクチャ・ブロックの一例の概略図である。It is a schematic diagram of an example of a coding unit and adjacent picture blocks associated with the coding unit.

候補の予測された動きベクトルのリストを構築する実装例のフローチャートである。It is a flowchart of an implementation example which constructs a list of predicted motion vectors of candidates.

組み合わされた候補の動きベクトルをマージ・モード候補の予測された動きベクトルのリストに追加する実装例の概略図である。It is a schematic of the implementation example which adds the combined candidate motion vector to the list of predicted motion vectors of merge mode candidates.

スケーリングされた候補の動きベクトルをマージ・モード候補の予測された動きベクトルのリストに追加する実装例の概略図である。It is a schematic of the implementation example which adds a scaled candidate motion vector to a list of predicted motion vectors of merge mode candidates.

ゼロ動きベクトルをマージ・モード候補の予測された動きベクトルのリストに追加する実装例の概略図である。It is a schematic of the implementation example which adds a zero motion vector to a list of predicted motion vectors of merge mode candidates.

マージ予測モードの実装例のフローチャートである。It is a flowchart of the implementation example of the merge prediction mode.

高度な動きベクトル予測モードの実装例のフローチャートである。It is a flowchart of the implementation example of the advanced motion vector prediction mode.

本願の実施形態で使用するために構成されることが可能なビデオ・デコーダによって実行される動き補償の実装例のフローチャートである。FIG. 3 is a flow chart of an example motion compensation implementation performed by a video decoder that can be configured for use in embodiments of the present application.

本願の実施形態によるビデオ符号化中の動きベクトル更新方法の概略フローチャートである。It is a schematic flowchart of the motion vector update method during video coding by embodiment of this application.

本願の実施形態によるビデオ復号化中の動きベクトル更新方法の概略フローチャートである。It is a schematic flowchart of the motion vector update method during video decoding by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application. 本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトルを更新する概略フローチャートである。It is a schematic flowchart which updates a motion vector by embodiment of this application.

本願の実施形態による動きベクトル取得方法の概略フローチャートである。It is a schematic flowchart of the motion vector acquisition method by embodiment of this application.

本願の実施形態による動きベクトル取得方法の概略フローチャートである。It is a schematic flowchart of the motion vector acquisition method by embodiment of this application.

本願の実施形態に従って指定されたレンジ内で動きベクトルを選択する概略図である。It is a schematic diagram which selects the motion vector within the range specified according to the embodiment of this application.

本願の実施形態による現在の予測ブロックの取得方法の概略図である。It is a schematic diagram of the acquisition method of the present prediction block by embodiment of this application.

本願の実施形態によるビデオ復号化中の動きベクトル取得装置の概略ブロック図である。It is a schematic block diagram of the motion vector acquisition apparatus during video decoding by the embodiment of this application.

本願の実施形態によるビデオ・コーディング・デバイスの概略ブロック図である。FIG. 3 is a schematic block diagram of a video coding device according to an embodiment of the present application.

本願の実施形態による動きベクトル取得装置の構造図である。It is a structural drawing of the motion vector acquisition apparatus by embodiment of this application.

本願の実施形態による動きベクトル残差決定装置の構造図である。It is a structural drawing of the motion vector residual determination apparatus by embodiment of this application.

本願の実施形態による動きベクトル・データ・ストレージ装置の構造図である。It is a structural diagram of the motion vector data storage apparatus according to the embodiment of this application.

本願の目的、技術的解決策、及び利点をより明確化するために、以下、添付図面を参照して、本願の実装を更に詳細に説明する。 In order to further clarify the objectives, technical solutions, and advantages of the present application, the implementation of the present application will be described in more detail below with reference to the accompanying drawings.

図1は、本願の実施形態によるビデオ・コーディング・システム10の概略ブロック図である。図1に示すように、システム10はソース装置12を含む。ソース装置12は、後に宛先装置14によって復号化されるべき符号化されたビデオ・データを生成する。ソース装置12及び宛先装置14は、デスクトップ・コンピュータ、ノートブック・コンピュータ、タブレット・コンピュータ、セット・トップ・ボックス、「スマート」フォンのような電話ハンドセット、「スマート」タッチパッド、テレビ、カメラ、ディスプレイ装置、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、ビデオ・ストリーミング送信装置などを含む広範囲の装置の任意の何れかを含む可能性がある。幾つかの用途では、ソース装置12及び宛先装置14は、無線通信用に装備されていてもよい。 FIG. 1 is a schematic block diagram of a video coding system 10 according to an embodiment of the present application. As shown in FIG. 1, the system 10 includes a source device 12. The source device 12 produces encoded video data that should later be decoded by the destination device 14. The source device 12 and the destination device 14 are desktop computers, notebook computers, tablet computers, set-top boxes, telephone handset such as "smart" phones, "smart" touchpads, televisions, cameras, display devices. , Digital media players, video game consoles, video streaming transmitters, etc. may include any of a wide range of devices. In some applications, the source device 12 and the destination device 14 may be equipped for wireless communication.

宛先装置14は、リンク16を介して、復号化対象の符号化されたビデオ・データを受信することができる。リンク16は、符号化されたビデオ・データを、ソース装置12から宛先装置14へ送信することが可能な任意のタイプの媒体又は装置を含むことができる。実現可能な実装において、リンク16は、ソース装置12が、符号化されたビデオ・データを宛先装置14へリアル・タイムで直接的に送信することを可能にする通信媒体を含む可能性がある。符号化されたビデオ・データは、通信規格(例えば、無線通信プロトコル)に従って変調されることが可能であり、その後、宛先装置14へ送信される。通信媒体は、任意の無線又は有線の通信媒体、例えば、無線周波数スペクトル又は少なくとも1つの物理的な送信ラインを含む可能性がある。通信媒体は、パケット・ベースのネットワーク(例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、又はインターネットのようなグローバル・ネットワーク)の一部を構成することができる。通信媒体は、ルーター、スイッチ、基地局、又は、ソース装置12から宛先装置14への通信を促進するために使用されることが可能な任意の他のデバイスを含む可能性がある。 The destination device 14 can receive the encoded video data to be decoded via the link 16. Link 16 may include any type of medium or device capable of transmitting encoded video data from the source device 12 to the destination device 14. In a feasible implementation, the link 16 may include a communication medium that allows the source device 12 to send the encoded video data directly to the destination device 14 in real time. The encoded video data can be modulated according to a communication standard (eg, a wireless communication protocol) and then transmitted to the destination device 14. The communication medium may include any wireless or wired communication medium, such as a radio frequency spectrum or at least one physical transmission line. The communication medium can form part of a packet-based network (eg, a local area network, a wide area network, or a global network such as the Internet). The communication medium may include routers, switches, base stations, or any other device that can be used to facilitate communication from the source device 12 to the destination device 14.

代替的に、符号化されたデータは出力インターフェース22からストレージ装置へ出力されてもよい。同様に、符号化されたデータは、入力インターフェースを介してストレージ装置からアクセスされる可能性がある。ストレージ装置は、複数の分散されたデータ記憶媒体又はローカルにアクセスされるデータ記憶媒体、例えば、ハード・ドライブ、ブルーレイ、デジタル多用途ディスク(digital versatile disc,DVD)、コンパクト・ディスク・リード・オンリー・メモリ(compact disc read−only memory,CD−ROM)、フラッシュ・メモリ、揮発性又は不揮発性メモリ、又は、符号化されたビデオ・データを記憶するように構成された任意の他の適切なデジタル記憶媒体のうちの任意の1つを含む可能性がある。別の実現可能な実装において、ストレージ装置は、ソース装置12によって生成された符号化ビデオを保持することが可能なファイル・サーバー又は別の中間的なストレージ装置に対応する可能性がある。宛先装置14は、ストリーミング送信又はダウンロードにより、ストレージ装置からの記憶されたビデオ・データにアクセスすることが可能である。ファイル・サーバーは、符号化されたビデオ・データを記憶し、符号化されたビデオ・データを宛先装置14へ送信することが可能な任意のタイプのサーバーであるとすることができる。実現可能な実装において、ファイル・サーバーは、ウェブサイト・サーバー、ファイル転送プロトコル・サーバー、ネットワーク接続ストレージ装置、又はローカル・ディスク・ドライブを含む。宛先装置14は、インターネット接続を含む任意の標準データ接続を介して、符号化されたビデオ・データにアクセスすることができる。データ接続は、ファイル・サーバーに記憶された符号化されたビデオ・データにアクセスするのに適した無線チャネル(例えば、ワイヤレス・フィデリティ(wireless−fidelity,Wi−Fi)接続)又は有線接続(例えば、ケーブル・モデム)、又はそれらの組み合わせを含む可能性がある。ストレージ装置からの符号化されたビデオ・データの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組み合わせであってもよい。 Alternatively, the encoded data may be output from the output interface 22 to the storage device. Similarly, the encoded data may be accessed from the storage device via the input interface. The storage device is a plurality of distributed data storage media or locally accessible data storage media such as hard drives, Blu- rays, digital versatile discs (DVDs), compact discs read-only. Memory (compact disc read-only memory, CD-ROM), flash memory, volatile or non-volatile memory, or any other suitable digital storage configured to store encoded video data. It may contain any one of the media. In another feasible implementation, the storage device may correspond to a file server or another intermediate storage device capable of holding the encoded video produced by the source device 12. The destination device 14 can access the stored video data from the storage device by streaming transmission or download. The file server can be any type of server capable of storing the encoded video data and transmitting the encoded video data to the destination device 14. In a feasible implementation, file servers include website servers, file transfer protocol servers, network-attached storage devices, or local disk drives. The destination device 14 can access the encoded video data via any standard data connection, including an internet connection. A data connection is a wireless channel (eg, a wireless-fidelity (Wi-Fi) connection) or a wired connection (eg, a wireless-fidelity) suitable for accessing encoded video data stored on a file server. Cable modems), or combinations thereof. The transmission of the encoded video data from the storage device may be a streaming transmission, a download transmission, or a combination thereof.

本願における技術は必ずしも無線のアプリケーションや設定に限定されない。技術は、複数のマルチメディア・アプリケーション、例えば、オーバー・ザ・エアー・テレビジョン放送、ケーブル・テレビジョン伝送、衛星テレビジョン伝送、ビデオ・ストリーミング伝送(例えば、インターネットを介するもの)、データ記憶媒体における記憶のためのデジタル・ビデオの符号化、データ記憶媒体に記憶されたデジタル・ビデオの復号化、又は他のアプリケーションのうちの任意の何れかをサポートするために、ビデオ復号化に適用されることが可能である。幾つかの実現可能な実装において、システム10は、ビデオ・ストリーミング伝送、ビデオ再生、ビデオ放送、及び/又はビデオ電話などのアプリケーションをサポートするために、一方向又は双方向のビデオ伝送をサポートするように構成されてもよい。 The techniques in this application are not necessarily limited to wireless applications and settings. The technology is used in multiple multimedia applications such as over-the-air television broadcasting, cable television transmission, satellite television transmission, video streaming transmission (eg, over the Internet), and data storage media. Applicable to video decoding to support any of digital video encoding for storage, decoding of digital video stored on data storage media, or any other application. Is possible. In some feasible implementations, the system 10 will support one-way or two-way video transmission to support applications such as video streaming transmission, video playback, video broadcasting, and / or video telephone. It may be configured in.

図1の実現可能な実装において、ソース装置12は、ビデオ・ソース18、ビデオ・エンコーダ20、及び出力インターフェース22を含む。幾つかのアプリケーションにおいて、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含んでもよい。ソース装置12において、ビデオ・ソース18は、例えば以下のソース:ビデオ捕捉装置(例えば、ビデオ・カメラ)、以前に捕捉されたビデオを含むビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダからビデオを受信するビデオ・フィードイン・インターフェース、及び/又はソース・ビデオとしてコンピュータ・グラフィックス・データを生成するコンピュータ・グラフィックス・システム、又はそれらの組み合わせを含むことが可能である。実現可能な実装において、ビデオ・ソース18がビデオ・カメラである場合に、ソース装置12及び宛先装置14は、カメラ電話又はビデオ電話を構成することが可能である。例えば、本願で説明される技術は、例えば、ビデオ復号化に適用されることが可能であり、無線及び/又は有線アプリケーションに適用されることが可能である。 In the feasible implementation of FIG. 1, the source device 12 includes a video source 18, a video encoder 20, and an output interface 22. In some applications, the output interface 22 may include a modulator / demodulator (modem) and / or a transmitter. In the source device 12, the video source 18 may include, for example, the following sources: a video capture device (eg, a video camera), a video archive containing previously captured video, and a video receiving video from a video content provider. It can include a feed-in interface and / or a computer graphics system that produces computer graphics data as source video, or a combination thereof. In a feasible implementation, if the video source 18 is a video camera, the source device 12 and the destination device 14 can configure a camera phone or a video phone. For example, the techniques described herein can be applied, for example, to video decoding and can be applied to wireless and / or wired applications.

ビデオ・エンコーダ20は、捕捉された又は予め捕捉されたビデオ、又はコンピュータによって生成されたビデオを符号化することができる。符号化されたビデオ・データは、ソース装置12の出力インターフェース22を介して宛先装置14へ直接的に送信されることが可能である。符号化されたビデオ・データはまた(又は代替的に)、記憶装置24に記憶されることが可能であり、その結果、宛先装置14又は別の装置は以後に、復号化及び/又は再生のために、符号化されたビデオ・データにアクセスする。 The video encoder 20 can encode captured or pre-captured video, or computer-generated video. The encoded video data can be transmitted directly to the destination device 14 via the output interface 22 of the source device 12. The encoded video data can also (or alternatively) be stored in the storage device 24 so that the destination device 14 or another device can subsequently be decoded and / or played back. To access the encoded video data.

宛先装置14は、入力インターフェース28、ビデオ・デコーダ30、及びディスプレイ装置32を含む。幾つかのアプリケーションでは、入力インターフェース28は、受信機及び/又はモデムを含んでもよい。宛先装置14の入力インターフェース28は、リンク16を介して、符号化されたビデオ・データを受信する。リンク16を介してストレージ装置24に送信又は提供される符号化されたビデオ・データは、ビデオ・エンコーダ20によって生成され且つビデオ・デコーダ30のようなビデオ・デコーダによってビデオ・データを復号化するために使用される複数のシンタックス要素を含む可能性がある。これらのシンタックス要素は、通信媒体上で送信され、且つ記憶媒体又はファイル・サーバーに記憶される、符号化されたビデオ・データに含まれることが可能である。 The destination device 14 includes an input interface 28, a video decoder 30, and a display device 32. In some applications, the input interface 28 may include a receiver and / or a modem. The input interface 28 of the destination device 14 receives the encoded video data via the link 16. The encoded video data transmitted or provided to the storage device 24 over the link 16 is generated by the video encoder 20 and for decoding the video data by a video decoder such as the video decoder 30. May contain multiple syntax elements used in. These syntax elements can be included in the encoded video data transmitted over the communication medium and stored on the storage medium or file server.

ディスプレイ装置32は、宛先装置14と一体化されていてもよいし、或いは宛先装置14の外側に配置されていてもよい。幾つかの実現可能な実装において、宛先装置14は、統合されたディスプレイ装置を含んでもよく、また、外部ディスプレイ装置のインターフェースに接続するように構成されてもよい。他の実現可能な実装において、宛先装置14はディスプレイ装置であってもよい。一般に、ディスプレイ装置32は、復号化されたビデオ・データをユーザーに表示し、複数のディスプレイ装置、例えば、液晶ディスプレイ、プラズマ・ディスプレイ、有機発光ダイオード・ディスプレイ、又は他のタイプのディスプレイ装置のうちの任意の1つを含むことができる。 The display device 32 may be integrated with the destination device 14 or may be arranged outside the destination device 14. In some feasible implementations, the destination device 14 may include an integrated display device or may be configured to connect to an interface of an external display device. In other feasible implementations, the destination device 14 may be a display device. Generally, the display device 32 displays the decoded video data to the user and is among a plurality of display devices such as a liquid crystal display, a plasma display, an organic light emitting diode display, or another type of display device. Any one can be included.

ビデオ・エンコーダ20及びビデオ・デコーダ30は、例えば、現在開発されている次世代ビデオ・コーディング圧縮規格(H.266)に従って動作することが可能であり、H.266テスト・モデルに準拠していてもよい。 The video encoder 20 and the video decoder 30 can operate according to, for example, the next generation video coding compression standard (H.266) currently being developed, and H.I. It may be compliant with the 266 test model.

代替的に、ビデオ・エンコーダ20及びビデオ・デコーダ30は、例えばITU−T H.265規格又はITU−T H.264規格のような他の専用若しくは工業規格、又はこれらの規格の拡張に従って動作してもよい。ITU−T H.265規格はまた、高効率ビデオ復号化規格とも呼ばれ、ITU−T H.264規格は代替的に、動画エキスパート・グループ(moving picture experts group,MPEG−4)パート10又はアドバンスト・ビデオ・コーディング(advanced video coding,AVC)とも呼ばれている。しかしながら、本願の技術は、如何なる特定の復号化規格にも限定されない。他の実現可能な実装において、ビデオ圧縮規格はMPEG−2及びITU−T H.263を含む。 Alternatively, the video encoder 20 and the video decoder 30 are described, for example, by ITU-T H. 265 standard or ITU-T H. It may operate according to other specialized or industrial standards such as the 264 standard, or extensions of these standards. ITU-T H. The 265 standard, also referred to as the high efficiency video decoding standard, is the ITU-T H.D. Alternatively, the 264 standard is also referred to as moving picture experts group (MPEG-4) Part 10 or advanced video coding (AVC). However, the technique of the present application is not limited to any particular decoding standard. In other feasible implementations, video compression standards are MPEG-2 and ITU-TH. 263 is included.

図1には示されていないが、幾つかの態様において、ビデオ・エンコーダ20及びビデオ・デコーダ30はそれぞれオーディオ・エンコーダ及びオーディオ・デコーダと一体化されていてもよく、同じデータ・ストリーム又は別個のデータ・ストリームにおいてオーディオ及びビデオの両方を符号化するために、適切なマルチプレクサ・デマルチプレクサ(multiplexer−demultiplexer,MUX−DEMUX)ユニット又は他のハードウェア及びソフトウェアを含んでもよい。適用可能であるならば、幾つかの実現可能な実装において、MUX−DEMUXユニットは、ITU H.223マルチプレクサ・プロトコル、又はユーザー・データグラム・プロトコル(user datagram protocol,UDP)のような他のプロトコルに準拠してもよい。 Although not shown in FIG. 1, in some embodiments, the video encoder 20 and the video decoder 30 may be integrated with the audio encoder and audio decoder, respectively, and may be the same data stream or separate. Appropriate multiplexer / demultiplexer (multiplexer-demultiplexer, MUX-DEMUX) units or other hardware and software may be included to encode both audio and video in the data stream. If applicable, in some feasible implementations, the MUX-DEMUX unit is an ITU H. It may comply with the 223 multiplexer protocol, or other protocols such as the user datagram protocol (UDP).

ビデオ・エンコーダ20及びビデオ・デコーダ30は、複数の適切なエンコーダ回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor,DSP)、特定用途向け集積回路(application specific integrated circuit, ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array, FPGA)、ディスクリート・ロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせのうちの任意の1つとして実現されることが可能である。幾つかの技術がソフトウェアとして実現される場合、装置は、本願における技術を実現するために、適切な非一時的なコンピュータ読み取り可能な媒体にソフトウェアの命令を記憶し、1つ以上のプロセッサを使用することによってハードウェアの形式で命令を実行することができる。ビデオ・エンコーダ20及びビデオ・デコーダ30はそれぞれ1つ以上のエンコーダ又はデコーダに含まれてもよい。ビデオ・エンコーダ20及びビデオ・デコーダ30の何れも、対応する装置において組み合わされたエンコーダ/デコーダ(coder decoder,CODEC)の一部として統合されることが可能である。 Video encoder 20 and video decoder 30, a plurality of suitable encoder circuitry, for example, one or more microprocessors, digital signal processor (digital signal processor, DSP), application specific integrated circuits (application specific integrated circuit, ASIC ), Field programmable gate array (FPGA), discrete logic, software, hardware, firmware, or any combination thereof. be. When some techniques are realized as software, the device stores software instructions in a suitable non-temporary computer-readable medium and uses one or more processors to realize the techniques in this application. By doing so, the instruction can be executed in the form of hardware. The video encoder 20 and the video decoder 30 may be included in one or more encoders or decoders, respectively. Both the video encoder 20 and the video decoder 30 can be integrated as part of a combined encoder / decoder (CODEC) in the corresponding device.

本願は、例えば、ビデオ・エンコーダ20が特定の情報を例えばビデオ・デコーダ30に「シグナリング」する別の装置に関する可能性がある。しかしながら、ビデオ・エンコーダ20は、情報をシグナリングするために、特定のシンタックス要素を、ビデオ・データの符号化された部分に関連付けることができることは、理解されるべきである。即ち、ビデオ・エンコーダ20は、データをシグナリングするために、特定のシンタックス要素を、ビデオ・データの符号化された部分のヘッダ情報に記憶することができる。幾つかのアプリケーションでは、これらのシンタックス要素は、ビデオ・デコーダ30によって受信され復号化される前に、符号化され記憶される(例えば、ストレージ・システム又はファイル・サーバーに記憶される)。従って、用語「信号」は、伝送がリアル・タイムで行われるか、ほぼリアル・タイムで行われるか、又はある時間スパン内で行われるかによらず、例えば、シンタックスの伝送又は圧縮されたビデオ・データを復号化するために使用される他のデータの伝送を意味する可能性がある。例えば、伝送は、符号化の間にシンタックス要素が媒体に記憶された場合に実行されることが可能であり、その後、シンタックス要素は、媒体に記憶された後の任意の時間に、復号化装置によって取り出されることが可能である。 The present application may relate, for example, to another device in which the video encoder 20 "signals" certain information to, for example, the video decoder 30. However, it should be understood that the video encoder 20 can associate a particular syntax element with an encoded portion of the video data in order to signal the information. That is, the video encoder 20 can store a specific syntax element in the header information of the encoded portion of the video data in order to signal the data. In some applications, these syntax elements are encoded and stored (eg, stored in a storage system or file server) before being received and decoded by the video decoder 30. Thus, the term "signal" is used, for example, to transmit or compress a syntax, regardless of whether the transmission takes place in real time, near real time, or within a time span. It may mean the transmission of other data used to decode the video data. For example, transmission can be performed if the syntax element is stored on the medium during coding, after which the syntax element is decoded at any time after it is stored on the medium. It can be taken out by a computer.

共同ビデオ・エキスパート・チーム(joint video team,JVT)は、H.265高効率ビデオ符号化(high efficiency video coding, HEVC)規格を開発した。HEVC標準化は、ビデオ復号化装置の進化したモデルに基づいており、モデルはHEVCテスト・モデル(HM)と呼ばれる。最新のH.265規格文書はhttp://www.itu.int/rec/T−REC−H.265において入手可能ある。標準文書の最新バージョンはH.265(12/16)であり、標準文書は参照によりその全体が本願に組み込まれる。HMでは、ビデオ復号化装置は、ITU−TH.264/AVCの既存のアルゴリズムに関連する幾つかの追加的な能力を有することが仮定されている。例えば、H.264は9個のイントラ予測符号化モードを提供する一方、HMは最大35個のイントラ予測符号化モードを提供することができる。 The joint video team (JVT) is H.K. 265 High efficiency video coding (HEVC) standard has been developed. The HEVC standardization is based on an evolved model of the video decoder, the model being called the HEVC test model (HM) . The latest H. The 265 standard document is http: // www. itu. int / rec / T-REC-H. Available at 265. The latest version of the standard document is H. 265 (12/16), the standard document is incorporated herein by reference in its entirety. In HM, the video decoder is ITU-TH. It is hypothesized to have some additional capabilities associated with existing 264 / AVC algorithms. For example, H. The 264 can provide 9 intra-predictive coding modes, while the HM can provide up to 35 intra-predictive coding modes.

JVETはH.266規格の開発に取り組んでいる。H.266標準化プロセスは、ビデオ復号化装置の進化したモデルに基づいており、モデルはH.266テスト・モデルと呼ばれる。H.266アルゴリズムの説明はhttp://phenix.int−evry.fr/jvetで入手可能であり、最新のアルゴリズムの説明はJVET−G1001−v1に含まれている。アルゴリズム記述文書は、その全体が参照により本願に組み込まれる。更に、JEMテスト・モデルのための参照ソフトウェアは、https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/で入手可能であり、その全体が参照により本願に組み込まれる。 JVET is H. We are working on the development of the 266 standard. H. The 266 standardization process is based on an evolved model of the video decoder, which is based on H.D. It is called the 266 test model. H. The explanation of the 266 algorithm is http: // phenix. int−evry. It is available on fr / jvet and the latest algorithm description is contained in JVET-G1001-v1. The entire algorithm description document is incorporated herein by reference in its entirety. In addition, reference software for the JEM test model is available at https: // jvet. hhi. fraunhofer. It is available at de / svn / svn_HMJEM Software / and is incorporated by reference in its entirety into this application.

一般に、HMワーキング・モデルで説明されているように、ビデオ・フレーム又はピクチャは、ルマ及びクロマ・サンプルの両方を含む、一連のツリー・ブロック又は最大コーディング・ユニット(largest coding unit,LCU)に分割されることが可能である。LCUはまた、コーディング・ツリー・ユニット(coding tree unit,CTU)とも呼ばれる。ツリー・ブロックは、H.264規格のマクロブロックのものと同様の機能を有する。スライスは、復号化の順序で幾つかの連続するツリー・ブロックを含む。ビデオ・フレーム又はピクチャは、1つ又は複数のスライスに区分けされることが可能である。各ツリー・ブロックは、四分木に基づいてコーディング・ユニットに分割されることが可能である。例えば、四分木のルート・ノードとして機能するツリー・ブロックは、4つの子ノードに分割することが可能であり、各々の子ノードはまた、親ノードとして機能する可能性があり、他の4つの子ノードに分割される。四分木のリーフ・ノードとして機能する最終的な分割不可能な子ノードは、復号化ノード、例えば、復号化されたビデオ・ブロックを含む。復号化されたビットストリームに関連したシンタックス・データにおいて、ツリー・ブロックが分割されることが可能な最大回数と、復号化ノードの最小サイズとが、決定される可能性がある。 Generally, as described in the HM working model, a video frame or picture is divided into a series of tree blocks or a largest coding unit (LCU) containing both Luma and Chroma samples. It is possible to be done. The LCU is also called a coding tree unit (CTU). The tree block is H. It has the same function as that of the 264 standard macroblock. The slice contains several contiguous tree blocks in the order of decryption. The video frame or picture can be divided into one or more slices. Each tree block can be divided into coding units based on quadtrees. For example, a tree block that acts as the root node of a quadtree can be split into four child nodes, each child node can also act as a parent node, and the other four. Divided into two child nodes. The final indivisible child node that acts as the leaf node of the quadtree contains a decryption node, eg, a decrypted video block. In the syntax data associated with the decrypted bitstream, the maximum number of times the tree block can be split and the minimum size of the decrypted node may be determined.

1つのCTUは、1つのコーディング・ツリー・ブロック(coding tree block,CTB)及び同じ位置における2つのクロマCTBと、幾つかの対応する構文要素とを含むことに留意すべきである。CTBは、1つのコーディング・ブロック(coding block,CB)として直接的に使用されることが可能であるか、又は複数の小さなコーディング・ブロックCB、1つのルマCB、2つのクロマCB、及び幾つかの対応するシンタックス要素に、四分木の形式で分割されて、1つのコーディング・ユニット(coding unit,CU)を形成することが可能である。 It should be noted that one CTU contains one coding tree block (CTB) and two chroma CTBs at the same location and several corresponding syntax elements. The CTB can be used directly as a coding block (CB), or multiple small coding blocks CB, one Luma CB, two Chroma CBs, and several. It is possible to divide into the corresponding syntax elements of the above in the form of a quadtree to form one coding unit (CU).

CUは、復号化ノード、予測ユニット(prediction unit,PU)、及び復号化ノードに関連する変換ユニット(transform unit,TU)を含む。CUのサイズは復号化ノードのサイズに対応し、CUの形状は正方形である必要がある。CUのサイズは、8×8ピクセルから最大64×64ピクセルまでのレンジにあるか、又はより大きなツリー・ブロック・サイズであってもよい。各CUは、1つ以上のPU及び1つ以上のTUを含むことが可能である。例えば、CUに関連するシンタックス・データは、1つのCUを1つ以上のPUに区分けすることを記述することができる。パーティショニング・パターンは、CUがスキップ又はダイレクト・モードで符号化される場合、イントラ予測モードで符号化される場合、又はインター予測モードで符号化される場合に、相違する可能性がある。パーティショニングによって得られるPUは、非正方形の形状である可能性がある。例えば、CUに関連するシンタックス・データはまた、四分木に基づく1つ以上のTUへのCUのパーティショニングを記述することができる。TUは、正方形又は非正方形の形状であってもよい。 The CU includes a decoding node, a prediction unit (PU), and a transform unit (TU) associated with the decoding node. The size of the CU corresponds to the size of the decoding node, and the shape of the CU needs to be square. The size of the CU may range from 8x8 pixels up to 64x64 pixels, or may be a larger tree block size. Each CU can include one or more PUs and one or more TUs. For example, CU-related syntax data can describe dividing one CU into one or more PUs. The partitioning pattern can be different if the CU is coded in skip or direct mode, in intra-prediction mode, or in inter-prediction mode. The PU obtained by partitioning may have a non-square shape. For example, CU-related syntax data can also describe the partitioning of a CU to one or more TUs based on a quadtree. The TU may have a square or non-square shape.

HEVC規格はTUベースの変換を許容する。異なるCUは異なるTUを含む可能性がある。TUのサイズは、通常、区分けされたLCUに対して規定される所与のCU内のPUのサイズに基づいて設定される。しかしながら、常にこのようではないかもしれない。TUのサイズは通常、PUのものと同じか又はそれより小さい。幾つかの実現可能な実装において、「残差四分木」(residual quadtree,RQT)と呼ばれる四分木構造が、CUに対応する残差サンプルを、より小さなユニットに分割するために使用される可能性がある。RQTのリーフ・ノードは、TUと言及される場合がある。TUに関連するピクセル差分は、変換係数を生成するために変換される可能性があり、変換係数は量子化される可能性がある。 The HEVC standard allows TU-based conversion. Different CUs may contain different TUs. The size of the TU is usually set based on the size of the PU in a given CU defined for the partitioned LCU. However, this may not always be the case. The size of the TU is usually the same as or smaller than that of the PU. In some feasible implementations, a quadtree structure called a "residual quadtree" (RQT) is used to divide the CU-corresponding residual sample into smaller units. there is a possibility. Leaf nodes of RQT are sometimes referred to as TUs. Pixel differences associated with the TU may be converted to generate a conversion factor, and the conversion factor may be quantized.

一般に、PUは、予測処理に関するデータを含む。例えば、PUがイントラ・モードで符号化される場合、PUは、PUのイントラ予測モードを記述するデータを含む可能性がある。別の実現可能な実装において、PUがインター・モードで符号化される場合、PUは、PUのための動きベクトルを規定するデータを含む可能性がある。例えば、PUのための動きベクトルを規定するデータは、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4ピクセル精度又は1/8ピクセル精度)、動きベクトルが指し示す参照ピクチャ、及び/又は動きベクトルの参照ピクチャ・リスト(例えば、リスト0、リスト1、又はリストC)を記述することができる。 Generally, the PU contains data related to the prediction process. For example, if the PU is encoded in intra mode, the PU may contain data describing the intra prediction mode of the PU. In another feasible implementation, if the PU is encoded in intermode, the PU may contain data defining motion vectors for the PU. For example, the data defining the motion vector for the PU is indicated by the horizontal component of the motion vector, the vertical component of the motion vector, the resolution of the motion vector (eg, 1/4 pixel accuracy or 1/8 pixel accuracy), and the motion vector. A reference picture and / or a motion vector reference picture list (eg, list 0, list 1, or list C) can be described.

一般に、変換及び量子化処理がTUに対して使用される。1つ以上のPUを含む所与のCUは、1つ以上のTUを含むことも可能である。予測を実行した後に、ビデオ・エンコーダ20は、PUに対応する残差を計算することができる。残差は、ピクセル差分を含む。ピクセル差分は変換係数に変換されることが可能であり、変換係数は量子化され、TUを用いてスキャンされて、エントロピー復号化のためのシリアル化された変換係数を生成する。本願では、用語「ビデオ・ブロック」は、通常、CUの復号化ノードを示すために使用される。幾つかの特定のアプリケーションでは、用語「ビデオ・ブロック」はまた、復号化ノード、PU、及びTUを含むツリー・ブロック、例えばLCU又はCUを示すために使用されることが可能である。 Generally, transformation and quantization processes are used for TUs. A given CU containing one or more PUs can also contain one or more TUs. After performing the prediction, the video encoder 20 can calculate the residuals corresponding to the PU. The residuals include pixel differences. Pixel differences can be converted to conversion factors, which are quantized and scanned using the TU to produce a serialized conversion factor for entropy decoding. In the present application, the term "video block" is typically used to indicate a CU decoding node. In some specific applications, the term "video block" can also be used to indicate a tree block containing a decryption node, PU, and TU, such as an LCU or CU.

ビデオ・シーケンスには、通常、一連のビデオ・フレーム又はピクチャを含む。例えば、ピクチャのグループ(group of pictures, GOP)は、一連のビデオ・ピクチャ、又は1つ以上のビデオ・ピクチャを含む。GOPは、GOPのヘッダ情報、1つ以上のピクチャのヘッダ情報などにシンタックス・データを含む可能性があり、シンタックス・データは、GOPに含まれるピクチャの量を記述する。ピクチャの各スライスは、対応するピクチャの符号化モードを記述するスライス・シンタックス・データを含む可能性がある。ビデオ・エンコーダ20は、通常、ビデオ・データを符号化するために、個々のビデオ・スライス内のビデオ・ブロックに対して動作を実行する。ビデオ・ブロックは、CUにおける復号化ノードに対応する可能性がある。ビデオ・ブロックのサイズは、固定されていてもよいし、又は変更可能であってもよく、指定された復号化規格によって異なる可能性がある。 A video sequence usually includes a series of video frames or pictures. For example, group of pictures (group of picture s, GOP) includes a series of video pictures, or one or more video pictures. The GOP may include syntax data in the header information of the GOP, the header information of one or more pictures, and the like, and the syntax data describes the amount of pictures contained in the GOP. Each slice of a picture may contain slice syntax data that describes the coding mode of the corresponding picture. The video encoder 20 typically performs an operation on a video block within an individual video slice to encode the video data. The video block may correspond to a decryption node in the CU. The size of the video block may be fixed or variable and may vary depending on the specified decoding standard.

実現可能な実装において、HMは様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×Nのサイズを用いたPUに対するイントラ予測と、2N×2N、2N×N、N×2N、又はN×Nのサイズを用いた対称的なPUに対するインター予測をサポートし、HMはまた、2N×nU、2N×nD、nL×2N、又はnR×2Nのサイズを用いたPUに対するインター予測の非対称パーティショニングもサポートする。非対称パーティショニングにおいて、CUはある方向では区分けされず、別の方向では2つの部分に区分けされ、一方の部分はCUの25%を占め、他方の部分はCUの75%を占める。CUの25%を占める部分は、「n」の後に「U(Up)」、「D(Down)」、「L(Left)」、「R(Right)」を続けて示すインジケータによって示される。従って、例えば「2N×nU」は、水平に区分けされた2N×2N CUを指し、上部は2N×0.5N PU、下部は2N×1.5N PUである。 In a feasible implementation, HM supports prediction at various PU sizes. Assuming that the size of a particular CU is 2N × 2N, the HM will make an intra prediction for the PU using a size of 2N × 2N or N × N and 2N × 2N, 2N × N, N × 2N, or N. Supporting inter-prediction for symmetric PUs using xN size, HM also supports inter-prediction asymmetric parties for PUs using xN x nU, 2N x nD, nL x 2N, or nR x 2N sizes. It also supports shining. In asymmetric partitioning, the CU is not divided in one direction, but in two directions, one part occupying 25% of the CU and the other part occupying 75% of the CU. The portion that occupies 25% of the CU is indicated by an indicator that indicates "n" followed by "U (Up)", "D (Down)", "L (Left)", and "R (Right)". Therefore, for example, "2N x nU" refers to a horizontally divided 2N x 2N CU, the upper part is 2N x 0.5N PU, and the lower part is 2N x 1.5N PU.

本願では、「N×N」及び「NかけるN」は、例えば16×16ピクセル又は16に16を乗算した個数のピクセルのように、垂直次元及び水平次元のビデオ・ブロックのピクセル・サイズを示すために可換に使用されることが可能である。一般に、16×16ブロックは、垂直方向に16ピクセル(y=16)、水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、通常、垂直方向にN個のピクセルを有し、水平方向にN個のピクセルを有し、ここで、Nは非負の整数値である。ブロック中のピクセルは、行及び列に配列されることが可能である。また、ブロックの水平方向におけるピクセルの量と垂直方向におけるピクセルの量とは、必ずしも同じではない可能性がある。例えば、ブロックは、N×Mピクセルを含んでもよく、ここで、Mは、必ずしもNに等しくない。 In the present application, "NxN" and "N times N" indicate the pixel size of a vertical and horizontal dimensional video block, such as 16x16 pixels or the number of pixels obtained by multiplying 16 by 16. It can be used interchangeably for. Generally, a 16x16 block has 16 pixels (y = 16) in the vertical direction and 16 pixels (x = 16) in the horizontal direction. Similarly, an N × N block usually has N pixels in the vertical direction and N pixels in the horizontal direction, where N is a non-negative integer value. The pixels in the block can be arranged in rows and columns. Also, the amount of pixels in the horizontal direction and the amount of pixels in the vertical direction of the block may not always be the same. For example, the block may contain N × M pixels, where M is not necessarily equal to N.

CU内のPUに関するイントラ又はインター予測復号化を実行した後に、ビデオ・エンコーダ20は、CU内のTUの残差データを計算することができる。PUは、空間ドメイン(ピクセル・ドメインとも呼ばれる)内のピクセル・データを含む可能性があり、TUは、残差ビデオ・データに適用される変換(例えば、離散コサイン変換(discrete cosine transform,DCT)、整数変換、ウェーブレット変換、又は他の概念的に類似する変換)の後の変換ドメインにおける係数を含む可能性がある。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測子との間のピクセル差分に対応する可能性がある。ビデオ・エンコーダ20は、CUの残差データを含むTUを生成し、次いでTUを変換してCUの変換係数を生成することができる。 After performing intra-or inter-predictive decoding for the PU in the CU, the video encoder 20 can calculate the residual data of the TU in the CU. The PU may contain pixel data within the spatial domain (also known as the pixel domain), and the TU is a transformation applied to the residual video data (eg, the discrete cosine transform (DCT)). , Integer transform, wavelet transform, or other conceptually similar transform) may include coefficients in the transform domain. The residual data may correspond to the pixel difference between the pixels of the unencoded picture and the predictor corresponding to the PU. The video encoder 20 can generate a TU containing the residual data of the CU and then convert the TU to generate a conversion factor of the CU.

変換係数を生成するために何らかの変換を実行した後に、ビデオ・エンコーダ20は、変換係数を量子化することができる。量子化は、例えば係数を表すために使用されるデータの量を減らし、更なる圧縮を実行するために、係数を量子化するプロセスを指す。量子化プロセスは、係数の幾つか又は全てに関連するビット深度を低減することができる。例えば、量子化の間に、nビット値は、丸めによりmビット値に低減されることが可能であり、ここで、nはmより大きい。 After performing some conversion to generate the conversion factor, the video encoder 20 can quantize the conversion factor. Quantization refers to the process of quantizing the coefficients, for example to reduce the amount of data used to represent the coefficients and to perform further compression. The quantization process can reduce the bit depth associated with some or all of the coefficients. For example, during quantization, the n-bit value can be reduced to an m-bit value by rounding, where n is greater than m.

JEMモデルはビデオ・ピクチャ符号化構造を更に改良する。具体的には、「四分木プラス二分木」(quad tree plus binary tree,QTBT)構造と呼ばれるブロック・コーディング構造が導入される。HEVCにおけるCU、PU、TUのような概念を使用せずに、QTBT構造は、より柔軟なCU分割形状をサポートする。CUは、正方形又は長方形におけるものであってもよい。四分木パーティショニングが先ずCTU上で実行され、二分木パーティショニングが、四分木のリーフ・ノード上で更に実行される。更に、対称水平パーティショニング及び対称垂直パーティショニングという2つの二分木パーティショニング・モードが存在する。二分木のリーフ・ノードはCUと言及される。JEMモデルにおけるCUは、予測及び変換の間に更に区分けされることはできない。言い換えれば、JEMモデルにおけるCU、PU、及びTUは、同じブロック・サイズを有する。既存のJEMモデルでは、最大CTUサイズは256×256ルマ・ピクセルである。 The JEM model further improves the video-picture coding structure. Specifically, a block coding structure called a "quad tree plus binary tree (QTBT) structure" will be introduced. Without using concepts like CU, PU, TU in HEVC, the QTBT structure supports a more flexible CU split shape. The CU may be square or rectangular. Quadtree partitioning is first performed on the CTU, and binary partitioning is further performed on the leaf node of the quadtree. In addition, there are two binary partitioning modes: symmetric horizontal partitioning and symmetric vertical partitioning. The binary tree leaf node is referred to as the CU. The CU in the JEM model cannot be further subdivided between prediction and transformation. In other words, the CU, PU, and TU in the JEM model have the same block size. In the existing JEM model, the maximum CTU size is 256 x 256 Luma pixels.

幾つかの実現可能な実装において、ビデオ・エンコーダ20は、量子化された変換係数を、所定のスキャン順序でスキャンして、エントロピー符号化されることが可能なシリアル化されたベクトルを生成することができる。他の実現可能な実装において、ビデオ・エンコーダ20は、適応スキャニングを実行することができる。量子化された変換係数をスキャンして1次元ベクトルを形成した後に、ビデオ・エンコーダ20は、文脈適応型可変長コーディング(context−adaptive variable−length coding,CAVLC)法、文脈ベースの適応型二進算術コーディング(context−based adaptive binary arithmetic coding,CABAC)法、確率間隔パーティショニング・エントロピー(probability interval partitioning entropy,PIPE)コーディング法、又は別のエントロピー・コーディング法に基づいて、1次元ベクトルをエントロピー号化することができる。ビデオ・エンコーダ20は、符号化されたビデオ・データに関連付けられたシンタックス要素を更に符号化することが可能であり、その結果、ビデオ・デコーダ30はビデオ・データを復号化する。 In some feasible implementations, the video encoder 20 scans the quantized conversion factors in a predetermined scan order to produce a serialized vector that can be entropy-coded. Can be done. In other feasible implementations, the video encoder 20 can perform adaptive scanning. After scanning the quantized transformation coefficients to form a one-dimensional vector, the video encoder 20 is subjected to context-adaptive variable-length coding (CAVLC) method, context-based adaptive binary. arithmetic coding (context-based adaptive binary arithmetic coding , CABAC) method, the probability interval partitioning entropy (probability interval partitioning entropy, PIPE) coding method, or another based on the entropy coding method, entropy sign-one-dimensional vector Can be transformed into. The video encoder 20 can further encode the syntax elements associated with the encoded video data, so that the video decoder 30 decodes the video data.

CABACを実行するために、ビデオ・エンコーダ20は、コンテキスト・モデルにおけるコンテキストを、送信対象のシンボルに割り当てることができる。コンテキストは、シンボルの隣接する値が非ゼロであるかどうかに関連付けられる可能性がある。CAVLCを実行するために、ビデオ・エンコーダ20は、送信対象のシンボルの可変長コードを選択することができる。可変長コーディングにおけるコードワード(variable−length coding,VLC)は、より短いコードがより可能性の高いシンボルに対応し且つより長いコードがより可能性の低いシンボルに対応するように、構成されることが可能である。このようにして、全ての送信対象のシンボルに対して等しい長さのコードワードを使用することと比較して、VLCを使用することは、ビット・レートを削減することができる。CABACにおける確率は、シンボルに割り当てられたコンテキストに基づいて決定されることが可能である。 To perform CABAC, the video encoder 20 can assign a context in the context model to a symbol to be transmitted. The context can be associated with whether the adjacent value of the symbol is non-zero. To perform CAVLC, the video encoder 20 can select the variable length code of the symbol to be transmitted. Codewords (variable-length coding, VLC) in variable length coding are configured such that shorter codes correspond to more likely symbols and longer codes correspond to less likely symbols. Is possible. In this way, using VLC can reduce the bit rate as compared to using codewords of equal length for all transmitted symbols. Probabilities in CABAC can be determined based on the context assigned to the symbol.

本願のこの実施形態では、ビデオ・エンコーダは、ピクチャ間の時間的な冗長性を低減するために、インター予測を実行することができる。上述したように、CUは、異なるビデオ圧縮コーディング規格に従って、1つ以上の予測ユニットPUを有することが可能である。言い換えれば、複数のPUが1つのCUに属している可能性があり、あるいはPU及びCUは同じサイズを有する。本明細書では、CU及びPUが同じサイズを有する場合、CUのパーティショニング・モードは、パーティションなしを実行するか、又はCUを1つのPUに区分けし、ここで、PUは説明のために均一に使用される。ビデオ・エンコーダがインター予測を実行する場合、ビデオ・エンコーダは、PUに関する動き情報を、ビデオ・デコーダにシグナリングすることが可能である。例えば、PUに関する動き情報は、参照ピクチャ・インデックス、動きベクトル、及び予測方向識別子を含む可能性がある。動きベクトルは、PUのピクチャ・ブロック(ビデオ・ブロック、ピクセル・ブロック、ピクセル・セット等とも呼ばれる)とPUの参照ブロックとの間の変位を示すことができる。PUの参照ブロックは、PUのピクチャ・ブロックに類似した参照ピクチャの一部であってもよい。参照ブロックは、参照ピクチャ・インデックス及び予測方向識別子によって示される参照ピクチャ内に配置されてもよい。 In this embodiment of the present application, the video encoder can perform inter-prediction to reduce temporal redundancy between pictures. As mentioned above, the CU can have one or more prediction unit PUs according to different video compression coding standards. In other words, multiple PUs may belong to one CU, or the PUs and CUs have the same size. As used herein, if the CU and PU have the same size, the partitioning mode of the CU either performs no partitioning or divides the CU into one PU, where the PUs are uniform for illustration purposes. Used for. When the video encoder performs inter-prediction, the video encoder can signal motion information about the PU to the video decoder. For example, motion information about a PU may include a reference picture index, a motion vector, and a predictive direction identifier. The motion vector can indicate the displacement between the picture block of the PU (also called a video block, pixel block, pixel set, etc.) and the reference block of the PU. The reference block of the PU may be part of a reference picture similar to the picture block of the PU. The reference block may be placed within the reference picture indicated by the reference picture index and the predictive direction identifier.

PUに関する動き情報を表現するために必要なコーディングされたビットの量を削減するために、ビデオ・エンコーダは、マージ(merge)予測モード又はアドバンスト動きベクトル予測(advanced motion vector prediction,AMVP)モードに従って、各PUに関する候補の予測された動きベクトル(motion vector,MV)のリストを生成することができる。PUに関する候補の予測された動きベクトルのリストにおける候補の予測された動きベクトルの各々は、動き情報を示すことができる。候補の予測された動きベクトルのリスト内の幾つかの候補の予測された動きベクトルによって示される動き情報は、他のPUに対する動き情報に基づいてもよい。候補の予測された動きベクトルが、特定の空間的な候補の予測された動きベクトル位置又は特定の時間的な候補の予測された動きベクトル位置のうちの1つの動き情報を示す場合、候補の予測された動きベクトルは、本願では「オリジナル」候補の予測された動きベクトルと呼ばれる場合がある。例えば、本願でマージ予測モードとも呼ばれるマージ・モードでは、5つのオリジナル空間候補の予測された動きベクトル位置と、1つのオリジナル時間候補の予測された動きベクトル位置とが存在し得る。幾つかの例では、ビデオ・エンコーダは、異なるオリジナル候補の予測された動きベクトルからの幾つかの動きベクトルを組み合わせること、オリジナル候補の予測された動きベクトルを修正すること、又は候補の予測された動きベクトルとしてゼロ動きベクトルのみを挿入することによって、追加候補の予測された動きベクトルを生成することができる。これらの追加候補の予測された動きベクトルは、オリジナル候補の予測された動きベクトルとは考えられず、本願では、マニュアルで生成された候補の予測された動きベクトルと言及される場合がある。 To reduce the amount of coded bits needed to represent motion information about the PU, the video encoder follows a merge prediction mode or advanced motion vector prediction (AMVP) mode. A list of candidate predicted motion vectors (MVs) for each PU can be generated. Each of the candidate predicted motion vectors in the list of candidate predicted motion vectors for the PU can indicate motion information. The motion information represented by some candidate predicted motion vectors in the list of candidate predicted motion vectors may be based on motion information for other PUs. Candidate prediction if the candidate's predicted motion vector indicates motion information for one of a particular spatial candidate's predicted motion vector position or a particular temporal candidate's predicted motion vector position. The resulting motion vector may be referred to herein as the predicted motion vector of the "original" candidate. For example, in the merge mode, which is also referred to as the merge prediction mode in the present application, there may be a predicted motion vector position of five original space candidates and a predicted motion vector position of one original time candidate. In some examples, the video encoder may combine several motion vectors from different original candidate predicted motion vectors, modify the original candidate's predicted motion vector, or predict the candidate. By inserting only the zero motion vector as the motion vector, the predicted motion vector of additional candidates can be generated. The predicted motion vectors of these additional candidates are not considered to be the predicted motion vectors of the original candidate and may be referred to herein as the manually generated predicted motion vectors of the candidates.

本願における技術は、通常、ビデオ・エンコーダにおいて候補の予測された動きベクトルのリストを生成する技術と、ビデオ・デコーダにおいて同じ候補の予測された動きベクトルのリストを生成する技術とを含む。ビデオ・エンコーダ及びビデオ・デコーダは、候補の予測された動きベクトルのリストを構築するために同じ技術を実現することによって、同じ候補の予測された動きベクトルのリストを生成することができる。例えば、ビデオ・エンコーダ及びビデオ・デコーダは、同じ量の候補の予測された動きベクトル(例えば、5つの候補の予測された動きベクトル)を有するリストを構成することができる。ビデオ・エンコーダ及びビデオ・デコーダは、先ず、(例えば、同じピクチャにおける隣接するブロックのような)空間的な候補の予測された動きベクトルを考慮し、次いで、(例えば、異なるピクチャにおける候補の予測された動きベクトルのような)時間的な候補の予測された動きベクトルを考慮し、最終的に、マニュアルで生成される候補の予測された動きベクトルを考慮することを、必要な量の候補の予測された動きベクトルがリストに追加されるまで行うことができる。本願の技術によれば、候補の予測された動きベクトルのリストを構成する間に、候補の予測された動きベクトルのリストから、反復的な候補の予測された動きベクトルを除去するために、あるタイプの候補の予測された動きベクトルに対して、プルーニング処理が実行されてもよく、プルーニング処理は、デコーダの複雑性を低減するために、他のタイプの候補の予測された動きベクトルに関して実行されなくてもよい。例えば、空間的な候補の予測された動きベクトルの集合及び時間的な候補の予測された動きベクトルの集合に対して、プルーニング処理は、反復した動き情報を伴う候補の予測された動きベクトルを、候補の予測された動きベクトルのリストから除去するために実行されることが可能である。しかしながら、マニュアルで生成された候補の予測された動きベクトルは、プルーニング処理が、マニュアルで生成された候補の予測された動きベクトルに関して実行されない場合に、候補の予測されたベクトルのリストに追加されることが可能である。 Techniques in the present application typically include techniques for generating a list of predicted motion vectors for candidates in a video encoder and techniques for generating a list of predicted motion vectors for the same candidate in a video decoder. Video encoders and video decoders can generate a list of predicted motion vectors for the same candidate by implementing the same technique for constructing a list of predicted motion vectors for the same candidate. For example, a video encoder and a video decoder can construct a list with the same amount of candidate predicted motion vectors (eg, 5 candidate predicted motion vectors). Video encoders and video decoders first consider the predicted motion vectors of spatial candidates (eg, adjacent blocks in the same picture), and then (eg, predicted candidates in different pictures). Considering the predicted motion vectors of temporal candidates (such as motion vectors) and finally considering the predicted motion vectors of manually generated candidates, the required amount of candidate predictions. This can be done until the motion vector is added to the list. According to the technique of the present application, there is to remove the iterative candidate's predicted motion vector from the candidate's list of predicted motion vectors while constructing the candidate's list of predicted motion vectors. A pruning process may be performed on the predicted motion vector of the type candidate, and the pruning process is performed on the predicted motion vector of the other type candidate in order to reduce the complexity of the decoder. It does not have to be. For example, for a set of predicted motion vectors of spatial candidates and a set of predicted motion vectors of temporal candidates, the pruning process combines the predicted motion vectors of the candidates with iterative motion information. It can be performed to remove from the list of candidate predicted motion vectors. However, the manually generated candidate predicted motion vector is added to the list of candidate predicted motion vectors if the pruning process is not performed on the manually generated candidate predicted motion vector. It is possible.

CUのPUに関する候補の予測された動きベクトルのリストを生成した後に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストから、候補の予測された動きベクトルを選択し、候補の予測された動きベクトル・インデックスをビットストリームで出力することができる。選択された候補の予測された動きベクトルは、復号化されているターゲットPUの予測ユニットに最もよく合致する動きベクトルを生成するための候補の予測された動きベクトルであってもよい。候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を示すことができる。ビデオ・エンコーダは、更に、PUに関する動き情報によって示される参照ブロックに基づいて、PUに関する予測ピクチャ・ブロックを生成してもよい。PUに関する動き情報は、選択された候補の予測された動きベクトルによって示される動き情報に基づいて決定されてもよい。例えば、マージ・モードでは、PUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。アドバンスト動きベクトル予測モードでは、PUのための動き情報は、PUのための動きベクトル差分と選択された候補の予測された動きベクトルによって示される動き情報とに基づいて決定されることが可能である。ビデオ・エンコーダは、CUのPUに対する予測ピクチャ・ブロックとCUに対するオリジナル・ピクチャ・ブロックとに基づいて、CUに対する1つ以上の残差ピクチャ・ブロックを生成することができる。次いで、ビデオ・エンコーダは、1つ以上の残差ピクチャ・ブロックを符号化し、1つ以上の残差ピクチャ・ブロックをビットストリームで出力することができる。 After generating a list of candidate predicted motion vectors for the PU of the CU, the video encoder selects the candidate predicted motion vector from the list of candidate predicted motion vectors and the candidate predicted motion vector. The motion vector index can be output as a bit stream. The predicted motion vector of the selected candidate may be a candidate predicted motion vector for generating a motion vector that best matches the predicted unit of the decoded target PU. The candidate's predicted motion vector index can indicate the position of the selected candidate's predicted motion vector in the list of candidate's predicted motion vectors. The video encoder may further generate a predictive picture block for the PU based on the reference block indicated by the motion information about the PU. The motion information about the PU may be determined based on the motion information indicated by the predicted motion vector of the selected candidate. For example, in merge mode, the motion information of the PU may be the same as the motion information indicated by the predicted motion vector of the selected candidate. In the advanced motion vector prediction mode, the motion information for the PU can be determined based on the motion vector difference for the PU and the motion information indicated by the predicted motion vector of the selected candidate. .. The video encoder can generate one or more residual picture blocks for the CU based on the predicted picture blocks for the PU of the CU and the original picture blocks for the CU. The video encoder can then encode one or more residual picture blocks and output one or more residual picture blocks in a bitstream.

ビットストリームは、PUに関する候補の予測された動きベクトルのリストにおいて、選択された候補の予測された動きベクトルを識別するデータを含むことができる。ビデオ・デコーダは、PUのための候補の予測された動きベクトル・リストにおいて、選択された候補の予測された動きベクトルによって示される動き情報に基づいて、PUの動き情報を決定することができる。ビデオ・デコーダは、PUの動き情報に基づいて、PUのための1つ以上の参照ブロックを識別することができる。PUに対する1つ以上の参照ブロックを識別した後に、ビデオ・デコーダは、PUに対する1つ以上の参照ブロックに基づいて、PUに対する予測ピクチャ・ブロックを生成してもよい。ビデオ・デコーダは、CUのPUに対する予測ピクチャ・ブロックとCUに対する1つ以上の残差ピクチャ・ブロックとに基づいて、CUに対するピクチャ・ブロックを再構成することができる。 The bitstream can contain data that identifies the predicted motion vectors of the selected candidates in the list of predicted motion vectors of the candidates for the PU. The video decoder can determine the motion information of the PU based on the motion information indicated by the predicted motion vector of the selected candidate in the candidate predicted motion vector list for the PU. The video decoder can identify one or more reference blocks for the PU based on the motion information of the PU. After identifying one or more reference blocks for the PU, the video decoder may generate a predictive picture block for the PU based on the one or more reference blocks for the PU. The video decoder can reconstruct the picture block for the CU based on the predicted picture block for the PU of the CU and one or more residual picture blocks for the CU.

説明を簡単にするために、本願では、位置又はピクチャ・ブロックは、CU又はPUとの様々な空間的な関係を有するものとして説明されることが可能である。説明は、次のように説明することができる:ロケーション又はピクチャ・ブロックは、CU又はPUに関連付けられたピクチャ・ブロックと様々な空間的な関係を有する。追加的に、本願では、ビデオ・デコーダによって現在復号化されているPUは、処理対象のPUと言及されてもよいし、又は現在の処理対象のピクチャ・ブロックと言及されてもよい。本願では、ビデオ・デコーダによって現在復号化されているCUは、処理対象のCUと言及されてもよい。本願では、ビデオ・デコーダによって現在復号化されているピクチャは、現在のピクチャと言及されてもよい。本願は、PU及びCUが同じサイズを有する場合、又はPUがCUである場合にも適用可能であることが理解されるべきである。PUは説明のために均一に使用される。 For the sake of brevity, the location or picture block can be described herein as having various spatial relationships with the CU or PU. The description can be described as follows: The location or picture block has various spatial relationships with the picture block associated with the CU or PU. Additionally, in the present application, the PU currently being decoded by the video decoder may be referred to as the PU to be processed, or may be referred to as the picture block currently being processed. In the present application, the CU currently decoded by the video decoder may be referred to as the CU to be processed. In the present application, the picture currently decoded by the video decoder may be referred to as the current picture. It should be understood that the present application is also applicable if the PU and CU have the same size, or if the PU is a CU. PU is used uniformly for illustration purposes.

先に簡単に説明したように、ビデオ・エンコーダ20は、インター予測によってCUのPUに対する予測ピクチャ・ブロック及び動き情報を生成することができる。多くの例において、所与のPUの動き情報は、1つ以上の隣接するPU(即ち、ピクチャ・ブロックが所与のPUのピクチャ・ブロックに空間的又は時間的に隣接しているPU)の動き情報と同一又は類似であってもよい。隣接するPUは、しばしば同様な動き情報を有するので、ビデオ・エンコーダ20は、隣接するPUの動き情報に基づいて、所与のPUの動き情報を符号化することができる。隣接するPUの動き情報に基づいて所与のPUの動き情報を符号化することは、所与のPUの動き情報を示すためにビットストリームにおいて要求される符号化されたビットの量を減らすことができる。 As briefly described above, the video encoder 20 can generate predictive picture blocks and motion information for the PU of the CU by inter-prediction. In many examples, the motion information of a given PU is of one or more adjacent PUs (ie, a PU in which a picture block is spatially or temporally adjacent to a picture block of a given PU). It may be the same as or similar to the motion information. Since the adjacent PUs often have similar motion information, the video encoder 20 can encode the motion information of a given PU based on the motion information of the adjacent PUs. Encoding the motion information of a given PU based on the motion information of adjacent PUs reduces the amount of encoded bits required in the bitstream to indicate the motion information of a given PU. Can be done.

ビデオ・エンコーダ20は、様々な方法で、隣接するPUの動き情報に基づいて、所与のPUの動き情報を符号化することができる。例えば、ビデオ・エンコーダ20は、所与のPUに対する動き情報が、隣接するPUに対する動き情報と同じであることを示すことができる。本願では、マージ・モードは、所与のPUに対する動き情報が隣接するPUに対する動き情報と同じであることを示すために使用されてもよいし、又は隣接するPUに対する動き情報から導出されてもよい。別の実現可能な実装において、ビデオ・エンコーダ20は、所与のPUに対する動きベクトル差分(motion vector difference, MVD)を計算することが可能であり、MVDは、所与のPUに対する初期の動きベクトルと所与のPUに対する最終的な動きベクトルとの間の差分である。ビデオ・エンコーダ20は、所与のPUの動き情報において、所与のPUの動きベクトルの代わりにMVDを含めることができる。ビットストリームでは、MVDを表現するために必要なコーディングされたビットの量は、所与のPUに対する動きベクトルを表現するために必要なコーディングされたビットの量よりも少ない。本願では、アドバンスト動きベクトル予測モードを使用して、所与のPUの動き情報が、MVDと候補の動きベクトルを識別するためのインデックス値とを使用することによって、デコーダにシグナリングされることを示すことができる。 The video encoder 20 can encode the motion information of a given PU based on the motion information of the adjacent PUs in various ways. For example, the video encoder 20 can indicate that the motion information for a given PU is the same as the motion information for an adjacent PU. In the present application, the merge mode may be used to indicate that the motion information for a given PU is the same as the motion information for an adjacent PU, or it may be derived from the motion information for an adjacent PU. good. In another feasible implementation, the video encoder 20 is capable of calculating a motion vector difference (MVD) for a given PU, and the MVD is an initial motion vector for a given PU. And the difference between the final motion vector for a given PU. The video encoder 20 can include the MVD in place of the motion vector of a given PU in the motion information of a given PU. In a bitstream, the amount of coded bits needed to represent an MVD is less than the amount of coded bits needed to represent a motion vector for a given PU. The present application uses an advanced motion vector prediction mode to show that motion information for a given PU is signaled to the decoder by using an MVD and an index value to identify a candidate motion vector. be able to.

マージ・モード又はAMVPモードにおいて、所与のPUの動き情報をデコーダにシグナリングするために、ビデオ・エンコーダ20は、所与のPUに対する候補の予測された動きベクトルのリストを生成することができる。候補の予測された動きベクトルのリストは、1つ以上の候補の予測された動きベクトルを含んでもよい。所与のPUに関する候補の予測された動きベクトルのリストにおける各候補の予測された動きベクトルは、動き情報を指定することができる。各候補の予測された動きベクトルによって示される動き情報は、動きベクトル、参照ピクチャ・インデックス、及び予測方向識別子を含んでもよい。候補の予測された動きベクトルのリスト内の候補の予測された動きベクトルは、「オリジナル」候補の予測された動きベクトルを含む可能性があり、各々の「オリジナル」候補の予測された動きベクトルは、所与のPUとは異なるPU内の特定の候補の予測された動きベクトル位置のうちの1つの動き情報を示す。 In order to signal the motion information of a given PU to the decoder in merge mode or AMVP mode, the video encoder 20 can generate a list of candidate predicted motion vectors for a given PU. The list of candidate predicted motion vectors may include one or more candidate predicted motion vectors. Each candidate's predicted motion vector in the list of candidate predicted motion vectors for a given PU can specify motion information. The motion information represented by each candidate's predicted motion vector may include a motion vector, a reference picture index, and a predicted direction identifier. The predicted motion vectors of the candidates in the list of predicted motion vectors of the candidates may contain the predicted motion vectors of the "original" candidates, and the predicted motion vectors of each "original" candidate , Shows motion information of one of the predicted motion vector positions of a particular candidate in a PU different from a given PU.

PUに関する候補の予測された動きベクトルのリストを生成した後に、ビデオ・エンコーダ20は、PUのための候補の予測された動きベクトルのリストから、候補の予測された動きベクトルのうちの1つを選択することができる。例えば、ビデオ・エンコーダは、各々の候補の予測された動きベクトルを、復号化されているPUと比較し、所望のレート歪コストを有する候補の予測された動きベクトルを選択することができる。ビデオ・エンコーダ20は、PUのための候補の予測された動きベクトル・インデックスを出力することができる。候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトル・リストにおいて選択された候補の予測された動きベクトルの位置を識別することができる。 After generating a list of candidate predicted motion vectors for the PU, the video encoder 20 picks one of the candidate predicted motion vectors from the list of candidate predicted motion vectors for the PU. You can choose. For example, the video encoder can compare each candidate's predicted motion vector to the decoded PU and select a candidate's predicted motion vector with the desired rate distortion cost. The video encoder 20 can output a candidate predicted motion vector index for the PU. The candidate's predicted motion vector index can identify the position of the selected candidate's predicted motion vector in the candidate's predicted motion vector list.

更に、ビデオ・エンコーダ20は、PUの動き情報により示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成してもよい。PUに関する動き情報は、PUに関する候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルによって示される動き情報に基づいて決定されてもよい。例えば、マージ・モードにおいて、PUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。AMVPモードでは、PUの動き情報は、PUの動きベクトル差分と、選択された候補の予測された動きベクトルによって示される動き情報とに基づいて、決定されてもよい。上述のように、ビデオ・エンコーダ20は、PUの予測ピクチャ・ブロックを処理することができる。 Further, the video encoder 20 may generate a predicted picture block of the PU based on the reference block indicated by the motion information of the PU. The motion information for the PU may be determined based on the motion information indicated by the predicted motion vector of the candidate selected in the list of predicted motion vectors for the candidate for the PU. For example, in merge mode, the motion information of the PU may be the same as the motion information indicated by the predicted motion vector of the selected candidate. In the AMVP mode, the motion information of the PU may be determined based on the motion vector difference of the PU and the motion information indicated by the predicted motion vector of the selected candidate. As mentioned above, the video encoder 20 can process the predicted picture block of the PU.

ビデオ・デコーダ30がビットストリームを受信する場合に、ビデオ・デコーダ30は、CUの各PUに対して候補の予測された動きベクトルのリストを生成することができる。PUに関するビデオ・デコーダ30によって生成される候補の予測された動きベクトルのリストは、PUに関するビデオ・エンコーダ20によって生成される候補の予測された動きベクトルのリストと同じであってもよい。ビットストリームを解析することによって取得されるシンタックス要素は、PUに関する候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を示すことができる。PUに関する候補の予測された動きベクトルのリストを生成した後に、ビデオ・デコーダ30は、PUの動き情報によって示される1つ以上の参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成してもよい。ビデオ・デコーダ30は、PUに関する候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルによって示される動き情報に基づいて、PUの動き情報を決定することができる。ビデオ・デコーダ30は、PUの予測ピクチャ・ブロックとCUの残差ピクチャ・ブロックとに基づいて、CUのピクチャ・ブロックを再構成することができる。 When the video decoder 30 receives the bitstream, the video decoder 30 can generate a list of candidate predicted motion vectors for each PU of the CU. The list of candidate predicted motion vectors generated by the video decoder 30 for the PU may be the same as the list of candidate predicted motion vectors generated by the video encoder 20 for the PU. The syntax element obtained by analyzing the bitstream can indicate the position of the predicted motion vector of the selected candidate in the list of predicted motion vectors of the candidate for the PU. After generating a list of candidate predicted motion vectors for the PU, the video decoder 30 may also generate a PU predictive picture block based on one or more reference blocks indicated by the PU motion information. good. The video decoder 30 can determine the motion information of the PU based on the motion information indicated by the predicted motion vector of the candidate selected in the list of predicted motion vectors of the candidates for the PU. The video decoder 30 can reconstruct the picture block of the CU based on the predicted picture block of the PU and the residual picture block of the CU.

実現可能な実装において、デコーダ上で、候補の予測された動きベクトルのリストの構築と、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を得るためのビットストリームの解析とは、互いに独立しており、任意の順序で又は並行して実行されてもよいことが理解されるべきである。 In a feasible implementation, the bits for constructing a list of candidate predicted motion vectors and obtaining the position of the selected candidate's predicted motion vector in the candidate's list of predicted motion vectors on the decoder. It should be understood that the analysis of the stream is independent of each other and may be performed in any order or in parallel.

別の実現可能な実装において、デコーダ上で、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置が、先ずビットストリームを解析することによって取得され、次いで、候補の予測された動きベクトルのリストが、解析によって得られた位置に基づいて構成される。この実装では、全ての候補の予測された動きベクトルのリストを構築することを必要とせずに、解析により得られた位置における候補の予測された動きベクトルのリストのみが、その位置での候補の予測された動きベクトルを決定するために構築されることを必要とする。例えば、ビットストリームを解析することによって、選択された候補の予測された動きベクトルは、候補の予測された動きベクトルのリストにおいてインデックスが3である候補の予測された動きベクトルであり、インデックスが3である候補の予測された動きベクトルを決定するために、インデックス0からインデックス3までの候補の予測された動きベクトルのリストのみを構成する必要があることが分かる。これは、複雑さを低減し、復号化効率を改善することができる。 In another feasible implementation, on the decoder, the position of the predicted motion vector of the candidate selected in the list of predicted motion vectors of the candidate is first obtained by analyzing the bit stream and then the candidate. A list of predicted motion vectors of is constructed based on the positions obtained by the analysis. In this implementation, it is not necessary to build a list of predicted motion vectors for all candidates, only the list of predicted motion vectors for candidates at the position obtained by the analysis is the candidate at that position. It needs to be constructed to determine the predicted motion vector. For example, by analyzing the bit stream, the predicted motion vector of the selected candidate is the predicted motion vector of the candidate having an index of 3 in the list of predicted motion vectors of the candidate and having an index of 3. It can be seen that in order to determine the predicted motion vector of the candidate, it is necessary to construct only the list of the predicted motion vector of the candidate from index 0 to index 3. This can reduce complexity and improve decoding efficiency.

図2は、本願の実施形態によるビデオ・エンコーダ20の概略ブロック図である。ビデオ・エンコーダ20は、ビデオ・スライス内のビデオ・ブロックに関してイントラ復号化及びインター復号化を実行することができる。イントラ復号化は、所与のビデオ・フレーム又はピクチャ内のビデオの空間的な冗長性を低減又は除去するために、空間的予測を当てにする。インター復号化は、ビデオ・シーケンスの隣接するフレーム又はピクチャにおけるビデオの時間的な冗長性を低減又は除去するために、時間的な予測を当てにする。イントラ・モード(Iモード)は、幾つかの空間的な圧縮モードの任意の1つであってもよい。一方向予測モード(Pモード)又は双方向予測モード(Bモード)のようなインター・モードは、幾つかの時間的な圧縮モードの任意の1つであってもよい。 FIG. 2 is a schematic block diagram of the video encoder 20 according to the embodiment of the present application. The video encoder 20 can perform intra-decoding and inter-decoding on the video blocks in the video slice. Intra-decoding relies on spatial prediction to reduce or eliminate spatial redundancy of video within a given video frame or picture. Interdecoding relies on temporal prediction to reduce or eliminate temporal redundancy of video in adjacent frames or pictures of a video sequence. The intra mode (I mode) may be any one of several spatial compression modes. The inter-mode, such as one-way prediction mode (P mode) or two-way prediction mode (B mode), may be any one of several temporal compression modes.

図2の実現可能な実装において、ビデオ・エンコーダ20は、パーティショニング・ユニット35、予測ユニット41、参照ピクチャ・ストレージ64、加算器50、変換ユニット52、量子化ユニット54、エントロピー符号化ユニット56を含む。 In a feasible implementation of FIG. 2, the video encoder 20 includes a partitioning unit 35, a prediction unit 41, a reference picture storage 64, an adder 50, a conversion unit 52, a quantization unit 54, and an entropy coding unit 56. include.

参照ピクチャ・ストレージ64は、MVDを記憶するためのターゲット・ストレージ空間を提供するように、即ち、処理対象のPUに対する最終的な動きベクトルと初期の動きベクトルとの間の差分を記憶するように、更に構成されてもよい。幾つかの実施形態では、参照ピクチャ・ストレージ64は、処理対象のPUの最終的な動きベクトルを更に記憶することができる。本願のこの実施形態では、参照ピクチャ・ストレージ64に記憶されたMVDは、別のPUの符号化プロセスで使用されてもよい。例えば、マージ(merge)モードにおける復号化処理では、更新されていない初期の動きベクトルと更新された最終的な動きベクトルとが、異なる時間に別々に記憶される。従って、処理対象のPUが、別のPUについて予測された動きベクトルを取得する必要がある場合、特定の条件下で、処理対象のPUは、別のPUの更新されていない初期の動きベクトルを、別のPUの動きベクトルとして、直接的に使用することが可能であり、別のPUの動きベクトルが更新された後に、別のPUの動きベクトルを得る必要はない。 The reference picture storage 64 provides a target storage space for storing the MVD, i.e., to store the difference between the final motion vector and the initial motion vector for the PU to be processed. , Further configured. In some embodiments, the reference picture storage 64 can further store the final motion vector of the PU to be processed. In this embodiment of the present application, the MVD stored in the reference picture storage 64 may be used in another PU coding process. For example, in the decryption process in the merge mode, the unupdated initial motion vector and the updated final motion vector are stored separately at different times. Therefore, if the PU to be processed needs to obtain the predicted motion vector for another PU, under certain conditions, the PU to be processed will get the unupdated initial motion vector of the other PU. , It can be used directly as a motion vector of another PU , and it is not necessary to obtain a motion vector of another PU after the motion vector of another PU is updated.

ターゲット・ストレージ空間は、参照ピクチャ・ストレージ64以外のメモリ、例えば、新しく追加されたメモリによって提供されてもよいことに留意されたい。これは、本願のこの実施態様で具体的には限定されない。 Note that the target storage space may be provided by memory other than the reference picture storage 64, eg, newly added memory. This is not specifically limited in this embodiment of the present application.

関連技術において、ビデオ・エンコーダ20がマージ・モードで動作する場合に、参照ピクチャ・ストレージ64の中身が空であるか、又はゼロ・ベクトルであること、即ち、ビデオ・エンコーダ20がマージ・モードで動作する場合に、ターゲット・ストレージ空間は符号化中に使用されず、符号化プロセスでは、処理対象のPUによって得られる他のPUの予測された動きベクトルは、他のPUの更新された最終的な動きベクトルであることに留意されたい。従って、処理対象のPUは、他のPUの予測された動きベクトルが更新された後に限り、他のPUに対する予測された動きベクトルを得ることが可能であり、その結果、符号化の間に符号化遅延が生じる。しかしながら、ビデオ・エンコーダ20が非マージ・モードで動作する場合、参照ピクチャ・ストレージ64が使用されてもよい。例えば、AMVPモードでは、ターゲット・ストレージ空間は、動きベクトル残差を記憶するために使用され、ビデオ・エンコーダ20は、動きベクトル残差を符号化し、その結果、現在のPUを復号化した後に、ビデオ・デコーダ30は、処理対象のPUの動きベクトル残差を取得し、処理対象のPUの動きベクトル残差と、処理対象のPUの初期の動きベクトルとに基づいて、処理対象のPUの最終的な動きベクトルを取得することができる。 In a related technique, when the video encoder 20 operates in merge mode, the contents of the reference picture storage 64 are empty or zero vector, i.e., the video encoder 20 is in merge mode. When operating, the target storage space is not used during encoding, and in the encoding process, the predicted motion vector of the other PUs obtained by the PU being processed is the updated final of the other PUs. Note that it is a motion vector. Therefore, the PU to be processed can obtain the predicted motion vector for the other PU only after the predicted motion vector of the other PU has been updated, and as a result, the coding during the coding. There is a delay in conversion. However, if the video encoder 20 operates in non-merge mode, the reference picture storage 64 may be used. For example, in AMVP mode, the target storage space is used to store the motion vector residuals, and the video encoder 20 encodes the motion vector residuals and, as a result, after decoding the current PU. The video decoder 30 acquires the motion vector residual of the PU to be processed, and is the final of the PU to be processed based on the motion vector residual of the PU to be processed and the initial motion vector of the PU to be processed. Motion vector can be obtained.

予測ユニット41は、動き推定ユニット42、動き補償ユニット44、イントラ予測ユニット46を含む。ビデオ・ブロック再構成のために、ビデオ・エンコーダ20は、逆量子化ユニット58、逆変換ユニット60、及び加算器62を更に含む。ビデオ・エンコーダ20は、ブロック境界上でフィルタリングを実行し、再構成されたビデオからブロッキング・アーチファクトを除去するために、デブロッキング・フィルタ(図2には示されていない)を更に含んでもよい。必要に応じて、デブロッキング・フィルタは、通常、加算器62の出力に対してフィルタリングを実行する。デブロッキング・フィルタに加えて、追加のループ・フィルタ(ループの中又は後)が使用されてもよい。 The prediction unit 41 includes a motion estimation unit 42, a motion compensation unit 44, and an intra prediction unit 46. For video block reconstruction, the video encoder 20 further includes an inverse quantization unit 58, an inverse transformation unit 60, and an adder 62. The video encoder 20 may further include a deblocking filter (not shown in FIG. 2) to perform filtering on the block boundaries and remove blocking artifacts from the reconstructed video. If necessary, the deblocking filter typically performs filtering on the output of adder 62. In addition to the deblocking filter, additional loop filters (inside or after the loop) may be used.

図2に示すように、ビデオ・エンコーダ20は、ビデオ・データを受信し、パーティショニング・ユニット35は、データをビデオ・ブロックに区分けする。このような区分けは、更に、スライス、ピクチャ・ブロック、又は他のより大きなユニットに区分けすることと、LCU及びCUの四分木構造に基づくビデオ・ブロック・パーティショニングとを含んでもよい。例えば、ビデオ・エンコーダ20は、符号化対象のビデオ・スライス内のビデオ・ブロックを符号化するための構成要素である。通常、1つのスライスは、複数のビデオ・ブロックに区分けされることが可能である(そして、ピクチャ・ブロックと呼ばれるビデオ・ブロックのセットに区分けされることが可能である)。 As shown in FIG. 2, the video encoder 20 receives the video data and the partitioning unit 35 divides the data into video blocks. Such partitioning may further include partitioning into slices, picture blocks, or other larger units and video block partitioning based on the LCU and CU quadtree structure. For example, the video encoder 20 is a component for encoding a video block in a video slice to be encoded. Usually, one slice can be divided into multiple video blocks (and can be divided into a set of video blocks called picture blocks).

予測ユニット41は、符号化品質及びコスト計算結果(例えば、レート歪コスト(rate distortion cost,RDcost))に基づいて、現在のビデオ・ブロックに対して、複数の可能な復号化モード、例えば複数のイントラ復号化モードのうちの1つ又は複数のインター復号化モードのうちの1つを選択することができる。予測ユニット41は、取得されたイントラ復号化ブロック又はインター復号化ブロックを加算器50に提供して残差ブロック・データを生成し、得られたイントラ復号化ブロック又はインター復号化ブロックを加算器62に提供して、符号化されたブロックを再構成し、再構成された符号化されたブロックを参照ピクチャとして使用することができる。 The prediction unit 41 may have a plurality of possible decoding modes, eg, a plurality, for the current video block, based on the coding quality and the cost calculation result (eg, rate distortion cost, RDcost ). You can select one of the intra-decoding modes or one of the plurality of inter-decoding modes. The prediction unit 41 provides the acquired intra-decoding block or inter-decoding block to the adder 50 to generate residual block data, and the obtained intra-decoding block or inter-decoding block is added to the adder 62. The encoded block can be reconstructed and the reconstructed encoded block can be used as a reference picture.

予測ユニット41における動き推定ユニット42及び動き補償ユニット44は、1つ以上の参照ピクチャの1つ以上の予測ブロックに対する現在のビデオ・ブロックに関してインター予測復号化を実行して、時間的な圧縮を行う。動き推定ユニット42は、ビデオ・シーケンスのプリセット・モードに基づいて、ビデオ・スライスのインター予測モードを決定するように構成されてもよい。プリセット・モードでは、シーケンス内のビデオ・スライスは、Pスライス、Bスライス、GPBスライスとして指定されることが可能である。動き推定ユニット42及び動き補償ユニット44は、大いに統合されてもよいが、概念を説明するために別々に記述される。動き推定ユニット42によって実行される動き推定は、ビデオ・ブロックを推定するための動きベクトルを生成するプロセスである。例えば、動きベクトルは、参照ピクチャの予測ブロックに対する、現在のビデオ・フレーム又はピクチャのビデオ・ブロックのPUの変位を示すことができる。 The motion estimation unit 42 and motion compensation unit 44 in the prediction unit 41 perform interpredictive decoding for the current video block for one or more predictive blocks of one or more reference pictures to perform temporal compression. .. The motion estimation unit 42 may be configured to determine the inter-prediction mode of the video slice based on the preset mode of the video sequence. In preset mode, the video slices in the sequence can be designated as P slices, B slices, GPB slices. The motion estimation unit 42 and the motion compensation unit 44 may be highly integrated, but are described separately to illustrate the concept. The motion estimation performed by the motion estimation unit 42 is a process of generating a motion vector for estimating a video block. For example, the motion vector can indicate the displacement of the PU of the current video frame or video block of the picture with respect to the predicted block of the reference picture.

予測ブロックは、ピクセル差分に基づいて、復号化対象のビデオ・ブロックに近接して合致していることが見出されたPUのブロックであり、ピクセル差分は、絶対差分(sum of absolute differences,SAD)、二乗差分の合計(sum of squared differences, SSD)、又は他の差分メトリックを使用することにより決定されることが可能である。幾つかの実現可能な実装において、ビデオ・エンコーダ20は、参照ピクチャ・ストレージ64に記憶された参照ピクチャのサブ整数(sub−integer)ピクセル位置の値を計算することができる。例えば、ビデオ・エンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、又は別の分数ピクセル位置の値を補間することができる。従って、動き推定ユニット42は、全てのピクセル位置及び分数ピクセル位置に関する動き探索を実行し、分数ピクセル精度で動きベクトルを出力することができる。 A predictive block is a block of PU that is found to match closely to the video block to be decoded based on the pixel difference, and the pixel difference is the sum of absolute difference s ,. SAD), sum (sum of squared difference s of the square difference, SSD), or can be determined by using other difference metrics. In some feasible implementations, the video encoder 20 can calculate the value of the sub-integer pixel position of the reference picture stored in the reference picture storage 64. For example, the video encoder 20 can interpolate a value at a 1/4 pixel position, a 1/8 pixel position, or another fractional pixel position of a reference picture. Therefore, the motion estimation unit 42 can execute a motion search for all pixel positions and fractional pixel positions and output a motion vector with fractional pixel accuracy.

動き推定ユニット42は、PUの位置と参照ピクチャの予測ブロックの位置とを比較することにより、インター復号化されるスライス内のビデオ・ブロックのPUに対する動きベクトルを算出する。参照ピクチャは、第1参照ピクチャ・リスト(リスト0)又は第2参照ピクチャ・リスト(リスト1)から選択されることが可能である。各リストは、参照ピクチャ・ストレージ64に記憶された1つ以上の参照ピクチャを識別するために使用される。動き推定ユニット42は、計算された動きベクトルを、エントロピー符号化ユニット56及び動き補償ユニット44へ送る。 The motion estimation unit 42 calculates the motion vector for the PU of the video block in the interdecoded slice by comparing the position of the PU with the position of the predicted block of the reference picture. The reference picture can be selected from the first reference picture list (list 0) or the second reference picture list (list 1). Each list is used to identify one or more reference pictures stored in the reference picture storage 64. The motion estimation unit 42 sends the calculated motion vector to the entropy coding unit 56 and the motion compensation unit 44.

動き補償ユニット44によって実行される動き補償は、動き推定によって決定される動きベクトルに基づく予測ブロックの抽出又は生成を含むことが可能であり、サブ・ピクセル・レベルの精度で補間を実行することが可能である。現在のビデオ・ブロックのPUに対する動きベクトルを受信した後に、動き補償ユニット44は、動きベクトルが1つの参照ピクチャ・リスト内で指し示す予測ブロックを突き止めることができる。ビデオ・エンコーダ20は、復号化されている現在のビデオ・ブロックのピクセル値から、予測ブロックのピクセル値を減算して残差ビデオ・ブロックを取得し、ピクセル差分を取得する。ピクセル差分は、ブロックの残差データを構成し、ルマ差分成分とクロマ差分成分の両方を含む可能性がある。加算器50は、減算演算を実行する1つ以上の構成要素である。動き補償ユニット44は、ビデオ・ブロック及びビデオ・スライスに関連するシンタックス要素を更に生成することが可能であり、その結果、ビデオ・デコーダ30はビデオ・スライス内のビデオ・ブロックを復号化する。 Motion compensation performed by motion compensation unit 44 can include extraction or generation of predictive blocks based on motion vectors determined by motion estimation and can perform interpolation with sub-pixel level accuracy. It is possible. After receiving the motion vector for the PU of the current video block, the motion compensation unit 44 can locate the predictive block that the motion vector points to in one reference picture list. The video encoder 20 subtracts the pixel value of the predicted block from the pixel value of the current video block being decoded to obtain the residual video block and obtains the pixel difference. The pixel difference constitutes the residual data of the block and may contain both the Luma difference component and the Chroma difference component. The adder 50 is one or more components that perform a subtraction operation. The motion compensation unit 44 can further generate the video blocks and the syntax elements associated with the video slices, so that the video decoder 30 decodes the video blocks in the video slices.

PUがBスライスに位置する場合、PUを含むピクチャは、「list 0」及び「list 1」と言及される2つの参照ピクチャ・リストに関連付けられることが可能である。幾つかの実現可能な実装において、Bスライスを含むピクチャは、リスト0及びリスト1のリストの組み合わせに関連付けられてもよい。 When the PU is located in the B slice, the picture containing the PU can be associated with two reference picture lists referred to as "list 0" and "list 1". In some feasible implementations, a picture containing a B slice may be associated with a combination of lists in Listing 0 and Listing 1.

また、PUがBスライスに位置する場合、動き推定ユニット42は、PUに対して一方向予測又は双方向予測を実行することが可能である。幾つかの実現可能な実装において、双方向予測は、参照ピクチャ・リスト0及び参照ピクチャ・リスト1におけるピクチャに基づいて、別々に実行される予測である。幾つかの他の実現可能な実装において、双方向予測は、表示順序で現在のフレームについての再構成される将来のフレームと再構成される過去のフレームとに基づいて別々に実行される予測である。また、動き推定ユニット42が、PUに対して一方向予測を実行する場合には、動き推定ユニット42は、PUに対する参照ブロックを探すために、リスト0又はリスト1内の参照ピクチャを探索することができる。そして、動き推定ユニット42は、リスト0又はリスト1に参照ブロックを含む参照ピクチャを示す参照インデックスと、PU及び参照ブロックの間の空間的な変位を示す動きベクトルとを生成することができる。動き推定ユニット42は、PUの動き情報として、参照インデックス、予測方向識別子、及び動きベクトルを出力することができる。予測方向識別子は、参照インデックスがリスト0又はリスト1における参照ピクチャを示すことを示してもよい。動き補償ユニット44は、PUの動き情報により示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成することができる。 Further, when the PU is located in the B slice, the motion estimation unit 42 can execute one-way prediction or two-way prediction for the PU. In some feasible implementations, bidirectional prediction is a prediction performed separately based on the pictures in reference picture list 0 and reference picture list 1. In some other feasible implementation, bidirectional prediction is a prediction that is performed separately based on the reconstructed future frame and the reconstructed past frame for the current frame in display order. be. Further, when the motion estimation unit 42 executes one-way prediction for the PU, the motion estimation unit 42 searches the reference picture in the list 0 or the list 1 in order to search for the reference block for the PU. Can be done. Then, the motion estimation unit 42 can generate a reference index indicating a reference picture including a reference block in list 0 or list 1, and a motion vector indicating a spatial displacement between the PU and the reference block. The motion estimation unit 42 can output a reference index, a prediction direction identifier, and a motion vector as motion information of the PU. The predictive direction identifier may indicate that the reference index indicates a reference picture in Listing 0 or Listing 1. The motion compensation unit 44 can generate a predicted picture block of the PU based on the reference block indicated by the motion information of the PU.

動き推定ユニット42が、PUに対して双方向予測を行う場合、動き推定ユニット42は、PUに対する参照ブロックに対してリスト0内の参照ピクチャを探索し、更に、PUに対する他の参照ブロックに対してリスト1内の参照ピクチャを探索することができる。そして、動き推定ユニット42は、リスト0及びリスト1の参照ブロックを含む参照ピクチャを示す参照インデックスと、参照ブロック及びPUの間の空間的な変位を示す動きベクトルとを生成することができる。また、動き推定ユニット42は、PUの参照インデックス及び動きベクトルを、PUの動き情報として出力することができる。動き補償ユニット44は、PUの動き情報により示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成することができる。 When the motion estimation unit 42 makes bidirectional predictions for the PU, the motion estimation unit 42 searches for a reference picture in list 0 for a reference block for the PU, and further for another reference block for the PU. The reference picture in the list 1 can be searched. Then, the motion estimation unit 42 can generate a reference index indicating a reference picture including the reference blocks of List 0 and Listing 1, and a motion vector indicating a spatial displacement between the reference block and the PU. Further, the motion estimation unit 42 can output the reference index and the motion vector of the PU as the motion information of the PU. The motion compensation unit 44 can generate a predicted picture block of the PU based on the reference block indicated by the motion information of the PU.

幾つかの実現可能な実装において、動き推定ユニット42は、PUの動き情報の完全なセットを、エントロピー符号化ユニット56に対して出力しない。その代わりに、動き推定ユニット42は、別のPUの動き情報に関するPUの動き情報をシグナリングしてもよい。例えば、動き推定ユニット42は、PUの動き情報が、隣接するPUの動き情報と同様であることを決定することが可能である。この実装において、動き推定ユニット42は、PUに関連するシンタックス構造において、インジケータ値を示すことが可能であり、インジケータ値は、PUの動き情報が、隣接するPUの動き情報と同じであること、又は隣接するPUの動き情報から導出されてもよいことを、ビデオ・デコーダ30に示す。別の実装において、動き推定ユニット42は、PUに関連するシンタックス構造において、隣接するPUに関連する候補の予測された動きベクトルと動きベクトル差分(motion vector difference,MVD)とを識別することができる。MVDは、PUの動きベクトルと、隣接するPUに関連する指示された候補の予測された動きベクトルとの間の差分を示す。ビデオ・デコーダ30は、指示された候補の予測された動きベクトル及びMVDを使用することによって、PUの動きベクトルを決定することができる。 In some feasible implementations, motion estimation unit 42 does not output a complete set of PU motion information to entropy coding unit 56. Instead, the motion estimation unit 42 may signal PU motion information regarding motion information of another PU. For example, the motion estimation unit 42 can determine that the motion information of the PU is similar to the motion information of the adjacent PU. In this implementation, the motion estimation unit 42 can indicate an indicator value in the syntax structure related to the PU, and the indicator value is that the motion information of the PU is the same as the motion information of the adjacent PU. , Or the video decoder 30 may be derived from motion information of adjacent PUs. In another implementation, the motion estimation unit 42 can discriminate between the predicted motion vector of a candidate associated with an adjacent PU and the motion vector difference (MVD) in the PU-related syntax structure. can. The MVD indicates the difference between the motion vector of the PU and the predicted motion vector of the indicated candidate associated with the adjacent PU. The video decoder 30 can determine the motion vector of the PU by using the predicted motion vector and MVD of the indicated candidate.

上述したように、予測ユニット41は、CUの各PUに対して候補の予測された動きベクトルのリストを生成することができる。1つ以上の候補の予測された動きベクトルのリストは、1つ以上のオリジナル候補の予測された動きベクトルと、1つ以上のオリジナル候補の予測された動きベクトルから導出された1つ以上の追加候補の予測された動きベクトルとを含むことができる。 As mentioned above, the prediction unit 41 can generate a list of candidate predicted motion vectors for each PU of the CU. The list of predicted motion vectors for one or more candidates is one or more additions derived from the predicted motion vectors for one or more original candidates and the predicted motion vectors for one or more original candidates. Can include candidate predicted motion vectors.

本願のこの実施形態では、マージ・モードで候補の予測された動きベクトルのリストを設定する際に、予測ユニット41は、候補の予測された動きベクトルのリストに、処理対象のPUの参照PUの動きベクトルを記憶することができ、参照PUの動きベクトルは、参照PUの更新されていない初期の動きベクトルであってもよいし、又は参照PUの更新された最終的な動きベクトルであってもよいことに留意すべきである。参照PUのための更新された最終的な動きベクトルは、ターゲット・ストレージ空間に記憶された動きベクトルに基づいて取得されてもよい。ターゲット・ストレージ空間がMVDを記憶する場合、参照PUの最終的な動きベクトルは、参照PUの初期の動きベクトルと、ターゲット・ストレージ空間に記憶されたMVDとを加算することによって取得されることが可能である。ターゲット・ストレージ空間が、参照PUのための最終的な動きベクトルを記憶する場合、参照PUのための最終的な動きベクトルは、ターゲット・ストレージ空間から直接的に取得されることが可能である。参照PUの動きベクトルは、以下の方法で、候補の予測された動きベクトルのリストに記憶されることが可能である:参照PUと現在のPUが同一のCTB又はCTBの行レンジにある場合には、参照ユニットの更新されていない初期の動きベクトルが、候補の予測された動きベクトルのリストに記憶されるか、又は参照PUと現在のPUが同一のCTB又はCTBの行レンジにない場合には、参照ユニットの更新された最終的な動きベクトルが、候補の予測された動きベクトルのリストに記憶される。 In this embodiment of the present application, when setting a list of candidate predicted motion vectors in merge mode, the prediction unit 41 adds the candidate predicted motion vector list to the reference PU of the PU to be processed. The motion vector can be stored and the motion vector of the reference PU may be the unupdated initial motion vector of the reference PU or the updated final motion vector of the reference PU. It should be noted that it is good. The updated final motion vector for the reference PU may be obtained based on the motion vector stored in the target storage space. If the target storage space stores the MVD, the final motion vector of the reference PU may be obtained by adding the initial motion vector of the reference PU to the MVD stored in the target storage space. It is possible. If the target storage space stores the final motion vector for the reference PU, the final motion vector for the reference PU can be obtained directly from the target storage space. The motion vector of the reference PU can be stored in the list of candidate predicted motion vectors in the following way: if the reference PU and the current PU are in the same CTB or CTB row range. the initial motion vectors that have not been updated reference unit is either stored in the list of predicted motion vector candidate, or if the reference PU and the current PU is not in the line range of the same CTB or CTB Stores the updated final motion vector of the reference unit in the list of candidate predicted motion vectors.

予測ユニット41のイントラ予測ユニット46は、復号化対象の現在のブロックと同一のピクチャ又はスライス内にある1つ以上の隣接するブロックに対して、現在のビデオ・ブロックに対してイントラ予測復号化を実行し、空間圧縮を提供することができる。従って、動き推定ユニット42と動き補償ユニット44とによって実行される(上述したような)インター予測の代替案として、イントラ予測ユニット46は、現在のブロックに対してイントラ予測を実行することができる。具体的には、イントラ予測ユニット46は、現在のブロックを符号化するためのイントラ予測モードを決定することができる。幾つかの実現可能な実装において、イントラ予測ユニット46は、(例えば)様々なイントラ予測モードを使用して、別々の符号化トラバーサルの間に現在のブロックを符号化し、イントラ予測ユニット46(又は、幾つかの実現可能な実装におけるモード選択ユニット40)は、テスト・モードから適切なイントラ予測モードを選択することができる。 The intra prediction unit 46 of the prediction unit 41 performs intra prediction decoding for the current video block for one or more adjacent blocks in the same picture or slice as the current block to be decoded. Can be performed and provide spatial compression. Therefore, as an alternative to the inter-prediction performed by the motion estimation unit 42 and the motion compensation unit 44 (as described above), the intra-prediction unit 46 can perform the intra-prediction on the current block. Specifically, the intra prediction unit 46 can determine the intra prediction mode for encoding the current block. In some feasible implementations, the intra-prediction unit 46 (eg) uses various intra-prediction modes to encode the current block during separate coding traversals, and the intra-prediction unit 46 (or). The mode selection unit 40) in some feasible implementations can select the appropriate intra-prediction mode from the test mode.

予測ユニット41は、現在のビデオ・ブロックの予測ブロックを、インター予測又はイントラ予測により生成した後に、ビデオ・エンコーダ20は、予測ブロックを現在のビデオ・ブロックから減算し、残差ビデオ・ブロックを取得する。残差ブロック内の残差ビデオ・データは、1つ以上のTUに含まれ、変換ユニット52に印加されることが可能である。変換ユニット52は、離散コサイン変換(discrete cosine transform, DCT)又は概念的に類似した変換(例えば、離散正弦変換(discrete sine transform, DST))のような変換を実行することによって、残差ビデオ・データを、残差変換係数に変換する。変換ユニット52は、残差ビデオ・データを、ピクセル・ドメインから変換ドメイン(例えば、周波数ドメイン)へ変換することができる。 After the prediction unit 41 generates a prediction block of the current video block by inter-prediction or intra-prediction, the video encoder 20 subtracts the prediction block from the current video block to obtain the residual video block. do. The residual video data in the residual block is contained in one or more TUs and can be applied to the conversion unit 52. The transform unit 52 performs a transform such as a discrete cosine transform (DCT) or a conceptually similar transform (eg, a discrete sine transform (DST)) to perform a residual video. Convert the data to the residual transform coefficient. The conversion unit 52 can convert the residual video data from the pixel domain to the conversion domain (eg, the frequency domain).

変換ユニット52は、取得された変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化して、ビット・レートを更に低下させる。量子化プロセスは、係数の幾つか又は全てに関連するビット深度を低減することができる。量子化度は、量子化パラメータを調整することによって修正されることが可能である。幾つかの実現可能な実装において、量子化ユニット54は、次いで、量子化された変換係数を含む行列をスキャンすることができる。あるいは、エントロピー符号化ユニット56がスキャンを実行してもよい。 The conversion unit 52 can send the acquired conversion coefficient to the quantization unit 54. The quantization unit 54 quantizes the conversion factor to further reduce the bit rate. The quantization process can reduce the bit depth associated with some or all of the coefficients. The degree of quantization can be modified by adjusting the quantization parameters. In some feasible implementations, the quantized unit 54 can then scan the matrix containing the quantized transformation coefficients. Alternatively, the entropy coding unit 56 may perform the scan.

量子化の後に、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化することができる。例えば、エントロピー符号化ユニット56は、文脈適応型可変長コーディング(CAVLC)、文脈適応型二進算術コーディング(CABAC)、確率間隔パーティショニング・エントロピー(PIPE)コーディング、又は他のエントロピー・コーディング方法又は技術を実行することができる。エントロピー符号化ユニット56は、復号化されている現在のビデオ・スライスの動きベクトル及び別のシンタックス要素を更にエントロピー符号化することができる。エントロピー符号化ユニット56によってエントロピー符号化された後に、符号化されたビットストリームは、ビデオ・デコーダ30に送信されてもよいし、又はビデオ・デコーダ30によるその後の送信又は検索のために記録されてもよい。 After quantization, the entropy coding unit 56 can entropy code the quantized conversion factors. For example, the entropy coding unit 56 may include context-adaptive variable-length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), probability interval partitioning entropy (PIPE) coding, or other entropy coding methods or techniques. Can be executed. The entropy coding unit 56 can further entropy code the motion vector of the current video slice being decoded and another syntax element. After being entropy-coded by the entropy coding unit 56, the encoded bitstream may be transmitted to the video decoder 30 or recorded for subsequent transmission or retrieval by the video decoder 30. May be good.

エントロピー符号化ユニット56は、本願の技術によれば、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオ・エンコーダ20は、コンテキストの各々に対して使用される、複数のイントラ予測モード・インデックス・テーブル、及び複数の修正されたイントラ予測モード・インデックス・テーブル(コードワード・マッピング・テーブルとも言及される)を含むことが可能な送信されたビットストリーム構成データの中に、様々なブロックの符号化コンテキストの定義、最確モード(most probable mode,MPM)の指示、イントラ予測モード・インデックス・テーブル、及び修正されたイントラ予測モード・インデックス・テーブルを含むことができる。 The entropy coding unit 56 can encode information indicating the selected intra prediction mode according to the technique of the present application. The video encoder 20 is also referred to as a plurality of intra-prediction mode index tables and a plurality of modified intra-prediction mode index tables (also referred to as codeword mapping tables) used for each of the contexts. ) Can be included in the transmitted bitstream configuration data, such as definitions of coding contexts for various blocks, indications for most probable mode (MPM), intra-predictive mode index tables, and It can contain a modified intra-prediction mode index table.

逆量子化ユニット58及び逆変換ユニット60はそれぞれ逆量子化及び逆変換を実行し、ピクセル・ドメイン内の残差ブロックを再構成し、これは、以後、参照ピクチャの参照ブロックとして使用される。動き補償ユニット44は、1つの参照ピクチャ・リスト内の1つの参照ピクチャの残差ブロックと予測ブロックとを加算することによって、参照ブロックを計算することができる。また、動き補償ユニット44は、再構成された残差ブロックに、1つ以上の補間フィルタを適用して、動き推定のためのサブ整数ピクセル値を計算してもよい。加算器62は、再構成された残差ブロックと、動き補償ユニット44によって生成された動き補償された予測ブロックとを加算して、参照ピクチャ・ストレージ64に記憶される参照ブロックを生成する。参照ブロックは、後続のビデオ・フレーム又はピクチャにおけるブロックに関してインター予測を実行するための参照ブロックとして、動き推定ユニット42及び動き補償ユニット44によって使用されてもよい。 The inverse quantization unit 58 and the inverse transformation unit 60 perform inverse quantization and inverse transformation, respectively, to reconstruct the residual block in the pixel domain, which is subsequently used as the reference block of the reference picture. The motion compensation unit 44 can calculate the reference block by adding the residual block and the prediction block of one reference picture in one reference picture list. Further, the motion compensation unit 44 may apply one or more interpolation filters to the reconstructed residual block to calculate a sub-integer pixel value for motion estimation. The adder 62 adds the reconstructed residual block and the motion compensated prediction block generated by the motion compensation unit 44 to generate a reference block stored in the reference picture storage 64. The reference block may be used by the motion estimation unit 42 and the motion compensation unit 44 as a reference block for performing interprediction with respect to a block in a subsequent video frame or picture.

図3は、本願の実施形態によるビデオ・デコーダ30の概略ブロック図である。図3の実現可能な実装において、ビデオ・デコーダ30は、エントロピー復号化ユニット80、予測ユニット81、逆量子化ユニット86、逆変換ユニット88、加算器90、及び参照ピクチャ・ストレージ92を含む。 FIG. 3 is a schematic block diagram of the video decoder 30 according to the embodiment of the present application. In a feasible implementation of FIG. 3, the video decoder 30 includes an entropy decoding unit 80, a prediction unit 81, an inverse quantization unit 86, an inverse conversion unit 88, an adder 90, and a reference picture storage 92.

参照ピクチャ・ストレージ92は、ターゲット・ストレージ空間を提供するように構成されることが可能である。ターゲット・ストレージ空間は、MVDを記憶するために使用され、即ち、最終的な動きベクトルと初期の動きベクトルとの間の差分を記憶するために使用される。幾つかの実施形態では、ターゲット・ストレージ空間は、最終的な動きベクトルを記憶するために使用される。本願のこの実施形態では、更新された最終的な動きベクトル、又はターゲット・ストレージ空間に記憶されたMVDは、別のPUの符号化プロセスで使用されることが可能である。例えば、マージ・モードにおける復号化プロセスでは、更新されていない初期の動きベクトルと更新された最終的な動きベクトルとが、異なる時間に別々に記憶される。従って、処理対象のPUが、別のPUについて予測された動きベクトルを取得する必要がある場合、特定の条件下で、処理対象のPUは、別のPUの更新されていない初期の動きベクトルを、別のPUの動きベクトルとして、直接的に使用することが可能であり、別のPUの動きベクトルが更新された後に、別のブロックの動きベクトルを得る必要はない。 The reference picture storage 92 can be configured to provide a target storage space. The target storage space is used to store the MVD, i.e., to store the difference between the final motion vector and the initial motion vector. In some embodiments, the target storage space is used to store the final motion vector. In this embodiment of the present application, the updated final motion vector, or MVD stored in the target storage space, can be used in another PU coding process. For example, in the decryption process in merge mode, the unupdated initial motion vector and the updated final motion vector are stored separately at different times. Therefore, if the PU to be processed needs to obtain the predicted motion vector for another PU, under certain conditions, the PU to be processed will get the unupdated initial motion vector of the other PU. , It can be used directly as a motion vector of another PU, and it is not necessary to obtain the motion vector of another block after the motion vector of another PU is updated.

ターゲット・ストレージ空間は、参照ピクチャ・ストレージ92以外のメモリ、例えば、新しく追加されたメモリによって提供されてもよいことに留意すべきである。これは本願の実施形態で具体的には限定されない。 It should be noted that the target storage space may be provided by memory other than the reference picture storage 92, eg, newly added memory. This is not specifically limited to the embodiments of the present application.

関連技術において、ビデオ・デコーダ30がマージ・モードで動作する場合に、ターゲット・ストレージ空間の中身が空であるか、又はゼロ・ベクトルであること、即ち、ビデオ・デコーダ30がマージ・モードで動作する場合に、ターゲット・ストレージ空間は、復号化の間に使用されず、復号化の間に、処理対象のPUによって得られる他のPUの予測された動きベクトルは、他のPUの更新された最終的な動きベクトルであることに留意すべきである。従って、処理対象のPUは、他のPUに対する予測された動きベクトルが更新された後に限り、他のPUに対する予測された動きベクトルを得ることが可能であり、その結果、復号化の間に復号化遅延が生じる。しかしながら、ビデオ・デコーダ30が非マージ・モードで動作する場合、ターゲット・ストレージ空間が使用されてもよい。例えば、AMVPモードでは、ビデオ・デコーダ30は、復号化により、処理対象のPUのためのMVDを取得することができ、その結果、ビデオ・デコーダ30は、初期の動きベクトルと処理対象のPUに対するMVDとに基づいて、処理対象のPUに対する最終的な動きベクトルを取得することができる。 In a related technique, when the video decoder 30 operates in merge mode, the contents of the target storage space are empty or zero vector, that is, the video decoder 30 operates in merge mode. If so, the target storage space is not used during decoding, and during decoding, the predicted motion vectors of the other PUs obtained by the PU being processed are updated by the other PUs. It should be noted that it is the final motion vector. Therefore, the PU to be processed can obtain the predicted motion vector for the other PU only after the predicted motion vector for the other PU has been updated, and as a result, decode during decoding. There will be a delay in conversion. However, if the video decoder 30 operates in non-merge mode, the target storage space may be used. For example, in AMVP mode, the video decoder 30 can obtain the MVD for the PU to be processed by decoding, so that the video decoder 30 has the initial motion vector and the PU to be processed. The final motion vector for the PU to be processed can be obtained based on the MVD.

予測ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。幾つかの実現可能な実装において、ビデオ・デコーダ30は、図4のビデオ・エンコーダ20に関して説明した符号化プロセスと逆の例示的な復号化プロセスを実行することができる。 The prediction unit 81 includes a motion compensation unit 82 and an intra prediction unit 84. In some feasible implementations, the video decoder 30 can perform an exemplary decoding process that is the reverse of the coding process described for the video encoder 20 of FIG.

復号化の間に、ビデオ・デコーダ30は、ビデオ・エンコーダ20から、符号化されたビデオ・スライス及び関連するシンタックス要素のビデオ・ブロックを表すエンコードされたビデオ・ビットストリームを受信する。ビデオ・デコーダ30のエントロピー復号化ユニット80は、ビットストリームを復号化し、量子化された係数、動きベクトル、及び他のシンタックス要素を生成する。エントロピー復号化ユニット80は、動きベクトル及び他のシンタックス要素を予測ユニット81に転送する。ビデオ・デコーダ30は、ビデオ・スライス・レベル及び/又はビデオ・ブロック・レベルでシンタックス要素を受信することができる。 During decoding, the video decoder 30 receives from the video encoder 20 an encoded video bitstream representing a video block of encoded video slices and associated syntax elements. The entropy decoding unit 80 of the video decoder 30 decodes the bitstream to generate quantized coefficients, motion vectors, and other syntax elements. The entropy decoding unit 80 transfers the motion vector and other syntax elements to the prediction unit 81. The video decoder 30 can receive syntax elements at the video slice level and / or the video block level.

ビデオ・スライスが、イントラ復号化された(I)スライスに復号化された場合、予測ユニット81のイントラ予測ユニット84は、シグナリングされたイントラ予測モードと、現在のフレーム又はピクチャの以前に復号化されたブロックのデータとに基づいて、現在のビデオ・スライスのビデオ・ブロックの予測データを生成することができる。 If the video slice is decoded into an intra-decrypted (I) slice, the intra-prediction unit 84 of the prediction unit 81 is decoded prior to the signaled intra-prediction mode and the current frame or picture. Predictive data for the video block of the current video slice can be generated based on the data of the block.

ビデオ・ピクチャが、インター復号化されたスライス(例えば、Bスライス、Pスライス、又はGPBスライス)に復号化された場合、予測ユニット81の動き補償ユニット82は、エントロピー復号化ユニット80から受信した動きベクトル及び他のシンタックス要素に基づいて、現在のビデオ・ピクチャのビデオ・ブロックの予測ブロックを生成する。予測ブロックは、1つの参照ピクチャ・リスト内の1つの参照ピクチャから生成されてもよい。ビデオ・デコーダ30は、参照ピクチャ・ストレージ92に記憶された参照ピクチャに基づいて、参照ピクチャ・リスト(リスト0及びリスト1)を構成するためにデフォルトの構成技術を使用することができる。 When the video picture is decoded into an inter-decoded slice (eg, a B-slice, a P-slice, or a GPB slice), the motion compensation unit 82 of the prediction unit 81 receives the motion received from the entropy-decoding unit 80. Generates a predictive block of the video block of the current video picture based on vectors and other syntax elements. The prediction block may be generated from one reference picture in one reference picture list. The video decoder 30 can use the default configuration technique to construct the reference picture list (List 0 and List 1) based on the reference picture stored in the reference picture storage 92.

動き補償ユニット82は、動きベクトル及び他のシンタックス要素を解析することによって、現在のビデオ・スライスのビデオ・ブロックの予測情報を決定し、予測情報を用いて、復号化されているビデオ・ブロックの予測ブロックを生成する。例えば、動き補償ユニット82は、受信したシンタックス要素の幾つかを用いて、ビデオ・スライスのビデオ・ブロックを復号化するための予測(例えば、イントラ予測又はインター予測)モード、インター予測スライス・タイプ(例えば、Bスライス、Pスライス、又はGPBスライス)スライスの1つ以上の参照ピクチャ・リストの構成情報、スライスの各々のインター符号化されたビデオ・ブロックの動きベクトル、スライスの各々のインター復号化されたビデオ・ブロックのインター予測ステータス、及び現在のビデオ・スライスにおけるビデオ・ブロックを復号化するための他の情報を決定する。 The motion compensation unit 82 determines the prediction information of the video block of the current video slice by analyzing the motion vector and other syntax elements, and uses the prediction information to decode the video block. Generate a prediction block for. For example, motion compensation unit 82 uses some of the received syntax elements to decode a video block of a video slice in a predictive (eg, intra-predictive or inter-predictive) mode, inter-predictive slice type. (For example, B slice, P slice, or GPB slice) Configuration information of one or more reference picture lists of the slice, motion vector of each inter-encoded video block of the slice, inter-decoding of each of the slices. Determines the interpredicted status of the video block that has been made, as well as other information for decoding the video block in the current video slice.

動き補償ユニット82は、更に、補間フィルタを用いて補間を実行してもよい。動き補償ユニット82は、例えば、ビデオ・ブロックの符号化の間に、ビデオ・エンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算することができる。本願では、動き補償ユニット82は、受信したシンタックス要素に基づいて、ビデオ・エンコーダ20によって使用される補間フィルタを決定し、補間フィルタを用いて予測ブロックを生成することができる。 The motion compensation unit 82 may further perform interpolation using an interpolation filter. The motion compensation unit 82 can calculate the interpolated value of the sub-integer pixels of the reference block, for example, using the interpolation filter used by the video encoder 20 during the coding of the video block. In the present application, the motion compensation unit 82 can determine the interpolation filter used by the video encoder 20 based on the received syntax element, and use the interpolation filter to generate a prediction block.

PUがインター予測によって符号化される場合、動き補償ユニット82は、PUに対する候補の予測された動きベクトルのリストを生成することができる。ビットストリームは、PUのための候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を識別するためのデータを含んでもよい。PUに対する候補の予測された動きベクトルを生成した後に、動き補償ユニット82は、PUに対する動き情報によって示される1つ以上の参照ブロックに基づいて、PUに対する予測ピクチャ・ブロックを生成することができる。PUの参照ブロックは、PUの時間的なピクチャとは異なる時間的なピクチャの中に位置していてもよい。動き補償ユニット82は、PUに対する候補の予測された動きベクトルのリストにおいて選択された動き情報に基づいて、PUの動き情報を決定することができる。 If the PU is encoded by inter-prediction, the motion compensation unit 82 can generate a list of candidate predicted motion vectors for the PU. The bitstream may contain data for identifying the position of the predicted motion vector of the selected candidate in the list of predicted motion vectors of the candidate for the PU. After generating the predicted motion vector of the candidate for the PU, the motion compensation unit 82 can generate the predicted picture block for the PU based on one or more reference blocks indicated by the motion information for the PU. The reference block of the PU may be located in a temporal picture different from the temporal picture of the PU. The motion compensation unit 82 can determine the motion information of the PU based on the motion information selected in the list of predicted motion vectors of the candidates for the PU.

本願の実施形態では、動き補償ユニット82は、マージ・モードにおける候補の予測された動きベクトルのリストを設定する際に、処理対象のPUの参照PUに対する予測された動きベクトルを、候補の予測された動きベクトルのリストに記憶してもよく、参照PUの予測された動きベクトルは、参照PUの更新されていない初期の動きベクトルであってもよく、或いは参照PUの更新された最終的な動きベクトルであってもよいことに留意すべきである。参照PUの更新された最終的な動きベクトルは、ターゲット・ストレージ空間に記憶される参照PUのための動きベクトルに基づいて取得されてもよい。例えば、ターゲット・ストレージ空間がMVDを記憶する場合、参照PUのための最終的な動きベクトルは、参照PUのための初期の動きベクトルとターゲット・ストレージ空間に記憶されたMVDとを加算することによって、取得されることが可能である。ターゲット・ストレージ空間が、参照PUのための最終的な動きベクトルを記憶する場合に、参照PUのための最終的な動きベクトルは、ターゲット・ストレージ空間から直接的に取得されることが可能である。参照PUに対する予測された動きベクトルは、次のような方法で、候補の予測された動きベクトルのリストに記憶されてもよい:参照PUと現在のPUとが同じCTB又はCTBの行レンジにある場合に、参照ユニットに対する更新されていない初期の動きベクトルが、候補の予測された動きベクトルのリストに記憶される;又は参照PUと現在のPUとが同じCTB又はCTBの行レンジにない場合に、参照ユニットに対する更新された最終的な動きベクトルが、候補の予測された動きベクトルのリストに記憶される。 In an embodiment of the present application, the motion compensation unit 82 predicts a candidate motion vector with respect to a reference PU of the PU to be processed when setting a list of candidate predicted motion vectors in merge mode. The motion vector may be stored in the list of motion vectors, and the predicted motion vector of the reference PU may be the initial motion vector of the reference PU that has not been updated, or the final motion of the reference PU that has been updated. It should be noted that it may be a vector. The updated final motion vector of the reference PU may be obtained based on the motion vector for the reference PU stored in the target storage space. For example, if the target storage space stores the MVD, the final motion vector for the reference PU is by adding the initial motion vector for the reference PU and the MVD stored in the target storage space. , Can be obtained. If the target storage space stores the final motion vector for the reference PU, the final motion vector for the reference PU can be obtained directly from the target storage space. .. The predicted motion vector for the reference PU may be stored in the list of candidate predicted motion vectors in the following way: the reference PU and the current PU are in the same CTB or CTB row range. If the initial motion vectors that have not been updated for the reference unit is stored in the list of predicted motion vector candidates; or if the reference PU and the current PU is not in the line range of the same CTB or CTB , The updated final motion vector for the reference unit is stored in the list of candidate predicted motion vectors.

逆量子化ユニット86は、ビットストリームで提供され且つエントロピー復号化ユニット80によって復号化される量子化変換係数に対して逆量子化(例えば、量子化解除)を実行する。逆量子化プロセスは、ビデオ・スライス内の各ビデオ・ブロックについてビデオ・エンコーダ20によって計算された量子化パラメータに基づいて量子化度を決定し、適用されるべき逆量子化度を同様に決定することを含むことが可能である。逆変換ユニット88は、変換係数に対して逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換プロセス)を実行し、ピクセル・ドメインにおいて残差ブロックを生成する。 The dequantization unit 86 performs dequantization (eg, dequantization) on the quantization conversion coefficients provided in the bitstream and decoded by the entropy decoding unit 80. The dequantization process determines the degree of quantization based on the quantization parameters calculated by the video encoder 20 for each video block in the video slice, as well as the degree of dequantization to be applied. It is possible to include that. The inverse transformation unit 88 performs an inverse transformation on the transformation coefficients (eg, an inverse DCT, an inverse integer transformation, or a geometrically similar inverse transformation process) to generate a residual block in the pixel domain.

動き補償ユニット82が、動きベクトル及び他のシンタックス要素に基づいて、現在のビデオ・ブロックの予測ブロックを生成した後に、ビデオ・デコーダ30は、逆変換ユニット88からの残差ブロックと、動き補償ユニット82によって生成された対応する予測ブロックとの加算演算を実行して、復号化されたビデオ・ブロックを形成する。加算器90は、加算演算を実行する1つ以上の構成要素である。必要な場合には、ブロッキング・アーチファクトを除去するために、復号化されたブロックに関してフィルタリングを実行するために、デブロッキング・フィルタが使用されてもよい。別のループ・フィルタ(復号化ループの中又は後)が、ピクセルを平滑化するために使用されてもよいし、又は別の方法でビデオ品質が改善されてもよい。次いで、所与のフレーム又はピクチャ内の復号化されたビデオ・ブロックは、参照ピクチャ・ストレージ92に記憶される。参照ピクチャ・ストレージ92は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャ・ストレージ92はまた、図1のディスプレイ装置32のようなディスプレイ装置で以後に提示される復号化されたビデオを記憶する。 After the motion compensation unit 82 has generated a predictive block of the current video block based on the motion vector and other syntax elements, the video decoder 30 has a residual block from the inverse conversion unit 88 and motion compensation. Performs an addition operation with the corresponding predictive block generated by the unit 82 to form the decoded video block. The adder 90 is one or more components that perform an addition operation. If desired, a deblocking filter may be used to perform filtering on the decoded blocks to remove blocking artifacts. Another loop filter (inside or after the decoding loop) may be used to smooth the pixels, or the video quality may be improved in another way. The decoded video block within a given frame or picture is then stored in reference picture storage 92. The reference picture storage 92 stores a reference picture used for subsequent motion compensation. The reference picture storage 92 also stores the decoded video that is subsequently presented in a display device such as the display device 32 of FIG.

上述したように、本願の技術は、例えばインター復号化に関連する。本願の技術は、本願で説明される任意のビデオ・デコーダによって実行されてもよく、ビデオ・デコーダは、図1ないし図3に示され説明される(例えば)ビデオ・エンコーダ20及びビデオ・デコーダ30を含むことは理解されるべきである。具体的には、実現可能な実装において、図2で説明された予測ユニット41は、ビデオ・データのブロックの符号化中にインター予測が実行される場合に、以下で説明される特定の技術を実行することができる。別の実現可能な実装において、図3で説明された予測ユニット81は、ビデオ・データのブロックの復号化中にインター予測が実行される場合に、以下で説明される特定の技術を実行することができる。従って、一般的な「ビデオ・エンコーダ」又は「ビデオ・デコーダ」に対する参照は、ビデオ・エンコーダ20、ビデオ・デコーダ30、又は別のビデオ符号化若しくは符号化ユニットを含んでもよい。 As mentioned above, the techniques of the present application relate, for example, to inter-decoding. The techniques of the present application may be performed by any video decoder described herein, the video decoders being (eg) the video encoder 20 and the video decoder 30 shown and described in FIGS. 1 to 3. It should be understood to include. Specifically, in a feasible implementation, the prediction unit 41 described in FIG. 2 implements the specific techniques described below when inter-prediction is performed while encoding a block of video data. Can be executed. In another feasible implementation, the prediction unit 81 described in FIG. 3 performs the specific technique described below when inter-prediction is performed during decoding of a block of video data. Can be done. Thus, a reference to a general "video encoder" or "video decoder" may include a video encoder 20, a video decoder 30, or another video coding or coding unit.

図4は、本願の実施形態によるインター予測モジュールの概略ブロック図である。インター予測モジュール121は、例えば、動き推定ユニット42及び動き補償ユニット44を含むことができる。PUとCUの間の関係は、ビデオ圧縮コーディング規格によって異なる。インター予測モジュール121は、複数のパーティショニング・パターンに従って、現在のCUをPUに区分けすることができる。例えば、インター予測モジュール121は、2N×2N、2N×N、N×2N、N×Nのパーティショニング・パターンに従って、現在のCUをPUに区分けすることができる。別の実施形態では、現在のCUは現在のPUである。これに限定されない。 FIG. 4 is a schematic block diagram of an inter-prediction module according to an embodiment of the present application. The inter-prediction module 121 can include, for example, a motion estimation unit 42 and a motion compensation unit 44. The relationship between PU and CU depends on the video compression coding standard. The inter-prediction module 121 can divide the current CU into PUs according to a plurality of partitioning patterns. For example, the inter-prediction module 121 can classify the current CU into PUs according to a 2Nx2N, 2NxN, Nx2N, NxN partitioning pattern. In another embodiment, the current CU is the current PU. Not limited to this.

インター予測モジュール121は、各PUに関して整数動き推定(integer motion estimation,IME)、次いで分数動き推定(fraction motion estimation,FME)を行うことができる。インター予測モジュール121がPUに対してIMEを実行する場合、インター予測モジュール121は、PUに対する参照ブロックについて1つ以上の参照ピクチャを探索することができる。PUに対する参照ブロックを発見した後に、インター予測モジュール121は、PUとPUに対する参照ブロックとの間の空間的変位を示す動きベクトルを、整数の精度で生成することができる。インター予測モジュール121がPUに対してFMEを実行する場合、インター予測モジュール121は、PUに対してIMEを実行することによって生成される動きベクトルを改善することができる。PUに関してFMEを実行することによって生成される動きベクトルは、サブ整数精度(例えば、1/2ピクセル精度又は1/4ピクセル精度)を有する可能性がある。PUの動きベクトルを生成した後に、インター予測モジュール121は、PUの動きベクトルを使用することによって、PUの予測ピクチャ・ブロックを生成することができる。 The inter-prediction module 121 can perform integer motion estimation (IME) and then fractional motion estimation (FME) for each PU. When the inter-prediction module 121 performs an IME on the PU, the inter-prediction module 121 can search for one or more reference pictures for the reference block for the PU. After discovering the reference block for the PU, the inter-prediction module 121 can generate a motion vector indicating the spatial displacement between the PU and the reference block for the PU with integer accuracy. When the inter-prediction module 121 executes the FME on the PU, the inter-prediction module 121 can improve the motion vector generated by executing the IME on the PU. The motion vector generated by running FME on the PU may have sub-integer accuracy (eg, 1/2 pixel accuracy or 1/4 pixel accuracy). After generating the motion vector of the PU, the inter-prediction module 121 can generate the predicted picture block of the PU by using the motion vector of the PU.

インター予測モジュール121がPUの動き情報をAMVPモードにおいてデコーダにシグナリングする幾つかの実現可能な実装において、インター予測モジュール121は、PUのための候補の予測された動きベクトルのリストを生成することができる。候補の予測された動きベクトルのリストは、1つ以上のオリジナル候補の予測された動きベクトルと、1つ以上のオリジナル候補の予測された動きベクトルから導出された1つ以上の追加候補の予測された動きベクトルとを含んでもよい。PUのための候補の予測された動きベクトルのリストを生成した後に、インター予測モジュール121は、候補の予測された動きベクトルのリストから、候補の予測された動きベクトルを選択し、PUのための動きベクトル差分(MVD)を生成することができる。PUに対するMVDは、選択された候補の予測された動きベクトルによって示される動きベクトルと、IME及びFMEによりPUに対して生成された動きベクトルとの間の差分を示すことができる。これらの実現可能な実装において、インター予測モジュール121は、候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を識別する、候補の予測された動きベクトルのインデックスを出力することができる。インター予測モジュール121は、PUのMVDを更に出力することができる。以下、本願の実施形態における図11においてアドバンスト動きベクトル予測(AMVP)モードの実現可能な実装を詳細に説明する。 In some feasible implementations in which the inter-prediction module 121 signals the PU motion information to the decoder in AMVP mode, the inter-prediction module 121 may generate a list of candidate predicted motion vectors for the PU. can. The list of predicted motion vectors of candidates is the predicted motion vector of one or more original candidates and the predicted motion vector of one or more additional candidates derived from the predicted motion vector of one or more original candidates. It may also include a motion vector. After generating a list of candidate predicted motion vectors for the PU, the inter-prediction module 121 selects the candidate predicted motion vectors from the list of candidate predicted motion vectors and for the PU. Motion vector differences (MVDs) can be generated. The MVD for the PU can indicate the difference between the motion vector represented by the predicted motion vector of the selected candidate and the motion vector generated for the PU by the IME and FME. In these feasible implementations, the inter-prediction module 121 indexes the candidate's predicted motion vectors to identify the position of the selected candidate's predicted motion vector in the list of candidate's predicted motion vectors. Can be output. The inter-prediction module 121 can further output the MVD of the PU. Hereinafter, a feasible implementation of the advanced motion vector prediction (AMVP) mode will be described in detail in FIG. 11 in the embodiment of the present application.

PUの動き情報を生成するために、PUに対してIME及びFMEを実行することに加えて、インター予測モジュール121は、更に、PUに対してマージ演算を実行してもよい。インター予測モジュール121がPUに対してマージ演算を実行する場合に、インター予測モジュール121は、PUのための候補の予測された動きベクトルのリストを生成することができる。PUのための候補の予測された動きベクトルのリストは、1つ以上のオリジナル候補の予測された動きベクトルと、1つ以上のオリジナル候補の予測された動きベクトルから導出された1つ以上の追加候補の予測された動きベクトルとを含んでもよい。候補の予測された動きベクトルのリスト内の1つ以上のオリジナル候補の予測された動きベクトルは、1つ以上の空間候補の予測された動きベクトルと時間候補の予測された動きベクトルとを含むことができる。空間候補の予測された動きベクトルは、現在のピクチャ内の別のPUに対する動き情報を示すことができる。時間候補の予測された動きベクトルは、現在のピクチャとは異なるピクチャ内の対応するPUの動き情報に基づいてもよい。時間候補の予測された動きベクトルは、時間的動きベクトル予測子(temporal motion vector predictor,TMVP)と言及される場合もある。 In addition to executing IME and FME on the PU to generate motion information on the PU, the inter-prediction module 121 may further perform a merge operation on the PU. When the inter-prediction module 121 performs a merge operation on the PU, the inter-prediction module 121 can generate a list of candidate predicted motion vectors for the PU. The list of candidate predicted motion vectors for PU is one or more original candidate predicted motion vectors and one or more additions derived from one or more original candidate predicted motion vectors. It may include a candidate's predicted motion vector. The predicted motion vector of one or more original candidates in the list of predicted motion vectors of the candidate includes the predicted motion vector of one or more spatial candidates and the predicted motion vector of the time candidate. Can be done. The predicted motion vector of the spatial candidate can indicate motion information for another PU in the current picture. The predicted motion vector of the time candidate may be based on the motion information of the corresponding PU in a picture different from the current picture. The predicted motion vector of a time candidate is sometimes referred to as a temporal motion vector predictor (TMVP).

候補の予測された動きベクトルのリストを生成した後に、インター予測モジュール121は、候補の予測された動きベクトルのリストから、1つの候補の予測された動きベクトルを選択することができる。次に、インター予測モジュール121は、PUの動き情報によって示される参照ブロックに基づいて、PUの予測ピクチャ・ブロックを生成することができる。マージ・モードでは、PUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。図10は、マージ・モードの例のフローチャートである。 After generating the list of candidate predicted motion vectors, the inter-prediction module 121 can select one candidate predicted motion vector from the list of candidate predicted motion vectors. Next, the inter-prediction module 121 can generate a predictive picture block of the PU based on the reference block indicated by the motion information of the PU. In merge mode, the motion information of the PU may be the same as the motion information indicated by the predicted motion vector of the selected candidate. FIG. 10 is a flowchart of an example of the merge mode.

IME及びFMEによりPUの予測ピクチャ・ブロックを生成し、マージ演算によりPUの予測ピクチャ・ブロックを生成した後に、インター予測モジュール121は、FME演算を実行することによって生成された予測ピクチャ・ブロック、又はマージ演算を実行することによって生成された予測ピクチャ・ブロックを選択することができる。幾つかの実現可能な実装において、インター予測モジュール121は、FME演算を実行することによって生成された予測ピクチャ・ブロックと、マージ演算を実行することによって生成された予測ピクチャ・ブロックとのレート歪コストを分析することによって、PUの予測ピクチャ・ブロックを選択することができる。 After the IME and FME generate the predicted picture block of the PU and the merge operation to generate the predicted picture block of the PU, the inter-prediction module 121 may perform the predicted picture block or the predicted picture block generated by performing the FME operation. You can select the predicted picture blocks generated by performing the merge operation. In some feasible implementations, the inter-prediction module 121 has a rate distortion cost between the predicted picture block generated by performing the FME operation and the predicted picture block generated by performing the merge operation. By analyzing the, the predicted picture block of the PU can be selected.

インター予測モジュール121が、各パーティショニング・パターンに従って現在のCUを区分けすることによって生成されたPUの予測ピクチャ・ブロックを選択した後に(幾つかの実装では、コーディング・ツリー・ユニットCTUがCUに区分けされた後であり、CUはより小さなPUに更には区分けされず、この場合、PUはCUと同等である)、インター予測モジュール121は、現在のCUに対するパーティショニング・パターンを選択することができる。幾つかの実装において、インター予測モジュール121は、各パーティショニング・パターンに従って現在のCUを区分けすることによって生成されたPUの選択された予測ピクチャ・ブロックのレート歪コストを分析することによって、現在のCUのためのパーティショニング・パターンを選択することができる。インター予測モジュール121は、選択されたパーティショニング・パターンに属するPUに関連付けられた予測ピクチャ・ブロックを、残差生成モジュール102に出力することができる。インター予測モジュール121は、選択されたパーティショニング・パターンに属するPUの動き情報のシンタックス要素を、エントロピー符号化モジュール116に出力することができる。 After the inter-prediction module 121 selects the predicted picture block of the PU generated by partitioning the current CU according to each partitioning pattern (in some implementations, the coding tree unit CTU divides it into CUs). After that, the CU is not further subdivided into smaller PUs, in which case the PU is equivalent to the CU), the inter-prediction module 121 can select the partitioning pattern for the current CU. .. In some implementations, the inter-prediction module 121 analyzes the current rate distortion cost of the selected predicted picture block of the PU generated by partitioning the current CU according to each partitioning pattern. You can select the partitioning pattern for the CU. The inter-prediction module 121 can output the prediction picture block associated with the PU belonging to the selected partitioning pattern to the residual generation module 102. The inter-prediction module 121 can output the syntax element of the motion information of the PU belonging to the selected partitioning pattern to the entropy coding module 116.

図4に示す概略図では、インター予測モジュール121は、IMEモジュール180Aないし180N(「IMEモジュール180」と総称する)、FMEモジュール182Aないし182N(「FMEモジュール182」と総称する)、モジュール184Aないし184N(「マージ・モジュール184」と総称する)、PUパターン意思決定モジュール186Aないし186N(「PUパターン意思決定モジュール186」と総称する)、及びCUパターン意思決定モジュール188(CTU対CUパターン意思決定プロセスを更に実行してもよい)を含む。 In the schematic shown in FIG. 4, the inter-prediction module 121 includes IME modules 180A to 180N (collectively referred to as “IME module 180”), FME modules 182A to 182N (collectively referred to as “FME module 182”), and modules 184A to 184N. (Collectively referred to as "merge module 184"), PU pattern decision modules 186A to 186N (collectively referred to as "PU pattern decision module 186"), and CU pattern decision module 188 (CTU vs. CU pattern decision process). May be further executed).

IMEモジュール180、FMEモジュール182、及びマージ・モジュール184はそれぞれIME演算、FME演算、及び現在のCUのPUに関するマージ演算を実行することができる。図4に示す概略図では、インター予測モジュール121は、CUの各パーティショニング・パターンにおける各PUについて、別個のIMEモジュール180、別個のFMEモジュール182、及び別個のマージ・モジュール184を含むものとして説明される。別の実現可能な実装では、インター予測モジュール121は、CUの各パーティショニング・パターンにおける各PUについて、個別のIMEモジュール180も、個別のFMEモジュール182も、個別のマージ・モジュール184も含まない。 The IME module 180, FME module 182, and merge module 184 can perform IME operations, FME operations, and merge operations on the PU of the current CU, respectively. In the schematic shown in FIG. 4, the inter-prediction module 121 is described as including a separate IME module 180, a separate FME module 182, and a separate merge module 184 for each PU in each partitioning pattern of the CU. Will be done. In another feasible implementation, the inter-prediction module 121 does not include a separate IME module 180, a separate FME module 182, or a separate merge module 184 for each PU in each partitioning pattern of the CU.

図4の概略図に示すように、IMEモジュール180A、FMEモジュール182A、及びマージ・モジュール184Aはそれぞれ、2N×2Nのパーティショニング・パターンに従ってCUを区分けすることによって生成されたPUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Aは、IMEモジュール180A、FMEモジュール182A、及びマージ・モジュール184Aによって生成される予測ピクチャ・ブロックの1つを選択することができる。 As shown in the schematic of FIG. 4, the IME module 180A, the FME module 182A, and the merge module 184A each have an IME for a PU generated by partitioning the CU according to a 2N × 2N partitioning pattern. Operations, FME operations, and merge operations can be performed. The PU mode decision module 186A can select one of the predictive picture blocks generated by the IME module 180A, the FME module 182A, and the merge module 184A.

IMEモジュール180B、FMEモジュール182B、及びマージ・モジュール184Bはそれぞれ、N×2Nのパーティショニング・パターンに従ってCUを区分けすることによって生成された左PUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Bは、IMEモジュール180B、FMEモジュール182B、及びマージ・モジュール184Bによって生成される予測ピクチャ・ブロックの1つを選択することができる。 The IME module 180B, FME module 182B, and merge module 184B each perform IME, FME, and merge operations on the left PU generated by partitioning the CU according to an N × 2N partitioning pattern. Can be executed. The PU mode decision module 186B can select one of the predictive picture blocks generated by the IME module 180B, the FME module 182B, and the merge module 184B.

IMEモジュール180C、FMEモジュール182C、及びマージ・モジュール184Cはそれぞれ、N×2Nのパーティショニング・パターンに従ってCUを区分けすることによって生成された右PUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Cは、IMEモジュール180C、FMEモジュール182C、及びマージ・モジュール184Cによって生成される予測ピクチャ・ブロックの1つを選択することができる。 The IME module 180C, FME module 182C, and merge module 184C each perform IME, FME, and merge operations on the right PU generated by partitioning the CU according to the N × 2N partitioning pattern. Can be executed. The PU mode decision module 186C can select one of the predictive picture blocks generated by the IME module 180C, the FME module 182C, and the merge module 184C.

IMEモジュール180N、FMEモジュール182N、及びマージ・モジュール184はそれぞれ、N×Nのパーティショニング・パターンに従ってCUを区分けすることによって生成された右下PUに対して、IME演算、FME演算、及びマージ演算を実行することができる。PUモード意思決定モジュール186Nは、IMEモジュール180N、FMEモジュール182N、及びマージ・モジュール184Nによって生成される予測ピクチャ・ブロックの1つを選択することができる。 The IME module 180N, the FME module 182N, and the merge module 184, respectively, perform an IME operation, an FME operation, and a merge operation on the lower right PU generated by partitioning the CU according to the N × N partitioning pattern. Can be executed. The PU mode decision module 186N can select one of the predictive picture blocks generated by the IME module 180N, the FME module 182N, and the merge module 184N.

PUパターン意思決定モジュール186は、複数の可能な予測ピクチャ・ブロックのレート歪コストを分析することによって予測ピクチャ・ブロックを選択し、所与の復号化シナリオにおいて最適なレート歪コストを提供する予測ピクチャ・ブロックを選択することができる。例えば、限られた帯域幅を有するアプリケーションに対しては、PUモード意思決定モジュール186は、圧縮比が増やされた予測ピクチャ・ブロックを好む可能性があり、他のアプリケーションに対しては、PUモード意思決定モジュール186は、再構成されたビデオの品質が改善される予測ピクチャ・ブロックを好む可能性がある。PUパターン意思決定モジュール186が現在のCUのPUに対する予測ピクチャ・ブロックを選択した後に、CUパターン意思決定モジュール188は、現在のCUに対するパーティショニング・パターンを選択し、選択されたパーティショニング・パターンに属するPUに対する予測ピクチャ・ブロック及び動き情報を出力する。 The PU pattern decision module 186 selects a predictive picture block by analyzing the rate distortion cost of multiple possible predictive picture blocks and provides the optimal rate distortion cost for a given decoding scenario. -You can select a block. For example, for applications with limited bandwidth, the PU mode decision module 186 may prefer predictive picture blocks with increased compression ratios, and for other applications PU mode. The decision module 186 may prefer predictive picture blocks that improve the quality of the reconstructed video. After the PU pattern decision module 186 selects the predicted picture block for the PU of the current CU, the CU pattern decision module 188 selects the partitioning pattern for the current CU to the selected partitioning pattern. Outputs the predicted picture block and motion information for the PU to which it belongs.

図5は、本願の実施形態によるコーディング・ユニットとコーディング・ユニットに関連付けられた隣接するピクチャ・ブロックとの一例の概略図であり、CU250とCU250に関連付けられた例示的な候補の予測された動きベクトル位置252Aないし252Eを示す概略図である。本願では、候補の予測された動きベクトル位置252Aないし252Eは、まとめて候補の予測された動きベクトル位置252と言及される場合がある。候補の予測された動きベクトル位置252は、CU250と同じピクチャ内にある空間候補の予測された動きベクトルを表す。候補の予測された動きベクトル位置252AはCU250の左にある。候補の予測された動きベクトル位置252BはCU250の上にある。候補の予測された動きベクトル位置252CはCU250の右上にある。候補の予測された動きベクトル位置252DはCU250の左下にある。候補の予測された動きベクトル位置252EはCU250の左上にある。図8は、インター予測モジュール121及び動き補償モジュール162が、候補の予測された動きベクトルのリストを生成することができる方法の実装例を示す。以下、インター予測モジュール121に関連して実装が説明される。しかしながら、動き補償モジュール162が、同じ技術を実装し、従って同じ候補の予測された動きベクトルのリストを生成してもよいことが理解されるべきである。本願のこの実施形態では、候補の予測された動きベクトル位置が位置するピクチャ・ブロックは、参照ブロックと呼ばれる。更に、参照ブロックは、空間参照ブロック、例えば252Aないし252Eが位置するピクチャ・ブロックを含み、時間参照ブロック、例えば同一位置にある(co−located)ブロックが位置するピクチャ・ブロック、又は同一位置にあるブロックの空間的に隣接するピクチャ・ブロックを含む。 FIG. 5 is a schematic diagram of an example of a coding unit and adjacent picture blocks associated with the coding unit according to an embodiment of the present application, with predicted movements of the CU 250 and exemplary candidates associated with the CU 250. It is a schematic diagram which shows the vector positions 252A to 252E. In the present application, the candidate's predicted motion vector positions 252A to 252E may be collectively referred to as the candidate's predicted motion vector position 252. The candidate's predicted motion vector position 252 represents the predicted motion vector of the spatial candidate in the same picture as the CU 250. The candidate's predicted motion vector position 252A is to the left of the CU250. The candidate's predicted motion vector position 252B is above the CU250. The candidate's predicted motion vector position 252C is in the upper right corner of the CU250. The candidate's predicted motion vector position 252D is at the bottom left of the CU250. The candidate's predicted motion vector position 252E is at the top left of the CU250. FIG. 8 shows an implementation example of how the inter-prediction module 121 and motion compensation module 162 can generate a list of candidate predicted motion vectors. Hereinafter, the implementation will be described in relation to the inter-prediction module 121. However, it should be understood that the motion compensation module 162 may implement the same technique and thus generate a list of predicted motion vectors of the same candidate. In this embodiment of the present application, the picture block in which the predicted motion vector position of the candidate is located is referred to as a reference block. Further, the reference block includes a spatial reference block, eg, a picture block in which 252A to 252E are located, and a time reference block, eg, a picture block in which a co-located block is located, or is co-located. Contains picture blocks that are spatially adjacent to each other.

図6は、本願の実施形態による、候補の予測された動きベクトルのリストを構成するための例示的なフローチャートである。図6の技術は、5つの候補の予測された動きベクトルを含むリストに基づいて説明されるが、本願で説明される技術は、代替的に、別のサイズのリストと共に使用されてもよい。5つの候補の予測された動きベクトルはそれぞれインデックス(例えば、0ないし4)を有することができる。図6の技術は一般的なビデオ・デコーダに基づいて説明される。一般的なビデオ・デコーダは、例えば、ビデオ・エンコーダ(例えば、ビデオ・エンコーダ20)又はビデオ・デコーダ(例えば、ビデオ・デコーダ30)であってもよい。 FIG. 6 is an exemplary flow chart for constructing a list of candidate predicted motion vectors according to an embodiment of the present application. Although the technique of FIG. 6 is described on the basis of a list containing five candidate predicted motion vectors, the technique described herein may optionally be used with a list of different sizes. Each of the five candidate predicted motion vectors can have an index (eg, 0-4). The technique of FIG. 6 will be described on the basis of a typical video decoder. A typical video decoder may be, for example, a video encoder (eg, video encoder 20) or a video decoder (eg, video decoder 30).

図6の実装に従って、候補の予測された動きベクトルのリストを再構成するために、ビデオ・デコーダは、先ず4つの空間候補を考察し(602)、各々の空間候補は、1つの予測された動きベクトルに対応し、4つの空間候補の予測された動きベクトルは、候補の予測された動きベクトル位置252A、252B、252C、252Dを含む可能性がある。4つの空間候補の予測された動きベクトルは、現在のCU(例えば、CU250)と同じピクチャ内にある4つのPUの動き情報に対応する。言い換えると、4つの空間候補の予測された動きベクトルは、4つのPUの予測された動きベクトルである。本願のこの実施形態では、4つの空間候補の予測された動きベクトルを取得する場合に、ビデオ・デコーダは先ず4つのPUを決定する必要がある。例えば、ビデオ・デコーダが4つのPUのうちの1つを決定するプロセスは、次のようなプロセスであってもよい:PUと現在のCUが同一のCTB又はCTBの行レンジにある場合には、PUの更新されていない初期の動きベクトルが、PUに対応する空間候補の予測された動きベクトルとして使用されるか、又は、PUと現在のCUが同一のCTB又はCTBの行レンジにない場合には、PUの更新された最終的な動きベクトルが、PUに対応する空間候補の予測された動きベクトルとして使用される。PUのための更新された最終的な動きベクトルは、PUが記憶されているターゲット・ストレージ空間から取得されることができる。この場合、ターゲット・ストレージ空間は、更新された最終的な動きベクトルを記憶する。幾つかの実施形態では、ターゲット・ストレージ空間はMVDを記憶する。この場合、PUのための更新された最終的な動きベクトルは、代替的に、ターゲット・ストレージ空間に記憶されたMVD及びPUのための更新されていない初期の動きベクトルに基づいて取得されてもよい。 In order to reconstruct the list of predicted motion vectors of the candidates according to the implementation of FIG. 6, the video decoder first considers four spatial candidates (602), and each spatial candidate has one predicted. Corresponding to the motion vector, the predicted motion vector of the four spatial candidates may include the candidate's predicted motion vector positions 252A, 252B, 252C, 252D. The predicted motion vectors of the four spatial candidates correspond to the motion information of the four PUs in the same picture as the current CU (eg, CU250). In other words, the predicted motion vectors of the four spatial candidates are the predicted motion vectors of the four PUs. In this embodiment of the present application, the video decoder must first determine the four PUs when acquiring the predicted motion vectors of the four spatial candidates. For example, the process by which the video decoder determines one of the four PUs may be as follows: if the PU and the current CU are in the same CTB or CTB row range: , The unupdated initial motion vector of the PU is used as the predicted motion vector of the spatial candidate corresponding to the PU, or the PU and the current CU are not in the same CTB or CTB row range. The updated final motion vector of the PU is used as the predicted motion vector of the spatial candidates corresponding to the PU. The updated final motion vector for the PU can be obtained from the target storage space where the PU is stored. In this case, the target storage space stores the updated final motion vector. In some embodiments, the target storage space stores the MVD. In this case, the updated final motion vector for the PU may instead be obtained based on the MVD stored in the target storage space and the unupdated initial motion vector for the PU. good.

ビデオ・デコーダは、リスト内の4つの空間候補の予測された動きベクトルを、指定された順序で考慮することができる。例えば、候補の予測された動きベクトル位置252Aが最初に考慮されてもよい。候補の予測された動きベクトル位置252Aが利用可能である場合、候補の予測された動きベクトル位置252Aはインデックス0に割り当てられてもよい。候補の予測された動きベクトル位置252Aが利用不可能である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Aを、候補の予測された動きベクトルのリストに追加しない可能性がある。候補の予測された動きベクトル位置は、様々な理由で利用不可能であるかもしれない。例えば、候補の予測された動きベクトル位置が現在のピクチャに無い場合、候補の予測された動きベクトル位置は利用不可能である可能性がある。別の実現可能な実装において、候補の予測された動きベクトル位置がイントラ予測を経る場合、候補の予測された動きベクトル位置は利用不可能である可能性がある。別の実現可能な実装において、候補の予測された動きベクトル位置が、現在のCUに対応するスライスとは異なるスライスにある場合、候補の予測された動きベクトル位置は利用不可能である可能性がある。 The video decoder can consider the predicted motion vectors of the four spatial candidates in the list in a specified order. For example, the candidate's predicted motion vector position 252A may be considered first. If the candidate predicted motion vector position 252A is available, the candidate predicted motion vector position 252A may be assigned to index 0. If the candidate predicted motion vector position 252A is not available, the video decoder may not add the candidate predicted motion vector position 252A to the list of candidate predicted motion vectors. The candidate's predicted motion vector position may not be available for a variety of reasons. For example, if the candidate's predicted motion vector position is not in the current picture, the candidate's predicted motion vector position may not be available. In another feasible implementation, if the candidate's predicted motion vector position goes through intra-prediction, the candidate's predicted motion vector position may not be available. In another feasible implementation, if the candidate's predicted motion vector position is in a different slice than the slice corresponding to the current CU, the candidate's predicted motion vector position may not be available. be.

候補の予測された動きベクトル位置252Aを考慮した後、ビデオ・デコーダは候補の予測された動きベクトル位置252Bを考慮してもよい。候補の予測された動きベクトル位置252Bが利用可能であり、候補の予測された動きベクトル位置252Aとは異なる場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Bを、候補の予測された動きベクトルのリストに追加してもよい。この特定の文脈では、用語「同一」又は「異なる」は、候補の予測された動きベクトル位置が同一又は異なる動き情報に関連付けられることを意味する。従って、2つの候補の予測された動きベクトル位置が同じ動き情報を有する場合、2つの候補の予測された動きベクトル位置は同じであると考えられ、又は2つの候補の予測された動きベクトル位置が異なる動き情報を有する場合、2つの候補の予測された動きベクトル位置は異なると考えられる。候補の予測された動きベクトル位置252Aが利用不可能である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Bを、インデックス0に割り当てる可能性がある。候補の予測された動きベクトル位置252Aが利用可能である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252を、インデックス1に割り当てる可能性がある。候補の予測された動きベクトル位置252Bが利用不可能であるか、又は候補の予測された動きベクトル位置252Aと同じである場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Bをスキップし、候補の予測された動きベクトル位置252Bを、候補の予測された動きベクトルのリストに追加しない。 After considering the candidate predicted motion vector position 252A, the video decoder may consider the candidate predicted motion vector position 252B. If the candidate's predicted motion vector position 252B is available and different from the candidate's predicted motion vector position 252A, the video decoder will place the candidate's predicted motion vector position 252B as the candidate's predicted motion vector position 252B. It may be added to the list of motion vectors. In this particular context, the terms "same" or "different" mean that a candidate's predicted motion vector position is associated with the same or different motion information. Therefore, if the predicted motion vector positions of the two candidates have the same motion information, then the predicted motion vector positions of the two candidates are considered to be the same, or the predicted motion vector positions of the two candidates are If they have different motion information, the predicted motion vector positions of the two candidates are considered to be different. If the candidate predicted motion vector position 252A is not available, the video decoder may assign the candidate predicted motion vector position 252B to index 0. If the predicted motion vector position 252A of the candidate is available, the video decoder, the predicted motion vector position 252 B of the candidate, it is possible to assign the index 1. If the candidate's predicted motion vector position 252B is unavailable or is the same as the candidate's predicted motion vector position 252A, the video decoder skips the candidate's predicted motion vector position 252B. , Do not add the candidate's predicted motion vector position 252B to the list of candidate's predicted motion vectors.

同様に、ビデオ・デコーダは、候補の予測された動きベクトル位置252Cを考慮して、候補の予測された動きベクトル位置252Cをリストに追加するかどうかを決定する。候補の予測された動きベクトル位置252Cが利用可能であり、候補の予測された動きベクトル位置252B及び252Aと異なる場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Cを、次の利用可能なインデックスに割り当てることができる。候補の予測された動きベクトル位置252Cが利用不可能であるか、又は候補の予測された動きベクトル位置252A及び252Bの少なくとも1つと同一である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Cを、候補の予測された動きベクトルのリストに追加しない。次に、ビデオ・デコーダは、候補の予測された動きベクトル位置252Dを考慮する。候補の予測された動きベクトル位置252Dが利用可能であり、候補の予測された動きベクトル位置252A、252B、及び252Cと異なる場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Dを、次の利用可能なインデックスに割り当てることができる。候補の予測された動きベクトル位置252Dが利用不可能であるか、又は候補の予測された動きベクトル位置252A、252B、及び252Cの少なくとも1つと同一である場合、ビデオ・デコーダは、候補の予測された動きベクトル位置252Dを、候補の予測された動きベクトルのリストに追加しない。前述の実装では、候補の予測された動きベクトル252Aないし252Dを考慮して、候補の予測された動きベクトル252Aないし252Dが、候補の予測された動きベクトルのリストに追加されるか否かを決定する例が、概略的に説明されている。しかしながら、幾つかの実装において、候補の予測された動きベクトル252Aないし252Dの全てが、先ず候補の予測された動きベクトルのリストに追加されてもよく、次いで、反復的な候補の予測された動きベクトル位置が、候補の予測された動きベクトルのリストから除去される。 Similarly, the video decoder takes into account the candidate predicted motion vector position 252C and decides whether to add the candidate predicted motion vector position 252C to the list. If a candidate predicted motion vector position 252C is available and is different from the candidate predicted motion vector positions 252B and 252A, the video decoder will use the candidate predicted motion vector position 252C as the next available. Can be assigned to various indexes. If the candidate's predicted motion vector position 252C is not available or is identical to at least one of the candidate's predicted motion vector positions 252A and 252B, the video decoder will perform the candidate's predicted motion vector. Do not add position 252C to the list of candidate predicted motion vectors. The video decoder then considers the candidate predicted motion vector position 252D. If a candidate predicted motion vector position 252D is available and is different from the candidate predicted motion vector positions 252A, 252B, and 252C, the video decoder sets the candidate predicted motion vector position 252D to the next. Can be assigned to the available indexes of. If the candidate's predicted motion vector position 252D is not available or is identical to at least one of the candidate's predicted motion vector positions 252A, 252B, and 252C, the video decoder predicts the candidate. The motion vector position 252D is not added to the list of candidate predicted motion vectors. In the above implementation, the candidate predicted motion vectors 252A to 252D are considered to determine whether the candidate predicted motion vectors 252A to 252D are added to the list of candidate predicted motion vectors. An example of how to do this is outlined. However, in some implementations, all of the candidate predicted motion vectors 252A to 252D may first be added to the list of candidate predicted motion vectors, and then iterative candidate predicted motion. The vector position is removed from the list of candidate predicted motion vectors.

ビデオ・デコーダが最初の4つの空間候補の予測された動きベクトルを考慮した後、候補の予測された動きベクトルのリストは、4つの空間候補の予測された動きベクトルを含む可能性があり、或いは4つより少ない空間候補の予測された動きベクトルを含む可能性がある。リストが4つの空間候補の予測された動きベクトルを含む場合(604でyes)、即ち、4つの空間候補を含む場合、ビデオ・デコーダは時間候補を考慮し(606)、各々の時間候補は1つの候補の予測された動きベクトルに対応する。時間候補の予測された動きベクトルは、現在のピクチャとは異なるピクチャの同一位置にあるPUの動き情報に対応する可能性がある。時間候補の予測された動きベクトルが利用可能であり、最初の4つの空間候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、インデックス4に割り当てる。時間候補の予測された動きベクトルが利用不可能であるか、又は最初の4つの空間候補の予測された動きベクトルの1つと同一である場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない。従って、ビデオ・デコーダが時間候補の予測された動きベクトルを考慮した後(606)、候補の予測された動きベクトルのリストは、5つの候補の予測された動きベクトル(602で考慮された最初の4つの空間候補の予測された動きベクトル、及び604で考慮された時間候補の予測された動きベクトル)を含む可能性があり、或いは4つの候補の予測された動きベクトル(602で考慮された最初の4つの空間候補の予測された動きベクトル)を含む可能性がある。候補の予測された動きベクトルのリストが、5つの候補の予測された動きベクトルを含む場合(608においてyes)、即ち5つの候補を含む場合、ビデオ・デコーダはリストの構築を完了する。 After the video decoder considers the predicted motion vectors of the first four spatial candidates, the list of predicted motion vectors of the candidates may contain the predicted motion vectors of the four spatial candidates, or It may contain predicted motion vectors of less than four spatial candidates. If the list contains the predicted motion vectors of four spatial candidates (yes at 604), i.e., the video decoder considers the time candidates (606), and each time candidate is one. Corresponds to the predicted motion vector of one candidate. The predicted motion vector of the time candidate may correspond to the motion information of the PU at the same position in the picture different from the current picture. If the predicted motion vector of the time candidate is available and different from the predicted motion vector of the first four spatial candidates, the video decoder assigns the predicted motion vector of the time candidate to index 4. If the predicted motion vector of the time candidate is not available or is identical to one of the predicted motion vectors of the first four spatial candidates, the video decoder will use the predicted motion vector of the time candidate. Is not added to the list of candidate predicted motion vectors. Thus, after the video decoder considers the predicted motion vectors of the time candidates (606), the list of predicted motion vectors of the candidates is the first of the five predicted motion vectors considered in 602. It may contain the predicted motion vectors of the four spatial candidates and the predicted motion vectors of the time candidates considered in 604), or the first predicted motion vectors of the four candidates considered in 602. Predicted motion vectors of the four spatial candidates). If the list of candidate predicted motion vectors contains five candidate predicted motion vectors (yes in 608), i.e., the video decoder completes the construction of the list.

候補の予測された動きベクトルのリストが、4つの候補の予測された動きベクトルを含む場合(608においてNo)、ビデオ・デコーダは、第5の空間候補の予測された動きベクトルを考慮することができる(610)。第5の空間候補の予測された動きベクトルは、(例えば)候補の予測された動きベクトル位置252Eに対応してもよい。位置252Eに対応する候補の予測された動きベクトルが利用可能であり、位置252A、252B、252C、及び252Dに対応する候補の予測された動きベクトルとは異なる場合、ビデオ・デコーダは、第5の空間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、第5の空間候補の予測された動きベクトルを、インデックス4に割り当てることができる。位置252Eに対応する候補の予測された動きベクトルが利用不可能である場合、又は候補の予測された動きベクトル位置252A、252B、252C、及び252Dに対応する候補の予測された動きベクトルのうちの1つと同一である場合、ビデオ・デコーダは、位置252に対応する候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない可能性がある。従って、第5の空間候補の予測された動きベクトルが考慮された後(610)、リストは、5つの候補の予測された動きベクトル(602で考慮された最初の4つの空間候補の予測された動きベクトル、及び610で考慮された第5の空間候補の予測された動きベクトル)を含む可能性があり、或いは4つの候補の予測された動きベクトル(602で検討された最初の4つの空間候補の予測された動きベクトル)を含む可能性がある。 If the list of candidate predicted motion vectors contains four candidate predicted motion vectors (No in 608), the video decoder may consider the fifth spatial candidate's predicted motion vector. You can (610). The predicted motion vector of the fifth spatial candidate may (eg) correspond to the predicted motion vector position 252E of the candidate. If a candidate predicted motion vector corresponding to position 252E is available and is different from the candidate predicted motion vector corresponding to positions 252A, 252B, 252C, and 252D, the video decoder is a fifth. The predicted motion vector of the spatial candidate can be added to the list of predicted motion vectors of the candidate, and the predicted motion vector of the fifth spatial candidate can be assigned to the index 4. Candidate predicted motion vectors corresponding to position 252E are not available, or candidate predicted motion vectors of the candidate predicted motion vectors corresponding to positions 252A, 252B, 252C, and 252D . If the one that is the same, the video decoder, the predicted motion vector candidate corresponding to the position 252 may not add to the list of predicted motion vector candidates. Therefore, after the predicted motion vectors of the fifth spatial candidate are considered (610), the list predicts the predicted motion vectors of the five candidates (the first four spatial candidates considered in 602). It may contain motion vectors, and the predicted motion vectors of the fifth spatial candidate considered in 610, or the predicted motion vectors of four candidates (the first four spatial candidates examined in 602). Predicted motion vector) may be included.

候補の予測された動きベクトルのリストが5つの候補を含む場合(612においてyes)、即ち、5つの候補の予測された動きベクトルを含む場合、ビデオ・デコーダは候補の予測された動きベクトルのリストの生成を完了する。候補の予測された動きベクトルのリストが4つの候補の予測された動きベクトルを含む場合(612においてNo)、ビデオ・デコーダは、リストが5つの候補を含むまで(616でyes)、即ち5つの候補の予測された動きベクトルを含むまで、マニュアルで生成された候補の予測された動きベクトルを追加する(614)。 If the list of candidate predicted motion vectors contains 5 candidates (yes in 612), that is, if it contains 5 candidate predicted motion vectors, the video decoder will list the candidate predicted motion vectors. Completes the generation of. If the list of candidate predicted motion vectors contains four candidate predicted motion vectors (No at 612), the video decoder will run until the list contains five candidates (yes at 616), i.e. five. Add the manually generated candidate predicted motion vectors until they contain the candidate predicted motion vectors (614).

ビデオ・デコーダが最初の4つの空間候補の予測された動きベクトルを考慮した後に、リストが4つより少ない空間候補の予測された動きベクトルを含む場合(604においてNo)、ビデオ・デコーダは、第5の空間候補を考慮し(618)、即ち、第5の空間候補の予測された動きベクトルを考慮することができる。第5の空間候補の予測された動きベクトルは、(例えば)候補の予測された動きベクトル位置252Eに対応してもよい。位置252Eに対応する候補の予測された動きベクトルが利用可能であり、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、第5の空間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、第5の空間候補の予測された動きベクトルを、次の利用可能なインデックスに割り当てることができる。位置252Eに対応する候補の予測された動きベクトルが利用不可能であるか、又は候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルの1つと同一である場合、ビデオ・デコーダは、位置252Eに対応する候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない可能性がある。次いで、ビデオ・デコーダは、時間的な候補、即ち、時間的な予測された動きベクトルを考慮することができる(620)。時間候補の予測された動きベクトルが利用可能であり、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、時間候補の予測された動きベクトルを、次の利用可能インデックスに割り当てることができる。時間候補の予測された動きベクトルが利用不可能であるか、又は候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルの1つと同一である場合、ビデオ・デコーダは、時間候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加しない可能性がある。 If the list contains less than four predicted motion vectors of spatial candidates (No in 604) after the video decoder considers the predicted motion vectors of the first four spatial candidates, then the video decoder is the first. The 5 spatial candidates can be considered (618), i.e. the predicted motion vector of the 5th spatial candidate can be considered. The predicted motion vector of the fifth spatial candidate may (eg) correspond to the predicted motion vector position 252E of the candidate. If the candidate predicted motion vector corresponding to position 252E is available and is different from the candidate predicted motion vector present in the list of candidate predicted motion vectors, the video decoder is in the fifth space. Candidate predicted motion vectors can be added to the list of candidate predicted motion vectors and the fifth spatial candidate predicted motion vector can be assigned to the next available index. If the candidate predicted motion vector corresponding to position 252E is not available or is identical to one of the candidate predicted motion vectors present in the candidate's list of predicted motion vectors, video. The decoder may not add the candidate predicted motion vector corresponding to position 252E to the list of candidate predicted motion vectors. The video decoder can then consider temporal candidates, i.e., temporally predicted motion vectors (620). If the predicted motion vector of the time candidate is available and different from the predicted motion vector of the candidate present in the list of predicted motion vectors of the candidate, the video decoder will display the predicted motion vector of the time candidate. Can be added to the list of candidate predicted motion vectors and the time candidate predicted motion vector can be assigned to the next available index. If the predicted motion vector of the time candidate is unavailable or is identical to one of the predicted motion vectors of the candidate present in the list of predicted motion vectors of the candidate, the video decoder will run the time. Candidate predicted motion vectors may not be added to the list of candidate predicted motion vectors.

第5の空間候補の予測された動きベクトル(618)と時間候補の予測された動きベクトル(620)とが考慮された後に、候補の予測された動きベクトルのリストが、第5の空間候補の予測された動きベクトルを含む場合(622でyes)、ビデオ・デコーダは候補の予測された動きベクトルのリストの生成を完了する。候補の予測された動きベクトルのリストが、5つより少ない候補の予測された動きベクトルを含む場合(622においてNo)、ビデオ・デコーダは、リストが5つの候補の予測された動きベクトルを含むまで(616においてYes)、マニュアルで生成された候補の予測された動きベクトルを追加する(614)。 After the predicted motion vector (618) of the fifth space candidate and the predicted motion vector (620) of the time candidate are considered, the list of predicted motion vectors of the candidate is the fifth space candidate. If it contains a predicted motion vector (yes at 622), the video decoder completes the generation of a list of candidate predicted motion vectors. If the list of candidate predicted motion vectors contains less than 5 candidate predicted motion vectors (No at 622), the video decoder will continue until the list contains 5 candidate predicted motion vectors. (Yes at 616), add the predicted motion vector of the manually generated candidate (614).

本願の技術によれば、追加のマージ候補の予測された動きベクトルは、空間候補の予測された動きベクトル及び時間候補の予測された動きベクトルの後に、マニュアルで生成されることが可能であり、その結果、マージ候補の予測された動きベクトルのリストのサイズは、常に、指定された量のマージ候補の予測された動きベクトル(例えば、上述した図6の実現可能な実装における5つの候補の予測された動きベクトル)に等しくなる。追加的なマージ候補の予測された動きベクトルは、例えば、組み合わされた双方向予測マージ候補の予測された動きベクトル(候補の予測された動きベクトル1)、スケーリングされた双方向予測マージ候補の予測された動きベクトル(候補の予測された動きベクトル2)、及びゼロ・ベクトル・マージ候補の予測された動きベクトル(候補の予測された動きベクトル3)を含む可能性がある。追加のマージ候補の予測された動きベクトルの前述の3つのケースの具体的な説明については、図7ないし図9を参照されたい。 According to the technique of the present application, the predicted motion vectors of additional merge candidates can be manually generated after the predicted motion vectors of the spatial candidates and the predicted motion vectors of the time candidates. As a result, the size of the list of predicted motion vectors of the merge candidates will always be the predicted motion vectors of the specified amount of merge candidates (eg, the predictions of the five candidates in the feasible implementation of FIG. 6 above. Is equal to the motion vector). The predicted motion vectors of the additional merge candidates are, for example, the predicted motion vectors of the combined bidirectional predictive merge candidates (candidate predicted motion vector 1), the scaled bidirectional predictive merge candidate predictions. It may include a motion vector (candidate predicted motion vector 2) and a zero vector merge candidate predicted motion vector (candidate predicted motion vector 3). See FIGS. 7-9 for a specific description of the above three cases of predicted motion vectors for additional merge candidates.

図7は、本願の実施形態による、マージ・モード候補の予測された動きベクトルのリストに、結合された候補の動きベクトルを追加する例の概略図である。結合された双予測マージ候補の予測された動きベクトルは、オリジナルのマージ候補の予測された動きベクトルを結合することによって生成されることが可能である。具体的には、2つのオリジナル候補の予測された動きベクトル(mvL0及びrefIdxL0、又はmvL1及びrefIdxL1を有する)を使用して、双予測マージ候補の予測された動きベクトルを生成することができる。図7では、2つの候補の予測された動きベクトルが、オリジナルのマージ候補の予測された動きベクトルのリストに含まれる。一方の候補の予測された動きベクトルの予測タイプはリスト0を使用することによる一方向予測であり、他方の候補の予測された動きベクトルの予測タイプはリスト1を使用することによる一方向予測である。この実現可能な実装では、mvL0_A及びref0はリスト0から得られ、mvL1_B及びref0はリスト1から得られる。次いで、双予測マージ候補の予測された動きベクトル(リスト0におけるmvL0_A及びref0を、リスト1におけるmvL1_B及びref0を有する)が生成されることが可能であり、双予測マージ候補の予測された動きベクトルが、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なるかどうかが、検査される。双予測マージ候補の予測された動きベクトルが既存の候補の予測された動きベクトルと異なる場合、ビデオ・デコーダは、双予測マージ候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加することができる。 FIG. 7 is a schematic diagram of an example of adding a combined candidate motion vector to a list of predicted motion vectors of merge mode candidates according to an embodiment of the present application. The predicted motion vectors of the combined bi-predictive merge candidates can be generated by combining the predicted motion vectors of the original merge candidates. Specifically, the predicted motion vectors of the two original candidates (having mvL0 and refIdxL0, or mvL1 and refIdxL1) can be used to generate the predicted motion vectors of the bipredictive merge candidates. In FIG. 7, the predicted motion vectors of the two candidates are included in the list of predicted motion vectors of the original merge candidates. The prediction type of the predicted motion vector of one candidate is one-way prediction by using List 0, and the prediction type of the predicted motion vector of the other candidate is one-way prediction by using List 1. be. In this feasible implementation, mvL0_A and ref0 are obtained from Listing 0, and mvL1_B and ref0 are obtained from Listing 1. It is then possible to generate the predicted motion vectors of the bi-predictive merge candidates (having mvL0_A and ref0 in Listing 0 and mvL1_B and ref0 in Listing 1), and the predicted motion vectors of the bi-predictive merge candidates. Is checked for different from the candidate's predicted motion vector present in the candidate's list of predicted motion vectors. If the predicted motion vector of a bi-predicted merge candidate is different from the predicted motion vector of an existing candidate, the video decoder will display the predicted motion vector of the bi-predicted merge candidate as a list of the predicted motion vectors of the candidate. Can be added to.

図8は、本願の実施形態による、スケーリングされた候補の動きベクトルを、マージ・モード候補の予測された動きベクトルのリストに追加する例の概略図である。スケーリングされた双予測マージ候補の予測された動きベクトルは、オリジナルのマージ候補の予測された動きベクトルをスケーリングすることによって生成されてもよい。具体的には、1つのオリジナル候補の予測された動きベクトル(mvLX及びrefIdxLXを有する)を使用して、双予測マージ候補の予測された動きベクトルを生成することができる。図8の実現可能な実装では、2つの候補の予測された動きベクトルが、オリジナルのマージ候補の予測された動きベクトルのリストに含まれる。一方の候補の予測された動きベクトルの予測タイプはリスト0を使用することによる一方向予測であり、他方の候補の予測された動きベクトルの予測タイプはリスト1を使用することによる一方向予測である。この実現可能な実装では、mvL0_A及びref0はリスト0から得られ、ref0はリスト1にコピーされ、参照インデックスref0’として示される。次いで、mvL0’_Aは、ref0及びref0’でmvL0_Aをスケーリングすることによって計算されることが可能である。スケーリングは、POC(Picture Order Count,POC)距離に依存する可能性がある。次に、双予測マージ候補の予測された動きベクトル(リスト0におけるmvL0_A及びref0、リスト1におけるmvL0’_A及びref0’を有する)を生成することが可能であり、双予測マージ候補の予測された動きベクトルが反復されているか否かが検査される。双予測マージ候補の予測された動きベクトルが反復されていない場合、双予測マージ候補の予測された動きベクトルが、マージ候補の予測された動きベクトルのリストに追加されることが可能である。 FIG. 8 is a schematic diagram of an example of adding a scaled candidate motion vector to a list of predicted motion vectors of merge mode candidates according to an embodiment of the present application. The predicted motion vector of the scaled bi-predictive merge candidate may be generated by scaling the predicted motion vector of the original merge candidate. Specifically, one original candidate predicted motion vector (with mvLX and refIdxLX) can be used to generate a bipredicted merge candidate predicted motion vector. In the feasible implementation of FIG. 8, the predicted motion vectors of the two candidates are included in the list of predicted motion vectors of the original merge candidates. The prediction type of the predicted motion vector of one candidate is one-way prediction by using List 0, and the prediction type of the predicted motion vector of the other candidate is one-way prediction by using List 1. be. In this feasible implementation, mvL0_A and ref0 are obtained from Listing 0, ref0 is copied to Listing 1 and shown as the reference index ref0'. MvL0'_A can then be calculated by scaling mvL0_A with ref0 and ref0'. Scaling may depend on the POC (Picture Order Count, POC) distance. It is then possible to generate predicted motion vectors of bi-predictive merge candidates (having mvL0_A and ref0 in Listing 0, mvL0'_A and ref0' in List 1) and predicted bi-predictive merge candidates. It is checked whether the motion vector is repeated. If the predicted motion vector of the bi-predicted merge candidate is not repeated, it is possible that the predicted motion vector of the bi-predicted merge candidate is added to the list of predicted motion vectors of the merge candidate.

図9は、本願の実施形態による、マージ・モード候補の予測された動きベクトルのリストに、ゼロ動きベクトルを追加する例の概略図である。ゼロ・ベクトル・マージ候補の予測された動きベクトルは、ゼロ・ベクトル及び参照されることが可能な参照インデックスを組み合わせることによって生成されることが可能である。ゼロ・ベクトル候補の予測された動きベクトルが反復されない場合、ゼロ・ベクトル候補の予測された動きベクトルは、マージ候補の予測された動きベクトルのリストに追加されることが可能である。各々の生成されたマージ候補の予測された動きベクトルの動き情報は、リスト内の以前の候補の予測された動きベクトルの動き情報と比較されることが可能である。 FIG. 9 is a schematic diagram of an example of adding a zero motion vector to a list of predicted motion vectors of merge mode candidates according to an embodiment of the present application. The predicted motion vector of the zero vector merge candidate can be generated by combining the zero vector and the reference index that can be referenced. If the predicted motion vector of the zero vector candidate is not repeated, the predicted motion vector of the zero vector candidate can be added to the list of predicted motion vectors of the merge candidate. The motion information of the predicted motion vector of each generated merge candidate can be compared with the motion information of the predicted motion vector of the previous candidate in the list.

実現可能な実装において、新しく生成された候補の予測された動きベクトルが、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なる場合、生成された候補の予測された動きベクトルは、マージ候補の予測された動きベクトルのリストに追加される。候補の予測された動きベクトルが、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと異なるかどうかを決定するプロセスは、しばしば、プルーニング(pruning)と呼ばれる。プルーニングにより、各々新しく生成された候補の予測された動きベクトルは、リスト内の既存候補の予測された動きベクトルと比較されることが可能である。幾つかの実現可能な実装において、プルーニング処理は、1つ以上の新しい候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと比較し、候補の予測された動きベクトルのリストに存在する候補の予測された動きベクトルと同一である新しい候補の予測された動きベクトルを追加することをスキップすることを含むことが可能である。幾つかの他の実現可能な実装において、プルーニング処理は、1つ以上の新しい候補の予測された動きベクトルを、候補の予測された動きベクトルのリストに追加し、次いで、反復した候補の予測された動きベクトルをリストから除外することを含む可能性がある。 In a feasible implementation, if the predicted motion vector of the newly generated candidate is different from the predicted motion vector of the candidate present in the list of predicted motion vectors of the candidate, the predicted motion vector of the generated candidate is predicted. The motion vector is added to the list of predicted motion vectors for merge candidates. The process of determining whether a candidate's predicted motion vector differs from the candidate's predicted motion vector present in the candidate's list of predicted motion vectors is often referred to as pruning. Pruning allows each newly generated predicted motion vector of a candidate to be compared with the predicted motion vector of an existing candidate in the list. In some feasible implementations, the pruning process compares the predicted motion vector of one or more new candidates with the predicted motion vector of the candidate present in the list of predicted motion vectors of the candidate. It is possible to include skipping the addition of new candidate predicted motion vectors that are identical to the candidate's predicted motion vectors present in the candidate's list of predicted motion vectors. In some other feasible implementation, the pruning process adds one or more new candidate predicted motion vectors to the list of candidate predicted motion vectors and then iterative candidate predictions. May include excluding motion vectors from the list.

本願の実現可能な実装において、インター予測の間に、処理対象ピクチャ・ブロックの動き情報を予測する方法は:処理対象のピクチャ・ブロックが位置するピクチャにおいて動きベクトルが決定される少なくとも1つのピクチャ・ブロックの動き情報を取得するステップであって、動きベクトルが決定される少なくとも1つのピクチャ・ブロックは、処理対象のピクチャ・ブロックに隣接しないピクチャ・ブロックであって、その動きベクトルが決定されているピクチャ・ブロックを含む、ステップと、第1識別情報を取得するステップであって、第1識別情報は、動きベクトルが決定される少なくとも1つのピクチャ・ブロックの動き情報においてターゲット動き情報を決定するために使用される、ステップと、ターゲット動き情報に基づいて、処理対象ピクチャ・ブロックの動き情報を予測するステップとを含む。 In a feasible implementation of the present application, a method of predicting motion information of a picture block to be processed during interprediction is: at least one picture in which the motion vector is determined in the picture in which the picture block to be processed is located. At least one picture block in which the motion vector is determined in the step of acquiring the motion information of the block is a picture block not adjacent to the picture block to be processed, and the motion vector is determined. A step including a picture block and a step of acquiring the first identification information, wherein the first identification information determines the target motion information in the motion information of at least one picture block in which the motion vector is determined. Includes a step used in the process and a step of predicting the motion information of the picture block to be processed based on the target motion information.

図10は、本願の実施形態によるマージ・モードの一例のフローチャートである。ビデオ・エンコーダ(例えば、ビデオ・エンコーダ20)は、マージ演算200を実行することができる。別の実現可能な実装において、ビデオ・エンコーダは、マージ演算200とは異なるマージ演算を実行する可能性がある。例えば、別の実現可能な実装において、ビデオ・エンコーダはマージ演算を実行することが可能であり、ビデオ・エンコーダは、マージ演算200のステップより多い又は少ないステップ、或いはマージ演算200のステップとは異なるステップを実行する。別の実現可能な実装において、ビデオ・エンコーダは、マージ演算200のステップを異なる順序で、又は並列で実行することができる。エンコーダは、更に、スキップ(skip)モードで符号化されたPUに対してマージ演算200を実行してもよい。 FIG. 10 is a flowchart of an example of the merge mode according to the embodiment of the present application. The video encoder (eg, the video encoder 20) can perform the merge operation 200. In another feasible implementation, the video encoder may perform a different merge operation than the merge operation 200. For example, in another feasible implementation, the video encoder can perform the merge operation, and the video encoder is different from more or less steps in the merge operation 200, or steps in the merge operation 200. Perform the steps. In another feasible implementation, the video encoder can perform the steps of the merge operation 200 in different orders or in parallel. The encoder may further perform merge operation 200 on the PU encoded in skip mode.

ビデオ・エンコーダがマージ演算200を開始した後、ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを生成することができる(202)。ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを、種々の方法で生成することができる。例えば、ビデオ・エンコーダは、図7から図9に関連して以下で説明される技術例の1つに従って、現在のPUのための候補の予測された動きベクトルのリストを生成することができる。 After the video encoder initiates the merge operation 200, the video encoder can generate a list of candidate predicted motion vectors for the current PU (202). The video encoder can generate a list of candidate predicted motion vectors for the current PU in a variety of ways. For example, a video encoder can generate a list of candidate predicted motion vectors for the current PU according to one of the technical examples described below in connection with FIGS. 7-9.

上記のように、現在のPUの候補の予測された動きベクトルのリストは、時間候補の予測された動きベクトルを含む可能性がある。時間候補の予測された動きベクトルは、時間的な同一位置にあるPUの動き情報を示すことができる。同一位置にあるPUは、ピクチャ・フレーム内で、現在のPUと同じ位置に空間的に位置していてもよいが、現在のピクチャの代わりに参照ピクチャ内に位置していてもよい。本願では、対応する時間的PUを含む参照ピクチャは、関連する参照ピクチャとして言及されてもよい。この出願において、関連する参照ピクチャの参照ピクチャ・インデックスは、関連する参照ピクチャ・インデックスとして言及されてもよい。上述のように、現在のピクチャは、1つ以上の参照ピクチャ・リスト(例えば、リスト0及びリスト1)に関連付けられてもよい。参照ピクチャ・インデックスは、参照ピクチャ・リスト内の参照ピクチャの位置を示すことによって、参照ピクチャを示すことができる。幾つかの実現可能な実装において、現在のピクチャは、結合された参照ピクチャ・リストに関連付けられてもよい。 As mentioned above, the list of predicted motion vectors for the current PU candidates may include the predicted motion vectors for the time candidates. The predicted motion vector of the time candidate can indicate the motion information of the PUs at the same position in time. PUs at the same position may be spatially located in the picture frame at the same position as the current PU, but may be located in the reference picture instead of the current picture. In the present application, a reference picture including a corresponding temporal PU may be referred to as a related reference picture. In this application, the reference picture index of the associated reference picture may be referred to as the associated reference picture index. As mentioned above, the current picture may be associated with one or more reference picture lists (eg, List 0 and List 1). The reference picture index can indicate a reference picture by indicating the position of the reference picture in the reference picture list. In some feasible implementations, the current picture may be associated with a combined reference picture list.

一部のビデオ・エンコーダでは、関連する参照ピクチャ・インデックスは、現在のPUに関連する参照インデックス・ソース位置をカバーするPUの参照ピクチャ・インデックスである。これらのビデオ・エンコーダでは、現在のPUに関連して位置する参照インデックス・ソースは、現在のPUの左又は現在のPUの上に隣接している。本願では、PUに関連するピクチャ・ブロックが特定の場所を含む場合、PUは特定の場所を「カバー」することができる。これらのビデオ・エンコーダでは、参照インデックスのソース位置が利用不可能である場合、ビデオ・エンコーダは参照ピクチャ・インデックス0を使用してもよい。 For some video encoders, the associated reference picture index is the PU's reference picture index that covers the reference index source position associated with the current PU. In these video encoders, the reference index source located relative to the current PU is adjacent to the left of the current PU or above the current PU. In the present application, if the picture block associated with the PU contains a particular location, the PU may "cover" the particular location. For these video encoders, the video encoder may use the reference picture index 0 if the source position of the reference index is not available.

一部の例において、現在のPUに関連する参照インデックス・ソース位置は、現在のCU内にある。これらの例では、現在のPUに関連する参照インデックス・ソース位置をカバーするPUは、PUが現在のCUの上又は左にある場合に、利用可能であると考えられてもよい。しかしながら、ビデオ・エンコーダは、同一位置にあるPUを含む参照ピクチャを決定するために、現在のCUの別のPUの動き情報にアクセスする必要があるかもしれない。従って、これらのビデオ・エンコーダは、現在のCUに属するPUに対する動き情報(例えば、参照ピクチャ・インデックス)を使用して、現在のPUの時間候補の予測された動きベクトルを生成することができる。換言すれば、これらのビデオ・エンコーダは、現在のCUに属するPUの動き情報を使用して、時間的な候補の予測された動きベクトルを生成することができる。従って、ビデオ・エンコーダは、現在のPUと、現在のPUに関連する参照インデックス・ソース位置をカバーするPUとに関する候補の予測された動きベクトルのリストを、並列的に生成することはできないかもしれない。 In some examples, the reference index source location associated with the current PU is within the current CU. In these examples, a PU that covers the reference index source position associated with the current PU may be considered available if the PU is above or to the left of the current CU. However, the video encoder may need to access motion information for another PU in the current CU to determine a reference picture that includes a PU in the same position. Thus, these video encoders can use motion information (eg, reference picture index) for PUs belonging to the current CU to generate predicted motion vectors for time candidates for the current PU. In other words, these video encoders can use the motion information of PUs belonging to the current CU to generate predicted motion vectors of temporal candidates. Therefore, the video encoder may not be able to generate a list of candidate predicted motion vectors for the current PU and the PU covering the reference index source position associated with the current PU in parallel. No.

本願の技術によれば、ビデオ・エンコーダは、他の如何なるPUの参照ピクチャ・インデックスも参照することなく、関連する参照ピクチャ・インデックスを明示的に設定することができる。このようにして、ビデオ・エンコーダは、現在のPU及び現在のCUの別のPUについて、候補の予測された動きベクトルのリストを、並列的に生成することができる。ビデオ・エンコーダは、関連する参照ピクチャ・インデックスを明示的に設定するので、関連する参照ピクチャ・インデックスは、現在のCUの他の如何なるPUの動き情報にも基づいていない。ビデオ・エンコーダが、関連付けられた参照ピクチャ・インデックスを明示的に設定する幾つかの実現可能な実装では、ビデオ・エンコーダは、関連付けられた参照ピクチャ・インデックスを、固定された前もってセットされた参照ピクチャ・インデックス(例えば、0)に常に設定することができる。このようにして、ビデオ・エンコーダは、前もってセットされた参照ピクチャ・インデックスによって示された参照フレーム内の同一位置にあるPUの動き情報に基づいて、時間的な候補の予測された動きベクトルを生成することが可能であり、時間的な候補の予測された動きベクトルを、現在のCUの候補の予測された動きベクトルのリストに追加することが可能である。また、候補の予測された動きベクトルのリストは、参照フレーム・リストでもある。 According to the technique of the present application, the video encoder can explicitly set the associated reference picture index without reference to the reference picture index of any other PU. In this way, the video encoder can generate a list of candidate predicted motion vectors in parallel for the current PU and another PU of the current CU. Since the video encoder explicitly sets the associated reference picture index, the associated reference picture index is not based on the motion information of any other PU in the current CU. In some feasible implementations where the video encoder explicitly sets the associated reference picture index, the video encoder sets the associated reference picture index to a fixed, pre-set reference picture. -It can always be set to an index (for example, 0). In this way, the video encoder generates a predicted motion vector of temporal candidates based on the motion information of the co-located PUs in the reference frame indicated by the preset reference picture index. It is possible to add the predicted motion vectors of the temporal candidates to the list of predicted motion vectors of the current CU candidates. The list of candidate predicted motion vectors is also a reference frame list.

ビデオ・エンコーダが、関連付けられた参照ピクチャ・インデックスを明示的に設定する実現可能な実装では、ビデオ・エンコーダは、シンタックス構造(例えば、ピクチャ・ヘッダ、スライス・ヘッダ、APS、又は他のシンタックス構造)において、関連付けられた参照ピクチャ・インデックスを明示的にシグナリングすることができる。この実現可能な実装では、ビデオ・エンコーダは、各LCU(即ち、CTU)、CU、PU、TU、又は別のタイプのサブ・ブロックのための関連する参照ピクチャ・インデックスを、デコーダにシグナリングすることができる。例えば、ビデオ・エンコーダは、CUの各PUに対する関連する参照ピクチャ・インデックスが「1」に等しいことを、シグナリングすることができる。 In a feasible implementation where the video encoder explicitly sets the associated reference picture index, the video encoder has a syntax structure (eg, picture header, slice header, APS, or other syntax). In the structure), the associated reference picture index can be explicitly signaled. In this feasible implementation, the video encoder signals the decoder with a relevant reference picture index for each LCU (ie, CTU), CU, PU, TU, or another type of subblock. Can be done. For example, the video encoder can signal that the associated reference picture index for each PU of the CU is equal to "1".

幾つかの実現可能な実装では、関連する参照ピクチャ・インデックスは、明示的ではなく暗黙的に設定されてもよい。これらの実現可能な実装では、たとえこれらの位置が現在のPUに厳密に隣接していなかったとしても、ビデオ・エンコーダは、現在のCU外側の位置をカバーするPUの参照ピクチャ・インデックスによって示される参照ピクチャ内のPUに対する動き情報を使用することによって、現在のCUのPUに対する候補の予測された動きベクトルのリスト内の各々の時間的な候補の予測された動きベクトルを生成することができる。 In some feasible implementations, the associated reference picture index may be set implicitly rather than explicitly. In these feasible implementations, the video encoder is indicated by a PU reference picture index that covers the position outside the current CU, even if these positions are not exactly adjacent to the current PU. By using the motion information for the PU in the reference picture, it is possible to generate a predicted motion vector for each temporal candidate in the list of predicted motion vectors for the candidate for the PU of the current CU.

現在のPUに対する候補の予測された動きベクトルのリストを生成した後に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおいて候補の予測された動きベクトルに関連する予測ピクチャ・ブロックを生成することができる(204)。ビデオ・エンコーダは、指示された候補の予測された動きベクトルの動き情報に基づいて現在のPUの動き情報を決定し、次いで、候補の予測された動きベクトルに関連する予測ピクチャ・ブロックを生成するために、現在のPUの動き情報によって示された1つ以上の参照ブロックに基づいて予測ピクチャ・ブロックを生成することができる。次いで、ビデオ・エンコーダは、候補の予測された動きベクトルのリストから、1つの候補の予測された動きベクトルを選択することができる(206)。ビデオ・エンコーダは、候補の予測された動きベクトルを種々の方法で選択することができる。例えば、ビデオ・エンコーダは、候補の予測された動きベクトルに関連する各々の予測ピクチャ・ブロックのレート歪コストを分析することによって、1つの候補の予測された動きベクトルを選択することができる。 After generating a list of candidate predicted motion vectors for the current PU, the video encoder generates a predictive picture block associated with the candidate's predicted motion vector in the list of candidate predicted motion vectors. Can be (204). The video encoder determines the current PU motion information based on the motion information of the indicated candidate's predicted motion vector, and then generates a predictive picture block associated with the candidate's predicted motion vector. Therefore, it is possible to generate a predictive picture block based on one or more reference blocks indicated by the motion information of the current PU. The video encoder can then select one candidate predicted motion vector from the list of candidate predicted motion vectors (206). The video encoder can select candidate predicted motion vectors in various ways. For example, the video encoder can select one candidate predicted motion vector by analyzing the rate distortion cost of each predicted picture block associated with the candidate predicted motion vector.

候補の予測された動きベクトルを選択した後に、ビデオ・エンコーダは、候補の予測された動きベクトル・インデックスを出力することができる(208)。また、候補の予測された動きベクトル・インデックスは、参照フレーム・リスト・インデックスでもあり、候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリストから選択された候補の予測された動きベクトルの位置を示すことができる。幾つかの実現可能な実装では、候補の予測された動きベクトル・インデックスは「merge_idx」として表現されてもよい。 After selecting a candidate's predicted motion vector, the video encoder can output the candidate's predicted motion vector index (208). The candidate's predicted motion vector index is also the reference frame list index, and the candidate's predicted motion vector index is the candidate's predicted motion vector index selected from the candidate's list of predicted motion vectors. The position of the motion vector can be shown. In some feasible implementations, the candidate predicted motion vector index may be expressed as "merge_idx".

図11は、本願の実施形態によるアドバンスト動きベクトル予測モードの一例のフローチャートである。ビデオ・エンコーダ(例えば、ビデオ・エンコーダ20)は、AMVP演算210を実行することができる。 FIG. 11 is a flowchart of an example of the advanced motion vector prediction mode according to the embodiment of the present application. The video encoder (eg, video encoder 20) can perform AMVP operation 210.

ビデオ・エンコーダがAMVP演算210を開始した後、ビデオ・エンコーダは、現在のPUに対して1つ以上の動きベクトルを生成することができる(211)。ビデオ・エンコーダは、現在のPUのための動きベクトルを生成するために、整数動き推定及び分数動き推定を実行することができる。上述のように、現在のピクチャは、2つの参照ピクチャ・リスト(リスト0及びリスト1)と関連付けられる可能性がある。一方向予測が現在のPUで実行される場合、ビデオ・エンコーダは、現在のPUのためのリスト−0動きベクトル又はリスト−1動きベクトルを生成することができる。リスト−0動きベクトルは、現在のPUのためのピクチャ・ブロックと、リスト0における参照ピクチャの参照ブロックとの間の空間的変位を示すことができる。リスト−1動きベクトルは、現在のPUのためのピクチャ・ブロックと、リスト1における参照ピクチャの参照ブロックとの間の空間的変位を示すことができる。双方向予測が現在のPUで実行される場合、ビデオ・エンコーダは、現在のPUのためのリスト−0動きベクトル及びリスト−1動きベクトルを生成することができる。 After the video encoder initiates the AMVP operation 210, the video encoder can generate one or more motion vectors for the current PU (211). The video encoder can perform integer motion estimation and fractional motion estimation to generate motion vectors for the current PU. As mentioned above, the current picture may be associated with two reference picture lists (List 0 and List 1). If one-way prediction is performed on the current PU, the video encoder can generate a List-0 motion vector or a List-1 motion vector for the current PU. The list-0 motion vector can indicate the spatial displacement between the picture block for the current PU and the reference block of the reference picture in list 0. The Listing-1 motion vector can indicate the spatial displacement between the picture block for the current PU and the reference block of the reference picture in Listing 1. If bidirectional prediction is performed on the current PU, the video encoder can generate a List-0 motion vector and a List-1 motion vector for the current PU.

現在のPUに対する1つ以上の動きベクトルを生成した後、ビデオ・エンコーダは、現在のPUに対する予測ピクチャ・ブロックを生成してもよい(212)。ビデオ・エンコーダは、現在のPUに対する1つ以上の動きベクトルによって示される1つ以上の参照ブロックに基づいて、現在のPUに対する予測ピクチャ・ブロックを生成することができる。 After generating one or more motion vectors for the current PU, the video encoder may generate a predictive picture block for the current PU (212). The video encoder can generate a predictive picture block for the current PU based on one or more reference blocks indicated by one or more motion vectors for the current PU.

更に、ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを生成することができる(213)。ビデオ・エンコーダは、現在のPUのための候補の予測された動きベクトルのリストを、種々の方法で生成することができる。例えば、ビデオ・エンコーダは、図6ないし図9に関連して以下で説明される1つ以上の実現可能な実装に従って、現在のPUのための候補の予測された動きベクトルのリストを生成することができる。幾つかの実現可能な実装では、ビデオ・エンコーダがAMVP演算210において候補の予測された動きベクトルのリストを生成する場合に、候補の予測された動きベクトルのリストは、2つの候補の予測された動きベクトルに制限される可能性がある。対照的に、ビデオ・エンコーダがマージ演算において候補の予測された動きベクトルのリストを生成する場合には、候補の予測された動きベクトルのリストは、より多くの候補の予測された動きベクトル(例えば、5つの候補の予測された動きベクトル)を含む可能性がある。 In addition, the video encoder can generate a list of candidate predicted motion vectors for the current PU (213). The video encoder can generate a list of candidate predicted motion vectors for the current PU in a variety of ways. For example, a video encoder may generate a list of candidate predicted motion vectors for the current PU according to one or more feasible implementations described below in connection with FIGS. 6-9. Can be done. In some feasible implementations, if the video encoder produces a list of candidate predicted motion vectors in AMVP operation 210, the list of candidate predicted motion vectors will be two candidate predicted motion vectors. May be limited to motion vectors. In contrast, if the video encoder produces a list of candidate predicted motion vectors in a merge operation, the list of candidate predicted motion vectors will be a list of more candidate predicted motion vectors (eg,). It may contain 5 candidate predicted motion vectors).

現在のPUに対する候補の予測された動きベクトルのリストを生成した後、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおいて、各々の候補の予測された動きベクトルに対して1つ以上の動きベクトル差分(MVD)を生成することができる(214)。ビデオ・エンコーダは、候補の予測された動きベクトルによって示される動きベクトルと、現在のPUに対する対応する動きベクトルとの間の差分を決定して、候補の予測された動きベクトルに対する動きベクトル差分を生成することができる。 After generating a list of candidate predicted motion vectors for the current PU, the video encoder will in the list of candidate predicted motion vectors one or more for each candidate's predicted motion vector. A motion vector difference (MVD) can be generated (214). The video encoder determines the difference between the motion vector indicated by the candidate's predicted motion vector and the corresponding motion vector for the current PU to generate the motion vector difference for the candidate's predicted motion vector. can do.

一方向予測が現在のPUに対して実行される場合、ビデオ・エンコーダは、各々の候補の予測された動きベクトルに対して単一のMVDを生成することができる。双方向予測が現在のPUに対して実行される場合、ビデオ・エンコーダは、各々の候補の予測された動きベクトルに対して2つのMVDを生成することができる。第1MVDは、候補の予測された動きベクトルによって示される動きベクトルと、現在のPUに対するリスト−0動きベクトルとの間の差分を示すことができる。第2MVDは、候補の予測された動きベクトルによって示される動きベクトルと、現在のPUに対するリスト−1動きベクトルとの間の差分を示すことができる。 If one-way prediction is performed on the current PU, the video encoder can generate a single MVD for each candidate predicted motion vector. If bidirectional prediction is performed on the current PU, the video encoder can generate two MVDs for each candidate predicted motion vector. The first MVD can show the difference between the motion vector represented by the candidate predicted motion vector and the list-0 motion vector for the current PU. The second MVD can show the difference between the motion vector represented by the candidate's predicted motion vector and the List-1 motion vector for the current PU.

ビデオ・エンコーダは、候補の予測された動きベクトルのリストから1つ以上の候補の予測された動きベクトルを選択することができる(215)。ビデオ・エンコーダは、1つ以上の候補の予測された動きベクトルを、種々の方法で選択することができる。例えば、ビデオ・エンコーダは、符号化対象の動きベクトルの関連する動きベクトルに最小誤差で合致する候補の予測された動きベクトルを選択することができる。これは、候補の予測された動きベクトルに対する動きベクトル差分を表現するために必要なビット量を削減することができる。 The video encoder can select one or more candidate predicted motion vectors from the list of candidate predicted motion vectors (215). The video encoder can select one or more candidate predicted motion vectors in various ways. For example, the video encoder can select a candidate predicted motion vector that matches the associated motion vector of the motion vector to be encoded with minimal error. This can reduce the amount of bits required to represent the motion vector difference for the candidate's predicted motion vector.

1つ以上の候補の予測された動きベクトルを選択した後、ビデオ・エンコーダは、現在のPUに対する1つ以上の参照ピクチャ・インデックスと、現在のPUに対する1つ以上の候補の予測された動きベクトル・インデックスと、1つ以上の選択された候補の予測された動きベクトルに対する1つ以上の動きベクトル差分とを出力することができる(216)。 After selecting one or more candidate predicted motion vectors, the video encoder will have one or more reference picture indexes for the current PU and one or more candidate predicted motion vectors for the current PU. It is possible to output the index and one or more motion vector differences with respect to the predicted motion vector of one or more selected candidates (216).

現在のピクチャが2つの参照ピクチャ・リスト(リスト0及びリスト1)に関連付けられ、一方向予測が現在のPUに対して実行される例において、ビデオ・エンコーダは、リスト0に対する参照ピクチャ・インデックス(「ref_idx_10」)又はリスト1に対する参照ピクチャ・インデックス(「ref_idx_11」)を出力することができる。ビデオ・エンコーダは、更に、候補の予測された動きベクトルのリスト内で、現在のPUに対するリスト−0動きベクトルの選択された候補の予測された動きベクトルの位置を示す候補の予測された動きベクトル・インデックス(「mvp_10_flag」)を出力することができる。代替的に、ビデオ・エンコーダは、候補の予測された動きベクトルのリスト内で、現在のPUに対するリスト−1動きベクトルの選択された候補の予測された動きベクトルの位置を示す候補の予測された動きベクトル・インデックス(「mvp_11_flag」)を出力することができる。ビデオ・エンコーダは、更に、現在のPUに対するリスト−0動きベクトル又はリスト−1動きベクトルに対するMVDを出力することができる。 In an example where the current picture is associated with two reference picture lists (List 0 and List 1) and one-way prediction is performed for the current PU, the video encoder has a reference picture index to List 0 (List 0). A reference picture index (“ref_idx_11”) for “ref_idx_10”) or Listing 1 can be output. The video encoder also provides a candidate predicted motion vector that indicates the position of the selected candidate's predicted motion vector for the list-0 motion vector with respect to the current PU within the list of candidate predicted motion vectors. -The index ("mbp_10_flag") can be output. Alternatively, the video encoder is a candidate's predicted motion vector that indicates the position of the selected candidate's predicted motion vector for the list-1 motion vector with respect to the current PU within the list of candidate's predicted motion vectors. A motion vector index ("mvp_11_flag") can be output. The video encoder can also output a List-0 motion vector for the current PU or an MVD for the List-1 motion vector.

現在のピクチャが2つの参照ピクチャ・リスト(リスト0及びリスト1)に関連付けられており、且つ双方向予測が現在のPUに対して実行される例において、ビデオ・エンコーダは、リスト0に対して参照ピクチャ・インデックス(「ref_idx_10」)及びリスト1に対して参照ピクチャ・インデックス(「ref_idx_11」)を出力することができる。更に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおける現在のPUに対するリスト−0動きベクトルの選択された候補の予測された動きベクトルの位置を示す、候補の予測された動きベクトル・インデックス(「mvp_10_flag」)を出力することができる。更に、ビデオ・エンコーダは、候補の予測された動きベクトルのリストにおける現在のPUに対するリスト−1動きベクトルの選択された候補の予測された動きベクトルの位置を示す、候補の予測された動きベクトル・インデックス(「mvp_11_flag」)を出力することができる。ビデオ・エンコーダは、更に、現在のPUに対するリスト−0動きベクトルに対するMVDと、現在のPUに対するリスト−1動きベクトルに対するMVDとを出力することができる。 In an example where the current picture is associated with two reference picture lists (List 0 and List 1) and bidirectional prediction is performed for the current PU, the video encoder is for List 0. A reference picture index (“ref_idx_11”) can be output for the reference picture index (“ref_idx_10”) and list 1. In addition, the video encoder indicates the position of the selected candidate's predicted motion vector for the list-0 motion vector with respect to the current PU in the list of candidate's predicted motion vectors. The index ("mvp_10_flag") can be output. In addition, the video encoder indicates the position of the selected candidate's predicted motion vector of the list-1 motion vector with respect to the current PU in the list of candidate's predicted motion vectors. The index ("mvp_11_flag") can be output. The video encoder can also output an MVD for the List-0 motion vector for the current PU and an MVD for the List-1 motion vector for the current PU.

図12は、本願の実施形態による、ビデオ・デコーダ(例えば、ビデオ・デコーダ30)によって実行される動き補償の一例のフローチャートである。 FIG. 12 is a flowchart of an example of motion compensation performed by a video decoder (eg, video decoder 30) according to an embodiment of the present application.

ビデオ・デコーダが動き補償演算を実行する場合220、ビデオ・デコーダは、現在のPUに対して選択された候補の予測された動きベクトルの指示を受けることができる(222)。例えば、ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストにおいて選択された候補の予測された動きベクトルの位置を示す、候補の予測された動きベクトル・インデックスを受信することができる。 If the video decoder performs a motion compensation operation 220, the video decoder can be instructed by the predicted motion vector of the selected candidate for the current PU (222). For example, the video decoder receives a candidate predicted motion vector index indicating the position of the selected candidate's predicted motion vector in the list of candidate predicted motion vectors for the current PU. be able to.

現在のPUの動き情報がAMVPモードで符号化され、双方向予測が現在のPUに対して実行される場合、ビデオ・デコーダは、第1候補の予測された動きベクトル・インデックスと第2候補の予測された動きベクトル・インデックスとを受信することができる。第1候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリスト中の現在のPUに対するリスト−0動きベクトルの選択された候補の予測された動きベクトルの位置を示す。第2候補の予測された動きベクトル・インデックスは、候補の予測された動きベクトルのリスト中の現在のPUに対するリスト−1動きベクトルの選択された候補の予測された動きベクトルの位置を示す。幾つかの実現可能な実装において、単一のシンタックス要素が、2つの候補の予測された動きベクトル・インデックスを識別するために使用されることが可能である。 If the motion information of the current PU is encoded in AMVP mode and bidirectional prediction is performed for the current PU, the video decoder will have the predicted motion vector index of the first candidate and the second candidate. It is possible to receive the predicted motion vector index. The predicted motion vector index of the first candidate indicates the position of the predicted motion vector of the selected candidate of the list-0 motion vector with respect to the current PU in the list of predicted motion vectors of the candidate. The predicted motion vector index of the second candidate indicates the position of the predicted motion vector of the selected candidate of the list-1 motion vector with respect to the current PU in the list of predicted motion vectors of the candidate. In some feasible implementations, a single syntax element can be used to identify the predicted motion vector indexes of the two candidates.

更に、ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストを生成することができる(224)。ビデオ・デコーダは、現在のPUのための候補の予測された動きベクトルのリストを、種々の方法で生成することができる。例えば、ビデオ・デコーダは、図5ないし図9に関連して後述される技術を使用することによって、現在のPUのための候補の予測された動きベクトルのリストを生成することができる。ビデオ・デコーダが候補の予測された動きベクトルのリストのための時間的な候補の予測された動きベクトルを生成する場合に、ビデオ・デコーダは、図10に関して上述したように、同一位置にあるPUを含む参照ピクチャを識別する参照ピクチャ・インデックスを明示的又は暗黙的に設定することができる。 In addition, the video decoder can generate a list of candidate predicted motion vectors for the current PU (224). The video decoder can generate a list of candidate predicted motion vectors for the current PU in a variety of ways. For example, a video decoder can generate a list of candidate predicted motion vectors for the current PU by using the techniques described below in connection with FIGS. 5-9. If the video decoder produces a candidate predicted motion vector in time for a list of candidate predicted motion vectors, the video decoder will be co-located PU as described above with respect to FIG. A reference picture index that identifies the reference picture containing the can be set explicitly or implicitly.

現在のPUに対する候補の予測された動きベクトルのリストを生成した後に、ビデオ・デコーダは、現在のPUに対する候補の予測された動きベクトルのリストにおける1つ以上の候補の予測された動きベクトルによって示される動き情報に基づいて、現在のPUに対する動き情報を決定することができる(225)。例えば、現在のPUの動き情報がマージ・モードで符号化される場合、現在のPUの動き情報は、選択された候補の予測された動きベクトルによって示される動き情報と同じであってもよい。現在のPUの動き情報がAMVPモードで符号化される場合、ビデオ・デコーダは、選択された候補の予測された動きベクトルによって示される1つ以上の動きベクトルとビットストリームで示される1つ以上のMVDとを使用することによって、現在のPUのための1つ以上の動きベクトルを再構成することができる。現在のPUの参照ピクチャ・インデックス及び予測方向識別子は、1つ以上の参照ピクチャ・インデックス、及び1つ以上の選択された候補の予測された動きベクトルの1つ以上の予測方向識別子と同一であってもよい。現在のPUのための動き情報を決定した後に、ビデオ・デコーダは、現在のPUのための動き情報によって示される1つ以上の参照ブロックに基づいて、現在のPUのための予測ピクチャ・ブロックを生成することができる(226)。 After generating a list of candidate predicted motion vectors for the current PU, the video decoder is indicated by one or more candidate predicted motion vectors in the list of candidate predicted motion vectors for the current PU. Based on the motion information, the motion information for the current PU can be determined (225). For example, if the current PU motion information is encoded in merge mode, the current PU motion information may be the same as the motion information indicated by the predicted motion vector of the selected candidate. If the current PU motion information is encoded in AMVP mode, the video decoder will have one or more motion vectors represented by the predicted motion vectors of the selected candidates and one or more represented by the bitstream. By using with MVD, one or more motion vectors for the current PU can be reconstructed. The current PU reference picture index and predictive direction identifier are identical to one or more reference picture indexes and one or more predictive direction identifiers of one or more selected candidate predicted motion vectors. You may. After determining the motion information for the current PU, the video decoder determines the predicted picture block for the current PU based on one or more reference blocks indicated by the motion information for the current PU. Can be generated (226).

図13は、本願の実施形態によるビデオ符号化中に動きベクトルを更新する一例のフローチャートである。処理対象のピクチャ・ブロックは、符号化対象のブロックである。 FIG. 13 is an example flowchart for updating the motion vector during video coding according to the embodiment of the present application. The picture block to be processed is a block to be encoded.

1301:処理対象のピクチャ・ブロックの予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの初期の動きベクトルを取得する。 1301: Acquires the initial motion vector of the picture block to be processed based on the predicted motion vector of the picture block to be processed.

実行可能な実装において、例えば、マージ・モードでは、処理対象のピクチャ・ブロックの予測された動きベクトルは、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用される。 In a viable implementation, for example, in merge mode, the predicted motion vector of the picture block to be processed is used as the initial motion vector of the picture block to be processed.

処理対象のピクチャ・ブロックの予測された動きベクトルは、本願の実施形態における図6ないし図9に示される方法、又はH.265規格又はJEM参照モードにおける任意の何れかの既存の予測された動きベクトル取得方法によって取得されることが可能である。これは限定されない。動きベクトル差分は、処理対象のピクチャ・ブロックに関連して取得されることが可能である。動き推定は、処理対象のピクチャ・ブロックの予測された動きベクトルに基づいて決定された探索範囲内で実行され、動き推定後に得られた処理対象のピクチャ・ブロックの動きベクトルと処理対象のピクチャ・ブロックの予測された動きベクトルとの間の差分が、動きベクトル差分として使用される。 The predicted motion vector of the picture block to be processed is the method shown in FIGS. 6 to 9 in the embodiment of the present application, or H. It can be acquired by any existing predicted motion vector acquisition method in the 265 standard or JEM reference mode. This is not limited. The motion vector difference can be acquired in relation to the picture block to be processed. Motion estimation is performed within a search range determined based on the predicted motion vector of the picture block to be processed, and the motion vector of the picture block to be processed and the picture to be processed obtained after motion estimation. The difference between the block and the predicted motion vector is used as the motion vector difference.

双方向予測の間に、このステップは具体的には:処理対象のピクチャ・ブロックの前方予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの第1の初期の動きベクトルを取得するステップと、処理対象のピクチャ・ブロックの後方予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの第2の初期の動きベクトルを取得するステップとを含む。 During bidirectional prediction, this step specifically: Get the first initial motion vector of the picture block to be processed based on the forward predicted motion vector of the picture block to be processed. And the step of acquiring a second initial motion vector of the picture block to be processed based on the backward predicted motion vector of the picture block to be processed.

1302:初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、処理対象のピクチャ・ブロックの予測ブロックを取得する。詳細は以下の通りである: 1302: Obtains a predicted block of picture blocks to be processed based on the initial motion vector and one or more preset motion vector offsets. Details are as follows:

S13021:処理対象のピクチャ・ブロックの参照フレーム・インデックスで示される処理対象のピクチャ・ブロックの参照フレームから、処理対象のピクチャ・ブロックの初期の動きベクトルで示されるピクチャ・ブロックを取得し、処理対象のピクチャ・ブロックの時間的な予測ブロックとして供給する。 S13021: The picture block represented by the initial motion vector of the picture block to be processed is acquired from the reference frame of the picture block to be processed indicated by the reference frame index of the picture block to be processed, and the processing target is obtained. It is supplied as a time prediction block of the picture block of.

初期の動きベクトルは、第1の初期の動きベクトルと第2の初期の動きベクトルとを含む。第1の初期の動きベクトルは、処理対象のピクチャ・ブロックの第1の参照フレーム・リストに基づいて第1動き補正ブロックを示し、第1動き補正ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための参照ブロックである。第2の初期の動きベクトルは、処理対象のピクチャ・ブロックの第2の参照フレーム・リストに基づいて第2動き補正ブロックを示し、第2動き補正ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための参照ブロックである。 The initial motion vector includes a first initial motion vector and a second initial motion vector. The first initial motion vector indicates the first motion compensation block based on the first reference frame list of the picture block to be processed, and the first motion compensation block is motion compensation in the picture block to be processed. Is a reference block for executing. The second initial motion vector indicates a second motion compensation block based on the second reference frame list of the picture block to be processed, and the second motion compensation block is motion compensation in the picture block to be processed. Is a reference block for executing.

13022:1つ以上の最終的な動きベクトルを取得するために、初期の動きベクトルと、処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加える。ここで、各々の最終的な動きベクトルは探索位置を示す。 13022: To get one or more final motion vectors, add the initial motion vector and one or more preset motion vector offsets of the picture block to be processed. Here, each final motion vector indicates a search position.

前もってセットされた動きベクトル・オフセットは、前もってセットされたオフセット・ベクトル値であってもよいし、前もってセットされたオフセット・ベクトル精度であってもよいし、又は前もってセットされたオフセット・ベクトル・レンジであってもよい。前もってセットされた動きベクトル・オフセットの具体的な値、及び前もってセットされた動きベクトル・オフセットの量は、本発明のこの実施形態において限定されない。 The preset motion vector offset may be a preset offset vector value, a preset offset vector accuracy, or a preset offset vector range. May be. The specific value of the preset motion vector offset and the amount of the preset motion vector offset are not limited in this embodiment of the invention.

最終的な動きベクトルは、第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含む。第1の最終的な動きベクトルは、処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて第1動き補償ブロックを示し、第1動き補償ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための予測ブロックである。第2の最終的な動きベクトルは、処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて第2動き補償ブロックを示し、第2動き補償ブロックは、処理対象のピクチャ・ブロックにおける動き補償を実行するための予測ブロックである。 The final motion vector includes a first final motion vector and a second final motion vector. The first final motion vector indicates a first motion compensation block based on the first reference frame list of the picture block to be processed, and the first motion compensation block is motion compensation in the picture block to be processed. Is a predictive block for executing. The second final motion vector indicates a second motion compensation block based on the second reference frame list of the picture block to be processed, and the second motion compensation block is motion compensation in the picture block to be processed. Is a predictive block for executing.

13023:1つ以上の最終的な動きベクトルによって示される1つ以上の探索位置において1つ以上の候補の予測ブロックを取得する。ここで、各々の探索位置は1つの候補予測ブロックに対応する。 13023: Acquire one or more candidate prediction blocks at one or more search positions indicated by one or more final motion vectors. Here, each search position corresponds to one candidate prediction block.

13024:1つ以上の候補の予測ブロックから、時間的な予測ブロックからのピクセル差分が最小の候補の予測ブロックを、処理対象のピクチャ・ブロックの予測ブロックとして選択する。 13024: From one or more candidate prediction blocks, the candidate prediction block with the smallest pixel difference from the temporal prediction block is selected as the prediction block for the picture block to be processed.

最小ピクセル差分はまた、最小歪コストとして理解されてもよい。この場合、予測ブロックの最終的な動きベクトルは、複数の候補の最終的な動きベクトルにおける最小歪コストに対応する候補の最終的な動きベクトルである。歪コストは、複数の方法で計算されてもよいことが、理解されるべきである。例えば、候補予測ブロックと時間的な予測ブロックとのピクセル行列間の絶対差分の合計が計算されてもよいし、又は、ピクセル行列の平均が除去された後の絶対差分の合計が計算されてもよいし、又は、ピクセル行列の別の比較的正確な値が計算されてもよい。最小歪コストの具体的な内容は、本発明のこの実施形態では限定されない。 The minimum pixel difference may also be understood as the minimum distortion cost. In this case, the final motion vector of the prediction block is the candidate final motion vector corresponding to the minimum strain cost in the final motion vectors of the plurality of candidates. It should be understood that strain costs may be calculated in multiple ways. For example, the sum of the absolute differences between the pixel matrices of the candidate prediction block and the temporal prediction block may be calculated, or the sum of the absolute differences after the pixel matrix averages have been removed may be calculated. Alternatively, another relatively accurate value of the pixel matrix may be calculated. The specific content of the minimum strain cost is not limited to this embodiment of the present invention.

双方向予測の間において、このステップは具体的には:処理対象のピクチャ・ブロックの第1参照フレーム・リスト・インデックスによって示される処理対象のピクチャ・ブロックの第1参照フレーム・リストから、処理対象のピクチャ・ブロックの第1の初期の動きベクトルによって示される第1ピクチャ・ブロックを取得するステップであって、第1ピクチャ・ブロックは前方参照ブロックであり、相応して第1の初期の動きベクトルは前方の初期の動きベクトルであってもよい、ステップと、処理対象のピクチャ・ブロックの第2参照フレーム・リストによって示される処理対象のピクチャ・ブロックの第2参照フレーム・リストから、処理対象のピクチャ・ブロックの第2の初期の動きベクトルによって示される第2ピクチャ・ブロックを取得するステップであって、第2ピクチャ・ブロックは後方参照ブロックであり、相応して第2の初期の動きベクトルは後方の初期の動きベクトルであってもよい、ステップと、処理対象のピクチャ・ブロックの時間予測ブロック・ブロックを取得するために、第1ピクチャ・ブロック及び第2ピクチャ・ブロックに対する重み付け処理を実行するステップと、1つ以上の第1の最終的な動きベクトルを取得するために、処理対象のピクチャ・ブロックの第1の初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを加算し、1つ以上の第2の最終的な動きベクトルを取得するために、処理対象のピクチャ・ブロックの第2の初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを加算するステップと、1つ以上の第の最終的な動きベクトルによって示される1つ以上の探索位置で1つ以上の第1候補予測ブロックを取得し、1つ以上の第2の最終的な動きベクトルによって示される1つ以上の探索位置で1つ以上の第1候補予測ブロックを取得するステップと、1つ以上の第1候補予測ブロックから、時間予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの第1予測ブロックとして選択し、1つ以上の後方の候補予測ブロックから、時間予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの第2予測ブロックとして選択するステップと、処理対象のピクチャ・ブロックの予測ブロックを取得するために、第1予測ブロック及び第2予測ブロックに対する重み付け処理を実行するステップとを含む。 During bidirectional prediction, this step specifically: From the first reference frame list of the picture block to be processed, indicated by the first reference frame list index of the picture block to be processed. In the step of acquiring the first picture block indicated by the first initial motion vector of the picture block of, the first picture block is the forward reference block and correspondingly the first initial motion vector. From the step and the second reference frame list of the picture block to be processed, which may be the initial motion vector ahead, from the second reference frame list of the picture block to be processed. The step of acquiring the second picture block indicated by the second initial motion vector of the picture block, the second picture block being the back reference block, correspondingly the second initial motion vector. Performs weighting on the first and second picture blocks to obtain the steps and the time-predicted block blocks of the picture blocks to be processed, which may be the initial motion vector backwards. A step and a first initial motion vector of a picture block to be processed and one or more preset motion vector offsets to obtain one or more first final motion vectors. To add up to get one or more second final motion vectors, the second initial motion vector of the picture block to be processed and one or more preset motion vector offsets. Obtain one or more first candidate prediction blocks at one or more search positions indicated by the steps to be added and one or more second final motion vectors, and one or more second finals. Candidate prediction with the minimum pixel difference from the time prediction block from the step of acquiring one or more first candidate prediction blocks at one or more search positions indicated by the motion vector and one or more first candidate prediction blocks. A block is selected as the first prediction block of the picture block to be processed, and a candidate prediction block having the smallest pixel difference from the time prediction block from one or more backward candidate prediction blocks is selected as the picture block to be processed. To get the step to select as the second prediction block of, and the prediction block of the picture block to be processed, the first prediction It includes a step of executing a weighting process for the measurement block and the second prediction block.

一部の実施形態では、複数の候補の最終的な動きベクトルにおける最小歪コストに対応する候補の最終動きベクトルによって示される方向の別の動きベクトルが、代替的に、予測ブロックの最終的な動きベクトルとして使用されてもよい。具体的には、予測ブロックの最終的な動きベクトルは、第1の前もってセットされた条件に基づいて選択されてもよい。 In some embodiments, another motion vector in the direction indicated by the candidate's final motion vector corresponding to the minimum strain cost in the final motion vector of the plurality of candidates alternatives to the final motion of the predicted block. It may be used as a vector. Specifically, the final motion vector of the prediction block may be selected based on the first preset condition.

可能な実装において、複数の候補の最終的な動きベクトルは、複数の方向における複数の動きベクトルであってもよい。先ず、各方向の特定の精度が選択されてもよい。例えば、整数ピクセル精度を有する候補の最終的な動きベクトルが、各方向の第1ベクトルとして使用され、最小歪コストに対応する第1ベクトルが、複数の第1ベクトルから参照ベクトルとして選択される。参照ベクトルに対応する歪コストAと、負の方向の参照ベクトルに対応する第2ベクトルに対応する歪コストCと、初期の動きベクトルに対応する歪コストBとの間の第1の前もってセットされた関係が、第1の前もってセットされた条件を満たす場合、参照ベクトルが、予測ブロックの最終的な動きベクトルとして使用される。参照ベクトルに対応する歪コストAと、負の方向の参照ベクトルに対応する第2ベクトルに対応する歪コストCと、初期の動きベクトルに対応する歪コストBとの間の第1の前もってセットされた関係が、第1の前もってセットされた条件を満たさない場合において、A及びBが第2の前もってセットされた条件を満たすならば、第1ベクトルの長さは、第3ベクトルを得るために前もってセットされた精度で減らされ、第3ベクトルが、予測ブロックの第1ターゲット・ベクトルとして使用される。A及びBが第2の前もってセットされた条件を満たさない場合において、B及びCが第3の前もってセットされた条件を満たすならば、第1ベクトルの長さは、第4ベクトルを得るために前もってセットされた精度で増やされ、第4ベクトルが、予測ブロックの第1ターゲット・ベクトルとして使用される。B及びCが第3の前もってセットされた条件を満たさない場合には、特定のループ・カウントが設定される。各ループでは、参照ベクトルのオフセットが最初に更新される。具体的には、A、B、Cの間の第2の前もってセットされた関係が第4の前もってセットされた条件を満たす場合、参照ベクトルのオフセットが更新される。A、B、Cの間の第2の前もってセットされた関係が第4の前もってセットされた条件を満たさないか、又はループ・カウントが0まで減った場合、参照ベクトルのオフセットは更新されず、ループは終了する。ループが終了した後、オフセットの方向が、A及びCの値の関係に基づいて決定され、オフセットの方向は正方向又は負方向を含む。参照ベクトル、オフセット、及びオフセットの方向に基づいて第5ベクトルが取得され、第5ベクトルは、予測ブロックの第1ターゲット・ベクトルとして使用される。最終的に、第1ターゲット・ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。第1の前もってセットされた関係は、比例関係、差分関係、又は値の関係であってもよい。第1の前もってセットされた条件は、A、C、及びBの間の第1の前もってセットされた関係が、前もってセットされた値に等しいことであってもよいし、第2の前もってセットされた条件は、AがBに等しいことであってもよいし、第3の前もってセットされた条件は、BがCに等しいことであってもよい。第1の前もってセットされた関係、第1の前もってセットされた条件、前もってセットされた値、第2の前もってセットされた条件、第3の前もってセットされた条件、第2の前もってセットされた関係、及び第4の前もってセットされた条件は、本発明のこの実施形態において特に限定されない。 In a possible implementation, the final motion vector of the plurality of candidates may be a plurality of motion vectors in multiple directions. First, a particular accuracy in each direction may be selected. For example, the final motion vector of the candidate with integer pixel accuracy is used as the first vector in each direction, and the first vector corresponding to the minimum strain cost is selected as the reference vector from the plurality of first vectors. The first pre-set between the strain cost A corresponding to the reference vector, the strain cost C corresponding to the second vector corresponding to the negative reference vector, and the strain cost B corresponding to the initial motion vector. If the relationship satisfies the first preset condition, the reference vector is used as the final motion vector of the prediction block. The first pre-set between the strain cost A corresponding to the reference vector, the strain cost C corresponding to the second vector corresponding to the negative reference vector, and the strain cost B corresponding to the initial motion vector. If the relationship does not satisfy the first preset condition and A and B satisfy the second preset condition, then the length of the first vector is to obtain the third vector. Decreased with a preset precision, the third vector is used as the first target vector of the prediction block. If A and B do not meet the second preset condition, and B and C satisfy the third preset condition, then the length of the first vector is to obtain the fourth vector. Increased with preset precision, the fourth vector is used as the first target vector of the prediction block. If B and C do not meet the third preset condition, a particular loop count is set. In each loop, the offset of the reference vector is updated first. Specifically, if the second preset relationship between A, B, C satisfies the fourth preset condition, the offset of the reference vector is updated. If the second pre-set relationship between A, B, C does not meet the fourth pre-set condition, or the loop count drops to zero, the offset of the reference vector is not updated. The loop ends. After the loop ends, the direction of the offset is determined based on the relationship between the values of A and C, and the direction of the offset includes the positive or negative direction. A fifth vector is obtained based on the reference vector, the offset, and the direction of the offset, and the fifth vector is used as the first target vector of the prediction block. Finally, the first target vector is used as the final motion vector of the prediction block. The first pre-set relationship may be a proportional relationship, a differential relationship, or a value relationship. The first pre-set condition may be that the first pre-set relationship between A, C, and B is equal to the pre-set value, or the second pre-set. The condition may be that A is equal to B, and the third pre-set condition may be that B is equal to C. 1st pre-set relationship, 1st pre-set condition, pre-set value, 2nd pre-set condition, 3rd pre-set condition, 2nd pre-set relationship , And the fourth pre-set conditions are not particularly limited in this embodiment of the invention.

例えば、8つの候補の動きベクトルが存在し、8つの候補の動きベクトルは、予測ブロックの上方向、下方向、左方向、及び右方向の4方向に位置する。各方向に2つの候補の動きベクトルが存在する。4つの第1ベクトルを得るために、最大長の候補の動きベクトルが、4つの方向のそれぞれからを先ず選択される。上方向の第1ベクトルが最小歪コストに対応する場合、上方向の第1ベクトルが参照ベクトルとして使用され、即ち、予測ブロックの最終的なベクトルは正方向の動きベクトルである。第1の前もってセットされた条件は、参照ベクトルに対応する歪コストAと、第2ベクトルに対応する歪コストCと、初期の動きベクトルに対応する歪コストBとの間の比例関係が1であり、第2ベクトルは参照ベクトルとは逆方向の候補の動きベクトルであり、前もってセットされた精度は1/4精度であることが仮定される。この場合において、参照ベクトルに対応する歪コストが2であり、下方向の第1ベクトルに対応する歪コストが4であり、初期の動きベクトルに対応する歪コストが3である場合に、参照ベクトルに対応する歪コスト、下方向の第1ベクトルに対応する歪コスト、及び初期の動きベクトルに対応する歪コストの比例関係が(2×B)/(A+C)であり、比例関係は1であることが仮定される。この場合、参照ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。下方向の第1ベクトルに対応する歪コストが5であり、比率関係(2×B)/(A+C)が1でない場合、比率は第1の前もってセットされた条件を満たさない。この場合において、AがBに等しい場合、参照ベクトルの長さは、第3ベクトルを得るために、前もってセットされた精度1/4で減らされ、第3ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。AがBと等しくない場合において、BがCに等しい場合、参照ベクトルの長さは、第4ベクトルを得るために、前もってセットされた精度1/4で増やされ、第4ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。BがCと等しくない場合、ループ・カウントは3に設定され、参照ベクトルのオフセットの精度は、先ず、各ループで1/8に更新され、A、B、及びCの間の第2の前もってセットされた関係は、K=|(A−C)×16|及びT=((A+C)−2×B)×8であると仮定される。KがT以上である場合に、第4の前もってセットされた条件は満たされ、参照ベクトルのオフセットの精度は1/16に更新される。K及びTは各ループにおいて、K=K−T、及びT=T/2に更新されることが仮定される。ループ・カウントが0まで減少すると、ループは終了する。ループが終了した後に、A及びCの値の関係に基づいて、オフセットの方向が決定される。AがC以上である場合、オフセットの方向は正の方向である。AがCより小さい場合、オフセットの方向は負の方向である。参照ベクトル、オフセット、及びオフセットの方向に基づいて第5ベクトルが取得され、第5ベクトルは、予測ブロックの第1ターゲット・ベクトルとして使用される。最終的に、第1ターゲット・ベクトルは、予測ブロックの最終的な動きベクトルとして使用される。 For example, there are eight candidate motion vectors, and the eight candidate motion vectors are located in four directions: up, down, left, and right of the prediction block. There are two candidate motion vectors in each direction. To obtain the four first vectors, the maximum length candidate motion vector is first selected from each of the four directions. If the first vector in the upward direction corresponds to the minimum strain cost, the first vector in the upward direction is used as the reference vector, that is, the final vector of the prediction block is the positive motion vector. The first pre-set condition is that the proportional relationship between the strain cost A corresponding to the reference vector, the strain cost C corresponding to the second vector, and the strain cost B corresponding to the initial motion vector is 1. Yes, the second vector is a candidate motion vector in the opposite direction to the reference vector, and it is assumed that the preset precision is 1/4 precision. In this case, when the strain cost corresponding to the reference vector is 2, the strain cost corresponding to the first downward vector is 4, and the strain cost corresponding to the initial motion vector is 3, the reference vector. The proportional relationship between the strain cost corresponding to, the strain cost corresponding to the first downward vector, and the strain cost corresponding to the initial motion vector is (2 × B) / (A + C), and the proportional relationship is 1. Is assumed. In this case, the reference vector is used as the final motion vector of the prediction block. If the strain cost corresponding to the first vector in the downward direction is 5 and the ratio relationship (2 × B) / (A + C) is not 1, the ratio does not satisfy the first preset condition. In this case, if A is equal to B, the length of the reference vector is reduced by a preset precision of 1/4 to obtain the third vector, which is the final motion of the prediction block. Used as a vector. If A is not equal to B and B is equal to C, then the length of the reference vector is increased with a preset precision of 1/4 to obtain the 4th vector, which is the prediction block. Used as the final motion vector of. If B is not equal to C, the loop count is set to 3 and the offset accuracy of the reference vector is first updated to 1/8 in each loop and a second advance between A, B, and C. It is assumed that the set relationships are K = | (AC) × 16 | and T = ((A + C) -2 × B) × 8. If K is greater than or equal to T, the fourth preset condition is satisfied and the offset accuracy of the reference vector is updated to 1/16. It is assumed that K and T are updated to K = KT and T = T / 2 in each loop. When the loop count drops to 0, the loop ends. After the loop ends, the direction of the offset is determined based on the relationship between the values of A and C. If A is greater than or equal to C, the offset direction is positive. If A is less than C, the offset direction is negative. A fifth vector is obtained based on the reference vector, the offset, and the direction of the offset, and the fifth vector is used as the first target vector of the prediction block. Finally, the first target vector is used as the final motion vector of the prediction block.

確かに、幾つかの実施形態では、参照ベクトルに対応する歪コストと、ターゲット方向の第3ベクトルに対応する歪コストとの間の第3の前もってセットされた関係が、第5の前もってセットされた条件を満たさない場合、第1ベクトルの長さは、第2ターゲット・ベクトルに対応する増加した歪コストが第2ターゲット条件を満たすまで、前もってセットされた精度によって増やされることが可能である。参照ベクトルに対応する歪コストと、ターゲット方向の第3ベクトルに対応する歪コストとの間の第3の前もってセットされた関係が、第5の前もってセットされた条件を満たす場合、第1ベクトルの長さは、第2ターゲット・ベクトルに対応する減少した歪コストがターゲット条件を満たすまで、前もってセットされた精度によって減らされることが可能である。ターゲット方向は参照ベクトルの方向以外の任意の方向である。第3の前もってセットされた関係、第5の前もってセットされた条件、及びターゲット条件は、本発明のこの実施形態において具体的に限定されない。 Indeed, in some embodiments, a third pre-set relationship between the strain cost corresponding to the reference vector and the strain cost corresponding to the third vector in the target direction is set in the fifth pre-set. If the above conditions are not met, the length of the first vector can be increased by the preset accuracy until the increased strain cost corresponding to the second target vector meets the second target condition. If the third preset relationship between the strain cost corresponding to the reference vector and the strain cost corresponding to the third vector in the target direction satisfies the fifth preset condition, then the first vector. The length can be reduced by the preset accuracy until the reduced strain cost corresponding to the second target vector meets the target condition. The target direction is any direction other than the direction of the reference vector. The third pre-set relationship, the fifth pre-set condition, and the target condition are not specifically limited in this embodiment of the invention.

幾つかの実施態様において、参照ベクトルに対応する歪コストのうちの第4の前もってセットされた関係、ターゲット方向の第3ベクトルに対応する歪コスト、及び中間ベクトルに対応する歪コストが、第6の前もってセットされた条件を満たす場合、第3ターゲット・ベクトルは、前もってセットされた精度によって参照ベクトルの長さを増加させることによって決定される。参照ベクトルに対応する歪コスト、ターゲット方向の第3ベクトルに対応する歪コスト、及び中間ベクトルに対応する歪コストの間の第4の前もってセットされた関係が、第6の前もってセットされた条件を満たさない場合、第3ターゲット・ベクトルは、前もってセットされた精度によって参照ベクトルの長さを減少させることによって決定される。中間ベクトルは、参照ベクトルと第2ベクトルとの間に位置する動きベクトルである。前もってセットされた精度で参照ベクトルを増加させ、前もってセットされた精度で参照ベクトルを減少させる処理は上述されており、詳細はここで再び説明しない。第4の前もってセットされた関係及び第6の前もってセットされた条件は、本発明のこの実施形態において具体的に限定されない。 In some embodiments, the fourth preset relationship of the strain costs corresponding to the reference vector, the strain cost corresponding to the third vector in the target direction, and the strain cost corresponding to the intermediate vector is the sixth. If the preset condition of is satisfied, the third target vector is determined by increasing the length of the reference vector by the preset accuracy. The fourth pre-set relationship between the strain cost corresponding to the reference vector, the strain cost corresponding to the third vector in the target direction, and the strain cost corresponding to the intermediate vector is the sixth pre-set condition. If not satisfied, the third target vector is determined by reducing the length of the reference vector with a preset precision. The intermediate vector is a motion vector located between the reference vector and the second vector. The process of increasing the reference vector with preset precision and decreasing the reference vector with preset precision has been described above and will not be described in detail here again. The fourth pre-set relationship and the sixth pre-set condition are not specifically limited in this embodiment of the invention.

図14は、本願の実施形態によるビデオ復号化の間に動きベクトルを更新する一例のフローチャートである。処理対象のピクチャ・ブロックは、復号化対象のブロックである。 FIG. 14 is a flowchart of an example of updating a motion vector during video decoding according to an embodiment of the present application. The picture block to be processed is a block to be decoded.

1401:インデックスで示される処理対象のピクチャ・ブロックの予測された動きベクトルに基づいて、処理対象のピクチャ・ブロックの初期の動きベクトルを取得する。 1401: The initial motion vector of the picture block to be processed is acquired based on the predicted motion vector of the picture block to be processed indicated by the index.

実行可能な実装において、例えば、マージ・モードでは、処理対象のピクチャ・ブロックの予測された動きベクトルが、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用される。 In a viable implementation, for example, in merge mode, the predicted motion vector of the picture block to be processed is used as the initial motion vector of the picture block to be processed.

処理対象のピクチャ・ブロックの予測された動きベクトルは、本願の実施形態における図6ないし図9に示される方法、又はH.265規格又はJEM参照モードにおける既存の予測動きベクトル取得方法の任意の1つによって取得されることが可能である。これは限定されない。動きベクトル差分は、ビットストリームを解析することによって取得されることが可能である。 The predicted motion vector of the picture block to be processed is the method shown in FIGS. 6 to 9 in the embodiment of the present application, or H. It can be acquired by any one of the existing predicted motion vector acquisition methods in the 265 standard or JEM reference mode. This is not limited. The motion vector difference can be obtained by analyzing the bitstream.

双方向予測の間に、このステップは、具体的には:処理対象のピクチャ・ブロックの前方予測動きベクトルに基づいて、処理対象のピクチャ・ブロックの第1の初期の動きベクトルを取得するステップと、処理対象のピクチャ・ブロックの後方予測動きベクトルに基づいて、処理対象のピクチャ・ブロックの第2の初期の動きベクトルを取得するステップとを含む。 During bidirectional prediction, this step specifically: obtains the first initial motion vector of the picture block to be processed, based on the forward predicted motion vector of the picture block to be processed. , A step of acquiring a second initial motion vector of the picture block to be processed, based on the backward predicted motion vector of the picture block to be processed.

1402:初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、処理対象のピクチャ・ブロックの予測ブロックを取得する。詳細は次のとおりである。 1402: Obtains a predicted block of picture blocks to be processed based on the initial motion vector and one or more preset motion vector offsets. The details are as follows.

S14021:処理対象のピクチャ・ブロックの時間的な予測ブロックとして供給するために、処理対象のピクチャ・ブロックの参照フレーム・インデックスで示される処理対象のピクチャ・ブロックの参照フレームから、処理対象のピクチャ・ブロックの初期の動きベクトルで示されるピクチャ・ブロックを取得する。 S14021: The picture to be processed from the reference frame of the picture block to be processed indicated by the reference frame index of the picture block to be processed in order to be supplied as a temporal prediction block of the picture block to be processed. Gets the picture block represented by the block's initial motion vector.

14022:1つ以上の最終的な動きベクトルを得るために、初期の動きベクトルと、処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加える。ここで、各々の最終的な動きベクトルは、探索位置を示す。 14022: To obtain one or more final motion vectors, add the initial motion vector and one or more pre-set motion vector offsets of the picture block to be processed. Here, each final motion vector indicates a search position.

14023:1つ以上の最終的な動きベクトルによって示される1つ以上の探索位置において、1つ以上の候補の予測ブロックを取得する。各々の探索位置は1つの候補の予測ブロックに対応する。 14023: Acquire one or more candidate prediction blocks at one or more search positions indicated by one or more final motion vectors. Each search position corresponds to one candidate prediction block.

14024:1つ以上の候補の予測ブロックから、時間的な予測ブロックからの最初のピクセル差分を有する候補の予測ブロックを、処理対象のピクチャ・ブロックの予測ブロックとして選択する。 14024: From one or more candidate prediction blocks, the candidate prediction block with the first pixel difference from the temporal prediction block is selected as the prediction block for the picture block to be processed.

双方向予測の間に、このステップは具体的には:処理対象のピクチャ・ブロックの第1参照フレーム・インデックスによって示される処理対象のピクチャ・ブロックの第1参照フレームから、処理対象のピクチャ・ブロックの第1の初期の動きベクトルによって示される第1ピクチャ・ブロックを取得し、処理対象のピクチャ・ブロックの第2参照フレーム・インデックスによって示される処理対象のピクチャ・ブロックの第2参照フレームから、処理対象のピクチャ・ブロックの第2の初期の動きベクトルによって示される第2ピクチャ・ブロックを取得するステップと、
処理対象のピクチャ・ブロックの時間的な予測ブロックを取得するために、第1ピクチャ・ブロックと第2ピクチャ・ブロックとに対して重み付け処理を実行するステップと、第1の初期の動きベクトルと処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加算して、1つ以上の第1の最終的な動きベクトルを取得し、第2の初期の動きベクトルと処理対象のピクチャ・ブロックの1つ以上の前もってセットされた動きベクトル・オフセットとを加算して、1つ以上の第2の最終的な動きベクトルを取得するステップと、1つ以上の第1の最終的な動きベクトルによって示される1つ以上の探索位置における1つ以上の前方候補予測ブロックを取得し、1つ以上の第2の最終的な動きベクトルによって示される1つ以上の探索位置における1つ以上の後方候補予測ブロックを取得するステップと、1つ以上の前方候補予測ブロックから、時間的な予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの前方予測ブロックとして選択し、1つ以上の後方候補予測ブロックから、時間的な予測ブロックからの最小ピクセル差分を有する候補予測ブロックを、処理対象のピクチャ・ブロックの後方予測ブロックとして選択するステップと、処理対象のピクチャ・ブロックの予測ブロックを得るために、前方予測ブロック及び後方予測ブロックに対して重み付け処理を実行するステップとを含む。
During bidirectional prediction, this step specifically: From the first reference frame of the picture block to be processed, indicated by the first reference frame index of the picture block to be processed, to the picture block to be processed. Gets the first picture block indicated by the first initial motion vector of, and processes from the second reference frame of the picture block to be processed, which is indicated by the second reference frame index of the picture block to be processed. The step of getting the second picture block, which is indicated by the second initial motion vector of the picture block of interest,
A step of performing weighting processing on the first picture block and the second picture block, and a first initial motion vector and processing in order to obtain a temporally predicted block of the picture block to be processed. Add one or more pre-set motion vector offsets of the picture block of interest to get one or more first final motion vectors, the second initial motion vector and the object to be processed. A step of adding one or more pre-set motion vector offsets of a picture block to obtain one or more second final motion vectors and one or more first finals. Get one or more forward candidate prediction blocks at one or more search positions indicated by a motion vector, and one or more at one or more search positions indicated by one or more second final motion vectors. From the step of acquiring the backward candidate prediction block of and one or more forward candidate prediction blocks, the candidate prediction block having the minimum pixel difference from the temporal prediction block is selected as the forward prediction block of the picture block to be processed. Then, from one or more backward candidate prediction blocks, a step of selecting a candidate prediction block having the minimum pixel difference from the temporal prediction block as a backward prediction block of the picture block to be processed, and a picture to be processed. In order to obtain the predicted block of the block, a step of executing a weighting process on the forward predicted block and the backward predicted block is included.

幾つかの具体的な実施形態を用いることにより、以下、動きベクトルを更新する実装を詳細に説明する。図13の符号化方法及び図14の復号化方法で説明されているように、動きベクトルの更新はエンコーダ及びデコーダにおいて一貫していることが理解されるべきである。従って、以下の実施形態は、エンコーダ又はデコーダのみから説明される。エンコーダからの説明が提供される場合に、デコーダにおける実装は、エンコーダにおけるものと一貫性を維持しており、デコーダからの説明が提供される場合に、エンコーダにおける実装は、デコーダにおけるものと一貫性を維持していることが理解されるべきである。 The implementation of updating the motion vector will be described in detail below by using some specific embodiments. It should be understood that motion vector updates are consistent in encoders and decoders, as described in the coding method of FIG. 13 and the decoding method of FIG. Therefore, the following embodiments will be described only from the encoder or decoder. The implementation in the decoder remains consistent with that in the encoder when the description from the encoder is provided, and the implementation in the encoder is consistent with that in the decoder when the description from the decoder is provided. It should be understood that it maintains.

図15に示すように、現在の復号化ブロックは、第1復号化ブロックであり、現在の復号化ブロックの予測された動き情報が得られる。現在の復号化ブロックの前方及び後方の動きベクトル予測子は、それぞれ(−10,4)及び(5,6)であり、現在の復号化ブロックのピクチャ・オーダ−・カウント(picture order count,POC)POCは、4であると仮定する。POCは、ピクチャの表示順序を示すために使用され、ピクチャの表示された参照ピクチャのインデックス値によって示される参照ピクチャのPOCは、それぞれ2及び6である。この場合、現在の復号化ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 15, the current decoding block is the first decoding block, and the predicted motion information of the current decoding block can be obtained. The motion vector predictors forward and backward of the current decoded block are (-10, 4) and (5, 6), respectively, and the picture order count (POC) of the current decoded block. ) POC is assumed to be 4. The POC is used to indicate the display order of the pictures, and the POCs of the reference pictures indicated by the index values of the displayed reference pictures of the pictures are 2 and 6, respectively. In this case, the POC corresponding to the current decryption block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

前方予測と後方予測とが現在の復号化ブロックに対して別々に実行されて、現在の復号化ブロックの初期の前方予測ブロック(forward prediction block,FPB)と初期の後方予測ブロック(backward prediction block,BPB)とを求める。初期の前方復号化予測ブロック及び初期の後方復号化予測ブロックはそれぞれFPB1及びBPB1であると仮定する。現在の復号化ブロックの第1復号化予測ブロック(decoding prediction block,DPB)は、FPB1及びBPB1に対して重み付け加算を行うことによって得られ、DPB1である仮定される。 A forward prediction and backward prediction is performed separately for the current decoding block, the initial pre Ho予the current decoding block measuring block (forward prediction block, FPB) and early after Ho予measuring block ( backward prediction block, BPB). It is assumed that the initial forward decoding prediction block and the initial backward decoding prediction block are FPB1 and BPB1, respectively. The first decoding prediction block (DPB) of the current decoding block is obtained by weighting addition to FPB1 and BPB1 and is assumed to be DPB1.

(−10,4)及び(5,6)が前方及び後方動きベクトル予測器の基準入力として使用され、前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックに対して、第1精度の動き探索が別々に実行される。この場合、第1精度は1ピクセル・レンジにおける1/2ピクセル精度である。第1復号化予測ブロックDPB1が参照として使用される。各々の動き探索により得られる対応する新しい前方及び後方復号化予測ブロックが、第1復号化予測ブロックDPB1と比較されて、DPB1からの最小の差分を有する新しい復号化予測ブロックを取得し、新しい復号化予測ブロックに対応する前方及び後方動きベクトル予測子が、ターゲット動きベクトル予測子として使用され、それぞれ(−11,4)及び(6,6)であると仮定される。 (-10,4) and (5,6) are used as reference inputs for forward and backward motion vector predictors, with first precision motion search for forward and backward predictive reference picture blocks. Are executed separately. In this case, the first precision is 1/2 pixel precision in the 1 pixel range. The first decryption prediction block DPB1 is used as a reference. The corresponding new forward and backward decoding prediction blocks obtained by each motion search are compared with the first decoding prediction block DPB1 to obtain a new decoding prediction block with the smallest difference from DPB1 and a new decoding. The forward and backward motion vector predictors corresponding to the transformation prediction blocks are used as target motion vector predictors and are assumed to be (-11,4) and (6,6), respectively.

ターゲット動きベクトル予測子は、(−11,4)及び(6,6)に更新され、前方予測及び後方予測が、ターゲット動きベクトル予測子に基づいて第1復号化ブロックに対して別々に実行され、ターゲット復号化予測ブロックが、取得された新しい前方及び後方復号化予測ブロックに対して重み付け加算を行うことにより取得され、DPB2であると仮定され、現在の復号化ブロックの復号化予測ブロックは、DPB2に更新される。 The target motion vector predictor is updated to (-11,4) and (6,6), and forward and backward predictions are performed separately for the first decoding block based on the target motion vector predictor. , The target decryption prediction block is acquired by weighting the acquired new forward and backward decoding prediction blocks and is assumed to be DPB2, and the decoding prediction block of the current decoding block is Updated to DPB2.

第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに対して実行される場合、第1精度は任意の指定あれた精度であってもよく、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision may be any specified precision, eg, an integer pixel precision. , 1/2 pixel accuracy, 1/4 pixel accuracy, or 1/8 pixel accuracy.

図16に示すように、現在の復号化ブロックは、第1復号化ブロックであり、現在の復号化ブロックの予測された動き情報が取得される。現在の復号化ブロックの前方動きベクトル予測子は(−21,18)であり、現在の復号化ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値によって示される参照ピクチャのPOCは2であることが仮定される。この場合、現在の復号化ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2である。 As shown in FIG. 16, the current decoding block is the first decoding block, and the predicted motion information of the current decoding block is acquired. The forward motion vector predictor of the current decoded block is (-21,18), the POC of the picture in which the current decoded block is located is 4, and the POC of the reference picture indicated by the index value of the reference picture is It is assumed to be 2. In this case, the POC corresponding to the current decryption block is 4 and the POC corresponding to the forward predictive reference picture block is 2.

前方予測が、現在の復号化ブロックに対して実行されて、現在の復号化ブロックの初期の前方予測ブロックを取得する。初期の前方復号化予測ブロックはFPB1であると仮定する。この場合、FPB1は、現在の復号化ブロックの第1復号化予測ブロックとして使用され、第1復号化予測ブロックは、DPB1として示される。 Forward prediction is performed on the current decryption block to get the initial forward prediction block of the current decryption block. It is assumed that the initial forward decoding prediction block is FPB1. In this case, the FPB1 is used as the first decoding prediction block of the current decoding block, and the first decoding prediction block is shown as DPB1.

(−21,18)が、前方動きベクトル予測器の基準入力として使用され、第1精度の動き探索が、前方動き予測参照ピクチャ・ブロックに対して実行される。この場合において、第1精度は5ピクセル・レンジにおける1ピクセル精度である。第1復号化予測ブロックDPB1が参照として使用される。各々の動き探索により取得された対応する新しい前方復号化予測ブロックは、第1復号化予測ブロックDPB1と比較され、DPB1からの最小差分を有する新しい復号化予測ブロックを取得し、新しい復号化予測ブロックに対応する前方動きベクトル予測子が、ターゲット動きベクトル予測子として使用され、(−19,19)であると仮定される。 (-21, 18) are used as reference inputs for the forward motion vector predictor, and a first-precision motion search is performed on the forward motion prediction reference picture block. In this case, the first precision is 1 pixel precision in the 5 pixel range. The first decryption prediction block DPB1 is used as a reference. The corresponding new forward decoding prediction block acquired by each motion search is compared with the first decoding prediction block DPB1 to obtain a new decoding prediction block with the minimum difference from DPB1 and a new decoding prediction block. The forward motion vector predictor corresponding to is used as the target motion vector predictor and is assumed to be (-19,19).

ターゲット動きベクトル予測子は(−19,19)に更新され、前方予測がターゲット動きベクトル予測子に基づいて実行され、取得された新しい前方復号化予測ブロックは、ターゲット復号化予測ブロックとして使用され、DPB2であると仮定され、現在の復号化ブロックの復号化予測ブロックはDPB2に更新される。 The target motion vector predictor is updated to (-19, 19), forward prediction is performed based on the target motion vector predictor, and the new forward decoding prediction block obtained is used as the target decoding prediction block. Assumed to be DPB2, the decoding prediction block of the current decoding block is updated to DPB2.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合に、第1精度は任意の指定された精度であってもよく、例えば整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよいことに留意すべきである。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision may be any specified precision, eg, an integer pixel precision. It should be noted that the accuracy may be 1/2 pixel accuracy, 1/4 pixel accuracy, or 1/8 pixel accuracy.

図17A及び図17Bに示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測動き情報が得られる。現在のコーディング・ブロックの前方及び後方動きベクトル予測子はそれぞれ(−6,12)及び(8,4)であり、現在のコーディング・ブロックが位置するピクチャのPOCは8であり、参照ピクチャのインデックス値によって示される参照ピクチャのPOCはそれぞれ4及び12であることが仮定される。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは4であり、後方予測参照ピクチャ・ブロックに対応するPOCは12である。 As shown in FIGS. 17A and 17B, the current coding block is the first coding block, and the predicted motion information of the current coding block can be obtained. The forward and backward motion vector predictors of the current coding block are (-6,12) and (8,4), respectively, and the POC of the picture in which the current coding block is located is 8, and the index of the reference picture. It is assumed that the POCs of the reference pictures indicated by the values are 4 and 12, respectively. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 4, and the POC corresponding to the backward predictive reference picture block is 12.

前方予測及び後方予測は、現在の符号化ブロックに対して別々に実行されて、現在の符号化ブロックの初期の前方符号化予測ブロックと初期の後方符号化予測ブロックとを取得する。初期の前方符号化予測ブロック及び初期の後方符号化予測ブロックはそれぞれFPB1及びBPB1であると仮定される。現在の符号化ブロックの第1符号化予測ブロックは、FPB1及びBPB1に対して重み付け加算を実行することによって取得され、DPB1であると仮定される。 The forward and backward predictions are performed separately for the current coded block to get the initial forward and backward coded predictive blocks of the current coded block. The initial forward-coded predictive block and the initial backward-coded predictive block are assumed to be FPB1 and BPB1, respectively. The first coding prediction block of the current coding block is obtained by performing weighting addition to FPB1 and BPB1 and is assumed to be DPB1.

(−6,12)及び(8,4)が前方及び後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに対して別々に実行される。第1符号化予測ブロックDPB1は、参照として使用される。各々の動き探索により取得された対応する新しい前方及び後方符号化予測ブロックは、第1符号化予測ブロックDPB1と比較され、DBIからの最小差分を有する新しい符号化予測ブロックを取得し、新しい符号化予測ブロックに対応する前方及び後方動きベクトル予測子が、ターゲット動きベクトル予測子として使用され、それぞれ(−11,4)及び(6,6)であると仮定される。 (-6,12) and (8,4) are used as reference inputs for forward and backward motion vector predictors, with first precision motion search for forward and backward predictive reference picture blocks. Will be executed separately. The first coded prediction block DPB1 is used as a reference. The corresponding new forward and backward coded predictive blocks obtained by each motion search are compared with the first coded predictive block DPB1 to obtain a new coded predictive block with the minimum difference from the DBI and the new coded. The forward and backward motion vector predictors corresponding to the prediction blocks are used as target motion vector predictors and are assumed to be (-11,4) and (6,6), respectively.

ターゲット動きベクトル予測子は(−11,4)及び(6,6)に更新され、前方予測及び後方予測が、ターゲット動きベクトル予測子に基づいて第1符号化ブロックに対して別々に実行され、ターゲット符号化予測ブロックが、取得された新しい前方及び後方符号化予測ブロックに対して重み付け加算を実行することにより取得され、DPB2であると仮定され、現在のコーディング・ブロックの符号化予測ブロックはDPB2に更新される。 The target motion vector predictors are updated to (-11,4) and (6,6), forward and backward predictions are performed separately for the first coded block based on the target motion vector predictors. The target coded predictive block is obtained by performing a weighted addition on the new forward and backward coded predictive blocks obtained and is assumed to be DPB2, and the coded predictive block of the current coding block is DPB2. Will be updated to.

次いで、(−11,4)及び(6,6)が前方及び後方の動きベクトル予測子の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに関して別々に実行される。現在のコーディング・ブロックの符号化予測ブロックDPB2は、参照として使用される。各々の動き探索で得られた対応する新しい前方及び後方符号化予測ブロックは、第1符号化予測ブロックDPB2と比較されて、DPB2からの最小差分を有する新しい符号化予測ブロックを取得し、新しい符号化予測ブロックに対応する前方及び後方動きベクトル予測子が、新しいターゲット動きベクトル予測子として使用され、それぞれ(−7,11)及び(6,5)であると仮定される。 (-11,4) and (6,6) are then used as reference inputs for the forward and backward motion vector predictors, and the first precision motion search is the forward predictive reference picture block and the backward predictive reference picture. Executed separately for blocks. The coded prediction block DPB2 of the current coding block is used as a reference. The corresponding new forward and backward coded prediction blocks obtained in each motion search are compared with the first coded predictive block DPB2 to obtain a new coded predictive block with the smallest difference from DPB2 and a new code. The forward and backward motion vector predictors corresponding to the transformation prediction blocks are used as new target motion vector predictors and are assumed to be (-7,11) and (6,5), respectively.

次いで、ターゲット動きベクトル予測子は(−7,11)及び(6,5)に更新され、前方予測及び後方予測が、最新のターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、ターゲット符号化予測ブロックは、取得された新しい前方及び後方符号化予測ブロックに対して重み付け加算を実行することにより取得され、DPB3であると仮定され、現在のコーディング・ブロックの符号化予測ブロックはDPB3に更新される。 The target motion vector predictors are then updated to (-7,11) and (6,5), and forward and backward predictions are based on the latest target motion vector predictors for the first coding block. Executed separately, the target coded predictive block is obtained by performing a weighted addition on the new forward and backward coded predictive blocks obtained, assumed to be DPB3, and the code of the current coding block. The conversion prediction block is updated to DPB3.

更に、ターゲット動きベクトル予測子は、上記の方法に従って連続的に更新されることが可能であり、サイクル数は限定されない。 Further, the target motion vector predictor can be continuously updated according to the above method, and the number of cycles is not limited.

第1精度の動き探索が前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに対して実行される場合に、第1精度は任意の指定された精度であってもよく、例えば整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよいことに留意すべきである。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision may be any specified precision, eg, integer pixel precision, It should be noted that it may be 1/2 pixel accuracy, 1/4 pixel accuracy, or 1/8 pixel accuracy.

幾つかの実現可能な実施形態では、条件が満たされるとサイクルは終了することが理解されるべきである。例えば、サイクルは、DPBnとDPBn−1との差分が閾値より小さい場合に終了し、ここで、nは2より大きな正の整数である。 It should be understood that in some feasible embodiments, the cycle ends when the conditions are met. For example, the cycle ends when the difference between DPBn and DPBn-1 is less than the threshold, where n is a positive integer greater than 2.

図18に示すように、現在の復号化ブロックは、第1復号化ブロックであり、現在の復号化ブロックの予測された動き情報が得られる。現在の復号化ブロックの前方及び後方動きベクトルの値はそれぞれ(−10,4)及び(5,6)であり、現在の復号化ブロックの前方及び後方動きベクトル差分はそれぞれ(−2,1)及び(1,1)であり、現在の復号化ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される参照ピクチャのPOCはそれぞれ2及び6であることが仮定される。従って、現在の復号化ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 18, the current decoding block is the first decoding block, and the predicted motion information of the current decoding block can be obtained. The forward and backward motion vector values of the current decoded block are (-10,4) and (5,6), respectively, and the forward and backward motion vector differences of the current decoded block are (-2,1), respectively. And (1,1), it is assumed that the POC of the picture in which the current decoding block is located is 4 and the POC of the reference picture indicated by the index value of the reference picture is 2 and 6, respectively. Therefore, the POC corresponding to the current decoded block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

前方予測及び後方予測は、現在の復号化ブロックに対して別々に実行されて、現在の復号化ブロックの初期の前方復号化予測ブロック(FPB)及び初期の後方復号化予測ブロック(BPB)を取得する。初期の前方復号化予測ブロック及び初期の後方復号化予測ブロックはそれぞれFPB1及びBPB1であると仮定される。現在の復号化ブロックの第1復号化予測ブロック(DPB)は、FPB1及びBPB1に関して重み付け加算を実行することによって取得され、DPB1であると仮定される。 Forward and backward predictions are performed separately for the current decoding block to get the initial forward decoding prediction block (FPB) and the initial backward decoding prediction block (BPB) of the current decoding block. do. The initial forward decoding prediction block and the initial backward decoding prediction block are assumed to be FPB1 and BPB1, respectively. The first decoding prediction block (DPB) of the current decoding block is obtained by performing weighting addition on FPB1 and BPB1 and is assumed to be DPB1.

前方動きベクトル予測子及び前方動きベクトル差分の合計と、後方動きベクトル予測子及び後方動きベクトル差分の合計とは、即ち(−10,4)+(−2,1)=(−12,5)と(5,6)+(1,1)=(6,7)とはそれぞれ前方動きベクトル及び後方動きベクトルとして使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロック及び後方予測参照ピクチャ・ブロックに別々に実行される。この場合、第1精度は1ピクセル/レンジにおける1/4ピクセル精度である。第1復号化予測ブロックDPB1は参照として使用される。各々の動き探索で得られる対応する新しい前方及び後方復号化予測ブロックは、第1復号化予測ブロックDPB1と比較されて、DPB1からの最小差分を有する新しい復号化予測ブロックを取得する。新しい復号化予測ブロックに対応する前方及び後方動きベクトルは、ターゲット動きベクトル予測子として使用され、それぞれ(−11,4)及び(6,6)と仮定される。 The sum of the forward motion vector predictor and the forward motion vector difference and the sum of the backward motion vector predictor and the backward motion vector difference are (-10,4) + (-2,1) = (-12,5). And (5,6) + (1,1) = (6,7) are used as forward motion vector and backward motion vector, respectively, and the first-precision motion search refers to the forward prediction reference picture block and the backward prediction reference. Executed separately for picture blocks. In this case, the first precision is 1/4 pixel precision in 1 pixel / range. The first decryption prediction block DPB1 is used as a reference. The corresponding new forward and backward decoding prediction blocks obtained in each motion search are compared with the first decoding prediction block DPB1 to obtain a new decoding prediction block with the minimum difference from DPB1. The forward and backward motion vectors corresponding to the new decoded prediction block are used as target motion vector predictors and are assumed to be (-11,4) and (6,6), respectively.

ターゲット動きベクトルは(−11,4)及び(6,6)に更新され、前方予測及び後方予測が、ターゲット動きベクトルに基づいて第1復号化ブロックに対して別々に実行され、ターゲット復号化予測ブロックは、取得された新しい前方及び後方復号化予測ブロックに対して重み付け加算を実行することにより取得され、DPB2であると仮定され、現在の復号化ブロックの復号化予測ブロックはDPB2に更新される。 The target motion vector is updated to (-11,4) and (6,6), forward prediction and backward prediction are executed separately for the first decoding block based on the target motion vector, and the target decoding prediction is performed. The block is acquired by performing weighting addition on the acquired new forward and backward decoding prediction blocks, is assumed to be DPB2, and the decoding prediction block of the current decoding block is updated to DPB2. ..

本願の中核的な技術的内容を更に反映させるために、マージ・モードにおけるエンコーダによる動きベクトルを記憶する処理が、以下、具体的な実施形態を使用することにより説明される。図19は、本願の実施形態によるエンコーダによる動きベクトルを取得する方法の概略フローチャートである。方法は以下のステップを含む。 In order to further reflect the core technical content of the present application, the process of storing motion vectors by the encoder in the merge mode will be described below by using specific embodiments. FIG. 19 is a schematic flowchart of a method of acquiring a motion vector by an encoder according to the embodiment of the present application. The method includes the following steps.

1901:第1の処理対象のピクチャ・ブロックを取得した後に、エンコーダは、第1の処理対象のピクチャ・ブロックの1つ以上の前もってセットされた候補の参照ブロックを決定する。 1901: After acquiring the first processed picture block, the encoder determines one or more pre-set candidate reference blocks of the first processed picture block.

図3を参照すると、第1の処理対象のピクチャ・ブロックは、符号化対象のピクチャ・ブロックであり、即ち、符号化対象のピクチャ・ブロックは、エンコーダ・パーティションのパーティション・ユニットがビデオ・データを取得した後に得られる。第1の処理対象のピクチャ・ブロックは、現在のPUであってもよいし、又は現在のCUであってもよいことに留意すべきである。これは、本発明のこの実施形態において具体的に限定されない。 Referring to FIG. 3, the first processed picture block is a coded picture block, that is, the coded picture block is such that the partition unit of the encoder partition stores the video data. Obtained after acquisition. It should be noted that the picture block to be processed may be the current PU or the current CU. This is not specifically limited in this embodiment of the invention.

候補の参照ブロックは、第1の処理対象のピクチャ・ブロックとの前もってセットされた空間位置関係を有するピクチャ・ブロックを含む。前もってセットされた空間位置関係は、図5に示された位置関係であってもよい。図5に示す候補の参照ブロックは、第1の処理対象のピクチャ・ブロックに隣接しているので、即ち、候補の参照ブロックのピクチャ情報は、第1の処理対象のピクチャ・ブロックのものと比較的類似しているので、第1の処理対象のピクチャ・ブロックを予測するために、候補の参照ブロックの動きベクトルは、第1の処理対象のピクチャ・ブロックの予測された動きベクトルとして使用されることが可能である。幾つかの実施形態では、候補の参照ブロックは、更に、別の実際のピクチャ・ブロック、又は、第1の処理対象のピクチャ・ブロックとの前もってセットされた空間相関を有するバーチャル・ピクチャ・ブロックを含む。本願のこの実施態様において、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとの間の位置関係は、特定の量の候補参照ブロックによって具体的に限定されない。 The candidate reference block includes a picture block having a spatial positional relationship set in advance with the picture block to be processed. The preset spatial positional relationship may be the positional relationship shown in FIG. Since the candidate reference block shown in FIG. 5 is adjacent to the picture block to be processed, that is, the picture information of the candidate reference block is compared with that of the picture block to be processed. Due to their similarities, the motion vector of the candidate reference block is used as the predicted motion vector of the first processed picture block in order to predict the first processed picture block. It is possible. In some embodiments, the candidate reference block is further a virtual picture block having a pre-set spatial correlation with another real picture block or a first processed picture block. include. In this embodiment of the present application, the positional relationship between the candidate reference block and the first processed picture block is not specifically limited by a particular amount of candidate reference blocks.

1902:エンコーダは、1つ以上の候補の参照ブロックの1つ以上の動きベクトルを決定する。 1902: The encoder determines one or more motion vectors of one or more candidate reference blocks.

本願のこの実施形態では、動きベクトル更新処理が、候補参照ブロックに対して実行される。候補参照ブロックに対する更新処理が完了すると、候補参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有し、即ち、候補参照ブロックは、相応して、初期の動きベクトルと最終的な動きベクトルとを記憶する。幾つかの実施形態では、候補参照ブロックは、相応して、初期の動きベクトル及び動きベクトル残差を記憶し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの初期の動きベクトルと動きベクトル残差とを加えることによって取得されることが可能である。 In this embodiment of the present application, the motion vector update process is executed for the candidate reference block. When the update process for the candidate reference block is completed, the candidate reference block has an initial motion vector and a final motion vector, that is, the candidate reference block has a corresponding initial motion vector and final motion. Memorize the vector. In some embodiments, the candidate reference block stores the initial motion vector and motion vector residuals accordingly, and the final motion vector of the candidate reference block is the initial motion vector of the candidate reference block. And can be obtained by adding the motion vector residuals.

しかしながら、候補参照ブロックに対する更新処理が完了していない場合、候補参照ブロックは初期動きベクトルのみを有し、即ち、相応して候補の参照ブロックは候補の参照ブロックの初期の動きベクトルのみを記憶する。 However, if the update process for the candidate reference block is not completed, the candidate reference block has only the initial motion vector, that is, the candidate reference block correspondingly stores only the initial motion vector of the candidate reference block. ..

候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有するので、エンコーダは、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの初期の動きベクトル又は最終的な動きベクトルを使用することが可能であり、その結果、候補の参照ブロックの動きベクトルは、第1の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用される。 Since the candidate reference block has an initial motion vector and a final motion vector, the encoder uses the initial motion vector or the final motion vector of the candidate reference block as the motion vector of the candidate reference block. As a result, the motion vector of the candidate reference block is used as the predicted motion vector of the spatial candidate of the picture block to be processed.

参照ブロックにおける動きベクトル更新処理については、図13に関連する本願の実施形態を参照されたい、ということに留意すべきである。図19に関連する実施形態の参照ブロックは、図13に関連する実施形態における処理対象のピクチャ・ブロックであることが理解されるべきである。 It should be noted that for the motion vector update process in the reference block, refer to the embodiment of the present application related to FIG. It should be understood that the reference block of the embodiment related to FIG. 19 is the picture block to be processed in the embodiment related to FIG.

ステップ1902において、候補の参照ブロックの動きベクトルは、候補の参照ブロックの前もってセットされたレンジに基づいて決定されてもよい。例えば、候補の参照ブロックが前もってセットされたレンジ内にある場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用され、或いは候補の参照ブロックが前もってセットされたレンジ外にある場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。従って、1つ以上の候補の参照ブロックの1つ以上の動きベクトルを決定することができる。 In step 1902, the motion vector of the candidate reference block may be determined based on the previously set range of the candidate reference block. For example, if the candidate reference block is within the preset range, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block, or the candidate reference block is preset. If it is out of range, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Therefore, one or more motion vectors of one or more candidate reference blocks can be determined.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置していない場合、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。図21を参照すると、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の具体的なレンジは、本発明のこの実施形態で具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the candidate reference block is located and the CTB where the first picture block to be processed is located are located on the same row, the initial motion vector of the candidate reference block is the candidate reference block. Used as a motion vector. Correspondingly, if the CTB where the candidate reference block is located and the CTB where the first picture block to be processed is located are not located in the same row, the final motion vector of the candidate reference block will be: Used as a motion vector for candidate reference blocks. Referring to FIG. 21, the coding tree block in which the candidate reference block is located and the coding tree block in which the first picture block to be processed is located are located on different rows, and the candidate reference block is located. If the located coding tree block and the coding tree block in which the first processed picture block is located are located in different rows of adjacent spaces, then the initial motion vector of the candidate reference block is: It will be appreciated that it will be used as a motion vector for the candidate reference block. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The specific range of adjacent spaces in different rows is not specifically limited in this embodiment of the invention.

関連技術において、エンコーダは複数の処理対象のピクチャ・ブロックを同時に符号化してもよい。しかしながら、複数の処理対象のピクチャ・ブロックが同一のCTB行内に位置する場合、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックである可能性がある。複数の処理対象のピクチャ・ブロックが互いの候補の参照ブロックである場合、別のブロックの更新された最終的な動きベクトルは、別のブロックが更新された後に限り、現在の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用されることが可能である。その結果、符号化の遅延が存在する。更に、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックであるので、他のブロックが更新されるまで待機する必要がある。その結果、符号化遅延が増加する。 In a related technique, the encoder may encode a plurality of picture blocks to be processed at the same time. However, when a plurality of processed picture blocks are located in the same CTB row, the plurality of processed picture blocks may be reference blocks of each other. If multiple processed picture blocks are reference blocks of each other's candidates, the updated final motion vector of another block will only be the current processed picture block after another block has been updated. It can be used as a predicted motion vector for block spatial candidates. As a result, there is a coding delay. Further, since the plurality of picture blocks to be processed are reference blocks of each other's candidates, it is necessary to wait until the other blocks are updated. As a result, the coding delay increases.

従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、次いで、候補の参照ブロックの動きベクトルが、第1の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用される。これについては、ステップ1903を参照されたい。 Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, and then the motion vector of the candidate reference block is the first object to be processed. Used as a predicted motion vector for spatial candidates in a picture block. See step 1903 for this.

候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、候補の参照ブロックに対する更新処理は完了しない可能性がある。従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、候補の参照ブロックが更新されるまで待機する必要はなく、符号化遅延を低減する。候補の参照ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。従って、候補の参照ブロックは最終的な動きベクトルを有し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして最終的な動きベクトルを使用することは、符号化品質を保証することができる。 If the CTB where the candidate reference block is located and the CTB where the first picture block to be processed is located are located on the same row, the update process for the candidate reference block may not be completed. Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, and there is no need to wait for the candidate reference block to be updated, and it is coded. Reduce delay. If the CTB where the candidate reference block is located and the CTB where the first process target picture block is located are not located on the same row, it is sufficient to complete the update process for the candidate reference block. Show that you have time. Therefore, the candidate reference block has a final motion vector, and the final motion vector of the candidate reference block can be used as the motion vector of the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the candidate reference block guarantees the coding quality. can do.

前もってセットされたレンジは、代替的に、CTBブロック・レンジであってもよい。例えば、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The preset range may be the CTB block range instead. For example, when the candidate reference block and the first processed picture block are located in the same CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, if the candidate reference block and the first processed picture block are not located in the same CTB, the final motion vector of the candidate reference block is the motion vector of the candidate reference block. Used as.

候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、それは候補の参照ブロックにおける更新処理は完了していない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とすることなく、候補の参照ブロックの動きベクトルとして直接的に使用され、符号化遅延を低減する。更に、候補の参照ブロックと第1の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、それは候補の参照ブロックに関して更新処理を完了するための十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、第1の処理対象のピクチャ・ブロックと同じCTB内に位置していない候補の参照ブロックの最終的な動きベクトルを、候補の参照ブロックの動きベクトルとして使用することは、符号化品質を保証することができる。 If the candidate reference block and the first processed picture block are located in the same CTB, it indicates that the update process in the candidate reference block may not be completed, and the candidate reference block. The initial motion vector of is used directly as the motion vector of the candidate reference block without having to wait for the candidate reference block to be updated, reducing the coding delay. Further, if the candidate reference block and the first processed picture block are not located in the same CTB, it indicates that there is sufficient time to complete the update process for the candidate reference block. .. Further, since the final motion vector is a motion vector obtained after the initial motion vector is refined, the final of the candidate reference blocks that are not located in the same CTB as the first processed picture block. Using the motion vector as the motion vector of the candidate reference block can guarantee the coding quality.

前もってセットされたレンジは、代替的に、同じCTBブロック・レンジ又は左隣接及び右隣接CTBブロックのレンジであってもよい。例えば、候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBであるか、又は候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The pre-set range may optionally be the same CTB block range or the range of left-adjacent and right-adjacent CTB blocks. For example, the CTB where the candidate reference block is located is the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is the first process target picture block. If it is a left-adjacent or right-adjacent block of the located CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, the CTB where the candidate reference block is located is not the same as the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is the first process target picture. If the block is not on the left or right side of the CTB where the block is located, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block.

候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBと同じである場合、又は候補参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合、それは、候補の参照ブロックに対する更新処理が完了しない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とせずに、候補の参照ブロックの動きベクトルとして直接的に使用され、符号化遅延を低減する。更に、候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第1の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの最終的な動きベクトルを使用することは、符号化品質を保証することができる。 If the CTB where the candidate reference block is located is the same as the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is where the first process target picture block is located. If it is a left-adjacent or right-adjacent block of the candidate CTB, it indicates that the update process for the candidate reference block may not be completed, and the initial motion vector of the candidate reference block is updated by the candidate reference block. It is used directly as the motion vector of the candidate reference block without the need to wait until it is done, reducing the coding delay. Further, the CTB where the candidate reference block is located is not the same as the CTB where the first process target picture block is located, or the CTB where the candidate reference block is located is the first process target picture block. If is not a left-adjacent or right-adjacent block of the CTB in which it is located, it indicates that there is sufficient time to complete the update process for the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, it is not possible to use the final motion vector of the candidate reference block as the motion vector of the candidate reference block. , The coding quality can be guaranteed.

1903:エンコーダは、1つ以上の候補の参照ブロックの1つ以上の動きベクトルに基づいて、候補の予測された動きベクトルのリストを設定する。 1903: The encoder sets a list of predicted motion vectors of candidates based on one or more motion vectors of one or more candidate reference blocks.

候補の予測された動きベクトルのリストを設定する方法については、図6ないし図9を参照されたい。詳細はここで再び説明しない。 See FIGS. 6-9 for how to set a list of predicted motion vectors for candidates. Details will not be explained here again.

1904:エンコーダは、処理対象のピクチャ・ブロックの参照ブロックを決定する。参照ブロック及び第1の処理対象のピクチャ・ブロックは、同じピクチャのフレーム内に位置する。 1904: The encoder determines the reference block of the picture block to be processed. The reference block and the first processed picture block are located within the frame of the same picture.

最小レート歪コストを有する候補の参照ブロックが、第1の処理対象のピクチャ・ブロックの1つ以上の候補の参照ブロックから、第1の処理対象のピクチャ・ブロックの参照ブロックとして選択される。 The candidate reference block with the minimum rate distortion cost is selected from one or more candidate reference blocks of the first processable picture block as the reference block of the first processable picture block.

1905:エンコーダは、参照ブロックの動きベクトルを記憶する。参照ブロックの動きベクトルは、第1の処理対象のピクチャ・ブロックの初期の動きベクトルである。 1905: The encoder stores the motion vector of the reference block. Motion vector of the reference block is the initial motion vectors of picture blocks in the first processing target.

参照ブロックの動きベクトルは、設定された候補の予測された動きベクトルのリストにおける対応する位置から取得されることが可能である。 The motion vector of the reference block can be obtained from the corresponding position in the list of predicted motion vectors of the set candidates.

ステップ1901ないしステップ1905は、エンコーダが第1の処理対象のピクチャ・ブロックの初期の動きベクトルを取得する処理である。 Steps 1901 to 1905 are processes in which the encoder acquires the initial motion vector of the first process target picture block.

1906:エンコーダは、第1の処理対象のピクチャ・ブロックの初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、第1の処理対象のピクチャ・ブロックの予測ブロックを決定する。 1906: The encoder determines the predictive block of the first processed picture block based on the initial motion vector of the first processed picture block and one or more preset motion vector offsets. decide.

ステップ1906は、図13の13021ないし13024を使用することによって完了させることが可能である。詳細はここで再び説明しない。 Step 1906 can be completed by using 13021 to 13024 of FIG. Details will not be explained here again.

1つ以上の前もってセットされた動きベクトル・オフセットは、ピクセル単位に基づいて設定されることが可能である。例えば、第1の処理対象のピクチャ・ブロックの初期の動きベクトルで示されるピクチャ・ブロックは、第1の処理対象のピクチャ・ブロックの時間的な予測ブロックとして使用され、時間的な予測ブロックの1ピクセル単位又は1/2ピクセル単位内の1つ以上の候補の予測ブロックが、時間的な予測ブロックを中心として使用することにより探索される。確かに、別の長さ又は別のピクセル単位が使用されてもよい。1つ以上の前もってセットされた動きベクトル・オフセットは、本願のこの実施形態で具体的に限定されない。 One or more pre-set motion vector offsets can be set on a pixel-by-pixel basis. For example, the picture block represented by the initial motion vector of the picture block to be processed is used as a temporal prediction block of the picture block to be processed, and is one of the temporal prediction blocks. One or more candidate prediction blocks within pixel units or 1/2 pixel units are searched by using the temporal prediction blocks as the center. Indeed, different lengths or different pixel units may be used. One or more pre-set motion vector offsets are not specifically limited in this embodiment of the present application.

1907:予測ブロックの動きベクトルを決定した後に、エンコーダは、予測ブロックの動きベクトルを、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルとして使用する。 1907: After determining the motion vector of the predicted block, the encoder uses the motion vector of the predicted block as the final motion vector of the picture block to be processed.

ステップ1907において、予測ブロックの動きベクトルは、予測ブロックの前もってセットされたレンジに基づいて決定されることが可能である。例えば、予測ブロックが、前もってセットされたレンジ内にある場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用され、予測ブロックが、前もってセットされたレンジ外にある場合には、予測ブロックの最終的な動きベクトルが、予測ブロックの動きベクトルとして使用される。 In step 1907, the motion vector of the prediction block may be determined based on the advance the set range before the prediction block. For example, if the predicted block is within a preset range, the initial motion vector of the predicted block is used as the motion vector of the predicted block, and the predicted block is outside the preset range. The final motion vector of the predicted block is used as the motion vector of the predicted block.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。相応して、予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置しない場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。図21を参照すると、予測ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、予測ブロックが位置するコーディング・ツリー・ブロックと、第1の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の特定のレンジは、本発明のこの実施形態では具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the prediction block is located and the CTB where the first picture block to be processed is located are located on the same row, the initial motion vector of the prediction block is used as the motion vector of the prediction block. Will be done. Correspondingly, if the CTB where the prediction block is located and the CTB where the first picture block to be processed is located are not located in the same row, the initial motion vector of the prediction block is the motion vector of the prediction block. Used as. Referring to FIG. 21, the coding tree block in which the prediction block is located and the coding tree block in which the first processing target picture block is located are located on different rows, and the prediction block is located in the coding tree block. If the tree block and the coding tree block in which the first processed picture block is located are located in adjacent spaces of different rows, the initial motion vector of the predicted block is the motion of the predicted block. It will be understood that it is used as a vector. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The particular range of adjacent spaces in different rows is not specifically limited in this embodiment of the invention.

予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、予測ブロックに対する更新処理は終了しない可能性がある。従って、予測ブロックの初期の動きベクトルは、予測ブロックの動きベクトルとして直接的に使用されることが可能であり、予測ブロックが更新されるまで待機する必要はなく、符号化遅延を低減する。予測ブロックが位置するCTBと、第1の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、予測ブロックに対する更新処理を完了するのに十分な時間があることを示す。従って、予測ブロックは最終的な動きベクトルを有し、予測ブロックの最終的な動きベクトルは、予測ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、予測ブロックの動きベクトルとして最終的な動きベクトルを使用することは、符号化品質を保証することができる。 If the CTB where the prediction block is located and the CTB where the picture block to be processed first is located are located on the same row, the update processing for the prediction block may not be completed. Therefore, the initial motion vector of the predicted block can be used directly as the motion vector of the predicted block, and it is not necessary to wait until the predicted block is updated, which reduces the coding delay. If the CTB where the prediction block is located and the CTB where the first processing target picture block is located are not located on the same row, it has enough time to complete the update process for the prediction block. Show that. Therefore, the prediction block has a final motion vector, and the final motion vector of the prediction block can be used as the motion vector of the prediction block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the prediction block guarantees the coding quality. Can be done.

幾つかの実施形態では、前もってセットされたレンジは代替的にCTBブロック・レンジであってもよい。幾つかの他の実施形態では、前もってセットされたレンジは、代替的に、同じCTBブロックであってもよい。予測ブロックの動きベクトルの決定は、候補の参照ブロックの動きベクトルの決定と同様である。これについてはステップ1902を参照されたい。詳細はここで再び説明しない。 In some embodiments, the preset range may be the CTB block range instead. In some other embodiments, the pre-set range may be the same CTB block instead. Determining the motion vector of the predictive block is similar to determining the motion vector of the candidate reference block. See step 1902 for this. Details will not be explained here again.

1908:エンコーダは、候補リスト内の第1の処理対象のピクチャ・ブロックの初期の動きベクトルを、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルに更新する。 1908: The encoder updates the initial motion vector of the first processed picture block in the candidate list to the final motion vector of the first processed picture block.

1909:エンコーダは、第1の処理対象のピクチャ・ブロックの動きベクトル残差を、ターゲット・ストレージ空間に記憶する。 1909: The encoder stores the motion vector residual of the picture block to be processed in the target storage space.

動きベクトル残差は、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルと、第1の処理対象のピクチャ・ブロックの初期の動きベクトルとの間の動きベクトル差分である。 The motion vector residual is the motion vector difference between the final motion vector of the first processed picture block and the initial motion vector of the first processed picture block.

ターゲット・ストレージ空間は、動きベクトル残差をエンコーダにより記憶するための空間である。例えば、ターゲット・ストレージ空間は、図2の参照ピクチャ記憶ストレージ64であってもよい。 The target storage space is a space for storing the motion vector residuals by the encoder. For example, the target storage space may be the reference picture storage storage 64 of FIG.

関連技術におけるマージ・モードでは、ターゲット・ストレージ空間はゼロ・ベクトルを記憶するか、又はターゲット・ストレージ空間はデータを記憶しないことに留意すべきである。しかしながら、本願のこの実施形態におけるマージ・モードでは、処理対象のピクチャ・ブロックの動きベクトル残差がターゲット・ストレージ空間に記憶され、その結果、ターゲット・ストレージ空間を完全に使用することが可能であるだけでなく、他のピクチャ・ブロックの動きベクトルが第1の処理対象のピクチャ・ブロックに対して必要とされる場合に、他のピクチャ・ブロックの動きベクトルを柔軟に選択することも可能である。ステップ1902及び1907において示されるように、エンコーダの符号化効率は更に改善される。 It should be noted that in merge mode in related technology, the target storage space stores zero vectors or the target storage space does not store data. However, in the merge mode of this embodiment of the present application, the motion vector residuals of the picture block to be processed are stored in the target storage space, and as a result, the target storage space can be completely used. Not only that, it is also possible to flexibly select the motion vector of the other picture block when the motion vector of the other picture block is required for the first processed picture block. .. As shown in steps 1902 and 1907, the coding efficiency of the encoder is further improved.

更に、一部の実装では、ステップ1909において、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルが、代替的に、第1の処理対象のピクチャ・ブロックの動きベクトル残差として使用され、ターゲット・ストレージ空間に記憶されることが可能であり、即ち、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルがターゲット・ストレージ空間に記憶され、第1の処理対象のピクチャ・ブロックの動きベクトル残差は、ターゲット・ストレージ空間に記憶されない。この場合において、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルが別のブロックに必要とされる場合、第1の処理対象のピクチャ・ブロックの最終的な動きベクトルは、第1の処理対象のピクチャ・ブロックの初期の動きベクトルと、第1の処理対象のピクチャ・ブロックの動きベクトル残差とを加算する必要なしに、エンコーダのターゲット・ストレージ空間から直接的に取得されることが可能である。 Further, in some implementations, in step 1909, the final motion vector of the first processed picture block is instead used as the motion vector residual of the first processed picture block. , That is, the final motion vector of the picture block to be processed is stored in the target storage space, that is, the picture block to be processed first. The motion vector residuals of are not stored in the target storage space. In this case, if the final motion vector of the picture block to be processed is required for another block, the final motion vector of the picture block to be processed is the first. Can be obtained directly from the encoder's target storage space without having to add the initial motion vector of the picture block to be processed and the motion vector residuals of the first picture block to be processed. It is possible.

ステップ1909の具体的なストレージ方法については、図21を参照されたい。 See FIG. 21 for the specific storage method of step 1909.

ステップ1908及び1909のシーケンスには厳密な要件がないことに留意すべきであり、エンコーダは代替的にステップ1908の前にステップ1909を実行してもよい。これは本願のこの実施形態で具体的に限定されない。 It should be noted that there are no strict requirements for the sequences of steps 1908 and 1909, and the encoder may optionally perform step 1909 prior to step 1908. This is not specifically limited in this embodiment of the present application.

ステップ1906ないし1909は、エンコーダが第1の処理対象のピクチャ・ブロックの最終的な動きベクトルを取得する処理である。 Steps 1906 to 1909 are processes in which the encoder acquires the final motion vector of the first process target picture block.

1910:エンコーダは、処理対象のピクチャ・ブロックの初期の動きベクトル、又は候補リスト内の処理対象のピクチャ・ブロックの初期の動きベクトルに対応する1つ以上の第1識別情報を、ビットストリームに符号化する。 1910: The encoder encodes one or more first identification information corresponding to the initial motion vector of the picture block to be processed or the initial motion vector of the picture block to be processed in the candidate list into a bitstream. To become.

識別情報はインデックスを含む可能性がある。確かに、幾つかの実装において、識別情報は、予測モードを更に含んでもよい。インデックスは、候補の予測された動きベクトルのリストにおける対応する動きベクトルを示すために使用され、動きベクトルは、第1の処理対象のピクチャ・ブロックの初期の動きベクトル又は最終的な動きベクトルであり、予測モードはマージ・モード、AMVPAモード、及びスキップ・モードを含む。本願のこの実施形態では、予測モードはマージ・モードである。確かに、別の実施形態では、予測モードは別のモードであってもよい。これは本願のこの実施形態で限定されない。 The identification information may include an index. Indeed, in some implementations, the identification information may further include a predictive mode. The index is used to indicate the corresponding motion vector in the list of candidate predicted motion vectors, which is the initial motion vector or final motion vector of the first processed picture block. , Prediction modes include merge mode, AMVPA mode, and skip mode. In this embodiment of the present application, the prediction mode is the merge mode. Indeed, in another embodiment, the prediction mode may be another mode. This is not limited to this embodiment of the present application.

前述の実装において、現在のコーディング・ブロックを符号化する場合に、エンコーダは、参照ブロックの最終的な動きベクトルの代わりに、参照ブロックの更新されていない初期の動きベクトルを、現在のコーディング・ブロックの予測された動きベクトルとして使用する。このようにして、参照ブロックの動きベクトルが現在のコーディング・ブロックに対して必要とされる場合に、関連するステップは、参照ブロックの最終的な動きベクトルが更新されるまで待機することを必要とせずに、実行されることが可能であり、符号化遅延が削減されることを補償する一方、動きベクトルが更新されるので符号化効率が改善される。 In the above implementation, when encoding the current coding block, the encoder replaces the final motion vector of the reference block with the unupdated initial motion vector of the reference block to the current coding block. Used as the predicted motion vector of. In this way, if the motion vector of the reference block is needed for the current coding block, the relevant steps need to wait until the final motion vector of the reference block is updated. It can be performed without, while compensating for a reduction in coding delay, while updating the motion vector to improve coding efficiency.

エンコーダにより使用されるインター予測モードが前方予測又は後方予測である場合に、候補参照ブロックの動きベクトル、参照ブロックの動きベクトル、及び予測ブロックの動きベクトルは、前方動きベクトル又は後方動きベクトルを含むことに留意すべきである。相応して、候補の予測された動きベクトルのリストが設定されると、候補の予測された動きベクトルのリストは、リスト0又はリスト1のみを含み、処理対象のピクチャ・ブロックの初期の動きベクトルは、前方の初期の動きベクトル又は後方の初期の動きベクトルを含み、処理対象のピクチャ・ブロックの最終的な動きベクトルは、前方の最終的な動きベクトル又は後方の最終的な動きベクトルを含む。 When the inter-prediction mode used by the encoder is forward or backward prediction, the motion vector of the candidate reference block, the motion vector of the reference block, and the motion vector of the predictive block shall include the forward or backward motion vector. Should be noted. Correspondingly, when a list of candidate predicted motion vectors is set, the list of candidate predicted motion vectors contains only list 0 or list 1 and is the initial motion vector of the picture block to be processed. Contains an early forward motion vector or an early backward motion vector, and the final motion vector of the picture block to be processed includes a final forward motion vector or a final backward motion vector.

エンコーダにより使用されるインター予測モードが双方向予測である場合、候補の参照ブロックの動きベクトル、参照ブロックの動きベクトル、及び予測ブロックの動きベクトルは、第1動きベクトルと第2動きベクトルとを含み、第1動きベクトルは前方動きベクトルであり、第2動きベクトルは後方動きベクトルである。相応して、候補の予測された動きベクトルのリストが設定されると、候補の予測された動きベクトルのリストは、リスト0及びリスト1を含み、処理対象のピクチャ・ブロックの初期の動きベクトルは、第1の初期の動きベクトル及び第2の初期の動きベクトルを含み、処理対象のピクチャ・ブロックの最終的な動きベクトルは、第1の最終的な動きベクトル及び第2の最終的な動きベクトルを含む。第1の初期の動きベクトル及び第1の最終的な動きベクトルは前方動きベクトルであり、第2の初期の動きベクトルと第2の最終的な動きベクトルは後方動きベクトルである。 When the inter-prediction mode used by the encoder is bidirectional prediction, the motion vector of the candidate reference block, the motion vector of the reference block, and the motion vector of the prediction block include the first motion vector and the second motion vector. , The first motion vector is a forward motion vector, and the second motion vector is a backward motion vector. Correspondingly, when a list of candidate predicted motion vectors is set, the list of candidate predicted motion vectors includes list 0 and list 1, and the initial motion vector of the picture block to be processed is , A first initial motion vector and a second initial motion vector, and the final motion vector of the picture block to be processed is the first final motion vector and the second final motion vector. including. The first initial motion vector and the first final motion vector are forward motion vectors, and the second initial motion vector and the second final motion vector are backward motion vectors.

上記の内容はエンコーダについて説明されている。相応して、マージ・モードにおいてデコーダにより動きベクトルを記憶する処理が、具体的な実施形態を用いて以下において説明される。図20は、本願の実施形態による、デコーダによる動きベクトルを取得する方法の概略フローチャートである。方法は以下のステップを含む。 The above content describes the encoder. Correspondingly, the process of storing motion vectors by the decoder in the merge mode will be described below using specific embodiments. FIG. 20 is a schematic flowchart of a method of acquiring a motion vector by a decoder according to the embodiment of the present application. The method includes the following steps.

2001:第2の処理対象のピクチャ・ブロックに対応するビットストリームを受信した後、デコーダは、第2識別情報及び第3識別情報を得るためにビットストリームを解析する。ここで、第2識別情報は、処理対象のピクチャ・ブロックの初期の予測された動きベクトルを決定するために使用され、第3識別情報は、動きベクトル残差が復号化の間に解析される必要があるかどうかを示すために使用される。 2001: After receiving the bitstream corresponding to the picture block to be processed, the decoder analyzes the bitstream to obtain the second identification information and the third identification information. Here, the second discriminant information is used to determine the initial predicted motion vector of the picture block to be processed, and the third discriminant information is the motion vector residuals analyzed during decoding. Used to indicate if it is necessary.

第2識別情報は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定するために使用されるインデックスを含んでもよい。ステップ2002及び2004を参照すると、幾つかの実施形態において、第2識別情報は、予測モード・タイプを更に含んでもよい。 The second identification information may include an index used to determine the initial motion vector of the picture block to be processed. Referring to steps 2002 and 2004, in some embodiments, the second identification information may further include a predictive mode type.

第3識別情報は、復号化の間に、動きベクトル残差が、解析されることを必要とするかどうかを示すために使用される。本願のこの実施形態では、動きベクトル残差は、マージ・モードで解析されることを必要としないが、別の実施形態において、動きベクトル残差が解析される場合がある。例えば、SMVPモードでは、第3識別情報の指示に従って、第2処理対象のピクチャ・ブロックの動きベクトル残差をビットストリームに加える場合に、デコーダは、ビットストリームを解析することによって、動きベクトル残差を取得することができる。この場合、デコーダは、動きベクトル残差を、ターゲット・ストレージ空間に直接的に記憶する。 The third identification information is used to indicate whether the motion vector residuals need to be analyzed during decoding. In this embodiment of the present application, the motion vector residuals do not need to be analyzed in merge mode, but in another embodiment the motion vector residuals may be analyzed. For example, in the SMVP mode, when the motion vector residual of the picture block to be processed in the second process is added to the bitstream according to the instruction of the third identification information, the decoder analyzes the bitstream to obtain the motion vector residual. Can be obtained. In this case, the decoder stores the motion vector residuals directly in the target storage space.

2002:第2の処理対象のピクチャ・ブロックに対応するビットストリームを受信した後に、デコーダは、第2の処理対象のピクチャ・ブロックの1つ以上の候補の参照ブロックと、1つ以上の候補の参照ブロックの1つ以上の動きベクトルとを決定する。 2002: After receiving the bitstream corresponding to the second processed picture block, the decoder has one or more candidate reference blocks and one or more candidate for the second processed picture block. Determine with one or more motion vectors of the reference block.

1つ以上の候補の参照ブロックは、第2の処理対象のピクチャ・ブロックとの前もってセットされた空間位置関係を有するピクチャ・ブロックを含む。候補の参照ブロックの決定については、図5を参照されたい。詳細はここで再び説明しない。 The reference block of one or more candidates includes a picture block having a spatial positional relationship set in advance with the picture block to be processed. See FIG. 5 for determining candidate reference blocks. Details will not be explained here again.

本願のこの実施形態では、動きベクトル更新処理が、候補の参照ブロックに対して実行される。候補の参照ブロックに対する更新処理が完了すると、候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有し、即ち、候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを記憶する。幾つかの実施形態では、候補の参照ブロックは、初期の動きベクトルと動きベクトル残差とを記憶し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの初期の動きベクトルと動きベクトル残差とを加えることによって取得することができる。 In this embodiment of the present application, motion vector update processing is performed on the candidate reference block. When the update process for the candidate reference block is completed, the candidate reference block has an initial motion vector and a final motion vector, that is, the candidate reference block has an initial motion vector and a final motion vector. And remember. In some embodiments, the candidate reference block stores the initial motion vector and motion vector residuals, and the final motion vector of the candidate reference block is the initial motion vector and motion of the candidate reference block. It can be obtained by adding a vector residual.

しかしながら、候補の参照ブロックの更新処理が完了していない場合、候補の参照ブロックは初期の動きベクトルのみを有し、即ち、候補の参照ブロックは、候補の参照ブロックの初期の動きベクトルのみを記憶する。 However, if the update process of the candidate reference block is not completed, the candidate reference block has only the initial motion vector, that is, the candidate reference block stores only the initial motion vector of the candidate reference block. do.

候補の参照ブロックは、初期の動きベクトルと最終的な動きベクトルとを有するので、デコーダは、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの初期の動きベクトル又は最終的な動きベクトルを用いる必要があり、その結果、候補の参照ブロックの動きベクトルは、第2の処理対象のピクチャ・ブロックの空間的な候補の予測された動きベクトルとして使用される。 Since the candidate reference block has an initial motion vector and a final motion vector, the decoder uses the initial motion vector or the final motion vector of the candidate reference block as the motion vector of the candidate reference block. As a result, the motion vector of the candidate reference block is used as the predicted motion vector of the spatial candidate of the second processed picture block.

参照ブロックに対する動きベクトル更新プロセス及び初期の動きベクトルの取得については、図14に関連する本願の実施形態を参照されたい、ということに留意すべきである。図20に関連する実施形態の参照ブロックは、図14に関連する実施形態の処理対象のピクチャ・ブロックであることが理解されるべきである。 It should be noted that for the motion vector update process for the reference block and the acquisition of the initial motion vector, see embodiments of the present application related to FIG. It should be understood that the reference block of the embodiment related to FIG. 20 is the picture block to be processed according to the embodiment of FIG.

ステップ2002において、候補の参照ブロックの動きベクトルは、候補の参照ブロックの前もってセットされたレンジに基づいて決定されてもよい。例えば、候補の参照ブロックが前もってセットされたレンジ内にある場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用され、候補の参照ブロックが前もってセットされたレンジ外にある場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。従って、1つ以上の候補の参照ブロックの1つ以上の動きベクトルを決定することができる。 In step 2002 , the motion vector of the candidate reference block may be determined based on the previously set range of the candidate reference block. For example, if the candidate reference block is within the preset range, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block and the candidate reference block is preset. If it is out of range, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Therefore, one or more motion vectors of one or more candidate reference blocks can be determined.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一行に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一行に位置していない場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。図21を参照すると、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、候補の参照ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合に、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の具体的なレンジは、本発明のこの実施形態で具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the candidate reference block is located and the CTB where the second picture block to be processed is located are located on the same row, the initial motion vector of the candidate reference block is the candidate reference block. Used as a motion vector. Correspondingly, if the CTB where the candidate reference block is located and the CTB where the second picture block to be processed is located are not located on the same row, the initial motion vector of the candidate reference block is a candidate. Used as a motion vector for the reference block of. Referring to FIG. 21, the coding tree block in which the candidate reference block is located and the coding tree block in which the second picture block to be processed is located are located on different rows, and the candidate reference block is located. If the coding tree block in which it is located and the coding tree block in which the second picture block to be processed is located are located in adjacent spaces on different rows, the initial motion vector of the candidate reference block is It will be appreciated that it is used as a motion vector for candidate reference blocks. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The specific range of spaces adjacent to different rows is not specifically limited in this embodiment of the invention.

関連技術において、デコーダは複数の処理対象のピクチャ・ブロックを同時に復号化してもよい。しかしながら、複数の処理対象のピクチャ・ブロックが同一のCTB行内に位置する場合、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックである可能性がある。複数の処理対象のピクチャ・ブロックが互いの候補の参照ブロックである場合、別のブロックの更新された最終的な動きベクトルは、別のブロックが更新された後に限り、現在の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用されることが可能である。その結果、復号化の遅延が存在する。更に、複数の処理対象のピクチャ・ブロックは、互いの候補の参照ブロックであるので、他のブロックが更新されるまで待機する必要がある。その結果、復号化遅延が増加する。 In a related technique, the decoder may simultaneously decode a plurality of picture blocks to be processed. However, when a plurality of processed picture blocks are located in the same CTB row, the plurality of processed picture blocks may be reference blocks of each other. If multiple processed picture blocks are reference blocks of each other's candidates, the updated final motion vector of another block will only be the current processed picture block after another block has been updated. It can be used as a predicted motion vector for block spatial candidates. As a result, there is a decryption delay. Further, since the plurality of picture blocks to be processed are reference blocks of each other's candidates, it is necessary to wait until the other blocks are updated. As a result, the decryption delay increases.

従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、次いで、候補の参照ブロックの動きベクトルが、第2の処理対象のピクチャ・ブロックの空間候補の予測された動きベクトルとして使用される。これについては、ステップ2003を参照されたい。 Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, and then the motion vector of the candidate reference block is the second object to be processed. Used as a predicted motion vector for spatial candidates in a picture block. See step 2003 for this.

候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、候補の参照ブロックに対する更新処理は完了しない可能性がある。従って、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして直接的に使用されることが可能であり、候補の参照ブロックが更新されるまで待機する必要はなく、復号化遅延を低減する。候補の参照ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。従って、候補の参照ブロックは最終的な動きベクトルを有し、候補の参照ブロックの最終的な動きベクトルは、候補の参照ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして最終的な動きベクトルを使用することは、復号化品質を保証することができる。 If the CTB where the candidate reference block is located and the CTB where the second picture block to be processed is located are located on the same row, the update process for the candidate reference block may not be completed. Therefore, the initial motion vector of the candidate reference block can be used directly as the motion vector of the candidate reference block, without having to wait for the candidate reference block to be updated, and decoding. Reduce delay. If the CTB where the candidate reference block is located and the CTB where the second processed picture block is located are not located on the same row, it is sufficient to complete the update process for the candidate reference block. Show that you have time. Therefore, the candidate reference block has a final motion vector, and the final motion vector of the candidate reference block can be used as the motion vector of the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the candidate reference block guarantees decoding quality. can do.

前もってセットされたレンジは、代替的に、CTBブロック・レンジであってもよい。例えば、候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The preset range may be the CTB block range instead. For example, when the candidate reference block and the second processed picture block are located in the same CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, if the candidate reference block and the second processed picture block are not located in the same CTB, the final motion vector of the candidate reference block is the motion vector of the candidate reference block. Used as.

候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置する場合、それは候補の参照ブロックにおける更新処理は完了していない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とすることなく、候補の参照ブロックの動きベクトルとして直接的に使用され、復号化遅延を低減する。更に、候補の参照ブロックと第2の処理対象のピクチャ・ブロックとが同一のCTB内に位置していない場合、それは候補の参照ブロックに関して更新処理を完了するための十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、第2の処理対象のピクチャ・ブロックと同じCTB内に位置していない候補の参照ブロックの最終的な動きベクトルを、候補の参照ブロックの動きベクトルとして使用することは、復号化品質を保証することができる。 If the candidate reference block and the second processed picture block are located in the same CTB, it indicates that the update process in the candidate reference block may not be completed, and the candidate reference block. The initial motion vector of is used directly as the motion vector of the candidate reference block without having to wait for the candidate reference block to be updated, reducing the decoding delay. Further, if the candidate reference block and the second processed picture block are not located in the same CTB, it indicates that there is sufficient time to complete the update process for the candidate reference block. .. Further, since the final motion vector is a motion vector obtained after the initial motion vector is refined, the final of the candidate reference blocks that are not located in the same CTB as the second processed picture block. Using the motion vector as the motion vector of the candidate reference block can guarantee the decoding quality.

前もってセットされたレンジは、代替的に、同じCTBブロック・レンジ、又は左隣接及び右隣接CTBブロックのレンジであってもよい。例えば、候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBであるか、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合には、候補の参照ブロックの初期の動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。相応して、候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、候補の参照ブロックの最終的な動きベクトルが、候補の参照ブロックの動きベクトルとして使用される。 The preset range may optionally be the same CTB block range, or the range of left-adjacent and right-adjacent CTB blocks. For example, the CTB where the candidate reference block is located is the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture block. If it is a left-adjacent or right-adjacent block of the located CTB, the initial motion vector of the candidate reference block is used as the motion vector of the candidate reference block. Correspondingly, the CTB where the candidate reference block is located is not the same as the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture. If the block is not on the left or right side of the CTB where the block is located, the final motion vector of the candidate reference block is used as the motion vector of the candidate reference block.

候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBと同じである場合、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックである場合、それは、候補の参照ブロックに対する更新処理が完了しない可能性があることを示し、候補の参照ブロックの初期の動きベクトルは、候補の参照ブロックが更新されるまで待機することを必要とせずに、候補の参照ブロックの動きベクトルとして直接的に使用され、復号化遅延を低減する。更に、候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBと同じでないか、又は候補の参照ブロックが位置するCTBが、第2の処理対象のピクチャ・ブロックが位置するCTBの左隣接又は右隣接ブロックでない場合には、それは、候補の参照ブロックに関して更新処理を完了するのに十分な時間があることを示す。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、候補の参照ブロックの動きベクトルとして、候補の参照ブロックの最終的な動きベクトルを使用することは、復号化品質を保証することができる。 If the CTB where the candidate reference block is located is the same as the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture block. If it is a left-adjacent or right-adjacent block of the located CTB, it indicates that the update process for the candidate reference block may not be completed, and the initial motion vector of the candidate reference block is that the candidate reference block It is used directly as the motion vector of the candidate reference block without having to wait for it to be updated, reducing the decoding delay. Further, the CTB where the candidate reference block is located is not the same as the CTB where the second process target picture block is located, or the CTB where the candidate reference block is located is the second process target picture block. If is not a left-adjacent or right-adjacent block of the CTB in which it is located, it indicates that there is sufficient time to complete the update process for the candidate reference block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, it is not possible to use the final motion vector of the candidate reference block as the motion vector of the candidate reference block. , Decryption quality can be guaranteed.

2003:デコーダは、1つ以上の候補の参照ブロックの1つ以上の動きベクトルに基づいて、候補の予測された動きベクトルのリストを設定する。 2003: The decoder sets a list of predicted motion vectors of candidates based on one or more motion vectors of one or more candidate reference blocks.

ステップ2003は、ステップ1903と同じであり、即ち、デコーダが候補の予測された動きベクトルのリストを設定する方法は、エンコーダが候補の予測された動きベクトルのリストを設定する方法と一貫しており、設定された候補の予測された動きベクトルのリストは同じである。エンコーダは、デコーダによって受信されるビットストリームを符号化するエンコーダである。 Step 2003 is the same as step 1903, i.e., the way the decoder sets the list of candidate predicted motion vectors is consistent with the way the encoder sets the list of candidate predicted motion vectors. , The list of predicted motion vectors of the set candidates is the same. The encoder is an encoder that encodes the bitstream received by the decoder.

2004:デコーダは、第2識別情報に基づいて、候補の予測された動きベクトルのリストから、第2の処理対象のピクチャ・ブロックの参照ブロックと参照ブロックの動きベクトルとを決定する。 2004: The decoder determines the reference block of the picture block to be processed and the motion vector of the reference block from the list of predicted motion vectors of the candidates based on the second identification information.

第2識別情報のインデックスで示される動きベクトルは、インデックスに基づいて候補の予測された動きベクトルのリストから選択される。動きベクトルは、第2の処理対象のピクチャ・ブロックの初期の動きベクトルであり、動きベクトルはまた、第2の処理対象のピクチャ・ブロックの参照ブロックの動きベクトルでもある。 The motion vector indicated by the index of the second identification information is selected from the list of candidate predicted motion vectors based on the index. The motion vector is the initial motion vector of the second processed picture block, and the motion vector is also the motion vector of the reference block of the second processed picture block.

2005:エンコーダは、参照ブロックの動きベクトルを、第2の処理対象のピクチャ・ブロックの初期の動きベクトルとして記憶する。 2005: The encoder stores the motion vector of the reference block as the initial motion vector of the second processed picture block.

ステップ2001ないし2005は、デコーダが第2の処理対象のピクチャ・ブロックの初期の動きベクトルを取得する処理である。 Steps 2001 to 2005 are processes in which the decoder acquires the initial motion vector of the picture block to be processed.

2006:デコーダは、第2の処理対象のピクチャ・ブロックの初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて、第2の処理対象のピクチャ・ブロックの予測ブロックを決定する。 2006: The decoder determines the predictive block of the second processed picture block based on the initial motion vector of the second processed picture block and one or more preset motion vector offsets. decide.

ステップ2006は、図14の14021ないし1404を使用することによって完了することができる。詳細はここで再び説明しない。 Step 2006 can be completed by using 14021 to 140 2 4 in FIG. Details will not be explained here again.

1つ以上の前もってセットされた動きベクトル・オフセットについては、ステップ1906を参照されたい。詳細はここで再び説明しない。 See step 1906 for one or more preset motion vector offsets. Details will not be explained here again.

ステップ2005及び2006を実行する不特定のシーケンスがあることに留意すべきであり、ステップ2006は代替的にステップ2005の前に実行されてもよい。ステップ2005及び2006を実行するシーケンスは、本願のこの実施形態において具体的に限定されない。 It should be noted that there are unspecified sequences that perform steps 2005 and 2006, and step 2006 may be performed before step 2005 instead. The sequences that perform steps 2005 and 2006 are not specifically limited in this embodiment of the present application.

2007:予測ブロックの動きベクトルを決定した後に、デコーダは、予測ブロックの動きベクトルを、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルとして使用する。 2007: After determining the motion vector of the predicted block, the decoder uses the motion vector of the predicted block as the final motion vector of the picture block to be processed.

ステップ2007では、候補の参照ブロックの動きベクトルが、予測ブロックの前もってセットされたレンジに基づいて決定されることが可能である。例えば、予測ブロックが前もってセットされたレンジ内にある場合には、予測ブロックの初期の動きベクトルが予測ブロックの動きベクトルとして使用され、予測ブロックが前もってセットされたレンジ外にある場合には、予測ブロックの最終的な動きベクトルが予測ブロックの動きベクトルとして使用される。 In step 2007, the motion vector of the candidate reference block can be determined based on the pre-set range of the predicted block. For example, if the predicted block is within the preset range, the initial motion vector of the predicted block is used as the motion vector of the predicted block, and if the predicted block is outside the preset range, the prediction is made. The final motion vector of the block is used as the motion vector of the predicted block.

具体的には、前もってセットされたレンジはCTB行レンジであってもよい。例えば、予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。相応して、予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置しない場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用される。図21を参照すると、予測ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置し、予測ブロックが位置するコーディング・ツリー・ブロックと、第2の処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行の隣接する空間に位置する場合には、予測ブロックの初期の動きベクトルが、予測ブロックの動きベクトルとして使用されることが理解されるであろう。異なる行の隣接する空間は、異なる行の上空間、左上空間などであってもよい。異なる行の隣接する空間の特定のレンジは、本発明のこの実施形態では具体的に限定されない。 Specifically, the preset range may be the CTB row range. For example, if the CTB where the prediction block is located and the CTB where the second picture block to be processed is located are located on the same row, the initial motion vector of the prediction block is used as the motion vector of the prediction block. Will be done. Correspondingly, if the CTB where the prediction block is located and the CTB where the second picture block to be processed is located are not located in the same row, the initial motion vector of the prediction block is the motion vector of the prediction block. Used as. Referring to FIG. 21, the coding tree block in which the prediction block is located and the coding tree block in which the second processing target picture block is located are located on different rows, and the prediction block is located in the coding tree block. If the tree block and the coding tree block where the second processed picture block is located are located in adjacent spaces on different rows, the initial motion vector of the predictor block is the motion of the predictor block. It will be understood that it is used as a vector. The adjacent space of different rows may be the upper space, upper left space, etc. of different rows. The particular range of adjacent spaces in different rows is not specifically limited in this embodiment of the invention.

予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同じ行に位置する場合、予測ブロックに対する更新処理は終了しない可能性がある。従って、予測ブロックの初期の動きベクトルは、予測ブロックの動きベクトルとして直接的に使用されることが可能であり、予測ブロックが更新されるまで待機する必要はなく、復号化遅延を低減する。予測ブロックが位置するCTBと、第2の処理対象のピクチャ・ブロックが位置するCTBとが同一の行に位置していない場合、それは、予測ブロックに対する更新処理を完了するのに十分な時間があることを示す。従って、予測ブロックは最終的な動きベクトルを有し、予測ブロックの最終的な動きベクトルは、予測ブロックの動きベクトルとして使用されることが可能である。更に、最終的な動きベクトルは、初期の動きベクトルが洗練された後に得られる動きベクトルであるので、予測ブロックの動きベクトルとして最終的な動きベクトルを使用することは、復号化品質を保証することができる。 If the CTB where the prediction block is located and the CTB where the second picture block to be processed is located are located on the same row, the update processing for the prediction block may not be completed. Therefore, the initial motion vector of the predicted block can be used directly as the motion vector of the predicted block, and it is not necessary to wait until the predicted block is updated, which reduces the decoding delay. If the CTB where the predicted block is located and the CTB where the second processed picture block is located are not located on the same row, it has enough time to complete the update process for the predicted block. Show that. Therefore, the prediction block has a final motion vector, and the final motion vector of the prediction block can be used as the motion vector of the prediction block. Furthermore, since the final motion vector is the motion vector obtained after the initial motion vector has been refined, using the final motion vector as the motion vector of the prediction block ensures decoding quality. Can be done.

幾つかの実施形態では、前もってセットされたレンジは代替的にCTBブロック・レンジであってもよい。幾つかの他の実施形態では、前もってセットされたレンジは、代替的に、同じCTBブロック・レンジであってもよい。予測ブロックの動きベクトルの決定は、候補の参照ブロックの動きベクトルの決定と同様である。これについてはステップ1802を参照されたい。詳細はここで再び説明しない。 In some embodiments, the preset range may be the CTB block range instead. In some other embodiments, the preset range may be the same CTB block range instead. Determining the motion vector of the predictive block is similar to determining the motion vector of the candidate reference block. See step 1802 for this. Details will not be explained here again.

ステップ2006及びステップ2007は、デコーダが第2の処理対象のピクチャ・ブロックの最終的な動きベクトルを取得する処理である。 Steps 2006 and 2007 are processes in which the decoder acquires the final motion vector of the picture block to be processed.

2008:第2の処理対象のピクチャ・ブロックの動きベクトル残差を、ターゲット・ストレージ空間に記憶する。 2008: The motion vector residual of the picture block to be processed second is stored in the target storage space.

ターゲット・ストレージ空間は、デコーダによって動きベクトル残差を記憶するための空間である。例えば、ターゲット・ストレージ空間は、図3の参照ピクチャ・ストレージ92であってもよい。 The target storage space is a space for storing motion vector residuals by the decoder. For example, the target storage space may be the reference picture storage 92 of FIG.

関連技術におけるマージ・モードでは、ターゲット・ストレージ空間はゼロ・ベクトルを記憶するか、又はターゲット・ストレージ空間はデータを記憶しないことに留意すべきである。しかしながら、本願のこの実施形態におけるマージ・モードでは、処理対象のピクチャ・ブロックの動きベクトル残差がターゲット・ストレージ空間に記憶され、その結果、ターゲット・ストレージ空間を完全に使用することが可能であるだけでなく、他のピクチャ・ブロックの動きベクトルが第2の処理対象のピクチャ・ブロックに対して必要とされる場合に、他のピクチャ・ブロックの動きベクトルを柔軟に選択することも可能である。ステップ2002及び2007において示されるように、デコーダの復号化効率は更に改善される。 It should be noted that in merge mode in related technology, the target storage space stores zero vectors or the target storage space does not store data. However, in the merge mode of this embodiment of the present application, the motion vector residuals of the picture block to be processed are stored in the target storage space, and as a result, the target storage space can be completely used. Not only that, it is also possible to flexibly select the motion vector of the other picture block when the motion vector of the other picture block is required for the second processed picture block. .. As shown in steps 2002 and 2007, the decoding efficiency of the decoder is further improved.

更に、一部の実装では、ステップ2008において、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルが、代替的に、第2の処理対象のピクチャ・ブロックの動きベクトル残差として使用され、ターゲット・ストレージ空間に記憶されることが可能であり、即ち、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルがターゲット・ストレージ空間に記憶され、第2の処理対象のピクチャ・ブロックの動きベクトル残差は、ターゲット・ストレージ空間に記憶されない。この場合において、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルが別のブロックに必要とされる場合、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルは、第2の処理対象のピクチャ・ブロックの初期の動きベクトルと、第2の処理対象のピクチャ・ブロックの動きベクトル残差とを加算する必要なしに、デコーダのターゲット・ストレージ空間から直接的に取得されることが可能である。 Further, in some implementations, in step 2008, the final motion vector of the second processed picture block is instead used as the motion vector residual of the second processed picture block. , That is, the final motion vector of the second processed picture block is stored in the target storage space and is stored in the target storage space, that is, the second processed picture block. The motion vector residuals of are not stored in the target storage space. In this case, if the final motion vector of the second processed picture block is required for another block, the final motion vector of the second processed picture block is the second. Can be obtained directly from the decoder's target storage space without the need to add the initial motion vector of the picture block to be processed and the motion vector residuals of the second picture block to be processed. It is possible.

このステップ2008における具体的なストレージ方法については、図21を参照されたい。 See FIG. 21 for a specific storage method in this step 2008.

ステップ2007及び2008の間のシーケンスには厳密な要件がないことに留意すべきであり、デコーダは代替的にステップ2008の前にステップ2007を実行してもよい。これは本願のこの実施形態で具体的に限定されない。 It should be noted that there are no strict requirements for the sequence between steps 2007 and 2008, and the decoder may optionally perform step 2007 before step 2008. This is not specifically limited in this embodiment of the present application.

2009:デコーダは、第2の処理対象のピクチャ・ブロックの動きベクトル残差と初期の動き差分とに基づいて、第2の処理対象のピクチャ・ブロックに対応するピクチャ情報を取得する。 2009: The decoder acquires the picture information corresponding to the second processed picture block based on the motion vector residual of the second processed picture block and the initial motion difference.

ピクチャ情報は、第2の処理対象のピクチャ・ブロックのオリジナル・ピクチャを識別するために使用されるピクセル情報を含む。 The picture information includes pixel information used to identify the original picture of the second processable picture block.

デコーダは、第2の処理対象のピクチャ・ブロックの動きベクトル残差と初期の動き差分とに基づいて、第2の処理対象のピクチャ・ブロックに対応するピクチャ情報を取得する。これについては、図3を参照されたい。詳細はここで再び説明されない。 The decoder acquires the picture information corresponding to the picture block to be processed second based on the motion vector residual of the picture block to be processed and the initial motion difference. See FIG. 3 for this. Details will not be explained here again.

相応して、デコーダは、代替的に、第2の処理対象のピクチャ・ブロックの最終的な動きベクトルに基づいて、第2の処理対象のピクチャ・ブロックに対応するピクチャ情報を取得してもよい。 Accordingly, the decoder may instead acquire the picture information corresponding to the second processed picture block based on the final motion vector of the second processed picture block. ..

前述の実装では、現在の復号化ブロックを復号化する場合に、デコーダは、参照ブロックの最終的な動きベクトルの代わりに、現在の復号化ブロックの予測された動きベクトルとして、参照ブロックの更新されていない初期の動きベクトルを使用する。このように、参照ブロックの動きベクトルが現在の復号化ブロックに対して必要とされる場合、関連するステップは、参照ブロックの最終的な動きベクトルが更新されるまで待機する必要なしに実行されることが可能であり、復号化遅延が確実に削減されることを保証する一方、復号化効率は、動きベクトルが更新されるので改善される。 In the above implementation, when decoding the current decrypted block, the decoder updates the reference block as the predicted motion vector of the current decoded block instead of the final motion vector of the reference block. Use an early motion vector that is not. Thus, if the motion vector of the reference block is required for the current decoded block, the relevant steps are performed without having to wait for the final motion vector of the reference block to be updated. It is possible to ensure that the decoding delay is reduced, while the decoding efficiency is improved as the motion vector is updated.

動きベクトル・ストレージ方法を更に反映するために、具体的な実施形態が、ストレージ・ステップを説明するためにここで使用される。具体的な説明は次のとおりである: To further reflect the motion vector storage method, specific embodiments are used herein to illustrate the storage steps. The specific explanation is as follows:

マージ・モードでは、各々の予測方向において2つのMVが存在する可能性があり、それぞれ第1MV情報及び第2MV情報である。例えば、第1MV及び第2MVはそれぞれ、参照ブロックの初期の動きベクトル、及び参照ブロックの候補の最終的な動きベクトルであってもよい。MVD導出プロセスはマージ・モードに導入される。例えば、前方予測プロセスにおいて、第1MVがMV0であり、第2MVがMV0’である場合に、派生的な関係が存在する:MV0’=MV0+(−)MVD0。2つのMV、例えば初期の動きベクトルのインデックス値と以前のMVD、即ち、2つのMV間の差分とを記憶することによって、第1MVが特定の条件下で使用されることが可能であり、第2MVが特定の条件下で使用されることが可能であり、遅延を回避する。 In the merge mode, there may be two MVs in each prediction direction, the first MV information and the second MV information, respectively. For example, the first MV and the second MV may be the initial motion vector of the reference block and the final motion vector of the candidate of the reference block, respectively. The MVD derivation process is introduced into merge mode. For example, in the forward prediction process, if the first MV is MV0 and the second MV is MV0', then there is a derivative relationship: MV0'= MV0 + (-) MVD0. Two MVs, eg, the initial motion vector. By storing the index value of and the previous MVD, i.e., the difference between the two MVs, the first MV can be used under certain conditions and the second MV is used under certain conditions. It is possible to avoid delays.

特定の条件については、ステップ1902又は2002を参照されたい。詳細はここで再び説明されない。 See step 1902 or 2002 for specific conditions. Details will not be explained here again.

実現可能な実装において、
非マージ・モードでは、ターゲット・ストレージ空間が、参照ブロックの動きベクトル残差を記憶するために使用され、参照ブロックの動きベクトル残差は、参照ブロックの最終的な動きベクトルと参照ブロックの予測された動きベクトルとの差分である。
マージ・モードでは、ターゲット・ストレージ空間は、選択された最終的な動きベクトルを記憶するために使用されるか、又はターゲット・ストレージ空間は、参照ブロックの初期の動きベクトルと選択された最終的な動きベクトルとの間の差分を記憶するために使用される。
In a feasible implementation
In non-merged mode, the target storage space is used to store the motion vector residuals of the reference block, and the motion vector residuals of the reference block are predicted for the final motion vector of the reference block and the reference block. It is the difference from the motion vector.
In merge mode, the target storage space is used to store the selected final motion vector, or the target storage space is the initial motion vector of the reference block and the selected final motion vector. Used to store the difference to and from the motion vector.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

図22に示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が得られ、参照ブロックはマージ・モードであり、参照ブロックの動き情報の位置は、現在のコーディング・ブロックと同一のCTBレンジにはない。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−22,18)と前方MVD(1,0)とを加えることによって取得され、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(2,12)と後方MVD(−1,0)とを加えることによって取得され、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 22, the current coding block is the first coding block, which provides the predicted motion information of the current coding block, the reference block is in merge mode, and the motion information of the reference block. The position of is not in the same CTB row range as the current coding block. In this case, the forward motion vector predictor (-21,18) of the current coding block is obtained by adding the forward motion vector (-22,18) and the forward MVD (1,0) of the reference block. The backward motion vector predictor (1,12) of the current coding block is obtained by adding the backward motion vector (2,12) and the backward MVD (-1,0) of the reference block and is the current coding block. The POC of the picture in which the block is located is 4, the POC of the forward reference picture indicated by the index value of the reference picture is 2, and the POC of the backward reference picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。 (-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

図22に示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が得られ、参照ブロックはマージ・モードであり、参照ブロックの動き情報の位置は、現在のコーディング・ブロックと同一のCTBレンジにはない。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−22,18)と前方MVD(1,0)とを加えることによって取得され、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(2,12)と後方MVD(−1,0)とを加えることによって取得され、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 22, the current coding block is the first coding block, which provides the predicted motion information of the current coding block, the reference block is in merge mode, and the motion information of the reference block. The position of is not in the same CTB range as the current coding block. In this case, the forward motion vector predictor (-21,18) of the current coding block is obtained by adding the forward motion vector (-22,18) and the forward MVD (1,0) of the reference block. The backward motion vector predictor (1,12) of the current coding block is obtained by adding the backward motion vector (2,12) and the backward MVD (-1,0) of the reference block and is the current coding block. The POC of the picture in which the block is located is 4, the POC of the forward reference picture indicated by the index value of the reference picture is 2, and the POC of the backward reference picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。
新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。
(-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search.
The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

図22に示すように、現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が得られ、参照ブロックはマージ・モードであり、参照ブロックの動き情報の位置は、現在のコーディング・ブロックと同一のCTBラインのレンジにはない。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−22,18)と前方MVD(1,0)とを加えることによって取得され、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(2,12)と後方MVD(−1,0)とを加えることによって取得され、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 As shown in FIG. 22, the current coding block is the first coding block, which provides the predicted motion information of the current coding block, the reference block is in merge mode, and the motion information of the reference block. The position of is not in the same CTB line range as the current coding block. In this case, the forward motion vector predictor (-21,18) of the current coding block is obtained by adding the forward motion vector (-22,18) and the forward MVD (1,0) of the reference block. The backward motion vector predictor (1,12) of the current coding block is obtained by adding the backward motion vector (2,12) and the backward MVD (-1,0) of the reference block and is the current coding block. The POC of the picture in which the block is located is 4, the POC of the forward reference picture indicated by the index value of the reference picture is 2, and the POC of the backward reference picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。 (-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

次いで、(−21,19)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1/2ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,11)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1/2ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、
前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用される。
(-21,19) is then used as a reference input for the forward motion vector predictor, and a first precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is 1/2 pixel precision. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 11) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is 1/2 pixel precision. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference.
The forward motion vector predictor corresponding to the forward prediction block and the backward motion vector predictor corresponding to the backward prediction block are used as the target motion vector predictor.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

本願の別の実施形態は次のとおりである: Another embodiment of the present application is:

現在のコーディング・ブロックは第1コーディング・ブロックであり、現在のコーディング・ブロックの予測された動き情報が取得される。この場合、現在のコーディング・ブロックの前方動きベクトル予測子(−21,18)は、参照ブロックの前方動きベクトル(−21,18)であり、現在のコーディング・ブロックの後方動きベクトル予測子(1,12)は、参照ブロックの後方動きベクトル(1,12)であり、現在のコーディング・ブロックが位置するピクチャのPOCは4であり、参照ピクチャのインデックス値で示される前方参照ピクチャのPOCは2であり、参照ピクチャのインデックス値で示される後方参照ピクチャのPOCは6である。この場合、現在のコーディング・ブロックに対応するPOCは4であり、前方予測参照ピクチャ・ブロックに対応するPOCは2であり、後方予測参照ピクチャ・ブロックに対応するPOCは6である。 The current coding block is the first coding block, and the predicted motion information of the current coding block is acquired. In this case, the forward motion vector predictor (-21,18) of the current coding block is the forward motion vector (-21,18) of the reference block and the backward motion vector predictor (1) of the current coding block. , 12) are the backward movement vectors (1,12) of the reference block, the POC of the picture in which the current coding block is located is 4, and the POC of the forward reference picture indicated by the index value of the reference picture is 2. The POC of the back-referenced picture indicated by the index value of the reference picture is 6. In this case, the POC corresponding to the current coding block is 4, the POC corresponding to the forward predictive reference picture block is 2, and the POC corresponding to the backward predictive reference picture block is 6.

(−21,18)は前方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、前方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1前方予測ブロックは参照として使用され、対応する新しい前方予測ブロックは、各々の動き探索により取得される。(1,12)は後方動きベクトル予測器の参照入力として使用され、第1精度の動き探索が、後方予測参照ピクチャ・ブロックに対して実行される。この場合、第1精度は1ピクセル・レンジにおける1ピクセル精度である。第1後方予測ブロックは参照として使用され、対応する新しい後方予測ブロックは、各々の動き探索により取得される。新しい前方予測ブロックは新しい後方予測ブロックと比較されて、最小差分を有する前方予測ブロックと最小差分を有する後方予測ブロックとを取得し、前方予測ブロックに対応する前方動きベクトル予測子と後方予測ブロックに対応する後方動きベクトル予測子とはターゲットの動きベクトル予測子として使用され、それぞれ(−21,19)及び(1,11)であると仮定される。 (-21, 18) are used as a reference input for the forward motion vector predictor, and a first-precision motion search is performed on the forward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first forward prediction block is used as a reference and the corresponding new forward prediction block is acquired by each motion search. (1, 12) is used as a reference input for the backward motion vector predictor, and a first-precision motion search is performed on the backward predictive reference picture block. In this case, the first precision is one pixel precision in the one pixel range. The first backward prediction block is used as a reference and the corresponding new backward prediction block is acquired by each motion search. The new forward prediction block is compared with the new backward prediction block to get the forward prediction block with the minimum difference and the backward prediction block with the minimum difference, and into the forward motion vector predictor and the backward prediction block corresponding to the forward prediction block. The corresponding backward motion vector predictors are used as target motion vector predictors and are assumed to be (-21,19) and (1,11), respectively.

現在のコーディング・ブロックの前方MVD(0,1)は、前方動きベクトル予測子(−21,18)を、前方ターゲット動きベクトル予測子(−21,19)から減算することにより取得され、現在のコーディング・ブロックの後方MVD(0,−1)は、後方動きベクトル予測子(1,12)を、後方ターゲット動きベクトル予測子(1,11)から減算することによって取得される。MVD計算方法1は次のとおりである:MVD0=(−21,19)−(−21,18)及びMVD1=(1,11)−(1,12);又はMVD0=(−21,19)−(−21,18)及びMVD1=−MVD0。 The forward MVD (0,1) of the current coding block is obtained by subtracting the forward motion vector predictor (-21,18) from the forward target motion vector predictor (-21,19) and is the current The backward MVD (0, -1) of the coding block is obtained by subtracting the backward motion vector predictor (1,12) from the backward target motion vector predictor (1,11). The MVD calculation method 1 is as follows: MVD0 = (-21,19) − (-21,18) and MVD1 = (1,11) − (1,12); or MVD0 = (-21,19). − (-21, 18) and MVD1 = −MVD0.

更に、前方予測及び後方予測は、ターゲット動きベクトル予測子に基づいて、第1コーディング・ブロックに対して別々に実行され、取得された前方及び後方予測ブロックは、ターゲット復号化予測ブロックとして使用され、現在のコーディング・ブロックの予測ブロックが更新される。 Further, forward and backward predictions are performed separately for the first coding block based on the target motion vector predictor, and the obtained forward and backward prediction blocks are used as the target decoding prediction block. The prediction block of the current coding block is updated.

第1精度の動き探索が前方予測参照ピクチャ・ブロックと後方予測参照ピクチャ・ブロックとに対して実行される場合、第1精度は、任意の指定された精度、例えば、整数ピクセル精度、1/2ピクセル精度、1/4ピクセル精度、又は1/8ピクセル精度であってもよい。 If the first precision motion search is performed on the forward predictive reference picture block and the backward predictive reference picture block, the first precision is any specified precision, eg, integer pixel precision, 1/2. It may be pixel precision, 1/4 pixel precision, or 1/8 pixel precision.

幾つかの実施形態では、処理対象のピクチャ・ブロックは複数のサブ・ブロックを含んでもよく、コーデックは、各々のサブ・ブロックの最終的な動きベクトルに基づいて、処理対象のピクチャ・ブロックの最終的な動きベクトルを取得することができる。可能な実装において、各々のサブ・ブロックは、初期の動きベクトルと、サブ・ブロックの複数の前もってセットされたオフセット・ベクトルとを有する。コーデックは、任意のサブ・ブロックの複数の候補の最終的な動きベクトルを得るために、複数のサブ・ブロックのうちの任意の1つの初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えることができる。コーデックは、任意のサブ・ブロックの最終的な動きベクトルとして、任意のサブ・ブロックの複数の候補の最終的な動きベクトルにおける最小歪コストに対応する候補の最終的な動きベクトルを使用する。同様に、コーデックは、各サブ・ブロックの最終的な動きベクトルを得ることができ、次いで、コーデックは、各サブ・ブロックの最終的な動きベクトルに基づいて、処理対象のピクチャ・ブロックの最終的な動きベクトルを得ることができる。各サブ・ブロックの最終的な動きベクトルに基づいて処理対象のピクチャ・ブロックの最終的な動きベクトルを得るプロセスは、本発明のこの実施形態において具体的に限定されない。 In some embodiments, the picture block to be processed may contain a plurality of sub-blocks, and the codec is the final of the picture blocks to be processed based on the final motion vector of each sub-block. Motion vector can be obtained. In a possible implementation, each sub-block has an initial motion vector and a plurality of pre-set offset vectors of the sub-block. The codec has an initial motion vector of any one of a plurality of sub-blocks and a plurality of pre-set offset vectors in order to obtain the final motion vector of multiple candidates of any sub-block. Can be added separately. The codec uses, as the final motion vector of any sub-block, the candidate final motion vector corresponding to the minimum distortion cost in the final motion vector of multiple candidates of any sub-block. Similarly, the codec can obtain the final motion vector of each sub-block, and then the codec can obtain the final motion vector of the picture block to be processed based on the final motion vector of each sub-block. Motion vector can be obtained. The process of obtaining the final motion vector of the picture block to be processed based on the final motion vector of each sub-block is not specifically limited in this embodiment of the present invention.

任意のサブ・ブロックの複数の候補の最終的な動きベクトルを得る前に、コーデックは、先ず、任意のサブ・ブロックの初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを決定する必要があることに留意すべきである。任意のサブ・ブロックの初期の動きベクトルを決定する方法は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定する方法に類似しており、本発明のこの実施形態では説明しない。更に、任意のサブ・ブロックの複数の前もってセットされたオフセット・ベクトルを決定する方法は、処理対象のピクチャ・ブロックの複数の前もってセットされたオフセット・ベクトルを決定する方法に類似しており、本発明のこの実施形態では説明しない。 Before obtaining the final motion vector of multiple candidates for any subblock, the codec must first determine the initial motion vector of any subblock and the preset offset vectors. It should be noted that there is. The method of determining the initial motion vector of any sub-block is similar to the method of determining the initial motion vector of the picture block to be processed and is not described in this embodiment of the invention. Furthermore, the method of determining multiple pre-set offset vectors of any sub-block is similar to the method of determining multiple pre-set offset vectors of the picture block to be processed. Not described in this embodiment of the invention.

図23は、本願の実施形態による動きベクトル取得装置2300の概略ブロック図である。装置2300は:
処理対象のピクチャ・ブロックの参照ブロックを決定するように構成された決定モジュール2301であって、参照ブロック及び処理対象のピクチャ・ブロックは前もってセットされた時間的又は空間的な相関を有し、参照ブロックは、初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを有し、参照ブロックの初期の動きベクトルは、参照ブロックの予測された動きベクトルに基づいて取得され、参照ブロックの予測ブロックは、初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとに基づいて取得される、決定モジュールと、
処理対象のピクチャ・ブロックの予測された動きベクトルとして、参照ブロックの初期の動きベクトルを使用するように構成された取得モジュール2302とを含む。
FIG. 23 is a schematic block diagram of the motion vector acquisition device 2300 according to the embodiment of the present application. Device 2300 is:
A decision module 2301 configured to determine a reference block for a picture block to be processed, wherein the reference block and the picture block to be processed have a preset temporal or spatial correlation and are referenced. The block has an initial motion vector and one or more preset motion vector offsets, and the initial motion vector of the reference block is obtained based on the predicted motion vector of the reference block and is a reference block. The prediction block of is obtained based on the initial motion vector and one or more pre-set motion vector offsets, with a decision module,
Includes acquisition module 2302 configured to use the initial motion vector of the reference block as the predicted motion vector of the picture block to be processed.

実現可能な実装において、取得モジュール2302は、参照ブロックの予測された動きベクトルを、参照ブロックの初期の動きベクトルとして使用するように構成されるか、又は参照ブロックの予測された動きベクトルと参照ブロックの動きベクトル差分とを加算して、参照ブロックの初期の動きベクトルを取得するように更に構成される。 In a feasible implementation, the acquisition module 2302 is configured to use the predicted motion vector of the reference block as the initial motion vector of the reference block, or the predicted motion vector of the reference block and the reference block. It is further configured to obtain the initial motion vector of the reference block by adding the motion vector difference of.

実現可能な実施において、取得モジュール2302は、更に、参照ブロックの時間的な予測ブロックとして機能するように、参照ブロックの初期の動きベクトルによって示されるピクチャ・ブロックを、参照ブロックの参照フレームから取得し;1つ以上の実際の動きベクトルを取得するために、参照ベクトルの初期の動きベクトルと1つ以上の前もってセットされた動きベクトル・オフセットとを追加し(ここで、それぞれの実際の動きベクトルは1つ以上の探索位置を示す)、1つ以上の実際の動きベクトルによって示される1つ以上の探索位置において1つ以上の候補の予測ブロックを取得し(ここで、それぞれの探索位置は1つの候補の予測ブロックに対応する)、時間的な予測ブロックからの最小ピクセル差分を有する候補の予測ブロックを、参照ブロックの予測ブロックとして、1つ以上の候補の予測ブロックから選択するように構成される。 In a feasible implementation, acquisition module 2302 further acquires the picture block represented by the initial motion vector of the reference block from the reference frame of the reference block so that it acts as a temporal prediction block of the reference block. To get one or more actual motion vectors, add the initial motion vector of the reference vector and one or more preset motion vector offsets (where each actual motion vector is Obtain one or more candidate prediction blocks at one or more search positions indicated by one or more actual motion vectors (indicating one or more search positions) (where each search position is one). A candidate prediction block having the smallest pixel difference from the temporal prediction block (corresponding to the candidate prediction block) is configured to be selected from one or more candidate prediction blocks as the reference block prediction block. ..

実現可能な実装において、装置2300は、双方向予測に使用され、参照フレームは、第1方向の参照フレームと第2方向の参照フレームとを含み、初期の動きベクトルは、第1方向の初期の動きベクトルと第2方向の初期の動きベクトルとを含み、取得モジュール2302は、具体的には、参照ブロックの第1方向の参照フレームから、参照ブロックの第1方向の初期の動きベクトルによって示される第1ピクチャ・ブロックを取得し、参照ブロックの第2方向の参照フレームから、参照ブロックの第2方向の初期の動きベクトルによって示される第2のピクチャ・ブロックを取得し、参照ブロックの時間的な予測ブロックを取得するために、第1ピクチャ・ブロック及び第2ピクチャ・ブロックに対して重み付け処理を実行するように構成される。 In a feasible implementation, the device 2300 is used for bidirectional prediction, the reference frame includes a reference frame in the first direction and a reference frame in the second direction, and the initial motion vector is the initial motion vector in the first direction. It contains a motion vector and an initial motion vector in the second direction, and the acquisition module 2302 is specifically indicated by the initial motion vector in the first direction of the reference block from the reference frame in the first direction of the reference block. Obtain the first picture block, and from the reference frame in the second direction of the reference block, obtain the second picture block indicated by the initial motion vector in the second direction of the reference block, and obtain the temporal of the reference block. It is configured to perform a weighting process on the first picture block and the second picture block in order to acquire the prediction block.

実現可能な実施において、取得モジュール2302は、処理対象のピクチャ・ブロックの予測された動きベクトルを、処理対象のピクチャ・ブロックの初期の動きベクトルとして使用するように具体的に構成される。 In a feasible implementation, acquisition module 2302 is specifically configured to use the predicted motion vector of the picture block to be processed as the initial motion vector of the picture block to be processed.

実現可能な実施において、取得モジュール2302は、処理対象のピクチャ・ブロックの予測された動きベクトルと、処理対象のピクチャ・ブロックの動きベクトル差分
とを加算して、処理対象のピクチャ・ブロックの初期の動きベクトルを取得するように、具体的に構成される。
In a feasible implementation, acquisition module 2302 adds the predicted motion vector of the picture block to be processed and the motion vector difference of the picture block to be processed to the initial of the picture block to be processed. It is specifically configured to get a motion vector.

実現可能な実装において、装置2300は、ビデオ復号化に使用され、処理対象のピクチャ・ブロックの動きベクトル差分は、ビットストリームにおける第1識別情報を解析することによって得られる。 In a feasible implementation, the device 2300 is used for video decoding and the motion vector differences of the picture blocks to be processed are obtained by analyzing the first discriminant information in the bitstream.

実現可能な実装において、装置2300は、ビデオ復号化に使用され、決定モジュール2301は、第2識別情報を得るためにビットストリームを解析し、第2識別情報に基づいて処理対象のピクチャ・ブロックの参照ブロックを決定するように、具体的に構成される。 In a feasible implementation, device 2300 is used for video decoding and decision module 2301 analyzes the bitstream to obtain second identification information and is based on the second identification information of the picture block to be processed. It is specifically configured to determine the reference block.

実現可能な実装において、装置2300は、ビデオ符号化に使用され、決定モジュール2301は、処理対象のピクチャ・ブロックの1つ以上の候補の参照ブロックから、処理対象のピクチャ・ブロックの参照ブロックとして、最小レート歪コストを有する候補参照ブロックを選択するように、具体的に構成される。 In a feasible implementation, device 2300 is used for video coding and the decision module 2301 is taken from one or more candidate reference blocks of the picture block to be processed as a reference block of the picture block to be processed. It is specifically configured to select the candidate reference block with the minimum rate distortion cost.

図24は、本願の実施形態によるビデオ・コーディング・デバイスの概略ブロック図である。デバイス2400は、エンコーダに適用されてもよいし、又はデコーダに適用されてもよい。デバイス2400はプロセッサ2401及びメモリ2402を含む。プロセッサ2401及びメモリ2402は互いに(例えば、バス2404を介して)接続される。可能な実装において、デバイス2400は、トランシーバ2403を更に含んでもよい。トランシーバ2403は、プロセッサ2401及びメモリ2402に接続され、データを受信/送信するように構成される。 FIG. 24 is a schematic block diagram of a video coding device according to an embodiment of the present application. The device 2400 may be applied to the encoder or may be applied to the decoder. Device 2400 includes processor 2401 and memory 2402. The processor 2401 and the memory 2402 are connected to each other (eg, via bus 2404). In a possible implementation, the device 2400 may further include a transceiver 2403. Transceiver 2403 is connected to processor 2401 and memory 2402 and is configured to receive / transmit data.

メモリ2402は、ランダム・アクセス・メモリ(random access memory,RAM)、リード・オンリー・メモリ(read−only memory,ROM)、消去可能なプログラマブル。リード・オンリー・メモリ(erasable programmable read only memory,EPROM)、又はコンパクト・ディスク・リード・オンリー・メモリ(compact disc read−only memory,CD−ROM)を含むが、これらに限定されない。メモリ2402は、関連するプログラム・コード及びビデオ・データを記憶するように構成される。 The memory 2402 is a random access memory (RAM), a read-only memory (ROM), and an erasable programmable. Includes, but is not limited to, read-only memory (EPROM) or compact disc read-only memory (CD-ROM). Memory 2402 is configured to store relevant program code and video data.

プロセッサ2401は、1つ以上の中央処理ユニット(central processing unit,CPU)であってもよい。プロセッサ2401が1つのCPUである場合、CPUは、シングル・コアCPU又はマルチ・コアCPUであってもよい。 Processor 2401 may be one or more central processing units (CPUs). When the processor 2401 is one CPU, the CPU may be a single core CPU or a multi-core CPU.

プロセッサ2401は、メモリ2402に記憶されたプログラム・コードを読み込み、図13ないし図20に対応する任意の実装解決策、及び実装解決策の種々の実現可能な実装における演算を実行するように構成される。 Processor 2401 is configured to read the program code stored in memory 2402 and perform any implementation solution corresponding to FIGS. 13 to 20 and operations in various feasible implementations of the implementation solution. To.

例えば、本願の実施形態は、コンピュータ読み取り可能な記憶媒体を更に提供する。コンピュータ読み取り可能な記憶媒体は命令を記憶する。命令がコンピュータ上で実行される場合に、コンピュータは、
図13ないし図20に対応する任意の実装解決策、及び実装解決策の種々の実装可能な実装における演算を実行することを可能にする。
For example, embodiments of the present application further provide a computer-readable storage medium. A computer-readable storage medium stores instructions. When the instruction is executed on the computer, the computer
It makes it possible to perform operations in any implementation solution corresponding to FIGS. 13 to 20 and in various implementable implementations of the implementation solution.

例えば、本願の実施形態は、命令を含むコンピュータ・プログラム製品を更に提供する。コンピュータ・プログラム製品がコンピュータ上で実行される場合に、コンピュータは、図13ないし図20に対応する任意の実装解決策、及び実装解決策の種々の実装可能な実装における演算を実行することを可能にする。 For example, embodiments of the present application further provide computer program products that include instructions. When a computer program product is run on a computer, the computer is capable of performing any implementation solution corresponding to FIGS. 13-20, as well as operations in various implementable implementations of the implementation solution. To.

図25は、本願の実施形態による動きベクトル取得装置を示す。装置は、決定モジュール2501と、第1取得モジュール2502と、第2取得モジュール2503とを含む。 FIG. 25 shows a motion vector acquisition device according to an embodiment of the present application. The apparatus includes a determination module 2501, a first acquisition module 2502, and a second acquisition module 2503.

決定モジュール2501は、ステップ1904を実行するように構成される。 The decision module 2501 is configured to perform step 1904.

第1取得モジュール2502は、ステップ1907を実行するように構成される。 The first acquisition module 2502 is configured to perform step 1907.

第2取得モジュール2503は、ステップ1907を実行するように構成される。 The second acquisition module 2503 is configured to perform step 1907.

オプションとして、参照ブロックが、前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックCTBと、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが同じ行に位置することを含む。
相応して、参照ブロックが、前もってセットされたレンジ外にあることは、ステップ1907に関連して、参照ブロックが位置するコーディング・ツリー・ブロックと、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが異なる行に位置することを含む。
Optionally, the reference block is in the preset range so that the coding tree block CTB where the reference block is located and the coding tree block where the picture block to be processed is located are on the same line. Including being located.
Correspondingly, the fact that the reference block is out of the preset range is related to step 1907, that is, the coding tree block in which the reference block is located and the coding tree in which the picture block to be processed is located. -Includes that the block is located on a different line.

オプションとして、参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックと処理対象のピクチャ・ブロックとが同じコーディング・ツリー・ブロックに位置することを含む。
相応して、参照ブロックが前もってセットされたレンジ外にあることは、ステップ1907に関連して、参照ブロックと処理対象のピクチャ・ブロックとが異なるコーディング・ツリー・ブロックに位置することを含む。
Optionally, having the reference block in the preset range includes that the reference block and the picture block to be processed are in the same coding tree block.
Correspondingly, the fact that the reference block is out of the preset range includes that the reference block and the picture block to be processed are located in different coding tree blocks in relation to step 1907.

オプションとして、
参照ブロックが前もってセットされたレンジ内にあることは、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じであること、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックであることを含む。
相応して、参照ブロックが前もってセットされたレンジ外にあることは、ステップ1907に関し、参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じではないこと、又は参照ブロックが位置するコーディング・ツリー・ブロックが、処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックではないことを含む。
As an option
The fact that the reference block is within the preset range means that the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located, or the reference block is located. Includes that the located coding tree block is a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located.
Correspondingly, the fact that the reference block is out of the preset range means that for step 1907, the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located. Includes that the coding tree block in which the reference block is located is not the left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located.

図26は、本願の実施形態による動きベクトル残差決定装置を示す。装置は、解析モジュール2601、加算モジュール2602、決定モジュール2603、及び取得モジュール2604を含む。 FIG. 26 shows a motion vector residual determination device according to an embodiment of the present application. The apparatus includes an analysis module 2601, an addition module 2602, a determination module 2603, and an acquisition module 2604.

解析モジュール2601は、ステップ2001を実行するように構成される。 The analysis module 2601 is configured to perform step 2001.

加算モジュール2602は、ステップ2002を実行するように構成される。 Addition module 2602 is configured to perform step 2002.

決定モジュール2603は、ステップ1422を実行するように構成される。 The decision module 2603 is configured to perform step 1422.

取得モジュール2604は、ステップ2008を実行するように構成される。 Acquisition module 2604 is configured to perform step 2008.

オプションとして、装置は双方向インター予測に使用され、最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルを含み;第1の最終的な動きベクトルと第1の初期の動きベクトルとは処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、第2の最終的な動きベクトルと第2の初期の動きベクトルとは処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し;及び
最終的な動きベクトルと初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの動きベクトル残差として使用することは:
第1の最終的な動きベクトルと第1の初期の動きベクトルとの間の差分を、処理対象のピクチャ・ブロックの第1動きベクトル残差として使用することを含む。
Optionally, the device is used for bidirectional inter-prediction, the final motion vector contains a first final motion vector and a second final motion vector, and the initial motion vector is the first initial motion vector. Includes motion vector and second initial motion vector; first final motion vector and first initial motion vector are motion compensation blocks based on the first reference frame list of the picture block to be processed. The second final motion vector and the second initial motion vector indicate the motion compensation block based on the second reference frame list of the picture block to be processed; and the final motion vector and Using the difference from the initial motion vector as the motion vector residuals of the picture block being processed is:
The difference between the first final motion vector and the first initial motion vector is used as the first motion vector residual of the picture block to be processed.

図27は、本願の実施形態による動きベクトル・データ記憶装置を示す。装置は、第1解析モジュール2701、取得モジュール2702、第2解析モジュール2703、及び記憶モジュール2704を含む。 FIG. 27 shows a motion vector data storage device according to an embodiment of the present application. The apparatus includes a first analysis module 2701, an acquisition module 2702, a second analysis module 2703, and a storage module 2704.

第1解析モジュール2701は、ステップ2001を実行するように構成される。 The first analysis module 2701 is configured to perform step 2001.

取得モジュール2702は、ステップ2007を実行するように構成される。 Acquisition module 2702 is configured to perform step 2007.

第2解析モジュール2703は、ステップ2001を実行するように構成される。 The second analysis module 2703 is configured to perform step 2001.

記憶モジュール2704は、ステップ2008を実行するように構成される Storage module 2704 is configured to perform step 2008.

当業者は、本明細書で開示された実施形態で説明される例との組み合わせにおいて、ユニット及びアルゴリズム・ステップは、電子ハードウェア、又はコンピュータ・ソフトウェアと電子ハードウェアとの組み合わせによって実現されることが可能であることを認識するであろう。機能がハードウェア又はソフトウェアによって実行されるかどうかは、特定のアプリケーション及び技術的解決策の設計制約条件に依存する。当業者は、それぞれの特定のアプリケーションについて、説明された機能を実装するために様々な方法を使用することが可能であるが、そのような実装が本願の範囲を超えるものであると考えるべきではない。 Those skilled in the art will appreciate that in combination with the examples described in the embodiments disclosed herein, the units and algorithm steps are implemented by electronic hardware, or a combination of computer software and electronic hardware. Will recognize that is possible. Whether a function is performed by hardware or software depends on the design constraints of the particular application and technical solution. One of ordinary skill in the art can use various methods to implement the described functionality for each particular application, but such implementation should be considered to be beyond the scope of this application. No.

便宜上及び簡潔な説明の目的により、前述のシステム、装置、及びユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照されたいということが、当業者には明らかに理解されるであろう。詳細はここで再び説明しない。 It will be apparent to those skilled in the art that for convenience and brief description purposes, those skilled in the art should refer to the corresponding processes in embodiments of the methods described above for detailed operating processes of the systems, devices and units described above. Will be done. Details will not be explained here again.

前述の実施形態のすべて又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることが可能である。ソフトウェアが実施形態を実施するために使用される場合、実施形態は、コンピュータ・プログラム製品の形式で完全に又は部分的に実現されることが可能である。コンピュータ・プログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータ・プログラム命令がコンピュータ上においてロードされ実行される場合に、本願の実施形態に従って、手順又は機能の全部又は一部が生じる。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータ・ネットワーク、又は他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、又はコンピュータ読み取り可能な記憶媒体から別のコンピュータ読み取り可能な記憶媒体へ送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバー、又はデータ・センターから他のウェブサイト、コンピュータ、サーバー、又はデータ・センターに、有線(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者回線)又は無線(例えば、赤外線、マイクロ波など)方式で送信されることが可能である。コンピュータ読み取り可能な記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、又は1つ以上の使用可能な媒体を統合するサーバー又はデータ・センターなどのデータ・ストレージ・デバイスであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピー・ディスク、ハード・ディスク、又は磁気テープ)、光媒体(例えば、デジタル多用途ディスク)、半導体媒体(例えば、固体ドライブ)等であってもよい。 All or part of the aforementioned embodiments can be realized by software, hardware, firmware, or any combination thereof. When the software is used to implement an embodiment, the embodiment can be fully or partially implemented in the form of a computer program product. Computer program products include one or more computer instructions. When computer program instructions are loaded and executed on a computer, all or part of the procedure or function arises according to embodiments of the present application. The computer may be a general purpose computer, a dedicated computer, a computer network, or other programmable device. Computer instructions may be stored on a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, a computer command can be wired (eg, coaxial cable, fiber optic, or digital subscriber line) or from a website, computer, server, or data center to another website, computer, server, or data center. It can be transmitted wirelessly (eg, infrared, microwave, etc.). The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device such as a server or data center that integrates one or more usable media. The medium that can be used may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital versatile disk), a semiconductor medium (for example, a solid-state drive), or the like.

前述の実施形態では、各々の実施形態における説明は個々の焦点を有する。実施形態において詳細には説明されていない部分については、他の実施形態における関連する説明を参照されたい。 In the aforementioned embodiments, the description in each embodiment has an individual focus. For parts not described in detail in the embodiment, refer to the related description in the other embodiments.

以上の説明は、本願の特定の実装を説明しているに過ぎず、本願の保護範囲を限定するようには意図されていない。本願で開示される技術的範囲の中で当業者により容易に把握される任意の変形又は置換は、本願の保護範囲内にあるものとする。従って、本願の保護範囲は、クレームの保護範囲に従うものとする。 The above description merely describes a particular implementation of the present application and is not intended to limit the scope of protection of the present application. Any modifications or substitutions readily apparent to those skilled in the art within the technical scope disclosed herein shall be within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be in accordance with the scope of protection of the claim.

Claims (32)

動きベクトル取得方法であって、
処理対象のピクチャ・ブロックの参照ブロックを決定するステップであって、前記参照ブロックと前記処理対象のピクチャ・ブロックとはピクチャの同じフレームに位置する、ステップと、
前記参照ブロックが前もってセットされたレンジ内にある場合に、前記参照ブロックの初期の動きベクトルに基づいて、前記処理対象のピクチャ・ブロックの動きベクトルを取得するステップであって、前記前もってセットされたレンジは、前記処理対象のピクチャ・ブロックの位置に基づいて決定される、ステップと、
前記参照ブロックが前記前もってセットされたレンジ外にある場合に、前記参照ブロックの最終的な動きベクトルに基づいて、前記処理対象のピクチャ・ブロックの動きベクトルを取得するステップであって、前記最終的な動きベクトルは前記初期の動きベクトルに基づいて取得される、ステップと
を含む方法。
It is a motion vector acquisition method.
A step of determining a reference block of a picture block to be processed, wherein the reference block and the picture block to be processed are located in the same frame of the picture.
A step of acquiring the motion vector of the picture block to be processed based on the initial motion vector of the reference block when the reference block is within the preset range, which is set in advance. The range is determined based on the position of the picture block to be processed.
A step of acquiring the motion vector of the picture block to be processed based on the final motion vector of the reference block when the reference block is outside the preset range. Motion vector is obtained based on the initial motion vector, including steps.
前記参照ブロックが前もってセットされたレンジ内にあることは、前記参照ブロックが位置するコーディング・ツリー・ブロックCTBと前記処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、同じ行に位置することを含み、
相応して、前記参照ブロックが前記前もってセットされたレンジ外にあることは、前記参照ブロックが位置する前記コーディング・ツリー・ブロックと前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックとが、異なる行に位置することを含む、請求項1に記載の方法。
The fact that the reference block is within the preset range means that the coding tree block CTB where the reference block is located and the coding tree block where the picture block to be processed is located are located on the same row. Including doing
Correspondingly, the fact that the reference block is out of the preset range means that the coding tree block in which the reference block is located and the coding tree block in which the picture block to be processed is located. The method of claim 1, wherein the method comprises being located on a different line.
前記参照ブロックが位置する前記コーディング・ツリー・ブロックと前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックとが、異なる行に位置し、
前記参照ブロックが位置する前記コーディング・ツリー・ブロックは、前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックの上又は左上にある、請求項2に記載の方法。
The coding tree block in which the reference block is located and the coding tree block in which the picture block to be processed is located are located on different lines.
The method of claim 2, wherein the coding tree block in which the reference block is located is above or in the upper left of the coding tree block in which the picture block to be processed is located.
前記参照ブロックが前もってセットされたレンジ内にあることは、前記参照ブロックと前記処理対象のピクチャ・ブロックとが、同じコーディング・ツリー・ブロックに位置することを含み、
相応して、前記参照ブロックが前記前もってセットされたレンジ外にあることは、前記参照ブロックと前記処理対象のピクチャ・ブロックとが、異なるコーディング・ツリー・ブロックに位置することを含む、請求項1に記載の方法。
The fact that the reference block is within the preset range includes that the reference block and the picture block to be processed are located in the same coding tree block.
Accordingly, the fact that the reference block is out of the preset range includes that the reference block and the picture block to be processed are located in different coding tree blocks. The method described in.
前記参照ブロックが前もってセットされたレンジ内にあることは、前記参照ブロックが位置するコーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じであること、又は前記参照ブロックが位置するコーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックであることを含み、及び
相応して、前記参照ブロックが前記前もってセットされたレンジ外にあることは、前記参照ブロックが位置する前記コーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックと同じではないこと、又は前記参照ブロックが位置する前記コーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックの左隣接又は右隣接ブロックではないことを含む、請求項1に記載の方法。
The fact that the reference block is within the preset range means that the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located, or The coding tree block in which the reference block is located comprises being a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located, and correspondingly, the reference block is Being out of the preset range means that the coding tree block in which the reference block is located is not the same as the coding tree block in which the picture block to be processed is located, or said. The method of claim 1, wherein the coding tree block in which the reference block is located is not a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located.
処理対象のピクチャ・ブロックの参照ブロックを決定する前記ステップは、
1つ以上の前もってセットされた候補参照ブロックを前記参照ブロックとして、前もってセットされた順序で連続的に決定するステップであって、前記候補参照ブロックは、前記処理対象のピクチャ・ブロックとの前もってセットされた空間的な位置関係を有するピクチャ・ブロックを含む、ステップを含む、請求項1−5のうちの何れか1項に記載の方法。
The step of determining the reference block of the picture block to be processed is
A step of continuously determining one or more previously set candidate reference blocks as the reference blocks in a preset order, wherein the candidate reference blocks are set in advance with the picture block to be processed. The method of any one of claims 1-5, comprising a step, comprising a picture block having a spatially positional relationship.
処理対象のピクチャ・ブロックの参照ブロックを決定する前記ステップは、
ビットストリームを解析し、1つ以上の第1識別情報を取得するステップと、
前記1つ以上の第1識別情報に基づいて、前記処理対象のピクチャ・ブロックの複数の候補参照ブロックから、前記参照ブロックを決定するステップであって、前記候補参照ブロックは、前記処理対象のピクチャ・ブロックとの前もってセットされた空間的な位置関係を有するピクチャ・ブロックを含む、ステップと
を含む、請求項1−5のうちの何れか1項に記載の方法。
The step of determining the reference block of the picture block to be processed is
The step of parsing the bitstream to obtain one or more first identification information,
A step of determining the reference block from a plurality of candidate reference blocks of the picture block to be processed based on the one or more first identification information, wherein the candidate reference block is a picture to be processed. The method of any one of claims 1-5, comprising a step and comprising a picture block having a spatially positional relationship set in advance with the block.
前記最終的な動きベクトルは前記初期の動きベクトルに基づいて取得されることは、
前記初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得することと、
前記最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、前記最終的な動きベクトルとして決定することと
を含む、請求項1−7のうちの何れか1項に記載の方法。
It is possible that the final motion vector is obtained based on the initial motion vector.
To obtain multiple candidates for the final motion vector by adding the initial motion vector and multiple preset offset vectors separately.
Of claims 1-7, which comprises determining the final motion vector candidate corresponding to the smallest strain cost among the plurality of final motion vector candidates as the final motion vector. The method according to any one of the above.
前記方法は双方向インター予測に使用され、前記最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、前記初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、前記第1の最終的な動きベクトルと前記第1の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、前記第2の最終的な動きベクトルと前記第2の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
前記最終的な動きベクトルは前記初期の動きベクトルに基づいて取得されることは、
前記第1の初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて第1の最終的な動きベクトルの複数の候補を取得することと、
前記第1の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第1の最終的な動きベクトルの候補を、前記第1の最終的な動きベクトルとして決定することであって、前記第1の最終的な動きベクトルは、前記複数の前もってセットされたオフセット・ベクトルにおける第1オフセット・ベクトルに対応する、ことと、
第2オフセット・ベクトルを取得することであって、前記第2オフセット・ベクトルのサイズは前記第1オフセット・ベクトルのものに等しく、前記第2オフセット・ベクトルの方向は前記第1オフセット・ベクトルのものと逆である、ことと、
前記第2の初期の動きベクトルと前記第2オフセット・ベクトルとを加えて前記第2の最終的な動きベクトルを取得することと
を含む、請求項1−7のうちの何れか1項に記載の方法。
The method is used for bidirectional inter-prediction, the final motion vector includes a first final motion vector and a second final motion vector, and the initial motion vector is the first initial motion vector. A motion vector and a second initial motion vector are included, and the first final motion vector and the first initial motion vector are included in the first reference frame list of the picture block to be processed. The motion compensation block is shown based on the above, and the second final motion vector and the second initial motion vector are motion compensation blocks based on the second reference frame list of the picture block to be processed. Show,
It is possible that the final motion vector is obtained based on the initial motion vector.
To obtain multiple candidates for the first final motion vector by separately adding the first initial motion vector and the plurality of pre-set offset vectors.
The candidate for the first final motion vector corresponding to the minimum strain cost among the plurality of candidates for the first final motion vector is determined as the first final motion vector. The first final motion vector corresponds to the first offset vector in the plurality of previously set offset vectors.
By acquiring the second offset vector, the size of the second offset vector is equal to that of the first offset vector, and the direction of the second offset vector is that of the first offset vector. And the opposite,
The first aspect of claim 1-7, which comprises adding the second initial motion vector and the second offset vector to obtain the second final motion vector. the method of.
前記方法は双方向インター予測に使用され、前記最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、前記初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、前記第1の最終的な動きベクトルと前記第1の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、前記第2の最終的な動きベクトルと前記第2の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
前記最終的な動きベクトルは前記初期の動きベクトルに基づいて取得されることは、
前記第1の初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて第1の最終的な動きベクトルの複数の候補を取得することと、
前記第1の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第1の最終的な動きベクトルの候補を、前記第1の最終的な動きベクトルとして決定すること、
前記第2の初期の動きベクトルと複数の前もってセットされた第2オフセット・ベクトルとを別々に加えて第2の最終的な動きベクトルの複数の候補を取得することと、
前記第2の最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する第2の最終的な動きベクトルの候補を、前記第2の最終的な動きベクトルとして決定することと
を含む、請求項1−7のうちの何れか1項に記載の方法。
The method is used for bidirectional inter-prediction, the final motion vector includes a first final motion vector and a second final motion vector, and the initial motion vector is the first initial motion vector. A motion vector and a second initial motion vector are included, and the first final motion vector and the first initial motion vector are included in the first reference frame list of the picture block to be processed. The motion compensation block is shown based on the above, and the second final motion vector and the second initial motion vector are motion compensation blocks based on the second reference frame list of the picture block to be processed. Show,
It is possible that the final motion vector is obtained based on the initial motion vector.
To obtain multiple candidates for the first final motion vector by separately adding the first initial motion vector and the plurality of pre-set offset vectors.
Determining the candidate for the first final motion vector corresponding to the minimum strain cost among the plurality of candidates for the first final motion vector as the first final motion vector.
To obtain multiple candidates for the second final motion vector by separately adding the second initial motion vector and the plurality of pre-set second offset vectors.
The candidate for the second final motion vector corresponding to the minimum strain cost among the plurality of candidates for the second final motion vector is determined as the second final motion vector. The method according to any one of claims 1-7, including.
動きベクトル残差決定方法であって、
ビットストリームを解析して第2識別情報を取得するステップであって、前記第2識別情報は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定するために使用される、ステップと、
前記初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて複数の候補の最終的な動きベクトルを取得するステップと、
前記複数の候補の最終的な動きベクトルの中で最小の歪コストに対応する候補の最終的な動きベクトルを、前記最終的な動きベクトルとして決定するステップと、
前記最終的な動きベクトルと前記初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用するか、又は前記最終的な動きベクトルを、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップと
を含む方法。
It is a motion vector residual determination method.
The step of analyzing the bitstream to obtain the second identification information, wherein the second identification information is used to determine the initial motion vector of the picture block to be processed.
The step of adding the initial motion vector and the plurality of pre-set offset vectors separately to obtain the final motion vector of a plurality of candidates.
A step of determining the final motion vector of the candidate corresponding to the minimum strain cost among the final motion vectors of the plurality of candidates as the final motion vector, and
The difference between the final motion vector and the initial motion vector is used as the motion vector residual of the picture block to be processed, or the final motion vector is used as the picture to be processed. • A method that includes steps and steps to use as the motion vector residuals of the block.
前記方法は双方向インター予測に使用され、前記最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、前記初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、前記第1の最終的な動きベクトルと前記第1の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、前記第2の最終的な動きベクトルと前記第2の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
前記最終的な動きベクトルと前記初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用するステップは、
前記第1の最終的な動きベクトルと前記第1の初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの第1動きベクトル残差として使用するステップを含む、請求項11に記載の方法。
The method is used for bidirectional inter-prediction, the final motion vector includes a first final motion vector and a second final motion vector, and the initial motion vector is the first initial motion vector. A motion vector and a second initial motion vector are included, and the first final motion vector and the first initial motion vector are included in the first reference frame list of the picture block to be processed. The motion compensation block is shown based on the above, and the second final motion vector and the second initial motion vector are motion compensation blocks based on the second reference frame list of the picture block to be processed. Show,
The step of using the difference between the final motion vector and the initial motion vector as the motion vector residual of the picture block to be processed is
11. The eleventh claim comprises the step of using the difference between the first final motion vector and the first initial motion vector as the first motion vector residual of the picture block to be processed. The method described.
前記最終的な動きベクトルと前記初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用する前記ステップは、
前記第2の最終的な動きベクトルと前記第2の初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの第2動きベクトル残差として使用するステップを更に含む、請求項12に記載の方法。
The step of using the difference between the final motion vector and the initial motion vector as the motion vector residuals of the picture block to be processed
12. The step further comprises using the difference between the second final motion vector and the second initial motion vector as the second motion vector residual of the picture block to be processed. The method described in.
前記最終的な動きベクトルを、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用する前記ステップは、
前記第1の最終的な動きベクトルを、前記処理対象のピクチャ・ブロックの前記第1動きベクトル残差として使用するステップを含む、請求項12に記載の方法。
The step of using the final motion vector as the motion vector residuals of the picture block to be processed
12. The method of claim 12, comprising the step of using the first final motion vector as the first motion vector residual of the picture block to be processed.
前記最終的な動きベクトルを、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用する前記ステップは、
前記第2の最終的な動きベクトルを、前記処理対象のピクチャ・ブロックの第2動きベクトル残差として使用するステップを更に含む、請求項14に記載の方法。
The step of using the final motion vector as the motion vector residuals of the picture block to be processed
14. The method of claim 14, further comprising the step of using the second final motion vector as the second motion vector residual of the picture block to be processed.
動きベクトル・データ・ストレージ方法であって、
ビットストリームを解析して第2識別情報と第3識別情報とを取得するステップであって、前記第2識別情報は、処理対象のピクチャ・ブロックの初期の予測された動きベクトルを決定するために使用される、ステップと、
前記初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得するステップと、
前記第3識別情報が、前記ビットストリームは前記処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示す場合に、前記ビットストリームを解析して前記動きベクトル残差を取得し、前記動きベクトル残差をターゲット・ストレージ空間に記憶するステップと、
前記第3識別情報が、前記ビットストリームは前記処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示す場合に、前記最終的な予測された動きベクトルと前記初期の予測された動きベクトルとの間の差分を前記ターゲット・ストレージ空間に記憶するか、又は前記最終的な予測された動きベクトルを前記ターゲット・ストレージ空間に記憶するステップと
を含む方法。
It is a motion vector data storage method.
The step of analyzing the bitstream to obtain the second identification information and the third identification information, wherein the second identification information is used to determine an initial predicted motion vector of the picture block to be processed. Used, steps and
A step to obtain the final predicted motion vector based on the initial predicted motion vector and a plurality of pre-set offset vectors.
When the third identification information indicates that the bitstream carries the motion vector residual of the picture block to be processed, the bitstream is analyzed to obtain the motion vector residual. The step of storing the motion vector residual in the target storage space,
The final predicted motion vector and the initial predicted motion vector when the third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block to be processed. A method comprising storing the difference from a motion vector in the target storage space or storing the final predicted motion vector in the target storage space.
前記第3識別情報が、前記ビットストリームは前記処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示すことは、
前記第3識別情報が、前記処理対象のピクチャ・ブロックの予測モードはAMVPモードであることを示すこと、
を含む、請求項16に記載の方法。
The third identification information indicates that the bitstream carries the motion vector residuals of the picture block to be processed.
The third identification information indicates that the prediction mode of the picture block to be processed is the AMVP mode.
16. The method of claim 16.
前記第3識別情報が、前記ビットストリームは前記処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示すことは、
前記第3識別情報が、前記処理対象のピクチャ・ブロックの予測モードはマージ・モード又はスキップ・モードであることを示すこと、
を含む、請求項16又は17に記載の方法。
The third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block to be processed.
The third identification information indicates that the prediction mode of the picture block to be processed is the merge mode or the skip mode.
16. The method of claim 16 or 17.
前記初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得する前記ステップは、
前記初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて最終的な動きベクトルの複数の候補を取得するステップと、
前記最終的な動きベクトルの複数の候補の中で最小の歪コストに対応する最終的な動きベクトルの候補を、前記最終的な動きベクトルとして決定するステップと
を含む、請求項16−18のうちの何れか1項に記載の方法。
The step of obtaining the final predicted motion vector based on the initial predicted motion vector and a plurality of pre-set offset vectors is the step.
A step of adding the initial motion vector and a plurality of pre-set offset vectors separately to obtain multiple candidates for the final motion vector.
Of claims 16-18, comprising the step of determining the final motion vector candidate corresponding to the smallest strain cost among the plurality of final motion vector candidates as the final motion vector. The method according to any one of the above.
動きベクトル取得装置であって、
処理対象のピクチャ・ブロックの参照ブロックを決定するように構成された決定モジュールであって、前記参照ブロックと前記処理対象のピクチャ・ブロックとはピクチャの同じフレームに位置する、決定モジュールと、
前記参照ブロックが前もってセットされたレンジ内にある場合に、前記参照ブロックの初期の動きベクトルに基づいて、前記処理対象のピクチャ・ブロックの動きベクトルを取得するように構成された第1取得モジュールであって、前記前もってセットされたレンジは、前記処理対象のピクチャ・ブロックの位置に基づいて決定される、第1取得モジュールと、
前記参照ブロックが前記前もってセットされたレンジ外にある場合に、前記参照ブロックの最終的な動きベクトルに基づいて、前記処理対象のピクチャ・ブロックの動きベクトルを取得するように構成された第2取得モジュールであって、前記最終的な動きベクトルは前記初期の動きベクトルに基づいて取得される、第2取得モジュールと
を含む装置。
It is a motion vector acquisition device
A decision module configured to determine a reference block of a picture block to be processed, wherein the reference block and the picture block to be processed are located in the same frame of the picture.
In the first acquisition module configured to acquire the motion vector of the picture block to be processed based on the initial motion vector of the reference block when the reference block is within a preset range. Therefore, the preset range is determined based on the position of the picture block to be processed.
A second acquisition configured to acquire the motion vector of the picture block to be processed based on the final motion vector of the reference block when the reference block is outside the preset range. A device including a second acquisition module, which is a module in which the final motion vector is acquired based on the initial motion vector.
前記参照ブロックが前もってセットされたレンジ内にあることは、前記参照ブロックが位置するコーディング・ツリー・ブロックCTBと前記処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックとが、同じ行に位置することを含み、
相応して、前記参照ブロックが前記前もってセットされたレンジ外にあることは、前記参照ブロックが位置する前記コーディング・ツリー・ブロックと前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックとが、異なる行に位置することを含む、請求項20に記載の装置。
The fact that the reference block is within the preset range means that the coding tree block CTB where the reference block is located and the coding tree block where the picture block to be processed is located are located on the same row. Including doing
Correspondingly, the fact that the reference block is out of the preset range means that the coding tree block in which the reference block is located and the coding tree block in which the picture block to be processed is located. 20. The apparatus of claim 20, wherein the apparatus is located in a different row.
前記参照ブロックが前もってセットされたレンジ内にあることは、前記参照ブロックと前記処理対象のピクチャ・ブロックとが、同じコーディング・ツリー・ブロックに位置することを含み、
相応して、前記参照ブロックが前記前もってセットされたレンジ外にあることは、前記参照ブロックと前記処理対象のピクチャ・ブロックとが、異なるコーディング・ツリー・ブロックに位置することを含む、請求項20に記載の装置。
The fact that the reference block is within the preset range includes that the reference block and the picture block to be processed are located in the same coding tree block.
Accordingly, the fact that the reference block is out of the preset range includes that the reference block and the picture block to be processed are located in different coding tree blocks, claim 20. The device described in.
前記参照ブロックが前もってセットされたレンジ内にあることは、前記参照ブロックが位置するコーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックと同じであること、又は
前記参照ブロックが位置するコーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置するコーディング・ツリー・ブロックの左隣接又は右隣接ブロックであることを含み、及び
相応して、前記参照ブロックが前記前もってセットされたレンジ外にあることは、前記参照ブロックが位置する前記コーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックと同じではないこと、又は前記参照ブロックが位置する前記コーディング・ツリー・ブロックが、前記処理対象のピクチャ・ブロックが位置する前記コーディング・ツリー・ブロックの左隣接又は右隣接ブロックではないことを含む、請求項20に記載の装置。
The fact that the reference block is within the preset range means that the coding tree block in which the reference block is located is the same as the coding tree block in which the picture block to be processed is located, or The coding tree block in which the reference block is located comprises being a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located, and correspondingly, the reference block is Being out of the preset range means that the coding tree block in which the reference block is located is not the same as the coding tree block in which the picture block to be processed is located, or said. 20. The apparatus of claim 20, wherein the coding tree block in which the reference block is located is not a left-adjacent or right-adjacent block of the coding tree block in which the picture block to be processed is located.
動きベクトル残差決定装置であって、
ビットストリームを解析して第2識別情報を取得するように構成された解析モジュールであって、前記第2識別情報は、処理対象のピクチャ・ブロックの初期の動きベクトルを決定するために使用される、解析モジュールと、
前記初期の動きベクトルと複数の前もってセットされたオフセット・ベクトルとを別々に加えて複数の候補の最終的な動きベクトルを取得するように構成された合計モジュールと、
前記複数の候補の最終的な動きベクトルの中で最小の歪コストに対応する候補の最終的な動きベクトルを、前記最終的な動きベクトルとして決定するように構成された
決定モジュールと、
前記最終的な動きベクトルと前記初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用するか、又は前記最終的な動きベクトルを、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用するように構成された取得モジュールと
を含む装置。
It is a motion vector residual determination device.
An analysis module configured to analyze a bitstream to obtain second identification information, said second identification information used to determine the initial motion vector of the picture block to be processed. , Analysis module,
A total module configured to obtain the final motion vectors of multiple candidates by adding the initial motion vector and multiple preset offset vectors separately.
A determination module configured to determine the final motion vector of the candidate corresponding to the minimum strain cost among the final motion vectors of the plurality of candidates as the final motion vector.
The difference between the final motion vector and the initial motion vector is used as the motion vector residual of the picture block to be processed, or the final motion vector is used as the picture to be processed. • A device that includes a capture module configured to be used as a block motion vector residual.
前記装置は双方向インター予測に使用され、前記最終的な動きベクトルは第1の最終的な動きベクトルと第2の最終的な動きベクトルとを含み、前記初期の動きベクトルは第1の初期の動きベクトルと第2の初期の動きベクトルとを含み、前記第1の最終的な動きベクトルと前記第1の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第1参照フレーム・リストに基づいて動き補償ブロックを示し、前記第2の最終的な動きベクトルと前記第2の初期の動きベクトルとは、前記処理対象のピクチャ・ブロックの第2参照フレーム・リストに基づいて動き補償ブロックを示し、
前記最終的な動きベクトルと前記初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの動きベクトル残差として使用することは、
前記第1の最終的な動きベクトルと前記第1の初期の動きベクトルとの間の差分を、前記処理対象のピクチャ・ブロックの第1動きベクトル残差として使用することを含む、請求項24に記載の装置。
The device is used for bidirectional inter-prediction, the final motion vector includes a first final motion vector and a second final motion vector, and the initial motion vector is the first initial motion vector. A motion vector and a second initial motion vector are included, and the first final motion vector and the first initial motion vector are included in the first reference frame list of the picture block to be processed. The motion compensation block is shown based on the above, and the second final motion vector and the second initial motion vector are motion compensation blocks based on the second reference frame list of the picture block to be processed. Show,
Using the difference between the final motion vector and the initial motion vector as the motion vector residuals of the picture block to be processed can be used.
24. Claim 24 includes using the difference between the first final motion vector and the first initial motion vector as the first motion vector residual of the picture block to be processed. The device described.
動きベクトル・データ・ストレージ装置であって、
ビットストリームを解析して第2識別情報と第3識別情報とを取得するように構成された第1解析モジュールであって、前記第2識別情報は、処理対象のピクチャ・ブロックの初期の予測された動きベクトルを決定するために使用される、第1解析モジュールと、
前記初期の予測された動きベクトルと複数の前もってセットされたオフセット・ベクトルとに基づいて、最終的な予測された動きベクトルを取得するように構成された取得モジュールと、
前記第3識別情報が、前記ビットストリームは前記処理対象のピクチャ・ブロックの動きベクトル残差を搬送していることを示す場合に、前記ビットストリームを解析して前記動きベクトル残差を取得し、前記動きベクトル残差をターゲット・ストレージ空間に記憶するように構成された第2解析モジュールと、
前記第3識別情報が、前記ビットストリームは前記処理対象のピクチャ・ブロックの動きベクトル残差を搬送していないことを示す場合に、前記最終的な予測された動きベクトルと前記初期の予測された動きベクトルとの間の差分を前記ターゲット・ストレージ空間に記憶するか、又は前記最終的な予測された動きベクトルを前記ターゲット・ストレージ空間に記憶するように構成されたストレージ・モジュールと
を含む装置。
A motion vector data storage device
A first analysis module configured to analyze a bitstream to obtain second and third identification information, the second identification information being initially predicted for a picture block to be processed. The first analysis module, which is used to determine the motion vector,
An acquisition module configured to acquire the final predicted motion vector based on the initial predicted motion vector and a plurality of pre-set offset vectors.
When the third identification information indicates that the bitstream carries the motion vector residual of the picture block to be processed, the bitstream is analyzed to obtain the motion vector residual. A second analysis module configured to store the motion vector residuals in the target storage space, and
The final predicted motion vector and the initial predicted motion vector when the third identification information indicates that the bitstream does not carry the motion vector residuals of the picture block to be processed. A device comprising a storage module configured to store the difference to and from the motion vector in the target storage space or to store the final predicted motion vector in the target storage space.
コンピュータ・デバイスであって、前記コンピュータ・デバイスはプロセッサとメモリとを含み、前記メモリは少なくとも1つの命令を記憶し、前記命令は、請求項1−10のうちの何れか1項に記載の前記動きベクトル取得方法で実行される前記演算を実現するように、前記プロセッサによってロードされ実行される、コンピュータ・デバイス。 A computer device, wherein the computer device includes a processor and a memory, the memory stores at least one instruction, and the instruction is the instruction according to any one of claims 1-10. A computer device loaded and executed by the processor to perform the operation performed by the motion vector acquisition method. コンピュータ・デバイスであって、前記コンピュータ・デバイスはプロセッサとメモリとを含み、前記メモリは少なくとも1つの命令を記憶し、前記命令は、請求項11−15のうちの何れか1項に記載の前記動きベクトル残差決定方法で実行される前記演算を実現するように、前記プロセッサによってロードされ実行される、コンピュータ・デバイス。 A computer device, wherein the computer device includes a processor and a memory, the memory stores at least one instruction, and the instruction is the instruction according to any one of claims 11-15. A computer device loaded and executed by the processor to perform the operation performed by the motion vector residual determination method. コンピュータ・デバイスであって、前記コンピュータ・デバイスはプロセッサとメモリとを含み、前記メモリは少なくとも1つの命令を記憶し、前記命令は、請求項16−19のうちの何れか1項に記載の前記動きベクトル・データ・ストレージ方法で実行される前記演算を実現するように、前記プロセッサによってロードされ実行される、コンピュータ・デバイス。 A computer device, wherein the computer device includes a processor and a memory, the memory stores at least one instruction, and the instruction is the instruction according to any one of claims 16-19. A computer device loaded and executed by the processor to perform the operations performed by the motion vector data storage method. コンピュータ読み取り可能な記憶媒体であって、前記記憶媒体は少なくとも1つの命令を記憶し、前記命令は、請求項1−10のうちの何れか1項に記載の前記動きベクトル取得方法で実行される前記演算を実現するように、前記プロセッサによってロードされ実行される、記憶媒体。 A computer-readable storage medium, wherein the storage medium stores at least one instruction, and the instruction is executed by the motion vector acquisition method according to any one of claims 1-10. A storage medium loaded and executed by the processor to perform the operation. コンピュータ読み取り可能な記憶媒体であって、前記記憶媒体は少なくとも1つの命令を記憶し、前記命令は、請求項11−15のうちの何れか1項に記載の前記動きベクトル残差決定方法で実行される前記演算を実現するように、前記プロセッサによってロードされ実行される、記憶媒体。 A computer-readable storage medium, wherein the storage medium stores at least one instruction, and the instruction is executed by the motion vector residual determination method according to any one of claims 11-15. A storage medium loaded and executed by the processor to realize the operation to be performed. コンピュータ読み取り可能な記憶媒体であって、前記記憶媒体は少なくとも1つの命令を記憶し、前記命令は、請求項16−19のうちの何れか1項に記載の前記動きベクトル・データ・ストレージ方法で実行される前記演算を実現するように、前記プロセッサによってロードされ実行される、記憶媒体。


A computer-readable storage medium, wherein the storage medium stores at least one instruction, which is the motion vector data storage method according to any one of claims 16-19. A storage medium loaded and executed by the processor to realize the operation to be performed.


JP2021512258A 2018-09-03 2019-06-14 Motion vector acquisition method, apparatus, computer device and storage medium Active JP7140908B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022142722A JP7386301B2 (en) 2018-09-03 2022-09-08 Motion vector acquisition method, apparatus, computer device and storage medium

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201811020181.9 2018-09-03
CN201811020181 2018-09-03
CN201811271726.3 2018-10-29
CN201811271726.3A CN110876059B (en) 2018-09-03 2018-10-29 Method and device for acquiring motion vector, computer equipment and storage medium
PCT/CN2019/091308 WO2020048180A1 (en) 2018-09-03 2019-06-14 Motion vector acquisition method, device, computer equipment and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022142722A Division JP7386301B2 (en) 2018-09-03 2022-09-08 Motion vector acquisition method, apparatus, computer device and storage medium

Publications (2)

Publication Number Publication Date
JP2021536699A true JP2021536699A (en) 2021-12-27
JP7140908B2 JP7140908B2 (en) 2022-09-21

Family

ID=69716270

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021512258A Active JP7140908B2 (en) 2018-09-03 2019-06-14 Motion vector acquisition method, apparatus, computer device and storage medium
JP2022142722A Active JP7386301B2 (en) 2018-09-03 2022-09-08 Motion vector acquisition method, apparatus, computer device and storage medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022142722A Active JP7386301B2 (en) 2018-09-03 2022-09-08 Motion vector acquisition method, apparatus, computer device and storage medium

Country Status (8)

Country Link
US (2) US11563949B2 (en)
EP (1) EP3833027A4 (en)
JP (2) JP7140908B2 (en)
KR (1) KR102643315B1 (en)
CN (2) CN115250350B (en)
BR (1) BR112021003965A2 (en)
SG (1) SG11202102128YA (en)
WO (1) WO2020048180A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112969072B (en) * 2019-03-11 2022-08-26 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment
CN113541891B (en) * 2020-04-15 2022-07-08 上海朗帛通信技术有限公司 Method and device used in node of wireless communication
CN111970516B (en) * 2020-07-22 2022-02-18 浙江大华技术股份有限公司 Inter-frame prediction method, video encoding method, electronic device and storage device
CN112911284B (en) * 2021-01-14 2023-04-07 北京博雅慧视智能技术研究院有限公司 Method and circuit for realizing skipping mode in video coding
WO2023050072A1 (en) * 2021-09-28 2023-04-06 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Methods and systems for video compression

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180041769A1 (en) * 2016-08-08 2018-02-08 Mediatek Inc. Pattern-based motion vector derivation for video coding
WO2020009898A1 (en) * 2018-07-02 2020-01-09 Tencent America Llc. Improvement for decoder side mv derivation and refinement

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4015084B2 (en) * 2003-08-20 2007-11-28 株式会社東芝 Motion vector detection apparatus and motion vector detection method
CN100469146C (en) * 2004-11-17 2009-03-11 展讯通信(上海)有限公司 Video image motion compensator
CN102263947B (en) * 2010-05-27 2016-07-06 香港科技大学 The method and system of image motion estimation
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
CN103841425B (en) * 2012-10-08 2017-04-05 华为技术有限公司 For the method for the motion vector list foundation of motion-vector prediction, device
EP2952003B1 (en) * 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
JP6135220B2 (en) * 2013-03-18 2017-05-31 富士通株式会社 Movie processing apparatus, movie processing method, and movie processing program
CN103188496B (en) * 2013-03-26 2016-03-09 北京工业大学 Based on the method for coding quick movement estimation video of motion vector distribution prediction
CN103338372A (en) * 2013-06-15 2013-10-02 浙江大学 Method and device for processing video
CN103561263B (en) * 2013-11-06 2016-08-24 北京牡丹电子集团有限责任公司数字电视技术中心 Based on motion vector constraint and the motion prediction compensation method of weighted motion vector
CN104811729B (en) * 2015-04-23 2017-11-10 湖南大目信息科技有限公司 A kind of video multi-reference frame coding method
CN104918047B (en) * 2015-05-29 2018-08-03 北京奇艺世纪科技有限公司 A kind of method and device for removing of bi-directional motion estimation
WO2017087751A1 (en) * 2015-11-20 2017-05-26 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
US20170244981A1 (en) * 2016-02-24 2017-08-24 Mediatek Inc. Reconfigurable interpolation filter and associated interpolation filtering method
CN108076347B (en) * 2016-11-15 2021-11-26 阿里巴巴集团控股有限公司 Method and device for acquiring coding starting point
CN117528107A (en) * 2016-11-28 2024-02-06 英迪股份有限公司 Image encoding method, image decoding method, and method for transmitting bit stream
CN117425006A (en) * 2017-03-22 2024-01-19 韩国电子通信研究院 Prediction method and apparatus using reference block
CN111919449B (en) * 2018-03-27 2024-07-05 数码士有限公司 Video signal processing method and apparatus using motion compensation
CN110419217B (en) * 2018-04-02 2023-09-26 深圳市大疆创新科技有限公司 Method for image processing and image processing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180041769A1 (en) * 2016-08-08 2018-02-08 Mediatek Inc. Pattern-based motion vector derivation for video coding
WO2020009898A1 (en) * 2018-07-02 2020-01-09 Tencent America Llc. Improvement for decoder side mv derivation and refinement

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SEMIH ESENLIK, ET AL.: "CE9: DMVR with Bilateral Matching (Test2.9)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-K0217_v1, JPN6022015658, July 2018 (2018-07-01), pages 1 - 5, ISSN: 0004761045 *
XIAOYU XIU, YUWEN HE, AND YAN YE: "CE9-related: Addressing the decoding latency issue for decoder-side motion vector refinement (DMVR)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-K0347-v2, JPN6022015657, July 2018 (2018-07-01), pages 1 - 5, ISSN: 0004761046 *
XU CHEN, AND JIANHUA ZHENG: "CE9:DMVR extension based on template matching (Test 9.3.6)", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-K0200, JPN6022015659, July 2018 (2018-07-01), pages 1 - 4, ISSN: 0004761044 *

Also Published As

Publication number Publication date
CN115250350A (en) 2022-10-28
SG11202102128YA (en) 2021-04-29
KR102643315B1 (en) 2024-03-07
KR20210047948A (en) 2021-04-30
US11563949B2 (en) 2023-01-24
WO2020048180A1 (en) 2020-03-12
JP2022172332A (en) 2022-11-15
CN115250350B (en) 2024-04-09
JP7140908B2 (en) 2022-09-21
CN110876059B (en) 2022-06-10
EP3833027A1 (en) 2021-06-09
EP3833027A4 (en) 2021-09-29
CN110876059A (en) 2020-03-10
JP7386301B2 (en) 2023-11-24
US20210185325A1 (en) 2021-06-17
BR112021003965A2 (en) 2021-05-25
US20230123840A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
US20220345716A1 (en) Method and apparatus for predicting motion information of picture block, encoder, and decoder
US10616582B2 (en) Memory and bandwidth reduction of stored data in image/video coding
JP7386301B2 (en) Motion vector acquisition method, apparatus, computer device and storage medium
JP7407741B2 (en) Video encoding method and device
KR20200101986A (en) Picture prediction method and apparatus, and codec
US11394996B2 (en) Video coding method and apparatus
US11197018B2 (en) Inter-frame prediction method and apparatus
KR20210057101A (en) Decoding method and decoding apparatus for predicting motion information

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220908

R150 Certificate of patent or registration of utility model

Ref document number: 7140908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150