JP7157152B2 - 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置 - Google Patents

画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置 Download PDF

Info

Publication number
JP7157152B2
JP7157152B2 JP2020521286A JP2020521286A JP7157152B2 JP 7157152 B2 JP7157152 B2 JP 7157152B2 JP 2020521286 A JP2020521286 A JP 2020521286A JP 2020521286 A JP2020521286 A JP 2020521286A JP 7157152 B2 JP7157152 B2 JP 7157152B2
Authority
JP
Japan
Prior art keywords
block
motion vector
affine
current block
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020521286A
Other languages
English (en)
Other versions
JP2021502729A (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 JP2021502729A publication Critical patent/JP2021502729A/ja
Priority to JP2022161687A priority Critical patent/JP7404481B2/ja
Application granted granted Critical
Publication of JP7157152B2 publication Critical patent/JP7157152B2/ja
Priority to JP2023209973A priority patent/JP2024019527A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/527Global motion vector estimation
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes

Landscapes

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

Description

本文書は、画像コーディング技術に関し、より詳細には、画像コーディングシステムでサブブロック単位の動き情報の導出のための動き候補リストを使用する動き予測(motion prediction)に基づく画像コーディング方法及び装置に関する。
最近、4K又は8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど既存の画像/ビデオデータに比べて相対的に送信される情報量又はビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを伝送するか、既存の保存媒体を利用して画像/ビデオデータを保存する場合、伝送費用と保存費用が増加する。
また、最近、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの没入型メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように現実の画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
これに伴って、前記のような多様な特性を有する高解像度高品質の画像/ビデオの情報を効果的に圧縮して送信したり保存し、再生するために高効率の画像/ビデオの圧縮技術が要求される。
本文書の技術的課題は、画像コーディングの効率を高める方法及び装置を提供することにある。
本文書の別の技術的課題は、CPに対する候補動きベクトルが全て可用な場合にのみ、周辺ブロックに基づいてコンストラクテッドアフィンMVP候補を導出し、前記現在のブロックのアフィンMVP候補リストを構成し、構成されたアフィンMVP候補リストに基づいて、前記現在のブロックに対する予測を行う画像デコーディング方法及び装置を提供することにある。
本文書の別の技術的課題は、可用な継承されたアフィンMVP候補及びコンストラクテッドアフィンMVP候補の個数が、MVP候補リストの候補の個数が最大の個数よりも小さい場合に、追加されたアフィンMVP候補として前記コンストラクテッドアフィンMVP候補の導出過程で、導出された候補動きベクトルを使用してアフィンMVP候補を導出し、構成されたアフィンMVP候補リストに基づいて、前記現在のブロックに対する予測を行う画像デコーディング方法及び装置を提供することにある。
本文書の一実施例にかかる、デコーディング装置によって行われる画像デコーディング方法は、ビットストリームから現在のブロックに対する動き予測情報(motion prediction information)を獲得する段階と、前記現在のブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補リストを構成する段階と、前記アフィンMVP候補リストに基づいて、前記現在のブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出する段階と、前記動き予測情報に基づいて、前記現在のブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出する段階と、前記CPMVP及び前記CPMVDに基づいて、前記現在のブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導出する段階と、前記CPMVに基づいて、前記現在のブロックに対する予測サンプルを導出する段階と、前記導出された予測サンプルに基づいて、前記現在のブロックに対する復元ピクチャを生成する段階とを含み、前記アフィンMVP候補リストを構成する段階は、第1のアフィンMVP候補が可用であるかチェックし、前記第1のアフィンMVP候補は、左側のブロックグループ内の第1のブロックがアフィン動きモデルでコーティングされ、前記第1のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であると可用な段階と、第2のアフィンMVP候補が可用であるかチェックし、前記第2のアフィンMVP候補は、上側のブロックグループ内の第2のブロックがアフィン動きモデルでコーティングされ、前記第2のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であると可用な段階と、前記可用なアフィンMVP候補の個数が2個よりも小さいと、第3のアフィンMVP候補が可用であるかチェックし、前記第3のアフィンMVP候補は、インター予測に4パラメータアフィンモデルが適用される場合、前記現在のブロックのCP0に対する第1の動きベクトル及び前記現在のブロックのCP1に対する第2の動きベクトルが前記現在のブロックの左上段のブロックグループ及び前記現在のブロックの右上段のブロックグループから各々導出されると可用であり、前記インター予測に6パラメータアフィンモデルが適用される場合、前記現在のブロックのCP0に対する第1の動きベクトル、前記現在のブロックのCP1に対する第2の動きベクトル、及び前記現在のブロックのCP2に対する第3の動きベクトルが、前記現在のブロックの左上段のブロックグループ、前記現在のブロックの右上段のブロックグループ、及び前記左側のブロックグループから各々導出されると可用な段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記第1の動きベクトルが可用であると、第4のアフィンMVP候補を導出し、前記第4のアフィンMVP候補は前記CP0に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補である段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記第2の動きベクトルが可用であると、第5のアフィンMVP候補を導出し、前記第5のアフィンMVP候補は、前記CP1に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補である段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記現在のブロックのCP2に対する第3の動きベクトルが可用であると、第6のアフィンMVP候補を導出し、前記第6のアフィンMVP候補は、前記第3の動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補である段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記現在のブロックの時間的周辺ブロックに基づいて導出された時間的MVP候補が可用であると、前記時間的MVPを前記CPに対する候補動きベクトルで含む第7のアフィンMVP候補を導出する段階と、前記可用なアフィンMVP候補の個数が2個よりも小さい場合、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルで含む第8のアフィン候補を導出する段階とを含むことができる。
本文書の一実施例にかかる、エンコーディング装置によって行われる画像エンコーディング方法は、現在のブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補リストを構成する段階と、前記アフィンMVP候補リストに基づいて、前記現在のブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出する段階と、前記現在のブロックの前記CPに対するCPMVを導出する段階と、前記CPMVP及び前記CPMVに基づいて、前記現在のブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出する段階と、前記CPMVDに対する情報を含む動き予測情報(motion prediction information)をエンコーディングする段階とを含み、前記アフィンMVP候補リストを構成する段階は、第1のアフィンMVP候補が可用であるかチェックし、前記第1のアフィンMVP候補は、左側のブロックグループ内の第1のブロックがアフィン動きモデルでコーディングされ、前記第1のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であると可用な段階と、第2のアフィンMVP候補が可用であるかチェックし、前記第2のアフィンMVP候補は、上側のブロックグループ内の第2のブロックがアフィン動きモデルでコーディングされ、前記第2のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であると可用な段階と、前記可用なアフィンMVP候補の個数が2個よりも小さいと、第3のアフィンMVP候補が可用であるかチェックし、前記第3のアフィンMVP候補は、インター予測に4パラメータアフィンモデルが適用される場合、前記現在のブロックのCP0に対する第1の動きベクトル及び前記現在のブロックのCP1に対する第2の動きベクトルが前記現在のブロックの左上段のブロックグループ及び前記現在のブロックの右上段のブロックグループから各々導出されると可用であり、前記インター予測に6パラメータアフィンモデルが適用される場合、前記現在のブロックのCP0に対する第1の動きベクトル、前記現在のブロックのCP1に対する第2の動きベクトル、及び前記現在のブロックのCP2に対する第3の動きベクトルが、前記現在のブロックの左上段のブロックグループ、前記現在のブロックの右上段のブロックグループ、及び前記左側のブロックグループから各々導出されると可用な段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記第1の動きベクトルが可用であると、第4のアフィンMVP候補を導出し、前記第4のアフィンMVP候補は、前記CP0に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補である段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記第2の動きベクトルが可用であると、第5のアフィンMVP候補を導出し、前記第5のアフィンMVP候補は、前記CP1に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補である段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記現在のブロックのCP2に対する第3の動きベクトルが可用であると、第6のアフィンMVP候補を導出し、前記第6のアフィンMVP候補は、前記第3の動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補である段階と、前記可用なアフィンMVP候補の個数が2個よりも小さく、前記現在のブロックの時間的周辺ブロックに基づいて導出された時間的MVP候補が可用であると、前記時間的MVPを前記CPに対する候補動きベクトルで含む第7のアフィンMVP候補を導出する段階と、前記可用なアフィンMVP候補の個数が2個よりも小さい場合、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルで含む第8のアフィンMVP候補を導出する段階とを含むことができる。
本文書の一実施例にかかると、全般的な画像/ビデオの圧縮効率を高めることができる。
本文書によると、アフィン動き予測に基づく画像コーディングの効率を高めることができる。
本文書によると、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補のCPに対する候補動きベクトルが全て可用な場合にのみ前記コンストラクテッドアフィンMVP候補を追加することができ、これを介してコンストラクテッドアフィンMVP候補を導出する過程及びアフィンMVP候補リストを構成する過程の複雑度を減らし、コーディングの効率を向上させることができる。
本文書によると、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補を導出する過程で、導出されたCPに対する候補動きベクトルに基づいて更なるアフィンMVP候補を導出することができ、これを介して、アフィンMVP候補リストを構成する過程の複雑度を減らし、コーディングの効率を向上させることができる。
本文書によると、継承されたアフィンMVP候補を導出する過程で、上側の周辺ブロックが現在のCTUに含まれている場合にのみ上側の周辺ブロックを使用し、前記継承されたアフィンMVP候補を導出することができ、これを介して、アフィン予測のためのラインバッファーの保存量を減らすことができ、ハードウェアの費用を最小化することができる。
本文書が適用できるビデオ/画像のコーディングシステムの例を概略的に示す。 本文書が適用できるビデオ/画像のエンコーディング装置の構成を概略的に説明する図である。 本文書が適用できるビデオ/画像のデコーディング装置の構成を概略的に説明する図である。 インター予測ベースのビデオ/画像のエンコーディング方法の例を示す。 インター予測ベースのビデオ/画像のエンコーディング方法の例を示す。 インター予測手続を例示的に示す。 アフィン動きモデルを介して表現される動きを例示的に示す。 3個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。 2個のコントロールポイントに対する動きベクトルが使用される前記アフィン単位の動きモデルを例示的に示す。 アフィン動きモデルに基づいて、サブブロック単位で動きベクトルを誘導する方法を例示的に示す。 前記継承されたアフィン候補を導出するための周辺ブロックを例示的に示す。 前記コンストラクテッドアフィン候補に対する空間的候補を例示的に示す。 アフィンMVPリストを構成する一例を例示的に示す。 前記コンストラクテッド候補を導出する一例を示す。 前記コンストラクテッド候補を導出する一例を示す。 継承されたアフィン候補を導出するためにスキャニングされる周辺ブロックの位置を例示的に示す。 継承されたアフィン候補を導出するためにスキャニングされる周辺ブロックの位置を例示的に示す。 継承されたアフィン候補を導出するために位置を例示的に示す。 現在のブロックのマージ候補リストを構成する一例を示す。 本文書の一実施例にかかるコンストラクテッド候補を導出するための前記現在のブロックの周辺ブロックを示す。 前記現在のブロックに4アフィン動きモデルが適用される場合に、前記コンストラクテッド候補を導出する一例を示す。 前記現在のブロックに6アフィン動きモデルが適用される場合に、前記コンストラクテッド候補を導出する一例を示す。 前記継承されたアフィン候補を導出する実施例を例示的に示す。 前記継承されたアフィン候補を導出する実施例を例示的に示す。 本文書によるエンコーディング装置による画像エンコーディング方法を概略的に示す。 本文書による画像エンコーディング方法を行うエンコーディング装置を概略的に示す。 本文書によるデコーディング装置による画像デコーディング方法を概略的に示す。 本文書による画像デコーディング方法を行うデコーディング装置を概略的に示す。 本文書に開示の実施例が適用できるコンテンツストリーミングシステムの構造図を例示的に示す。
本文書は、様々な変更を加えることができ、様々な実施例を有することができるので、特定の実施例を図に例示し、詳細に説明しようとする。しかし、これは、本文書を特定の実施例に限定しようとするわけではない。本明細書で常用する用語は、単に特定の実施例を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図に使用されるものではない。単数の表現は、文脈上明らかに異なる意味ではない限り、複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の異なる特徴や、数字、段階、動作、構成要素、部品又はこれらを組み合わせたものの存在又は付加の可能性を予め排除しないものと理解されるべきである。
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立して示すものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するのではない。例えば、各構成のうち、2つ以上の構成が合わせて1つの構成をなすこともあり、1つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施例も、本文書の本質から外れない限り、本文書の権利範囲に含まれる。
以下、添付図を参照として、本文書の好ましい実施例をより詳細に説明しようとする。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複した説明は省略され得る。
図1は、本文書が適用できるビデオ/画像のコーディングシステムの例を概略的に示す。
図1を参照すると、ビデオ/画像のコーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコーディングされたビデオ(video)/画像(image)の情報又はデータをファイル又はストリーミングの形態でデジタル保存媒体又はネットワークを介して、受信デバイスに伝達できる。
前記ソースデバイスは、ビデオソース、エンコーディング装置、送信部を含むことができる。前記受信デバイスは、受信部、デコーディング装置、及びレンダラーを含むことができる。前記エンコーディング装置は、ビデオ/画像のエンコーディング装置と呼ばれ、前記デコーディング装置は、ビデオ/画像のデコーディング装置と呼ばれる。送信機はエンコーディング装置に含まれ得る。受信機はデコーディング装置に含まれ得る。レンダラーはディスプレイ部を含んでもよく、ディスプレイ部は別のデバイス又は外部コンポーネントで構成されてもよい。
ビデオソースは、ビデオ/画像のキャプチャー、合成又は生成過程等を介してビデオ/画像を獲得することができる。ビデオソースは、ビデオ/画像のキャプチャーデバイス及び/又はビデオ/画像の生成デバイスを含むことができる。ビデオ/画像のキャプチャーデバイスは、例えば、1つ以上のカメラ、以前にキャプチャーされたビデオ/画像を含むビデオ/画像のアーカイブ等を含むことができる。ビデオ/画像の生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォン等を含むことができ(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータ等を介して仮想のビデオ/画像が生成でき、この場合、関連データが生成される過程にビデオ/画像のキャプチャー過程に代えることができる。
エンコーディング装置は、入力ビデオ/画像をエンコーディングすることができる。エンコーディング装置は、圧縮及びコーディングの効率のために予測、変換、量子化等一連の手続を行うことができる。エンコーディングされたデータ(エンコーディングされたビデオ/画像情報)は、ビットストリーム(bitstream)の形態で出力されることができる。
送信部は、ビットストリームの形態で出力されたエンコーディングされたビデオ/画像情報又はデータをファイル又はストリーミングの形態でデジタル保存媒体又はネットワークを介して、受信デバイスの受信部に伝達することができる。デジタル保存媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSD等多様な保存媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出し、デコーディング装置に伝達することができる。
デコーディング装置は、エンコーディング装置の動作に対応する逆量子化、逆変換、予測等一連の手続を行い、ビデオ/画像をデコーディングすることができる。
レンダラーは、デコーディングされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像はディスプレイ部を介してディスプレイされることができる。
この文書は、ビデオ/画像のコーディングに関する。例えば、この文書に開示された方法/実施例は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)又は次世代ビデオ/画像のコーディング標準(例えば、H.267又はH.268等)に開示される方法に適用されることができる。
この文書では、ビデオ/画像のコーディングに関する多様な実施例を提示し、別の言及がない限り、前記実施例は互いに組み合わせて行うこともある。
この文書で、ビデオ(video)は、時間の流れによる一連の画像(image)の集合を意味し得る。ピクチャ(picture)は、一般的に特定の時間帯の1つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。1つのピクチャは、1つ以上のタイルグループで構成されることができる。1つのタイルグループは、1つ以上のタイルを含むことができる。ブリックは、ピクチャ内タイル以内のCTU行の四角領域を示すことができる(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは、多数のブリックにパーティショニングされることができ、各ブリックは、前記タイル内の1つ以上のCTU行で構成されることができる(A tile may be partitioned into multiple bricks,each of which consisting of one or more CTU rows within the tile)。多数のブリックにパーティショニングされていないタイルは、ブリックとも呼ばれる(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示すことができ、前記CTUはブリック内でCTUラスタースキャンに整列されることができ、タイル内のブリックは前記タイルの前記ブリックのラスタースキャンに連続的に整列されることができ、また、ピクチャ内タイルは、前記ピクチャの前記タイルのラスタースキャンに連続的に整列されることができる(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick,bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile,and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。タイルは、特定のタイル列及び特定のタイル列以内のCTUの四角領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの四角領域であり、前記四角領域は、前記ピクチャの高さと同一の高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示されることができる(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行はCTUの四角領域であり、前記四角領域はピクチャパラメータセット内のシンタックス要素によって明示される幅を有し、高さは前記ピクチャの高さと同一であり得る(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示すことができ、前記CTUはタイル内のCTUラスタースキャンに連続的に整列されることができ、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタースキャンに連続的に整列されることができる(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスはピクチャの整数個のブリックを含んでもよく、前記整数個のブリックは、1つのNALユニットに含んでもよい(A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit)。スライスは多数の完全なタイルで構成されてもよく、若しくは1つのタイルの完全なブリックの連続的なシーケンスであってもよい(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書でタイルグループとスライスは混用されてもよい。例えば、本文書で、tile group/tile group headerは、slice/slice headerと呼ばれる。
ピクセル(pixel)又はペル(pel)は、1つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的にピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び該当領域に関する情報のうち少なくとも一つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb,cr)ブロックを含むことができる。ユニットは、場合によってブロック(block)又は領域(area)等の用語と混用して使用されてもよい。一般的な場合、MxNのブロックはM個の列とN個の行とからなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)の集合(又はアレイ)を含むことができる。
この文書で、「/」と「、」は、「及び/又は」と解釈される。例えば、「A/B」は「A及び/又はB」と解釈され、「A、B」は「A及び/又はB」と解釈される。さらに、「A/B/C」は、「A、B及び/又はCのうち少なくとも一つ」を意味する。また、「A、B、C」も「A、B及び/又はCのうち少なくとも一つ」を意味する。(In this document,the term “/” and “,” should be interpreted to indicate “and/or.” For instance,the expression “A/B” may mean “A and/or B.” Further、“A,B” may mean “A and/or B.” Further, “A/B/C” may mean “at least one of A,B,and/or C.”Also, “A/B/C” may mean “at least one of A,B,and/or C.”)
さらに、本文書で、「又は」は「及び/又は」と解釈される。例えば、「A又はB」は、1)「A」のみを意味し、2)「B」のみを意味するか、3)「A及びB」を意味することができる。異なって表現すると、本文書の「又は」は「更に又は代わりに(additionally or alternatively)」を意味することができる。(Further,in the document,the term “or” should be interpreted to indicate “and/or.” For instance,the expression “A or B” may comprise 1)only A,2)only B,and/or 3)both A and B. In other words,the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
図2は、本文書が適用できるビデオ/画像のエンコーディング装置の構成を概略的に説明する図である。以下、ビデオのエンコーディング装置というのは、画像のエンコーディング装置を含むことができる。
図2を参照すると、エンコーディング装置200は、画像分割部(image partitioner)210、予測部(predictor)220、残差処理部(residual processor)230、エントロピーエンコーディング部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を含んで構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を含むことができる。残差処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を含むことができる。残差処理部230は、減算部(subtractor)231を更に含むことができる。加算部250は、復元部(reconstructor)又は復元ブロック生成部(recontructged block generator)と呼ばれる。前述した画像分割部210、予測部220、残差処理部230、エントロピーエンコーディング部240、加算部250、及びフィルタリング部260は、実施例にかかって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセット又はプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を含むことができ、デジタル保存媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部のコンポーネントにさらに含むこともできる。
画像分割部210はエンコーディング装置200に入力された入力画像(又は、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)又は最大のコーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって、再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリー構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリー構造が後に適用され得る。或いは、バイナリツリー構造が先に適用されることもある。これ以上分割されない最終のコーディングユニットに基づいて、本文書によるコーディング手続が行われる。この場合、画像の特性によるコーディングの効率等に基づいて、最大のコーディングユニットが直ぐに最終のコーディングユニットとして使用されることができ、或いは必要に応じて、コーディングユニットは再帰的に(recursively)より下位デプスのコーディングユニットに分割され、最適のサイズのコーディングユニットが最終のコーディングユニットとして使用されることができる。ここで、コーディング手続というのは、後述する予測、変換、及び復元などの手続を含むことができる。別の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)をさらに含むことができる。この場合、前記予測ユニット及び前記変換ユニットは、各々前述した最終のコーディングユニットから分割又はパーティショニングされることができる。前記予測ユニットはサンプル予測の単位であってもよく、前記変換ユニットは変換係数を誘導する単位及び/又は変換係数から残差信号(residual signal)を誘導する単位であってもよい。
ユニットは、場合によって、ブロック(block)又は領域(area)等の用語と混用して使用してもよい。一般的な場合、MxNのブロックはM個の列とN個の行とからなるサンプル又は変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセル又はピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すこともでき、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(又は画像)をピクセル(pixel)又はペル(pel)に対応する用語として使用されることができる。
エンコーディング装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)でインター予測部221又はイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して残差信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成された残差信号は変換部232へ送信される。この場合、示すように、エンコーダ200内で入力画像信号(原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれる。予測部は、処理対象のブロック(以下、現在のブロックという)に対する予測を行い、前記現在のブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在のブロック又はCU単位でイントラ予測が適用されるか、若しくはインター予測が適用されるか決定できる。予測部は、各予測モードに対する説明で後述するように、予測モード情報等の予測に関する多様な情報を生成してエントロピーエンコーディング部240に伝達することができる。予測に関する情報は、エントロピーエンコーディング部240でエンコーディングされ、ビットストリームの形態で出力されることができる。
イントラ予測部222は、現在のピクチャ内のサンプルを参照して現在のブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在のブロックの周辺(neighbor)に位置してもよく、或いは離れて位置してもよい。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細密な程度によって、例えば、33個の方向性予測モード又は65個の方向性予測モードを含むことができる。但し、これは例示であって、設定によってそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部222は、周辺ブロックに適用された予測モードを用いて、現在のブロックに適用される予測モードを決定することもできる。
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づき、現在のブロックに対する予測されたブロックを誘導することができる。この際、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在のブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。 前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)の情報を更に含むことができる。インター予測の場合に、周辺ブロックは、現在のピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間的周辺ブロックを含む参照ピクチャとは同一であってもよく、異なってもよい。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)等の名称で呼ばれ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)とも呼ばれる。例えば、インター予測部221は、周辺ブロックに基づいて動き情報の候補リストを構成し、前記現在のブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われ、例えば、スキップモードとマージモードの場合に、インター予測部221は周辺ブロックの動き情報を現在のブロックの動き情報として利用することができる。スキップモードの場合、マージモードと異なり、残差信号が送信されなくてもよい。きベクトル予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用し、動きベクトル差分(motion vector difference)をシグナリングすることによって、現在のブロックの動きベクトルを指示することができる。
予測部220は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は1つのブロックに対する予測のためにイントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)予測モードに基づいてもよく、又はパレットモード(palette mode)に基づいてもよい。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)等のようにゲーム等のコンテンツ画像/動画のコーディングのために使用されることができる。IBCは、基本的に現在のピクチャ内で予測を行うが、現在のピクチャ内で参照ブロックを導出する点で、インター予測と同様に行われる。即ち、IBCは、本文書で説明されるインター予測技法のうち少なくとも一つを利用することができる。パレットモードは、イントラコーディング又はイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
前記予測部(インター予測部221及び/又は前記イントラ予測部222含む)を介して生成された予測信号は、復元信号を生成するために利用されるか、残差信号を生成するために利用されることができる。変換部232は、残差信号に変換技法を適用して、変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、
Figure 0007157152000001
、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)のうち少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するという際に、このグラフから得られた変換を意味する。CNTは以前に復元された全てのピクセル(all previously reconstructed pixel)を利用して予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換過程は正方形の同じサイズを有するピクセルブロックに適用されてもよく、正方形ではない可変サイズのブロックにも適用されてもよい。
量子化部233は、変換係数を量子化してエントロピーエンコーディング部240に送信され、エントロピーエンコーディング部240は、量子化された信号(量子化された変換係数に関する情報)をエンコーディングしてビットストリームに出力することができる。前記量子化された変換係数に関する情報は残差情報と呼ばれる。量子化部233は係数のスキャン順序(scan order)に基づいてブロックの形態の量子化された変換係数を1次元のベクトルの形態で再整列することができ、前記1次元のベクトルの形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコーディング部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)等のような多様なエンコーディング方法を行うことができる。エントロピーエンコーディング部240は、量子化された変換係数以外のビデオ/イメージの復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共に、又は別にエンコーディングすることもできる。エンコーディングされた情報(例えば、エンコーディングされたビデオ/画像の情報)は、ビットストリームの形態でNAL(network abstraction layer)ユニット単位で送信又は保存されることができる。前記ビデオ/画像の情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)等の多様なパラメータセットに関する情報を更に含むことができる。また、前記ビデオ/画像の情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書で、エンコーディング装置からデコーディング装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像の情報に含まれ得る。前記ビデオ/画像の情報は、前述したエンコーディング手続を介してエンコーディングされ、前記ビットストリームに含まれる。前記ビットストリームは、ネットワークを介して送信されることができ、又はデジタル保存媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網等を含むことができ、デジタル保存媒体はUSB、SD、CD、DVD、ブルーレイ、HDD、SSD等の多様な保存媒体を含むことができる。エントロピーエンコーディング部240から出力された信号は、送信する送信部(図示せず)及び/又は保存する保存部(図示せず)がエンコーディング装置200の内/外部のエレメントとして構成されてもよく、又は送信部はエントロピーエンコーディング部240に含まれてもよい。
量子化部233から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによって、残差信号(残差ブロック又は残差サンプル)を復元することができる。加算部155は、復元された残差信号をインター予測部221又はイントラ予測部222から出力された予測信号に加えることによって、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成できる。スキップモードが適用された場合のように、処理対象のブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用できる。加算部250は、復元部又は復元ブロック生成部と呼ばれる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャエンコーディング及び/又は復元過程で、LMCS(luma mapping with chroma scaling)が適用されることもある。
フィルタリング部260は、復元信号にフィルタリングを適用し、主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的にメモリ270のDPBに保存することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)等を含むことができる。フィルタリング部260は、各フィルタリング方法に関する説明で後述するように、フィルタリングに関する多様な情報を生成してエントロピーエンコーディング部240へ伝達することができる。フィルタリング関する情報は、エントロピーエンコーディング部240でエンコーディングされてビットストリームの形態で出力されることができる。
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコーディング装置はこれを介して、インター予測が適用される場合、エンコーディング装置100とデコーディング装置での予測ミスマッチを避けることができ、符号化の効率も向上させることができる。
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために保存することができる。メモリ270は、現在のピクチャ内の動き情報が導出された(又はエンコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するためにインター予測部221に伝達することができる。メモリ270は、現在のピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部222に伝達することができる。
図3は、本文書が適用できるビデオ/画像のデコーディング装置の構成を概略的に説明する図である。
図3を参照すると、デコーディング装置300は、エントロピーデコーディング部(entropy decoder)310、残差処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を含んで構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を含むことができる。残差処理部320は、逆量子化部(dequantizer)321、及び逆変換部(inverse transformer)321を含むことができる。前述したエントロピーデコーディング部310、残差処理部320、予測部330、加算部340、及びフィルタリング部350は、実施例にかかって1つのハードウェアコンポーネント(例えば、デコーダチップセット又はプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を含むことができ、デジタル保存媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部のコンポーネントにさらに含むこともできる。
ビデオ/画像の情報を含むビットストリームが入力されると、デコーディング装置300は、図2のエンコーディング装置でビデオ/画像の情報が処理されたプロセスに対応し、画像を復元することができる。例えば、デコーディング装置300は、前記ビットストリームから獲得したブロック分割に関する情報に基づいてユニット/ブロックを導出することができる。デコーディング装置300は、エンコーディング装置で適用された処理ユニットを利用してデコーディングを行うことができる。従って、デコーディングの処理ユニットは、例えば、コーディングユニットであってもよく、コーディングユニットはコーディングツリーユニット又は最大のコーディングユニットからクアッドツリー構造、バイナリツリー構造及び/又はターナリーツリー構造に従って分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出できる。また、デコーディング装置300を介してデコーディング及び出力された復元画像信号は再生装置を介して再生されることができる。
デコーディング装置300は、図2のエンコーディング装置から出力された信号をビットストリームの形態で受信することができ、受信された信号はエントロピーデコーディング部310を介してデコーディングされることができる。例えば、エントロピーデコーディング部310は、前記ビットストリームをパーシングして画像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/画像の情報)を導出することができる。前記ビデオ/画像の情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)等多様なパラメータセットに関する情報を更に含むことができる。また、前記ビデオ/画像の情報は、一般制限情報(general constraint information)を更に含むことができる。デコーディング装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコーディングすることができる。本文書で後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコーディング手続を介してデコーディングされ、前記ビットストリームから獲得されることができる。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLC又はCABAC等のコーディング方法に基づいてビットストリーム内の情報をデコーディングし、画像の復元に必要なシンタックス要素の値、残差に関する変換係数の量子化された値を出力することができる。より詳細に、CABACエントロピーデコーディング方法は、ビットストリームで各構文要素に該当するビンを受信し、デコーディング対象の構文要素情報と周辺及びデコーディング対象のブロックのデコーディング情報、又は以前段階でデコーディングされたシンボル/ビンの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってビン(bin)の発生確率を予測し、ビンの算術デコーディング(arithmetic decoding)を行い、各構文要素の値に該当するシンボルを生成することができる。この際、CABACエントロピーデコーディング方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのためにデコーディングされたシンボル/ビンの情報を利用してコンテキストモデルをアップデートすることができる。エントロピーデコーディング部310でデコーディングされた情報のうちの予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコーディング部310でエントロピーデコーディングが行われた残差値、即ち、量子化された変換係数及び関連のパラメータ情報は、残差処理部320に入力されることができる。残差処理部320は、残差信号(残差ブロック、残差サンプル、残差サンプルアレイ)を導出することができる。また、エントロピーデコーディング部310でデコーディングされた情報のうちのフィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコーディング装置から出力された信号を受信する受信部(図示せず)がデコーディング装置300の内/外部のエレメントとしてさらに構成されることができ、又は受信部はエントロピーデコーディング部310の構成要素であってもよい。一方、本文書によるデコーディング装置はビデオ/画像/ピクチャのデコーディング装置と呼ばれ、前記デコーディング装置は、情報デコーダ(ビデオ/画像/ピクチャの情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャのサンプルデコーダ)と区分してもよい。前記情報デコーダは、前記エントロピーデコーディング部310を含んでもよく、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち少なくとも一つを含んでもよい。
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロックの形態で再整列することができる。この場合、前記再整列は、エンコーディング装置で行われた係数のスキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を獲得することができる。
逆変換部322では、変換係数を逆変換して残差信号(残差ブロック、残差サンプルアレイ)を獲得することになる。
予測部は、現在のブロックに対する予測を行い、前記現在のブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコーディング部310から出力された前記予測に関する情報に基づいて、前記現在のブロックにイントラ予測が適用されるか、又はインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定することができる。
予測部320は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)予測モードに基づくこともあり、又はパレットモード(palette mode)に基づくこともある。前記IBC予測モード又はパレットモードは、例えば、SCC(screen content coding)等のようにゲーム等のコンテンツの画像/動画のコーディングのために使用されることができる。IBCは、基本的に現在のピクチャ内で予測を行うが、現在のピクチャ内で参照ブロックを導出する点で、インター予測と同様に行われる。即ち、IBCは、本文書で説明されるインター予測技法のうち少なくとも一つを利用することができる。パレットモードは、イントラコーディング又はイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像の情報に含まれてシグナリングされることができる。
イントラ予測部331は、現在のピクチャ内のサンプルを参照して現在のブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在のブロックの周辺(neighbor)に位置してもよく、又は離れて位置してもよい。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。イントラ予測部331は、周辺ブロックに適用された予測モードを利用して、現在のブロックに適用される予測モードを決定することもできる。
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づき、現在のブロックに対する予測されたブロックを誘導することができる。この際、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在のブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)の情報をさらに含むことができる。インター予測の場合に、周辺ブロックは現在のピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部332は、周辺ブロックに基づいて動き情報の候補リストを構成し、受信した候補選択情報に基づいて、前記現在のブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。多様な予測モードに基づいてインター予測が行われ、前記予測に関する情報は、前記現在のブロックに対するインター予測のモードを指示する情報を含むことができる。
加算部340は、獲得された残差信号を予測部(インター予測部332及び/又はイントラ予測部331含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることによって、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象のブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用できる。
加算部340は、復元部又は復元ブロック生成部と呼ばれる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることもあり、又は次のピクチャのインター予測のために使用されることもある。
一方、ピクチャのデコーディング過程でLMCS(luma mapping with chroma scaling)が適用されることもある。
フィルタリング部350は、復元信号にフィルタリングを適用し、主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用し、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的にメモリ360のDPBに送信することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)等を含むことができる。
メモリ360のDPBに保存された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在のピクチャ内の動き情報が導出された(又はデコーディングされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間的周辺ブロックの動き情報又は時間的周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在のピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部331に伝達できる。
本明細書で、エンコーディング装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施例は、各々デコーディング装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一又は対応するように適用されることができる。
前述したように、ビデオコーディングを行うにあたって、圧縮効率を高めるために予測を行う。これを介して、コーディング対象のブロックである現在のブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(又はピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同様に導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値そのものではなく、前記原本ブロックと前記予測されたブロック間の残差に対する情報(残差情報)をデコーディング装置にシグナリングすることで、画像のコーディング効率を高めることができる。デコーディング装置は、前記残差情報に基づいて残差サンプルを含む残差ブロックを導出し、前記残差ブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
前記残差情報は、変換及び量子化手続を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロック間の残差ブロックを導出し、前記残差ブロックに含まれた残差サンプル(残差サンプルアレイ)に変換手続を行って変換係数を導出し、前記変換係数に量子化手続を行って量子化された変換係数を導出し、関連する残差情報を(ビットストリームを介して)デコーディング装置にシグナリングできる。ここで、前記残差情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータ等の情報を含むことができる。デコーディング装置は、前記残差情報に基づいて逆量子化/逆変換 手続を行い、残差サンプル(又は残差ブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記残差ブロックに基づいて復元ピクチャを生成することができる。エンコーディング装置は、また以降のピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換して残差ブロックを導出し、これに基づいて復元ピクチャを生成することができる。
インター予測が適用される場合、エンコーディング装置/デコーディング装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在のピクチャ以外のピクチャのデータ要素(例えば、サンプル値、又は動き情報等)に依存的な方法で導出される予測を示すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(e.g.,sample values or motion information) of picture(s) other than the current picture)。現在のブロックにインター予測が適用される場合、参照ピクチャインデックスの指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在のブロックに対する予測されたブロック(予測サンプルアレイ)を誘導することができる。この際、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在のブロックとの間の動き情報の相関性に基づいて、現在のブロックの動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測タイプ(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)はシグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の和を利用し、前記現在のブロックの動きベクトルを導出することができる。
インター予測に基づくビデオ/画像のエンコーディング手続は、概略的に、例えば、次を含むことができる。
図4は、インター予測ベースのビデオ/画像のエンコーディング方法の例を示す。
エンコーディング装置は、現在のブロックに対するインター予測を行う(S400)。エンコーディング装置は、現在のブロックのインター予測モード及び動き情報を導出し、前記現在のブロックの予測サンプルを生成することができる。ここで、インター予測モードの決定、動き情報の導出、及び予測サンプルの生成手続は、同時に行われてもよく、いずれかの手続が他の手続より先に行われてもよい。例えば、エンコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で前記現在のブロックに対する予測モードを決定し、動き情報導出部から前記現在のブロックの動き情報を導出し、予測サンプル導出部から前記現在のブロックの予測サンプルを導出することができる。例えば、エンコーディング装置のインター予測部は、動き推定(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モードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報構成され、別に前記デコーディング装置にシグナリングされることができる。
エンコーディング装置は、前記予測サンプルに基づいて残差サンプルを導出することができる(S410)。エンコーディング装置は、前記現在のブロックの原本サンプルと前記予測サンプルとの比較を通じて、前記残差サンプルを導出することができる。
エンコーディング装置は、予測情報及び残差情報を含む画像情報をエンコーディングする(S420)。エンコーディング装置は、エンコーディングされた画像情報をビットストリームの形態で出力することができる。前記予測情報は、前記予測手続に関する情報として、予測モード情報(例えば、スキップフラグ、マージフラグ、又はモードインデックス等)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、マージインデックス、mvpフラグ、又はmvpインデックス)を含むことができる。また、前記動き情報に関する情報は、前述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。さらに、前記動き情報に関する情報は、L0予測、L1予測、又は双(bi)予測が適用されるか否かを示す情報を含むことができる。前記残差情報は、前記残差サンプルに関する情報である。前記残差情報は、前記残差サンプルに対する量子化された変換係数に関する情報を含むことができる。
出力されたビットストリームは、(デジタル)保存媒体に保存されてデコーディング装置に伝達されることができ、又はネットワークを介してデコーディング装置に伝達されることもできる。
一方、前述したように、エンコーディング装置は、前記参照サンプル及び前記残差サンプルに基づいて、復元ピクチャ(復元サンプル及び復元ブロック含む)を生成することができる。これは、デコーディング装置で行われるものと同一の予測結果をエンコーディング装置から導出するためであり、これを介して、コーディングの効率を高めることができるためである。従って、エンコーディング装置は、復元ピクチャ(又は復元サンプル、復元ブロック)をメモリに保存し、インター予測のための参照ピクチャとして活用できる。前記復元ピクチャにインループフィルタリング手続等がさらに適用できることは前述した通りである。
インター予測に基づくビデオ/画像のデコーディング手続は、概略的に、例えば、次を含むことができる。
図5は、インター予測ベースのビデオ/画像のデコーディング方法の例を示す。
図5を参照すると、デコーディング装置は前記エンコーディング装置で行われた動作と対応する動作を行うことができる。デコーディング装置は受信された予測情報に基づいて現在のブロックに予測を行い、予測サンプルを導出することができる。
具体的に、デコーディング装置は受信された予測情報に基づいて、前記現在のブロックに対する予測モードを決定することができる(S500)。デコーディング装置は、前記予測情報内の予測モード情報に基づいて、前記現在のブロックにどんなインター予測モードが適用されるか決定できる。
例えば、前記マージフラグ(merge flag)に基づいて、前記現在のブロックに前記マージモードが適用されるか、又は(A)MVPモードが決定されるか否かを決定することができる。或いは、前記モードインデックス(mode index)に基づいて、多様なインター予測モードの候補のうち一つを選択することができる。前記インター予測モードの候補は、スキップモード、マージモード及び/又は(A)MVPモードを含んでもよく、又は後述する多様なインター予測モードを含んでもよい。
デコーディング装置は、前記決定されたインター予測モードに基づいて、前記現在のブロックの動き情報を導出する(S510)。例えば、デコーディング装置は、前記現在のブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のうち一つのマージ候補を選択することができる。前記選択は、前述した選択情報(merge index)に基づいて行われる。前記選択されたマージ候補の動き情報を利用し、前記現在のブロックの動き情報が導出できる。前記選択されたマージ候補の動き情報が前記現在のブロックの動き情報として利用されることができる。
別の例として、デコーディング装置は、前記現在のブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち選択されたmvp候補の動きベクトルを前記現在のブロックのmvpとして利用することができる。前記選択は、前述した選択情報(mvp flag or mvp index)に基づいて行われる。この場合、前記MVDに関する情報に基づいて前記現在のブロックのMVDを導出することができ、前記現在のブロックのmvpと前記MVDに基づいて、前記現在のブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて、前記現在のブロックの参照ピクチャインデックスを導出することができる。前記現在のブロックに関する参照ピクチャのリスト内で、前記参照ピクチャインデックスの指すピクチャが前記現在のブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
一方、後述するように、候補リストの構成なしで、前記現在のブロックの動き情報が導出でき、この場合、後述する予測モードで開始された手続によって、前記現在のブロックの動き情報が導出できる。この場合、前述したような候補リストの構成は省略され得る。
デコーディング装置は、前記現在のブロックの動き情報に基づいて、前記現在のブロックに対する予測サンプルを生成することができる(S520)。この場合、前記現在のブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在のブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを利用し、前記現在のブロックの予測サンプルを導出することができる。この場合、後述するように、場合によって前記現在のブロックの予測サンプルのうち全て又は一部に対する予測サンプルのフィルタリング手続がさらに行われる。
例えば、デコーディング装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を含むことができ、予測モード決定部で受信された予測モード情報に基づいて前記現在のブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて、前記現在のブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックス等)を導出し、予測サンプル導出部で前記現在のブロックの予測サンプルを導出することができる。
デコーディング装置は受信された残差情報に基づいて、前記現在のブロックに対する残差サンプルを生成する(S530)。デコーディング装置は、前記予測サンプル及び前記残差サンプルに基づいて前記現在のブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S540)。以降、前記復元ピクチャにインループフィルタリング手続等がさらに適用できることは前述した通りである。
図6は、インター予測手続を例示的に示す。
図6を参照すると、前述したようにインター予測手続は、インター予測モード決定段階、決定された予測モードによる動き情報導出段階、導出された動き情報に基づく予測実行(予測サンプルの生成)段階を含むことができる。前記インター予測手続は、前述したようにエンコーディング装置及びデコーディング装置で行われる。本文書でコーディング装置というのは、エンコーディング装置及び/又はデコーディング装置を含むことができる。
図6を参照すると、コーディング装置は、現在のブロックに対するインター予測モードを決定する(S600)。ピクチャ内の現在のブロックの予測のために多様なインター予測モードが使用できる。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アフィン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モード等多様なモードが使用できる。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight(BCW)、Bi-directional optical flow(BDOF)等が付随的なモードにさらに又は代わりに使用されることができる。アフィンモードは、アフィン動き予測(affine motion prediction)モードとも呼ばれる。MVPモードは、AMVP(advanced motion vector prediction)モードとも呼ばれる。本文書で、一部モード及び/又は一部モードによって導出された動き情報の候補は、他のモードの動き情報に関する候補のうち一つに含まれることもある。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることもあり、又は前記MVPモードのmvp候補として追加されることもある。前記HMVP候補が前記マージモード又はスキップモードの動き情報の候補に使用される場合、前記HMVP候補はHMVPマージ候補と呼ばれる。
現在のブロックのインター予測モードを指す予測モード情報がエンコーディング装置からデコーディング装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコーディング装置に受信されることができる。前記予測モード情報は、多数の候補モードのうち一つを指示するインデックス情報を含むことができる。或いは、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、1つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードの適用可否を指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモードの適用可否を指示し、マージモードが適用されない場合に、MVPモードが適用されるものと指示するか、更なる区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立したモードであって、シグナリングされてもよく、又はマージモード又はMVPモード等に従属的なモードにシグナリングされてもよい。例えば、アフィンモードは、アフィンマージモード及びアフィンMVPモードを含むことができる。
コーディング装置は、前記現在のブロックに対する動き情報を導出する(S610)。 前記動き情報の導出を前記インター予測モードに基づいて導出されることができる。
コーディング装置は、現在のブロックの動き情報を利用してインター予測を行うことができる。エンコーディング装置は、動き推定(motion estimation)手続を介して、現在のブロックに対する最適の動き情報を導出することができる。例えば、エンコーディング装置は、現在のブロックに対する原本ピクチャ内の原本ブロックを利用し、相関性の高い類似の参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これを介して、動き情報を導出することができる。ブロックの類似性は、位相(phase)ベースのサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在のブロック(又は現在のブロックのテンプレート)と参照ブロック(又は参照ブロックのテンプレート)間のSADに基づいて計算されることができる。この場合、探索領域内のSADが最も小さい参照ブロックに基づいて動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて種々の方法によってデコーディング装置にシグナリングされることができる。
コーディング装置は、前記現在のブロックに対する動き情報に基づいてインター予測を行う(S620)。コーディング装置は、前記動き情報に基づいて前記現在のブロックに対する予測サンプルを導出することができる。前記予測サンプルを含む現在のブロックは、予測されたブロックと呼ばれる。
一方、インター予測の場合、画像の歪みを考慮したインター予測方法が提案されている。具体的に、現在のブロックのサブブロック又はサンプルポイントに対する動きベクトルを効率的に導出し、画像の回転、ズームイン又はズームアウト等の変形にもかかわらず、インター予測の正確度を高めるアフィン動きモデルが提案されている。即ち、アフィン動きモデルは、現在のブロックのサブブロック又はサンプルポイントに対する動きベクトルを導出するものであって、前記アフィン動きモデルを使用する予測は、アフィンモーション予測(affine motion prediction)、アフィン動き予測、サブブロック単位の動き予測又はサブブロック動き予測と呼ばれる。
例えば、前記アフィン動きモデルを使用する前記サブブロック動き予測は、後述する内容のように、4つの動き、即ち、後述する内容のような4つの変形を効率的に表現することができる。
図7は、アフィン動きモデルを介して表現される動きを例示的に示す。図7を参照すると、前記アフィン動きモデルを介して表現されることができる動きは並進(translate)動き、スケール(scale)動き、回転(rotate)動き、及びせん断(shear)動きを含むことができる。即ち、図7に示す時間の流れに伴って画像(の一部)が平面移動する並進動きだけでなく、時間の流れに伴って画像(の一部)がスケール(scale)されるスケール動き、時間の流れに伴って画像(の一部)が回転する回転動き、時間の流れに伴って画像(の一部)が平行四辺形変形されるせん断動きを前記サブブロック単位の動き予測を介して効率的に表現することができる。
エンコーディング装置/デコーディング装置は、前記アフィンインター予測を介して現在のブロックのコントロールポイント(control point、CP)での動きベクトルに基づいて前記画像の歪み形態を予測することができ、これを介して、予測の正確度を高めることによって、画像の圧縮性能を向上させることができる。また、前記現在のブロックの周辺ブロックの動きベクトルを利用し、前記現在のブロックの少なくとも一つのコントロールポイントに対する動きベクトルが誘導できるので、追加される付加情報に対するデータ量の負担を減らし、インター予測の効率をかなり向上させることができる。
前記アフィン動き予測の一例として、3個のコントロールポイント、即ち、3個の基準点での動き情報を必要とすることができる。
図8は、3個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。
現在のブロック800内の左上段(top-left)のサンプルの位置(position)を(0,0)とする場合、前記図8に示すように、(0,0)、(w,0)、(0,h)のサンプルポジションを前記コントロールポイントと決めることができる。以下、(0,0)サンプルポジションのコントロールポイントは、CP0、(w,0)のサンプルポジションのコントロールポイントは、CP0、(0,h)のサンプルポジションのコントロールポイントは、CP1と示すことができる。
前述した各コントロールポイントと該当コントロールポイントに対する動きベクトルを利用し、前記アフィン動きモデルに対する数式が導出できる。前記アフィン動きモデルに対する数式は、次のように示すことができる。
Figure 0007157152000002
ここで、wは、前記現在のブロック800の幅(width)を表し、hは、前記現在のブロック800の高さ(height)を表し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、各々CP0の動きベクトルのx成分、y成分を表し、v2x、v2yは、各々CP1の動きベクトルのx成分、y成分を表す。また、xは、前記現在のブロック800内の対象サンプルの位置のx成分を表し、yは、前記現在のブロック800内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在のブロック800内の前記対象サンプルの動きベクトルのx成分、vは、現在のブロック800内の前記対象サンプルの前記動きベクトルのy成分を表す。
前記CP0の動きベクトル、前記CP0の動きベクトル、及び前記CP1の動きベクトルは分かっているので、前記数式1に基づいて現在のブロック内のサンプル位置による動きベクトルが誘導できる。即ち、前記アフィン動きモデルによると、対象サンプルの座標(x,y)と3個のコントロールポイントとの距離比に基づき、前記コントロールポイントでの動きベクトル、v0(v0x,v0y)、v1(v1x,v1y)、v2(v2x,v2y)がスケーリングされ、前記対象サンプルの位置による前記対象サンプルの動きベクトルが導出できる。即ち、前記アフィン動きモデルによると、前記コントロールポイントの動きベクトルに基づいて、前記現在のブロック内の各サンプルの動きベクトルが導出できる。一方、前記アフィン動きモデルによって導出された前記現在のブロック内のサンプルの動きベクトルの集合は、アフィン動きベクトルフィールド(affine Motion Vector Field、MVF)と示せる。
一方、前記数式1に対する6個のパラメータは、次の数式のようにa、b、c、d、e、fで示すことができ、前記6個のパラメータで示した前記アフィン動きモデルに対する数式は、次の通りである。
Figure 0007157152000003
ここで、wは、前記現在のブロック800の幅(width)を表し、hは、前記現在のブロック800の高さ(height)を表し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、各々CP0の動きベクトルのx成分、y成分を表し、v2x、v2yは、各々CP1の動きベクトルのx成分、y成分を表す。また、xは、前記現在のブロック800内の対象サンプルの位置のx成分を表し、yは、前記現在のブロック800内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在のブロック800内の前記対象サンプルの動きベクトルのx成分、vは、現在のブロック800内の前記対象サンプルの前記動きベクトルのy成分を表す。
前記6個のパラメータを使用する前記アフィン動きモデル又は前記アフィンインター予測は、6パラメータアフィン動きモデル又はAF6と示すことができる。
また、前記アフィン動き予測の一例として、2個のコントロールポイント、即ち、2個の基準点での動き情報を必要とすることができる。
図9は、2個のコントロールポイントに対する動きベクトルが使用される前記アフィン単位の動きモデルを例示的に示す。2個のコントロールポイントを使用する前記アフィン動きモデルは、並進動き、スケール動き、回転動きを含む3つの動きを表現することができる。3つの動きを表現する前記アフィン動きモデルは、シミラリティーアフィン動きモデル(similarity affine motion model)又はシンプリファイドアフィン動きモデル(simplified affine motion model)と示すこともできる。
現在のブロック900内の左上段(top-left)のサンプルの位置(position)を(0,0)とする場合、前記図9に示すように、(0,0)、(w,0)のサンプルポジションを前記コントロールポイントと決めることができる。以下、(0,0)のサンプルポジションのコントロールポイントは、CP0、(w,0)のサンプルポジションのコントロールポイントはCP0と示すことができる。
前述した各コントロールポイントと該当コントロールポイントに対する動きベクトルを利用し、前記アフィン動きモデルに対する数式が導出できる。前記アフィン動きモデルに対する数式は次のように示すことができる。
Figure 0007157152000004
ここで、wは、前記現在のブロック900の幅(width)を表し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、各々CP0の動きベクトルのx成分、y成分を表す。また、xは、前記現在のブロック900内の対象サンプルの位置のx成分を表し、yは、前記現在のブロック900内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在のブロック900内の前記対象サンプルの動きベクトルのx成分、vは、現在のブロック900内の前記対象サンプルの前記動きベクトルのy成分を表す。
一方、前記数式3に対する4個のパラメータは、次の数式のようにa、b、c、dで表すことができ、前記4個のパラメータで表した前記アフィン動きモデルに対する数式は次の通りである。
Figure 0007157152000005
ここで、wは、前記現在のブロック900の幅(width)を表し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、各々CP0の動きベクトルのx成分、y成分を表す。また。xは、前記現在のブロック900内の対象サンプルの位置のx成分を表し、yは、前記現在のブロック900内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在のブロック900内の前記対象サンプルの動きベクトルのx成分、vは、現在のブロック900内の前記対象サンプルの前記動きベクトルのy成分を表す。前記2個のコントロールポイントを使用する前記アフィン動きモデルは、前記数式4のように4個のパラメータa、b、c、dで表すことができるので、前記4個のパラメータを使用する前記アフィン動きモデル又は前記アフィン動き予測は、4パラメータアフィン動きモデル又はAF4と表すことができる。即ち、前記アフィン動きモデルによると、前記コントロールポイントの動きベクトルに基づいて、前記現在のブロック内の各サンプルの動きベクトルが導出できる。一方、前記アフィン動きモデルによって導出された前記現在のブロック内のサンプルの動きベクトルの集合は、アフィン動きベクトルフィールド(Motion Vector Field、MVF)と表すことができる。
一方、前述した内容のように、前記アフィン動きモデルを介してサンプル単位の動きベクトルが導出でき、これを介して、インター予測の正確度がかなり向上することができる。但し、この場合、動き補償(motion compensation)過程での複雑度が大きく増加することもある。
よって、サンプル単位の動きベクトルが導出される代わりに、前記現在のブロック内のサブブロック単位の動きベクトルが導出されるように制限できる。
図10は、アフィン動きモデルに基づいてサブブロック単位で動きベクトルを誘導する方法を例示的に示す。図10は、前記現在のブロックのサイズが16×16であり、4×4のサブブロック単位で動きベクトルが誘導される場合を例示的に示す。前記サブブロックは、様々なサイズに設定されることができ、例えば、サブブロックがn×nのサイズ(nは正の整数、例えば、nは4)に設定された場合、前記アフィン動きモデルに基づいて現在のブロック内のn×nのサブブロック単位で動きベクトルが導出でき、各サブブロックを代表する動きベクトルを誘導するための様々な方法が適用できる。
例えば、図10を参照すると、各サブブロックの中心又は中心の右下側(lower right side)のサンプルポジションを代表座標として、各サブブロックの動きベクトルが導出できる。ここで、中心の右下側のポジションというのは、サブブロックの中心に位置する4個のサンプルのうち、右下側に位置するサンプルポジションを示すことができる。例えば、nが奇数である場合、サブブロックの真ん中には一つのサンプルが位置し得、この場合、中心のサンプルポジションが前記サブブロックの動きベクトルの導出のために使用されることができる。しかし、nが偶数である場合、サブブロックの中央には4個のサンプルが隣接するように位置し得、この場合、右下側のサンプルポジションが前記動きベクトルの導出のために使用され得る。例えば、図10を参照すると、各サブブロック別の代表座標は、(2,2)、(6,2)、(10,2)、...(14,14)で導出されることができ、エンコーディング装置/デコーディング装置は、前記サブブロックの代表座標各々を前述した数式1又は3に代入し、各サブブロックの動きベクトルを導出することができる。前記アフィン動きモデルを介して現在のブロック内のサブブロックの動きを予測することをサブブロック単位の動き予測又はサブブロックの動き予測と名付けられ、このようなサブブロックの動きベクトルはMVFと示すことができる。
一方、一例として、前記現在のブロック内のサブブロックのサイズは次のような数式に基づいて導出されることもある。
Figure 0007157152000006
ここで、Mは、サブブロックの幅(width)を表し、Nは、サブブロックの高さ(height)を表す。また、v0x、v0yは、各々前記現在のブロックのCPMV0のx成分、y成分を表し、v1x、v1yは、各々前記現在のブロックのCPMV1のx成分、y成分を表し、wは、前記現在のブロックの幅を表し、hは、前記現在のブロックの高さを表し、MvPreは、動きベクトルの分数精度(motion vector fraction accuracy)を表す。例えば、前記動きベクトルの分数精度は、1/16に設定されることができる。
一方、前述したアフィン動きモデルを使用したインター予測、即ち、アフィン動き予測は、マージモード(merge mode、AF_MERGE)とアフィンインターモード(affine inter mode、AF_INTER)が存在し得る。ここで、前記アフィンインターモードは、アフィンMVPモード(affine motion vector prediction mode、AF_MVP)と示してもよい。
前記アフィン動きモデルを利用したマージモードでは、前記コントロールポイントの動きベクトルに対するMVDを送信しないという側面で、既存のマージモードと類似する。即ち、前記アフィン動きモデルを利用したマージモードは、既存のスキップ(skip)/マージ(merge)モードと同様に、MVD(motion vector difference)に対するコーディングなしに、前記現在のブロックの周辺ブロックから2個または3個のコントロールポイントの各々に対するCPMVを誘導して予測を行うエンコーディング/デコーディング方法を示すことができる。
例えば、前記現在のブロックに前記AF_MRGモードが適用される場合、現在のブロックの周辺ブロックのうち、アフィンモード、即ち、アフィン動き予測を利用した予測モードが適用された周辺ブロックからCP0及びCP0に対するMV(即ち、CPMV0及びCPMV1)が導出できる。つまり、前記アフィンモードが適用された前記周辺ブロックのCPMV0及びCPMV1がマージ候補として導出でき、前記マージ候補が前記現在のブロックに対するCPMV0及びCPMV1で導出できる。
前記アフィンインターモードは、前記コントロールポイントの動きベクトルに対するMVP(motion vector predictor)を導出し、受信されたMVD(motion vector difference)及び前記MVPに基づいて前記コントロールポイントの動きベクトルを導出し、前記コントロールポイントの動きベクトルに基づいて前記現在のブロックのアフィンMVFを導出し、アフィンMVFに基づいて予測を行うインター予測を示すことができる。ここで、前記コントロールポイントの動きベクトルは、CPMV(Control Point Motion Vector)、前記コントロールポイントのMVPは、CPMVP(Control Point Motion Vector Predictor)、前記コントロールポイントのMVDは、CPMVD(Control Point Motion Vector Difference)と示すことができる。具体的に、例えば、エンコーディング装置は、CP0及びCP1(又はCP0、CP1、及びCP2)各々に対するCPMVP(control point point motion vector predictor)とCPMV(control point point motion vector)を導出することができ、前記CPMVPに対する情報及び/又は前記CPMVPとCPMVとの差異値であるCPMVDを送信又は保存することができる。
ここで、現在のブロックに前記アフィンインターモードが適用される場合、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックに基づいてアフィンMVP候補リストを構成することができ、アフィンMVP候補はCPMVPペア(pair)候補と称され、アフィンMVP候補リストはCPMVP候補リストとも称される。
また、各アフィンMVP候補は、4パラメータアフィン動きモデル(foul parameter affine motion model)ではCP0とCP1のCPMVPの組み合わせを意味してもよく、6パラメータアフィン動きモデル(six parameter affine motion model)ではCP0、CP1、及びCP2のCPMVPの組み合わせを意味してもよい。
一方、アフィンインター予測に関して、アフィンMVP候補リストの構成に対して、継承されたアフィン候補(inherited affine candidate)又は継承された候補とコンストラクテッドアフィン候補(constructed affine candidate)が考慮されている。継承された候補とは、異なる変更や組み合わせなく、現在のブロックの周辺ブロックの動き情報、即ち、周辺ブロックのCPMVそのものが現在のブロックの動き候補リストに追加される候補を称することができる。ここで、前記周辺ブロックは、前記現在のブロックの左下側角の周辺ブロックA0、左側の周辺ブロックA1、上側の周辺ブロックB0、右上側角の周辺ブロックB1、及び左上側角の周辺ブロックB2を含むことができる。コンストラクテッドアフィン候補とは、少なくとも二つの周辺ブロックのCPMWの組み合わせにより、現在のブロックのCPMVを構成するアフィン候補を意味する。コンストラクテッドアフィン候補の導出については、下記に詳細に記述する。
ここで、前記継承されたアフィン候補は次の通りである。
例えば、前記現在のブロックの周辺ブロックがアフィンブロックであり、前記現在のブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同一である場合、前記周辺ブロックのアフィン動きモデルから前記現在のブロックのアフィンMVPペアが決定できる。ここで、前記アフィンブロックは、前記アフィンインター予測が適用されたブロックを示すことができる。前記継承されたアフィン候補は、前記周辺ブロックのアフィン動きモデルに基づいて導出されたCPMVP(例えば、前記アフィンMVPペア)を示すことができる。
具体的に、一例として、後述するように前記継承されたアフィン候補が導出できる。
図11は、前記継承されたアフィン候補を導出するための周辺ブロックを例示的に示す。
図11を参照すると、前記現在のブロックの周辺ブロックは前記現在のブロックの左側の周辺ブロックA0、前記現在のブロックの左下側角の周辺ブロックA1、前記現在のブロックの上側の周辺ブロックB0、前記現在のブロックの右上側角の周辺ブロックB1、前記現在のブロックの左上側角の周辺ブロックB2を含むことができる。
例えば、前記現在のブロックのサイズがWxHであり、現在のブロックの左上段(top-left)のサンプルポジションのx成分が0、及びy成分が0である場合、前記左側の周辺ブロックは、(-1,H-1)座標のサンプルを含むブロックであり、前記上側の周辺ブロックは、(W-1,-1)座標のサンプルを含むブロックであり、前記右上側角の周辺ブロックは、(W,-1)座標のサンプルを含むブロックであり、前記左下側角の周辺ブロックは、(-1,H)座標のサンプルを含むブロックであり、前記左上側角の周辺ブロックは、(-1,-1)座標のサンプルを含むブロックであり得る。
エンコーディング装置/デコーディング装置は、周辺ブロックA0、A1、B0、B1及びB2を順次にチェックすることができ、周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在のブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同一である場合、前記周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックの2個のCPMV又は3個のCPMVを導出することができる。前記CPMVは、前記現在のブロックのアフィンMVP候補で導出されることができる。前記アフィンMVP候補は、前記継承されたアフィン候補を示すことができる。
一例として、前記周辺ブロックに基づいて、最大2個の継承されたアフィン候補が 導出できる。
例えば、エンコーディング装置/デコーディング装置は、周辺ブロック内の第1のブロックに基づいて前記現在のブロックの第1のアフィンMVP候補を導出することができる。ここで、前記第1のブロックはアフィン動きモデルでコーディングされることができ、前記第1のブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であり得る。即ち、前記第1のブロックは、特定順序によって前記周辺ブロックをチェックし、初めて確認された条件を満たすブロックであり得る。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。
以降、エンコーディング装置/デコーディング装置は、周辺ブロック内の第2のブロックに基づいて前記現在のブロックの第2のアフィンMVP候補を導出することができる。ここで、前記第2のブロックは、アフィン動きモデルでコーディングされることができ、前記第2のブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であり得る。即ち、前記第2のブロックは、特定順序によって前記周辺ブロックをチェックし、二番目に確認された条件を満たすブロックであり得る。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。
一方、例えば、前記継承されたアフィン候補の可用な個数が2よりも小さい場合(即ち、導出された継承されたアフィン候補の個数が2よりも小さい場合)、コンストラクテッドアフィン候補(constructed affine candidate)が考慮できる。前記構成されたアフィン候補は下記のように導出されることができる。
図12は、前記コンストラクテッドアフィン候補に対する空間的候補を例示的に示す。
図12に示すように、前記現在のブロックの周辺ブロックの動きベクトルは、3個のグループに分けられる。図12を参照すると、前記周辺ブロックは周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE、周辺ブロックF、及び周辺ブロックGを含むことができる。
前記周辺ブロックAは、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックBは、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックCは、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができる。また、前記周辺ブロックDは、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックEは、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができる。また、前記周辺ブロックFは、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックGは、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
例えば、前記3個のグループは、S、S、Sを含んでもよく、前記S、前記S、前記Sは、次の表のように導出されることができる。
Figure 0007157152000007
ここで、mvは前記周辺ブロックAの動きベクトル、mvは前記周辺ブロックBの動きベクトル、mvは前記周辺ブロックCの動きベクトル、mvは前記周辺ブロックDの動きベクトル、mvは、前記周辺ブロックEの動きベクトル、mvは、前記周辺ブロックFの動きベクトル、mvは前記周辺ブロックGの動きベクトルを示す。前記Sは第1のグループ、Sは第2のグループ、前記Sは第3のグループと示してもよい。
エンコーディング装置/デコーディング装置は、前記Sからmvを導出することができ、Sからmvを導出することができ、Sからmvを導出することができ、前記mv、前記mv、前記mvを含むアフィンMVP候補を導出することができる。前記アフィンMVP候補は、前記コンストラクテッドアフィン候補を示すことができる。また、前記mvはCP0のCPMVP候補であってもよく、前記mvはCP1のCPMVP候補であってもよく、前記mvはCP2のCPMVP候補であってもよい。
ここで、前記mvに対する参照ピクチャは、前記現在のブロックの参照ピクチャと同一であってもよい。即ち、前記mvは、特定順序によって前記S内の動きベクトルをチェックし、初めて確認された条件を満たす動きベクトルであり得る。前記条件は、動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。前記特定順序は、前記Sで前記周辺ブロックA→前記周辺ブロックB→前記周辺ブロックCであってもよい。また、前述した順序以外の順序に行われてもよく、前述した例に限定されなくてもよい。
また、前記mvに対する参照ピクチャは、前記現在のブロックの参照ピクチャと同一であってもよい。即ち、前記mvは、特定順序によって前記S内の動きベクトルをチェックし、初めて確認された条件を満たす動きベクトルであり得る。前記条件は、動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。前記特定順序は、前記Sで前記周辺ブロックD→前記周辺ブロックEであってもよい。また、前述した順序以外の順序に行われてもよく、前述した例に限定されなくてもよい。
また、前記mvに対する参照ピクチャブロックは、前記現在のブロックの参照ピクチャと同一であってもよい。即ち、前記mvは、特定順序によって前記S内の動きベクトルをチェックし、初めて確認された条件を満たす動きベクトルであり得る。前記条件は、動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。前記特定順序は、前記Sで前記周辺ブロックF→前記周辺ブロックGであってもよい。また、前述した順序以外の順序に行われてもよく、前述した例に限定されなくてもよい。
一方、前記mv及び前記mvのみ可用な場合、即ち、前記mv及び前記mvのみ導出される場合、前記mvは、次の数式のように導出されることができる。
Figure 0007157152000008
ここで、mv は前記mvのx成分を表し、mv は前記mvのy成分を表し、mv は前記mvのx成分を表し、mv は前記mvのy成分を表し、mv は前記mvのx成分を表し、mv は前記mvのy成分を表す。また、wは前記現在のブロックの幅を表し、hは前記現在のブロックの高さを表す。
一方、前記mv及び前記mvのみ導出される場合、前記mvは次の数式のように導出されることができる。
Figure 0007157152000009
ここで、mv は前記mvのx成分を表し、mv は前記mvのy成分を表し、mv は前記mvのx成分を表し、mv は前記mvのy成分を表し、mv は前記mvのx成分を表し、mv は前記mvのy成分を表す。また、wは前記現在のブロックの幅を表し、hは前記現在のブロックの高さを表す。
また、可用な(available)前記継承されたアフィン候補及び/又は前記コンストラクテッドアフィン候補の数が2よりも小さい場合、既存のHEVC標準のAMVP過程が前記アフィンMVPリストの構成に適用されることができる。即ち、可用な(available)前記継承されたアフィン候補及び/又はコンストラクテッドアフィン候補の数が2よりも小さい場合、既存のHEVC標準でのMVP候補を構成する過程が行われる。
一方、前述したアフィンMVPリストを構成する実施例のフローチャートは、後述する通りである。
図13は、アフィンMVPリストを構成する一例を例示的に示す。
図13を参照すると、エンコーディング装置/デコーディング装置は、現在のブロックのアフィンMVPリストに継承された候補(inherited candidate)を追加することができる(S1300)。前記継承された候補は、前述した継承されたアフィン候補を示すことができる。
具体的に、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出することができる(S1305)。ここで、前記周辺ブロックは、前記現在のブロックの左側の周辺ブロックA0、左下側角の周辺ブロックA1、上側の周辺ブロックB0、右上側角の周辺ブロックB1、及び左上側角の周辺ブロックB2を含むことができる。
例えば、エンコーディング装置/デコーディング装置は、周辺ブロック内の第1のブロックに基づいて前記現在のブロックの第1のアフィンMVP候補を導出することができる。ここで、前記第1のブロックはアフィン動きモデルでコーディングされることができ、前記第1のブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であってもよい。即ち、前記第1のブロックは、特定順序によって前記周辺ブロックをチェックし、初めて確認された条件を満たすブロックであり得る。前記条件はアフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。
以降、エンコーディング装置/デコーディング装置は、周辺ブロック内の第2のブロックに基づいて前記現在のブロックの第2のアフィンMVP候補を導出することができる。ここで、前記第2のブロックは、アフィン動きモデルでコーディングされることができ、前記第2のブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であってもよい。即ち、前記第2のブロックは、特定順序によって前記周辺ブロックをチェックし、二番目に確認された条件を満たすブロックであってもよい。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一のものであってもよい。
一方、前記特定順序は、左側の周辺ブロックA0→左下側角の周辺ブロックA1→上側の周辺ブロックB0→右上側角の周辺ブロックB1→左上側角の周辺ブロックB2であってもよい。また、前述した順序以外の順序に行われてもよく、前述した例に限定されなくてもよい。
エンコーディング装置/デコーディング装置は、現在のブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加することができる(S1310)。前記コンストラクテッド候補は、前述したコンストラクテッドアフィン候補を示すことができる。前記コンストラクテッド候補は、コンストラクテッドアフィンMVP候補と示してもよい。可用な継承された候補の個数が2個よりも小さい場合、エンコーディング装置/デコーディング装置は、前記現在のブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加することができる。例えば、エンコーディング装置/デコーディング装置は、1個のコンストラクテッドアフィン候補を導出することができる。
一方、前記現在のブロックに適用されるアフィン動きモデルが6アフィン動きモデルであるか、又は4アフィン動きモデルであるか否かによって、前記コンストラクテッドアフィン候補を導出する案が異なることがある。前記コンストラクテッド候補を導出する案についての具体的な内容は後述する。
エンコーディング装置/デコーディング装置は、現在のブロックのアフィンMVPリストにHEVC AMVP候補を追加することができる(S1320)。可用な継承された候補及び/又はコンストラクテッド候補の個数が2個よりも小さい場合、エンコーディング装置/デコーディング装置は、前記現在のブロックのアフィンMVPリストにHEVC AMVP候補を追加することができる。即ち、可用な継承された候補及び/又はコンストラクテッド候補の個数が2個よりも小さい場合、エンコーディング装置/デコーディング装置は、既存のHEVC標準でのMVP候補を構成する過程が行われる。
一方、前記コンストラクテッド候補を導出する案は、次の通りである。
例えば、前記現在のブロックに適用されるアフィン動きモデルが6アフィン動きモデルである場合、図14に示す実施例のように前記コンストラクテッド候補が導出できる。
図14は、前記コンストラクテッド候補を導出する一例を示す。
図14を参照すると、エンコーディング装置/デコーディング装置は、前記現在のブロックに対するmv、mv、mvをチェックすることができる(S1400)。即ち、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックで可用なmv、mv、mvが存在するか判断することができる。ここで、前記mvは、前記現在のブロックのCP0のCPMVP候補であってもよく、前記mvはCP1のCPMVP候補であってもよく、前記mvはCP2のCPMVP候補であってもよい。また、前記mv、前記mv、前記mvは、前記CPに対する候補動きベクトルと示すことができる。
例えば、エンコーディング装置/デコーディング装置は、第1のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvで導出することができる。即ち、前記mvは、特定順序によって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、例えば、エンコーディング装置/デコーディング装置は、第2のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvで導出することができる。即ち、前記mvは、特定順序によって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、例えば、エンコーディング装置/デコーディング装置は、第3のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvで導出することができる。即ち、前記mvは、特定順序によって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順であってもよい。また、例えば、前記特定の条件は周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
一方、前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含んでもよく、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含んでもよく、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含んでもよい。前記周辺ブロックAは、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックBは、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックCは、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックDは、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックEは、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができ、前記周辺ブロックFは、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックGは、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
前記現在のブロックに対する前記mv及び前記mvのみ可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvのみ導出された場合、エンコーディング装置/デコーディング装置は、前述した数式6に基づいて、前記現在のブロックに対するmvを導出することができる(S1410)。エンコーディング装置/デコーディング装置は、前述した数式6に前記導出されたmv及び前記mvを代入し、前記mvを導出することができる。
前記現在のブロックに対する前記mv及び前記mvのみ可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvのみ導出された場合、エンコーディング装置/デコーディング装置は、前述した数式7に基づいて、前記現在のブロックに対するmvを導出することができる(S1420)。エンコーディング装置/デコーディング装置は、前述した数式7に前記導出されたmv及び前記mvを代入し、前記mvを導出することができる。
エンコーディング装置/デコーディング装置は、前記導出されたmv、mv及びmvを前記現在のブロックのコンストラクテッド候補として導出することができる(S1430)。前記mv、前記mv 及び前記mvが可用な場合、即ち、前記現在のブロックの周辺ブロックに基づいて前記mv、前記mv及び前記mvが導出された場合、エンコーディング装置/デコーディング装置は、前記導出されたmv、前記mv及び前記mvを前記現在のブロックのコンストラクテッド候補として導出することができる。
また、前記現在のブロックに対する前記mv及び前記mvのみ可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvのみ導出された場合、エンコーディング装置/デコーディング装置は、前記導出されたmv、前記mvと前述した数式6に基づいて導出されたmvを前記現在のブロックの前記コンストラクテッド候補として導出することができる。
また、前記現在のブロックに対する前記mv及び前記mvのみ可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvのみ導出された場合、エンコーディング装置/デコーディング装置は、前記導出されたmv、前記mvと前述した数式7に基づいて導出されたmvを前記現在のブロックの前記コンストラクテッド候補として導出することができる。
また、例えば、前記現在のブロックに適用されるアフィン動きモデルが4アフィン動きモデルである場合、図15に示す実施例のように、前記コンストラクテッド候補が導出できる。
図15は、前記コンストラクテッド候補を導出する一例を示す。
図15を参照すると、エンコーディング装置/デコーディング装置は、前記現在のブロックに対するmv、mv、mvをチェックすることができる(S1500)。即ち、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックで可用なmv、mv、mvが存在するか判断することができる。ここで、前記mvは、前記現在のブロックのCP0のCPMVP候補であってもよく、前記mvは、CP1のCPMVP候補であってもよく、前記mvは、CP2のCPMVP候補であってもよい。
例えば、エンコーディング装置/デコーディング装置は、第1のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、例えば、エンコーディング装置/デコーディング装置は、第2のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、例えば、エンコーディング装置/デコーディング装置は、第3のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
一方、前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含んでもよく、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含んでもよく、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含んでもよい。前記周辺ブロックAは、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックBは、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックCは、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックDは、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックEは、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができ、前記周辺ブロックFは、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックGは、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
前記現在のブロックに対する前記mv及び前記mvのみ可用な場合、又は前記現在のブロックに対する前記mv、前記mv及び前記mvが可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvのみ導出された場合、又は前記現在のブロックに対する前記mv、前記mv及び前記mvが導出された場合、エンコーディング装置/デコーディング装置は、前記導出されたmv、前記mvを前記現在のブロックのコンストラクテッド候補として導出することができる(S1510)。
一方、前記現在のブロックに対する前記mv及び前記mvのみ可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvのみ導出された場合、エンコーディング装置/デコーディング装置は、前述した数式7に基づいて、前記現在のブロックに対するmvを導出することができる(S1520)。エンコーディング装置/デコーディング装置は、前述した数式7に前記導出されたmv及び前記mvを代入し、前記mvを導出することができる。
以降、エンコーディング装置/デコーディング装置は、前記導出されたmv及びmvを前記現在のブロックのコンストラクテッド候補として導出することができる(S1510)。
一方、本文書では、前記継承されたアフィン候補を導出する別の実施例が提案される。提案される実施例は、継承されたアフィン候補を導出するにあたって、演算の複雑度を減らし、コーディング性能を向上させることができる。
一方、本文書では、前記継承されたアフィン候補を導出する別の実施例が提案される。提案される実施例は、継承されたアフィン候補を導出するにあたって、演算の複雑度を減らし、コーディング性能を向上させることができる。
図16は、継承されたアフィン候補を導出するためにスキャニングされる周辺ブロックの位置を例示的に示す。
エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出することができる。図16は、前記継承されたアフィン候補のための前記周辺ブロックを示すことができる。例えば、前記周辺ブロックは、図16に示す周辺ブロックA及び周辺ブロックBを含むことができる。前記周辺ブロックAは、前述した左側の周辺ブロックA0を示すことができ、前記周辺ブロックBは、前述した上側の周辺ブロックB0を示すことができる。
例えば、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に可用であるかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に特定の条件を満たすかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。また、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。ここで、可用であることはアフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。即ち、前記特定の条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。また、例えば、前記特定順序は、前記周辺ブロックA→前記周辺ブロックBであってもよい。一方、2個の継承されたアフィン候補(即ち、導出された継承されたアフィン候補)間のプルーニングチェック過程は行われなくてもよい。前記プルーニングチェック過程は、互いに同一であるか否かをチェックし、同じ候補である場合、後の順序に導出された候補を除去する過程を示すことができる。
前述した実施例は、既存の周辺ブロック(即ち、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE)を全てチェックし、前記継承されたアフィン候補を導出する代わりに、2個の周辺ブロック(即ち、周辺ブロックA、周辺ブロックB)のみをチェックし、前記継承されたアフィン候補を導出する案を提案する。ここで、前記周辺ブロックCは、前述した右上側角の周辺ブロックB1を示すことができ、前記周辺ブロックDは、前述した左下側角の周辺ブロックA1を示すことができ、前記周辺ブロックEは、前述した左上側角の周辺ブロックB2を示すことができる。
アフィンインター予測による前記周辺ブロックと現在のブロック間の空間的相関度(spatial correlation)を分析するために、各周辺ブロックがアフィン予測が適用された場合に、前記現在のブロックにアフィン予測が適用される確率が参照され得る。各周辺ブロックがアフィン予測が適用された場合に、前記現在のブロックにアフィン予測が適用される確率は、次の表のように導出されることができる。
Figure 0007157152000010
前記表2を参照すると、前記周辺ブロックのうち、周辺ブロックA及び前記周辺ブロックBの前記現在のブロックに対する空間的相関度が高いことが確認できる。従って、空間的相関度の高い周辺ブロックA及び周辺ブロックBのみを使用し、前記継承されたアフィン候補を導出する実施例を介してプロセシングタイムを減らしながらも、高いデコーディングの性能を導出することができる効果が得られる。
一方、前記プルーニングチェック過程は、候補リストに同じ候補が存在することを防止するために行われ得る。前記プルーニングチェック過程は、リダンダンシー(redundancy)をなくすことができるので、エンコーディングの効率上利点が発生し得るが、プルーニングチェック過程を行うことによって、演算の複雑度が増加するというデメリットがある。特に、アフィン候補に対するプルーニングチェック過程は、アフィンタイプ(例えば、アフィン動きモデルが4アフィン動きモデルであるか、6アフィン動きモデルであるか否か)、参照ピクチャ(又は参照ピクチャインデックス)、CP0、CP1、CP2のMVに対して行われるべきであるため、演算の複雑度が非常に高い。従って、本実施例は、前記周辺ブロックAに基づいて導出された継承されたアフィン候補(例えば、inherited_A)と、前記周辺ブロックBに基づいて導出された継承されたアフィン候補(例えば、inherited_B)間のプルーニングチェック過程を行わない案を提案する。周辺ブロックA、周辺ブロックBの場合、距離が遠く、よって、空間的相関度が低いため、前記inherited_Aと前記inherited_Bは同一である可能性は低い。従って、前記継承されたアフィン候補間のプルーニングチェック過程は、行わないことが妥当であるかもしれない。
或いは、前記のような根拠として、最小限のプルーニングチェック過程を行う案が提案されることもある。例えば、エンコーディング装置/デコーディング装置は、前記継承されたアフィン候補のCP0のMVのみを比較してプルーニングチェック過程を行うことができる。
一方、本文書では、前記継承されたアフィン候補を導出する別の実施例が提案される。
図17は、継承されたアフィン候補を導出するためにスキャニングされる周辺ブロックの位置を例示的に示す。
エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出することができる。図17は、前記継承されたアフィン候補のための前記周辺ブロックを示すことができる。例えば、前記周辺ブロックは、図17に示す周辺ブロックA乃至周辺ブロックDを含むことができる。前記周辺ブロックAは、前述した左側の周辺ブロックA0を示すことができ、前記周辺ブロックBは、前述した上側の周辺ブロックB0を示すことができ、前記周辺ブロックCは、前述した右上側角の周辺ブロックB1を示すことができ、前記周辺ブロックDは、前述した左下側角の周辺ブロックA1を示すことができる。
例えば、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に可用であるかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に特定の条件を満たすかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。また、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。ここで、可用であることはアフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。即ち、前記特定の条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
図17の周辺ブロックA及び周辺ブロックDは、継承されたアフィン候補のうち、左側の予測子(predictor)を導出する際に使用され、周辺ブロックB及び周辺ブロックCは、継承されたアフィン候補のうち、上側の予測子(predictor)を導出する際に使用されることができる。
左側の予測子は、即ち、左側の周辺ブロックで追加され得る動き候補は、A→D、又はD→Aのブロックの順序に、最初に可用なものと判断される「隣接有効ブロック」が継承された候補に追加され得る。上側の予測子は、即ち、上側の周辺ブロックで追加され得る動き候補は、B→C、又はC→Bのブロックの順序に、最初に可用なものと判断される「隣接有効ブロック」が継承された候補に追加され得る。即ち、左側の予測子及び上側の予測子の各々から導出されることができる最大の継承された候補の個数は1個である。
「隣接有効ブロック」が4パラメータアフィン動きモデルと符号化された場合、継承された候補は4パラメータアフィン動きモデルを利用して決定され、「隣接有効ブロック」が6パラメータアフィン動きモデルと符号化された場合、継承された候補は、6パラメータアフィン動きモデルを利用して決定されることができる。
左側の予測子及び上側の予測子により決定された継承された候補が2個である場合、プルーニングチェック過程は行われてもよく、行われなくてもよい。プルーニングチェック過程を行い、同じ候補が候補リストに追加されないようにすることは一般的であるが、プルーニングチェック過程は、アフィンモデルが使用される動き予測では、各CPのMVを比較すべきであるので、複雑度を増加させる。但し、図17を参照して説明された実施例を利用して継承された候補を構成する場合、左側の予測子及び上側の予測子により決定される候補間の距離が遠いため、候補が互いに異なる可能性が非常に高い。従って、プルーニングチェック過程を行わなくても、符号化性能の低下が殆どないという効果がある。
一方、本文書では、前記継承されたアフィン候補を導出するまた別の実施例が提案される。
図18は、継承されたアフィン候補を導出するために位置を例示的に示す。
エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出することができる。図18は、本実施例にかかり、前記継承されたアフィン候補のための前記周辺ブロックを示すことができる。例えば、前記周辺ブロックは、図18に示す周辺ブロックA乃至周辺ブロックEを含むことができる。前記周辺ブロックAは、前述した左側の周辺ブロックA0を示すことができ、前記周辺ブロックBは、前述した上側の周辺ブロックB0を示すことができ、前記周辺ブロックCは、前述した右上側角の周辺ブロックB1を示すことができ、前記周辺ブロックDは、前述した左下側角の周辺ブロックA1、前記周辺ブロックEは、左上側角の周辺ブロックB2の下段に隣接するように位置する左側の周辺ブロックを示すことができる。
例えば、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に可用であるかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に特定の条件を満たすかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。また、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。ここで、可用であることはアフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。即ち、前記特定の条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
図18の周辺ブロックA、周辺ブロックD、及び周辺ブロックEは、継承されたアフィン候補のうち、左側の予測子を導出する際に使用され、周辺ブロックB及び周辺ブロックCは、継承されたアフィン候補のうち、上側の予測子を導出する際に使用されることができる。
左側の予測子は、即ち、左側の周辺ブロックで追加され得る動き候補は、A→D→E(又はA→E→D、D→A→E)のブロックの順序に、最初に可用なものと判断される「隣接有効ブロック」が継承された候補に追加され得る。上側の予測子は、即ち、上側の周辺ブロックで追加され得る動き候補は、B→C、又はC→Bのブロックの順序に最初に可用なものと判断される「隣接有効ブロック」が継承された候補に追加され得る。即ち、左側の予測子及び上側の予測子の各々から導出されることができる最大の継承された候補の個数は1個である。
「隣接有効ブロック」が4パラメータアフィン動きモデルで符号化された場合、継承された候補は、4パラメータアフィン動きモデルを利用して決定され、「隣接有効ブロック」が6パラメータアフィン動きモデルで符号化された場合、継承された候補は、6パラメータアフィン動きモデルを利用して決定されることができる。
左側の予測子及び上側の予測子により決定された継承された候補が2個である場合、プルーニングチェック過程が行われてもよく、行われなくてもよい。プルーニングチェック過程を行って同じ候補が候補リストに追加されないようにすることは一般的であるが、プルーニングチェック過程は、アフィンモデルが使用される動き予測では、各CPのMVを比較すべきであるので、複雑度を増加させる。但し、図18を参照して説明された実施例を用いて継承された候補を構成する場合、左側の予測子及び上側の予測子によって決定される候補間の距離が遠いため、候補が互いに異なる可能性が非常に高い。従って、プルーニングチェック過程を行わなくても、符号化性能の低下が殆どないという効果がある。
一方、プルーニングチェック過程を行う代わりに、複雑度の低いプルーニングチェック方法を使用することができる。例えば、ただCP0のMVのみを比較する方法でプルーニングチェック過程を行うことができる。
継承された候補のためにスキャニングされる周辺ブロックの位置としてEが決められた理由は次の通りである。これは、後述されるラインバッファー減少(line buffer reduction)の方法では、現在のブロックの上側に位置する参照ブロック(即ち、周辺ブロックB、周辺ブロックC)が現在のブロックと同一のCTU内に存在していない場合、ラインバッファー減少の方法を使用することができない。従って、継承された候補を生成しつつ、ラインバッファー減少の方法を共に適用する場合、符号化性能を維持するために、図18に明示されている周辺ブロックの位置を使用する。
また、該当方法は、最大1個の継承された候補を構成してアフィンMVP候補として使用できる。この際は、左側の予測子及び上側の予測子の区分なく、A→B→C→D→Eの順序上、一番目に有効な隣接ブロックの動きベクトルが継承された候補として使用できる。
一方、本文書では、前記継承されたアフィン候補を導出するまた別の実施例が提案される。
本実施例では、図18に示している周辺ブロックを利用して継承された候補を導出することができる。
即ち、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出することができる。
また、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に可用であるかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、前記周辺ブロックを特定順序に特定の条件を満たすかチェックすることができ、初めて確認された可用な周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。また、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて前記現在のブロックの継承されたアフィン候補を導出することができる。即ち、エンコーディング装置/デコーディング装置は、二番目に確認された特定の条件を満たす周辺ブロックに基づいて、前記現在のブロックの継承されたアフィン候補を導出することができる。ここで、可用であることは、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。即ち、前記特定の条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
前述されたように、周辺ブロックA、周辺ブロックD、及び周辺ブロックEは、継承されたアフィン候補のうち左側の予測子を導出する際に使用され、周辺ブロックB及び周辺ブロックCは、継承されたアフィン候補のうち上側の予測子を導出する際に使用されることができる。
左側の予測子は、即ち、左側の周辺ブロックで追加され得る動き候補は、A→D→E(又はA→E→D、D→A→E)のブロックの順序に、最初に可用なものと判断される「隣接有効ブロック」が継承された候補に追加され得る。上側の予測子は、即ち、上側の周辺ブロックで追加され得る動き候補は、B→C、又はC→Bのブロックの順序に最初に可用なものと判断される「隣接有効ブロック」が継承された候補に追加され得る。即ち、左側の予測子及び上側の予測子の各々から導出されることができる最大の継承された候補の個数は1個である。
「隣接有効ブロック」が4パラメータアフィン動きモデルで符号化された場合、継承された候補は4パラメータアフィン動きモデルを利用して決定され、「隣接有効ブロック」が6パラメータアフィン動きモデルで符号化された場合、継承された候補は6パラメータアフィン動きモデルを利用して決定されることができる。
また、本実施例にかかる場合も、左側の予測子及び上側の予測子により決定された継承された候補が2個である場合、プルーニングチェック過程は行われてもよく、行われなくてもよい。プルーニングチェック過程を行って同じ候補が候補リストに追加されないようにすることは一般的であるが、プルーニングチェック過程は、アフィンモデルが使用される動き予測では各CPのMVを比較すべきであるので、複雑度を増加させる。但し、図18を参照して説明された実施例を用いて継承された候補を構成する場合、左側の予測子及び上側の予測子により決定される候補間の距離が遠いため、候補が互いに異なる可能性が非常に高い。従って、プルーニングチェック過程を行わなくても、符号化性能の低下が殆どないという効果がある。
一方、プルーニングチェック過程を行う代わりに、複雑度の低いプルーニングチェック方法を使用することができる。例えば、ただ周辺ブロックEが「隣接有効ブロック」である場合にのみ周辺ブロックEが周辺ブロックAと同一の符号化ブロック内に含まれるかを判断し、プルーニングチェック過程を行うことができる。これは、ただプルーニングチェックを一回のみ行うため、複雑度が低い。周辺ブロックEに対してのみプルーニングチェックを行う理由は、周辺ブロックEを除いた上側の予測子の参照ブロック(周辺ブロックB、周辺ブロックC)は、左側の予測子の参照ブロック(周辺ブロックA、周辺ブロックD)と充分に遠く位置するため、同一の継承された候補を構成する可能性が非常に低い。反面、周辺ブロックEの場合、周辺ブロックAと同一のブロック内に含まれる場合、同一の継承された候補を構成する可能性が存在するためである。
継承された候補のためにスキャニングされる周辺ブロックの位置としてEが決められた理由は次の通りである。これは、後述されるラインバッファー減少(line buffer reduction)の方法では、現在のブロックの上側に位置する参照ブロック(即ち、周辺ブロックB、周辺ブロックC)が現在のブロックと同一のCTU内に存在しない場合、ラインバッファー減少の方法を使用することができない。従って、継承された候補を生成しつつ、ラインバッファー減少の方法を共に適用する場合、符号化性能を維持するために、図18に明示されている周辺ブロックの位置を使用する。
また、該当方法は、最大1個の継承された候補を構成してアフィンMVP候補として使用できる。この際は、左側の予測子及び上側の予測子の区分なく、A→B→C→D→Eの順序上、一番目に有効な隣接ブロックの動きベクトルが継承された候補として使用されることができる。
一方、本文書の一実施例にかかると、前記図16乃至図18を参照して説明されたアフィンMVPリストの生成方法は、アフィン動きモデルに基づくマージ候補リストの継承された候補の導出にも適用されることができる。本実施例にかかる場合、同一の過程がアフィンMVPリストの生成とマージ候補リストの生成に適用されることができるため、設計費用の観点から利得である。アフィン動きモデルに基づくマージ候補リストの生成の一例は次の通りであり、このような過程は他のマージリストの生成の際に継承された候補を構成するために適用することができる。
具体的に前記マージ候補リストは次のように構成されることができる。
図19は、現在のブロックのマージ候補リストを構成する一例を示す。
図19を参照すると、エンコーディング装置/デコーディング装置は、継承された(inherited)マージ候補をマージ候補リストに追加することができる(S1900)。
具体的に、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックに基づいて継承された候補を導出することができる。
前記継承された候補を導出するための前記現在のブロックの周辺ブロックを図11の通りである。即ち、前記現在のブロックの周辺ブロックは、前記現在のブロックの左下側角の周辺ブロックA0、前記現在のブロックの左側の周辺ブロックA1、前記現在のブロックの右上側角の周辺ブロックB0、前記現在のブロックの上側の周辺ブロックB1、前記現在のブロックの左上側角の周辺ブロックB2を含むことができる。
前記継承された候補は、アフィンモードでコーディングされた有効の周辺復元ブロックに基づいて導出されることができる。例えば、エンコーディング装置/デコーディング装置は、周辺ブロックA0、A1、B0、B1、及びB2を順次に又はA1、B1、 B0、A0、及びB2を順次にチェックすることができ、周辺ブロックがアフィンモードでコーディングされた場合(即ち、前記周辺ブロックがアフィン動きモデルを使用して有効に復元された周辺ブロックである場合)、前記周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックに対する2個のCPMV又は3個のCPMVを導出することができ、前記CPMVは、前記現在のブロックの継承された候補として導出されることができる。一例として、最大5個の継承された候補が前記マージ候補リストに追加されることができる。即ち、前記周辺ブロックに基づいて最大5個の継承された候補が導出できる。
本実施例にかかる場合、継承された候補を導出するために、図11の周辺ブロックではなく、図16乃至図18の周辺ブロックを利用し、図16乃至図18を参照して説明された実施例を適用することができる。
以降、エンコーディング装置/デコーディング装置は、コンストラクテッド(constructed)候補をマージ候補リストに追加することができる(S1910)。
例えば、前記マージ候補リストのマージ候補の個数が5個よりも小さい場合、前記マージ候補リストに前記コンストラクテッド候補が追加され得る。前記コンストラクテッド候補は、前記現在のブロックのCPの各々に対する周辺の動き情報(即ち、周辺ブロックの動きベクトル及び参照ピクチャインデックス)を組み合わせて生成されたマージ候補を示すことができる。各CPに対する動き情報は、該当CPに対する空間的 周辺ブロック又は時間的周辺ブロックに基づいて導出されることができる。前記CPの各々に対する動き情報は、該当CPに対する候補動きベクトルと示すことができる。
図20は、本文書の一実施例にかかるコンストラクテッド候補を導出するための前記現在のブロックの周辺ブロックを示す。
図20を参照すると、前記周辺ブロックは空間的周辺ブロック及び時間的周辺ブロックを含むことができる。前記空間的周辺ブロックは、周辺ブロックA0、周辺ブロックA1、周辺ブロックA2、周辺ブロックB0、周辺ブロックB1、周辺ブロックB2、周辺ブロックB3を含むことができる。図20に示す周辺ブロックTは、前記時間的周辺ブロックを示すことができる。
ここで、前記周辺ブロックB2は、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックB3は、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックA2は、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができる。また、前記周辺ブロックB1は、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックB0は、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができる。また、前記周辺ブロックA1は、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックA0は、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
また、図20を参照すると、前記現在のブロックの前記CPは、CP0、CP1、CP2及び/又はCP3を含むことができる。前記CP0は前記現在のブロックの左上段の位置を示すことができ、前記CP1は前記現在のブロックの右上段の位置を示すことができ、CP2は前記現在のブロックの左下段の位置を示すことができ、前記CP3は前記現在のブロックの右下段の位置を示すことができる。例えば、前記現在のブロックのサイズがWxHであり、現在のブロックの左上段(top-left)のサンプルポジションのx成分が0、及びy成分が0である場合、前記CP0は(0,0)座標の位置を示すことができ、前記CP1は(W,0)座標の位置を示すことができ、前記CP2は(0,H)座標の位置を示すことができ、前記CP3は(W,H)座標の位置を示すことができる。
前述したCPの各々に対する候補動きベクトルは、次のように導出されることができる。
例えば、エンコーディング装置/デコーディング装置は、第1のグループ内の周辺ブロックを第1の順序によって可用であるかチェックすることができ、前記チェック過程で初めて確認された可用な周辺ブロックの動きベクトルを前記CP0に対する候補動きベクトルとして導出できる。即ち、前記CP0に対する候補動きベクトルは、第1の順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された可用な周辺ブロックの動きベクトルであり得る。前記可用であることは前記周辺ブロックの動きベクトルが存在することを示すことができる。即ち、可用な周辺ブロックは、インター予測でコーディングされたブロック(即ち、インター予測が適用されたブロック)であってもよい。ここで、例えば、前記第1のグループは、前記周辺ブロックB2、前記周辺ブロックB3、及び前記周辺ブロックA2を含むことができる。前記第1の順序は、前記第1のグループ内の周辺ブロックB2から前記周辺ブロックB3、前記周辺ブロックA2への順であってもよい。一例として、前記周辺ブロックB2が可用な場合、前記周辺ブロックB2の動きベクトルが前記CP0に対する候補動きベクトルとして導出されることができ、前記周辺ブロックB2が可用ではなく、前記周辺ブロックB3が可用な場合、前記周辺ブロックB3の動きベクトルが前記CP0に対する候補動きベクトルとして導出されることができ、前記周辺ブロックB2及び前記周辺ブロックB3が可用ではなく、前記周辺ブロックA2が可用な場合、前記周辺ブロックA2の動きベクトルが前記CP0に対する候補動きベクトルとして導出されることができる。
また、例えば、エンコーディング装置/デコーディング装置は、第2のグループ内の周辺ブロックを第2の順序によって可用であるかチェックすることができ、前記チェック過程で初めて確認された可用な周辺ブロックの動きベクトルを前記CP1に対する候補動きベクトルとして導出できる。即ち、前記CP1に対する候補動きベクトルは、第2の順序によって前記第2のグループ内の周辺ブロックをチェックし、初めて確認された可用な周辺ブロックの動きベクトルであり得る。前記可用であることは、前記周辺ブロックの動きベクトルが存在することを示すことができる。即ち、可用な周辺ブロックは、インター予測でコーディングされたブロック(即ち、インター予測が適用されたブロック)であってもよい。ここで、前記第2のグループは、前記周辺ブロックB1及び前記周辺ブロックB0を含むことができる。前記第2の順序は、前記第2のグループ内の周辺ブロックB1から前記周辺ブロックB0への順であってもよい。一例として、前記周辺ブロックB1が可用な場合、前記周辺ブロックB1の動きベクトルが前記CP1に対する候補動きベクトルとして導出されることができ、前記周辺ブロックB1が可用ではなく、前記周辺ブロックB0が可用な場合、前記周辺ブロックB0の動きベクトルが前記CP1に対する候補動きベクトルとして導出されることができる。
また、例えば、エンコーディング装置/デコーディング装置は、第3のグループ内の周辺ブロックを第3の順序によって可用であるかチェックすることができ、前記チェック過程で初めて確認された可用な周辺ブロックの動きベクトルを前記CP2に対する候補動きベクトルとして導出できる。即ち、前記CP2に対する候補動きベクトルは、第3の順序によって前記第3のグループ内の周辺ブロックをチェックし、初めて確認された可用な周辺ブロックの動きベクトルであり得る。前記可用であることは、前記周辺ブロックの動きベクトルが存在することを示すことができる。即ち、可用な周辺ブロックは、インター予測でコーディングされたブロック(即ち、インター予測が適用されたブロック)であってもよい。ここで、前記第3のグループは、前記周辺ブロックA1及び前記周辺ブロックA0を含むことができる。前記第3の順序は、前記第3のグループ内の周辺ブロックA1から前記周辺ブロックA0への順であってもよい。一例として、前記周辺ブロックA1が可用な場合、前記周辺ブロックA1の動きベクトルが前記CP2に対する候補動きベクトルとして導出されることができ、前記周辺ブロックA1が可用ではなく、前記周辺ブロックA0が可用な場合、前記周辺ブロックA0の動きベクトルが前記CP2に対する候補動きベクトルとして導出されることができる。
また、例えば、エンコーディング装置/デコーディング装置は、前記時間的周辺ブロック(即ち、前記周辺ブロックT)が可用であるかチェックすることができ、前記時間的周辺ブロック(即ち、前記周辺ブロックT)が可用な場合、前記時間的周辺ブロック(即ち、前記周辺ブロックT)の動きベクトルを前記CP3に対する候補動きベクトルとして導出することができる。
前記CP0に対する候補動きベクトル、前記CP1に対する候補動きベクトル、前記CP2に対する候補動きベクトル及び/又は前記CP3に対する候補動きベクトルの組み合わせは、コンストラクテッド候補として導出されることができる。
例えば、前述した内容のように、6アフィンモデルは3個のCPの動きベクトルが必要である。前記6アフィンモデルに対する前記CP0、前記CP1、前記CP2、前記CP3のうちの3個のCPが選択できる。例えば、前記CPは、{CP0、CP1、CP3}、{CP0、CP1、CP2}、{CP1、CP2、CP3}、{CP0、CP2、CP3}のうち一つに選択されることができる。一例として、前記6アフィンモデルは、CP0、CP1、CP2を使用して構成されることができる。この場合、前記CPは、前記{CP0、CP1、CP2}と示すことができる。
また、例えば、前述した内容のように、4アフィンモデルは2個のCPの動きベクトルが必要である。前記4アフィンモデルに対する前記CP0、前記CP1、前記CP2、前記CP3のうちの2個のCPが選択できる。例えば、前記CPは、{CP0、CP3}、{CP1、CP2}、{CP0、CP1}、{CP1、CP3}、{CP0、CP2}、{CP2、CP3}のうち1つに選択されることができる。一例として、前記4アフィンモデルは、CP0、CP1を使用して構成されることができる。この場合、前記CPは前記{CP0、CP1}と示すことができる。
候補動きベクトルの組み合わせであるコンストラクテッド候補は、次のような順序に前記マージ候補リストに追加されることができる。即ち、前記CPに対する候補動きベクトルが導出された以降、コンストラクテッド候補は次のような順序に導出されることができる。
{CP0、CP1、CP2}、{CP0、CP1、CP3}、{CP0、CP2、CP3}、{CP1、CP2、CP3}、{CP0、CP1}、{CP0、CP2}、{CP1、CP2}、{CP0、CP3}、{CP1、CP3}、{CP2、CP3}
即ち、例えば、前記CP0に対する候補動きベクトル、CP1に対する候補動きベクトル、CP2に対する候補動きベクトルを含むコンストラクテッド候補、前記CP0に対する候補動きベクトル、CP1に対する候補動きベクトル、CP3に対する候補動きベクトルを含むコンストラクテッド候補、前記CP0に対する候補動きベクトル、CP2に対する候補動きベクトル、CP3に対する候補動きベクトルを含むコンストラクテッド候補、前記CP1に対する候補動きベクトル、CP2に対する候補動きベクトル、CP3に対する候補動きベクトルを含むコンストラクテッド候補、前記CP0に対する候補動きベクトル、CP1に対する候補動きベクトルを含むコンストラクテッド候補、前記CP0に対する候補動きベクトル、CP2に対する候補動きベクトルを含むコンストラクテッド候補、前記CP1に対する候補動きベクトル、CP2に対する候補動きベクトルを含むコンストラクテッド候補、前記CP0に対する候補動きベクトル、CP3に対する候補動きベクトルを含むコンストラクテッド候補、前記CP1に対する候補動きベクトル、CP3に対する候補動きベクトルを含むコンストラクテッド候補、前記CP2に対する候補動きベクトル、CP3に対する候補動きベクトルを含むコンストラクテッド候補の順に前記マージ候補リストに追加されることができる。
以降、エンコーディング装置/デコーディング装置は、0動きベクトルをマージ候補としてマージ候補リストに追加することができる(S1920)。
例えば、前記マージ候補リストのマージ候補の個数が5個よりも小さい場合、前記マージ候補リストが最大のマージ候補の個数で構成されるまで前記マージ候補リストに0動きベクトルを含むマージ候補が追加できる。前記最大のマージ候補の個数は5個であり得る。また、前記0動きベクトルは、ベクトル値が0である動きベクトルを示すことができる。
一方、図16乃至図18を参照して説明されたアフィンMVPリストの生成方法に使用された周辺ブロックの位置及び候補の構成のためのスキャニング方法は、通常的なマージ(normal merge)、及び通常的なMVP(normal MVP)にも使用できる。ここで、通常的なマージは、アフィンマージモードではないHEVC等で使用できるマージモードを意味し、通常的なMVPもやはり、アフィンMVPではなくHEVC等で使用できるAMVPを意味することができる。例えば、図16を参照して説明された方法を通常的なマージ及び/又は通常的なMVPに適用するという意味は、具体的に図16の空間的位置の周辺ブロックをスキャニングし、又はスキャニングするか、左側の予測子と上側の予測子を図16の周辺ブロックを利用して構成し、又は構成するか、プルーニングチェックを行うか、複雑度の低い方法で行うことを意味する。このような方法を通常的なマージ又はMVPに適用する場合、設計費用の観点から効果が示されることができる。
また、本文書では、前述した実施例と異なるコンストラクテッド候補を導出する案が提案される。提案される実施例は、前述したコンストラクテッド候補を導出する実施例に比べて複雑度を減らし、コーディングの性能を向上させることができる。前記提案される実施例は、後述する通りである。また、前記継承されたアフィン候補の可用な個数が2よりも小さい場合(即ち、導出された継承されたアフィン候補の個数が2よりも小さい場合)、コンストラクテッドアフィン候補(constructed affine candidate)が考慮できる。
例えば、エンコーディング装置/デコーディング装置は、前記現在のブロックに対するmv、mv、mvをチェックすることができる。即ち、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックで可用なmv、mv、mvが存在するか判断することができる。ここで、前記mvは、前記現在のブロックのCP0のCPMVP候補であってもよく、前記mvは、CP1のCPMVP候補であってもよく、前記mvは、CP2のCPMVP候補であってもよい。
具体的に前記現在のブロックの周辺ブロックは、3個のグループに分けられ、前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE、周辺ブロックF、及び周辺ブロックGを含むことができる。前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含んでもよく、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含んでもよく、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含んでもよい。前記周辺ブロックAは、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックBは、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックCは、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックDは、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックEは、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができ、前記周辺ブロックFは、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックGは、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
エンコーディング装置/デコーディング装置は、前記第1のグループで可用なmvが存在するか判断することができ、前記第2のグループで可用なmvが存在するか判断することができ、前記第3のグループで可用なmvが存在するか判断することができる。
具体的に、例えば、エンコーディング装置/デコーディング装置は、第1のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv として導出することができる。即ち、前記mvは、特定順序によって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、エンコーディング装置/デコーディング装置は、第2のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、エンコーディング装置/デコーディング装置は、第3のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
以降、前記現在のブロックに適用されるアフィン動きモデルが4アフィン動きモデルである場合、前記現在のブロックに対するmv及びmvが可用であると、エンコーディング装置/デコーディング装置は、前記導出されたmv及びmvを前記現在のブロックのコンストラクテッド候補として導出することができる。一方、前記現在のブロックに対するmv及び/又はmvが可用ではない場合、即ち、前記現在のブロックの周辺ブロックからmv及びmvのうち少なくとも一つが導出されない場合、エンコーディング装置/デコーディング装置は、前記現在のブロックのアフィンMVPリストにコンストラクテッド候補を追加しなくてもよい。
また、前記現在のブロックに適用されるアフィン動きモデルが6アフィン動きモデルである場合、前記現在のブロックに対するmv、mv及びmvが可用であると、エンコーディング装置/デコーディング装置は、前記導出されたmv、mv及びmvを前記現在のブロックのコンストラクテッド候補として導出することができる。一方、前記現在のブロックに対するmv、mv及び/又はmvが可用ではない場合、即ち、前記現在のブロックの周辺ブロックからmv、mv及びmvのうち少なくとも一つが導出されない場合、エンコーディング装置/デコーディング装置は、前記現在のブロックのアフィンMVPリストにコンストラクテッド候補を追加しなくてもよい。
前述した提案された実施例は、前記現在のブロックのアフィン動きモデルを生成するためのCPの動きベクトルが全て可用な場合にのみコンストラクテッド候補として考慮する方法である。ここで、可用である(available)という意味は、周辺ブロックの参照ピクチャと現在のブロックの参照ピクチャとが同一であることを示すことができる。即ち、前記コンストラクテッド候補は、前記現在のブロックのCPの各々に対する周辺ブロックの動きベクトルのうち、前記条件を満たす動きベクトルが存在する場合にのみ導出できる。従って、前記現在のブロックに適用されるアフィン動きモデルが4アフィン動きモデルである場合、前記現在のブロックのCP0とCP1のMV(即ち、前記mv及び前記mv)が可用な場合にのみ、前記コンストラクテッド候補が考慮できる。また、前記現在のブロックに適用されるアフィン動きモデルが6アフィン動きモデルである場合、前記現在のブロックのCP0、CP1、CP2のMV(即ち、前記mv、前記mv及び前記mv)が可用な場合にのみ前記コンストラクテッド候補が考慮できる。従って、提案された実施例にかかると、前述した数式6又は数式7に基づいて、CPに対する動きベクトルを導出する更なる構成が必要でないかもしれない。これを介して、前記コンストラクテッド候補を導出するための演算の複雑度を減らし得る。また、ただ同一の参照ピクチャを有するCPMVP候補が可用な場合のみを限定して前記コンストラクテッド候補が決定されるので、全般的なコーディング性能を向上させることができる。
一方、導出された継承されたアフィン候補と前記コンストラクテッドアフィン候補間のプルーニングチェック過程は行われなくてもよい。前記プルーニングチェック過程は、互いに同一であるか否かをチェックし、同じ候補である場合、後の順序で導出された候補を除去する過程を示すことができる。
前述した実施例は、図21及び図22のように示すことができる。
図21は、前記現在のブロックに4アフィン動きモデルが適用される場合に、前記コンストラクテッド候補を導出する一例を示す。
図21を参照すると、エンコーディング装置/デコーディング装置は、前記現在のブロックに対するmv、mvが可用であるか判断することができる(S2100)。即ち、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックで可用なmv、mvが存在するか判断することができる。ここで、前記mvは、前記現在のブロックのCP0のCPMVP候補であってもよく、前記mvは、CP1のCPMVP候補であってもよい。
エンコーディング装置/デコーディング装置は、第1のグループで可用なmvが存在するか判断することができ、第2のグループで可用なmvが存在するか判断することができる。
具体的に前記現在のブロックの周辺ブロックは、3個のグループに分けられ、前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE、周辺ブロックF、及び周辺ブロックGを含むことができる。前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含んでもよく、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含んでもよく、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含んでもよい。前記周辺ブロックAは、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックBは、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックCは、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックDは、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックEは、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができ、前記周辺ブロックFは、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックGは、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
エンコーディング装置/デコーディング装置は、前記第1のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、エンコーディング装置/デコーディング装置は、前記第2のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第2のグループ内の前記周辺ブロックの動きベクトルが 前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
前記現在のブロックに対する前記mv及び前記mvが可用な場合、即ち、前記現在のブロックに対する前記mv及び前記mvが導出された場合、エンコーディング装置/デコーディング装置は、前記導出されたmv及びmvを前記現在のブロックのコンストラクテッド候補として導出することができる(S2110)。一方、前記現在のブロックに対するmv及び/又はmvが可用ではない場合、即ち、前記現在のブロックの周辺ブロックからmv及びmvのうち少なくとも一つが導出されない場合、エンコーディング装置/デコーディング装置は、前記現在のブロックのアフィンMVPリストにコンストラクテッド候補を追加しなくてもよい。
一方、導出された継承されたアフィン候補と前記コンストラクテッドアフィン候補との間のプルーニングチェック過程は行われなくてもよい。前記プルーニングチェック過程が互いに同一であるか否かをチェックし、同じ候補の場合、後の順序に導出された候補を除去する過程を示すことができる。
図22は、前記現在のブロックに6アフィン動きモデルが適用される場合に、前記コンストラクテッド候補を導出する一例を示す。
図22を参照すると、エンコーディング装置/デコーディング装置は、前記現在のブロックに対するmv、mv、mvが可用であるか判断することができる(S2200)。即ち、エンコーディング装置/デコーディング装置は、前記現在のブロックの周辺ブロックで可用なmv、mv、mvが存在するか判断することができる。ここで、前記mvは、前記現在のブロックのCP0のCPMVP候補であってもよく、前記mvはCP1のCPMVP候補であってもよく、前記mvはCP2のCPMVP候補であってもよい。
エンコーディング装置/デコーディング装置は、第1のグループで可用なmvが存在するか判断することができ、第2のグループで可用なmvが存在するか判断することができ、第3のグループで可用なmvが存在するか判断することができる。
具体的に前記現在のブロックの周辺ブロックは、3個のグループに分けられ、前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE、周辺ブロックF、及び周辺ブロックGを含むことができる。前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含んでもよく、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含んでもよく、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含んでもよい。前記周辺ブロックAは、前記現在のブロックの左上段のサンプルポジションの左上段に位置する周辺ブロックを示すことができ、前記周辺ブロックBは、前記現在のブロックの左上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックCは、前記現在のブロックの左上段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックDは、前記現在のブロックの右上段のサンプルポジションの上段に位置する周辺ブロックを示すことができ、前記周辺ブロックEは、前記現在のブロックの右上段のサンプルポジションの右上段に位置する周辺ブロックを示すことができ、前記周辺ブロックFは、前記現在のブロックの左下段のサンプルポジションの左段に位置する周辺ブロックを示すことができ、前記周辺ブロックGは、前記現在のブロックの左下段のサンプルポジションの左下段に位置する周辺ブロックを示すことができる。
エンコーディング装置/デコーディング装置は、前記第1のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、エンコーディング装置/デコーディング装置は、前記第2のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであってもよい。前記第2のグループ内の前記周辺ブロックの動きベクトルが 前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
また、エンコーディング装置/デコーディング装置は、前記第3のグループ内の周辺ブロックの動きベクトルを特定順序によって特定の条件を満たすかチェックすることができる。エンコーディング装置/デコーディング装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mvとして導出することができる。即ち、前記mvは、特定順序によって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定の条件を満たす動きベクトルであり得る。前記第3のグループ内の前記周辺ブロックの動きベクトルが 前記特定の条件を満たさない場合、可用なmvは存在しなくてもよい。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順であってもよい。また、例えば、前記特定の条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在のブロックの参照ピクチャと同じものであってもよい。
前記現在のブロックに対する前記mv、前記mv及び前記mvが可用な場合、即ち、前記現在のブロックに対する前記mv、前記mv及び前記mvが導出された場合、エンコーディング装置/デコーディング装置は、前記導出されたmv、mv及びmvを前記現在のブロックのコンストラクテッド候補として導出することができる(S2210).一方、前記現在のブロックに対するmv、mv及び/又はmvが可用ではない場合、即ち、前記現在のブロックの周辺ブロックからmv、mv及びmvのうち少なくとも一つが導出されない場合、エンコーディング装置/デコーディング装置は、前記現在のブロックのアフィンMVPリストにコンストラクテッド候補を追加しなくてもよい。
一方、導出された継承されたアフィン候補と前記コンストラクテッドアフィン候補間のプルーニングチェック過程は、行われなくてもよい。
一方、導出されたアフィン候補の個数が2よりも小さい場合(即ち、継承されたアフィン候補及び/又はコンストラクテッドアフィン候補の個数が2個よりも小さい場合)、前記現在のブロックのアフィンMVPリストにHEVC AMVP候補が追加され得る。
例えば、前記HEVC AMVP候補は、次の順序に導出されることができる。
具体的に、導出されたアフィン候補の個数が2よりも小さい場合に、前記コンストラクテッドアフィン候補のCPMV0が可用な場合、前記CPMV0が前記アフィンMVP候補として使用できる。即ち、導出されたアフィン候補の個数が2よりも小さい場合に、前記コンストラクテッドアフィン候補のCPMV0が可用な場合(即ち、導出されたアフィン候補の個数が2よりも小さく、前記コンストラクテッドアフィン候補のCPMV0が導出された場合)、前記コンストラクテッドアフィン候補のCPMV0をCPMV0、CPMV1、CPMV2で含む第1のアフィンMVP候補が導出できる。
また、次に導出されたアフィン候補の個数が2よりも小さい場合に、前記コンストラクテッドアフィン候補のCPMV1が可用な場合、前記CPMV1が前記アフィンMVP候補として使用できる。即ち、導出されたアフィン候補の個数が2よりも小さい場合に、前記コンストラクテッドアフィン候補のCPMV1が可用な場合(即ち、導出されたアフィン候補の個数が2よりも小さく、前記コンストラクテッドアフィン候補のCPMV1が導出された場合)、前記コンストラクテッドアフィン候補のCPMV1をCPMV0、CPMV1、CPMV2で含む第2のアフィンMVP候補が導出できる。
また、次に、導出されたアフィン候補の個数が2よりも小さい場合に、前記コンストラクテッドアフィン候補のCPMV2が可用な場合、前記CPMV2が前記アフィンMVP候補として使用できる。即ち、導出されたアフィン候補の個数が2よりも小さい場合に、前記コンストラクテッドアフィン候補のCPMV2が可用な場合(即ち、導出されたアフィン候補の個数が2よりも小さく、前記コンストラクテッドアフィン候補のCPMV2が導出された場合)、前記コンストラクテッドアフィン候補のCPMV2をCPMV0、CPMV1、CPMV2で含む第3のアフィンMVP候補が導出できる。
また、次に、導出されたアフィン候補の個数が2よりも小さい場合、HEVC TMVP(Temporal Motion vector predictor)が前記アフィンMVP候補として使用できる。前記HEVC TMVPは、前記現在のブロックの時間的周辺ブロックの動き情報に基づいて導出されることができる。即ち、導出されたアフィン候補の個数が2よりも小さい場合、前記現在のブロックの時間的周辺ブロックの動きベクトルをCPMV0、CPMV1、CPMV2で含む第3のアフィンMVP候補が導出できる。前記時間的周辺ブロックは、前記現在のブロックに対応する同一位置ピクチャ(collocated picture)内の同一位置 ブロック(collocated block)を示すことができる。
また、次に、導出されたアフィン候補の個数が2よりも小さい場合、ゼロ動きベクトル(zero motion vector、zero MV)が前記アフィンMVP候補として使用できる。即ち、導出されたアフィン候補の個数が2よりも小さい場合、前記ゼロ動きベクトルをCPMV0、CPMV1、CPMV2で含む第3のアフィンMVP候補が導出できる。前記ゼロ動きベクトルは、値が0である動きベクトルを示すことができる。
これは、コンストラクテッドアフィン候補のCPMVを使用する段階は、コンストラクテッドアフィン候補の生成のために既に考慮されたMVを再使用するため、既存のHEVC AMVP候補を導出する方法に比べて、複雑度を低くすることができる。
一方、本文書は、前記継承されたアフィン候補を導出する別の実施例を提案する。
前記継承されたアフィン候補を導出するためには周辺ブロックのアフィン予測の情報が必要であり、具体的に次のようなアフィン予測の情報が必要である。
1)前記周辺ブロックのアフィン予測ベースのエンコーディングが適用されているか否かを示すアフィンフラグ(affine_flag)
2)前記周辺ブロックの動き情報
前記周辺ブロックに4アフィン動きモデルが適用された場合、前記周辺ブロックの動き情報は、CP0に対するL0動き情報及びL1動き情報とCP1に対するL0動き情報及びL1動き情報を含むことができる。また、前記周辺ブロックに6アフィン動きモデルが適用された場合、前記周辺ブロックの動き情報は、CP0に対するL0動き情報及びL1動き情報、並びにCP2に対するL0動き情報及びL1動き情報を含むことができる。ここで、前記L0動き情報は、L0(List 0)に対する動き情報を示すことができ、前記L1動き情報は、L1(List 1)に対する動き情報を示すことができる。前記L0動き情報は、L0参照ピクチャインデックス及びL0動きベクトルを含むことができ、前記L1動き情報は、L1参照ピクチャインデックス及びL1動きベクトルを含むことができる。
前述した内容のようにアフィン予測の場合、保存されなければならない情報の量が多く、よって、エンコーディング装置/デコーディング装置で実際の実現においてハードウェアの費用を増加させる主要な原因になり得る。特に、周辺ブロックが現在のブロックの上側に位置し、CTUバウンダリー(boundary)である場合、前記周辺ブロックのアフィン予測関連の情報を保存するために、ラインバッファー(line buffer)が使用されなければならないので、費用的な問題がさらに大きく発生し得る。前記問題は、以下、ラインバッファーイシュー(line buffer issue)と示し得る。よって、本文書は、ラインバッファーにアフィン予測関連の情報が保存されていないか、減らすことによって、ハードウェアの費用を最小化し、継承されたアフィン候補を導出する実施例を提案する。提案される実施例は、前記継承されたアフィン候補を導出するにあたって、演算の複雑度を減らしてコーディング性能を向上させることができる。一方、参考までに、ラインバッファーには既に4x4サイズのブロックの動き情報が保存されており、前記アフィン予測関連の情報が更に保存される場合、保存情報量が既存の保存量に対して3倍増加し得る。
本実施例では、ラインバッファーに更にアフィン予測に対するいかなる情報も保存しなくてもよく、前記継承されたアフィン候補の生成のためにラインバッファー内の情報が参照されなければならない場合、前記継承されたアフィン候補の生成が制限され得る。
図23a乃至図23bは、前記継承されたアフィン候補を導出する実施例を例示的に示す。
図23aを参照すると、前記現在のブロックの周辺ブロックB(即ち、前記現在のブロックの上側の周辺ブロック)が前記現在のブロックと同一のCTU(即ち、現在のCTU)に存在しない場合、前記継承されたアフィン候補の生成のために前記周辺ブロックBは使用されなくてもよい。一方、周辺ブロックAも、前記現在のブロックと同一のCTUに存在しないが、前記周辺ブロックAに対する情報は、ラインバッファーに保存されないので、前記継承されたアフィン候補の生成のために使用されてもよい。従って、本実施例では、前記現在のブロックの上側の周辺ブロックが前記現在のブロックと同一のCTUに含まれる場合にのみ、前記継承されたアフィン候補を導出するために使用されることができる。また、前記現在のブロックの上側の周辺ブロックが前記現在のブロックと同一のCTUに含まれない場合、前記上側の周辺ブロックは、前記継承されたアフィン候補を導出するために使用されなくてもよい。
図23bを参照すると、前記現在のブロックの周辺ブロックB(即ち、前記現在のブロックの上側の周辺ブロック)が前記現在のブロックと同一のCTUに存在してもよい。この場合、エンコーディング装置/デコーディング装置は、前記周辺ブロックBを参照し、前記継承されたアフィン候補を生成することができる。
図24は、本文書によるエンコーディング装置による画像のエンコーディング方法を概略的に示す。図24に開示の方法は、図2に開示のエンコーディング装置によって行われる。具体的に、例えば、図24のS2400乃至S2430は、前記エンコーディング装置の予測部によって行われてもよく、S2440は、前記エンコーディング装置のエントロピーエンコーディング部によって行われてもよい。また、示してはいないが、前記CPMVに基づいて前記現在のブロックに対する予測サンプルを導出する過程は、前記エンコーディング装置の予測部によって行われてもよく、前記現在のブロックに対する原本サンプルと予測サンプルに基づいて、前記現在のブロックに対する残差サンプルを導出する過程は、前記エンコーディング装置の減算部によって行われてもよく、前記残差サンプルに基づいて前記現在のブロックに対する残差に関する情報を生成する過程は、前記エンコーディング装置の変換部によって行われてもよく、前記残差に関する情報をエンコーディングする過程は、前記エンコーディング装置のエントロピーエンコーディング部によって行われてもよい。
エンコーディング装置は、現在のブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補リストを構成する(S2400)。エンコーディング装置は、前記現在のブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを構成することができる。前記アフィンMVP候補リストの前記アフィンMVP候補の最大の個数は2であり得る。
また、一例として、前記アフィンMVP候補リストは、継承された(inherited)アフィンMVP候補を含むことができる。エンコーディング装置は、前記現在のブロックの継承された(inherited)アフィンMVP候補が可用であるかチェックすることができ、前記継承されたアフィンMVP候補が可用な場合、前記継承されたアフィンMVP候補が導出できる。例えば、前記継承されたアフィンMVP候補は、前記現在のブロックの周辺ブロックに基づいて導出されることができ、前記継承されたアフィンMVP候補の最大の個数は2であり得る。前記周辺ブロックは、特定順序に可用であるかチェックされることができ、チェックされた可用な周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出できる。即ち、前記周辺ブロックは、特定順序に可用であるかチェックされることができ、最初にチェックされた可用な周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出でき、二番目にチェックされた可用な周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出できる。前記可用であることは、アフィン動きモデルでコーディングされ、周辺ブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であることを示すことができる。即ち、可用な周辺ブロックは、アフィン動きモデルでコーディングされ(即ち、アフィン予測が適用され)、参照ピクチャが前記現在のブロックの参照ピクチャと同一の周辺ブロックであってもよい。具体的にエンコーディング装置は、前記最初にチェックされた可用な周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第1の継承されたアフィンMVP候補を導出することができる。また、エンコーディング装置は、前記二番目にチェックされた可用な周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第2の継承されたアフィンMVP候補を導出することができる。前記アフィン動きモデルは、前述した数式1又は数式3のように導出されることができる。
また、言い換えると、前記周辺ブロックは、特定順序に特定の条件を満たすかチェックされることができ、チェックされた前記特定の条件を満たす周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出できる。即ち、前記周辺ブロックは、特定順序に前記特定の条件を満たすかチェックされることができ、最初にチェックされた前記特定の条件を満たす周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出でき、二番目にチェックされた前記特定の条件を満たす周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出できる。具体的に、エンコーディング装置は、前記最初にチェックされた前記特定の条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第1の継承されたアフィンMVP候補を導出することができる。また、エンコーディング装置は、前記二番目にチェックされた前記特定の条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第2の継承されたアフィンMVP候補を導出することができる。前記アフィン動きモデルは、前述した数式1又は数式3のように導出されることができる。一方、前記特定の条件は、アフィン動きモデルでコーディングされ、周辺ブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であることを示すことができる。即ち、前記特定の条件を満たす周辺ブロックは、アフィン動きモデルでコーディングされ(即ち、アフィン予測が適用され)、参照ピクチャが前記現在のブロックの参照ピクチャと同一の周辺ブロックであってもよい。
ここで、例えば、前記周辺ブロックは、前記現在のブロックの左側の周辺ブロック、上側の周辺ブロック、右上側角の周辺ブロック、左下側角の周辺ブロック、及び左上側角の周辺ブロックを含むことができる。この場合、前記特定順序は、前記左側の周辺ブロックから前記左下側角の周辺ブロック、前記上側の周辺ブロック、前記右上側角の周辺ブロック、前記左上側角の周辺ブロックへの順であってもよい。
或いは、例えば、前記周辺ブロックは、前記左側の周辺ブロック及び前記上側の周辺ブロックのみを含むことができる。この場合、前記特定順序は、前記左側の周辺ブロックから前記上側の周辺ブロックへの順であってもよい。
若しくは、例えば、前記周辺ブロックは、前記左側の周辺ブロックを含むことができ、前記上側の周辺ブロックが前記現在のブロックを含む現在のCTUに含まれる場合、前記周辺ブロックは、前記上側の周辺ブロックを更に含むことができる。この場合、前記特定順序は、前記左側の周辺ブロックから前記上側の周辺ブロックへの順であってもよい。また、前記上側の周辺ブロックが現在のCTUに含まれない場合、前記周辺ブロックは、前記上側の周辺ブロックを含まなくてもよい。この場合、前記左側の周辺ブロックのみがチェックできる。
一方、サイズがWxHであり、前記現在のブロックの左上段(top-left) のサンプルポジションのx成分が0、及びy成分が0である場合、前記左下側角の周辺ブロックは、(-1、H)座標のサンプルを含むブロックであってもよく、前記左側の周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックであってもよく、前記右上側角の周辺ブロックは、(W、-1)座標のサンプルを含むブロックであってもよく、前記上側の周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックであってもよく、前記左上側角の周辺ブロックは、(-1、-1)座標のサンプルを含むブロックであってもよい。即ち、前記左側の周辺ブロックは、前記現在のブロックの左側の周辺ブロックのうち最も下側に位置する左側の周辺ブロックであってもよく、前記上側の周辺ブロックは、前記現在のブロックの上側の周辺ブロックのうち最も左側に位置する上側の周辺ブロックであってもよい。
また、一例として、コンストラクテッド(constructed)アフィンMVP候補が可用な場合、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。エンコーディング装置は、前記現在のブロックのコンストラクテッド(constructed)アフィンMVP候補が可用であるかチェックすることができ、前記コンストラクテッドアフィンMVP候補が可用な場合、前記コンストラクテッドアフィンMVP候補が導出できる。また、例えば、前記継承されたアフィンMVP候補が導出された以降、前記コンストラクテッドアフィンMVP候補が導出できる。導出されたアフィンMPV候補(即ち、前記継承されたアフィンMVP候補)の個数が2個よりも小さく、前記コンストラクテッドアフィンMVP候補が可用な場合、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。ここで、前記コンストラクテッドアフィンMVP候補は、前記CPに対する候補動きベクトル(candidate motion vectors)を含むことができる。前記コンストラクテッドアフィンMVP候補は、前記候補動きベクトルがいずれも可用な場合に、可用であってもよい。
例えば、前記現在のブロックに4アフィン動きモデル(4 affine motion model)が適用される場合、前記現在のブロックの前記CPは、CP0及びCP1を含むことができる。前記CP0に対する候補動きベクトルが可用であり、前記CP1に対する候補動きベクトルが可用な場合、前記コンストラクテッドアフィンMVP候補は、可用であってもよく、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。ここで、前記CP0は、前記現在のブロックの左上段の位置を示してもよく、前記CP1は、前記現在のブロックの右上段の位置を示してもよい。
前記コンストラクテッドアフィンMVP候補は、前記CP0に対する候補動きベクトル及び前記CP1に対する候補動きベクトルを含むことができる。前記CP0に対する候補動きベクトルは、第1のブロックの動きベクトルであってもよく、前記CP1に対する候補動きベクトルは、第2のブロックの動きベクトルであってもよい。
また、前記第1のブロックは、第1の特定順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。即ち、前記CP1に対する候補動きベクトルは、第1の順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックの動きベクトルであってもよい。前記可用であることは、前記周辺ブロックが存在し、前記周辺ブロックがインター予測でコーディングされることを示すことができる。ここで、前記第1のグループ内の前記第1のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP0に対する候補動きベクトルが可用であってもよい。また、例えば、前記第1のグループは、周辺ブロックA、周辺ブロックB、周辺ブロックCを含んでもよく、前記第1の特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。
また、前記第2のブロックは、第2の特定順序によって前記第2のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第2のグループ内の前記第2のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP1に対する候補動きベクトルが可用であってもよい。また、例えば、前記第2のグループは、周辺ブロックD、周辺ブロックEを含んでもよく、前記第2の特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順であってもよい。
一方、前記現在のブロックのサイズがWxHであり、前記現在のブロックの左上段(top-left)のサンプルポジションのx成分が0、及びy成分が0である場合、前記周辺ブロックAは(-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックBは(0、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックCは(-1、0)座標のサンプルを含むブロックであってもよく、前記周辺ブロックDは(W-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックEは(W、-1)座標のサンプルを含むブロックであってもよい。即ち、前記周辺ブロックAは、前記現在のブロックの左上側角の周辺ブロックであってもよく、前記周辺ブロックBは、前記現在のブロックの上側の周辺ブロックのうちの最も左側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックCは、前記現在のブロックの左側の周辺ブロックのうち最も上側に位置する左側の周辺ブロックであってもよく、前記周辺ブロックDは、前記現在のブロックの上側の周辺ブロックのうち最も右側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックEは、前記現在のブロックの右上側角の周辺ブロックであってもよい。
一方、前記CP0の候補動きベクトル及び前記CP1の候補動きベクトルのうち少なくとも一つが可用ではない場合、前記コンストラクテッドアフィンMVP候補は、可用でなくてもよい。
或いは、例えば、前記現在のブロックに6アフィン動きモデル(6 affine motion model)が適用される場合、前記現在のブロックの前記CPは、CP0、CP1、及びCP2を含むことができる。前記CP0に対する候補動きベクトルが可用であり、前記CP1に対する候補動きベクトルが可用であり、前記CP2に対する候補動きベクトルが可用な場合、前記コンストラクテッドアフィンMVP候補は、可用であってもよく、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。ここで、前記CP0は、前記現在のブロックの左上段の位置を示すことができ、前記CP1は、前記現在のブロックの右上段の位置を示すことができ、前記CP2は、前記現在のブロックの左下段の位置を示すことができる。
前記コンストラクテッドアフィンMVP候補は、前記CP0に対する候補動きベクトル、前記CP1に対する候補動きベクトル及び前記CP2に対する候補動きベクトルを含むことができる。前記CP0に対する候補動きベクトルは第1のブロックの動きベクトルであってもよく、前記CP1に対する候補動きベクトルは第2のブロックの動きベクトルであってもよく、前記CP2に対する候補動きベクトルは第3のブロックの動きベクトルであってもよい。
また、前記第1のブロックは、第1の特定順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第1のグループ内の前記第1のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP0に対する候補動きベクトルが可用であってもよい。また、例えば、前記第1のグループは、周辺ブロックA、周辺ブロックB、周辺ブロックCを含んでもよく、前記第1の特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。
また、前記第2のブロックは、第2の特定順序によって前記第2のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであり得る。ここで、前記第2のグループ内の前記第2のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP1に対する候補動きベクトルが可用であってもよい。また、例えば、前記第2のグループは、周辺ブロックD、周辺ブロックEを含んでもよく、前記第2の特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順であってもよい。
また、前記第3のブロックは、第3の特定順序によって前記第3のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第3のグループ内の前記第3のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP2に対する候補動きベクトルが可用であってもよい。また、例えば、前記第3のグループは、周辺ブロックF、周辺ブロックGを含んでもよく、前記第3の特定順序は、前記周辺ブロックFから前記周辺ブロックGへの順であってもよい。
一方、前記現在のブロックのサイズがWxHであり、前記現在のブロックの左上段(top-left)のサンプルポジションのx成分が0及びy成分が0である場合、前記周辺ブロックAは(-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックBは(0、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックCは(-1、0)座標のサンプルを含むブロックであってもよく、前記周辺ブロックDは(W-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックEは(W、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックFは(-1、H-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックGは(-1、H)座標のサンプルを含むブロックであってもよい。即ち、前記周辺ブロックAは前記現在のブロックの左上側角の周辺ブロックであってもよく、前記周辺ブロックBは前記現在のブロックの上側の周辺ブロックのうち最も左側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックCは前記現在のブロックの左側の周辺ブロックのうち最も上側に位置する左側の周辺ブロックであってもよく、前記周辺ブロックDは前記現在のブロックの上側の周辺ブロックのうち最も右側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックEは前記現在のブロックの右上側角の周辺ブロックであってもよく、前記周辺ブロックFは前記現在のブロックの左側の周辺ブロックのうち最も下側に位置する左側の周辺ブロックであってもよく、前記周辺ブロックGは前記現在のブロックの左下側角の周辺ブロックであってもよい。
一方、前記CP0の候補動きベクトル、前記CP1の候補動きベクトル及び前記CP2の候補動きベクトルのうち少なくとも一つが可用ではない場合、前記コンストラクテッドアフィンMVP候補は、可用でなくてもよい。
以降、前記アフィンMVP候補リストは、後述する順序の段階に基づいて導出されることができる。
例えば、導出されたアフィンMVP候補の個数が2個よりも小さく、前記CP0に対する動きベクトルが可用な場合、エンコーディング装置は、第1のアフィンMVP候補を導出することができる。ここで、前記第1のアフィンMVP候補は、前記CP0に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補であってもよい。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さく、前記CP1に対する動きベクトルが可用な場合、エンコーディング装置は、第2のアフィンMVP候補を導出することができる。ここで、前記第2のアフィンMVP候補は、前記CP1に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補であってもよい。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さく、前記CP2に対する動きベクトルが可用な場合、エンコーディング装置は、第3のアフィンMVP候補を導出することができる。ここで、前記第3のアフィンMVP候補は、前記CP2に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補であってもよい。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さい場合、エンコーディング装置は、前記現在のブロックの時間的周辺ブロックに基づいて導出された時間的MVPを前記CPに対する候補動きベクトルで含む第4のアフィンMVP候補を導出することができる。前記時間的周辺ブロックは、前記現在のブロックに対応する同一位置ピクチャ(collocated picture)内の同一位置 ブロック(collocated block)を示すことができる。前記時間的MVPは、前記時間的周辺ブロックの動きベクトルに基づいて導出されることができる。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さい場合、エンコーディング装置は、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルで含む第5のアフィンMVP候補を導出することができる。前記ゼロ動きベクトルは、値が0である動きベクトルを示すことができる。
エンコーディング装置は、前記アフィンMVP候補リストに基づいて、前記現在のブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出する(S2410)。エンコーディング装置は、最適のRDコストを有する前記現在のブロックの前記CPに対するCPMVを導出することができ、前記アフィンMVP候補のうち、前記CPMVと最も類似のアフィンMVP候補を前記現在のブロックに対するアフィンMVP候補として選択することができる。エンコーディング装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、前記選択されたアフィンMVP候補に基づいて、前記現在のブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出することができる。具体的にアフィンMVP候補がCP0に対する候補動きベクトル及びCP1に対する候補動きベクトルを含む場合、前記アフィンMVP候補のCP0に対する候補動きベクトルは、前記CP0のCPMVPとして導出されることができ、前記アフィンMVP候補のCP1に対する候補動きベクトルは、前記CP1のCPMVPとして導出されることができる。また、アフィンMVP候補がCP0に対する候補動きベクトル、CP1に対する候補動きベクトル、及びCP2に対する候補動きベクトルを含む場合、前記アフィンMVP候補のCP0に対する候補動きベクトルは、前記CP0のCPMVPとして導出されることができ、前記アフィンMVP候補のCP1に対する候補動きベクトルは、前記CP1のCPMVPとして導出されることができ、前記アフィンMVP候補のCP2に対する候補動きベクトルは、前記CP2のCPMVPとして導出されることができる。また、アフィンMVP候補がCP0に対する候補動きベクトル及びCP2に対する候補動きベクトルを含む場合、前記アフィンMVP候補のCP0に対する候補動きベクトルは、前記CP0のCPMVPとして導出されることができ、前記アフィンMVP候補のCP2に対する候補動きベクトルは、前記CP2のCPMVPとして導出されることができる。
エンコーディング装置は、前記アフィンMVP候補のうち、前記選択されたアフィンMVP候補を指すアフィンMVP候補インデックスをエンコーディングすることができる。前記アフィンMVP候補インデックスは、前記現在のブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、前記1つのアフィンMVP候補を指すことができる。
エンコーディング装置は、前記現在のブロックの前記CPに対するCPMVを導出する(S2420)。エンコーディング装置は、前記現在のブロックの前記CPの各々に対するCPMVを導出することができる。
エンコーディング装置は、前記CPMVP及び前記CPMVに基づいて、前記現在のブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出する(S2430)。エンコーディング装置は、前記CPの各々に対する前記CPMVP及び前記CPMVに基づいて、前記現在のブロックの前記CPに対するCPMVDを導出することができる。
エンコーディング装置は、前記CPMVDに対する情報を含む動き予測情報(motion prediction information)をエンコーディングする(S2440)。エンコーディング装置は、前記CPMVDに対する情報を含む動き予測情報をビットストリームの形態で出力することができる。即ち、エンコーディング装置は、前記動き予測情報を含む画像の情報をビットストリームの形態で出力することができる。エンコーディング装置は、前記CPの各々に対するCPMVDに対する情報をエンコーディングすることができ、前記動き予測情報は、前記CPMVDに対する情報を含むことができる。
また、前記動き予測情報は、前記アフィンMVP候補インデックスを含むことができる。前記アフィンMVP候補インデックスは、前記現在のブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、前記選択されたアフィンMVP候補を指すことができる。
一方、一例として、エンコーディング装置は、前記CPMVに基づいて前記現在のブロックに対する予測サンプルを導出することができ、前記現在のブロックに対する原本サンプルと予測サンプルに基づいて、前記現在のブロックに対する残差サンプルを導出することができ、前記残差サンプルに基づいて、前記現在のブロックに対する残差に関する情報を生成することができ、前記残差に関する情報をエンコーディングすることができる。前記画像の情報は、前記残差に関する情報を含むことができる。一方、前記ビットストリームは、ネットワークまたは(デジタル)保存媒体を介してデコーディング装置に送信されることができる。ここで、ネットワークは、放送網及び/又は通信網等を含むことができ、デジタル保存媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSD等様々な保存媒体を含むことができる。
図25は、本文書による画像のエンコーディング方法を行うエンコーディング装置を概略的に示す。図24に開示の方法は、図25に開示のエンコーディング装置によって行われる。具体的に、例えば、図25の前記エンコーディング装置の予測部は、図24のS2400乃至S2430を行うことができ、図25の前記エンコーディング装置のエントロピーエンコーディング部は、図24のS2440を行うことができる。また、示してはいないが、前記CPMVに基づいて前記現在のブロックに対する予測サンプルを導出する過程は、図25のエンコーディング装置の予測部によって行われてもよく、前記現在のブロックに対する原本サンプルと予測サンプルに基づいて前記現在のブロックに対する残差サンプルを導出する過程は、図25の前記エンコーディング装置の減算部によって行われてもよく、前記残差サンプルに基づいて前記現在のブロックに対する残差に関する情報を生成する過程は、図25の前記エンコーディング装置の変換部によって行われてもよく、前記残差に関する情報をエンコーディングする過程は、図25の前記エンコーディング装置のエントロピーエンコーディング部によって行われてもよい。
図26は、本文書によるデコーディング装置による画像のデコーディング方法を概略的に示す。図26に開示の方法は、図3に開示のデコーディング装置によって行われる。具体的に、例えば、図26のS2600は、前記デコーディング装置のエントロピーデコーディング部によって行われてもよく、S2610乃至S2650は、前記デコーディング装置の予測部によって行われてもよく、S2660は、前記デコーディング装置の加算部によって行われてもよい。また、示してはいないが、ビットストリームを介して現在のブロックの残差に関する情報を獲得する過程は、前記デコーディング装置のエントロピーデコーディング部によって行われてもよく、前記残差情報に基づいて前記現在のブロックに対する前記残差サンプルを導出する過程は、前記デコーディング装置の逆変換部によって行われてもよい。
デコーディング装置は、ビットストリームから現在のブロックに対する動き予測情報(motion prediction information)を獲得する(S2600)。デコーディング装置は、前記ビットストリームから前記動き予測情報を含む画像の情報を獲得することができる。
また、例えば、前記動き予測情報は、前記現在のブロックのCP(control point)に対するCPMVD(Control Point Motion Vector Differences)に対する情報を含むことができる。即ち、前記動き予測情報は、前記現在のブロックのCPの各々に対するCPMVDに対する情報を含むことができる。
また、例えば、前記動き予測情報は、前記現在のブロックに対するアフィンMVP候補インデックスを含むことができる。前記アフィンMVP候補インデックスは、 前記現在のブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち一つを指すことができる。
デコーディング装置は、前記現在のブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補リストを構成する(S2610)。デコーディング装置は、前記現在のブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを構成することができる。前記アフィンMVP候補リストの前記アフィンMVP候補の最大の個数は2であり得る。
また、一例として、前記アフィンMVP候補リストは、継承された(inherited)アフィンMVP候補を含むことができる。デコーディング装置は、前記現在のブロックの継承された(inherited)アフィンMVP候補が可用であるかチェックすることができ、前記継承されたアフィンMVP候補が可用な場合、前記継承されたアフィンMVP候補が導出できる。例えば、前記継承されたアフィンMVP候補は、前記現在のブロックの周辺ブロックに基づいて導出されることができ、前記継承されたアフィンMVP候補の最大の個数は2であり得る。前記周辺ブロックは、特定順序に可用であるかチェックされることができ、チェックされた可用な周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出できる。即ち、前記周辺ブロックは、特定順序に可用であるかチェックされることができ、最初にチェックされた可用な周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出でき、二番目にチェックされた可用な周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出できる。前記可用であることは、アフィン動きモデルでコーディングされ、周辺ブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であることを示すことができる。即ち、可用な周辺ブロックは、アフィン動きモデルでコーディングされ(即ち、アフィン予測が適用され)、参照ピクチャが前記現在のブロックの参照ピクチャと同一の周辺ブロックであってもよい。具体的に、デコーディング装置は、前記最初にチェックされた可用な周辺ブロックのアフィン動きモデルに基づいて、前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第1の継承されたアフィンMVP候補を導出することができる。また、デコーディング装置は、前記二番目にチェックされた可用な周辺ブロックのアフィン動きモデルに基づいて、前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第2の継承されたアフィンMVP候補を導出することができる。前記アフィン動きモデルは、前述した数式1又は数式3のように導出されることができる。
また、言い換えると、前記周辺ブロックは、特定順序に特定の条件を満たすかチェックされることができ、チェックされた前記特定の条件を満たす周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出できる。即ち、前記周辺ブロックは、特定順序に前記特定の条件を満たすかチェックされることができ、最初にチェックされた前記特定の条件を満たす周辺ブロックに基づいて、第1の継承されたアフィンMVP候補が導出でき、二番目にチェックされた前記特定の条件を満たす周辺ブロックに基づいて、第2の継承されたアフィンMVP候補が導出できる。具体的に、デコーディング装置は、前記最初にチェックされた前記特定の条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第1の継承されたアフィンMVP候補を導出することができる。また、デコーディング装置は、前記二番目にチェックされた前記特定の条件を満たす周辺ブロックのアフィン動きモデルに基づいて、前記現在のブロックのCPに対する動きベクトルを導出することができ、前記動きベクトルをCPMVP候補で含む前記第2の継承されたアフィンMVP候補を導出することができる。前記アフィン動きモデルは、前述した数式1又は数式3のように導出されることができる。一方、前記特定の条件は、アフィン動きモデルでコーディングされ、周辺ブロックの参照ピクチャは、前記現在のブロックの参照ピクチャと同一であることを示すことができる。即ち、前記特定の条件を満たす周辺ブロックは、アフィン動きモデルでコーディングされ(即ち、アフィン予測が適用され)、参照ピクチャが前記現在のブロックの参照ピクチャと同一の周辺ブロックであってもよい。
ここで、例えば、前記周辺ブロック は、前記現在のブロックの左側の周辺ブロック、上側の周辺ブロック、右上側角の周辺ブロック、左下側角の周辺ブロック、及び左上側角の周辺ブロックを含むことができる。この場合、前記特定順序は、前記左側の周辺ブロックから前記左下側角の周辺ブロック、前記上側の周辺ブロック、前記右上側角の周辺ブロック、前記左上側角の周辺ブロックへの順であってもよい。
或いは、例えば、前記周辺ブロックは、前記左側の周辺ブロック及び前記上側の周辺ブロックのみを含むことができる。この場合、前記特定順序は、前記左側の周辺ブロックから前記上側の周辺ブロックへの順であってもよい。
若しくは、例えば、前記周辺ブロックは、前記左側の周辺ブロックを含むことができ、前記上側の周辺ブロックが前記現在のブロックを含む現在のCTUに含まれる場合、前記周辺ブロックは、前記上側の周辺ブロックを更に含むことができる。この場合、前記特定順序は、前記左側の周辺ブロックから前記上側の周辺ブロックへの順であってもよい。また、前記上側の周辺ブロックが現在のCTUに含まれない場合、前記周辺ブロックは、前記上側の周辺ブロックを含まなくてもよい。この場合、前記左側の周辺ブロックのみがチェックできる。
一方、サイズがWxHであり、前記現在のブロックの左上段(top-left)のサンプルポジションのx成分が0、及びy成分が0である場合、前記左下側角の周辺ブロックは、(-1、H)座標のサンプルを含むブロックであってもよく、前記左側の周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックであってもよく、前記右上側角の周辺ブロックは、(W、-1)座標のサンプルを含むブロックであってもよく、前記上側の周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックであってもよく、前記左上側角の周辺ブロックは、(-1、-1)座標のサンプルを含むブロックであってもよい。即ち、前記左側の周辺ブロックは、前記現在のブロックの左側の周辺ブロックのうち最も下側に位置する左側の周辺ブロックであってもよく、前記上側の周辺ブロックは、前記現在のブロックの上側の周辺ブロックのうち最も左側に位置する上側の周辺ブロックであってもよい。
また、一例として、コンストラクテッド(constructed)アフィンMVP候補が可用な場合、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。デコーディング装置は、前記現在のブロックのコンストラクテッド(constructed)アフィンMVP候補が可用であるかチェックすることができ、前記コンストラクテッドアフィンMVP候補が可用な場合、前記コンストラクテッドアフィンMVP候補が導出できる。また、例えば、前記継承されたアフィンMVP候補が導出された以降に、前記コンストラクテッドアフィンMVP候補が導出できる。導出されたアフィンMPV候補(即ち、前記継承されたアフィンMVP候補)の個数が2個よりも小さく、前記コンストラクテッドアフィンMVP候補が可用な場合、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。ここで、前記コンストラクテッドアフィンMVP候補は、前記CPに対する候補動きベクトル(candidate motion vectors)を含むことができる。前記コンストラクテッドアフィンMVP候補は、前記候補動きベクトルが全て可用な場合に、可用であってもよい。
例えば、前記現在のブロックに4アフィン動きモデル(4 affine motion model)が適用される場合、前記現在のブロックの前記CPは、CP0及びCP1を含むことができる。前記CP0に対する候補動きベクトルが可用であり、前記CP1に対する候補動きベクトルが可用な場合、前記コンストラクテッドアフィンMVP候補は可用であってもよく、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。ここで、前記CP0は、前記現在のブロックの左上段の位置を示すことができ、前記CP1は、前記現在のブロックの右上段の位置を示すことができる。
前記コンストラクテッドアフィンMVP候補は、前記CP0に対する候補動きベクトル及び前記CP1に対する候補動きベクトルを含むことができる。前記CP0に対する候補動きベクトルは、第1のブロックの動きベクトルであってもよく、前記CP1に対する候補動きベクトルは、第2のブロックの動きベクトルであってもよい。
また、前記第1のブロックは、第1の特定順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。即ち、前記CP1に対する候補動きベクトルは、第1の順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックの動きベクトルであり得る。前記可用であることは、前記周辺ブロックが存在し、前記周辺ブロックがインター予測でコーディングされることを示すことができる。ここで、前記第1のグループ内の前記第1のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP0に対する候補動きベクトルが可用であってもよい。また、例えば、前記第1のグループは、周辺ブロックA、周辺ブロックB、周辺ブロックCを含んでもよく、前記第1の特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。
また、前記第2のブロックは、第2の特定順序によって前記第2のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第2のグループ内の前記第2のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP1に対する候補動きベクトルが可用であってもよい。また、例えば、前記第2のグループは、周辺ブロックD、周辺ブロックEを含んでもよく、前記第2の特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順であってもよい。
一方、前記現在のブロックのサイズがWxHであり、前記現在のブロックの左上段(top-left)のサンプルポジションのx成分が0、及びy成分が0である場合、前記周辺ブロックAは、(-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックBは、(0、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックCは、(-1、0)座標のサンプルを含むブロックであってもよく、前記周辺ブロックDは、(W-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックEは、(W、-1)座標のサンプルを含むブロックであってもよい。即ち、前記周辺ブロックAは、前記現在のブロックの左上側角の周辺ブロックであってもよく、前記周辺ブロックBは、前記現在のブロックの上側の周辺ブロックのうち最も左側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックCは、前記現在のブロックの左側の周辺ブロックのうち最も上側に位置する左側の周辺ブロックであってもよく、前記周辺ブロックDは、前記現在のブロックの上側の周辺ブロックのうち最も右側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックEは、前記現在のブロックの右上側角の周辺ブロックであってもよい。
一方、前記CP0の候補動きベクトル及び前記CP1の候補動きベクトルのうち少なくとも一つが可用ではない場合、前記コンストラクテッドアフィンMVP候補は、可用でなくてもよい。
或いは、例えば、前記現在のブロックに6アフィン動きモデル(6 affine motion model)が適用される場合、前記現在のブロックの前記CPは、CP0、CP1及びCP2を含むことができる。前記CP0に対する候補動きベクトルが可用であり、前記CP1に対する候補動きベクトルが可用であり、前記CP2に対する候補動きベクトルが可用な場合、前記コンストラクテッドアフィンMVP候補は、可用であってもよく、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含むことができる。ここで、前記CP0は、前記現在のブロックの左上段の位置を示すことができ、前記CP1は、前記現在のブロックの右上段 の位置を示すことができ、前記CP2は、前記現在のブロックの左下段の位置を示すことができる。
前記コンストラクテッドアフィンMVP候補は、前記CP0に対する候補動きベクトル、前記CP1に対する候補動きベクトル、及び前記CP2に対する候補動きベクトルを含むことができる。前記CP0に対する候補動きベクトルは、第1のブロックの動きベクトルであってもよく、前記CP1に対する候補動きベクトルは、第2のブロックの動きベクトルであってもよく、前記CP2に対する候補動きベクトルは、第3のブロックの動きベクトルであってもよい。
また、前記第1のブロックは、第1の特定順序によって前記第1のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第1のグループ内の前記第1のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP0に対する候補動きベクトルが可用であってもよい。また、例えば、前記第1のグループは、周辺ブロックA、周辺ブロックB、周辺ブロックCを含んでもよく、前記第1の特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であってもよい。
また、前記第2のブロックは、第2の特定順序によって前記第2のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第2のグループ内の前記第2のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP1に対する候補動きベクトルが可用であってもよい。また、例えば、前記第2のグループは、周辺ブロックD、周辺ブロックEを含んでもよく、前記第2の特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順であってもよい。
また、前記第3のブロックは、第3の特定順序によって前記第3のグループ内の周辺ブロックをチェックし、初めて確認された参照ピクチャが前記現在のブロックの参照ピクチャと同一のブロックであってもよい。ここで、前記第3のグループ内の前記第3のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一である場合、前記CP2に対する候補動きベクトルが可用であってもよい。また、例えば、前記第3のグループは、周辺ブロックF、周辺ブロックGを含んでもよく、前記第3の特定順序は、前記周辺ブロックFから前記周辺ブロックGへの順であってもよい。
一方、前記現在のブロックのサイズがWxHであり、前記現在のブロックの左上段(top-left)のサンプルポジションのx成分が0、及びy成分が0である場合、前記周辺ブロックAは(-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックBは(0、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックCは(-1、0)座標のサンプルを含むブロックであってもよく、前記周辺ブロックDは(W-1、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックEは(W、-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックFは(-1、H-1)座標のサンプルを含むブロックであってもよく、前記周辺ブロックGは(-1、H)座標のサンプルを含むブロックであってもよい。即ち、前記周辺ブロックAは前記現在のブロックの左上側角の周辺ブロックであってもよく、前記周辺ブロックBは前記現在のブロックの上側の周辺ブロックのうち最も左側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックCは前記現在のブロックの左側の周辺ブロックのうち最も上側に位置する左側の周辺ブロックであってもよく、前記周辺ブロックDは前記現在のブロックの上側の周辺ブロックのうち最も右側に位置する上側の周辺ブロックであってもよく、前記周辺ブロックEは前記現在のブロックの右上側角の周辺ブロックであってもよく、前記周辺ブロックFは前記現在のブロックの左側の周辺ブロックのうち最も下側に位置する左側の周辺ブロックであってもよく、前記周辺ブロックGは前記現在のブロックの左下側角の周辺ブロックであってもよい。
一方、前記CP0の候補動きベクトル、前記CP1の候補動きベクトル、及び前記CP2の候補動きベクトルのうち少なくとも一つが可用ではない場合、前記コンストラクテッドアフィンMVP候補は、可用でなくてもよい。
以降、前記アフィンMVP候補リストは、後述する順序の段階に基づいて導出されることができる。
例えば、導出されたアフィンMVP候補の個数が2個よりも小さく、前記CP0に対する動きベクトルが可用な場合、デコーディング装置は、第1のアフィンMVP候補を導出することができる。ここで、前記第1のアフィンMVP候補は、前記CP0に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補であってもよい。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さく、前記CP1に対する動きベクトルが可用な場合、デコーディング装置は、第2のアフィンMVP候補を導出することができる。ここで、前記第2のアフィンMVP候補は、前記CP1に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補であってもよい。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さく、前記CP2に対する動きベクトルが可用な場合、デコーディング装置は、第3のアフィンMVP候補を導出することができる。ここで、前記第3のアフィンMVP候補は、前記CP2に対する動きベクトルを前記CPに対する候補動きベクトルで含むアフィンMVP候補であってもよい。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さい場合、デコーディング装置は、前記現在のブロックの時間的周辺ブロックに基づいて導出された時間的MVPを前記CPに対する候補動きベクトルで含む第4のアフィンMVP候補を導出することができる。前記時間的周辺ブロックは、前記現在のブロックに対応する同一位置ピクチャ(collocated picture)内の同一位置ブロック(collocated block)を示すことができる。前記時間的MVPは、前記時間的周辺ブロックの動きベクトルに基づいて導出されることができる。
また、例えば、導出されたアフィンMVP候補の個数が2個よりも小さい場合、デコーディング装置は、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルで含む第5のアフィンMVP候補を導出することができる。前記ゼロ動きベクトルは、値が0である動きベクトルを示すことができる。
デコーディング装置は、前記アフィンMVP候補リストに基づいて前記現在のブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出する(S2620)。
デコーディング装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、特定のアフィンMVP候補を選択することができ、前記選択されたアフィンMVP候補を前記現在のブロックの前記CPに対するCPMVPとして導出することができる。例えば、デコーディング装置は、ビットストリームから前記現在のブロックに対する前記アフィンMVP候補インデックスを獲得することができ、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、前記アフィンMVP候補インデックスの指すアフィンMVP候補を前記現在のブロックの前記CPに対するCPMVPとして導出することができる。具体的に、アフィンMVP候補がCP0に対する候補動きベクトル及びCP1に対する候補動きベクトルを含む場合、前記アフィンMVP候補のCP0に対する候補動きベクトルは、前記CP0のCPMVPとして導出されることができ、前記アフィンMVP候補のCP1に対する候補動きベクトルは前記CP1のCPMVPとして導出されることができる。また、アフィンMVP候補がCP0に対する候補動きベクトル、CP1に対する候補動きベクトル、及びCP2に対する候補動きベクトルを含む場合、前記アフィンMVP候補のCP0に対する候補動きベクトルは、前記CP0のCPMVPとして導出されることができ、前記アフィンMVP候補のCP1に対する候補動きベクトルは、前記CP1のCPMVPとして導出されることができ、前記アフィンMVP候補のCP2に対する候補動きベクトルは、前記CP2のCPMVPとして導出されることができる。また、アフィンMVP候補がCP0に対する候補動きベクトル、及びCP2に対する候補動きベクトルを含む場合、前記アフィンMVP候補のCP0に対する候補動きベクトルは、前記CP0のCPMVPとして導出されることができ、前記アフィンMVP候補のCP2に対する候補動きベクトルは、前記CP2のCPMVPとして導出されることができる。
デコーディング装置は、前記動き予測情報に基づいて前記現在のブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出する(S2630)。前記動き予測情報は、前記CPの各々に対するCPMVDに対する情報を含むことができ、デコーディング装置は、前記CPの各々に対する前記CPMVDに対する情報に基づいて、前記現在のブロックの前記CPの各々に対する前記CPMVDを導出することができる。
デコーディング装置は、前記CPMVP及び前記CPMVDに基づいて、前記現在のブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導出する(S2640)。デコーディング装置は、前記CPの各々に対するCPMVP及びCPMVDに基づいて、各CPに対するCPMVを導出することができる。例えば、デコーディング装置は、各CPに対するCPMVP及びCPMVDを加算し、前記CPに対するCPMVを導出することができる。
デコーディング装置は、前記CPMVに基づいて前記現在のブロックに対する予測サンプルを導出する(S2650)。デコーディング装置は、前記CPMVに基づいて前記現在のブロックのサブブロック単位またはサンプル単位の動きベクトルを導出することができる。即ち、デコーディング装置は、前記CPMVに基づいて前記現在のブロックの各サブブロックまたは各サンプルの動きベクトルを導出することができる。前記サブブロック単位または前記サンプル単位の動きベクトルは、前述した数式1又は数式3に基づいて導出されることができる。前記動きベクトルは、アフィン動きベクトルフィールド(Motion Vector Field、MVF)又は動きベクトルアレイと示すことができる。
デコーディング装置は、前記サブブロック単位又は前記サンプル単位の動きベクトルに基づいて前記現在のブロックに対する予測サンプルを導出することができる。デコーディング装置は、前記サブブロック単位又は前記サンプル単位の動きベクトルに基づいて参照ピクチャ内の参照領域を導出することができ、前記参照領域内の復元されたサンプルに基づいて、前記現在のブロックの予測サンプルを生成することができる。
デコーディング装置は、前記導出された予測サンプルに基づいて前記現在のブロックに対する復元ピクチャを生成する(S2660)。デコーディング装置は、前記導出された予測サンプルに基づいて、前記現在のブロックに対する復元ピクチャを生成することができる。デコーディング装置は、予測モードによって予測サンプルをすぐに復元サンプルとして利用することもあり、または前記予測サンプルに残差サンプルを加えて復元サンプルを生成することもある。デコーディング装置は、前記現在のブロックに対する残差サンプルが存在する場合、前記ビットストリームから前記現在のブロックに対する残差に関する情報を獲得することができる。前記残差に関する情報は、前記残差サンプルに関する変換係数を含むことができる。デコーディング装置は、前記残差情報に基づいて前記現在のブロックに対する前記残差サンプル(又は残差サンプルアレイ)を導出することができる。デコーディング装置は、前記予測サンプルと前記残差サンプルに基づいて復元サンプルを生成することができ、前記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出することができる。以降、デコーディング装置は、必要に応じて主観的/客観的画質を向上させるために、デブロッキングフィルタリング及び/又はSAO手続のようなインループフィルタリング手続を前記復元ピクチャに適用できることは、前述した通りである。
図27は、本文書による画像のデコーディング方法を行うデコーディング装置を概略的に示す。図26に開示の方法は、図27に開示のデコーディング装置によって行われる。具体的に、例えば、図27の前記デコーディング装置のエントロピーデコーディング部は、図26のS2600を行うことができ、図27の前記デコーディング装置の予測部は、図26のS2610乃至S2650を行うことができ、図27の前記デコーディング装置の加算部は、図26のS2660を行うことができる。また、示してはいないが、ビットストリームを介して現在のブロックの残差に関する情報を含む画像の情報を獲得する過程は、図27の前記デコーディング装置のエントロピーデコーディング部によって行われてもよく、前記残差情報に基づいて前記現在のブロックに対する前記残差サンプルを導出する過程は、図27の前記デコーディング装置の逆変換部によって行われてもよい。
前述した本文書によると、アフィン動き予測に基づく画像コーディングの効率を高めることができる。
また、本文書によると、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補のCPに対する候補動きベクトルが全て可用な場合にのみ前記コンストラクテッドアフィンMVP候補を追加することができ、これを介して、コンストラクテッドアフィンMVP候補を導出する過程及びアフィンMVP候補リストを構成する過程の複雑度を減らし、コーディングの効率を向上させることができる。
また、本文書によると、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補を導出する過程で、導出されたCPに対する候補動きベクトルに基づき、更なるアフィンMVP候補を導出することができ、これを介して、アフィンMVP候補リストを構成する過程の複雑度を減らし、コーディングの効率を向上させることができる。
また、本文書によると、継承されたアフィンMVP候補を導出する過程で、上側の周辺ブロックが現在のCTUに含まれた場合にのみ上側の周辺ブロックを使用し、前記継承されたアフィンMVP候補を導出することができ、これを介して、アフィン予測のためのラインバッファーの保存量を減らすことができ、ハードウェアの費用を最小化することができる。
前述した実施例で、方法は一連の段階またはブロックとしてフローチャートに基づいて説明されているが、本文書は、段階の順序に限定されるものではなく、ある段階は、前述したところと異なる段階と異なる順序に、又は同時に発生し得る。また、当業者であれば、フローチャートに示した段階が排他的ではなく、異なる段階が含まれるか、フローチャートの一つ又はそれ以上の段階が本文書の範囲に影響を与えずに削除され得ることを理解できるはずだ。
本文書で説明した実施例は、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて実行されることができる。例えば、各図で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ又はチップ上で実現されて実行されることができる。この場合、実現のための情報(例えば、information on instructions)又はアルゴリズムが、デジタル保存媒体に保存されることができる。
また、本文書が適用されるデコーディング装置及びエンコーディング装置は、マルチメディア放送の送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイムの通信装置、モバイルストリーミング装置、保存媒体、カムコーダ、オーダーメイドビデオ(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、磁気テープ、フロッピディスク、及び光学的データ保存装置を含むことができる。また、前記コンピュータが読み取られる記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で実現されたメディアを含む。また、エンコーディング方法で生成されたビットストリームが、コンピュータが読み取られる記録媒体に保存されるか、有無線通信ネットワークを介して送信されることができる。
また、本文書の実施例は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施例によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に保存されることができる。
図28は、本文書に開示された実施例が適用できるコンテンツストリーミングシステムの例を示す。
図28を参照すると、本文書が適用されるコンテンツストリーミングシステムは、大きくエンコーディングサーバ、ストリーミングサーバ、ウェブサーバ、メディアストレージ、ユーザ装置、及びマルチメディア入力装置を含むことができる。
前記エンコーディングサーバは、スマートフォン、カメラ、カムコーダ等のようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。別の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコーディングサーバは省略され得る。
前記ビットストリームは、本文書が適用されるエンコーディング方法又はビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信又は受信する過程で、一時的に前記ビットストリームを保存することができる。
前記ストリーミングサーバはウェブサーバを介したユーザの要請に基づいて、マルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのサービスがあるかを知らせる媒介体の役割をする。ユーザが前記ウェブサーバに希望するサービスを要請すると、前記ウェブサーバはこれをストリーミングサーバに伝達し、前記ストリーミングサーバはユーザにマルチメディアデータを送信する。この際、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディアストレージ及び/又はエンコーディングサーバからコンテンツを受信することができる。例えば、前記エンコーディングサーバからコンテンツを受信することになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは前記ビットストリームを一定時間の間に保存することができる。
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは分散処理されることができる。

Claims (12)

  1. デコーディング装置による画像デコーディング方法において、
    ビットストリームから現在のブロックに対する動き予測情報を獲得するステップと、
    前記現在のブロックに対するアフィン動きベクトル予測子(MVP)候補リストを構成するステップと、
    前記アフィンMVP候補リストに基づいて、前記現在のブロックのコントロールポイント(CP)に対するコントロールポイントの動きベクトル予測子(CPMVP)を導出するステップと、
    前記動き予測情報に基づいて、前記現在のブロックの前記CPに対するコントロールポイントの動きベクトル差分(CPMVD)を導出するステップと、
    前記CPMVP及び前記CPMVDに基づいて、前記現在のブロックの前記CPに対するコントロールポイントの動きベクトル(CPMV)を導出するステップと、
    前記CPMVに基づいて、前記現在のブロックに対する予測サンプルを導出するステップと、
    前記導出された予測サンプルに基づいて、前記現在のブロックに対する復元ピクチャを生成するステップと、
    を含み、
    前記アフィンMVP候補リストを構成するステップは、
    第1のアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、左側のブロックグループ内の第1のブロックがアフィン動きモデルでコーティングされ、前記第1のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であることに基づいて、前記第1のアフィンMVP候補は利用可能である、ステップと、
    第2のアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、上側のブロックグループ内の第2のブロックがアフィン動きモデルでコーティングされ、前記第2のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であることに基づいて、前記第2のアフィンMVP候補は利用可能である、ステップと、
    利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、第3のアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、インター予測に使用される6パラメータアフィンモデルに対して、前記現在のブロックの左上側のブロックグループ、前記現在のブロックの右上側のブロックグループ、及び前記左側のブロックグループからそれぞれ導出される、前記現在のブロックのCP0に対する第1の動きベクトル、CP1に対する第2の動きベクトル、及びCP2に対する第3の動きベクトルに基づいて、前記第3のアフィンMVP候補は利用可能であり、前記CP0に対する前記第1の動きベクトル、前記CP1に対する前記第2の動きベクトル、及び前記CP2に対する前記第3の動きベクトルの全てが利用可能であることに基づいて、前記第3のアフィンMVP候補は利用可能である、ステップと、
    利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、第4のアフィンMVP候補、第5のアフィンMVP候補、又は第6のアフィンMVP候補の少なくとも1つを導出するステップであって、前記CP0に対する前記第1の動きベクトルが利用可能であることに基づいて、前記第4のアフィンMVP候補は、前記CP1に対する前記第2の動きベクトル及び前記CP2に対する前記第3の動きベクトルとして前記CP0に対する前記第1の動きベクトルを含み、前記CP1に対する前記第2の動きベクトルが利用可能であることに基づいて、前記第5のアフィンMVP候補は、前記CP0に対する前記第1の動きベクトル及び前記CP2に対する前記第3の動きベクトルとして前記CP1に対する前記第2の動きベクトルを含み、前記CP2に対する前記第3の動きベクトルが利用可能であることに基づいて、前記第6のアフィンMVP候補は、前記CP0に対する前記第1の動きベクトル及び前記CP1に対する前記第2の動きベクトルとして前記CP2に対する前記第3の動きベクトルを含む、ステップと、
    を含む、画像デコーディング方法。
  2. 前記左側のブロックグループは、前記現在のブロックの左下側角の周辺ブロック、及び前記左下側角の周辺ブロックに隣接する第1の左側の周辺ブロックを含み、
    前記上側のブロックグループは、前記現在のブロックの右上側角の周辺ブロック、前記右上側角の周辺ブロックに隣接する第1の上側の周辺ブロック、及び左上側角のブロックを含み、
    前記左上側のブロックグループは、前記現在のブロックの左上側角の周辺ブロック、前記左上側角の周辺ブロックに隣接した第2の左側の周辺ブロック、及び前記左上側角の周辺ブロックに隣接した第2の上側の周辺ブロックを含み、
    前記右上側のブロックグループは、右上側角の周辺ブロック及び上側の周辺ブロックを含む、請求項1に記載の画像デコーディング方法。
  3. 前記アフィンMVP候補リストを構成するステップは、
    前記利用可能なアフィンMVP候補の個数が2よりも小さく、前記現在のブロックの時間的周辺ブロックに基づいて導出された時間的MVPが利用可能であることに基づいて、前記CP0に対する前記第1の動きベクトル、前記CP1に対する前記第2の動きベクトル、及び前記CP2に対する前記第3の動きベクトルとして時間的MVPを含む第7のアフィンMVP候補を導出するステップと、
    前記利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、前記CP0に対する前記第1の動きベクトル、前記CP1に対する前記第2の動きベクトル、及び前記CP2に対する前記第3の動きベクトルとしてゼロ動きベクトルを含む第8のアフィン候補を導出するステップと、
    を含む、請求項2に記載の画像デコーディング方法。
  4. 前記左上側のブロックグループ内の第1のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一であることに基づいて、前記CP0に対する候補動きベクトルが利用可能であり、
    前記右上側のブロックグループ内の第2のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一であることに基づいて、前記CP1に対する候補動きベクトルが利用可能であり、
    前記左側のブロックグループ内の第3のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一であることに基づいて、前記CP2に対する候補動きベクトルが利用可能であり、
    前記CP0に対する前記候補動きベクトルが利用可能であり、前記CP1に対する前記候補動きベクトルが利用可能であり、前記CP2に対する前記候補動きベクトルが利用可能であることに基づいて、前記アフィンMVP候補リストは、前記第1のアフィンMVP候補、前記第2のアフィンMVP候補、及び前記第3のアフィンMVP候補を含む、請求項2に記載の画像デコーディング方法。
  5. 前記左上側のブロックグループは、周辺ブロックA、周辺ブロックB、及び周辺ブロックCを含み、
    前記右上側のブロックグループは、周辺ブロックD、及び周辺ブロックEを含み、
    前記左側のブロックグループは、周辺ブロックF、及び周辺ブロックGを含み、
    前記現在のブロックのサイズがWxHであり、前記現在のブロックの左上段のサンプルポジションのx成分が0、及びy成分が0であることに基づいて、前記周辺ブロックAは(-1、-1)座標のサンプルを含むブロックであり、前記周辺ブロックBは(0、-1)座標のサンプルを含むブロックであり、前記周辺ブロックCは(-1、0)座標のサンプルを含むブロックであり、前記周辺ブロックDは(W-1、-1)座標のサンプルを含むブロックであり、前記周辺ブロックEは(W、-1)座標のサンプルを含むブロックであり、前記周辺ブロックFは(-1、H-1)座標のサンプルを含むブロックであり、前記周辺ブロックGは(-1、H)座標のサンプルを含むブロックである、請求項4に記載の画像デコーディング方法。
  6. 前記第1のブロックは、第1の特定順序によって前記左上側のブロックグループ内の周辺ブロックをチェックして、その参照ピクチャが前記現在のブロックの参照ピクチャと同一であることが初めて確認されたブロックであり、
    前記第2のブロックは、第2の特定順序によって前記右上側のブロックグループ内の周辺ブロックをチェックして、その参照ピクチャが前記現在のブロックの参照ピクチャと同一であることが初めて確認されたブロックであり、
    前記第3のブロックは、第3の特定順序によって前記左側のブロックグループ内の周辺ブロックをチェックして、その参照ピクチャが前記現在のブロックの参照ピクチャと同一であることが初めて確認されたブロックである、請求項5に記載の画像デコーディング方法。
  7. 前記第1の特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順であり、
    前記第2の特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順であり、
    前記第3の特定順序は、前記周辺ブロックFから前記周辺ブロックGへの順である、 請求項6に記載の画像デコーディング方法。
  8. エンコーディング装置による画像エンコーディング方法において、
    現在のブロックに対するアフィン動きベクトル予測子(MVP)候補リストを構成するステップと、
    前記アフィンMVP候補リストに基づいて、前記現在のブロックのコントロールポイント(CP)に対するコントロールポイントの動きベクトル予測子(CPMVP)を導出するステップと、
    前記現在のブロックの前記CPに対するコントロールポイントの動きベクトル(CPMV)を導出するステップと、
    前記CPMVP及び前記CPMVに基づいて、前記現在のブロックの前記CPに対するコントロールポイントの動きベクトル差分(CPMVD)を導出するステップと、
    前記CPMVDに対する情報を含む動き予測情報をエンコーディングするステップと、
    を含み、
    前記アフィンMVP候補リストを構成するステップは、
    第1のアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、左側のブロックグループ内の第1のブロックがアフィン動きモデルでコーディングされ、前記第1のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であることに基づいて、前記第1のアフィンMVP候補は利用可能である、ステップと、
    第2のアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、上側のブロックグループ内の第2のブロックがアフィン動きモデルでコーディングされ、前記第2のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であることに基づいて、前記第2のアフィンMVP候補は利用可能である、ステップと、
    利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、第3のアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、インター予測に使用される6パラメータアフィンモデルに対して、前記現在のブロックの左上側のブロックグループ、前記現在のブロックの右上側のブロックグループ、及び前記左側のブロックグループからそれぞれ導出される、前記現在のブロックのCP0に対する第1の動きベクトル、CP1に対する第2の動きベクトル、及びCP2に対する第3の動きベクトルに基づいて、前記第3のアフィンMVP候補は利用可能であり、前記CP0に対する前記第1の動きベクトル、前記CP1に対する前記第2の動きベクトル、及び前記CP2に対する前記第3の動きベクトルの全てが利用可能であることに基づいて、前記第3のアフィンMVP候補は利用可能である、ステップと、
    利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、第4のアフィンMVP候補、第5のアフィンMVP候補、又は第6のアフィンMVP候補の少なくとも1つを導出するステップであって、前記CP0に対する前記第1の動きベクトルが利用可能であることに基づいて、前記第4のアフィンMVP候補は、前記CP1に対する前記第2の動きベクトル及び前記CP2に対する前記第3の動きベクトルとして前記CP0に対する前記第1の動きベクトルを含み、前記CP1に対する前記第2の動きベクトルが利用可能であることに基づいて、前記第5のアフィンMVP候補は、前記CP0に対する前記第1の動きベクトル及び前記CP2に対する前記第3の動きベクトルとして前記CP1に対する前記第2の動きベクトルを含み、前記CP2に対する前記第3の動きベクトルが利用可能であることに基づいて、前記第6のアフィンMVP候補は、前記CP0に対する前記第1の動きベクトル及び前記CP1に対する前記第2の動きベクトルとして前記CP2に対する前記第3の動きベクトルを含む、ステップと、
    を含む、画像エンコーディング方法。
  9. 前記左側のブロックグループは、前記現在のブロックの左下側角の周辺ブロック、及び前記左下側角の周辺ブロックに隣接する第1の左側の周辺ブロックを含み、
    前記上側のブロックグループは、前記現在のブロックの右上側角の周辺ブロック、前記右上側角の周辺ブロックに隣接する第1の上側の周辺ブロック、及び左上側角のブロックを含み、
    前記左上側のブロックグループは、前記現在のブロックの左上側角の周辺ブロック、前記左上側角の周辺ブロックに隣接した第2の左側の周辺ブロック、及び前記左上側角の周辺ブロックに隣接した第2の上側の周辺ブロックを含み、
    前記右上側のブロックグループは、右上側角の周辺ブロック及び上側の周辺ブロックを含む、請求項8に記載の画像エンコーディング方法。
  10. 前記左上側のブロックグループ内の第1のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一であることに基づいて、前記CP0に対する候補動きベクトルが利用可能であり、
    前記右上側のブロックグループ内の第2のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一であることに基づいて、前記CP1に対する候補動きベクトルが利用可能であり、
    前記左側のブロックグループ内の第3のブロックの参照ピクチャが前記現在のブロックの参照ピクチャと同一であることに基づいて、前記CP2に対する候補動きベクトルが利用可能であり、
    前記CP0に対する前記候補動きベクトルが利用可能であり、前記CP1に対する前記候補動きベクトルが利用可能であり、前記CP2に対する前記候補動きベクトルが利用可能であることに基づいて、前記アフィンMVP候補リストは、前記第1のアフィンMVP候補、前記第2のアフィンMVP候補、及び前記第3のアフィンMVP候補を含む、請求項9に記載の画像エンコーディング方法。
  11. 前記第1のブロックは、第1の特定順序によって前記左上側のブロックグループ内の周辺ブロックをチェックして、その参照ピクチャが前記現在のブロックの参照ピクチャと同一であることが初めて確認されたブロックであり、
    前記第2のブロックは、第2の特定順序によって前記右上側のブロックグループ内の周辺ブロックをチェックして、その参照ピクチャが前記現在のブロックの参照ピクチャと同一であることが初めて確認されたブロックであり、
    前記第3のブロックは、第3の特定順序によって前記左側のブロックグループ内の周辺ブロックをチェックして、その参照ピクチャが前記現在のブロックの参照ピクチャと同一であることが初めて確認されたブロックである、請求項10に記載の画像エンコーディング方法。
  12. ビットストリームを取得することを含む送信方法において、
    前記ビットストリームは、現在のブロックに対するアフィン動きベクトル予測子(MVP)候補リストを構成し、前記アフィンMVP候補リストに基づいて、前記現在のブロックのコントロールポイント(CP)に対するコントロールポイントの動きベクトル予測子(CPMVP)を導出し、前記現在のブロックの前記CPに対するコントロールポイントの動きベクトル(CPMV)を導出し、前記CPMVP及び前記CPMVに基づいて、前記現在のブロックの前記CPに対するコントロールポイントの動きベクトル差分(CPMVD)を導出し、前記ビットストリームを生成するために前記CPMVDに対する情報を含む動き予測情報をエンコーディングすることにより生成され、
    前記アフィンMVP候補リストを構成することは、
    第1のアフィンMVP候補が利用可能であるかどうかをチェックし、左側のブロックグループ内の第1のブロックがアフィン動きモデルでコーディングされ、前記第1のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であることに基づいて、前記第1のアフィンMVP候補は利用可能であり、
    第2のアフィンMVP候補が利用可能であるかどうかをチェックし、上側のブロックグループ内の第2のブロックがアフィン動きモデルでコーディングされ、前記第2のブロックの参照ピクチャインデックスが前記現在のブロックの参照ピクチャインデックスと同一であることに基づいて、前記第2のアフィンMVP候補は、利用可能であり、
    利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、第3のアフィンMVP候補が利用可能であるかどうかをチェックし、インター予測に使用される6パラメータアフィンモデルに対して、前記現在のブロックの左上側のブロックグループ、前記現在のブロックの右上側のブロックグループ、及び前記左側のブロックグループからそれぞれ導出される、前記現在のブロックのCP0に対する第1の動きベクトル、CP1に対する第2の動きベクトル、及びCP2に対する第3の動きベクトルに基づいて、前記第3のアフィンMVP候補は利用可能であり、前記CP0に対する前記第1の動きベクトル、前記CP1に対する前記第2の動きベクトル、及び前記CP2に対する前記第3の動きベクトルの全てが利用可能であることに基づいて、前記第3のアフィンMVP候補は利用可能であり、
    利用可能なアフィンMVP候補の個数が2よりも小さいことに基づいて、第4のアフィンMVP候補、第5のアフィンMVP候補、又は第6のアフィンMVP候補の少なくとも1つを導出し、前記CP0に対する前記第1の動きベクトルが利用可能であることに基づいて、前記第4のアフィンMVP候補は、前記CP1に対する前記第2の動きベクトル及び前記CP2に対する前記第3の動きベクトルとして前記CP0に対する前記第1の動きベクトルを含み、前記CP1に対する前記第2の動きベクトルが利用可能であることに基づいて、前記第5のアフィンMVP候補は、前記CP0に対する前記第1の動きベクトル及び前記CP2に対する前記第3の動きベクトルとして前記CP1に対する前記第2の動きベクトルを含み、前記CP2に対する前記第3の動きベクトルが利用可能であることに基づいて、前記第6のアフィンMVP候補は、前記CP0に対する前記第1の動きベクトル及び前記CP1に対する前記第2の動きベクトルとして前記CP2に対する前記第3の動きベクトルを含むことを含む、送信方法。
JP2020521286A 2018-09-12 2019-09-11 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置 Active JP7157152B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022161687A JP7404481B2 (ja) 2018-09-12 2022-10-06 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
JP2023209973A JP2024019527A (ja) 2018-09-12 2023-12-13 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862730528P 2018-09-12 2018-09-12
US62/730,528 2018-09-12
PCT/KR2019/011827 WO2020055161A1 (ko) 2018-09-12 2019-09-11 영상 코딩 시스템에서 서브 블록 단위의 움직임 예측에 기반한 영상 디코딩 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022161687A Division JP7404481B2 (ja) 2018-09-12 2022-10-06 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置

Publications (2)

Publication Number Publication Date
JP2021502729A JP2021502729A (ja) 2021-01-28
JP7157152B2 true JP7157152B2 (ja) 2022-10-19

Family

ID=69777957

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020521286A Active JP7157152B2 (ja) 2018-09-12 2019-09-11 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
JP2022161687A Active JP7404481B2 (ja) 2018-09-12 2022-10-06 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
JP2023209973A Pending JP2024019527A (ja) 2018-09-12 2023-12-13 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022161687A Active JP7404481B2 (ja) 2018-09-12 2022-10-06 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
JP2023209973A Pending JP2024019527A (ja) 2018-09-12 2023-12-13 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置

Country Status (12)

Country Link
US (5) US10904561B2 (ja)
EP (2) EP3681161B1 (ja)
JP (3) JP7157152B2 (ja)
KR (4) KR102362840B1 (ja)
CN (5) CN117528113A (ja)
ES (1) ES2970207T3 (ja)
FI (1) FI3681161T3 (ja)
HR (1) HRP20240145T1 (ja)
HU (1) HUE065050T2 (ja)
PL (1) PL3681161T3 (ja)
SI (1) SI3681161T1 (ja)
WO (1) WO2020055161A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK3700216T3 (da) 2018-09-10 2022-09-12 Lg Electronics Inc Billeddekodning, baseret på affin bevægelses-forudsigelse under anvendelse af affin MVP-kandidatliste
JP7247345B2 (ja) * 2018-12-13 2023-03-28 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド ビデオ復号化方法、ビデオ復号化装置、及びプログラム
CN113170179A (zh) * 2018-12-21 2021-07-23 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
US11394993B2 (en) * 2019-03-13 2022-07-19 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
EP3745725A1 (en) * 2019-03-22 2020-12-02 LG Electronics Inc. -1- Method and device for inter prediction on basis of dmvr and bdof
US11223840B2 (en) * 2019-08-19 2022-01-11 Tencent America LLC Method and apparatus for video coding
CN116708802A (zh) * 2020-06-24 2023-09-05 北京达佳互联信息技术有限公司 用于针对视频编解码的预测相关残差缩放的方法和设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
CN106303543B (zh) * 2015-05-15 2018-10-30 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
US10728571B2 (en) * 2015-08-04 2020-07-28 Lg Electronics Inc. Inter prediction method and device in video coding system
US10575011B2 (en) * 2015-09-24 2020-02-25 Lg Electronics Inc. Inter prediction method and apparatus in image coding system
US20190158870A1 (en) 2016-01-07 2019-05-23 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
WO2017147765A1 (en) 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10681370B2 (en) 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
EP3766247A4 (en) * 2018-04-02 2022-01-19 MediaTek Inc. VIDEO PROCESSING METHODS AND APPARATUS FOR SUBBLOCK MOTION COMPENSATION IN VIDEO CODING SYSTEMS

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Haitao Yang, et al.,Description of Core Experiment 4 (CE4): Inter prediction and motion vector coding,Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K1024-v2,2018年08月09日,pp.4, 13-14
Huanbang Chen, et al.,CE4: Affine inter prediction (Test 1.5),Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0185-v3,2018年07月14日,pp.1-15
Yu Han, et al.,CE4.1.3: Affine motion compensation prediction,Joint Video Exploration Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0337,2018年07月03日,pp.1-6

Also Published As

Publication number Publication date
KR102568878B1 (ko) 2023-08-21
US20210144399A1 (en) 2021-05-13
CN111247805A (zh) 2020-06-05
HUE065050T2 (hu) 2024-04-28
ES2970207T3 (es) 2024-05-27
KR20230124766A (ko) 2023-08-25
JP2024019527A (ja) 2024-02-09
HRP20240145T1 (hr) 2024-04-12
KR102362840B1 (ko) 2022-02-14
KR20220154259A (ko) 2022-11-21
US20200236391A1 (en) 2020-07-23
EP3681161B1 (en) 2023-11-01
JP2021502729A (ja) 2021-01-28
KR20200038541A (ko) 2020-04-13
FI3681161T3 (fi) 2024-01-18
US10904561B2 (en) 2021-01-26
US20230199214A1 (en) 2023-06-22
JP2022173582A (ja) 2022-11-18
EP3681161A1 (en) 2020-07-15
US20220094971A1 (en) 2022-03-24
US11889106B2 (en) 2024-01-30
KR20220025164A (ko) 2022-03-03
US11228783B2 (en) 2022-01-18
US20240121427A1 (en) 2024-04-11
WO2020055161A1 (ko) 2020-03-19
US11616975B2 (en) 2023-03-28
EP4262212A3 (en) 2023-11-22
EP4262212A2 (en) 2023-10-18
CN117528114A (zh) 2024-02-06
PL3681161T3 (pl) 2024-05-06
SI3681161T1 (sl) 2024-03-29
CN117560487A (zh) 2024-02-13
KR102467326B1 (ko) 2022-11-16
CN117528113A (zh) 2024-02-06
CN117528112A (zh) 2024-02-06
JP7404481B2 (ja) 2023-12-25
EP3681161A4 (en) 2020-09-23
CN111247805B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
KR102541425B1 (ko) 히스토리 기반 움직임 벡터에 기반한 인터 예측 방법 및 그 장치
JP7342116B2 (ja) ヒストリベースの画像コーディング方法およびその装置
JP7157152B2 (ja) 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
JP7436543B2 (ja) 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP7477536B2 (ja) ビデオ/映像コーディングシステムにおけるマージデータシンタックスのシグナリング方法及び装置
JP2022113815A (ja) 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
CN113261294A (zh) 基于sbtmvp的帧间预测方法和设备
JP2024036477A (ja) 予測サンプルを生成するための加重値インデックス情報を導出する映像デコーディング方法、及びその装置
JP7469335B2 (ja) 動きベクトル予測基盤映像/ビデオコーディング方法及び装置
JP2024019432A (ja) 決定された予測モードを適用して予測サンプルを生成する映像デコーディング方法及びその装置
JP2023105160A (ja) 画像コーディングシステムにおいてコンストラクテッドアフィンmvp候補を使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP2024074931A (ja) 動きベクトル予測基盤映像/ビデオコーディング方法及び装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220519

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221006

R150 Certificate of patent or registration of utility model

Ref document number: 7157152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150