JP7412615B2 - インター予測に基づいて、ビデオ信号を処理するための方法及び装置 - Google Patents

インター予測に基づいて、ビデオ信号を処理するための方法及び装置 Download PDF

Info

Publication number
JP7412615B2
JP7412615B2 JP2023017610A JP2023017610A JP7412615B2 JP 7412615 B2 JP7412615 B2 JP 7412615B2 JP 2023017610 A JP2023017610 A JP 2023017610A JP 2023017610 A JP2023017610 A JP 2023017610A JP 7412615 B2 JP7412615 B2 JP 7412615B2
Authority
JP
Japan
Prior art keywords
candidates
block
history
candidate list
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023017610A
Other languages
English (en)
Other versions
JP2023053028A (ja
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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2023053028A publication Critical patent/JP2023053028A/ja
Priority to JP2023219718A priority Critical patent/JP2024038130A/ja
Application granted granted Critical
Publication of JP7412615B2 publication Critical patent/JP7412615B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Color Television Systems (AREA)

Description

本明細書の実施例は、インター予測(inter prediction)を用いて、ビデオ信号を処理するための方法及び装置に関し、特に、ヒストリーベースのモーションベクトル予測(history-based motion vector prediction)を用いて、インター予測を実行するための方法及び装置に関する。
圧縮符号化とは、デジタル化した情報を通信回線を介して伝送したり、貯蔵媒体に適合した形態で貯蔵するための一連の信号処理技術を意味する。映像、イメージ 、音声などのメディアが圧縮符号化の対象となることができ、特に、映像を対象に圧縮符号化を実行する技術をビデオ映像圧縮と称する。
次世代ビデオコンテンツは、高解像度(high spatial resolution)、高フレームレート(high frame rate)及び映像表現の高次化(high dimensionality of scene representation)と呼ばれる特徴を有するようになるだろう。そのようなコンテンツを処理するためには、メモリストレージ(memory storage)、メモリアクセス率(memory access rate)及び処理電力(processing power)の面で多大な増加をもたらす。
したがって、次世代のビデオコンテンツをさらに効率的に処理するためのコーディングツールをデザインする必要がある。
本明細書の実施例の目的は、HMVP候補をマージリスト(またはAMVPリスト)に追加するための冗長性チェックの制限を提案する。
本明細書の実施例で解決しようとする技術的課題は、以上で言及した技術的課題に制限されず、言及しないさらに異なる技術的課題は、下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解することができる。
本明細書の実施例一様相は、インター予測に基づいて、ビデオ信号を処理する方法において、現在ブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第1マージ候補リストを構成する段階と、前記現在のブロックの以前に符号化(coding:コーディング)されたブロックのモーション(動き)情報を示すヒストリーベースのマージ候補を前記第1マージ候補リストに追加することにより、第2マージ候補リストを構成する段階と、前記第2マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得するステップと、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するステップを含むが、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれているマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加されることができる。
好ましくは、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれているマージ候補の中から、予め定義された特定の数のマージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加することができる。
好ましくは、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれる特定の空間マージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加されることができる。
好ましくは、前記ヒストリーベースのマージ候補は、前記ヒストリーベースマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から誘導することができる。
好ましくは、前記第2マージ候補リストを構成する段階は、、ヒストリーベースの空間-時間マージ候補を追加するステップをさらに含み、前記ヒストリーベースの空間時間候補は、2つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて誘導することができる。
好ましくは、前記ヒストリーベースの空間時間候補のモーションベクトルは、前記2つのヒストリーベースのマージ候補のモーションベクトルを平均した値と、前記時間マージ候補のモーションベクトルを平均した値に誘導することができる。
本明細書の実施例の別の一様相は、インター予測に基づいて、ビデオ信号を処理する装置において、前記ビデオ信号を貯蔵するメモリと、前記メモリと結合されたプロセッサを含み、前記プロセッサは、現在のブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第1マージ候補リストを構成し、前記現在のブロックの以前にコーディングされたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第1マージ候補リストに追加することにより、第2マージ候補リストを構成し、前記第2マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得で、そして、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成するが、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれたマージ候補の中から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加されることができる。
本明細書の実施例に係れば、マージリスト(またはAMVPリスト)に追加するための冗長性チェックを制限することで、冗長性チェックに伴う複雑度を改善し、効率を高めることができる。
本発明で得られる効果は、以上で言及した効果に制限されず、言及していないもう一つの効果は以下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解されるだろう。
本発明に係る理解を助けるために詳細な説明の一部として含まれる、添付図面は、本発明の実施例を提供し、詳細な説明と共に本発明の技術的特徴を説明する。
本発明の実施例に係るビデオ信号処理装置の一例として、エンコーダの機能的構成の例を示す。 本発明が適用される実施例として、ビデオ/映像信号のデコードが行われるデコード装置の概略的なブロック図を示す。 本発明が適用されることができる実施例として、マルチタイプツリー構造の一例を示す図である。 本発明が適用されることができる実施例として、マルチタイプツリーを伴うクアッドツリー(quadtree with nested multi-type tree)構造のパーティション情報のシグナリングメカニズムを例示する図である。 本発明が適用されることができる実施例として、クアッドツリーと伴うマルチタイプツリー(quadtree and nested multi-type tree)構造に基づいてCTUを多重CUに分割する方法を例示する図である。 本発明が適用されることができる実施例として、ターナーリツリー(ternary-tree)分割を制限する方法を例示する図である。 本発明が適用されることができる実施例として、バイナリツリーの分割とターナーリツリーの分割で発生することができる冗長(redundant)分割パターンを例示する図である。 本発明の実施例に係るインター予測ベースのビデオ/映像のエンコード方法と本発明の実施例に係るエンコード装置内インター予測部を例示する図である。 本発明の実施例に係るインター予測ベースのビデオ/映像のエンコード方法と本発明の実施例に係るエンコード装置内インター予測部を例示する図である。 本発明の実施例に係るインター予測ベースのビデオ/映像をデコードする方法と、本発明の実施例に係るデコード装置内インター予測部例示する図である。 本発明の実施例に係るインター予測ベースのビデオ/映像をデコードする方法と、本発明の実施例に係るデコード装置内インター予測部例示する図である。 本発明が適用される実施例として、マージモードまたはスキップモードで用いる周辺ブロックを説明するための図である。 本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。 本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。 本発明の実施例に係るモーションモデル(motion models)の例を示す。 本発明の実施例に係るアフィンモーション予測のための制御点のモーションベクトルの例を示す。 本発明の実施例に係るアフィンモーション予測が適用されたブロックの各サブブロック別モーションベクトルの例を示す。 本発明の実施例に係るアフィンマージモード(affine merge mode)でアフィンモーション予測に用いる周辺ブロックの例を示す。 本発明の実施例に係るアフィンモーション予測が適用された周辺ブロックを用いてアフィンモーション予測が実行されるブロックの例を示す。 本発明の実施例に係る周辺アフィンコーディングブロックを用いて、マージ候補リストを生成する方法を説明するための図である。 本発明の実施例に係るアフィン予測で符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明するための図である。 本発明の実施例に係るアフィン予測で符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明するための図である。 本発明が実施例に係るアフィンインターモード(affine inter mode)でアフィンモーション予測に用いる周辺ブロックの例を示す。 本発明が実施例に係るアフィンインターモード(affine inter mode)でアフィンモーション予測に用いる周辺ブロックの例を示す。 本発明が実施例に係るアフィンインターモード(affine inter mode)で周辺ブロックのモーション情報を用いて、モーションベクトルの候補を誘導する方法を例示する図である。 本発明が実施例に係るアフィンインターモード(affine inter mode)で周辺ブロックのモーション情報を用いて、モーションベクトルの候補を誘導する方法を例示する図である。 本発明の実施例に係るサブブロック単位のアフィンモーションベクトルフィールドを誘導する方法の一例を示す。 本発明の実施例に係るアフィンモーションモデルを適用したインター予測で予測ブロックが生成される方法及びモーションベクトルを例示的に示す。 本発明の実施例に係る制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。 本明細書の実施例に係るHMVPを貯蔵する方法を説明するためのフローチャートである。 本明細書の実施例に係る非制限的FIFO方式で動作するHMVPテーブルを説明するための図である。 本明細書の実施例に係る制限的FIFO方式で動作するHMVPテーブルを説明するための図である。 本明細書の実施例に係るHMVP LUTとロングタームHMVP LUTを例示する図である。 本明細書の実施例に係るHMVP LUTを更新(アップデート)する方法の一例を示す図である。 本明細書の実施例に係るプルーニングチェックの対象となるHMVP候補の数を制限する方法を例示する図である。 本明細書の実施例に係るプルーニングチェックを実行する方法の一例を示す図である。 本明細書の実施例に係る、互いに異なる参照ピクチャを参照するモーションベクトルを用いて、H-STMVP候補を誘導する方法を説明するための図である。 本発明が適用される実施例に係るインター予測に基づいて、ビデオ信号を処理する方法を例示するフローチャートである。 本明細書の実施例に係る映像信号を処理するための装置のブロック図の例を示す。 本発明が適用されるビデオコーディングシステムを示す。 本発明が適用される実施例として、コンテンツのストリーミングシステム構造図を示す。
以下、本発明に係る好適な実施の形態を添付の図面を参照して、詳細に説明する。添付された図面と共にに以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするものであり、本発明が実施されることができる唯一の実施形態を示すするようにするのではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な細部事項を含む。しかし、当業者は、本発明が、このような具体的な細部事項がなくても実施できることが分かる。
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されるか、各構造及び装置の核心機能を中心としたブロック図の形式で示されることができる。
さらに、本発明で用いる用語は、可能な限り、現在広く用いる一般的な用語を選択したが、特定の場合には、出願人が任意に選定した用語を用いて説明する。そのような場合には、該当部分の詳細説明で、その意味を明確に記載するため、本発明の説明で用いる用語の名称のみで単純に解釈されてはならないものであり、その該当する用語の意味まで把握して解釈されるべきであることを明らかにしておきたい。
以下の説明で用いる特定の用語は、本発明の理解を助けるために提供されたものであり、このような特定の用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更されることができる。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各符号化(コーディング)の過程で適切に置換されて解釈されることができる。
以下、本明細書で「処理ユニット」は、予測、変換、及び/または量子化などのようなエンコード/デコードの処理過程が実行される単位を意味する。以下、説明の便宜のために処理ユニットは、「処理ブロック」または「ブロック」と指称されることもある。
処理ユニットは、輝度(luma)成分の単位と色差(chroma)成分の単位を含む意味で解釈されることができる。例えば、処理ユニットは、コーディングツリーユニット(CTU:Coding Tree Unit)、コーディングユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)や変換ユニット(TU:Transform Unit)に該当することができる。
また、処理ユニットは、輝度(luma)成分の単位または色差(chroma)成分の単位を含む意味で解釈されることができる。例えば、処理ユニットは、輝度(luma)成分のコーディングツリーブロック(CTB:Coding Tree Block)、コーディングブロック(CB:Coding Block)、予測ブロック(PU:Prediction Block)または変換ブロック(TB:Transform Block)に該当することができる。または、色差(chroma)成分のコーディングツリーブロック(CTB)、コーディングブロック(CB)、予測ブロック(PU)または変換ブロック(TB)に対応することができる。また、これに限定されるものではなく処理ユニットは、輝度(luma)成分の単位と色差(chroma)成分の単位を含む意味で解釈されることもできる。
また、処理ユニットは、必ず正方形のブロックに限定されるものではなく、3つ以上の頂点を有する多角形の形で構成することもできる。
なお、以下、本明細書においてピクセルまたは画素などをサンプルとして通称する。そして、サンプルを用いるとすることは、ピクセル値または画素値などを用いることを意味することができる。
図1は、本発明が適用される実施例として、ビデオ/イメージ信号のエンコードが実行されるエンコード装置の概略的ブロック図を示す。
図1を参照すると、エンコード装置100は、映像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185とエントロピーエンコード部190を含みから構成されることができる。インター予測部180とイントラ予測部185は、予測部と通称されることができる。つまり、予測部はインター予測部180とイントラ予測部185を含むことができる。変換部120、量子化部130、逆量子化部140、逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は、減算部115をさらに含むこともできる。一実施例として、前述した映像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155 、フィルタリング部160、インター予測部180、イントラ予測部185及びエントロピーエンコード部190は、一つのハードウェアコンポーネント(例えば、エンコーダまたはプロセッサ)によって構成されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル貯蔵媒体によって構成されることもできる。
映像分割部110は、エンコード装置100に入力された入力映像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と指称されることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBT(Quad-tree binary-tree)構造に基づいて再帰的に(recursively)に分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造及び/またはバイナリツリー構造に基づいて、サブ(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造が後で適用することができる。またはバイナリツリー構造が先に適用されることもある。これ以上分割されない最終コーディングユニットをベースに、本発明に係るコーディング手順が実行されることができる。この場合、映像の特性に応じたコーディング効率などをベースに、最大コーディングユニットがすぐに最終コーディングユニットとして用いられ、または必要に応じてコーディングユニットは、再帰的に(recursively)さらに下位デプスのコーディングユニットに分割され、最適のサイズのコーディングユニットが最終コーディングユニットとして用いられる。ここでコーディング手順とは、後述する予測、変換、及び復元などの手続きを含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに含むことができる。この場合、前記予測ユニット及び前記変換ユニットは、それぞれ前述した最終コーディングユニットから分割またはパーティショニングすることができる。前記予測ユニットは、サンプル予測の単位で有り得、前記変換ユニットは、変換係数を誘導する単位、及び/または変換係数からレジデュアル信号(residual signal)を誘導する単位で有り得る。
ユニットは、場合にしたがって ブロック(block)または領域(area)などの用語と混用して用いられる。一般的な場合、MxNブロックはM個の列とN個の行からなるサンプル又は変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的に、ピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すこともあり、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、一つのピクチャ(または映像)をピクセル(pixel)またはペル(pel)に対応する用語として用いられる。
エンコード装置100は、入力映像信号(原本ブロック、原本サンプルアレイ)でインター予測部180またはイントラ予測部185から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残りのブロック、残りのサンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部120に伝送される。この場合、図示のように、エンコーダ100内で入力映像信号( 原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは減算部115と指称されることができる。予測部は処理対象ブロック(以下、現在ブロックという)の予測を行い、前記現在のブロックの予測サンプルを含む予測されたブロック(predicted block)を生成することができる。
予測部は現在のブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。予測部は各予測モードの説明で後述するように、予測モード情報など予測に関する様々な情報を生成し、エントロピーエンコード部190に伝達することができる。予測に関する情報は、エントロピーエンコード部190でエンコードされてビットストリーム形態で出力することができる。
イントラ予測部185は、現在のピクチャ内のサンプルを参照して、現在のブロックを予測することができる。前記参照されたサンプルは、予測モードに応じて前記現在のブロックの周辺(neighbor)に位置することができ、または離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモードとプランナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは例示として設定によってはそれ以上、またはそれ以下の数の方向性予測モードが用いることができる。イントラ予測部185は、周辺ブロックに適用される予測モードを用いて、現在のブロックに適用される予測モードを決定することもできる。
インター予測部180は、参照ピクチャ上でモーションベクトルによって特定される参照ブロック(参照サンプルのアレイ)をベースに、現在のブロックの予測されたブロックを誘導することができる。このとき、インター予測モードで伝送されるモーション情報の量を減らすために周辺のブロックと現在のブロックの間のモーション情報の相関性に基づいてモーション情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記モーション情報は、モーションベクトルと参照ピクチャインデックスを含むことができる。前記モーション情報は、インター予測方向(L0予測、L1予測、Bi予測など)の情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在のピクチャ内に存在する空間的周りのブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャは同じであることもあり、異なることもある。前記時間的周辺ブロックは、同じ位置を参照ブロック(collocated reference block)、同じ位置CU(colCU)などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同じ位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部180は、周辺ブロックをベースにモーション情報候補リストを構成し、前記現在のブロックのモーションベクトル及び/または参照ピクチャのインデックスを導出するためにどんな候補が用いるかを指示する情報を生成することができる。様々な予測モードに基づいて、インター予測が行われることができ、例えば、スキップモードとマージモードの場合に、インター予測部180は、周辺ブロックのモーション情報を現在のブロックのモーション情報として用いることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことがある。モーション情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックのモーションベクトルをモーションベクトル予測子(motion vector predictor)で用いて、モーションベクトル差分(motion vector difference)をシグナリングすることによって、現在のブロックのモーションベクトルを指示することができる。
前記インター予測部180または前記イントラ予測部185を介して生成された予測信号は、復元信号を生成するために用いるか、またはレジデュアル信号を生成するために用いられる。
変換部120は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。たとえば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-LoeveTransform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)の内、少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとしたときに、このグラフから得られた変換を意味する。CNTは、以前に復元されたすべてのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換プロセスは、正方形の同じ大きさを有するピクセルブロックに適用されることもあり、正方形がない可変サイズのブロックにも適用することができる。
量子化部130は、 変換係数を量子化してエントロピーエンコード部190に伝送され、エントロピーエンコード部190は、量子化された信号(量子化された変換係数に関する情報)をエンコードして、ビットストリームとして出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と指称されることができる。量子化部130は、係数スキャン順(scan order)に基づいて、ブロックの形の量子化された変換係数を1次元ベクトルの形で再整列することができ、前記1次元ベクトルの形の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部190は、例えば指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような、さまざまなエンコード方法を実行することができる。エントロピーエンコード部190は、量子化された変換係数のほか、ビデオ/映像復元に必要な情報(例えば構文要素(syntax elements)の値など)を一緒に、または別々にエンコードすることもできる。エンコードされた情報(ex。エンコードされたビデオ/イメージ情報)は、ビットストリームの形でNAL(network abstraction layer)ユニット単位で伝送または貯蔵することができる。前記ビットストリームは、ネットワークを介して伝送されることができ、またはデジタル貯蔵媒体に貯蔵することができる。ここで、ネットワークは、放送網、及び/またはネットワークなどを含むことができ、デジタル貯蔵媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなど、様々な貯蔵媒体を含むことができる。エントロピーエンコード部190から出力された信号は、伝送する伝送部(図示せず)及び/または貯蔵する貯蔵部(図示せず)が、エンコード装置100の内/外のエレメントとして構成することができ、または伝送部はエントロピーエンコード部190の構成要素で有り得る。
量子化部130から出力された量子化された変換係数は、予測信号を生成するために用いられる。例えば、量子化された変換係数は、ループ内の逆量子化部140と逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号を復元することができる。加算部155は、復元されたレジデュアル信号をインター予測部180またはイントラ予測部185から出力された予測信号に加えることで復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成されることができる。スキップモードが適用された場合と同様に処理対象ブロックのレジデュアルがない場合、予測されたブロックが復元ブロックとして用いられる。加算部155は、復元部または復元ブロック生成部と指称されることができる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために用いられ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために用いられることもできる。
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的には、メモリ170のDPBに貯蔵することができる。前記様々なフィルタリングの方法は、例えば、ジブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法の説明で後述するようにフィルタリングに関するさまざまな情報を生成し、エントロピーエンコード部190に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部190でエンコードされてビットストリーム形態で出力することができる。
メモリ170に伝送された修正された復元ピクチャは、インター予測部180から参照ピクチャとして用いられる。エンコード装置は、これにより、インター予測が適用される場合、エンコード装置100とデコード装置での予測ミスマッチを回避することができ、コーディング効率も向上させることができる。
メモリ170DPBは修正された復元ピクチャをインター予測部180からの参照ピクチャとして用いるために貯蔵することができる。メモリ170は、現在のピクチャ内のモーション情報が導出された(またはエンコードされた)ブロックのモーション情報及び/または既に復元されたピクチャ内のブロックのモーション情報を貯蔵することができる。前記貯蔵されたモーション情報は、空間的周辺ブロックのモーション情報または時間的周辺ブロックのモーション情報として活用するために、インター予測部180に伝達することができる。メモリ170は、現在のピクチャ内の復元されたブロックの復元サンプルを貯蔵することができ、イントラ予測部185に伝達することができる。
図2は、本発明が適用される実施例として、ビデオ/映像信号のデコードが行われるデコード装置の概略的なブロック図を示す。
図2を参照すると、デコード装置200は、エントロピーデコード(復号化)部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモり250、インター予測部260及びイントラ予測部265を含みから構成されることができる。インター予測部260とイントラ予測部265を合わせて予測部と指称されることができる。つまり、予測部はインター予測部180とイントラ予測部185を含むことができる。逆量子化部220、逆変換部230を合わせてレジデュアル処理部と指称されることができる。つまり、レジデュアル処理部は、逆量子化部220、逆変換部230を含むことができる。前述したエントロピーデコード部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、インター予測部260及びイントラ予測部265は、実施例に応じて1つのハードウェアコンポーネント(例えば、デコーダまたはプロセッサ)によって構成されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル貯蔵媒体によって構成されることもできる。
ビデオ/イメージ情報を含むビットストリームが入力されると、デコード装置200は、図1のエンコードデバイスからのビデオ/イメージ情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコード装置200は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがってデコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造及び/またはバイナリツリー構造をこのように分けることができる。そして、デコード装置200を介してデコード及び出力された復元映像信号は、再生装置で再生することができる。
デコード装置200は、図1のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部210を介してデコードすることができる。例えば、エントロピーデコード部210は、前記ビットストリームを解析して映像復元(またはピクチャ復元)に必要な情報(ex.ビデオ/イメージ情報)を導出することができる。例えば、エントロピーデコード部210は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、映像復元に必要な構文要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。さらに詳細に、CABACエントロピー復号方法は、ビットストリームから各構文要素に該当する空を受信し、デコード対象構文要素の情報と周辺及びデコード対象ブロックの復号情報、または以前のステップでデコードされたシンボル/空の情報を用いてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルに基づいて、空(bin)の発生確率を予測して、空の算術復号(arithmetic decoding)を実行して、各構文要素の値に対応するシンボルを生成することができる。このとき、CABACエントロピー復号方法は、コンテキストモデルを決定した後、次のシンボル/空の文脈モデルのためにデコードされたシンボル/空の情報を用いて、コンテキストモデルを更新することができる。エントロピーデコード部2110でデコードされた情報の内、予測に関する情報は、予測部(インター予測部260とイントラ予測部265)で提供され、エントロピーデコード部210からエントロピーデコードが行われたレジデュアル値、すなわち量子化された変換係数と関連パラメータ情報は、逆量子化部220に入力されることができる。また、エントロピーデコード部210でデコードされた情報の内、フィルタリングに関する情報は、フィルタリング部240に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置200の内/外のエレメントとしてより構成されることがあり、または受信部は、エントロピーデコード部210の構成要素で有り得る。
逆量子化部220においては、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロックの形で再整列することができる。この場合、前記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数の逆量子化を行い、変換係数(transform coefficient)を獲得することができる。
逆変換部230においては、 変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を獲得することになる。
予測部は現在のブロックの予測を行い、前記現在のブロックの予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部はエントロピーデコード部210から出力された前記予測に関する情報に基づいて、前記現在のブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
イントラ予測部265は、現在のピクチャ内のサンプルを参照して、現在のブロックを予測することができる。前記参照されるサンプルは、予測モードに応じて前記現在のブロックの周辺(neighbor)に位置することができ、または離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。イントラ予測部265は、周辺ブロックに適用される予測モードを用いて、現在のブロックに適用される予測モードを決定することもできる。
インター予測部260は、参照ピクチャ上でモーションベクトルによって特定される参照ブロック(参照サンプルのアレイ)をベースに、現在のブロックの予測されたブロックを誘導することができる。このとき、インター予測モードで伝送されるモーション情報の量を減らすために周辺のブロックと現在のブロックの間のモーション情報の相関性に基づいてモーション情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記モーション情報は、モーションベクトルと参照ピクチャインデックスを含むことができる。前記モーション情報は、インター予測方向(L0予測、L1予測、Bi予測など)の情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在のピクチャ内に存在する空間的周りのブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックをベースにモーション情報候補リストを構成し、受信した候補の選択情報に基づいて、前記現在のブロックのモーションベクトル及び/または参照ピクチャのインデックスを導出することができる。様々な予測モードに基づいて、インター予測が行われることができ、前記予測に関する情報は、前記現在のブロックのインター予測のモードを指示する情報を含むことができる。
加算部235は、獲得されたレジデュアル信号をインター予測部260またはイントラ予測部265から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることで復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックのレジデュアルがない場合、予測されたブロックが復元ブロックとして用いられる。
加算部235は、復元部または復元ブロック生成部と指称されることができる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために用いられ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために用いられることもできる。
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモり250、具体的に、メモり250のDPBに伝送することができる。前記様々なフィルタリングの方法は、例えば、ジブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
メモり250のDPBに貯蔵された(修正された)復元ピクチャはインター予測部260から参照ピクチャとして用いられる。メモり250は、現在のピクチャ内のモーション情報が導出された(またはデコードされた)ブロックのモーション情報及び/または既に復元されたピクチャ内のブロックのモーション情報を貯蔵することができる。前記貯蔵されたモーション情報は、空間的周辺ブロックのモーション情報または時間的周辺ブロックのモーション情報として活用するために、インター予測部260に伝達することができる。メモリ170は、現在のピクチャ内の復元されたブロックの復元サンプルを貯蔵することができ、イントラ予測部265に伝達することができる。
本明細書において、エンコード装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれのデコード装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも同一または対応するように適用することができる。
Block Partitioning
本文書に係るビデオ/映像コーディング方法は、様々な細部技術に基づいて行うことができ、それぞれの細部技術を概略的に説明すると、次の通りである。以下説明される技術は、前述した、及び/または後述されるビデオ/映像のエンコード/デコードの手順での予測、レジデュアル処理((逆)変換、(逆)量子化など)、構文 (syntax) 要素のコーディング、フィルタリング、パーティショニング/分割などの関連の手続きに関連付けることができることは当業者に自明である。
本文書に沿ったブロックパーティショニング手順は、前述したエンコード装置の映像分割部110で実行されて、パーティショニング関連情報がエントロピーエンコード部190から(エンコード)処理され、ビットストリームの形でデコード装置に伝達することができる。デコード装置のエントロピーデコード部210は、前記ビットストリームから獲得した前記パーティショニング関連情報に基づいて、現在ピクチャのブロックパーティショニング構造を導出し、これに基づいて映像デコードのための一連の手順(ex。予測、レジデュアル処理、ブロック復元、インループフィルタリングなど)を実行することができる。
Partitioning of picture into CTUs
ピクチャは、コーディングツリーユニット(CTUs)のシーケンスに分割される(divided into a sequence)ことができる。 CTUはコーディングツリーブロック(CTB)に対応することができる。あるいはCTUはルマサンプルのコーディングツリーブロックと、対応するクロマサンプルの二つのコーディングツリーブロックを含むことができる。つまり、三つのサンプルアレイを含むピクチャに対し、CTUはルマサンプルのNxNブロックとクロマサンプルの二つの対応ブロックを含むことができる。
コーディングと予測などのためのCTUの最大許容サイズは、変換のためのCTUの最大許容サイズと異なることがある。たとえば、CTU内ルマブロックの最大許容サイズは128x128で有り得る。
Partitionig of the CTUs using a tree structure
CTUはクアッドツリー(quad-tree、QT)の構造に基づいてCUに分割されることができる。クアッドツリー構造は、クォータナリー(quaternary)ツリー構造と指称されることができる。これは、様々な局地的特徴(local characteristic)を反映するためである。一方、本文書においては、CTUは、クアッドツリーだけでなく、バイナリツリー(binary-tree、BT)とターナーリツリー(ternary-tree、TT)を含むマルチタイプツリー構造の分割に基づいて分割されることができる。以下、QTBT構造とは、クアッドツリーとバイナリツリーベースの分割構造を含むことができ、QTBTTTとはクアッドツリー、バイナリツリー及びターナーリツリーベースの分割構造を含むことができる。または、QTBT構造は、クアッドツリー、バイナリツリーとターナーリツリーベースの分割構造を含むこともできる。コーディングツリー構造では、CUは正方形または長方形の形状を有することができる。 CTUは、まずクアッドツリー構造に分割されることができる。以後クアッドツリー構造のリーフノードは、マルチタイプツリー構造によってさらに分割することができる。
図3は、本発明が適用されることができる実施例として、マルチタイプツリー構造の一例を示す図である。
本明細書の一実施例において、マルチタイプツリー構造は、図3に示すような4つの分割タイプを含むことができる。前記4つの分割タイプは、垂直バイナリ分割(vertical binary splitting、SPLIT_BT_VER)、水平バイナリ分割(horizontal binary splitting、SPLIT_BT_HOR)、垂直ターナーリー分割(vertical ternary splitting、SPLIT_TT_VER)、水平ターナーリー分割(horizontal ternary splitting、SPLIT_TT_HOR )を含むことができる。
前記マルチタイプツリー構造のリーフノードはCUと呼ばことができる。このようなCUは、予測及び変換手順のために用いられる。本文書では一般的にCU、PU、TUは、同じブロックサイズを有することができる。ただし、最大許容変換の長さ(maximum supported transform length)がCUのカラー成分(colour component)の幅または高さより小さい場合には、CUとTUが異なるブロックサイズを有することができる。
図4は、本発明が 適用することができる実施例として、マルチタイプツリーを伴うクアッドツリー(quadtree with nested multi-type tree)構造のパーティション 分割情報のシグナリングメカニズムを例示する図である。
ここで、CTUはクアッドツリーのルート(root)として取り扱い、クアッドツリー構造で初めてパーティショニングされる。各クアッドツリーのリーフ・ノードは、以後、マルチタイプツリー構造で、さらにパーティショニングすることができる。マルチタイプツリー構造において、第1フラグ(a first flag、ex。mtt_split_cu_flag)が、そのノードが追加的にパーティショニングされるかを指示するためにシグナリングされる。もしそのノードが追加的にパーティショニングされる場合、第2フラグ(a second flag、ex。mtt_split_cu_verticla_flag)が分割方向(splitting direction)を指示するためにシグナリングすることができる。その後、第3フラグ(a third flag、ex。mtt_split_cu_binary_flag)が分割タイプがバイナリ分割であるかターナーリー分割であるかの可否を指示するためにシグナリングすることができる。例えば、前記mtt_split_cu_vertical_flag及び前記mtt_split_cu_binary_flagに基づいて、CUのマルチタイプツリー分割モード(multi-type tree splitting mode、MttSplitMode)が、次の表1のように導出することができる。
Figure 0007412615000001
図5は、本発明が適用されることができる実施例として、クアッドツリーと伴うマルチタイプツリー(quadtree and nested multi-type tree)構造に基づい手CTUを多重CUに分割する方法を例示する図である。
ここで、ボールドブロックエッジに(bold block edges)は、クアッドツリーパーティショニングを、残りのエッジは、マルチタイプツリーパーティショニングを示す。マルチタイプツリーを伴ったクアッドツリーのパーティションは、コンテンツ - アダプタテッドコーディングツリー構造を提供することができる。 CUはコーディングブロック(CB)に対応することができる。あるいはCUはルマサンプルのコーディングブロックと、対応するクロマサンプルの二つのコーディングブロックを含むことができる。 CUのサイズはCTUだけ大きいこともあり、またはルマサンプル単位で4x4ほど小さいこともある。たとえば、4:2:0カラーフォーマット(orクロマフォーマット)である場合、最大クロマCBサイズは64x64であり、最小クロマCBサイズは2x2で有り得る。
本文書において、例えば、最大許容ルマTBサイズは64x64であり、最大許容クロマTBサイズは32x32で有り得る。もし前記ツリー構造に沿って分割されたCBの幅または高さが最大変換幅または高さより大きい場合、そのCBは自動的に(または暗黙的に)水平及び垂直方向のTBサイズ制限を満足するまで分割することができる。
一方、マルチタイプツリーを伴ったクアッドツリーコーディングツリースキームのために、次のパラメータがspsシンタックス(syntax)要素で定義及び識別することができる。
- CTU size:クォータナリツリーのルートノードサイズ(the root node size of a quaternary tree)
- MinQTSize:最小許容クォータナリツリーリーフノードサイズ(the minimum allowed quaternary tree leaf node size)
- MaxBtSize:(最大許容バイナリツリールートノードサイズ(the maximum allowed binary tree root node size)
- MaxTtSize:(最大許容ターナリーツリールートノードサイズ(the maximum allowed ternary tree root node size)
- MaxMttDepth:クアッドツリーリーフから分割されるマルチタイプツリーの最大許容階層の深度(the maximum allowed hierarchy depth of multi-type tree splitting from a quadtree leaf)
- MinBtSize:最小許容バイナリーツリーリーフノードサイズ(the minimum allowed binary tree leaf node size)
- MinTtSize:最小許容ターナリーツリーリーフノードサイズ(the minimum allowed ternary tree leaf node size)
マルチタイプツリーを伴ったクアッドツリーコーディングツリー構造の一例として、CTUサイズは128x128ルマサンプル及び二つの対応するクロマサンプルの64x64ブロックに設定することができる(4:2:0クロマフォーマットで)。この場合、MinOTSizeは16x16に設定され、MaxBtSizeは128x128に設定され、MaxTtSzieは64x64に設定され、MinBtSize及びMinTtSize(for both width and height)は4x4で、そしてMaxMttDepthは4に設定されることができる。クォートツリーパーティショニングは、CTUに適用されてクアッドツリーのリーフ・ノードを生成することができる。クアッドツリーのリーフ・ノードは、リーフQTノードと指称されることができる。クアッドツリーのリーフノードは16x16サイズ(i.e. the MinOTSize)から128x128サイズ(i.e. the CTU size)を有することができる。もしリーフQTノードが128x128である場合、さらに、バイナリツリー/ターナーリツリーに分割されないことがある。これは、この場合、分割されてもMaxBtsizeとMaxTtszie(i.e. 64x64)を超過するからである。それ以外の場合、リーフQTノードは、マルチタイプツリーにさらに分割することができる。従って、リーフQTノードはマルチタイプツリーのルートノード(root node)であり、リーフQTノードは、マルチタイプツリーデプス(mttDepth)0の値を有することができる。もし、マルチタイプツリーデプスがMaxMttdepth(ex。4)に到達した場合、これ以上追加の分割は考慮されないことがある。もし、マルチタイプツリーノードの幅がMinBtSizeと同じで、2xMinTtSizeより小さいか等しいとき、もはや追加の水平分割は考慮されないことがある。もし、マルチタイプツリーノードの高さがMinBtSizeと同じで、2xMinTtSizeより小さいか等しいとき、もはや追加の垂直分割は考慮されないことがある。
図6は、本発明が適用されることができる実施例として、ターナーリツリー(ternary-tree)分割を制限する方法を例示する図である。
図6を参照すると、ハードウェアデコーダでの64x64ルマブロックと32x32クロマパイプラインの設計を許容するために、TT分割は、特定の場合に制限されることができる。例えば、ルマコーディングブロックの幅または高さが既設定された特定の値(例えば、32、64)より大きい場合、図6に示すように、TT分割が制限されることができる。
本文書において、コーディングツリースキームはルマとクロマブロックが個別的(separate)ブロックのツリー構造を有することを支援することができる。
PとBスライスに対し、一つのCTU内ルマとクロマCTBは同じコーディングツリー構造を有するように制限されることができる。しかし、Iスライスに対し、ルマとクロマブロックは、互いに別々のブロックツリー構造を有することができる。もし個別的ブロックツリーモードが適用される場合、ルマCTBは、特定のコーディングのツリー構造に基づいてCUに分割され、クロマCTBは、他のコーディングツリー構造に基づいて、クロマCUに分割されることができる。これは、Iスライス内CUはルマ成分のコーディングブロックまたは2つクロマ成分のコーディングブロックで構成され、PまたはBスライスのCUは三つの色成分のブロックで構成されることができるのを意味することができる。
前述した“Partitionig of the CTUs using a tree structure "でマルチタイプツリーを伴ったクアッドツリーコーディングツリー構造について説明したが、CUが分割される構造は、これに限定されない。たとえば、BTの構造とTTの構造は、多数の分割ツリー(Multiple Partitioning Tree、MPT)の構造に含まれる概念で解釈されることができ、CUはQT構造とMPT構造を通じて分割されると解釈することができる。QT構造とMPT構造を通じてCUが分割される一例で、QT構造のリーフノードがいくつかのブロックに分割されるかについての情報を含むシンタックス(syntax:構文)要素(例えば、MPT_split_type)とQT構造のリーフノードが垂直と水平の内、どちらの方向に分割されるかについての情報を含むシンタックス要素(例えば、MPT_split_mode)がシグナリングされることで、分割構造が決定されることができる。
また異なる例において、CUはQT構造、BTの構造またはTT構造と別の方法で分割されることができる。つまり、QT構造に基づいて、下位デプスのCUが上位デプスのCUの1/4サイズに分割されたり、BTの構造に応じて、下位デプスのCUが上位デプスのCUの1/2サイズに分割されたり、TTの構造に基づいて下位デプスのCUが上位デプスのCUの1/4または1/2のサイズに分割されるものとは異なり、下位デプスのCUは、場合によっては、上位デプスのCUの1/5、1/3、3/8、3/5、2/3または5/8のサイズに分割されることができ、CUが分割される方法は、これに限定されない。
もしツリーノードブロックの部分(a portion)が下部(bottom)または右(right)ピクチャ境界を超える(exceeds)場合、そのツリーノードブロックは、すべてのコーディングされたCUのすべてのサンプルが前記ピクチャ境界の内に位置するように制限されることができる。この場合、例えば、次のような分割ルールが適用されることができる。
- If a portion of a tree node block exceeds both the bottom and the right picture boundaries,ツリーノードブロックの一部がピクチャの下端又は右側のバウンダリーを超えると、
- If the block is a QT node and the size of the block is larger than the minimum QT size, the block is forced to be split with QT split mode.ブロックがQTノードであり、ブロックサイズが最小QTサイズより大きければ、ブロックは強制的にQT分割モードに分けられる。
- Otherwise, the block is forced to be split with SPLIT_BT_HOR mode そうでなければ、ブロックは強制的にSPLIT_BT_HORモードに分けられる。
- Otherwise if a portion of a tree node block exceeds the bottom picture boundaries,そうではなく、ツリーノードブロックの一部がピクチャの下端のバウンダリーを超えると、
- If the block is a QT node, and the size of the block is larger than the minimum QT size, and the size of the block is larger than the maximum BT size, the block is forced to be split with QT split mode.ブロックがQTノードであり、ブロックサイズが最小QTサイズより大きく、ブロックサイズが最大BTサイズよりも大きければ、ブロックは強制的にQT分割モードに分けられる。
- Otherwise, if the block is a QT node, and the size of the block is larger than the minimum QT size and the size of the block is smaller than or equal to the maximum BT size, the block is forced to be split with QT split mode or SPLIT_BT_HOR mode.そうではなく、ブロックがQTノードであり、ブロックサイズが最小QTサイズより大きく、ブロックサイズが最大BTサイズよりも小さいか同じであれば、ブロックは強制的にQT分割モードまたはSPLIT_BT_HORモードに分けられる。
- Otherwise(the block is a BTT node or the size of the block is smaller than or equal to the minimum QT size), the block is forced to be split with SPLIT_BT_HOR mode.そうでなければ(ブロックがBTTノードあるいは、ブロックサイズが最小QTサイズよりも小さいか同じであれば)、ブロックは強制的にSPLIT_BT_HORモードに分けられる。
- Otherwise if a portion of a tree node block exceeds the right picture boundaries,そうではなく、ツリーノードブロックの一部がピクチャの右側のバウンダリーを超えると、
- If the block is a QT node, and the size of the block is larger than the minimum QT size, and the size of the block is larger than the maximum BT size, the block is forced to be split with QT split mode.ブロックがQTノードであり、ブロックサイズが最小QTサイズより大きく、ブロックサイズが最大BTサイズよりも大きければ、ブロックは強制的にQT分割モードに分けられる。
- Otherwise, if the block is a QT node, and the size of the block is larger than the minimum QT size and the size of the block is smaller than or equal to the maximum BT size, the block is forced to be split with QT split mode or SPLIT_BT_VER mode.そうではなく、ブロックがQTノードであり、ブロックサイズが最小QTサイズより大きく、ブロックサイズが最大BTサイズよりも小さいか同じであれば、ブロックは強制的にQT分割モードまたはSPLIT_BT_VERモードに分けられる。
- Otherwise(the block is a BTT node or the size of the block is smaller than or equal to the minimum QT size), the block is forced to be split with SPLIT_BT_VER mode.そうでなければ(ブロックがBTTノードあるいは、ブロックサイズが最小QTサイズよりも小さいか同じであれば)、ブロックは強制的にSPLIT_BT_VERモードに分けられる。
一方、前述したマルチタイプツリーを伴ったクアッドツリーコーディングブロック構造は非常に柔軟なブロックパーティショニングの構造を提供することができる。マルチタイプツリーにサポートされる分割タイプのため、他の分割パターンが、場合によって、潜在的に同じコーディングブロック構造の結果をもたらすことができる。このような冗長(redundant)した分割パターンの発生を制限することにより、パーティショニング情報のデータ量を削減することができる。下の図を参照して説明する。
図7は、本発明が適用されることができる実施例として、バイナリツリーの分割とターナーリツリーの分割で発生することができる冗長分割パターンを例示する図である。
図7に示すように、2段階のレベルの一方向の連続的なバイナリ分割(two levels of consecutive binary splits in one direction)は、ターナー・リー分割以後の中心パーティションのバイナリ分割と同じコーディングブロック構造を有する。このような場合、ターナーリツリーの分割の中心パーティションのバイナリツリーの分割(in the given direction)は、制限されることができる。このような制限はすべてのピクチャのCUに対し適用することができる。このような特定の分割が制限される場合、対応する構文要素のシグナリングは、このような制限される場合を反映して修正されることができ、これに通じてパーティショニングのためにシグナリングされるビット数を減らすことができる。例えば、図7に示された例のように、CUの中心パーティションのバイナリツリーの分割が制限される場合、分割がバイナリ分割であるかテノールリー分割であるかどうかを示すmtt_split_cu_binary_flag構文要素はシグナリングされず、その値は0でデコーダによって推論することができる。
予測(prediction)
デコードが実行される現在の処理ユニットを復元するために、現在の処理ユニットが含まれた現在のピクチャまたは他のピクチャのデコードされた部分を用いることができる。
復元に現在ピクチャのみを用いる、すなわち、画面内予測のみを実行するピクチャ(スライス)をイントラピクチャまたはIピクチャ(スライス)、各ユニットを予測するために最大で1つのモーションベクトルと参照インデックスを用いるピクチャ(スライス)を予測ピクチャ(predictive picture)またはPピクチャ(スライス)、最大2つのモーションベクトルと参照インデックスを用いるピクチャ(スライス)をペア予測ピクチャ(Bi-predictive picture)またはBピクチャ(スライス)と呼ばすることができる。
イントラ予測は、同じデコードされたピクチャ(またはスライス)のデータ要素(例えば、サンプル値等)から現在の処理ブロックを導出する予測方法を意味する。つまり、現在のピクチャ内の復元された領域を参照して、現在の処理ブロックのピクセル値を予測する方法を意味する。
以下、インター予測について、さらに詳細に説明する。
インター予測(Inter prediction)(または画面間予測)
インター予測は、現在のピクチャ以外のピクチャのデータ要素(例えば、サンプル値またはモーションベクトルなど)に基づいて、現在の処理ブロックを導出する予測方法を意味する。つまり、現在のピクチャ以外の復元された他のピクチャ内の復元された領域を参照して、現在の処理ブロックのピクセル値を予測する方法を意味する。
インター予測(またはピクチャ間予測)は、ピクチャの間に存在する冗長性を除去する技術で、ほとんど動き推定(motion estimation)と動き補償(motion compensation)を介して行われます。
本明細書の実施例には、先に図1及び図2で説明したインター予測方法の細部技術を説明するものでデコーダの場合、後述する図10のインター予測ベースのビデオ/映像のデコード方法と、図11のデコード装置内のインター予測部で示すことができる。加えて、エンコーダの場合、後述する図8のインター予測ベースのビデオ/映像のエンコード方法と、図9のエンコード装置内のインター予測部で示すことができる。さらに、図8及び図9によってエンコードされたデータは、ビットストリームの形で貯蔵されることができる。
エンコード装置/デコード装置の予測部はブロック単位でインター予測を実行して、予測サンプルを導出することができる。インター予測は、現在のピクチャ以外のピクチャのデータ要素(e.g.サンプル値、またはモーション情報など)に依存的な方法で導出される予測を示すことができる。現在のブロックにインター予測が適用される場合、参照ピクチャのインデックスが指す参照ピクチャ上でモーションベクトルによって特定される参照ブロック(参照サンプルのアレイ)に基づいて、現在のブロックの予測されたブロック(予測サンプルアレイ)を誘導することができる。
このとき、インター予測モードで 伝送されるモーション情報の量を減らすために周辺のブロックと現在のブロックの間のモーション情報の相関性に基づいて、現在のブロックのモーション情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記モーション情報は、モーションベクトルと参照ピクチャインデックスを含むことができる。前記モーション情報は、インター予測タイプ(L0予測、L1予測、Bi予測など)の情報をさらに含むことができる。
インター予測が適用される場合、周辺ブロックは、現在のピクチャ内に存在する空間的周りのブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャは同じこともあり、異なることもある。前記時間的周辺ブロックは、同じ位置参照ブロック(collocated reference block)、同じ位置CU (colCU)などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同じ位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。
たとえば、現在のブロックの周辺ブロックに基づいてモーション情報候補リストが構成されることがあり、前記現在のブロックのモーションベクトル及び/または参照ピクチャのインデックスを導出するためにどんなの候補が選択(使用)されるかを指示するフラグまたはインデックス情報がシグナリングされることができる。
様々な予測モードに基づいて、インター予測が行われることができ、例えば、スキップモードとマージモードの場合、現在のブロックのモーション情報は、選択された周辺ブロックのモーション情報と同じことができる。スキップ・モードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことがある。モーション情報予測(motion vector prediction、MVP)モードの場合、選択された周辺ブロックのモーションベクトルをモーションベクトル予測子(motion vector predictor)で用いて、モーションベクトル差分(motion vector difference)は、シグナリングされることができる。この場合、前記モーションベクトル予測子とモーションベクトル差分の合を用いて前記現在のブロックのモーションベクトルを導出することができる。
図8及び図9は、本発明の実施例に係るインター予測ベースのビデオ/映像のエンコード方法と本発明の実施例に係るエンコード装置内インター予測部例示する図である。
図8及び図9を参照すると、S801は、エンコード装置のインター予測部180によって実行されることができ、S802は、エンコード装置のレジデュアル処理部によって実行されることができる。具体的に、S802は、エンコード装置の減算部115によって実行されることができる。 S803で予測情報は、インター予測部180によって導出され、エントロピーエンコード部190によってエンコードされることができる。 S803でレジデュアル情報は、レジデュアル処理部によって導出され、エントロピーエンコード部190によってエンコードされることができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
前述したように、前記レジデュアルサンプルは、エンコード装置の変換部120を介して変換係数に導出され、前記変換係数は、量子化部130を介して量子化された変換係数で導出することができる。前記量子化された変換係数に関する情報がレジデュアルコーディング手順を介してエントロピーエンコード部190でエンコードされることができる。
エンコード装置は、現在のブロックのインター予測を行う(S801)。エンコード装置は、現在のブロックのインター予測モードとモーション情報を導出し、前記現在のブロックの予測サンプルを生成することができる。ここでインター予測モード決定、モーション情報導出及び予測サンプルの生成手順については、同時に実行されることもあり、いずれかの一手順が、他の手順よりも先に実行されることもできる。たとえば、エンコード装置のインター予測部180は、予測モード決定部181、モーション情報導出部182、予測サンプル導出部183を含むことができ、予測モード決定部181で、前記現在のブロックの予測モードを決定し、モーション情報導出部182において、前記現在のブロックのモーション情報を導出し、予測サンプル導出部183において、前記現在のブロックの動きサンプルを導出することができる。
たとえば、エンコード装置のインター予測部180は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチエリア)内において、前記現在のブロックと類似なブロックをサーチし、前記現在のブロックとの差が最小または一定基準以下の参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャのインデックスを導出し、前記参照ブロックと前記現在のブロックの位置の差に基づいて、モーションベクトルを導出することができる。エンコード装置は、様々な予測モードの中で、前記現在のブロックに対して適用されるモードを決定することができる。エンコード装置は、前記様々な予測モードに対するRD costを比較して、前記現在のブロックの最適の予測モードを決定することができる。
たとえば、エンコード装置は、前記現在のブロックにスキップ・モードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックの内、前記現在ブロックと前記現在のブロックとの差が最小または一定の基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックと関連付けられているマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成され、デコード装置にシグナリングされることができる。
前記選択されたマージ候補のモーション情報を用いて前記現在のブロックのモーション情報が導出することができる。
他の例として、エンコード装置は、前記現在のブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補の内、選択されたmvp候補のモーションベクトルを前記現在のブロックのmvpに用いることができる。この場合、例えば、前述した動き推定によって導出された参照ブロックを指すモーションベクトルが前記現在のブロックのモーションベクトルとして用いられ、前記mvp候補の内、前記現在ブロックのモーションベクトルとの差が最も小さいモーションベクトルを有するmvp候補が前記選択されたmvp候補に成り得る。前記現在のブロックのモーションベクトルから前記mvpを引いた差分であるMVD(motion vector difference)が導出されることができる。この場合、前記MVDに関する情報がデコード装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャのインデックスの値は、参照ピクチャインデックス情報で構成され、別途、前記デコード装置にシグナリングされることができる。
エンコード装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S802)。エンコード装置は、前記現在のブロックの原本サンプルと、前記予測サンプルの比較を通じて、前記レジデュアルサンプルを導出することができる。
エンコード装置は、予測情報及びレジデュアル情報を含む映像情報をエンコードする(S803)。エンコード装置は、エンコードされた映像情報をビットストリームの形態で出力することができる。前記予測情報は、前記予測手順に関連した情報に予測モード情報(ex。skip flag、merge flag or mode indexなど)及びモーション情報に関する情報を含むことができる。前記モーション情報に関する情報は、モーションベクトルを導出するための情報である候補選択情報(ex。merge index、mvp flag or mvp index)を含むことができる。また、前記モーション情報に関する情報は、前述したMVDに関する情報及び/または参照ピクチャのインデックス情報を含むことができる。
また、前記モーション情報に関する情報はL0予測、L1予測、またはペア(bi)の予測が適用されるかどうかを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
出力されたビットストリームは、(デジタル)ストレージメディアに貯蔵されてデコード装置に伝達することができ、またはネットワークを介してデコード装置に伝達されることもできる。
一方、前述したように、エンコード装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成することができる。これはデコード装置で実行されるものと同じの予測結果をエンコード装置で導出するためであり、これによりコーディング効率を高めることができるからである。したがって、エンコーディング装置は、復元ピクチャ(または復元サンプル、復元ブロック)をメモリに貯蔵し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタの手続きなどがさらに適用されることができることは、前述したとおりである。
図10及び図11は、 本発明の実施例に係るインター予測ベースのビデオ/映像のデコード方法と、本発明の実施例に係るデコード装置内インター予測部を例示する図である。
図10及び図11を参照すると、デコード装置は、前記エンコード装置で実行された動作と対応するアクションを実行することができる。デコード装置は、受信された予測情報に基づいて、現在のブロックに予測を行い、予測サンプルを導出することができる。
S1001乃至S1003は、デコード装置のインター予測部260によって実行されることができ、S1004のレジデュアル情報は、デコード装置のエントロピーデコード部210によってビットストリームから獲得することができる。デコード装置のレジデュアル処理部は、前記レジデュアル情報に基づいて、現在のブロックのレジデュアルサンプルを導出することができる。具体的に、前記レジデュアル処理部の逆量子化部220は、前記レジデュアル情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を実行して、変換係数を導出し、前記レジデュアル処理部の逆変換部230は、前記変換係数の逆変換を実行して、前記現在のブロックのレジデュアルサンプルを導出することができる。 S1005は、デコード装置の加算部235または復元部によって実行されることができる。
具体的にデコード装置は、受信された予測情報に基づいて、前記現在のブロックの予測モードを決定することができる(S1001)。デコード装置は、前記予測情報内の予測モード情報に基づいて、前記現在のブロックにどんなのインター予測モードが適用されるかを決定することができる。
例えば、前記merge flagに基づいて、前記現在のブロックに前記マージモードが適用されるか、または(A)MVPモードが決定されるかどうかを決定することができる。または前記mode indexに基づいて、様々なインター予測モード候補の内一つを選択することができる。前記インター予測モード候補はスキップモード、マージモード及び/または(A)MVPモードを含むことができ、または後述する様々なインター予測モードを含むことができる。
デコード装置は、前記決定されたインター予測モードに基づいて、前記現在のブロックのモーション情報を導出する(S1002)。例えば、デコード装置は、前記現在のブロックにスキップ・モードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補の内、いずれか1つのマージ候補を選択することができる。前記選択は、前述した選択情報(merge index)に基づいて実行されることができる。前記選択されたマージ候補のモーション情報を用いて前記現在のブロックのモーション情報が導出することができる。前記選択されたマージ候補のモーション情報が前記現在のブロックのモーション情報として用いられる。
他の例として、デコード装置は、前記現在のブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補の内、選択されたmvp候補のモーションベクトルを前記現在のブロックのmvpに用いることができる。前記選択は、前述した選択情報(mvp flag or mvp index)に基づいて実行されることができる。この場合、前記MVDに関する情報に基づいて、前記現在のブロックのMVDを導出することができ、前記現在のブロックのmvpと前記MVDに基づいて、前記現在のブロックのモーションベクトルを導出することができる。また、前記参照ピクチャのインデックス情報に基づいて、前記現在のブロックの参照ピクチャインデックスを導出することができる。前記現在のブロックに関する参照ピクチャリスト内で、前記参照ピクチャのインデックスが指すピクチャが前記現在のブロックのインター予測のために参照される参照ピクチャに導出することができる。
一方、後述するように候補リスト構成なしに前記現在のブロックのモーション情報が導出されることができ、この場合、後述する予測モードで開示された手順に従って、前記現在のブロックのモーション情報が導出されることができる。この場合、前述したような候補リストの構成は省略されることができる。
デコード装置は、前記現在のブロックのモーション情報に基づいて、前記現在のブロックの予測サンプルを生成することができる(S1003)。この場合、前記現在のブロックの参照ピクチャインデックスに基づいて、前記参照ピクチャを導出し、前記現在のブロックのモーションベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて、前記現在のブロックの予測サンプルを導出することができる。この場合、後述するように、場合によっては、前記現在のブロックの予測サンプルの内の全部または一部の予測サンプルのフィルタリング手順が実行されることができる。
例えば、デコード装置のインター予測部260は、予測モード決定部261、モーション情報導出部262、予測サンプル導出部263を含むことができ、予測モード決定部261で受信された予測モード情報に基づいて、前記現在のブロックの予測モードを決定し、モーション情報導出部262から受信されたモーション情報に関する情報に基づいて、前記現在のブロックのモーション情報(モーションベクトル及び/または参照ピクチャのインデックスなど)を導出し、予測サンプル導出部263において、前記現在のブロックの予測サンプルを導出することができる。
デコード装置は、受信されたレジデュアル情報に基づいて、前記現在のブロックのレジデュアルサンプルを生成する(S1004)。デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて、前記現在のブロックの復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S1005)。以後、前記復元ピクチャにインループフィルタの手続きなどがさらに適用され得ることは、前述した通りである。
前述したように、インター予測の手順は、インター予測モード決定ステップと、決定された予測モードに応じたモーション情報導出ステップと、導出されたモーション情報に基づいたの予測実行(予測サンプルの作成)ステップを含むことができる。
インター予測モード決定(Determination of inter prediction mode)
ピクチャ内 現在のブロックの予測のために、様々なインター予測モードが用いることができる。たとえば、マージモード、スキップモードでは、MVPモード、アフィン(Affine)モードなど、さまざまなモードが用いることができる。 DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モードなどが付随的なモードで、さらに用いられる。アフィンモードは、アフィンモーション予測(affine motion prediction)モードと呼ばれることもできる。 MVPモードはAMVP(advanced motion vector prediction)モードと呼ばれることもある。
現在のブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコード装置に受信されることができる。前記予測モード情報は、多数の候補モードの内、1つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、1つ以上のフラグを含むことができる。
たとえば、スキップフラグをシグナリングしてスキップモードの適用かどうかを指示し、スキップモードが適用できない場合にマージフラグをシグナリングしてマージモードの適用かどうかを指示し、マージモードが適用できない場合にMVPモードが適用されるものと指示したり、追加の区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立的なモードでシグナリングされることもあり、またはマージモードまたはMVPモードなどに従属的なモードでシグナリングされることもできる。例えば、アフィンモードは、後述するようにマージ候補リストまたはMVP候補リストの一つの候補として構成されることもある。
モーション情報導出(Derivation of motion information according to inter prediction mode)
現在のブロックのモーション情報を用いて、インター予測を行うことができる。エンコード装置は、動き推定(motion estimation)手順を介して、現在のブロックの最適のモーション情報を導出することができる。たとえば、エンコード装置は、現在のブロックの原本ピクチャ内の原本ブロックを用いて、相関性が高い類似の参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これに通じてモーション情報を導出することができる。ブロックの類似性は、位相(phase)ベースのサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在のブロック(または現在のブロックのテンプレート)と参照ブロック(または参照ブロックのテンプレート)の間SADに基づいて計算することができる。この場合、探索領域内SADが最も小さい参照ブロックに基づいてモーション情報を導出することができる。導出されたモーション情報は、インター予測モードに基づいていくつかの方法に基づいてデコード装置にシグナリングされることができる。
マージモードとスキップ・モード
図12は、本発明が適用される実施例として、マージモードまたはスキップモードで用いる周辺ブロックを説明するための図である。
マージモード(merge mode)が適用される場合、現在の予測ブロックのモーション情報が直接伝送されず、周辺予測ブロックのモーション情報を用いて前記現在の予測ブロックのモーション情報を誘導することになる。したがって、マージモードを用いたことを知らせるフラグ情報と周辺のどんな予測ブロックを用いたかを知らせるマージインデックスを伝送することにより、現在の予測ブロックのモーション情報を指示することができる。
本明細書の一実施例において、
本明細書の一実施例のエンコーダは、マージモードを実行するために、現在の予測ブロックのモーション情報を誘導するために用いるマージ候補ブロック(merge candidate block)を探索することができる。例えば、前記マージ候補ブロックは、最大5個まで用いられるが、本発明はこれに限定されない。そして、前記マージ候補ブロックの最大数は、スライスヘッダ(またはタイルのグループヘッダ)で伝送することができ、本発明はこれに限定されない。前記マージ候補ブロックを見つけた後、エンコーダは、マージ候補リストを生成することができ、これらの中で最も小さいコストを有するマージ候補ブロックを最終マージ候補ブロックとして選択することができる。
本明細書の一実施例は、前記マージ候補リストを構成するマージ候補ブロックの様々な実施例を提供する。
前記マージ候補リストは、例えば、5つのマージ候補ブロックを用いることができる。例えば、4つの空間的マージ候補(spatial merge candidate)と1つの時間的マージ候補(temporal merge candidate)を用いることができる。具体例として、空間的マージ候補の場合、図12に示されたブロックを空間的マージ候補として用いることができる。
図13は、本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。
図13を参照すると、符号化装置(エンコーダ/デコーダ)は、現在のブロックの空間的周辺ブロックを探索して導出された空間マージ候補をマージ候補リストに挿入する(S1301)。例えば、前記空間的周辺ブロックは、前記現在のブロックの左下側コーナー周辺ブロック、左側の周辺ブロック、右上側コーナー周辺ブロック、上側周辺ブロック、左上側コーナー周辺ブロックを含むことができる。ただし、これは例示として、前述した空間周辺ブロック以外にも右側周辺ブロック、下側の周辺ブロック、右下側の周辺ブロックなどの追加の周辺ブロックが、さらに前記空間周辺ブロックとして用いられる。コーディング装置は、前記空間的周辺ブロックを優先順位に基づいて探索して、可用したブロックを検出し、検出されたブロックのモーション情報を、前記空間的マージ候補として導出することができる。例えば、エンコーダ及びデコーダは、図12に示された5つのブロックをA1、B1、B0、A0、B2の順に探索して、可用な候補を順次インデックスしてマージ候補リストとして構成することができる。
コーディング装置は、前記現在のブロックの時間的周辺ブロックを探索して導出された時間的マージ候補を前記マージ候補リストに挿入する(S1302)。前記時間的周辺ブロックは、前記現在のブロックが位置する現在のピクチャと異なるピクチャである参照ピクチャ上に位置することができる。前記時間的周辺ブロックが位置する参照ピクチャは、collocatedピクチャまたはcolピクチャと指称されることができる。前記時間的周辺ブロックは、前記colピクチャ上での前記現在のブロックの同じ位置のブロック(co-located block)の右下側コーナー周辺ブロックと右下側センターブロックの順に探索することができる。
一方、motion data compressionが適用される場合、前記colピクチャに一定のストレージユニットごとに、特定のモーション情報を代表モーション情報として貯蔵することができる。この場合、前記一定のストレージユニット内のすべてのブロックのモーション情報を貯蔵する必要がなく、これによりmotion data compression効果を得ることができる。この場合、一定の貯蔵(ストレージ)ユニットは、例えば、16x16サンプルの単位、または8x8サンプル単位などで予め決まることもあり、またはエンコーダからデコーダに前記一定ストレージユニットのサイズ情報がシグナリングされることもある。前記motion data compressionが適用される場合、前記時間的周辺ブロックのモーション情報は、前記時間的周辺ブロックが位置する前記一定ストレージユニットの代表モーション情報に置き換えることができる。
つまり、この場合、実装面で見ると、前記時間的周辺ブロックの座標に位置する予測ブロックではなく、前記時間的周辺ブロックの座標(左上端サンプルポジション)に基づいて、一定の値だけ算術的右シフトした後算術的左シフトした位置をカバーする予測ブロックのモーション情報に基づいて、前記時間的マージ候補が導出されることができる。例えば、前記一定ストレージユニットが2nx2なのサンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb、yTnb)とすると、修正された位置である((xTnb >> n)<< n)、(yTnb >> n)<< n))に位置する予測ブロックのモーション情報が前記時間的マージ候補のために用いられる。
具体的に、例えば、前記一定ストレージユニットが16x16サンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb、yTnb)とすると、修正された位置である((xTnb >> 4)<< 4)、( yTnb >> 4)<< 4))に位置する予測ブロックのモーション情報が前記時間的マージ候補のために用いられる。または、例えば、前記一定ストレージユニットが8x8サンプル単位である場合、前記時間的周辺ブロックの座標が(xTnb、yTnb)とすると、修正された位置である((xTnb >> 3)<< 3)、(yTnb> > 3)<< 3))に位置する予測ブロックのモーション情報が前記時間的マージ候補のために用いられる。
コーディング装置は、現在マージ候補の数が最大マージ候補の数より小さいかどうかを確認することができる(S1303)。前記最大マージ候補の数は、予め定義されたり、エンコーダからデコーダにシグナリングすることができる。例えば、エンコーダは、前記最大マージ候補の数に関する情報を生成し、エンコードして、ビットストリームの形で、前記デコーダに伝達することができる。前記最大マージ候補の数がいっぱいになると以降の候補の追加プロセスは進行していないことがある。
前記確認の結果、前記現在マージ候補の数が前記最大マージ候補の数より小さい場合、コーディング装置は、追加マージ候補を前記マージ候補リストに挿入する(S1304)。前記追加マージ候補は、例えばATMVP、combined bi-predictiveマージ候補(現在スライスのスライスタイプがBタイプの場合)、及び/またはゼロベクトルマージ候補を含むことができる。
前記確認の結果、前記現在マージ候補の数が前記最大マージ候補の数より小さくない場合、コーディング装置は、前記マージ候補リストの構成を終了することができる。この場合、エンコーダは、RD(rate-distortion)costに基づいて、前記マージ候補リストを構成するマージ候補の中で、最適なマージ候補を選択することができ、前記選択されたマージ候補を指す選択情報(ex。merge index)をデコーダにシグナリングすることができる。デコーダは、前記マージ候補リスト及び前記選択情報に基づいて、前記最適のマージ候補を選択することができる。
前記選択されたマージ候補のモーション情報が前記現在のブロックのモーション情報として用いられ、前記現在のブロックのモーション情報に基づいて、前記現在のブロックの予測サンプルを導出することができることは前述した通りである。エンコーダは、前記予測サンプルに基づいて、前記現在のブロックのレジデュアルサンプルを導出することができ、前記レジデュアルサンプルに関連するレジデュアル情報をデコーダにシグナリングすることができる。デコーダは、前記レジデュアル情報に基づいて導出されたレジデュアルサンプル及び前記予測サンプルに基づいて復元サンプルを生成し、これに基づいて復元ピクチャを生成することができることは前述した通りである。
スキップモード(skip mode)が適用される場合、前でマージモードが適用される場合と同じ方法で、前記現在のブロックのモーション情報を導出することができる。ただし、スキップモードが適用される場合、そのブロックのレジデュアル信号が省略され、したがって、予測サンプルがすぐに復元サンプルに用いられる。
MVPモード
図14は、本発明が適用される一実施例に係るマージ候補リストの構成方法を例示するフローチャートである。
MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的周辺ブロック(例えば、先に12で説明した周辺のブロックで有り得る)のモーションベクトル及び/または時間的周辺ブロック(またはColブロック)に対応するモーションベクトルを用いて、モーションベクトル予測子(motion vector predictor、mvp)の候補リストが生成されることができる。つまり、復元された空間的周辺ブロックのモーションベクトル及び/または時間的周辺ブロックに対応するモーションベクトルは、モーションベクトル予測子候補として用いられる。
前記予測に関する情報は、前記リストに含まれたモーションベクトル予測子候補の中から選択された最適のモーションベクトル予測子候補を指示する選択情報(ex。MVPフラグまたはMVPインデックス)を含むことができる。このとき、予測部は、前記選択情報を用いて、モーションベクトルの候補リストに含まれたモーションベクトル予測子候補の中から、現在のブロックのモーションベクトル予測子を選択することができる。エンコード装置の予測部は現在のブロックのモーションベクトルとモーションベクトル予測子との間のモーションベクトルの差分(MVD)を求めることができ、これをエンコードして、ビットストリームの形で出力することができる。つまり、MVDは現在のブロックのモーションベクトルから、前記モーションベクトル予測子を引いた値で求められることができる。このとき、デコード装置の予測部は、前記予測に関する情報に含まれたモーションベクトルの差分を獲得し、前記モーションベクトル差分と前記モーションベクトル予測子の加算を通じて、現在のブロックの前記モーションベクトルを導出することができる。デコード装置の予測部は参照ピクチャを指示する参照ピクチャのインデックスなどを前記予測に関する情報から獲得または誘導することができる。例えば、モーションベクトル予測子候補リストは、図14に示すように構成することができる。
アフィンモーション予測(Affine motion prediction)
図15は、本発明の実施例に係るモーションモデル(motion models)の例を示す。
従来の映像圧縮技術(例えば、HEVC(high efficiency video coding))は、 符号化ブロックの動き(motion)を表現するための1つのモーションベクトル(motion vector)を用いる。たとえブロックごとに一つのモーションベクトルを用いる方式がブロック単位の最適モーションを表現することができたが、実際の各画素の最適なモーションではないことがある。したがって、画素単位で最適のモーションベクトルを決定することができればコーディング効率を向上させることができる。それから、本発明の実施例は、複数のモーションモデル(multi motion model)を用いて、ビデオ信号を符号化または復号化するモーション予測(motion prediction)方法について説明する。特に、2つ乃至4つの制御点のモーションベクトルを用いて、ブロックの各画素単位またはサブブロック単位でモーションベクトルを表現することができ、このような複数の制御点のモーションベクトルを用いた予測手法はアフィンモーション予測(affine motion prediction)、アフィン予測(affine prediction)などで指称されることができる。
本発明の実施例に係るアフィンモーションモデル(affine motion model)は、図15に示すような4つのモーションモデルを表現することができる。 Affine motionmodelが表現できるmotion中の3つのmotion(translation、scale、rotate)dmf表現するaffine motion modelをsimilarity(or simplified)affine motion modelと指称し、本発明の実施例を説明することにおいて、説明の便宜のためにsimilarity(or simplified)affine motion modelに基づいて説明するが、本発明はこれに限定されない。
図16は、本発明の実施例に係るアフィンモーション予測のための制御点のモーションベクトルの例を示す。
図16のように アフィンモーション予測は、2つの制御点のモーションベクトル(control point motion vector、CPMV)ペア(pair)、v_0とv_1を用いて、ブロックが含まれる画素の位置(またはサブブロック)のモーションベクトルを決定することができる。この時、モーションベクトルの集合は、アフィンモーションベクトルフィールド(motion vector field、MVF)と指称されることができる。このとき、アフィンモーションベクトルフィールドは、以下の式1が用いられて決定することができる。
Figure 0007412615000002
数式1で, v_0(v_0={v_0x,v_0y}) は、現在のブロック1300の左上側の位置の第1制御点のモーションベクトル(CPMV0)を示し、 v_1(v_1={v_1x,v_1y}) は、現在のブロック1300の右上側の位置の第2制御点のモーションベクトル(CPMV1)を示す。それと、wは現在のブロック1300の幅(width)を示す。v(v={v_x,v_y})は {x,y} 位置でのモーションベクトルを示す。サブブロック(または画素)単位のモーションベクトルは、前記数式1を用いて誘導することができる。一実施例で、モーションベクトルの精度は1/16の精度にラウンディングされることができる。
図17は、本発明の実施例に係るアフィンモーション予測が適用されたブロックの各サブブロック別モーションベクトルの例を示す。
図17を参照すると、符号化または復号化の過程でアフィンモーションベクトルフィールド(MVF)は画素単位、あるいはブロック単位で決定することができる。つまり、アフィンモーション予測において、現在のブロックのモーションベクトルは、画素単位またはサブブロック単位に誘導されることができる。
画素単位でアフィンモーションベクトルフィールドが決定される場合、各画素の値に基づいてモーションベクトルが得られ、ブロック単位の場合、ブロックの中央画素値に基づいて、そのブロックのモーションベクトルが得られることができる。本文書において、図17のようにアフィンモーションベクトルフィールド(MVF)が4*4ブロック単位で決定される場合が仮定される。ただし、これは説明の便宜のためのもので、本発明の実施例に限定されるものではない。図17は、符号化 ブロックが16*16個のサンプルで構成され、4*4サイズのブロック単位でアフィンモーションベクトルフィールド(MVF)が決定される場合の例を示す。
アフィンモーション予測(affine motion prediction)は、アフィンマージモード(affine merge modeまたはAF_MERGE)とアフィンインターモード(affine inter modeまたはAF_INTER)を含むことができる。 AF_INTERモードは、4つのパラメータベースのモーションモデルを用いるAF_4_INTERモードと6つのパラメータベースのモーションモデルを用いるAF_6_INTERモードを含むことができる。
アフィンマージモード(Affine merge mode)
AF_MERGEはアフィンモーション予測としてコーディングされた周辺ブロックのアフィン動きモデルに基づいて制御点のモーションベクトル(Control Point Motion Vector:CPMV)を決定する。検索順序でアフィンコーディングされた周辺ブロックはAF_MERGEのために用いられる。1つ以上の隣接するブロックがアフィンモーション予測としてコーディングされるとき、現在のブロックは、AF_MERGEとしてコーディングすることができる。
つまり、アフィンマージモードが適用される場合には、周辺ブロックのCPMVを用いて、現在のブロックのCPMVを導出することができる。この場合、周辺ブロックのCPMVがそのまま現在ブロックのCPMVに用いられることができ、周辺ブロックのCPMVが前記周辺ブロックのサイズ及び前記現在のブロックのサイズなどに基づいて修正され、現在のブロックのCPMVに用いられる。
図18は、本発明の実施例に係るアフィンマージモード(affine merge mode)でアフィンモーション予測に用いる周辺ブロックの例を示す。
アフィンマージ(AF_MERGE)モードにおいて、エンコーダは、次のような過程のように符号化を行うことができる。
ステップ-1:現在コーディングブロック1800の周辺ブロックA乃至E(1810、1820、1830、1840、1850)をアルファベット順にスキャン(scanning)し、スキャン順基準最初にアフィン予測モードで符号化されたブロックをアフィンマージ(AF_MERGE)の候補ブロックで決定
ステップ-2:決定された候補ブロックの制御点のモーションベクトル(CPMV)を用いて、アフィンモーションモデルを決定
ステップ-3:候補ブロックのアフィンモーションモデルに基づいて、現在のブロック1800の制御点のモーションベクトル(CPMV)が決定され、現在のブロック1800のMVF決定
図19は、本発明の実施例に係るアフィンモーション予測が適用された周辺ブロックを用いてアフィンモーション予測が実行されるブロックの例を示す。
例えば、図19に示すように、ブロックA1920がアフィンモード(affine mode)で符号化された場合、ブロックA1920を候補ブロックに決定した後、ブロックA1920の制御点のモーションベクトル(CPMV)(例えば、v2、v3)を用いて、アフィンモーションモデル(affine motion model)を誘導した後、現在のブロック1900の制御点のモーションベクトル(CPMV)v0とv1を決定することができる。現在のブロック1900の制御点のモーションベクトル(CPMV)に基づいて、現在のブロック1900のアフィンモーションベクトルフィールド(MVF)が決定され、符号化が行われることができる。
図20は、本発明の実施例に係る周辺アフィン符号化ブロックを用いて、マージ候補リストを生成する方法を説明するための図である。
図20を参照すると、アフィンマージ候補を用いて、CPMVのペアを決定する場合、図20に示すような候補が用いられる。図20において、候補リストのスキャン順序は、A、B、C、D、E、に設定された場合を仮定する。ただし、本発明がこれに限定されるものではなく、様々な順序で予め設定することができる。
実施例として、もし、周辺ブロック(つまり、A、B、C、D、E)で用いられるアフィンモード(またはアフィン予測)で符号化された候補(以下、アフィン候補と称する)の数が0のとき、現在のブロックのアフィンマージモードはスキップされることができる。もし、用いられるアフィン候補の数が一つである場合(たとえば、A)は、その候補の動きモデルが、現在のブロックの制御点のモーションベクトル(CPMV_0とCPMV_1)を誘導するために用いられる。この場合、その候補を指示するインデックスが要求(またはコーディング)されないことがある。もし、用いられるアフィン候補の数が複数である場合は、スキャン順上の2つの候補がAF_MERGEの候補リストで構成されることができる。この場合、候補リスト内で選択された候補を指示するインデックスのような候補選択情報がシグナリングされることができる。前記選択情報は、フラグまたはインデックス情報で有り得、AF_MERGE_flag、AF_merge_idxなどで指称されることができる。
本明細書の実施例において、現在のブロックの動き補償は、サブブロックのサイズに基づいて実行されることができる。この場合、アフィンブロック(つまり、現在のブロック)のサブブロックサイズが誘導される。もしサブブロックの幅と高さが全て4つのルマサンプルよりも大きければ、各サブブロックのモーションベクトルが導出され、DCT-IFベースの動き補償(輝度の1/16フェルと色差の1/32)がサブブロックに対して実行されることができる。そうでなければ、向上された、二重線形補間フィルタベースの動き補償(enhanced bi-linear interpolation filter based motion compensation)が全体アフィンブロックに対して実行されることができる。
本明細書の実施例において、マージ/スキップフラグ(merge/skip flag)が真であり、CUの幅と高さのすべてが8以上であうとき、CUレベルでアフィンフラグはアフィンマージモードが用いることを指示するビットストリーム(bitstream)を介してシグナリングされる。 CUがAF_MERGEとしてコーディングされるとき、最大値「5」を有するマージ候補インデックスはアフィンマージ候補リストからモーション情報候補がCUのために用いることを指定するためにシグナリングされる。
図21及び図22は、本発明の実施例に係るアフィン予測に符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明するための図である。
図21を参照すると、アフィンマージ候補リストは、次のステップとして構成される。
1)モデルベースのアフィン候補を挿入
モデルベースのアフィン候補は候補がアフィンモードでコーディングされた有効な周辺再構成されたブロックから導出されることを意味する。図21に示すように、候補ブロックのスキャン順序は、左側(A)、上側(b)、右上側(C)と左下側(D)から左上側(E)である。
周辺左下側ブロック(A)が6パラメータアフィンモードで符号化されると、ブロック(A)を含むCUの左上側コーナー、右上側コーナー、及び左下側コーナーのモーションベクトル(v_4、v_5、v_6)を得ることになる。現在のブロック上の左上側コーナーのモーションベクトル(v_0、v_1、v_2)は6パラメータアフィンモデルによるモーションベクトル(v_4、v_5、and v_6)に応じて計算される。
周辺左下側ブロック(A)が4パラメータアフィンモードでコーディングされると、ブロック(A)を含むCUの左上側コーナーと右上側コーナーのモーションベクトル(v_4、v_5)を得ることになる。現在のブロック上の左上側コーナーのモーションベクトル(v_0、v_1)は4パラメータアフィンモデルによるモーションベクトル(v_4、v_5)に応じて計算される。
2)制御点ベースのアフィン候補を挿入
図21を参照すると、制御点ベース候補は、各制御点の周辺のモーション情報を組み合わせて候補が構成されていることを意味する。
制御点に対するモーション情報は、まず図21に示された指定された空間隣接ブロックと時間隣接ブロックから導出される。 CP_k(k = 1、2、3、4)は、k番目の制御点を示す。また、A、B、C、D、E、F及びGはCP_k(k = 1、2、3)を予測するための空間的な位置であり、HはCP4を予測するための時間位置である。
CP_1、CP_2、CP_3とCP_4の座標は、それぞれ(0、0)、(W、0)、(H、0)及び(W、H)であり、ここでWとHは、現在のブロックの幅と高さである。
各制御点のモーション情報は、次の優先順位に応じて得られる。
CP_1に対して、チェッキング優先順位は、A->B->Cであり、Aが用いられると、Aが用いられる。そうではなく、Bが 用いられると、Bが 用いられる。 AとBの両方すべてが用いられないと、Cが用いられる。もし3つの候補のすべてが用いられないと、CP1のモーション情報は得ることができない。
CP_2に対して、チェッキング優先順位は、E->Dである。
CP_3に対して、チェッキング優先順位は、G->Fである。
CP_4に対して、Hが用いられる。
第二に、制御点の組み合わせが動きモデルを構成するために用いられる。
2つの制御点のモーションベクトルは、4-パラメータアフィンモデルで変換パラメータを算出するために必要である。2つの制御点は、次の6つの組み合わせ({CP_1、CP_4}、{CP_2、CP_3}、{CP_1、CP_2}、{CP_2、CP_4}、{CP_1、CP_3}、{CP_3、CP_4})の内一つから選択されることができる。例えば、4-パラメータアフィン動きモデルを構成するのにCP_1とCP_2制御点を用いているのは「Affine(CP_1、CP_2)」と表記される。
3つの制御点のモーションベクトルは、6パラメータアフィンモデルで変換パラメータを算出するために必要である。3つの制御点は、次の4つの組み合わせ({CP_1、CP_2、CP_4}、{CP_1、CP_2、CP_3}、{CP_2、CP_3、CP_4}、{CP_1、CP_3、CP_4})の内、1つから選択されることができる。たとえば、6パラメータアフィン動きモデルを構成するにCP_1、CP_2及びCPv3制御点を用いるのは「Affine(CP_1、CP_2、CP_3)」と表記される。
また、本明細書の実施例において、アフィンマージモードで、アフィンマージ候補が存在すれば、それは常に6パラメータアフィンモードとして考慮されることがある。
アフィンインターモード(affine inter mode)
図23は、本発明が実施例に係るアフィンインターモード(affine inter mode)でアフィンモーション予測に用いる周辺ブロックの例を示す。
図23を参照すると、アフィンモーション予測(affine motion prediction)は、アフィンマージモード(affine merge modeまたはAF_MERGE)とアフィンインターモード(affine inter modeまたはAF_INTER)を含むことができる。アフィンインターモード(AF_INTER)で、2つの制御点のモーションベクトル予測(control point motion vector prediction、CPMVP)とCPMVを決定した後違いに対応する制御点のモーションベクトル差分値(control point motion vector difference、CPMVD)がエンコーダからデコーダに伝送されることができる。具体的なアフィンインターモード(AF_INTER)の符号化プロセスは、以下の同じで有り得る。
ステップ-1:2つのCPMVPペア(pair)候補(candidate)決定
ステップ-1.1:最大12個のCPMVP候補の組み合わせを決定(下の数式2を参照)
Figure 0007412615000003
数式2で、v_0は現在のブロック2300の左上側制御点2310でのモーションベクトル(CPMV0)、v_1は現在のブロック2300の右上側制御点2311でのモーションベクトル(CPMV1)、v_2は、現在のブロック2300の左下側制御点2312でのモーションベクトル(CPMV2)であり、v_Aは現在のブロック2300の左上側制御点2310の左上側に隣接する周辺ブロックA2320のモーションベクトル、v_Bは現在のブロック2300の左上側制御点2310の上側に隣接する周辺ブロックB2322のモーションベクトル、vCは現在のブロック2300の左上側制御点2310の左側に隣接する周辺ブロックC2324のモーションベクトル、v_Dは現在のブロック2300の右上側制御点2311の上側に隣接する周辺ブロックD2326のモーションベクトル、v_Eは現在のブロック2300の右上側制御点2311の右上側に隣接する周辺ブロックE2328のモーションベクトル、v_Fは現在のブロック2300の左下側制御点2312の左側に隣接する周辺ブロックF2330のモーションベクトル、v_Gは現在のブロック2300の左下側の制御点2312の左側に隣接する周辺ブロックG2332のモーションベクトルを示す。
ステップ-1.2:CPMVP候補の組み合わせの内、差値(difference value、DV)が小さな値基準でソート(sorting)して、上位2つの候補の使用(下の数式3を参照)
Figure 0007412615000004
v_0x現在のブロック2300の左上側制御点2310のモーションベクトル(V0またはCPMV0)のx軸エレメント、v_1xは現在のブロック2300の右上側制御点2311のモーションベクトル(V1またはCPMV1)のx軸エレメント、v_2xは現在のブロック2300の左下側制御点2312のモーションベクトル(V_2またはCPMV_2)のx軸エレメント、v_0yは現在のブロック2300の左上側制御点2310のモーションベクトル(V_0またはCPMV_0)のy軸エレメント、v_1yは現在のブロック2300の右上側制御点2311のモーションベクトル(V_1またはCPMV_1)のy軸エレメント、v_2yは現在のブロック2300の左下側制御点2312のモーションベクトル(V_2またはCPMV_2)のy軸エレメント、wは現在のブロック2300の幅(width)、hは、現在のブロック2300の高さ(height)を示す。
ステップ-2:制御点のモーションベクトル予測子(CPMVP)ペア候補が2より小さい場合AMVP候補リストを使用
ステップ-3:2つの候補のそれぞれについて、制御点のモーションベクトル予測子(CPMVP)を決定し、RD costを比較して小さい値を有する候補とCPMVを最適に選択
ステップ-4:最適の候補に対応するインデックスと制御点のモーションベクトル差分値(control point motion vector difference、CPMVD)伝送
本明細書の実施例において、AF_INTERでは、CPMVP候補の構成プロセスが提供される。 AMVPと同様に、候補数は2であり、候補リストの位置を指示するインデックスがシグナリングされる。
CPMVP候補リストの設定手順は以下の通りである。
1)周辺のブロックをスキャンして、これがアフィンモーション予測としてコーディングされるかをチェックする。スキャンされたブロックがアフィン予測として符号化されると、候補数が2になるまでスキャンされた周辺ブロックのアフィン動きモデルから現在のブロックのモーションベクトルペアを導出する。
2)候補の数が2より小さければ、候補の構成過程を実行する。また、本発明の実施例において、4パラメータ(2-制御点)アフィンインターモードがズーム - イン/アウト(zoom-in/out)及び回転の動きモデルとコンテンツを予測するに用いる。図16に示すように、ブロックのアフィン動きフィールド(field)は、2つの制御点のモーションベクトルによって記述される。
ブロックのモーションベクトルフィールド(motion vector field:MVF)は、前述した式1によって記述される。
従来技術において、AMVP(advanced motion vector prediction)モードは、MVP(motion vector prediction)インデックスとMVDs(motion vector differences)をシグナリングするために必要である。 AMVPモードが本発明に適用されるとき、アフィン_フラグ(affine_flag)はアフィン予測が用いるかを指示するようにシグナリングされる。アフィン予測が適用されると、inter_dir、ref_idx、mvp_index、及び2つのMVDs(mvd_xとmvd_y)の構文がシグナリングされる。 2つのアフィンMVPペアを含むアフィンMVPペア候補リストが生成される。シグナリングされたmvp_indexは、これらの内、1つを選択することに用いる。アフィンMVPペアは二種類のアフィンMVP候補によって生成される。一つは、空間的継承アフィン候補(spatial inherited affine candidate)であり、他の一つは、コーナー導出されたアフィン候補(corner derived affine candidate)である。周辺CUがアフィンモードでコーディングされると、空間継承アフィン候補が生成されることができる。周辺アフィンコーディングされたブロックのアフィン動きモデルは、2制御点MVPペア(two-control-point MVP pair)のモーションベクトルを生成するために用いる。空間的継承アフィン候補の2制御点MVPペアのMVは、次の式を用いることにより、導出される。
Figure 0007412615000005
Figure 0007412615000006
V_B0, V_B1, 及び V_B2 がどのような参照/周辺CUの左上側MV、右上側MV、及び左下側MVに置き換えることができる場合、 (posCurCU_X, posCurCU_Y) はフレームの左上側のサンプルの現在CUの左上側のサンプルの位置であり、(posRefCU_X、posRefCU_Y)は、フレームの左上側のサンプルの参照/周辺CUの左上側のサンプルの位置である。
Figure 0007412615000007
Figure 0007412615000008
図24は、本発明の実施例に係るアフィンインターモード(affine inter mode)でアフィンモーション予測に用いる周辺ブロックの例を示す。
図24を参照すると、MVPペアの数が2より小さいと、コーナー導出されたアフィン候補が用いる。周辺のモーションベクトルは、図24に示すようにアフィンMVPペアを導出するために用いる。第1コーナー導出されたアフィン候補に対して、セットA(A0、A1とA2)で第1利用可能なMVとセットB(B0とB1)で第1利用可能なMVは、第1MVPペアを構成するために用いる。第2コーナー導出されたアフィン候補に対して、セットAで第1利用可能なMVとセットC(C0とC1)で第1利用可能なMVは右上側側制御点のMVを計算するのに用いる。セットAで第1利用可能なMVと計算された右上側制御点MVは第2MVPペアである。
本発明の実施例において、2つ(3個)の候補{mv_0、mv_1}({mv_0、mv_1、mv_2)を含む2つの候補セットはアフィン動きモデルの2つ(3つ)制御点を予測するために用いる。与えられたモーションベクトル差分(mvd_0、mvd_1、mvd_2)と制御点は、次の式を用いることにより計算される。
Figure 0007412615000009
図25及び図26は、本発明が実施例に係るアフィンインターモード(affine inter mode)で周辺ブロックのモーション情報を用いて、モーションベクトルの候補を誘導する方法を例示する図である。
前記アフィン候補リストはアフィン動きを空間的隣接ブロック(外挿されたアフィン候補)から延長し、空間的隣接ブロック(仮想のアフィン候補)からのモーションベクトルの組み合わせによって添付される(appended)。候補セットは以下のように設定される:
1.最大2つの異なるアフィンMV予測者セットが隣接ブロックのアフィン動きから誘導される。隣接ブロックA0、A1、B0、B1、及びB2が、図25に図示されたように確認される。もし隣接ブロックがアフィン動きモデルによって符号化され、その参照フレームが、現在のブロックの参照フレームと同じであれば、現在のブロックの(4-パラメータアフィンモデルの)2つまたは(6パラメータアフィンモデルの)3つの制御点が隣接ブロックのアフィンモデルから誘導される。
2.図29は、仮想のアフィン候補セットを生成するために用いる隣接ブロックを示す。隣接MVは3つのグループに分けられる:S_0 = {mv_A、mv_B、mv_C}、S_1 = {mv_D、mv_E}、S_2 = {mv_F、mv_G}。 mv_0はS0で現在のブロックと同じ参照ピクチャを参照する最初のMVである。 mv_2はS1で、現在のブロックと同じ参照ピクチャを参照する最初のMVである。
もしmv_0とmv_1が与えられれば、mv_2は次の数式9によって誘導されることができる。
Figure 0007412615000010
数式9で、現在のブロックサイズはWxHある。
もしmv_0とmv_2だけが与えられると、mv_1は、以下の数式10によって誘導されることができる。
Figure 0007412615000011
本明細書の一実施例において、アフィンインター予測は、以下のシーケンス(sequence)に基づいて実行されることができる。
入力:アフィンモーション(動き)パラメータ、参照ピクチャサンプル
出力:CUの予測ブロック
プロセス
- アフィンブロックのサブ - ブロックのサイズを誘導
- サブ-ブロックの幅と幅モード4ルマサンプル(luma samples)より大きければ、
- それぞれのサブブロックについて
- サブ-ブロックのモーションベクトルを誘導
- DCT-IFベースの動き補償(ルマの1/16 pel、色差について1/32 pel)がサブ-ブロックに対して実行(invoked)
- そうでなければ、向上されバイ-リニア補間フィルタ(enhenced bi-linear interpolation filter)ベースの補償が全体アフィンブロックについて実行される(invoked)
また、本明細書の一実施例において、マージ/スキップフラグが偽(false)であり、CUの幅と幅が8以上であれば、CUレベルでアフィンフラグがアフィンインターモードが用いるかどうかを指示するためにシグナリングされる。CUがアフィンインターモードとしてコーディングされると、モデルフラグが4-パラメータまたは6パラメータアフィンモデルが前記CUに適用されるかどうかを指示するためにシグナリングされる。もしモデルフラグが真(true)である場合、AF_6_INTER mode(6-パラメータアフィンモデル)が適用され、3つのMVDが構文解析(Parsing)され、そうでなければ、AF_4_INTER mode(4-パラメータアフィンモデル)が適用され、2つのMVDが構文解析される。
AF_4_INTERモードにおいて、アフィンマージモードと類似に、アフィンモードによりコーディングされた隣接ブロックからの外挿されたモーションベクトルペア(pair)が生成され最初に候補リストに挿入される。
以降、候補リストのサイズが4より小さいと 、モーションベクトルのペア{(v_0、v_1)| v0 = {v_A、v_B、v_c}、v_1 = {v_D、v_E}}を有する候補が隣接ブロックを用いることにより、生成される。図22に示されたように、v_0がブロックA、B、Cのモーションベクトルから選択される。隣接ブロックからのモーションベクトルは、参照リストと隣接ブロックの参照のPOC現在CUの参照のPOCと現在CUの間の関係に基づいてスケールされる。そして、隣接するブロックDとEからv_1を選択するアプローチ方式は類似する。候補リストが4より大きければ、候補は、(候補ペアで2つのモーションベクトルと類似に)隣接モーションベクトルの一貫性(consistency)に基づいて優先的に整列され最初の4つの候補が保存される。
もし候補リストの数が4より小さい場合、リストは各AMVP候補を複製することにより、モーションベクトルペアによってパディングされる(padded)。
AF_6_INTERモードにおいて、アフィンマージモードと類似に、アフィンモードでコーディングされた隣接ブロックからの外挿されたモーションベクトルトリプル(affine motion vector triples)が生成され、候補リストに優先的に挿入される。
以後、候補リストのサイズが4より小さいと、モーションベクトルトリプル{(v_0、v_1、v_2)| v0 = {v_A、v_B、v_c}、v1 = {v_D、v_E}、v2 = {v_G、v_H}}を含む候補が隣接ブロックを用いて生成される。図22に示されたように、v_0がブロックA、B、または、Cのモーションベクトルから選択される。隣接ブロックからのモーションベクトルは、参照リストと隣接ブロックの参照のPOC、現在CUの参照のPOC、それと現在CUのPOCの関係に基づいてスケールされる。そして、隣接するブロックDとEからv_1を選択するためのアプローチとFとGからv_2を選択することは類似である。候補リストが4より大きければ、候補は(3つの候補から2つのモーションベクトルと類似に)隣接モーションベクトルの一貫性に基づいて整列され、最初の4つの候補が保存される。
候補リストの数が4より小さければ、リストは各AMVP候補を複製することにより、(duplicating)構成されるモーションベクトルトリプルによってパディングされることができる。
現在CUのCPMVが誘導された後、アフィンパラメータの数に応じて、現在CUのMVFが4-パラメータアフィンモデルの下の数式11に基づいて生成され、6パラメータアフィンモデルの下の数式12に基づいて生成される。
ここで、サブ-ブロックサイズMxNは、以下の式13で誘導され、MvPreはモーションベクトルの部分の精度(1/16)である。
数式12によって誘導された後、MとNは、wとhの分母(divisor)で作成するために必要であれば下方修正されるべきである。 MまたはNが8より小さければ、WIFが適用され、そうでなければ、サブ-ブロックベースのアフィン動き補償が適用される。
図27は、本発明の実施例に係るサブブロック単位のアフィンモーションベクトルフィールドを誘導する方法の一例を示す。
図27を参照すると、各MxNサブ-ブロックのモーションベクトルを誘導するために、図27に示されたのような、各サブ-ブロックの中央のサンプルのモーションベクトルは、数式11または式12に基づいて計算され、1/16の部分の精度にラウンディングされる(rounded)。 SHVC上向サンプリング補間フィルタが誘導されたモーションベクトルを用いて、各サブ-ブロックの予測を生成するために適用される。
HEVC動き補償補間フィルタと同じフィルタ長さと正規化因子を有するSHVC上向サンプリング補間フィルタは、追加的な部分フェル位置(additional fractional pel positions)の動き補償補間フィルタとして用いられる。クロマ成分のモーションベクトルの精度は1/32サンプルであり、1/32フェル部分の位置の追加的な補間フィルタは、2つの隣接1/16フェル部分の位置のフィルタの平均を用いることにより、誘導される。
AF_MERGEモードは、通常のマージモード選択が実行されるのと同じ方法で、エンコーダ側で選択することができる。候補リストが優先的に生成され、候補で最小のRD-コストが異なるインターモードのRD-コストと比較するために選択される。比較の結果は、AF_MERGEが適用されるのかないのかの決定である。
AF_4_INTERモードのために、RDコストの確認は、何れのモーションベクトルのペアの候補が、現在CUの制御点のモーションベクトル予測(control point motion vector prediction、CPMVP)として選択されるかを決定するために用いる。現在アフィンCUのCPMVPが決定された以後に、アフィン動き推定が適用され、制御点のモーションベクトル(control point motion vector、CPMV)が獲得される。そうすると、CPMVとCPMVPの差が決定される。
エンコーダ側において、AF_MERGEまたはAF_4_INTERモードが以前のモード選択ステージで最適のモードとして決定される時にのみ、AF_6_INTERモードが確認される。
本明細書の一実施例において、アフィンインター(アフィンAMVP)モードは、以下のように実行することができる:
1)AFFINE_MERGE_IMPROVE:アフィンモードである最初の隣接ブロックを探索する代わりに、改善点(improvement)は、最大のコーディングユニットのサイズを有する隣接ブロックをアフィンマージ候補として探索しようとする。
2)AFFINE_AMVL_IMPROVE:アフィンモードである隣接ブロックを通常のAMVP手順と類似にアフィンAMVP候補リストに追加する。
詳細のアフィンAMVP候補リストの生成過程は以下の通りである。
第一に、左下の隣接ブロックがアフィン動きモデルを用いて、現在の参照インデックスと同じ参照インデックスを有するかどうかが確認される。もし存在しなければ、左側隣接ブロックが同じ方法で確認される。もし存在しなければ、左側の下隣接ブロックがアフィン動きモデルを用いて、異なる参照インデックスを有するかどうかが確認される。もし存在すれば、スケールされたアフィンモーションベクトルが参照ピクチャリストに追加される。もし存在しなければ、左側隣接ブロックが同じ方法で確認される。
第二に、右側上部隣接ブロック、上部隣接ブロック、そして左側上部隣接ブロックが同じ方法で確認される。
前述した過程以後、2つの候補を探索すれば、アフィンAMVP候補リストを生成する動作を終了する。2つの候補を探索しないと、JEMソフトウェア内の元の動作がアフィンAMVP候補リストを生成するために実行される。
3)AFFINE_SIX_PARAM:4-パラメータアフィン動きモデル以外に、6パラメータアフィン動きモデルが、追加のモデルとして追加される。
6パラメータアフィン動きモデルが、以下の数式14を介して誘導される。
Figure 0007412615000015
前述した動きモデルに6-パラメータが存在するので、左側上部の位置MV_0、右側上部の位置MV_1、それと左側下部の位置MV_2での3つのモーションベクトルがモデルを決定するために要求される。3つのモーションベクトルが4パラメータアフィン動きモデルで2つのモーションベクトルと類似な方法で決定することができる。アフィンモデルマージは、常に6パラメータアフィン動きモデルとして設定される。
4)AFFINE_CLIP_REMOVE:すべてのアフィンモーションベクトルに対するモーションベクトルの制約(constraints)を除去する。動き補償過程がモーションベクトルの制約そのものを制御するようにする。
アフィンモーションモデル(Affine motion model)
前述したように、Affine inter predictionで様々なaffine motion modelが使用または考慮することができる。たとえば、Affine motion modelは、前述した図15に示すように、4つのmotionを表現することができる。Affine motionmodelが表現できるmotionの中の3つのmotion(translation、scale、rotate)を表現するaffine motion modelをsimilarity(or simplified)affine motion modelとすることができる。前記affine motion modelの中何れのモデルを用いるかによって導出されるCPMVの数及び/または現在のブロックのサンプル/サブブロック単位MV導出方法が異なることがある。
本発明の一実施例において、適応的な4つ及び6つのパラメータの動きモデルが用いる。AF_INTERにおいて、6-パラメータの動きモデルがJEMで存在する4パラメータ動きモデルに加えて提供される。 6パラメータアフィン動きモデルが、以下の数式15のように説明される。
Figure 0007412615000016
ここで、係数a、b、c、d、e、及びfはアフィン動きパラメータであり、(x、y)と(x‘、y’)は、アフィン動きモデルの変換以前と以後のピクセル位置の座標である。ビデオコーディングのアフィン動きモデルを用いるためには、もしCPMV0、CPMV1、そしてCPMV2がCP0(左上側)、CP1(右上側)、それと、CP2(左下側)のMVであれば数式16が以下のように説明ことができる。
Figure 0007412615000017
ここでCPMV_0 = {v_0x、v_0y}、CPMV_1 = {v_1x、v_1y}、CPMV_2 = {v_2x、v_2y}、そしてwとhはそれぞれコーディングブロックの幅(width)と高さ(height)である。数式16は、ブロックのモーションベクトルフィールド(motion vector field、MVF)である。
フラグが隣接ブロックがアフィン予測でコーディングされたとき、4パラメータまたは6パラメータアフィン動きモデルが用いるかどうかを指示するためにCUレベルでパージング(parsing:構文解析)される。アフィン予測でコーディングされた隣接するブロックがなければ、フラグは省略され4パラメータモデルがアフィン予測のために用いる。つまり、6パラメータモデルが1つまたはそれ以上の隣接するブロックがアフィン動きモデルでコーディングされる条件で考慮される。CPMVDの数と関連して、2つ及び3つのCPMVDが4-パラメータ及び6-パラメータアフィン動きモデルについて、それぞれシグナリングされる。
また、本発明の一実施例において、パターン-マッチングされたモーションベクトル加工(pattern-matched motion vector refinement)が用いることができる。 JEMのパターン-マッチングされたモーションベクトル誘導(JEMエンコーダの説明で称してPMMVD、以下PMVDと略称される)において、デコーダは、CU-レベルの探索のために開始MV候補を決定するためにいくつかのモーションベクトル(motion vector、MV)を評価する必要がある。サブ-CU-探索で、最適のCU-レベルMVに加えて、いくつかのMV候補が追加される。デコーダは最適のMVを探索するために、このようなMV候補を評価する必要があり、これは多くのメモリ帯域を必要とする。提案されたパターン-キャッチングされたモーションベクトル精製(pattern-matched motion vector refinement、PMVR)で、JEMでPMVDでのテンプレートマッチング(template matching)と両方のマッチング(bilateral matching)のコンセプトが採用される。 PMVRが使用可能であるかどうかを指示するために、スキップ・モードまたはマージモードが選択されたときに1つのPMVR_flagがシグナリングされる。 PMVDと比較して有意にメモリ帯域幅要求を減らすために、MVの候補リストが生成され、もしPMVRが適用されると、開始MV候補インデックスが明示的にシグナリングされる。
マージ候補リストの生成プロセスを用いることにより、候補リストが生成されるが、サブ-CUマージ候補、例えば、アフィン候補とATMVP候補は除外される。
両方向マッチング(bilateral matching)のために、唯一の一方向-予測(uni-prediction)MV候補のみが含まれる。両方向-予測(bu-prediction)MV候補は、2つの一方向-予測MV候補に分けられる。また、(MV差が予め定義されたしきい値より少ない)類似なMV候補がまた除去される。CU-レベル探索のために、ダイヤモンド探索MV精製(diamond search MV refinement)がシグナリングされたMV候補から開始して実行される。
サブ-CU-レベルの探索は、ただ両方マッチングマージモード(bilateral matching merge mode)でのみ使用可能である。すべてのサブ-CUに対するサブ-CU-レベル探索の探索ウィンドウは、CU-レベル探索の探索ウィンドウと同じである。したがって、追加の帯域幅がサブ-CU-レベルの探索において要求されない。
モードにおいてMVPを精製するために、テンプレートマッチングも用いられる。 AMVPモードにおいて、2つのMVPがHEVC MVP生成プロセスを用いることにより、生成され、1つのMVPインデックスが、それらの内、1つを選択するためにシグナリングされる。選択されたMVPは、PMVRでテンプレートマッチングを用いることにより、さらに精製される。適応的モーションベクトルの解像度(adaptive motion vector resolution、AMVR)が適用されると、テンプレートマッチング精製以前にMVPは、該当する精度にラウンディングされる(rounded)。このような精製プロセスは、パターン-マッチングされたモーションベクトル予測子精製(pattern-matched motion vector predictor refinement、PMVPR)と命名される。本文書の残りの部分で、特に定義しない場合、PMVRは、テンプレートマッチングPMVR、両方向マッチングPMVR、そしてPMVPRを含む。
メモリ帯域幅要求を減少させるために、PMVRは4x4、4x8、それと8x4 CUに対して使用不可能になる。追加のメモリ帯域幅要件量の減少のために、64と同じCU領域の{テンプレートマッチング、両方向マッチング}の探索範囲が{±2、±4}に縮小されることができ、64より大きいCU領域の{テンプレートマッチング、両方向マッチング}の探索範囲が{±6、±8}に縮小することができる。本文書のPMVRセクションで説明された前述したすべての方法を用いることにより、HEVCでの最悪の場合と比較して要求されるメモリ帯域幅がJEM-7.0のPMVDで45.9xからPMVRで3.1xに減少した。
non-QTブロックでAffine使用さ技術
図28は、本発明の実施例に係るアフィンモーションモデルを適用したインター予測で予測ブロックが生成される方法及びモーションベクトルを例示的に示す。
図28を参照すると、アフィン動きモデルが適用される場合のモーションベクトルを導出する数式を見ることができる。前記モーションベクトルは、次のような数式17に基づいて導出されることができる。
ここでv_xは、現在のブロック内の(x、y)座標サンプルのサンプル単位のモーションベクトルのx成分、v_yは現在のブロック内の前記(x、y)座標のサンプルの前記サンプル単位のモーションベクトルのy成分を示す。
つまり、(v_x、v_y)は、前記(x、y)座標のサンプルに対する前記サンプル単位のモーションベクトルとなる。ここで、a、b、c、d、e、fは前記現在のブロックのコントロールポイント(制御点)(control point、CP)から(x、y)座標のサンプル単位のモーションベクトル(モーション情報)を導出するための数式のパラメータ(parameter)を示す。前記CPは操縦画素と表現されることもできる。前記パラメータは、PU単位で伝送される各PUのCPのモーション情報から導出することができる。前述した前記CPのモーション情報から誘導された前記サンプル単位のモーションベクトルを導出する数式はブロックのサンプルごとに適用されることができ、前記各サンプルのx軸とy軸の相対位置に基づいて参照映像内のサンプルの位置に導出されることができる。前記サンプル単位のモーションベクトルは、QTBT(TT)ブロック分割構造に沿ったブロックのサイズ、非対称型または対称型、ブロックの位置などによって異なるように導出することができる。これに対する具体的な実施例は、後述する図29~図38を介して示す。
図29は、本発明の実施例に係る制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
図29を参照すると、現在のブロックが2Nx2Nブロックである場合を仮定して説明する。例えば、前記現在のブロック内の左上端サンプルのモーションベクトルをv_0とすることができる。また、前記現在のブロックと隣接する周辺ブロックのサンプルをCPに用いて、各CPのモーションベクトルをv_1とv_2とすることができる。すなわち、前記現在のブロックの幅と高さをS、前記現在のブロックの左上端(top-left)のサンプルポジションの座標を(xp、yp)とするとき、前記CPの内、CP0の座標は(xp、yp)であり、CP1の座標は(xp + S、yp)であり、CP2の座標は(xp、yp + S)とすることができる。前記CP0のモーションベクトルはv_0、前記CP1のモーションベクトルは、v_1、前記CP2のモーションベクトルはv_2とすることができる。前記CPのモーションベクトルを用いて前記サンプル単位のモーションベクトルを導出することができる。前記サンプル単位のモーションベクトルは、次のような数式18に基づいて導出することができる。
ここで、v_x、v_yはそれぞれ前記現在のブロック内の(x、y)座標のサンプルのモーションベクトルのx成分、y成分を示し、v_x0、v_y0はそれぞれ前記CP0のモーションベクトルv_0のx成分、y成分を示し、v_x1、v_y1はそれぞれ前記CP1のモーションベクトルv_1のx成分、y成分を示し、v_x2、v_y2はそれぞれ前記CP2のモーションベクトルv_2のx成分、y成分を示す。前述した数式18のような、前記サンプル単位のモーションベクトルを導出する数式によって、現在のブロック内の各サンプルは、現在のブロック内の相対的な位置に基づいて、モーションベクトルが導出されることができる。
図30は、本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
図30はNx2Nに分割されたブロックのCPを例示的に示す。前述したパーティショニングタイプ2Nx2Nの場合と同じ方法を介し、現在のブロック内のサンプル単位のモーションベクトルを導出するための数式を誘導することができる。前記数式を誘導する過程で、前記現在のブロックの形に合う幅の値を用いることができる。前記サンプル単位のモーションベクトルを誘導するために、3つのCPを導出することができ、前記CPの位置を図30のように調整することができる。すなわち、前記現在のブロックの幅と高さをそれぞれS/2とSであり、前記現在のブロックの左上端(top-left)のサンプルポジションの座標を(xp、yp)とするとき、前記CPの内、CP0の座標は(xp、yp)であり、CP1の座標は(xp +S/2、yp)であり、CP2の座標は(xp、yp+S)とすることができる。前記サンプル単位のモーションベクトルは、次のような数式19に基づいて導出されることができる。
ここで、vx、vyはそれぞれ前記現在のブロック内の(x、y)座標のサンプルのモーションベクトルのx成分、y成分を示し、v_x0、v_y0はそれぞれ前記CP0のモーションベクトルv_0のx成分、y成分を示し、v_x1、v_y1はそれぞれ前記CP1のモーションベクトルv_1のx成分、y成分を示し、v_x2、v_y2はそれぞれ前記CP2のモーションベクトルv_2のx成分、y成分を示す。数式3は、前記現在のブロックの幅がS/2であることを考慮したサンプル単位のモーションベクトルを誘導する数式を示す。前述した数式19のような、前記サンプル単位のモーションベクトルを導出する数式によってパーティショニングのタイプNx2Nに基づいてCUからパーティショニングされた現在のブロック内の各サンプルは、現在のブロック内の相対位置に基づいて、モーションベクトルが導出されることができる。
図31は、本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
図31は、パーティショニングのタイプ2NxNに基づいて分割されたブロックを例示的に示す。前記サンプル単位のモーションベクトルを誘導するために、3つのCPを導出することができ、前記CPの位置を図31のように調整して図31に示された現在のブロックの形状に応じて高さをS/2に調整することができる。すなわち、前記現在のブロックの幅と高さがそれぞれSとS/2であり、前記現在のブロックの左上端(top-left)のサンプルポジションの座標を(xp、yp)とするとき、前記CPの内、CP0の座標は(xp、yp)であり、CP1の座標は(xp+S、yp)であり、CP2の座標は(xp、yp + S/2)とすることができる。前記のサンプル単位のモーションベクトルは、次のような数式20に基づいて導出されることができる。
ここで、 v_x, v_y は、それぞれ、前記現在のブロック内の(x、y)座標のサンプルのモーションベクトルのx成分、y成分を示し、v_x0、v_y0はそれぞれ前記CP0のモーションベクトルv_0のx成分、y成分を示し、v_x1、 v_y1は、それぞれ、前記CP1のモーションベクトルv_1のx成分、y成分を示し、v_x2、v_y2はそれぞれ前記CP2のモーションベクトルv_2のx成分、y成分を示す。数式4は、前記現在のブロックの高さがS/2であることを考慮したサンプル単位のモーションベクトルを導出する数式を示す。前述した数式4.18のような、前記サンプル単位のモーションベクトルを導出する数式によってパーティショニングのタイプ2NxNに基づいてCUからパーティショニングされた現在のブロック内の各サンプルは、現在のブロック内の相対位置に基づいて、モーションベクトルが導出されることができる。
図32~図38は、本発明の実施例に係る非正方形ブロックで制御点のモーションベクトルに基づいて動き補償を実行する方法を例示する図である。
図32は、非対称型、現在のブロックのCPを例示的に示す。図32で示すように、前記非対称型の現在のブロックの幅と高さをそれぞれWとHとすることができる。前記サンプル単位のモーションベクトルを誘導するために、各現在のブロックの3つのCPを導出することができ、前記CPの座標は、図32に示すように、現在のブロックの形に沿った幅と高さに基づいて調整することができる。すなわち、前記現在のブロックの幅と高さをWとHとし、各現在のブロックの左上端(top-left)のサンプルポジションの座標を(xp、yp)とするとき、前記CPの内、CP0の座標は(xp、 yp)であり、CP1の座標は(xp+W、yp)であり、CP2の座標は(xp、yp+H)に設定されることができる。この場合、前記現在のブロック内、前記サンプル単位のモーションベクトルは、次のような数式21に基づいて導出されることができる。
ここで、v_x、v_yはそれぞれ前記現在のブロック内の(x、y)座標のサンプルのモーションベクトルのx成分、y成分を示し、v_x0、v_y0はそれぞれ前記CP0のモーションベクトルv_0のx成分、 y成分を示し、v_x1、v_y1はそれぞれ前記CP1のモーションベクトルv_1のx成分、y成分を示し、v_x2、v_y2はそれぞれ前記CP2のモーションベクトルv_2のx成分、y成分を示す。数式21は、非対称型、現在のブロックの幅と高さを考慮したサンプル単位のモーションベクトルを誘導する数式を示す。
一方、本発明によれば、ブロック単位で指示されるCPのモーション情報のデータ量を減らすために、現在のブロックの周辺ブロックまたは周辺サンプルのモーション情報に基づいて少なくとも一つのCPのモーション情報予測候補を選定することができる。前記モーション情報予測候補はアフィンモーション情報候補またはアフィンモーションベクトル候補と称されることができる。前記アフィンモーション情報候補は、例えば、図33~図38に開示された内容を含むことができる。
ATMVP simplification
ATMVP(Advanced Temporal Motion Vector Prediction)は、時間のモーション情報候補を用いたインター予測であるが、既存のTMVPを改善するために提案されたモーション情報候補を用いたインター予測を示すことができる。本明細書の実施例において、前記ATMVPは、その名称に制限されず、前記ATMVPはサブブロック時間マージ候補、サブブロックベースの時間マージ候補、サブブロック時間モーションベクトル予測子、サブブロックベースの時間のモーションベクトル予測子などで称されることができる。
具体的に、時間のモーション情報候補として、現在のブロックのright-bottomブロックまたは現在のブロックのcenter位置のcolPBのモーションベクトルを用いるTMVPは、画面内の動きを反映しないことがある。一方、前記ATMVPが適用される場合、周辺ブロックのモーションベクトルが指す位置のcolPBのモーションベクトルをATMVP候補として用いられる。
前記ATMVPが適用される一例として、マージ候補構成順にチェックしながら、まず最初にavailableたspatial neighbor blockのモーションベクトル(temporal vector)を見つけた後、reference pictureでtemporal vectorが指す位置をcol-PB(ATMVP candidate)に導出することができる。また、Temporalvectorを用いて、各sub-block単位でcorresponding blockのモーションベクトルを用いられる。この時、特定のsub-blockにMVが存在しない場合、correspondingblockのcenterに位置したブロックのMVをavailableしないsub-blockのMVとして使用し代表MVとして貯蔵する。
また、前記ATMVPを用いるが、さらにメモリ使用量を削減できるようにする、さまざまなATMVP simplification方案が提案されることもある。
一実施例において、参照ブロックを見つけるための参照ピクチャ(スライスセグメントヘッダに指定された)が同じ位置ピクチャ(collocated picture)に制限されるため、メモリの使用が減少することができる。一例として、最大4つの参照ピクチャが用いられる。参照ブロックを見つけるために、時間のベクトル(temporal vector)は、空間候補の内、一つからスキャン順序に従って誘導することができる。現在の候補が同じ位置ピクチャと同じ参照ピクチャを有していると、探索プロセスが終了することができる。
一実施例において、ATMVP及び/またはSTMVPサブブロックマージモード(sub-block merge modes)の修正が適用されることができる。
1.シグナリングはピクチャ/スライス-レベルで追加されて、様々なサブブロックサイズがATMVP/STMVPベースの動き(motion)情報導出のために用いられる。
2.1つの同じ位置ピクチャが用いられるようにすることにより、簡略化されたATMVPベースのモーション情報誘導が用いられる。
一実施例において、ATMVPとSTMVPモードによって導出されたモーションフィールドの粒状性(granularity)のピクチャ/スライス-レベル適応をサポートすることが提案される。具体的には、シーケンスパラメータセット(sequence parameter set:sps)を指称するスライスでATMVPとSTMVPのモーションパラメータを導出するために用いるサブブロックサイズのデフォルト値をspsでシグナリングされることができる。付加的には、1つのフラグ(flag)は、スライスのセグメントヘッダからシグナリングされる。このフラグが0であれば、それはspsで明示されたようなデフォルトのサブブロックサイズが、現在のスライスでATMVP/STMVPベースの動き導出するために用いることを示す。そうでなければ(つまり、このフラグが1に設定されると)、他の構文要素(syntax element)がスライスのセグメントヘッダでシグナリングされ、スライスのために用いるATMVP/STMVPサブブロックサイズを明示することができる。
一実施例において、 簡単なエンコーダ(encoder)の方法は、現在のピクチャのATMVP/STMVPサブブロックサイズを決定するために用いられる。2つのATMVP/STMVPサブブロックサイズの4及び8のいずれか1つが同じ時間的レイヤ(temporal layer)で最後にコーディングされたピクチャからATMVP/ STMVPブロックの平均サイズに基づいて選択される。先ほどコーディングされたピクチャがk番目時間的レイヤで、i番目のピクチャでありATMVPとSTMVPモードによってコーディングされたN個のCUを含むと仮定する。また、このCUのサイズがS_0、S_1、…、S_(N-1)と仮定する。ATMVP/ STMVP CUの平均サイズは、σ^ k=(Σ_(i=0)^(N-1)S_i)/Nとして計算される。それでは、同じk番目時間レイヤで(i +1)番目のピクチャをコーディングするとき、そのATMVP/STMVPサブブロックサイズg_(i +1)^ kは、次の数式22に基づいて決定することができる。
Figure 0007412615000023
一実施例において、各時間的レイヤ(層)で第1ピクチャに対して、ATMVP/STMVPサブブロック7のサイズは、常に4に設定されることができる。
一実施例において、ATMVPは、次の2つの段階を用いて誘導することができる。
(1)周辺CUが利用可能であり、このCUのMVが既存の候補リストからのMVと異なると、エンコーダ/デコーダは、空間的周辺CUからモーションベクトルを先に説明した図12に示すようにA1、B1、B0 、and A0の順に追加することができる。利用可能な空間的候補の数はN0で表現されることができる。
(2)N0個の空間的候補からの第1MV候補は同じ位置ピクチャと各サブブロックの動きをフェッチ(fetch)する位置を(MVによる変位を追加することにより、)決定するために用いられる。 N0が0であれば、スライスヘッダでシグナリングされた同じ位置ピクチャとゼロモーション(zero motion)を有する同一の位置が、各サブブロックの動きをフェッチするために用いられる。
ATMVPの互いに異なるCUの同一位置ピクチャは多数の参照ピクチャが用いると、常に同じでないこともある。現在ピクチャで互いに異なるCUに対して、ATMVP導出の互いに異なる同一位置ピクチャを有するということは、多数の参照ピクチャのモーションフィールドがフェッチされる必要があることを意味し、これは、メモリ帯域幅の増加により、望ましくない。したがって、一実施例において、スライスヘッダでシグナリングされたHEVCのようATMVP導出の同じ位置ピクチャとして同じである同じ位置ピクチャを用いる単純化されたデザインが提供される。ブロックレベルにおいて、周辺ブロックAの参照ピクチャが、この同じ位置ピクチャと異なると、ブロックAのMVは、HEVC時間的MVスケーリング方法(HEVC temporal MV scaling method)を用いてスケールされ、ブロックAのスケールされたMVは、ATMVPに用いられる。
同じ位置ピクチャRcolでモーションフィールドをフェッチするために用いるモーションベクトルは、MVcolと表記する。 MVスケーリングによる衝撃を最小化するために、MVcolを導出するために用いる空間的候補リストからのMVは、この回答で、次の方法で選択される。候補MVの参照ピクチャが同じ位置ピクチャであれば、このMVは、どんなスケーリングなしでMVcolとして選択されて用いられる。そうでなければ、同じ位置ピクチャに最も近い参照ピクチャを有するMVがスケーリングを有するMVcolを導出するために選択される。
HMVP(History-based Motion Vector Prediction)一般
一般的に、映像圧縮技術は、2つの主要な手法として、空間的及び時間的重畳性(redundancy)の探索(exploiting)を用いる。例えば、HEVC(High Efficiency Video Coding、HEVC)とVVCはすべてインターコーディング(inter coding)の基底で2つの動きの圧縮手法を用いる。一つは、マージ(merge)の動きであり、もう一つはAMVP(advanced motion vector prediction)である。このような2つの予測モードの改善のために、様々な変更(modifications)が議論されている。これらは候補の数を増加させることから始めて、より空間的に拡張される候補の探索及び非-慣習的な(non-traditional)位置においての時間的候補を検査することなどを含む。このような2つの手法は、一次的に可能な候補としてリストを構成し、RD(rate distortion)コストを最小化し、ビットストリームから選択された候補をシグナリングする。
特に、最近の映像圧縮技術においては、以前に符号化されたブロックのモーション情報を貯蔵し、貯蔵されたモーション情報を以後に符号化されるブロックの動き予測に用いるHMVP(History-based Motion Vector Prediction)が議論される。このようなHMVPはマージリスト(またはマージ候補リスト)またはAMVPリスト(またはAMVP候補リスト)に追加されることができる。
デコーダはHMVPのためにFIFO(first in first out)システム(または方式)で動作するLUT(look-up table)を維持する。本明細書において、LUTは、その名称に制限されず、テーブル、HMVPテーブル、HMVP候補テーブル、バッファ、HMVPバッファ、HMVP候補バッファ、HMVPリスト、HMVP候補リストなどで指称されることができる。具体的に、非-アフィン(non-affine)PU(prediction unit)(またはCU(coding unit))がデコードされるとき、そのモーション情報は、LUTに貯蔵され、デコーダは、次のPUのデコードを行う。このとき、貯蔵されるモーション情報は、x(水平)及びy(垂直)方向のモーションベクトル、参照インデックス情報とモード情報などを含むことがある。
デコーダは、徐々に(progressively)デコードされた非-アフィン候補のモーション情報が貯蔵されるLUTを維持することができる。LUTのサイズは、予め定義されたS個の候補に制限されることができる。一実施例として、LUTはスライスの開始、CTU行の開始またはCTUの開始からリセット(reset)されることができる。
HMVPはマージモードとAMVPモードの全てで適用することができる。マージリストは、B個の候補を有すことができ、AMVPリストは、2つの候補を有すことができる。従来の映像圧縮技術において、マージリストは次の候補で構成される:i)空間候補、ii)時間候補、iii)両方向予測(Bi-Pred)候補、iv)ゼロ動き候補(zero motion candidate)。最近、ATMVP(advanced motion vector prediction)が追加候補として考慮される方法が議論される。一例として、ATMVP候補は、時間候補の前にマージリストに挿入することができる。マージリストの候補は、最大のマージリストサイズに到達するまでマージリストに追加される。重複候補(duplicate candidate)はマージリストに追加されないことがある。
AMVPリストは、2つの候補が挿入されることができる。一例として、2つの候補の内一つは、使用可能な空間候補から選択され、第二候補は、時間の候補から選択されることができ、リストが満たされない場合、ゼロモーションベクトル候補が追加されることがある。
HMVPはLUTで候補が投入された順番と同じようにテーブルから抜けていくFIFOに基づいて適用される。
一実施例において、HMVPがマージリストの構成に適用されるとき、HMVP候補は下記のようにリストの3番目の位置に挿入(または追加)することができる:
1.空間候補(Spatial Candidate)
2.時間候補(Temporal Candidate)
3.LUTの最大S個のHMVP候補(Up to S HMVP Candidates for a LUT)
4.結合された両方向予測候補(Combined Bi-Pred Candidate)
5.ゼロモーションベクトル候補(Zero Motion Vector Candidate)
一実施例において、HMVPがAMVPリストの構成に適用されるとき、HMVPは以下のように時間候補以降3番目の位置に挿入することができる:
1.空間的候補(Spatial Candidate)
2.時間的候補(Temporal Candidate)
3.最大K個のHMVP候補(Up to K HMVP Candidates)
4.ゼロモーションベクトル候補(zero Motion Vector Candidate)
図39は、本明細書の実施例に係るHMVPを貯蔵する方法を説明するためのフローチャートである。
図39を参照すると、デコーダは、現在のPU(またはCU)をデコードする(S3901)。
デコーダは、現在のPUが非-アフィンモードでコーディングされたブロックであるかを確認する(S3902)。 HMVP候補の使用を容易にするために、もし現在のPUがアフィンモードでコーディングされたブロックである場合、デコーダは、現在のPUのモーション情報をテーブルに貯蔵しない。
現在PUが非-アフィンモードでコーディングされたブロックである場合、デコーダは、現在のPUのモーション情報をテーブルに貯蔵(または更新)する(S3903)。
本明細書の実施例において、HMVPテーブルは2つの方法、すなわち、i)非限定的FIFO(unconstrained FIFO)ii)限定的FIFO(constraint FIFO)の方法で更新することができる。電子では、重複した情報が存在することができるが、プルーニングプロセスは適用されない。これは、全体的なプロセスの複雑度を低減させるのに寄与する。下の図を参照して説明する。
図40は、本明細書の実施例に係る非限定的FIFO方式で動作するHMVPテーブルを説明するための図である。
図40を参照すると、テーブルに追加される候補は、テーブルの端(右側)に追加される。一方、FIFO方式に基づいてテーブルから排出される候補は、テーブルの前端(左側、最も古い候補)に位置する。
もしインデックスL-1(つまり、端)でテーブルが予め‐定義された最大数の候補に完全に満たされてなければ、削除される候補なしに、新しい候補が追加される。一方、テーブルが既に完全に満たされた場合、つまり、テーブルの最大数を満たす場合、テーブルで最も古い前端に位置する候補が除去され、新しい候補が追加される。
図41は、本明細書の実施例に係る制限的FIFO方式で動作するHMVPテーブルを説明するための図である。
図41を参照すると、制限的FIFOが用いる場合、新しい候補を追加することがどのような重複を引き起こす場合プルーニングが実行される。実施例として、重複したモーション情報を有する候補がテーブルに存在すると、テーブル内の重複した候補は、除去され、現在の候補のモーション情報が追加されることができる。
実施例1
HMVP候補に対して、多くの場合において、最近のヒストリーMVが空間候補(または空間近所候補)のモーション情報と重複することができる。したがって、本実施例においては、HMVP候補をAMVPまたはマージリストに追加するとき、候補の追加順序をHMVP LUTインデックスの順序とは異なるように設定する方法を提案する。
本明細書の実施例に係ると、HMVP候補を適応的に調節することにより、候補リストを効率的に構成することができ、これにより、2値化(binarization)に用いるシグナリングビンの数を減らし、コーディング効率を高めることができる。
つまり、マージリストまたはAMVPリストに追加されるHMVP候補はHMVPリスト内のインデックスによって制限されないことがある。一実施例としては、次の表2は、AMVPまたはマージリストにHMVP候補を追加する順序を変更する方法を例示する。
Figure 0007412615000024
表2を参照すると、前述したように、最近に挿入されたHMVP候補は、空間候補のモーション情報と同一する可能性が高いので、これを考慮してHMVP候補の追加順序をHMVPインデックスとは無関係に、予め定義することができる。
また、一実施例において、リストでn番目の候補から始まるHMVP候補からマージリストまたはAMVPリストに追加することができる。次の表3は、AMVPまたはマージリストに候補を追加する変更された順序を例示する。
Figure 0007412615000025
表3を参照すると、2回目のインデックスからHMVP候補がマージリストまたはAMVPリストに追加されることができる。
一実施例において、テーブル(LUT)内でのHMVP候補の追加順序についての情報は、エンコーダからデコーダにシグナリングすることができる。たとえば、このような順序の情報は、上位レベルの構文(high level syntax、HLS)を介して伝送されることができる。前記上位レベルの構文は、例えば、シーケンスパラメータセット(sequence parameter set)、ピクチャパラメータセット(picture parameter set)、スライスヘッダ(slice header)、コーディングツリーユニット(coding tree unit)、コーディングユニット(coding unit)及び/または他の適切な構文のデータヘッダで有り得る。
下の表4は、本明細書で提案する方法が適用されることができる上位レベルの構文「シンタックス (syntax)」構造を例示する。
表4を参照すると、set_HMVP_order_flagが1であることはset_HMVP_order_flagがCVSから非-IDR(non-IDR)ピクチャ内スライスヘッダで存在することを指示する。set_HMVP_order_flagが0であることはset_HMVP_order_flagがスライスヘッダに存在せず、VCSで適応的HMVPが使用されていないことを指示する。
下の表5は、本明細書で提案する方法が適用されることができるスライスセグメントヘッダ構文(シンタックス)構造を例示する。
表5を参照すると、slice_HMVP_idxは用いる候補の順序のインデックスを意味する。たとえば、slice_HMVP_idxが0であることは0、1、2、3などの基本なHMVP順序を表現することができる。類似に、1のインデックス値は3、2、1、0のHMVP順序を表現するために用いられる。
実施例2
本明細書の実施例において、HMVP LUTに加え、ロングタームリスト(long term list)をモーション例予測のために用いる方法を提案する。これに通じて、維持されるHMVP候補の数を増加させることができる。実施例として、2-HMVPテーブルを考慮することができ、ここで、一つは一般HMVP候補を保管し、他の一つは、維持がさらに必要な候補をさらに保管するロングターム(long term)リストとして用いられる。
次は、ロングタームリスト(またはロングタームHMVPリスト)を初期化し、構成する方法を例示する。
- CTU行の最初のCTUをデコードした後、以後のCTUの1つまたはそれ以上のヒストリーMVがロングタームHMVP LUTに追加されることができる。このようなロングタームHMVP LUTは、次のCTU行まで用いられるか更新されないことがある。
- 次のCTUの行の開始において、ロングタームHMVP LUTが通常のHMVP LUTを初期化するために用いられる。その理由は、CTUの行の開始からCTUのHMVP候補が以前のCTU行の終わりでのヒストリーMVよりさらに相互に関連(co-relate)することができるからである。
- 前記プロセスは、繰り返すことができる。
図42は、本明細書の実施例に係るHMVP LUTとロングタームHMVP LUTを例示する図である。
図42を参照すると、2つのLUTがある。一つはHMVP LUT(または一般HMVP LUT、ショートタームHMVP LUT)であり、他の一つは、ロングタームHMVP LUTである。 HMVP候補はマージAMVPリストの両方に追加されたとき、図42に示すようにHMVP LUTまたはロングタームLUTから追加することができる。
前述したロングタームLUTの使用は、新しい構文エレメントを導入することにより、上位レベル シンタックス (syntax:構文)を通じて指示することができる。たとえば、構文エレメントは、シーケンスパラメータセット(sequence parameter set)、ピクチャパラメータセット(picture parameter set)、スライスヘッダ(slice header)、コーディングツリーユニット(coding tree unit)、コーディングユニット(coding unit)、及び/または他の適切な構文データのヘッダに存在することができる。
実施例3
本明細書の実施例において、HMVP候補がHMVP LUTに追加することにおいて、デコードするための柔軟性(flexibility)を考慮する方法を提案する。エンコーダ/デコーダは、PU(またはCU)の1つまたはそれ以上の特性の決定(decision)を考慮することができる。
実施例として、エンコーダ/デコーダはHMVP候補をテーブルに追加するに当たり、次のような事項を考慮することができる。エンコーダ/デコーダは、PUのモード(例えば、マージモード、アフィンモード、AMVPモードなど)及び/またはブロックのサイズのような特性を個別に、または組み合わせて考慮して、候補として追加することができる。一実施例において、加えて、他の特性が考慮されることもある。たとえば、HMVP LUTの更新を考慮するマージタイプ(例えば、空間候補または時間候補)、サブPUかどうかなどが候補選択基準として考慮することができる。前述した選択基準は、以前のヒストリー(または以前HMVP)との重複を減らすために決定することができる。たとえば、PUがマージモードでコーディングされマージタイプが空間マージの場合、デコーダは、そのPUのモーション情報をHMVP LUTに更新しないことがある。
図43は、本明細書の実施例に係るHMVP LUTを更新する方法の一例を示す図である。
図43を参照すると、エンコーダ/デコーダは、コーディングされた候補のモーション情報を獲得する(S4301)。
エンコーダ/デコーダは、 前記候補のモーション情報をLUTに更新するかどうかを予め定義された決定基準に基づいて評価する(S4302)。前記決定基準は、前記候補のモード(例えば、マージモード、アフィンモード、AMVPモード等)、前記候補のブロックサイズ及び/または前記候補のマージタイプの内、少なくとも一つの特性を含むことができる。
エンコーダ/デコーダは、前記決定基準に基づいてLUTを更新する(S4303)。つまり、前記候補が予め定義された決定基準を満たす場合、エンコーダ/デコーダは、前記候補のモーション情報をLUTに追加することができる。
実施例4
本明細書の実施例において、HMVP候補をマージリスト(またはAMVPリスト)に追加するための冗長性チェックの制限を提案する。冗長性チェックの制限は、さまざまないくつかの方法で実現されることができる。
一実施例において、エンコーダ/デコーダは、マージリストで最初の特定の個数の候補のプルーニングチェックの数を制限することができる。エンコーダ/デコーダは、マージリストの最初の候補から、特定の個数目の候補までの候補のプルーニングチェックの数を制限することができる。たとえば、エンコーダ/デコーダは、マージリストの最初の候補から、特定の数の候補までの候補のプルーニングプロセスを実行することができ、この時、プルーニングチェックの対象となるHMVP候補は、予め定義された個数に制限ことができる。
また、一実施例において、エンコーダ/デコーダは、プルーニングチェックをマージリスト内マージ候補の特定のタイプに対して実行することで、プルーニングチェックを制限することができる。たとえば、エンコーダ/デコーダはHMVP候補を追加するに当たり、マージリストの空間候補に対してのみプルーニングチェックを実行することができる。または、例えば、エンコーダ/デコーダはHMVP候補を追加するに当たり、マージリストの空間候補の一部に対してのみプルーニングチェックを実行することができる。前記空間候補の一部は、予め定義することができる。例えば、前記予め定義される空間候補の一部は、左側隣接空間候補及び/または上側隣接空間候補の内、少なくとも一つで有り得る。本明細書の実施例が、これに限定されるものではなく、他のタイプが組み合わされてプルーニングチェックの対象に制限されることができる。
図44は、本明細書の実施例に係るプルーニングチェックの対象となるHMVP候補の数を制限する方法を例示する図である。
図44を参照すると、本明細書の実施例において、プルーニングチェックの対象となるHMVP候補の数は、M回に制限されることができる。
エンコーダ/デコーダはHMVP候補を用いて、マージリストを構成することにおいて、HMVP LUT内、最初のM個の候補と前記マージリストのマージ候補間のモーション情報の冗長性可否をチェックすることができる。
または、エンコーダ/デコーダは、現在デコードされたPUのモーション情報をHMVP LUTに追加するに当たり、HMVP LUT内の最初のM個の候補と前記デコードされたPUのモーション情報間の冗長性可否をチェックすることができる。
図45は、本明細書の実施例に係るプルーニングチェックを実行する方法の一例を示す図である。
図45を参照すると、エンコーダ/デコーダは、デコードされた候補のモーション情報を獲得し、プルーニングチェックの数を決定(または解読)する(S4501、S4502)。
エンコーダ/デコーダは、決定されたプルーニングチェックの数に基づいてプルーニングチェックを実行する(S4503)。
一実施例において、先の表4及び表5と同様の方法でプルーニングチェックに関連した情報が上位レベルのシンタックス(構文)を通じてシグナリングすることができる。このとき、エンコーダからデコーダに伝送される構文エレメントは、実施される必要のあるプルーニングチェックの数を指示するためのいずれのヘッダに含まれることができる。前記上位レベルシンタックスは、例えば、シーケンスパラメータセット(sequence parameter set)、ピクチャパラメータセット(picture parameter set)、スライスヘッダ(slice header)、符号化ツリーユニット(coding tree unit)、コーディングユニット(coding unit)及び/または他の適切なシンタックス(syntax)データヘッダで有り得る。
実施例5
本明細書の1つの実施例においては、HMVP候補を選択する効率的な方法を提案する。ヒストリーモーションベクトル候補(つまり、HMVP候補)をマージリスト(またはAMVPリスト)に挿入するとき、HMVP候補が既存のマージリストと重複しないようにするために、プルーニングチェックが実行されることができる。
MサイズのマージリストとNサイズのヒストリーLUT間、全体冗長チェックを実行するには、(M-1)xN回のチェックを必要とする。したがって、本明細書の実施例において、HMVP候補の数は、既存の並み号併合候補に依存することができる。たとえば、HMVP候補の数は、マージリストに存在する空間候補の数に依存することができる。または、例えば、HMVP候補の数は、マージリストに存在する空間候補と時間候補の数に依存することができる。
もし、マージリストに存在するマージ候補がさらに存在する場合、マージリストのマージ候補の数及び/またはHVMPの数に基づいた、特定の基準(またはルール)に基づいてプルーニングチェックを実行するHMVP候補の数が減少することがことができる。これを通じて、最悪のケースでの重複チェックの数が減少することができる。
例えば、サイズ(または長さ)が6であるマージリストの場合、マージリストがいっぱいになってないとマージリストは、最大5つの空間または他のマージ候補を含むことができる。 6つのHMVPリストからHMVP候補を挿入するには、最悪の場合、30個の重複チェックが必要になることができる。
一実施例において、チェックするHMVP数の制限に関連する例は次の数式23及び表6のとおりである。
Figure 0007412615000028
Figure 0007412615000029
表6を参照すると、プルーニングチェックの対象となるHMVPの数を2個に制限することにより、最悪のケースでHMVP追加のための重複チェックの数は、30回代わり12回に減少することができる。
実施例6
本明細書の一実施例において、ヒストリーベースの空間時間モーションベクトル予測(history-based spatial temporal motion vector prediction、H-STMVP)を用いてマージリストを構成する方法を提案する。 H-STMVPは2つのヒストリーベースのスペースMVPとTMVPの平均で誘導される候補を示す。前記2つの空間HMVPはHMVPバッファから獲得することができ、前記TMVPは、現在マージリストから獲得することができる。ここで、前記空間候補は、現在ブロック以前のデコード順で最後の2つのコーディングされたMVから獲得された候補で有り得る。
たとえば、最後のコーディングされたMV(本明細書でMV_Lと称する)、最後から2番目でコーディングされたMV(本明細書でMV_(L-1)と称する)とMV_TMVPはマージリストに挿入されるH-STMVP候補を生成するために用いられる。
前述した3つの候補のすべてを用いられる場合、マージリストに追加されるMVは、次のの式24によって計算することができる。
Figure 0007412615000030
一実施例として、もし、前述した3つの候補の内、2つだけが利用可能であれば、2つの候補に対してのみ平均化されてH-STMVPが生成されることができる。同様に、一つの候補のみ使用可能であると、前記1つの候補のみ用いられる。使用可能な候補がない場合はH-STMVPはマージリストを構成するために使用されない。
本明細書の一実施例において、前述した数式24以外に、他の方法を用いて、H-STMVP候補のモーションベクトルを獲得する方法を提案する。
例えば、3つ以上の候補を一度に平均化する代わりに、空間候補を先に平均化した後、この結果を用いて、2つの候補を再平均化することが計算的に、さらに簡単で有り得る。これに対する例は、次の数式と同じである。
Figure 0007412615000031
または、次のように平均値を獲得することもできる。
Figure 0007412615000032
Figure 0007412615000033
Figure 0007412615000034
エンコーダ/デコーダは、数式25~27のように、まず、2つの候補を平均し、3回目の候補を用いて、結果の値を最終的に平均化することができる。またはエンコーダ/デコーダは、数式28のように、2だけシフト演算を適用することにより、候補、すなわちMV_Lに、さらに高い重要度/重みを付与することができる。前述した数式25~28を用いて、シフト演算だけで除算なしで平均値を誘導することができる。
実施例7
本明細書の一実施例において、H-STMVPを誘導することにおいて、2つのヒストリーベースの空間候補の代わりに、任意の個数(n)の空間候補を用いる方法を提案する。これらのn個の候補は、必ずしも連続したデコード順序である必要はない。任意または一部のルールに基づいて選択することができる。
したがって、前述した数式24は、次の数式29のように、さらに一般的な方法で表現することができる。
Figure 0007412615000035
他の一実施例において、もし、5つの空間候補を用いる場合を仮定すると、時間の候補に適用される重みを向上させることにより、H-STMVP候補を生成するために増加された空間候補の影響を最小化し、空間候補と時間候補を適切に反映することができる。
したがって、そのためには、次の数式30を用いて空間候補を一緒に平均した後、その結果を用いてMV_TMVPを平均化することにより、前述した目的を達成することができる。
Figure 0007412615000036
実施例8
本明細書の一実施例において、H-STMVPを誘導するために用いるモーションベクトル候補に重み(または加重因子)を追加する方法を提案する。この時、前記重みは、経験的に決定することもあり、固定された参照フレームまでの時間距離を考慮して決定されることもあり、またはヒストリーテーブルでの位置を考慮することにより、決定されることもできる。一例として、新しい候補は、以前の候補よりさらに多くの重みを有することができる。
すなわち、本実施例において、前述した数式24は、次の数式31のように表現することができる。
Figure 0007412615000037
このとき、重みは同じ値を有することができ、不均等に分散された値を有することができる。
実施例9
本明細書の一実施例において、H-STMVP候補を誘導するために用いるモーションベクトルを、単一の参照ピクチャとしてのスケーリングする方法を提案する。
図46は、本明細書の一実施例に係る、互いに異なる参照ピクチャを参照するモーションベクトルを用いて、H-STMVP候補を誘導する方法を説明するための図である。
図46を参照すると、MV_L、MV_L-1とMV_TMVP候補は、それぞれ互いに異なる参照ピクチャを参照(または指示)する場合を仮定する。すなわち、図46は、H-STMVP候補を生成するために使用された各候補が他の参照インデックスを有することができ、結果的に他の参照フレームを有することができることを示す。
近接参照フレームがあるフレームが本質的にH-STMVPのモーションベクトルにさらに大きな影響を与えることがあるから、前述した数式24乃至31の平均を不均等な結果値にすることができる。したがって、均等な比較と反映のために、すべてのモーションベクトルを、単一の参照フレームにスケーリングする方法を提案する。
このとき、エンコーダからRD最適化の一部として実行されてどのような単一のフレームが参照フレームとして用いるのに最適なのかを決定することができる。実施例として、選択された参照フレームは、スライスヘッダに存在するTMVP配列のインデックスと類似なスライスヘッダでシグナリングされることができる。例えば、固定されたルールを用いて用いる参照フレームを生成することが可能で有り得る。または、例えば、L0からの最初の利用可能な基準フレームにスケーリングされるか、現在のピクチャ順カウントでスケーリングすることができる。
一実施例において、前述した目的を達成するために、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、コーディングされたツリーユニット及び/または他のデータのヘッダの一部であることができる上位レベルのシンタックス(HLS)を用いて、単一の固定されたピクチャについての情報をエンコーダがデコーダに伝送することができる。たとえば、次の表7及び/または表8のような上位レベルの構文構造が定義されることができる。
Figure 0007412615000038
表7を参照すると、set_HSTMVP_ref_pic_flagが1と等しい場合set_HSTMVP_idxがCVSから非IDRピクチャのスライスヘッダに存在することを示す。set_HSTMVP_ref_pic_flagが0であれば、set_HSTMVP_idxがスライスヘッダに存在しないように示す。
Figure 0007412615000039
表8を参照するとslice_HMVP_idxは参照インデックスを指定する。一実施例として、参照インデックスは、リストL0に対し選択されることができる。
以上で説明した本明細書の実施例は、説明の便宜上、それぞれの実施例を区分して説明したが、本発明がこれに制限されるものではない。つまり、先に説明した実施例1~9で説明した実施例は、それぞれ独立して実行されることもあり、1つ以上の複数の実施例が組み合わされて実行されることもある。
図47は、本発明が適用される実施例に係るインター予測に基づいて、ビデオ信号を処理する方法を例示するフローチャートである。
図47を参照すると、説明の便宜のためにデコーダを中心に説明するが、本発明がこれに限定されるものではなく、本明細書の実施例に係るインター予測ベースのビデオ信号の処理方法は、エンコーダとデコーダで同じように実行することができる。
デコーダは、現在ブロックの空間マージ候補と時間マージ候補を用いて前記現在のブロックの第1マージ候補リストを構成する(S4701)。
デコーダは、前記現在のブロックの以前にコーディングされたブロックのモーション情報を示すヒストリーベースのマージ候補を前記第1マージ候補リストに追加することにより、第2マージ候補リストを構成する(S4702)。
デコーダは、前記第2マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを獲得する(S4703)。
デコーダは、前記マージインデックスによって指示されるマージ候補のモーション情報を用いて前記現在のブロックの予測ブロックを生成する(S4704)。
前述したように、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれたマージ候補の内から、予め定義されたマージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加されることができる。
前述したように、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれたマージ候補の内から、予め定義された特定の個数のマージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加されることができる。
前述したように、前記ヒストリーベースのマージ候補は、前記第1マージ候補リストに含まれる特定の空間マージ候補と重複しないモーション情報を有する場合、前記第1マージ候補リストに追加されることができる。
前述したように、前記ヒストリーベースのマージ候補は、前記ヒストリーベースマージ候補を貯蔵するヒストリーベースのバッファ内で予め定義された個数の候補から誘導することができる。例えば、前記予め定義された個数は、二つで有り得る。
前述したように、前記第2マージ候補リストを構成する段階は、ヒストリーベースの空間‐時間マージ候補を追加する段階をさらに含み、前記ヒストリーベースの空間時間候補は、2つの前記ヒストリーベースのマージ候補と前記時間マージ候補を用いて誘導することができる。
前述したように、前記ヒストリーベースの空間時間候補のモーションベクトルは、前記2つのヒストリーベースのマージ候補のモーションベクトルを平均した値と、前記時間マージ候補のモーションベクトルを平均した値に誘導することができる。
図48は、本明細書の実施例に係る映像信号を処理するための装置のブロック図の例を示す。図48の映像信号処理装置は、図1のエンコード装置100または図2のデコード装置200に対応することができる。
映像信号を処理する映像処理装置4800は、映像信号を貯蔵するメモリ4820と、前記メモリと結合されながら、映像信号を処理するプロセッサ4810を含む。
本明細書の実施形態に係るプロセッサ4810は、映像信号の処理のための少なくとも一つのプロセッシング回路で構成されることができ、映像信号をエンコードまたはデコードするためのコマンドを実行することにより、映像信号を処理することができる。つまり、プロセッサ4810は、前述したエンコードまたはデコード方法を実行することにより、元の映像データをエンコードしたり、エンコードされた映像信号をデコードすることができる。
図49は、本発明が適用されるビデオコーディングシステムを示す。
ビデオコーディングシステムは、ソースデバイス(source device)と受信デバイス(receiving device)を含むことができる。ソースデバイスは、エンコードされたビデオ/イメージ情報またはデータを、ファイルまたはストリーミング形態でデジタル貯蔵媒体またはネットワークを介して受信デバイスに伝達することができる。
前記ソースデバイスは、ビデオソース(videosource)、エンコード装置(encoding apparatus)、伝送部(transmitter)を含むことができる。前記受信デバイスは、受信部(receiver)、デコード装置(decodingapparatus)とレンダラー(renderer)を含むことができる。前記エンコード装置は、ビデオ/映像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/映像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を含むこともでき、ディスプレイ部は別個のデバイスまたは外部のコンポーネントで構成されることもある。
ビデオソースはビデオ/映像のキャプチャ、合成または生成過程などを通じてビデオ/映像を獲得することができる。ビデオソースはビデオ/映像キャプチャデバイス及び/またはビデオ/映像生成デバイスを含むことができる。ビデオ/映像キャプチャーデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/映像を含むビデオ/映像アーカイブなどを含むことができる。ビデオ/映像生成デバイスは、例えばコンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/映像を生成することができる。たとえば、コンピュータなどを通じて、仮想のビデオ/映像が生成されることができ、この場合、関連するデータが生成される過程で、ビデオ/映像キャプチャプロセスが代えることができる。
エンコード装置は、入力ビデオ/映像をエンコードすることができる。エンコード装置は、圧縮とコーディング効率のために予測、変換、量子化などの一連の手順を実行することができる。エンコードされたデータ(エンコードされたビデオ/イメージ情報)は、ビットストリーム(bitstream)の形で出力されることができる。
伝送部はビットストリームの形で出力されたエンコードされたビデオ/イメージ情報またはデータを、ファイルまたはストリーミング形態でデジタル貯蔵媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル貯蔵媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなど、様々な貯蔵媒体を含むことができる。伝送部は、予め決まれたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した伝送のための要素を含むことができる。受信部は、前記ビットストリームを抽出してデコード装置に伝達することができる。
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を実行して、ビデオ/映像をデコードすることができる。
レンダラーは、デコードされたビデオ/映像をレンダリングすることができる。レンダリングされたビデオ/映像は、ディスプレイ部を介して表示されることができる。
図50は、本発明が適用される実施例として、コンテンツのストリーミングシステム構造図を示す。
図50を参照すると、本発明が適用されるコンテンツのストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザデバイス及びマルチメディア入力デバイスを含むことができる。
前記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力デバイスから入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割をする。他の例として、スマートフォン、カメラ、ビデオカメラなどのようなマルチメディア入力デバイスがビットストリームを直接生成する場合、前記エンコードサーバは省略することができる。
前記ビットストリームは、本発明が適用されるエンコード方法またはビットストリームを生成する方法によって生成されることができ、前記ストリーミングサーバは、前記ビットストリームを伝送または受信する過程で一時的に前記ビットストリームを貯蔵することができる。
前記ストリーミングサーバは、Webサーバを介して、ユーザの要請に基づいて、マルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体の役割をする。ユーザが前記Webサーバに所望するサービスを要請すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザに、マルチメディアデータを伝送する。この際、前記コンテンツのストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツのストリーミングシステム内の各デバイス間のコマンド/応答を制御する役割をする。
前記ストリーミングサーバは、メディアストレージ及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信することになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間貯蔵することができる。
前記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ノートパソコン(laptop computer)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末(smartwatch)、グラス型端末(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイネージなどがことができる。
前記コンテンツのストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバで受信するデータは、分散処理することができる。
前記記述されたように、本発明で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図面で示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。
また、本発明が適用されるデコーダとエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、貯蔵媒体、ビデオカメラ、ビデオオンデマンド(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために用いられる。たとえば、OTTビデオ(Over the top video)装置では、ゲーム機、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形で生産されることができ、コンピュータが読み取り可能な記録媒体に貯蔵することができる。本発明に係るデータ構造を有するマルチメディアデータもまた、コンピュータが読み出し可能な記録媒体に貯蔵することができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み取り可能なデータが貯蔵されるあらゆる種類の貯蔵装置及び分散貯蔵装置を含む。前記コンピュータが読み取りできる記録媒体は、例えば、ブルーレイディスク(BD)、ユニバーサルシリアルバス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学データ貯蔵装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを通じた伝送)の形で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に貯蔵したり、有無線通信ネットワークを介して伝送されることができる。
また、本発明の 実施例は、プログラムコードによるコンピュータプログラム製品として実現されることができ、前記プログラムコードは、本発明の実施例により、コンピュータで実行することができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に貯蔵することができる。
以上で説明した実施例は、本発明の構成要素と特徴が所定の形態で結合されたものである。各構成要素または特徴は、別の明示的な言及がない限り選択的なものと考慮されるべきである。各構成要素または特徴は、他の構成要素や特徴と結合されない形態で実施されることができる。また、一部の構成要素及び/または特徴を結合して、本発明の実施例を構成することも可能である。本発明の実施例で説明される動作の順序は変更されることができる。どの実施例の一部の構成や特徴は、他の実施例に含まれることができ、または他の実施例に対応する構成または特徴と交替されることができる。特許請求の範囲で明示的な引用関係がない請求項を結合して実施例を構成したり、出願後の補正により新しい請求項として含めることができることは自明である。
本発明に係る実施例は、様々な手段、例えば、ハードウェア、ファームウェア(firmware)、ソフトウェアまたはそれらの組み合わせなどにより実現されることができる。ハードウェアによる実現の場合、本発明の一実施例は、一つまたはそれ以上の ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現されることができる。
ファームウェアやソフトウェアによる実現の場合、本発明の一実施例は、以上で説明した機能または動作を実行するモジュール、プロシージャ、関数などの形態で実現されることができる。ソフトウェアコードは、メモリに貯蔵されてプロセッサによって駆動されることができる。前記メモリは、前記プロセッサの内部または外部に位置して、既に公知された多様な手段により、前記プロセッサとデータを送受信することができる。
本発明は、本発明の必須的特徴を逸脱しない範囲で他の特定の形態で具体化されることができるのは、当業者に自明である。したがって、前述した詳細な説明は、すべての面で制限的に解釈してはならなく、例示的なものと考慮されるべきである。本発明の範囲は、添付された請求項の合理的解釈によって決定されるべきで、本発明の等価的範囲内でのすべての変更は、本発明の範囲に含まれる。
以上、前述した本発明の好ましい実施例は、例示の目的のために開示されたもので、当業者であれば、以下、添付された特許請求の範囲に開示された本発明の技術的思想とその技術的範囲内で、様々な他の実施例を改良、変更、代替または付加などが可能である。

Claims (13)

  1. デオ信号をデコーディングする方法において、
    現在のブロックの空間候補と時間候補に基づいて、前記現在のブロックの第1マージ候補リストを生成する段階であって、前記空間候補は前記第1マージ候補リストで前記時間候補に先行する、段階と、
    前記現在のブロックの前に復号されたブロックに対するモーション情報を含むヒストリーベースの候補を、前記第1マージ候補リストに追加することにより、第2マージ候補リストを生成する段階と、
    前記第2マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスをパースするステップと、
    前記マージインデックスによって指示される前記マージ候補のモーション情報に基づいて、前記現在のブロックの予測ブロックを生成するステップ
    前記予測ブロックに基づいて前記現在のブロックの再構成ブロックを生成するステップを含み、
    前記第2マージ候補リストを生成する段階は、
    前記第1マージ候補リストに含まれる前記空間候補の一部のみの動き情報で前記ヒストリーベースの候補の動き情報をチェックする段階と
    前記ヒストリーベースの候補が前記第1マージ候補リストに含まれる前記空間候補の一部の動き情報と重複しない動き情報を有することを、チェックする場合のみ、前記ヒストリーベースの候を追加する段階とを含む、デコーディング方法。
  2. 前記空間候補の一部が、前記第1マージ候補リストに含まれる前記空間候補の第1の数である、請求項1に記載のデコーディング方法。
  3. 前記ヒストリーベースの候補は、前記ヒストリーベースの候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から導出される、請求項1に記載のデコーディング方法。
  4. 前記第2マージ候補リストを生成する段階は、
    ヒストリーベースの空間-時間候補を追加する段階をさらに含み、
    前記ヒストリーベースの空間-時間候補は、2つのヒストリーベースの候補と前記時間候補を用いて導出される、請求項1に記載のデコーディング方法。
  5. 前記ヒストリーベースの空間-時間候補のモーションベクトルは、前記時間候補のモーションベクトルの平均値と、前記2つのヒストリーベースの候補のモーションベクトルの平均値として導出される、請求項に記載のデコーディング方法。
  6. 前記第2マージ候補リストを生成する段階は、
    前記ヒストリーベースのマージ候補リストに含まれる複数のヒストリーベースの候補の中の、ヒストリーベースのマージ候補リストに最後に追加された最後のヒストリーベースの候補から開始する間に、前記ヒストリーベースの候補を前記第1マージ候補リストに追加するかを決定する段をさらに含む、請求項1に記載のデコーディング方法。
  7. デオ信号を符号化する方法であって、
    現在のブロックの空間候補と時間候補に基づいて、前記現在のブロックの第1マージ候補リストを生成する段階であって、前記空間候補は前記第1マージ候補リストで前記時間候補に先行する、段階と、
    前記現在のブロックの前にデコードされたブロックに対するモーション情報を含むヒストリーベースの候補を前記第1マージ候補リストに追加することにより、第2マージ候補リストを生成する段階と、
    前記第2マージ候補リスト内で、前記現在のブロックに適用されるマージ候補を指示するマージインデックスを生成するステップと、
    前記マージインデックスによって指示される前記マージ候補のモーション情報に基づいて、前記現在のブロックの予測ブロックを生成するステップと、
    記予測ブロックに基づいて前記現在のブロックのレジデュアルブロックを生成する段階とを含み、
    前記第2マージ候補リストを生成する段階は、
    前記第1マージ候補リストに含まれる空間候の一部のみの動き情報で前記ヒストリーベースの候補の動き情報をチェックする段階と、
    前記チェックすることが、前記ヒストリーベースの候補は前記第1マージ候補リストに含まれる前記空間候補の一部の前記動き情報と重複しない動き情報を有することを示す場合のみ、前記ヒストリーベースの候補を追加する段階とを含む、ビデオ信号符号化方法。
  8. 前記空間候補の一部が、前記第1マージ候補リストに含まれる前記空間候補の第1の数である、請求項に記載のビデオ信号符号化方法。
  9. 前記ヒストリーベースの候補は、前記ヒストリーベースの候補を貯蔵するヒストリーベースのバッファ内で予め定義された数の候補から導出される、請求項に記載のビデオ信号符号化方法。
  10. 前記第2マージ候補リストを生成する段階は、
    ヒストリーベースの空間-時間候補を追加する段階をさらに含み、
    前記ヒストリーベースの空間-時間候補は、2つのヒストリーベースの候補と前記時間候補を用いて導出される、請求項に記載のビデオ信号符号化方法。
  11. 前記ヒストリーベースの空間-時間候補のモーションベクトルは、前記時間候補のモーションベクトルの平均値と、前記2つのヒストリーベースの候補のモーションベクトルの平均値として導出される、請求項10に記載のビデオ信号符号化方法。
  12. 前記第2マージ候補リストを生成する段階は、
    前記ヒストリーベースのマージ候補リストに含まれる複数のヒストリーベースの候補の中の、ヒストリーベースのマージ候補リストに最後に追加された最後のヒストリーベースの候補から開始する間に、前記ヒストリーベースの候補を前記第1マージ候補リストに追加するかを決定する段階をさらに含む、請求項に記載のビデオ信号符号化方法。
  13. 映像に対するビットストリームを含むデータに対する送信方法であって、
    前記映像に対するビットストリームを取得するステップと、
    前記ビットストリームを含む前記データを送信するステップとを含み
    前記ビットストリームは、
    現在のブロックの空間候補と時間候補に基づいて、前記現在のブロックの第1マージ候補リストを生成するステップであって、前記空間候補は前記第1マージ候補リストにおいて前記時間候補に先行する、ステップと、
    前記現在のブロックに先立ってデコーディングされたブロックに対する動き情報を含むヒストリーベース候補を前記第1マージ候補リストへ追加することにより、第2マージ候補リストを生成するステップと、
    前記第2マージ候補リスト内の前記現在のブロックに適用されたマージ候補を示すマージインデックスを生成するステップと、
    前記マージ候補により示される前記マージ候補の動き情報に基づいて前記現在のブロックの予測ブロックを生成するステップと、
    記予測ブロックに基づいて前記現在のブロックのレジデュアルブロックを生成するステップとを実行することにより生成され
    前記第2マージ候補リストを生成するステップは、
    前記第1マージ候補リストに含まれた空間候補の部分のみの動き情報で前記ヒストリーベース候補の動き情報をチェックるステップと、
    前記ヒストリーベースの候補が、前記第1マージ候補リストに含まれる前記空間候補の一部の動き情報とオーバラップしない動き情報を有することを示すことをチェックする場合のみ、前記ヒストリーベースの候補を追加するステップを含む、送信方法。
JP2023017610A 2018-09-22 2023-02-08 インター予測に基づいて、ビデオ信号を処理するための方法及び装置 Active JP7412615B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023219718A JP2024038130A (ja) 2018-09-22 2023-12-26 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862735027P 2018-09-22 2018-09-22
US62/735,027 2018-09-22
US201862737077P 2018-09-26 2018-09-26
US62/737,077 2018-09-26
PCT/KR2019/012367 WO2020060376A1 (ko) 2018-09-22 2019-09-23 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
JP2021515597A JP7225381B2 (ja) 2018-09-22 2019-09-23 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021515597A Division JP7225381B2 (ja) 2018-09-22 2019-09-23 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023219718A Division JP2024038130A (ja) 2018-09-22 2023-12-26 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Publications (2)

Publication Number Publication Date
JP2023053028A JP2023053028A (ja) 2023-04-12
JP7412615B2 true JP7412615B2 (ja) 2024-01-12

Family

ID=69888797

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2021515597A Active JP7225381B2 (ja) 2018-09-22 2019-09-23 インター予測に基づいて、ビデオ信号を処理するための方法及び装置
JP2023017610A Active JP7412615B2 (ja) 2018-09-22 2023-02-08 インター予測に基づいて、ビデオ信号を処理するための方法及び装置
JP2023219718A Pending JP2024038130A (ja) 2018-09-22 2023-12-26 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021515597A Active JP7225381B2 (ja) 2018-09-22 2019-09-23 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023219718A Pending JP2024038130A (ja) 2018-09-22 2023-12-26 インター予測に基づいて、ビデオ信号を処理するための方法及び装置

Country Status (8)

Country Link
US (3) US11297330B2 (ja)
EP (1) EP3836545B1 (ja)
JP (3) JP7225381B2 (ja)
KR (2) KR20240000644A (ja)
CN (5) CN118055251A (ja)
MX (1) MX2021003247A (ja)
RU (1) RU2769146C1 (ja)
WO (1) WO2020060376A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965894B (zh) * 2017-05-27 2021-12-21 华为技术有限公司 一种视频图像的编解码方法及装置
US11425390B2 (en) * 2018-01-26 2022-08-23 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using temporal motion information
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
CN112166612A (zh) * 2018-05-23 2021-01-01 株式会社Kt 用于处理视频信号的方法和设备
WO2019234600A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between pairwise average merging candidates and intra-block copy (ibc)
WO2019244051A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
CN113115046A (zh) 2018-06-21 2021-07-13 北京字节跳动网络技术有限公司 分量相关的子块分割
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
BR112021001384A2 (pt) * 2018-08-06 2021-04-20 Electronics And Telecommunications Research Institute método e dispositivo para codificação/decodificação de imagens, e mídia de gravação que armazena fluxo de bits
CN110933427B (zh) 2018-09-19 2023-05-12 北京字节跳动网络技术有限公司 仿射模式编码的模式相关自适应运动矢量分辨率
TWI818086B (zh) * 2018-09-24 2023-10-11 大陸商北京字節跳動網絡技術有限公司 擴展Merge預測
US11051034B2 (en) 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
US10893286B2 (en) * 2018-10-09 2021-01-12 Tencent America LLC Methods and apparatus for low-complexity MTS
CA3115867C (en) * 2018-10-10 2023-10-10 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
BR112021007863A2 (pt) * 2018-11-02 2021-07-27 Beijing Bytedance Network Technology Co., Ltd. método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
CN112970262B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
CN112997493B (zh) * 2018-11-13 2024-01-05 北京字节跳动网络技术有限公司 用于单一类型运动候选列表的构建方法
US11184633B2 (en) * 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
CN113170128B (zh) * 2018-12-03 2024-05-28 北京字节跳动网络技术有限公司 帧间预测的部分修剪方法
WO2020125738A1 (en) * 2018-12-21 2020-06-25 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using history based motion vector prediction
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
RU2768375C1 (ru) 2018-12-28 2022-03-24 ДжейВиСиКЕНВУД Корпорейшн Устройство декодирования динамических изображений, способ декодирования динамических изображений, программа декодирования динамических изображений, устройство кодирования динамических изображений, способ кодирования динамических изображений и программа кодирования динамических изображений
WO2020139061A1 (ko) * 2018-12-28 2020-07-02 인텔렉추얼디스커버리 주식회사 화면 간 예측 부호화 및 복호화 방법 및 장치
WO2020137787A1 (ja) * 2018-12-28 2020-07-02 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
WO2020141914A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
US10904550B2 (en) * 2019-01-12 2021-01-26 Tencent America LLC Method and apparatus for video coding
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN114175632A (zh) 2019-07-26 2022-03-11 北京字节跳动网络技术有限公司 对视频编解码模式的块尺寸相关使用
US11451809B2 (en) * 2019-08-28 2022-09-20 Tencent America LLC Method and apparatus for video coding
KR20220051171A (ko) * 2019-09-03 2022-04-26 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법, 및 복호 방법
US11582475B2 (en) * 2019-09-24 2023-02-14 Qualcomm Incorporated History-based motion vector prediction
US11589044B2 (en) * 2019-10-14 2023-02-21 Hfi Innovation Inc. Video encoding and decoding with ternary-tree block partitioning
CN112911308B (zh) * 2021-02-01 2022-07-01 重庆邮电大学 一种h.266/vvc的快速运动估计方法及存储介质
WO2022214098A1 (en) * 2021-04-09 2022-10-13 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
WO2023277385A1 (ko) * 2021-06-29 2023-01-05 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치
CN113486754B (zh) * 2021-06-29 2024-01-09 中国科学院自动化研究所 基于视频的事件演化预测方法、系统
WO2023008888A1 (ko) * 2021-07-26 2023-02-02 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
US20230224472A1 (en) * 2022-01-12 2023-07-13 Tencent America LLC Motion vector restriction for out-of-frame boundary conditions
US20240040141A1 (en) * 2022-07-18 2024-02-01 Tencent America LLC Method for affine motion refinement
US20240031577A1 (en) * 2022-07-21 2024-01-25 Tencent America LLC MOTION VECTOR PREDICTION FUSION FOR SUBBLOCK-BASED TEMPORAL MOTION VECTOR PREDICTION (SbTMVP) AND TEMPORAL MOTION VECTOR PREDICTION (TMVP)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
WO2020003266A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Resetting of look up table per slice/tile/lcu row
WO2020018297A1 (en) 2018-07-16 2020-01-23 Tencent America Llc. Method and apparatus for history-based motion vector prediction

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2013010112A (es) 2011-03-09 2013-10-07 Toshiba Kk Metodo de codificacion de imagen y metodo de decodificacion de imagen.
WO2013036071A2 (ko) 2011-09-09 2013-03-14 엘지전자 주식회사 인터 예측 방법 및 그 장치
CN107071456B (zh) * 2011-09-23 2020-09-04 株式会社Kt 解码视频信号的方法
WO2013107028A1 (en) 2012-01-19 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of amvp simplification
US20130336406A1 (en) * 2012-06-14 2013-12-19 Qualcomm Incorporated Redundancy removal for merge/skip mode motion information candidate list construction
US20140074816A1 (en) * 2012-06-25 2014-03-13 Rediff.Com India Limited Method and apparatus for generating a query candidate set
EP2842333A4 (en) * 2012-07-02 2016-01-06 Mediatek Inc METHOD AND DEVICE FOR DERIVING INTERCONNECTION CANDIDATES IN 3D VIDEO CODING
US9554150B2 (en) 2013-09-20 2017-01-24 Qualcomm Incorporated Combined bi-predictive merging candidates for 3D video coding
US9432685B2 (en) 2013-12-06 2016-08-30 Qualcomm Incorporated Scalable implementation for parallel motion estimation regions
CN107113446A (zh) * 2014-12-09 2017-08-29 联发科技股份有限公司 视频编码中的运动矢量预测子或合并候选的推导方法
JP6065069B2 (ja) * 2015-07-28 2017-01-25 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
EP3340620A4 (en) 2015-08-23 2019-04-17 LG Electronics Inc. IMAGE PROCESSING METHOD BASED ON INTER-PREDICTION MODE AND APPARATUS THEREOF
US20200169726A1 (en) 2016-04-08 2020-05-28 Electronics And Telecommunications Research Institute Method and device for inducing motion prediction information
WO2017176092A1 (ko) * 2016-04-08 2017-10-12 한국전자통신연구원 움직임 예측 정보를 유도하는 방법 및 장치
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
CN116582668A (zh) 2016-08-11 2023-08-11 Lx 半导体科技有限公司 图像编码/解码方法以及图像数据的发送方法
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US11277635B2 (en) * 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
US10757420B2 (en) * 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US20200221077A1 (en) * 2017-09-05 2020-07-09 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
WO2019089933A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Sub-block motion derivation and decoder-side motion vector refinement for merge mode
TW202021358A (zh) * 2018-07-14 2020-06-01 大陸商北京字節跳動網絡技術有限公司 用時間信息擴展基於查找表的運動向量預測
US10735763B2 (en) * 2018-07-27 2020-08-04 Tencent America LLC Method and apparatus for motion vector prediction using spatial and temporal combination
US10362330B1 (en) * 2018-07-30 2019-07-23 Tencent America LLC Combining history-based motion vector prediction and non-adjacent merge prediction
US11336914B2 (en) * 2018-08-16 2022-05-17 Qualcomm Incorporated History-based candidate list with classification
CN113170178A (zh) * 2018-09-12 2021-07-23 北京达佳互联信息技术有限公司 对合并候选列表的构建的修改
US11051034B2 (en) * 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
BR112021007863A2 (pt) * 2018-11-02 2021-07-27 Beijing Bytedance Network Technology Co., Ltd. método e aparelho para processar dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
US11490112B2 (en) * 2018-11-29 2022-11-01 Interdigital Vc Holdings, Inc. Motion vector predictor candidates ordering in merge list
WO2020135465A1 (en) * 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
WO2020141962A1 (ko) * 2019-01-04 2020-07-09 세종대학교산학협력단 영상 부호화/복호화 방법 및 장치
US10869050B2 (en) * 2019-02-09 2020-12-15 Tencent America LLC Method and apparatus for video coding
US11115653B2 (en) * 2019-02-22 2021-09-07 Mediatek Inc. Intra block copy merge list simplification
US10742972B1 (en) * 2019-03-08 2020-08-11 Tencent America LLC Merge list construction in triangular prediction
US11336900B2 (en) * 2019-06-26 2022-05-17 Qualcomm Incorporated Combined inter and intra prediction mode for video coding
KR20220027157A (ko) * 2019-08-05 2022-03-07 엘지전자 주식회사 움직임 정보 후보를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
WO2020003266A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Resetting of look up table per slice/tile/lcu row
WO2020018297A1 (en) 2018-07-16 2020-01-23 Tencent America Llc. Method and apparatus for history-based motion vector prediction

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Li Zhang, et al.,CE4-related: History-based Motion Vector Prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0104-v5,11th Meeting: Ljubljana, SI,2018年07月,pp.1-7
Timofey Solovyev, Jianle Chen, Alexander Karabutov, and Sergey Ikonin,CE4-related: History-based MVP without using the last lookup table entry,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0425-v6,12th Meeting: Macao, CN,2018年10月,pp.1-4
Xiaozhong Xu, Xiang Li, and Shan Liu,CE4-related: History based spatial-temporal MV prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0302-v1,12th Meeting: Macao, CN,2018年09月,pp.1-2
Yi-Wen Chen and Xianglin Wang,CE4-related: Modified History-based MVP to support parallel processing,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0106,12th Meeting: Macao, CN,2018年09月,pp.1-3

Also Published As

Publication number Publication date
EP3836545B1 (en) 2023-11-15
CN118055251A (zh) 2024-05-17
KR20240000644A (ko) 2024-01-02
CN112740695A (zh) 2021-04-30
JP2023053028A (ja) 2023-04-12
KR102616766B1 (ko) 2023-12-27
WO2020060376A1 (ko) 2020-03-26
CN118055250A (zh) 2024-05-17
JP7225381B2 (ja) 2023-02-20
CN118042150A (zh) 2024-05-14
RU2022107602A (ru) 2022-04-04
MX2021003247A (es) 2021-05-12
JP2022501912A (ja) 2022-01-06
US11297330B2 (en) 2022-04-05
US11902536B2 (en) 2024-02-13
US20240163453A1 (en) 2024-05-16
CN118055249A (zh) 2024-05-17
EP3836545A1 (en) 2021-06-16
CN112740695B (zh) 2024-03-26
US20220217361A1 (en) 2022-07-07
RU2769146C1 (ru) 2022-03-28
JP2024038130A (ja) 2024-03-19
KR20210032535A (ko) 2021-03-24
US20200137398A1 (en) 2020-04-30
EP3836545A4 (en) 2021-06-16

Similar Documents

Publication Publication Date Title
JP7412615B2 (ja) インター予測に基づいて、ビデオ信号を処理するための方法及び装置
US11909960B2 (en) Method and apparatus for processing video signal
JP7141463B2 (ja) インター予測モードに基づいた映像処理方法およびそのための装置
KR102545728B1 (ko) 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
JP7477495B2 (ja) インター予測モードに基づいた映像処理方法及びそのための装置
US11876957B2 (en) Method and apparatus for processing video data
KR102500091B1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102608181B1 (ko) 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
KR20210143325A (ko) 비디오/영상 코딩 시스템에서 머지 데이터 신택스의 시그널링 방법 및 장치
KR102496711B1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20220110284A (ko) 머지 후보들의 최대 개수 정보를 포함하는 시퀀스 파라미터 세트를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
JP2023165944A (ja) 同一位置ピクチャに関する情報を含むピクチャヘッダーに基づく画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
WO2019194499A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20210148367A (ko) 인터 예측에 기반한 영상 코딩 방법 및 장치
RU2803197C1 (ru) Способ и устройство для кодирования/декодирования изображений на основе субкадров и способ для передачи потока битов
KR102634644B1 (ko) 양방향 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
KR102634643B1 (ko) 양방향 예측의 가중치 인덱스를 유도하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
RU2787882C2 (ru) Способ и устройство для обработки сигналов видео с использованием интер-предсказания
KR20220115971A (ko) 리프 노드의 재설정된 예측 모드 타입에 기반하여 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231226

R150 Certificate of patent or registration of utility model

Ref document number: 7412615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150