JP7039698B2 - 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置 - Google Patents

画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置 Download PDF

Info

Publication number
JP7039698B2
JP7039698B2 JP2020528181A JP2020528181A JP7039698B2 JP 7039698 B2 JP7039698 B2 JP 7039698B2 JP 2020528181 A JP2020528181 A JP 2020528181A JP 2020528181 A JP2020528181 A JP 2020528181A JP 7039698 B2 JP7039698 B2 JP 7039698B2
Authority
JP
Japan
Prior art keywords
block
motion vector
candidate
current block
affine mvp
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
JP2020528181A
Other languages
English (en)
Other versions
JP2021505013A (ja
JP2021505013A5 (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 JP2021505013A publication Critical patent/JP2021505013A/ja
Publication of JP2021505013A5 publication Critical patent/JP2021505013A5/ja
Priority to JP2022035921A priority Critical patent/JP7436543B2/ja
Application granted granted Critical
Publication of JP7039698B2 publication Critical patent/JP7039698B2/ja
Priority to JP2024017946A priority patent/JP2024042110A/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/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/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Description

本文書は、画像符号化技術に関し、より詳細には、画像符号化システムにおいてアフィン動き予測(affine motion prediction)に基づいた画像デコード方法及び装置に関する。
近年、HD(High Definition)画像及びUHD(Ultra High Definition)画像のような高解像度、高品質の画像に対する需要が種々の分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有線/無線広帯域回線のような媒体を利用して画像データを送信したり、既存の格納媒体を利用して画像データを格納する場合、送信費用と格納費用が増加される。
これにより、高解像度、高品質画像の情報を効果的に送信したり、格納し、再生するために、高効率の画像圧縮技術が求められる。
本文書の技術的課題は、画像符号化効率を上げる方法及び装置を提供することにある。
本文書の他の技術的課題は、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候補リストを構成するステップは、前記現在ブロックの継承された(inherited)アフィンMVP候補が利用可能であるかチェックし、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補が導出されるステップ、前記現在ブロックのコンストラクテッド(constructed)アフィンMVP候補が利用可能であるかチェックし、前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補が導出され、前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含むステップ、導出されたアフィン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候補を導出するステップ、及び導出されたアフィンMVP候補の個数が2個より小さい場合、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルとして含む第5のアフィン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候補リストは、前記現在ブロックの継承された(inherited)アフィンMVP候補が利用可能であるかチェックし、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補が導出されるステップ、前記現在ブロックのコンストラクテッド(constructed)アフィンMVP候補が利用可能であるかチェックし、前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補が導出され、前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含むステップ、導出されたアフィン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候補を導出するステップ、及び導出されたアフィンMVP候補の個数が2個より小さい場合、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルとして含む第5のアフィンMVP候補を導出するステップに基づいて構成されることを特徴とする。
本文書のさらに他の一実施形態によれば、エンコード装置によって行われるビデオエンコード方法を提供する。上記方法は、現在ブロックに対するアフィン(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候補リストを構成するステップは、前記現在ブロックの継承された(inherited)アフィンMVP候補が利用可能であるかチェックし、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補が導出されるステップ、前記現在ブロックのコンストラクテッド(constructed)アフィンMVP候補が利用可能であるかチェックし、前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補が導出され、前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含むステップ、導出されたアフィン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候補を導出するステップ、及び導出されたアフィンMVP候補の個数が2個より小さい場合、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルとして含む第5のアフィンMVP候補を導出するステップを含むことを特徴とする。
本文書のさらに他の一実施形態によれば、ビデオエンコード装置を提供する。前記エンコード装置は、現在ブロックに対するアフィン(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候補リストは、前記現在ブロックの継承された(inherited)アフィンMVP候補が利用可能であるかチェックし、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補が導出されるステップ、前記現在ブロックのコンストラクテッド(constructed)アフィンMVP候補が利用可能であるかチェックし、前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補が導出され、前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含むステップ、導出されたアフィン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候補を導出するステップ、及び導出されたアフィンMVP候補の個数が2個より小さい場合、ゼロ動きベクトル(zero motion vector)を前記CPに対する候補動きベクトルとして含む第5のアフィンMVP候補を導出するステップに基づいて構成されることを特徴とする。
本文書によれば、全般的な画像/ビデオ圧縮効率を上げることができる。
本文書によれば、アフィン動き予測に基づいた画像符号化の効率を上げることができる。
本文書によれば、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補のCPに対する候補動きベクトルが全て利用可能である場合にのみ前記コンストラクテッドアフィンMVP候補を追加でき、これを介してコンストラクテッドアフィンMVP候補を導出する過程及びアフィンMVP候補リストを構成する過程の複雑度を減らし、符号化効率を向上させることができる。
本文書によれば、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補を導出する過程で導出されたCPに対する候補動きベクトルに基づいて追加的なアフィンMVP候補を導出でき、これを介してアフィンMVP候補リストを構成する過程の複雑度を減らし、符号化効率を向上させることができる。
本文書によれば、継承されたアフィンMVP候補を導出する過程で上側周辺ブロックが現在CTUに含まれた場合にのみ上側周辺ブロックを使用して前記継承されたアフィンMVP候補を導出でき、これを介してアフィン予測のためのラインバッファの格納量を減らすことができ、ハードウェア費用を最小化することができる。
本文書の実施形態が適用され得るビデオ/画像符号化システムの例の概略を示す。 本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成の概略を説明する図である。 本文書の実施形態が適用され得るビデオ/画像デコード装置の構成の概略を説明する図である。 前記アフィン動きモデルを介して表現される動きを例示的に示す。 3個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。 2個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。 前記アフィン動きモデルに基づいてサブブロック単位で動きベクトルを導く方法を例示的に示す。 本文書の一実施形態に係るアフィン動き予測方法の順序図を例示的に示す。 本文書の一実施形態に係るコントロールポイントでの動きベクトル予測子を導出する方法を説明するための図である。 本文書の一実施形態に係るコントロールポイントでの動きベクトル予測子を導出する方法を説明するための図である。 周辺ブロックAがアフィンマージ候補として選択された場合に行われるアフィン予測の一例を示す。 前記継承されたアフィン候補を導出するための周辺ブロックを例示的に示す。 前記コンストラクテッドアフィン候補に対する空間的候補を例示的に示す。 アフィン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)、または次世代ビデオ/画像符号化標準(ex.H.267 or 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つのユニットは、1つのルマブロック及び2つのクロマ(ex.cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混在して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)等の集合(または、アレイ)を含むことができる。
この文書において「/」と「、」とは、「及び/又は」と解釈される。例えば、「A/B」は、「A及び/又はB」と解釈され、「A、B」は、「A及び/又はB」と解釈される。追加的に、「A/B/C」は、「A、B及び/又はCのうち、少なくとも1つ」を意味する。また、「A、B、C」も「A、B及び/又はCのうち、少なくとも1つ」を意味する。(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)などの用語と混在して使用されることができる。一般的な場合、M×Nブロックは、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 Mode)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、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は、本文書において説明されるインター予測技法のうち、少なくとも1つを利用できる。パレットモードは、イントラ符号化またはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングできる。
前期予測部(インター予測部221および/または前期イントラ予測部222を含む)を開始て生成された予測信号は、復元信号を生成するために用いられるか、レシデュアル信号を生成するために用いられることができる。変換部232は、レシデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成できる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、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)の値等)を共に、または別にエンコードすることもできる。エンコードされた情報(ex.エンコードされたビデオ/画像情報)は、ビットストリーム形態で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とデコード装置での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ270DPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成の概略を説明する図である。
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder、310)、レシデュアル処理部(residual processor、320)、予測部(predictor、330)、加算部(adder、340)、フィルタリング部(filter、350)、及びメモリ(memory、360)を備えて構成されることができる。予測部330は、インター予測部332及びイントラ予測部331を備えることができる。レシデュアル処理部320は、逆量子化部(dequantizer、321)及び逆変換部(inverse transformer、322)を備えることができる。上述したエントロピーデコード部310、レシデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内部/外部コンポーネントとしてさらに備えることもできる。
ビデオ/画像情報を含むビットストリームが入力されれば、デコード装置300は、図2のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元できる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、符号化ユニットでありうるし、符号化ユニットは、符号化ツリーユニットまたは最大符号化ユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。符号化ユニットから1つ以上の変換ユニットが導出され得る。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
デコード装置300は、図2のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(ex.ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(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のうち、少なくとも1つを備えることができる。
逆量子化部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は、本文書において説明されるインター予測技法のうち、少なくとも1つを利用できる。パレットモードは、イントラ符号化またはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
イントラ予測部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に伝達することができる。
本明細書において、エンコード装置100のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同様にまたは対応するように適用されることができる。
一方、インター予測と関連して、画像の歪みを考慮したインター予測方法が提案されている。具体的に、現在ブロックのサブブロックまたはサンプルポイントに対する動きベクトルを効率的に導出し、画像の回転、ズームインまたはズームアウトなどの変形にもかかわらず、インター予測の正確度を高めるアフィン動きモデルが提案されている。すなわち、現在ブロックのサブブロックまたはサンプルポイントに対する動きベクトルを導出するアフィン動きモデルが提案されている。前記アフィン動きモデルを使用する予測は、アフィンインター予測(affine inter prediction)またはアフィンモーション予測(affine motion prediction)と呼ばれることができる。
例えば、前記アフィン動きモデルを使用する前記アフィンインター予測は、後述する内容のように、4つの動き、すなわち、後述する内容のような4つの変形を効率的に表現することができる。
図4は、前記アフィン動きモデルを介して表現される動きを例示的に示す。図4に示すように、前記アフィン動きモデルを介して表現されることができる動きは、並進(translate)の動き、スケール(scale)の動き、回転(rotate)の動き、及びせん断(shear)の動きを含むことができる。すなわち、図4に示された時間の流れによって画像(の一部)が平面移動する並進の動きだけでなく、時間の流れによって画像(の一部)がスケール(scale)されるスケールの動き、時間の流れによって画像(の一部)が回転する回転の動き、時間の流れによって画像(の一部)が平行四辺形に変形されるせん断の動きを前記アフィンインター予測を介して効率的に表現することができる。
エンコード装置/デコード装置は、前記アフィンインター予測を介して現在ブロックのコントロールポイント(Control Point、CP)での動きベクトルに基づいて前記画像の歪み形態を予測でき、これを介して予測の正確度を高めることにより画像の圧縮性能を向上させることができる。また、前記現在ブロックの周辺ブロックの動きベクトルを用いて前記現在ブロックの少なくとも1つのコントロールポイントに対する動きベクトルが導かれ得るところ、追加される付加情報に対するデータ量の負担を減らし、インター予測効率を相当向上させることができる。
前記アフィンインター予測の一例として、3個のコントロールポイント、すなわち、3個の基準点での動き情報を必要とすることができる。
図5は、3個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。
現在ブロック500内の左上端(top-left)サンプル位置(position)を(0、0)とする場合、前記図5に示されたように、(0、0)、(w、0)、(0、h)サンプルポジションを前記コントロールポイントとして決めることができる。以下、(0、0)サンプルポジションのコントロールポイントはCP0、(w、0)サンプルポジションのコントロールポイントはCP1、(0、h)サンプルポジションのコントロールポイントはCP2と表すことができる。
上述した各コントロールポイントと当該コントロールポイントに対する動きベクトルを用いて前記アフィン動きモデルに対する数式が導出され得る。前記アフィン動きモデルに対する数式は、次のように示すことができる。
Figure 0007039698000001
ここで、wは、前記現在ブロック500の幅(width)を示し、hは、前記現在ブロック500の高さ(height)を示し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、各々CP1の動きベクトルのx成分、y成分を示し、v2x、v2yは、各々CP2の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック500内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック500内の前記対象サンプルの前記位置のy成分を示し、vxは、前記現在ブロック500内の前記対象サンプルの動きベクトルのx成分、vyは、現在ブロック500内の前記対象サンプルの前記動きベクトルのy成分を示す。
前記CP0の動きベクトル、前記CP1の動きベクトル、及び前記CP2の動きベクトルは知っているので、前記数式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 0007039698000002
ここで、wは、前記現在ブロック500の幅(width)を示し、hは、前記現在ブロック500の高さ(height)を示し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、各々CP1の動きベクトルのx成分、y成分を示し、v2x、v2yは、各々CP2の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック500内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック500内の前記対象サンプルの前記位置のy成分を示し、vxは、前記現在ブロック500内の前記対象サンプルの動きベクトルのx成分、vyは、現在ブロック500内の前記対象サンプルの前記動きベクトルのy成分を示す。
前記6個のパラメータを使用する前記アフィン動きモデルまたは前記アフィンインター予測は、6パラメータアフィン動きモデルまたはAF6と表すことができる。
また、前記アフィンインター予測の一例として、2個のコントロールポイント、すなわち、2個の基準点での動き情報を必要とすることができる。
図6は、2個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。2個のコントロールポイントを使用する前記アフィン動きモデルは、並進の動き、スケールの動き、回転の動きを含む3つの動きを表現できる。3つの動きを表現する前記アフィン動きモデルは、シミラリティアフィン動きモデル(similarity affine motion model)またはシンプリファイドアフィン動きモデル(simplified affine motion model)と表すこともできる。
現在ブロック600内の左上端(top-left)サンプル位置(position)を(0、0)とする場合、前記図6に示されたように、(0、0)、(w、0)サンプルポジションを前記コントロールポイントとして決めることができる。以下、(0、0)サンプルポジションのコントロールポイントはCP0、(w、0)サンプルポジションのコントロールポイントはCP1と表すことができる。
上述した各コントロールポイントと当該コントロールポイントに対する動きベクトルを用いて前記アフィン動きモデルに対する数式が導出され得る。前記アフィン動きモデルに対する数式は、次のように示すことができる。
Figure 0007039698000003
ここで、wは、前記現在ブロック600の幅(width)を示し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、各々CP1の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック600内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック600内の前記対象サンプルの前記位置のy成分を示し、vxは、前記現在ブロック600内の前記対象サンプルの動きベクトルのx成分、vyは、現在ブロック600内の前記対象サンプルの前記動きベクトルのy成分を示す。
一方、前記数式3に対する4個のパラメータは、次の数式のように、a、b、c、dで示すことができ、前記4個のパラメータで示した前記アフィン動きモデルに対する数式は、次のとおりでありうる。
Figure 0007039698000004
ここで、wは、前記現在ブロック600の幅(width)を示し、v0x、v0yは、各々CP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、各々CP1の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック600内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック600内の前記対象サンプルの前記位置のy成分を示し、vxは、前記現在ブロック600内の前記対象サンプルの動きベクトルのx成分、vyは、現在ブロック600内の前記対象サンプルの前記動きベクトルのy成分を示す。前記2個のコントロールポイントを使用する前記アフィン動きモデルは、前記数式4のように、4個のパラメータa、b、c、dで表現されることができるところ、前記4個のパラメータを使用する前記アフィン動きモデルまたは前記アフィンインター予測は、4パラメータアフィン動きモデルまたはAF4と表すことができる。すなわち、前記アフィン動きモデルによれば、前記コントロールポイントの動きベクトルに基づいて前記現在ブロック内の各サンプルの動きベクトルが導出され得る。一方、前記アフィン動きモデルによって導出された前記現在ブロック内のサンプルの動きベクトル等の集合は、アフィン動きベクトルフィールド(Motion Vector Field、MVF)と表すことができる。
一方、上述した内容のように、前記アフィン動きモデルを介してサンプル単位の動きベクトルが導出され得るし、これを介してインター予測の正確度が相当向上することができる。ただし、この場合、動き補償(motion compensation)過程での複雑度が大きく増加されることもできる。
これにより、サンプル単位の動きベクトルが導出される代わりに、前記現在ブロック内のサブブロック単位の動きベクトルが導出されるように制限することができる。
図7は、前記アフィン動きモデルに基づいてサブブロック単位で動きベクトルを導く方法を例示的に示す。図7は、前記現在ブロックのサイズが16×16であり、4×4サブブロック単位で動きベクトルが導かれる場合を例示的に示す。前記サブブロックは、様々なサイズに設定されることができ、例えば、サブブロックがn×nサイズ(nは、正の整数、ex.nは、4)に設定された場合、前記アフィン動きモデルに基づいて現在ブロック内のn×nサブブロック単位で動きベクトルが導出され得るし、各サブブロックを代表する動きベクトルを導くための様々な方法が適用され得る。
例えば、図7に示すように、各サブブロックのセンタまたはセンタ右下側(lower right side)サンプルポジションを代表座標として、各サブブロックの動きベクトルが導出され得る。ここで、センタ右下側ポジションとは、サブブロックのセンタに位置する4個のサンプルのうち、右下側に位置するサンプルポジションを表すことができる。例えば、nが奇数である場合、サブブロックの真中には1つのサンプルが位置することができ、この場合、センタサンプルポジションが前記サブブロックの動きベクトルの導出のために使用されることができる。しかし、nが偶数である場合、サブブロックの中央には4個のサンプルが隣接して位置することができ、この場合、右下側サンプルポジションが前記動きベクトルの導出のために使用されることができる。例えば、図7に示すように、各サブブロック別の代表座標は、(2、2)、(6、2)、(10、2)、...、(14、14)に導出されることができ、エンコード装置/デコード装置は、前記サブブロックの代表座標の各々を上述した数式1または3に代入して、各サブブロックの動きベクトルを導出できる。前記アフィン動きモデルを介して導出された現在ブロック内のサブブロックの動きベクトルは、アフィンMVFと表すことができる。
一方、一例として、前記現在ブロック内のサブブロックのサイズは、次のような数式に基づいて導出されることもできる。
Figure 0007039698000005
ここで、Mは、サブブロックの幅(width)を示し、Nは、サブブロックの高さ(height)を示す。また、v0x、v0yは、各々前記現在ブロックのCPMV0のx成分、y成分を示し、v0x、v0yは、各々前記現在ブロックのCPMV1のx成分、y成分を示し、wは、前記現在ブロックの幅を示し、hは、前記現在ブロックの高さを示し、MvPreは、動きベクトル分数正確度(motion vector fraction accuracy)を示す。例えば、前記動きベクトル分数正確度は、1/16に設定されることができる。
一方、上述したアフィン動きモデルを使用したインター予測、すなわち、アフィン動き予測は、アフィンマージモード(affine 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及びCP1に対するMV(すなわち、CPMV0及びCPMV1)を導出できる。すなわち、前記アフィンモードが適用された前記周辺ブロックのCPMV0及びCPMV1がマージ候補として導出されることができ、前記マージ候補に基づいて前記現在ブロックに対する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 Motion Vector Predictor)とCPMV(Control Point Motion Vector)を導出でき、前記CPMVPに関する情報及び/又は前記CPMVPとCPMVの差分値であるCPMVDを送信または格納することができる。
ここで、現在ブロックに前記アフィンインターモードが適用される場合、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックに基づいてアフィンMVP候補リストを構成でき、アフィンMVP候補は、CPMVPペア(pair)候補と称することができ、アフィンMVP候補リストは、CPMVP候補リストと称することもできる。
また、各アフィンMVP候補は、4パラメータアフィン動きモデル(four parameter affine motion model)では、CP0とCP1のCPMVPの組み合わせを意味することができ、6パラメータアフィン動きモデル(six parameter affine motion model)では、CP0、CP1、及びCP2のCPMVPの組み合わせを意味することができる。
図8は、本文書の一実施形態に係るアフィン動き予測方法の順序図を例示的に示す。
図8に示すように、アフィン動き予測方法は、大別して次のように表すことができる。アフィン動き予測方法が始まると、まず、CPMVペア(pair)が取得され得る(S800)。ここで、CPMVペアは、4パラメータアフィンモデルを利用する場合、CPMV0及びCPMV1を含むことができる。
その後、CPMVペアに基づいてアフィン動き補償が行われ得るし(S810)、アフィン動き予測が終了することができる。
また、前記CPMV0及び前記CPMV1を決定するために、2個のアフィン予測モードが存在することができる。ここで、2個のアフィン予測モードは、アフィンインターモード及びアフィンマージモードを含むことができる。アフィンインターモードは、CPMV0及びCPMV1に対する2個の動きベクトル差分(MVD、Motion Vector Difference)情報をシグナリングして明確にCPMV0及びCPMV1を決定できる。それに対し、アフィンマージモードは、MVD情報シグナリングなしにCPMVペアを導出できる。
言い換えれば、アフィンマージモードは、アフィンモードで符号化された周辺ブロックのCPMVを用いて現在ブロックのCPMVを導出でき、動きベクトルをサブブロック単位で決定する場合、アフィンマージモードは、サブブロックマージモードと称することもできる。
アフィンマージモードでエンコード装置は、現在ブロックのCPMVを導出するためのアフィンモードで符号化された周辺ブロックに対するインデックスをデコード装置にシグナリングすることができ、周辺ブロックのCPMV及び現在ブロックのCPMV間の差分値をさらにシグナリングすることもできる。ここで、アフィンマージモードは、周辺ブロックに基づいてアフィンマージ候補リストを構成でき、周辺ブロックに対するインデックスは、アフィンマージ候補リストのうち、現在ブロックのCPMVを導出するために参照する周辺ブロックを表すことができる。アフィンマージ候補リストは、サブブロックマージ候補リストと称することもできる。
アフィンインターモードは、アフィンMVPモードと称することもできる。アフィンMVPモードで現在ブロックのCPMVは、CPMVP(Control Point Motion Vector Predictor)及びCPMVD(Control Point Motion Vector Difference)に基づいて導出されることができる。言い換えれば、エンコード装置は、現在ブロックのCPMVに対してCPMVPを決定し、現在ブロックのCPMVとCPMVPの差分値であるCPMVDを導出してCPMVPに関する情報及びCPMVDに関する情報をデコード装置にシグナリングすることができる。ここで、前記アフィンMVPモードは、周辺ブロックに基づいてアフィンMVP候補リストを構成でき、CPMVPに関する情報は、アフィンMVP候補リストのうち、現在ブロックのCPMVに対するCPMVPを導出するために参照する周辺ブロックを表すことができる。アフィンMVP候補リストは、コントロールポイント動きベクトル予測子候補リストと称することもできる。
例えば、6パラメータアフィン動きモデルのアフィンインターモードが適用される場合、後述するように現在ブロックがエンコードされることができる。
図9は、本文書の一実施形態に係るコントロールポイントでの動きベクトル予測子を導出する方法を説明するための図である。
図9に示すように、現在ブロックのCP0の動きベクトルをv0、CP1の動きベクトルをv1、左下端(bottom-left)サンプルポジションのコントロールポイントの動きベクトルをv2、CP2の動きベクトルをv3と表現することができる。すなわち、前記v0は、CP0のCPMVP、前記v1は、CP1のCPMVP、前記v2は、CP2のCPMVPを示すことができる。
アフィンMVP候補は、前記CP0のCPMVP候補、前記CP1のCPMVP候補、前記CP2の候補の組み合わせでありうる。
例えば、前記アフィンMVP候補は、次のように導出されることができる。
具体的に、次の数式のように、最大12個のCPMVP候補の組み合わせが決定され得る。
Figure 0007039698000006
ここで、vAは、周辺ブロックAの動きベクトル、vBは、周辺ブロックBの動きベクトル、vCは、周辺ブロックCの動きベクトル、vDは、周辺ブロックDの動きベクトル、vEは、周辺ブロックEの動きベクトル、vFは、周辺ブロックFの動きベクトル、vGは、周辺ブロックGの動きベクトルを表すことができる。
また、前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左側に位置する周辺ブロックを表すことができる。また、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができる。また、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左側に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
すなわち、上述した数式6を参照すれば、前記CP0のCPMVP候補は、前記周辺ブロックAの動きベクトルvA、前記周辺ブロックBの動きベクトルvB、及び/又は前記周辺ブロックCの動きベクトルvCを含むことができ、前記CP1のCPMVP候補は、前記周辺ブロックDの動きベクトルvD、及び/又は前記周辺ブロックEの動きベクトルvEを含むことができ、前記CP2のCPMVP候補は、前記周辺ブロックFの動きベクトルvF、及び/又は前記周辺ブロックGの動きベクトルvGを含むことができる。
言い換えれば、前記CP0のCPMVP v0は、左上端サンプルポジションの周辺ブロックA、B、及びCのうち、少なくとも1つの動きベクトルに基づいて導出されることができる。ここで、周辺ブロックAは、現在ブロックの左上端サンプルポジションの左上端に位置するブロックを意味することができ、周辺ブロックBは、現在ブロックの左上端サンプルポジションの上端に位置するブロックを意味することができ、周辺ブロックCは、現在ブロックの左上端サンプルポジションの左側に位置するブロックを意味することができる。
前記周辺ブロックの動きベクトルに基づいて前記CP0のCPMVP候補、前記CP1のCPMVP候補、前記CP2のCPMVP候補を含む最大12個のCPMVP候補の組み合わせが導出され得る。
その後、導出されたCPMVP候補の組み合わせをDVが小さい順に整列して、上位2個のCPMVP候補の組み合わせが前記アフィンMVP候補として導出されることができる。
CPMVP候補の組み合わせのDVは、次の数式のように導出されることができる。
Figure 0007039698000007
その後、エンコード装置は、前記アフィンMVP候補の各々に対するCPMVを決定でき、前記CPMVに対するRD(Rate Distortion)コストを比較して、小さいRDコストを有するアフィンMVP候補を前記現在ブロックに対する最適なアフィンMVP候補として選択することができる。エンコード装置は、前記最適な候補を指すインデックス及びCPMVDをエンコード及びシグナリングすることができる。
また、例えば、アフィンマージモードが適用される場合、後述するように現在ブロックがエンコードされることができる。
図10は、本文書の一実施形態に係るコントロールポイントでの動きベクトル予測子を導出する方法を説明するための図である。
図10に示された現在ブロックの周辺ブロックに基づいて前記現在ブロックのアフィンマージ候補リストが構成され得る。前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックEを含むことができる。前記周辺ブロックAは、前記現在ブロックの左側周辺ブロック、前記周辺ブロックBは、前記現在ブロックの上側周辺ブロック、前記周辺ブロックCは、前記現在ブロックの右上側コーナ周辺ブロック、前記周辺ブロックDは、前記現在ブロックの左下側コーナ周辺ブロック、前記周辺ブロックEは、前記現在ブロックの左上側コーナ周辺ブロックを表すことができる。
例えば、前記現在ブロックのサイズがW×Hであり、現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0である場合、前記左側周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックであり、前記上側周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックであり、前記右上側コーナ周辺ブロックは、(W、-1)座標のサンプルを含むブロックであり、前記左下側コーナ周辺ブロックは、(-1、H)座標のサンプルを含むブロックであり、前記左上側コーナ周辺ブロックは、(-1、-1)座標のサンプルを含むブロックでありうる。
具体的に、例えば、エンコード装置は、前記現在ブロックの周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックEを特定スキャニング順序でスキャニングすることができ、スキャニング順序において1番目にアフィン予測モードにエンコードされた周辺ブロックをアフィンマージモードの候補ブロック、すなわち、アフィンマージ候補として決定することができる。ここで、例えば、前記特定スキャニング順序は、アルファベット(alphabet)順でありうる。すなわち、前記特定スキャニング順序は、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックEの順序でありうる。
その後、エンコード装置は、前記決定された候補ブロックのCPMVを用いて前記現在ブロックのアフィン動きモデルを決定でき、前記アフィン動きモデルに基づいて前記現在ブロックのCPMVを決定でき、前記CPMVに基づいて前記現在ブロックのアフィンMVFを決定できる。
一例として、周辺ブロックAが前記現在ブロックの候補ブロックとして決定された場合、後述するように符号化されることができる。
図11は、周辺ブロックAがアフィンマージ候補として選択された場合に行われるアフィン予測の一例を示す。
図11に示すように、エンコード装置は、前記現在ブロックの周辺ブロックAを候補ブロックとして決定することができ、前記周辺ブロックのCPMV、v2、及びv3に基づいて前記現在ブロックのアフィン動きモデルを導出できる。その後、エンコード装置は、前記アフィン動きモデルに基づいて前記現在ブロックのCPMV、v0、及びv1を決定できる。エンコード装置は、前記現在ブロックのCPMV、v0、及びv1に基づいてアフィンMVFを決定でき、前記アフィンMVFに基づいて前記現在ブロックに対するエンコード過程を行うことができる。
一方、アフィンインター予測と関連して、アフィンMVP候補リスト構成に対して継承されたアフィン候補(inherited affine candidate)とコンストラクテッドアフィン候補(constructed affine candidate)とが考慮されている。
ここで、前記継承されたアフィン候補は、次のとおりでありうる。
例えば、前記現在ブロックの周辺ブロックがアフィンブロックであり、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同一である場合、前記周辺ブロックのアフィンモーションモデルから前記現在ブロックのアフィンMVPペアが決定され得る。ここで、前記アフィンブロックは、前記アフィンインター予測が適用されたブロックを表すことができる。前記継承されたアフィン候補は、前記周辺ブロックのアフィン動きモデルに基づいて導出されたCPMVP(例えば、前記アフィンMVPペア)を表すことができる。
具体的に、一例として、後述するように前記継承されたアフィン候補が導出され得る。
図12は、前記継承されたアフィン候補を導出するための周辺ブロックを例示的に示す。
図12に示すように、前記現在ブロックの周辺ブロックは、前記現在ブロックの左側周辺ブロックA0、前記現在ブロックの左下側コーナ周辺ブロックA1、前記現在ブロックの上側周辺ブロックB0、前記現在ブロックの右上側コーナ周辺ブロックB1、前記現在ブロックの左上側コーナ周辺ブロックB2を含むことができる。
例えば、前記現在ブロックのサイズがW×Hであり、現在ブロックの左上端(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より小さい場合(すなわち、導出された継承されたアフィン候補の個数が2より小さい場合)、コンストラクテッドアフィン候補(constructed affine candidate)が考慮され得る。前記構成されたアフィン候補は、下記のように導出されることができる。
図13は、前記コンストラクテッドアフィン候補に対する空間的候補を例示的に示す。
図13に示されたように、前記現在ブロックの周辺ブロックの動きベクトルは、3個のグループに分けられることができる。図13に示すように、前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE、周辺ブロックF、及び周辺ブロックGを含むことができる。
前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができる。また、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができる。また、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
例えば、前記3個のグループは、S0、S1、S2を含むことができ、前記S0、前記S1、前記S2は、次の表のように導出されることができる。
Figure 0007039698000008
ここで、mvAは、前記周辺ブロックAの動きベクトル、mvBは、前記周辺ブロックBの動きベクトル、mvCは、前記周辺ブロックCの動きベクトル、mvDは、前記周辺ブロックDの動きベクトル、mvEは、前記周辺ブロックEの動きベクトル、mvFは、前記周辺ブロックFの動きベクトル、mvGは、前記周辺ブロックGの動きベクトルを表す。前記S0は、第1のグループ、S1は、第2のグループ、前記S2は、第3のグループであると表すこともできる。
エンコード装置/デコード装置は、前記S0からmv0を導出でき、S1からmv1を導出でき、S2からmv2を導出でき、前記mv0、前記mv1、前記mv2を含むアフィンMVP候補を導出できる。前記アフィンMVP候補は、前記コンストラクテッドアフィン候補を表すことができる。また、前記mv0は、CP0のCPMVP候補でありうるし、前記mv1は、CP1のCPMVP候補でありうるし、前記mv2は、CP2のCPMVP候補でありうる。
ここで、前記mv0に対する参照ピクチャは、前記現在ブロックの参照ピクチャと同一でありうる。すなわち、前記mv0は、特定順序にしたがって前記S0内の動きベクトルをチェックし、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。前記特定順序は、前記S0で前記周辺ブロックA→前記周辺ブロックB→前記周辺ブロックCでありうる。また、上述した順序以外の順序で行われることができ、上述した例に限定されないことができる。
また、前記mv1に対する参照ピクチャは、前記現在ブロックの参照ピクチャと同一でありうる。すなわち、前記mv1は、特定順序にしたがって前記S1内の動きベクトルをチェックし、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。前記特定順序は、前記S1で前記周辺ブロックD→前記周辺ブロックEでありうる。また、上述した順序以外の順序で行われることができ、上述した例に限定されないことができる。
また、前記mv2に対する参照ピクチャは、前記現在ブロックの参照ピクチャと同一でありうる。すなわち、前記mv2は、特定順序にしたがって前記S2内の動きベクトルをチェックし、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。前記特定順序は、前記S2で前記周辺ブロックF→前記周辺ブロックGでありうる。また、上述した順序以外の順序で行われることができ、上述した例に限定されないことができる。
一方、前記mv0及び前記mv1のみ利用可能である場合、すなわち、前記mv0及び前記mv1のみ導出される場合、前記mv2は、次の数式のように導出されることができる。
Figure 0007039698000009
ここで、mv2 xは、前記mv2のx成分を示し、mv2 yは、前記mv2のy成分を示し、mv0 xは、前記mv0のx成分を示し、mv0 yは、前記mv0のy成分を示し、mv1 xは、前記mv1のx成分を示し、mv1 yは、前記mv1のy成分を示す。また、wは、前記現在ブロックの幅を示し、hは、前記現在ブロックの高さを示す。
一方、前記mv0及び前記mv2のみ導出される場合、前記mv1は、次の数式のように導出されることができる。
Figure 0007039698000010
ここで、mv1 xは、前記mv1のx成分を示し、mv1 yは、前記mv1のy成分を示し、mv0 xは、前記mv0のx成分を示し、mv0 yは、前記mv0のy成分を示し、mv2 xは、前記mv2のx成分を示し、mv2 yは、前記mv2のy成分を示す。また、wは、前記現在ブロックの幅を示し、hは、前記現在ブロックの高さを示す。
また、利用可能な(available)前記継承されたアフィン候補及び/又は前記コンストラクテッドアフィン候補の数が2より小さい場合、既存HEVC標準のAMVP過程が前記アフィンMVPリスト構成に適用されることができる。すなわち、利用可能な(available)前記継承されたアフィン候補及び/又はコンストラクテッドアフィン候補の数が2より小さい場合、既存HEVC標準でのMVP候補を構成する過程が行われ得る。
一方、上述したアフィンMVPリストを構成する実施形態等の順序図は、後述するとおりである。
図14は、アフィンMVPリストを構成する一例を例示的に示す。
図14に示すように、エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストに継承された候補(inherited candidate)を追加できる(S1400)。前記継承された候補は、上述した継承されたアフィン候補を表すことができる。
具体的に、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出できる(S1405)。ここで、前記周辺ブロックは、前記現在ブロックの左側周辺ブロックA0、左下側コーナ周辺ブロックA1、上側周辺ブロックB0、右上側コーナ周辺ブロックB1、及び左上側コーナ周辺ブロックB2を含むことができる。
例えば、エンコード装置/デコード装置は、周辺ブロック内の第1のブロックに基づいて前記現在ブロックの第1のアフィンMVP候補を導出できる。ここで、前記第1のブロックは、アフィン動きモデルで符号化されることができ、前記第1のブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一でありうる。すなわち、前記第1のブロックは、特定順序にしたがって前記周辺ブロックをチェックし、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルで符号化され、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
その後、エンコード装置/デコード装置は、周辺ブロック内の第2のブロックに基づいて前記現在ブロックの第2のアフィンMVP候補を導出できる。ここで、前記第2のブロックは、アフィン動きモデルで符号化されることができ、前記第2のブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一でありうる。すなわち、前記第2のブロックは、特定順序にしたがって前記周辺ブロックをチェックし、2番目に確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルで符号化され、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
一方、前記特定順序は、左側周辺ブロックA0→左下側コーナ周辺ブロックA1→上側周辺ブロックB0→右上側コーナ周辺ブロックB1→左上側コーナ周辺ブロックB2でありうる。また、上述した順序以外の順序で行われることができ、上述した例に限定されないことができる。
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる(S1410)。前記コンストラクテッド候補は、上述したコンストラクテッドアフィン候補を表すことができる。前記コンストラクテッド候補は、コンストラクテッドアフィンMVP候補であると表すこともできる。利用可能な継承された候補の個数が2個より小さい場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる。例えば、エンコード装置/デコード装置は、1個のコンストラクテッドアフィン候補を導出できる。
一方、前記現在ブロックに適用されるアフィン動きモデルが6アフィン動きモデルであるか、または4アフィン動きモデルであるかによって前記コンストラクテッドアフィン候補を導出する方法が異なることができる。前記コンストラクテッド候補を導出する方法についての具体的な内容は、後述する。
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる(S1420)。利用可能な継承された候補及び/又はコンストラクテッド候補の個数が2個より小さい場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる。すなわち、利用可能な継承された候補及び/又はコンストラクテッド候補の個数が2個より小さい場合、エンコード装置/デコード装置は、既存HEVC標準でのMVP候補を構成する過程が行われ得る。
一方、前記コンストラクテッド候補を導出する方法は、次のとおりでありうる。
例えば、前記現在ブロックに適用されるアフィン動きモデルが6アフィン動きモデルである場合、図15に示された実施形態のように前記コンストラクテッド候補が導出され得る。
図15は、前記コンストラクテッド候補を導出する一例を示す。
図15に示すように、エンコード装置/デコード装置は、前記現在ブロックに対するmv0、mv1、mv2をチェックできる(S1500)。すなわち、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックで利用可能なmv0、mv1、mv2が存在するか判断することができる。ここで、前記mv0は、前記現在ブロックのCP0のCPMVP候補でありうるし、前記mv1は、CP1のCPMVP候補でありうるし、前記mv2は、CP2のCPMVP候補でありうる。また、前記mv0、前記mv1、前記mv2は、前記CPに対する候補動きベクトルであると表すことができる。
例えば、エンコード装置/デコード装置は、第1のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv0で導出することができる。すなわち、前記mv0は、特定順序にしたがって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv0は存在しないことができる。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、例えば、エンコード装置/デコード装置は、第2のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv1で導出することができる。すなわち、前記mv1は、特定順序にしたがって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv1は存在しないことができる。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、例えば、エンコード装置/デコード装置は、第3のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv2で導出することができる。すなわち、前記mv2は、特定順序にしたがって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv2は存在しないことができる。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
一方、前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
前記現在ブロックに対する前記mv0及び前記mv1のみ利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv1のみ導出された場合、エンコード装置/デコード装置は、上述した数式8に基づいて前記現在ブロックに対するmv2を導出できる(S1510)。エンコード装置/デコード装置は、上述した数式8に前記導出されたmv0及び前記mv1を代入して前記mv2を導出できる。
前記現在ブロックに対する前記mv0及び前記mv2のみ利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv2のみ導出された場合、エンコード装置/デコード装置は、上述した数式9に基づいて前記現在ブロックに対するmv1を導出できる(S1520)。エンコード装置/デコード装置は、上述した数式9に前記導出されたmv0及び前記mv2を代入して前記mv1を導出できる。
エンコード装置/デコード装置は、前記導出されたmv0、mv1、及びmv2を前記現在ブロックのコンストラクテッド候補として導出することができる(S1530)。前記mv0、前記mv1、及び前記mv2が利用可能である場合、すなわち、前記現在ブロックの周辺ブロックに基づいて前記mv0、前記mv1、及び前記mv2が導出された場合、エンコード装置/デコード装置は、前記導出されたmv0、前記mv1、及び前記mv2を前記現在ブロックのコンストラクテッド候補として導出することができる。
また、前記現在ブロックに対する前記mv0及び前記mv1のみ利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv1のみ導出された場合、エンコード装置/デコード装置は、前記導出されたmv0、前記mv1と上述した数式8に基づいて導出されたmv2を前記現在ブロックの前記コンストラクテッド候補として導出することができる。
また、前記現在ブロックに対する前記mv0及び前記mv2のみ利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv2のみ導出された場合、エンコード装置/デコード装置は、前記導出されたmv0、前記mv2と上述した数式9に基づいて導出されたmv1を前記現在ブロックの前記コンストラクテッド候補として導出することができる。
また、例えば、前記現在ブロックに適用されるアフィン動きモデルが4アフィン動きモデルである場合、図15に示された実施形態のように前記コンストラクテッド候補が導出され得る。
図16は、前記コンストラクテッド候補を導出する一例を示す。
図16に示すように、エンコード装置/デコード装置は、前記現在ブロックに対するmv0、mv1、mv2をチェックできる(S1600)。すなわち、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックで利用可能なmv0、mv1、mv2が存在するか判断することができる。ここで、前記mv0は、前記現在ブロックのCP0のCPMVP候補でありうるし、前記mv1は、CP1のCPMVP候補でありうるし、前記mv2は、CP2のCPMVP候補でありうる。
例えば、エンコード装置/デコード装置は、第1のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv0で導出することができる。すなわち、前記mv0は、特定順序にしたがって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv0は存在しないことができる。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、例えば、エンコード装置/デコード装置は、第2のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv1で導出することができる。すなわち、前記mv1は、特定順序にしたがって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv1は存在しないことができる。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、例えば、エンコード装置/デコード装置は、第3のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv2で導出することができる。すなわち、前記mv2は、特定順序にしたがって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv2は存在しないことができる。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
一方、前記第1のグループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2のグループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3のグループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
前記現在ブロックに対する前記mv0及び前記mv1のみ利用可能である場合または前記現在ブロックに対する前記mv0、前記mv1、及び前記mv2が利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv1のみ導出された場合または前記現在ブロックに対する前記mv0、前記mv1、及び前記mv2が導出された場合、エンコード装置/デコード装置は、前記導出されたmv0、前記mv1を前記現在ブロックのコンストラクテッド候補として導出することができる(S1610)。
一方、前記現在ブロックに対する前記mv0及び前記mv2のみ利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv2のみ導出された場合、エンコード装置/デコード装置は、上述した数式9に基づいて前記現在ブロックに対するmv1を導出できる(S1620)。エンコード装置/デコード装置は、上述した数式9に前記導出されたmv0及び前記mv2を代入して前記mv1を導出できる。
その後、エンコード装置/デコード装置は、前記導出されたmv0及びmv1を前記現在ブロックのコンストラクテッド候補として導出することができる(S1610)。
一方、本文書では、前記継承されたアフィン候補を導出する他の実施形態が提案される。提案される実施形態は、継承されたアフィン候補を導出するにあたって演算の複雑度を減らして符号化性能を向上させることができる。
図17は、継承されたアフィン候補を導出するためにスキャニングされる周辺ブロック位置を例示的に示す。
エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックから最大2個の継承されたアフィン候補を導出できる。図17は、前記継承されたアフィン候補のための前記周辺ブロックを表すことができる。例えば、前記周辺ブロックは、図17に示された周辺ブロックA及び周辺ブロックBを含むことができる。前記周辺ブロックAは、上述した左側周辺ブロックA0を表すことができ、前記周辺ブロックBは、上述した上側周辺ブロックB0を表すことができる。
例えば、エンコード装置/デコード装置は、前記周辺ブロックを特定順序で利用可能であるかチェックすることができ、初めて確認された利用可能な周辺ブロックに基づいて前記現在ブロックの継承されたアフィン候補を導出できる。すなわち、エンコード装置/デコード装置は、前記周辺ブロックを特定順序で特定条件を満たすかチェックすることができ、初めて確認された利用可能な周辺ブロックに基づいて前記現在ブロックの継承されたアフィン候補を導出できる。また、エンコード装置/デコード装置は、2番目に確認された特定条件を満たす周辺ブロックに基づいて前記現在ブロックの継承されたアフィン候補を導出できる。すなわち、エンコード装置/デコード装置は、2番目に確認された特定条件を満たす周辺ブロックに基づいて前記現在ブロックの継承されたアフィン候補を導出できる。ここで、利用可能さは、アフィン動きモデルで符号化され、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。すなわち、前記特定条件は、アフィン動きモデルで符号化され、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。また、例えば、前記特定順序は、前記周辺ブロックA→前記周辺ブロックBでありうる。一方、2つの継承されたアフィン候補(すなわち、導出された継承されたアフィン候補等)間のプルーニングチェック過程は行われないことができる。前記プルーニングチェック過程は、互いに同一であるか否かをチェックし、同一の候補である場合、最終順序で導出された候補を除去する過程を表すことができる。
上述した実施形態は、既存の周辺ブロック(すなわち、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE)を全てチェックして前記継承されたアフィン候補を導出する代わりに、2個の周辺ブロック(すなわち、周辺ブロックA、周辺ブロックB)だけをチェックして前記継承されたアフィン候補を導出する方法を提案する。ここで、前記周辺ブロックCは、上述した右上側コーナ周辺ブロックB1を表すことができ、前記周辺ブロックDは、上述した左下側コーナ周辺ブロックA1を表すことができ、前記周辺ブロックEは、上述した左上側コーナ周辺ブロックB2を表すことができる。
アフィンインター予測による前記周辺ブロックと現在ブロックとの間の空間的相関度(spatial correlation)を分析するために、各周辺ブロックが、アフィン予測が適用された場合に前記現在ブロックにアフィン予測が適用される確率が参照され得る。各周辺ブロックが、アフィン予測が適用された場合に前記現在ブロックにアフィン予測が適用される確率は、次の表のように導出されることができる。
Figure 0007039698000011
前記表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などだけを比較してプルーニングチェック過程を行うことができる。
また、本文書では、上述した実施形態と異なるコンストラクテッド候補を導出する方法が提案される。提案される実施形態は、上述したコンストラクテッド候補を導出する実施形態に比べて複雑度を減らして符号化性能を向上させることができる。前記提案される実施形態は、後述するとおりである。また、前記継承されたアフィン候補の利用可能な個数が2より小さい場合(すなわち、導出された継承されたアフィン候補の個数が2より小さい場合)、コンストラクテッドアフィン候補(constructed affine candidate)が考慮され得る。
例えば、エンコード装置/デコード装置は、前記現在ブロックに対するmv0、mv1、mv2をチェックできる。すなわち、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックで利用可能なmv0、mv1、mv2が存在するか判断することができる。ここで、前記mv0は、前記現在ブロックのCP0のCPMVP候補でありうるし、前記mv1は、CP1のCPMVP候補でありうるし、前記mv2は、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のグループで利用可能なmv0が存在するか判断することができ、前記第2のグループで利用可能なmv1が存在するか判断することができ、前記第3のグループで利用可能なmv2が存在するか判断することができる。
具体的に、例えば、エンコード装置/デコード装置は、第1のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv0で導出することができる。すなわち、前記mv0は、特定順序にしたがって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv0は存在しないことができる。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、エンコード装置/デコード装置は、第2のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv1で導出することができる。すなわち、前記mv1は、特定順序にしたがって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv1は存在しないことができる。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、エンコード装置/デコード装置は、第3のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv2で導出することができる。すなわち、前記mv2は、特定順序にしたがって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv2は存在しないことができる。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
その後、前記現在ブロックに適用されるアフィン動きモデルが4アフィン動きモデルである場合、前記現在ブロックに対するmv0及びmv1が利用可能であれば、エンコード装置/デコード装置は、前記導出されたmv0及びmv1を前記現在ブロックのコンストラクテッド候補として導出することができる。一方、前記現在ブロックに対するmv0及び/又はmv1が利用可能でない場合、すなわち、前記現在ブロックの周辺ブロックからmv0及びmv1のうち、少なくとも1つが導出されない場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補を追加しないことができる。
また、前記現在ブロックに適用されるアフィン動きモデルが6アフィン動きモデルである場合、前記現在ブロックに対するmv0、mv1、及びmv2が利用可能であれば、エンコード装置/デコード装置は、前記導出されたmv0、mv1、及びmv2を前記現在ブロックのコンストラクテッド候補として導出することができる。一方、前記現在ブロックに対するmv0、mv1、及び/又はmv2が利用可能でない場合、すなわち、前記現在ブロックの周辺ブロックからmv0、mv1、及びmv2のうち、少なくとも1つが導出されない場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補を追加しないことができる。
上述した提案された実施形態は、前記現在ブロックのアフィン動きモデルを生成するためのCPの動きベクトルが全て利用可能である場合にのみコンストラクテッド候補として考慮する方法である。ここで、利用可能さ(available)の意味は、周辺ブロックの参照ピクチャと現在ブロックの参照ピクチャとが同一であることを表すことができる。すなわち、前記コンストラクテッド候補は、前記現在ブロックのCPの各々に対する周辺ブロックの動きベクトルのうち、前記条件を満たす動きベクトルが存在する場合にのみ導出されることができる。したがって、前記現在ブロックに適用されるアフィン動きモデルが4アフィン動きモデルである場合、前記現在ブロックのCP0とCP1のMV等(すなわち、前記mv0及び前記mv1)が利用可能である場合にのみ前記コンストラクテッド候補が考慮され得る。また、前記現在ブロックに適用されるアフィン動きモデルが6アフィン動きモデルである場合、前記現在ブロックのCP0、CP1、CP2のMV等(すなわち、前記mv0、前記mv1、及び前記mv2)が利用可能である場合にのみ前記コンストラクテッド候補が考慮され得る。したがって、提案された実施形態によれば、上述した数式8または数式9に基づいてCPに対する動きベクトルを導出する追加的な構成が必要でないことがある。これを介して前記コンストラクテッド候補を導出するための演算の複雑度を減らすことができる。また、ただ同じ参照ピクチャを有するCPMVP候補が利用可能である場合のみを限定して前記コンストラクテッド候補が決定されるところ、全般的な符号化性能を向上させることができる。
一方、導出された継承されたアフィン候補と前記コンストラクテッドアフィン候補との間のプルーニングチェック過程は行われないことができる。前記プルーニングチェック過程は、互いに同一であるか否かをチェックし、同一の候補である場合、最終順序で導出された候補を除去する過程を表すことができる。
上述した実施形態は、図18及び図19のように示すことができる。
図18は、前記現在ブロックに4アフィン動きモデルが適用される場合に、前記コンストラクテッド候補を導出する一例を示す。
図18に示すように、エンコード装置/デコード装置は、前記現在ブロックに対するmv0、mv1が利用可能であるか判断することができる(S1800)。すなわち、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックで利用可能なmv0、mv1が存在するか判断することができる。ここで、前記mv0は、前記現在ブロックのCP0のCPMVP候補でありうるし、前記mv1は、CP1のCPMVP候補でありうる。
エンコード装置/デコード装置は、第1のグループで利用可能なmv0が存在するか判断することができ、第2のグループで利用可能なmv1が存在するか判断することができる。
具体的に、前記現在ブロックの周辺ブロックは、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のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv0で導出することができる。すなわち、前記mv0は、特定順序にしたがって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv0は存在しないことができる。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、エンコード装置/デコード装置は、前記第2のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv1で導出することができる。すなわち、前記mv1は、特定順序にしたがって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv1は存在しないことができる。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
前記現在ブロックに対する前記mv0及び前記mv1が利用可能である場合、すなわち、前記現在ブロックに対する前記mv0及び前記mv1が導出された場合、エンコード装置/デコード装置は、前記導出されたmv0及びmv1を前記現在ブロックのコンストラクテッド候補として導出することができる(S1810)。一方、前記現在ブロックに対するmv0及び/又はmv1が利用可能でない場合、すなわち、前記現在ブロックの周辺ブロックからmv0及びmv1のうち、少なくとも1つが導出されない場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補を追加しないことができる。
一方、導出された継承されたアフィン候補と前記コンストラクテッドアフィン候補との間のプルーニングチェック過程は行われないことができる。前記プルーニングチェック過程は、互いに同一であるか否かをチェックし、同一の候補である場合、最終順序で導出された候補を除去する過程を表すことができる。
図19は、前記現在ブロックに6アフィン動きモデルが適用される場合に、前記コンストラクテッド候補を導出する一例を示す。
図19に示すように、エンコード装置/デコード装置は、前記現在ブロックに対するmv0、mv1、mv2が利用可能であるか判断することができる(S1900)。すなわち、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックで利用可能なmv0、mv1、mv2が存在するか判断することができる。ここで、前記mv0は、前記現在ブロックのCP0のCPMVP候補でありうるし、前記mv1は、CP1のCPMVP候補でありうるし、前記mv2は、CP2のCPMVP候補でありうる。
エンコード装置/デコード装置は、第1のグループで利用可能なmv0が存在するか判断することができ、第2のグループで利用可能なmv1が存在するか判断することができ、第3のグループで利用可能なmv2が存在するか判断することができる。
具体的に、前記現在ブロックの周辺ブロックは、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のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv0で導出することができる。すなわち、前記mv0は、特定順序にしたがって前記第1のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第1のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv0は存在しないことができる。ここで、例えば、前記特定順序は、前記第1のグループ内の周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、エンコード装置/デコード装置は、前記第2のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv1で導出することができる。すなわち、前記mv1は、特定順序にしたがって前記第2のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第2のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv1は存在しないことができる。ここで、例えば、前記特定順序は、前記第2のグループ内の周辺ブロックDから前記周辺ブロックEへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
また、エンコード装置/デコード装置は、前記第3のグループ内の周辺ブロックの動きベクトルを特定順序にしたがって特定条件を満たすかチェックすることができる。エンコード装置/デコード装置は、前記チェック過程で初めて確認された条件を満たす周辺ブロックの動きベクトルを前記mv2で導出することができる。すなわち、前記mv2は、特定順序にしたがって前記第3のグループ内の動きベクトルをチェックし、初めて確認された前記特定条件を満たす動きベクトルでありうる。前記第3のグループ内の前記周辺ブロックの動きベクトルが前記特定条件を満たさない場合、利用可能なmv2は存在しないことができる。ここで、例えば、前記特定順序は、前記第3のグループ内の周辺ブロックFから前記周辺ブロックGへの順序でありうる。また、例えば、前記特定条件は、周辺ブロックの動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一のものでありうる。
前記現在ブロックに対する前記mv0、前記mv1、及び前記mv2が利用可能である場合、すなわち、前記現在ブロックに対する前記mv0、前記mv1、及び前記mv2が導出された場合、エンコード装置/デコード装置は、前記導出されたmv0、mv1、及びmv2を前記現在ブロックのコンストラクテッド候補として導出することができる(S1910)。一方、前記現在ブロックに対するmv0、mv1、及び/又はmv2が利用可能でない場合、すなわち、前記現在ブロックの周辺ブロックからmv0、mv1、及びmv2のうち、少なくとも1つが導出されない場合、エンコード装置/デコード装置は、前記現在ブロックのアフィン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)と表すことができる。これに、本文書は、ラインバッファにアフィン予測関連情報が格納されないか、減らすことによってハードウェア費用を最小化し、継承されたアフィン候補を導出する実施形態を提案する。提案される実施形態は、前記継承されたアフィン候補を導出するにあたって、演算の複雑度を減らして符号化性能を向上させることができる。一方、参考として、ラインバッファには既に4×4サイズブロックの動き情報が格納されており、前記アフィン予測関連情報が追加に格納される場合、格納情報量が既存格納量に対して3倍増加することができる。
本実施形態では、ラインバッファに追加的にアフィン予測に対するいかなる情報も格納しないことができ、前記継承されたアフィン候補の生成のために、ラインバッファ内の情報が参照されなければならない場合、前記継承されたアフィン候補の生成が制限され得る。
図20a~図20bは、前記継承されたアフィン候補を導出する実施形態を例示的に示す。
図20aに示すように、前記現在ブロックの周辺ブロックB(すなわち、前記現在ブロックの上側周辺ブロック)が前記現在ブロックと同じCTU(すなわち、現在CTU)に存在しない場合、前記継承されたアフィン候補の生成のために、前記周辺ブロックBは使用されないことがある。一方、周辺ブロックAも、前記現在ブロックと同じCTUに存在しないが、前記周辺ブロックAに関する情報は、ラインバッファに格納されないところ、前記継承されたアフィン候補の生成のために使用されることができる。したがって、本実施形態では、前記現在ブロックの上側周辺ブロックが前記現在ブロックと同じCTUに含まれる場合にのみ、前記継承されたアフィン候補を導出するために使用されることができる。また、前記現在ブロックの上側周辺ブロックが前記現在ブロックと同じCTUに含まれない場合、前記上側周辺ブロックは、前記継承されたアフィン候補を導出するために使用されないことがある。
図20bに示すように、前記現在ブロックの周辺ブロックB(すなわち、前記現在ブロックの上側周辺ブロック)が前記現在ブロックと同じCTUに存在することができる。この場合、エンコード装置/デコード装置は、前記周辺ブロックBを参照して前記継承されたアフィン候補を生成できる。
図21は、本文書に係るエンコード装置による画像エンコード方法の概略を示す。図21において開示された方法は、図2において開示されたエンコード装置によって行われることができる。具体的に、例えば、図21のS2100ないしS2120は、前記エンコード装置の予測部によって行われることができ、S2130は、前記エンコード装置の減算部によって行われることができ、S2140は、前記エンコード装置のエントロピーエンコード部によって行われることができる。また、例えば、図示されてはいないが、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出する過程は、前記エンコード装置の予測部によって行われることができ、前記現在ブロックに対する原本サンプルと予測サンプルとに基づいて前記現在ブロックに対するレシデュアルサンプルを導出する過程は、前記エンコード装置の減算部によって行われることができ、前記レシデュアルサンプルに基づいて前記現在ブロックに対するレシデュアルに関する情報を生成する過程は、前記エンコード装置の変換部によって行われることができ、前記レシデュアルに関する情報をエンコードする過程は、前記エンコード装置のエントロピーエンコード部によって行われることができる。
エンコード装置は、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補リストを構成する(S2100)。エンコード装置は、前記現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを構成できる。前記アフィンMVP候補リストの前記アフィンMVP候補の最大個数は2でありうる。
また、一例として、前記アフィンMVP候補リストは、継承された(inherited)アフィンMVP候補を含むことができる。エンコード装置は、前記現在ブロックの継承された(inherited)アフィンMVP候補が利用可能であるかチェックすることができ、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補が導出され得る。例えば、前記継承されたアフィンMVP候補は、前記現在ブロックの周辺ブロックに基づいて導出されることができ、前記継承されたアフィンMVP候補の最大個数は2でありうる。前記周辺ブロックは、特定順序で利用可能であるかチェックされることができ、チェックされた利用可能な周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出され得る。すなわち、前記周辺ブロックは、特定順序で利用可能であるかチェックされることができ、初めてチェックされた利用可能な周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出され得るし、2番目にチェックされた利用可能な周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出され得る。前記利用可能さは、アフィン動きモデルで符号化され、周辺ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であることを表すことができる。すなわち、利用可能な周辺ブロックは、アフィン動きモデルで符号化され(すなわち、アフィン予測が適用され)、参照ピクチャが前記現在ブロックの参照ピクチャと同一の周辺ブロックでありうる。具体的に、エンコード装置は、前記初めてチェックされた利用可能な周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第1の継承されたアフィンMVP候補を導出できる。また、エンコード装置は、前記2番目にチェックされた利用可能な周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第2の継承されたアフィンMVP候補を導出できる。前記アフィン動きモデルは、上述した数式1または数式3のように導出されることができる。
また、言い換えれば、前記周辺ブロックは、特定順序で特定条件を満たすかチェックすることができ、チェックされた前記特定条件を満たす周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出され得る。すなわち、前記周辺ブロックは、特定順序で前記特定条件を満たすかチェックされることができ、初めてチェックされた前記特定条件を満たす周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出され得るし、2番目にチェックされた前記特定条件を満たす周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出され得る。具体的に、エンコード装置は、前記初めてチェックされた前記特定条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第1の継承されたアフィンMVP候補を導出できる。また、エンコード装置は、前記2番目にチェックされた前記特定条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第2の継承されたアフィンMVP候補を導出できる。前記アフィン動きモデルは、上述した数式1または数式3のように導出されることができる。一方、前記特定条件は、アフィン動きモデルで符号化され、周辺ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であることを表すことができる。すなわち、前記特定条件を満たす周辺ブロックは、アフィン動きモデルで符号化され(すなわち、アフィン予測が適用され)、参照ピクチャが前記現在ブロックの参照ピクチャと同一の周辺ブロックでありうる。
ここで、例えば、前記周辺ブロックは、前記現在ブロックの左側周辺ブロック、上側周辺ブロック、右上側コーナ周辺ブロック、左下側コーナ周辺ブロック、及び左上側コーナ周辺ブロックを含むことができる。この場合、前記特定順序は、前記左側周辺ブロックから前記左下側コーナ周辺ブロック、前記上側周辺ブロック、前記右上側コーナ周辺ブロック、前記左上側コーナ周辺ブロックへの順序でありうる。
または、例えば、前記周辺ブロックは、前記左側周辺ブロック及び前記上側周辺ブロックのみを含むことができる。この場合、前記特定順序は、前記左側周辺ブロックから前記上側周辺ブロックへの順序でありうる。
または、例えば、前記周辺ブロックは、前記左側周辺ブロックを含むことができ、前記上側周辺ブロックが前記現在ブロックを含む現在CTUに含まれる場合、前記周辺ブロックは、前記上側周辺ブロックをさらに含むことができる。この場合、前記特定順序は、前記左側周辺ブロックから前記上側周辺ブロックへの順序でありうる。また、前記上側周辺ブロックが現在CTUに含まれない場合、前記周辺ブロックは、前記上側周辺ブロックを含まないことができる。この場合、前記左側周辺ブロックだけがチェックされ得る。
一方、サイズがW×Hであり、前記現在ブロックの左上端(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への順序でありうる。
一方、前記現在ブロックのサイズがW×Hであり、前記現在ブロックの左上端(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の候補動きベクトルのうち、少なくとも1つが利用可能でない場合、前記コンストラクテッドアフィン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への順序でありうる。
一方、前記現在ブロックのサイズがW×Hであり、前記現在ブロックの左上端(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の候補動きベクトルのうち、少なくとも1つが利用可能でない場合、前記コンストラクテッドアフィン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)を導出する(S2110)。エンコード装置は、最適な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を導出する(S2120)。エンコード装置は、前記現在ブロックの前記CPの各々に対するCPMVを導出できる。
エンコード装置は、前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出する(S2130)。エンコード装置は、前記CPの各々に対する前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVDを導出できる。
エンコード装置は、前記CPMVDに関する情報を含む動き予測情報(motion prediction information)をエンコードする(S2140)。エンコード装置は、前記CPMVDに関する情報を含む動き予測情報をビットストリーム形態で出力することができる。すなわち、エンコード装置は、前記動き予測情報を含む画像情報をビットストリーム形態で出力することができる。エンコード装置は、前記CPの各々に対するCPMVDに関する情報をエンコードでき、前記動き予測情報は、前記CPMVDに関する情報を含むことができる。
また、前記動き予測情報は、前記アフィンMVP候補インデックスを含むことができる。前記アフィンMVP候補インデックスは、前記現在ブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、前記選択されたアフィンMVP候補を指すことができる。
一方、一例として、エンコード装置は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出でき、前記現在ブロックに対する原本サンプルと予測サンプルとに基づいて前記現在ブロックに対するレシデュアルサンプルを導出でき、前記レシデュアルサンプルに基づいて前記現在ブロックに対するレシデュアルに関する情報を生成でき、前記レシデュアルに関する情報をエンコードできる。前記画像情報は、前記レシデュアルに関する情報を含むことができる。
一方、前記ビットストリームは、ネットワークまたは(デジタル)格納媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。
図22は、本文書に係る画像エンコード方法を行うエンコード装置の概略を示す。図21において開示された方法は、図22において開示されたエンコード装置によって行われることができる。具体的に、例えば、図22の前記エンコード装置の予測部は、図21のS2100ないしS2130を行うことができ、図22の前記エンコード装置のエントロピーエンコード部は、図21のS2140を行うことができる。また、例えば、図示されてはいないが、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出する過程は、図22のエンコード装置の予測部によって行われることができ、前記現在ブロックに対する原本サンプルと予測サンプルとに基づいて前記現在ブロックに対するレシデュアルサンプルを導出する過程は、図22の前記エンコード装置の減算部によって行われることができ、前記レシデュアルサンプルに基づいて前記現在ブロックに対するレシデュアルに関する情報を生成する過程は、図22の前記エンコード装置の変換部によって行われることができ、前記レシデュアルに関する情報をエンコードする過程は、図22の前記エンコード装置のエントロピーエンコード部によって行われることができる。
図23は、本文書に係るデコード装置による画像デコード方法の概略を示す。図23において開示された方法は、図3において開示されたデコード装置によって行われることができる。具体的に、例えば、図23のS2300は、前記デコード装置のエントロピーデコード部によって行われることができ、S2310ないしS2350は、前記デコード装置の予測部によって行われることができ、S2360は、前記デコード装置の加算部によって行われることができる。また、例えば、図示されてはいないが、ビットストリームを介して現在ブロックのレシデュアルに関する情報を取得する過程は、前記デコード装置のエントロピーデコード部によって行われることができ、前記レシデュアル情報に基づいて前記現在ブロックに対する前記レシデュアルサンプルを導出する過程は、前記デコード装置の逆変換部によって行われることができる。
デコード装置は、ビットストリームから現在ブロックに対する動き予測情報(motion prediction information)を取得する(S2300)。デコード装置は、前記ビットストリームから前記動き予測情報を含む画像情報を取得できる。
また、例えば、前記動き予測情報は、前記現在ブロックのCP(Control Point)に対するCPMVD(Control Point Motion Vector Differences)に関する情報を含むことができる。すなわち、前記動き予測情報は、前記現在ブロックのCPの各々に対するCPMVDに関する情報を含むことができる。
また、例えば、前記動き予測情報は、前記現在ブロックに対するアフィンMVP候補インデックスを含むことができる。前記アフィンMVP候補インデックスは、前記現在ブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、1つを指すことができる。
デコード装置は、前記現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補リストを構成する(S2310)。デコード装置は、前記現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを構成できる。前記アフィンMVP候補リストの前記アフィンMVP候補の最大個数は2でありうる。
また、一例として、前記アフィンMVP候補リストは、継承された(inherited)アフィンMVP候補を含むことができる。デコード装置は、前記現在ブロックの継承された(inherited)アフィンMVP候補が利用可能であるかチェックすることができ、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補が導出され得る。例えば、前記継承されたアフィンMVP候補は、前記現在ブロックの周辺ブロックに基づいて導出されることができ、前記継承されたアフィンMVP候補の最大個数は2でありうる。前記周辺ブロックは、特定順序で利用可能であるかチェックされることができ、チェックされた利用可能な周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出され得る。すなわち、前記周辺ブロックは、特定順序で利用可能であるかチェックされることができ、初めてチェックされた利用可能な周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出され得るし、2番目にチェックされた利用可能な周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出され得る。前記利用可能さは、アフィン動きモデルで符号化され、周辺ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であることを表すことができる。すなわち、利用可能な周辺ブロックは、アフィン動きモデルで符号化され(すなわち、アフィン予測が適用され)、参照ピクチャが前記現在ブロックの参照ピクチャと同一の周辺ブロックでありうる。具体的に、デコード装置は、前記初めてチェックされた利用可能な周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第1の継承されたアフィンMVP候補を導出できる。また、デコード装置は、前記2番目にチェックされた利用可能な周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第2の継承されたアフィンMVP候補を導出できる。前記アフィン動きモデルは、上述した数式1または数式3のように導出されることができる。
また、言い換えれば、前記周辺ブロックは、特定順序で特定条件を満たすかチェックされることができ、チェックされた前記特定条件を満たす周辺ブロックに基づいて前記継承されたアフィンMVP候補が導出され得る。すなわち、前記周辺ブロックは、特定順序で前記特定条件を満たすかチェックされることができ、初めてチェックされた前記特定条件を満たす周辺ブロックに基づいて第1の継承されたアフィンMVP候補が導出され得るし、2番目にチェックされた前記特定条件を満たす周辺ブロックに基づいて第2の継承されたアフィンMVP候補が導出され得る。具体的に、デコード装置は、前記初めてチェックされた前記特定条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第1の継承されたアフィンMVP候補を導出できる。また、デコード装置は、前記2番目にチェックされた前記特定条件を満たす周辺ブロックのアフィン動きモデルに基づいて前記現在ブロックのCPに対する動きベクトルを導出でき、前記動きベクトルをCPMVP候補として含む前記第2の継承されたアフィンMVP候補を導出できる。前記アフィン動きモデルは、上述した数式1または数式3のように導出されることができる。一方、前記特定条件は、アフィン動きモデルで符号化され、周辺ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であることを表すことができる。すなわち、前記特定条件を満たす周辺ブロックは、アフィン動きモデルで符号化され(すなわち、アフィン予測が適用され)、参照ピクチャが前記現在ブロックの参照ピクチャと同一の周辺ブロックでありうる。
ここで、例えば、前記周辺ブロックは、前記現在ブロックの左側周辺ブロック、上側周辺ブロック、右上側コーナ周辺ブロック、左下側コーナ周辺ブロック、及び左上側コーナ周辺ブロックを含むことができる。この場合、前記特定順序は、前記左側周辺ブロックから前記左下側コーナ周辺ブロック、前記上側周辺ブロック、前記右上側コーナ周辺ブロック、前記左上側コーナ周辺ブロックへの順序でありうる。
または、例えば、前記周辺ブロックは、前記左側周辺ブロック及び前記上側周辺ブロックのみを含むことができる。この場合、前記特定順序は、前記左側周辺ブロックから前記上側周辺ブロックへの順序でありうる。
または、例えば、前記周辺ブロックは、前記左側周辺ブロックを含むことができ、前記上側周辺ブロックが前記現在ブロックを含む現在CTUに含まれる場合、前記周辺ブロックは、前記上側周辺ブロックをさらに含むことができる。この場合、前記特定順序は、前記左側周辺ブロックから前記上側周辺ブロックへの順序でありうる。また、前記上側周辺ブロックが現在CTUに含まれない場合、前記周辺ブロックは、前記上側周辺ブロックを含まないことができる。この場合、前記左側周辺ブロックのみがチェックされ得る。すなわち、前記現在ブロックの上側周辺ブロックが前記現在ブロックを含む現在CTU(Coding tree unit)に含まれる場合、前記上側周辺ブロックが前記継承されたアフィンMVP候補導出のために使用されることができ、前記現在ブロックの上側周辺ブロックが前記現在CTUに含まれない場合、前記上側周辺ブロックは、前記継承されたアフィンMVP候補導出のために使用されないことができる。
一方、サイズがW×Hであり、前記現在ブロックの左上端(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への順序でありうる。
一方、前記現在ブロックのサイズがW×Hであり、前記現在ブロックの左上端(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の候補動きベクトルのうち、少なくとも1つが利用可能でない場合、前記コンストラクテッドアフィン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への順序でありうる。
一方、前記現在ブロックのサイズがW×Hであり、前記現在ブロックの左上端(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の候補動きベクトルのうち、少なくとも1つが利用可能でない場合、前記コンストラクテッドアフィンMVP候補は、利用可能でないことができる。
一方、前記継承されたアフィンMVP候補と前記コンストラクテッドアフィンMVP候補とのプルーニングチェック(pruning check)は行われないことができる。前記プルーニングチェックは、前記コンストラクテッドアフィンMVP候補が前記継承されたアフィンMVP候補と同一であるか否かをチェックして、同一の場合、前記コンストラクテッドアフィン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)を導出する(S2320)。
デコード装置は、前記アフィン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)を導出する(S2330)。前記動き予測情報は、前記CPの各々に対するCPMVDに関する情報を含むことができ、デコード装置は、前記CPの各々に対する前記CPMVDに関する情報に基づいて前記現在ブロックの前記CPの各々に対する前記CPMVDを導出できる。
デコード装置は、前記CPMVP及び前記CPMVDに基づいて前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導出する(S2340)。デコード装置は、前記CPの各々に対するCPMVP及びCPMVDに基づいて各CPに対するCPMVを導出できる。例えば、デコード装置は、各CPに対するCPMVP及びCPMVDを加算して前記CPに対するCPMVを導出できる。
デコード装置は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出する(S2350)。デコード装置は、前記CPMVに基づいて前記現在ブロックのサブブロック単位またはサンプル単位の動きベクトルを導出できる。すなわち、デコード装置は、前記CPMVに基づいて前記現在ブロックの各サブブロックまたは各サンプルの動きベクトルを導出できる。前記サブブロック単位または前記サンプル単位の動きベクトルは、上述した数式1または数式3に基づいて導出されることができる。前記動きベクトルは、アフィン動きベクトルフィールド(Motion Vector Field、MVF)または動きベクトルアレイと表すことができる。
デコード装置は、前記サブブロック単位または前記サンプル単位の動きベクトルに基づいて前記現在ブロックに対する予測サンプルを導出できる。デコード装置は、前記サブブロック単位または前記サンプル単位の動きベクトルに基づいて参照ピクチャ内の参照領域を導出でき、前記参照領域内の復元されたサンプルに基づいて前記現在ブロックの予測サンプルを生成できる。
デコード装置は、前記導出された予測サンプルに基づいて前記現在ブロックに対する復元ピクチャを生成する(S2360)。デコード装置は、前記導出された予測サンプルに基づいて前記現在ブロックに対する復元ピクチャを生成できる。デコード装置は、予測モードによって予測サンプルを直ちに復元サンプルとして用いることができ、または、前記予測サンプルにレシデュアルサンプルを加えて復元サンプルを生成することもできる。デコード装置は、前記現在ブロックに対するレシデュアルサンプルが存在する場合、前記ビットストリームから前記現在ブロックに対するレシデュアルに関する情報を取得できる。前記レシデュアルに関する情報は、前記レシデュアルサンプルに関する変換係数を含むことができる。デコード装置は、前記レシデュアル情報に基づいて前記現在ブロックに対する前記レシデュアルサンプル(または、レシデュアルサンプルアレイ)を導出できる。デコード装置は、前記予測サンプルと前記レシデュアルサンプルとに基づいて復元サンプルを生成でき、前記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出できる。その後、デコード装置は、必要に応じて主観的/客観的画質を向上させるために、デブロッキングフィルタリング及び/又はSAO手順のようなインループフィルタリング手順を前記復元ピクチャに適用できることは上述したとおりである。
図24は、本文書に係る画像デコード方法を行うデコード装置の概略を示す。図23において開示された方法は、図24において開示されたデコード装置によって行われることができる。具体的に、例えば、図24の前記デコード装置のエントロピーデコード部は、図23のS2300を行うことができ、図24の前記デコード装置の予測部は、図23のS2310ないしS2350を行うことができ、図24の前記デコード装置の加算部は、図23のS2360を行うことができる。また、例えば、図示されてはいないが、ビットストリームを介して現在ブロックのレシデュアルに関する情報を含む画像情報を取得する過程は、図24の前記デコード装置のエントロピーデコード部によって行われることができ、前記レシデュアル情報に基づいて前記現在ブロックに対する前記レシデュアルサンプルを導出する過程は、図24の前記デコード装置の逆変換部によって行われることができる。
上述した本文書によれば、アフィン動き予測に基づいた画像符号化の効率を上げることができる。
また、本文書によれば、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補のCPに対する候補動きベクトルが全て利用可能である場合にのみ前記コンストラクテッドアフィンMVP候補を追加でき、これを介してコンストラクテッドアフィンMVP候補を導出する過程及びアフィンMVP候補リストを構成する過程の複雑度を減らし、符号化効率を向上させることができる。
また、本文書によれば、アフィンMVP候補リストを導出するにあたって、コンストラクテッドアフィンMVP候補を導出する過程で導出されたCPに対する候補動きベクトルに基づいて追加的なアフィンMVP候補を導出でき、これを介してアフィンMVP候補リストを構成する過程の複雑度を減らし、符号化効率を向上させることができる。
また、本文書によれば、継承されたアフィンMVP候補を導出する過程で上側周辺ブロックが現在CTUに含まれた場合にのみ上側周辺ブロックを使用して前記継承されたアフィンMVP候補を導出でき、これを介してアフィン予測のためのラインバッファの格納量を減らすことができ、ハードウェア費用を最小化することができる。
上述した実施形態において、方法等は、一連のステップまたはブロックとして順序図を基に説明されているが、本文書は、ステップ等の順序に限定されるものではなく、あるステップは、上述と異なるステップと異なる順序でまたは同時に発生することができる。また、当業者であれば、順序図に示されたステップが排他的でなく、他のステップが含まれるか、順序図の1つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除され得ることを理解できるであろう。
本文書において説明した実施形態等は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実装されて行われることができる。例えば、各図面において図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実装されて行われることができる。この場合、実装のための情報(ex.information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
また、本文書の実施形態が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(ex.車両端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置では、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを備えることができる。
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本文書に係るデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納されるあらゆる種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、ユニバーサル・シリアル・バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で実装されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納されるか、有線/無線通信ネットワークを介して送信されることができる。
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実装されることができ、前記プログラムコードは、本文書の実施形態によってコンピュータで行われることができる。前記プログラムコードは、コンピュータによって読み取り可能なキャリア上に格納されることができる。
図25は、本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
本文書の実施形態が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
前記ビットストリームは、本文書の実施形態が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにいかなるサービスがあるかを知らせる媒介の役割をする。ユーザが前記ウェブサーバに望みのサービスを要求すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信できる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
前記ユーザ装置の例では、携帯電話、スマートフォン(smartphone)、ノートブックコンピュータ(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 (16)

  1. デコード装置によって行われるビデオデコード方法であって、
    ビットストリームから現在ブロックに対する動き予測情報を取得するステップと、
    前記現在ブロックに対するアフィンMVP(Motion Vector Predictor)候補リストを構成するステップと、
    前記アフィン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候補リストを構成するステップは、
    継承されたアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補は、導出される、ステップと、
    コンストラクテッドアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、
    前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補は、導出され、
    前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含む、ステップと、
    導出されたアフィン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候補を導出するステップと、
    前記導出されたアフィンMVP候補の個数が2個より少ない場合、ゼロ動きベクトルを前記CPに対する候補動きベクトルとして含む第5のアフィンMVP候補を導出するステップと、
    を含み、
    前記CP0は、前記現在ブロックの左上端位置を表し、
    前記CP1は、前記現在ブロックの右上端位置を表し、
    前記CP2は、前記現在ブロックの左下端位置を表す、方法。
  2. 記コンストラクテッドアフィンMVP候補は、前記候補動きベクトルが利用可能である場合に利用可能である、請求項1に記載の方法。
  3. 第1のグループ内の第1のブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一の場合、前記CP0に対する候補動きベクトルは、利用可能であり、
    第2のグループ内の第2のブロックの参照ピクチャが前記現在ブロックの前記参照ピクチャと同一の場合、前記CP1に対する前記候補動きベクトルは、利用可能であり、
    第3のグループ内の第3のブロックの参照ピクチャが前記現在ブロックの前記参照ピクチャと同一の場合、前記CP2に対する前記候補動きベクトルは、利用可能であり、
    前記CP0に対する前記候補動きベクトルが利用可能であり、前記CP1に対する前記候補動きベクトルが利用可能であり、前記CP2に対する前記候補動きベクトルが利用可能である場合、前記アフィンMVP候補リストは、前記コンストラクテッドアフィンMVP候補を含む、請求項2に記載の方法。
  4. 前記第1のグループは、周辺ブロックA、周辺ブロックB及び周辺ブロックCを含み、
    前記第2のグループは、周辺ブロックD及び周辺ブロックEを含み、
    前記第3のグループは、周辺ブロックF及び周辺ブロックGを含み、
    前記現在ブロックのサイズがW×Hであり、前記現在ブロックの左上端サンプルポジションのx成分及び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)座標のサンプルを含むブロックである、請求項3に記載の方法。
  5. 前記第1のブロックは、第1の特定順序で前記第1のグループ内の周辺ブロックをチェックする間に参照ピクチャが前記現在ブロックの参照ピクチャと同一であると最初に確認されたブロックであり、
    前記第2のブロックは、第2の特定順序で前記第2のグループ内の周辺ブロックをチェックする間に参照ピクチャが前記現在ブロックの参照ピクチャと同一であると最初に確認されたブロックであり、
    前記第3のブロックは、第3の特定順序で前記第3のグループ内の周辺ブロックをチェックする間に参照ピクチャが前記現在ブロックの参照ピクチャと同一であると最初に確認されたブロックである、請求項4に記載の方法。
  6. 前記第1の特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCの順序であり、
    前記第2の特定順序は、前記周辺ブロックDから前記周辺ブロックEの順序であり、
    前記第3の特定順序は、前記周辺ブロックFから前記周辺ブロックGの順序である、請求項5に記載の方法。
  7. 前記現在ブロックの周辺ブロックが利用できることは、特定順序でチェックされ、
    前記継承されたアフィンMVP候補は、チェックされた利用可能な周辺ブロックに基づいて導出される、請求項1に記載の方法。
  8. 前記利用可能な周辺ブロックは、アフィン動きモデルで符号化された周辺ブロックであり、
    前記利用可能な周辺ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同一である、請求項7に記載の方法。
  9. 前記現在ブロックの前記周辺ブロックは、前記現在ブロックの左側周辺ブロック及び上側周辺ブロックを含む、請求項8に記載の方法。
  10. 前記現在ブロックの前記周辺ブロックは、前記現在ブロックの左側周辺ブロックを含み、
    前記現在ブロックの上側周辺ブロックが前記現在ブロックを含む現在CTU(Coding tree unit)に含まれる場合、前記現在ブロックの前記周辺ブロックは、前記現在ブロックの前記上側周辺ブロックを含む、請求項8に記載の方法。
  11. 前記現在ブロックの前記周辺ブロックが前記左側周辺ブロック及び前記上側周辺ブロックを含む場合、前記特定順序は、前記左側周辺ブロックから前記上側周辺ブロックの順序である、請求項9に記載の方法。
  12. 前記現在ブロックのサイズがW×Hであり、前記現在ブロックの左上端サンプルポジションのx成分及びy成分が0である場合、
    前記左側周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックであり、
    前記上側周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックである、請求項11に記載の方法。
  13. 前記継承されたアフィンMVP候補と前記コンストラクテッドアフィンMVP候補との間のプルーニングチェックは、行われない、請求項1に記載の方法。
  14. 前記現在ブロックの上側周辺ブロックが前記現在ブロックを含む現在CTU(Coding Tree Unit)に含まれる場合、前記上側周辺ブロックは、前記継承されたアフィンMVP候補を導出するために使用され、
    前記現在ブロックの前記上側周辺ブロックが前記現在CTUに含まれない場合、前記上側周辺ブロックは、前記継承されたアフィンMVP候補を導出するために使用されない、請求項1に記載の方法。
  15. エンコード装置によって行われるビデオエンコード方法であって、
    現在ブロックに対するアフィンMVP(Motion Vector Predictor)候補リストを構成するステップと、
    前記アフィンMVP候補リストに基づいて前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出するステップと、
    前記現在ブロックの前記CPに対するCPMVを導出するステップと、
    前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出するステップと、
    前記CPMVDに関する情報を含む動き予測情報をエンコードするステップと、
    を含み、
    前記アフィンMVP候補リストを構成するステップは、
    前記現在ブロックの継承されたアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補は、導出される、ステップと、
    前記現在ブロックのコンストラクテッドアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、
    前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補は、導出され、
    前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含む、ステップと、
    導出されたアフィン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候補を導出するステップと、
    導出されたアフィンMVP候補の個数が2個より少ない場合、ゼロ動きベクトルを前記CPに対する候補動きベクトルとして含む第5のアフィンMVP候補を導出するステップと、
    を含み、
    前記CP0は、前記現在ブロックの左上端位置を表し、
    前記CP1は、前記現在ブロックの右上端位置を表し、
    前記CP2は、前記現在ブロックの左下端位置を表す、方法。
  16. 画像のためのデータの送信方法であって、
    現在ブロックのCP(Control Point)に対するCPMVD(Control Point Motion Vector Differences)に関する情報を含む動き予測情報のビットストリームを取得するステップと、
    前記動き予測情報の前記ビットストリームを含む前記データを送信するステップと、を含み、
    前記動き予測情報は、
    前記現在ブロックに対するアフィンMVP(Motion Vector Predictor)候補リストを構成するステップと、
    前記アフィンMVP候補リストに基づいて前記現在ブロックの前記CPに対するCPMVP(Control Point Motion Vector Predictors)を導出するステップと、
    前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導出するステップと、
    前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導出するステップと、
    前記CPMVDに関する前記情報を含む前記動き予測情報をエンコードするステップと、
    によって生成され、
    前記アフィンMVP候補リストを構成するステップは、
    前記現在ブロックの継承されたアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、前記継承されたアフィンMVP候補が利用可能である場合、前記継承されたアフィンMVP候補は、導出される、ステップと、
    前記現在ブロックのコンストラクテッドアフィンMVP候補が利用可能であるかどうかをチェックするステップであって、
    前記コンストラクテッドアフィンMVP候補が利用可能である場合、前記コンストラクテッドアフィンMVP候補は、導出され、
    前記コンストラクテッドアフィンMVP候補は、前記現在ブロックのCP0に対する候補動きベクトル、前記現在ブロックのCP1に対する候補動きベクトル、及び前記現在ブロックのCP2に対する候補動きベクトルを含む、ステップと、
    導出されたアフィン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候補を導出するステップと、
    導出されたアフィンMVP候補の個数が2個より少ない場合、ゼロ動きベクトルを前記CPに対する候補動きベクトルとして含む第5のアフィンMVP候補を導出するステップと、
    を含み、
    前記CP0は、前記現在ブロックの左上端位置を表し、
    前記CP1は、前記現在ブロックの右上端位置を表し、
    前記CP2は、前記現在ブロックの左下端位置を表す、方法。
JP2020528181A 2018-09-10 2019-09-10 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置 Active JP7039698B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022035921A JP7436543B2 (ja) 2018-09-10 2022-03-09 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP2024017946A JP2024042110A (ja) 2018-09-10 2024-02-08 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862729407P 2018-09-10 2018-09-10
US62/729,407 2018-09-10
PCT/KR2019/011733 WO2020055107A1 (ko) 2018-09-10 2019-09-10 영상 코딩 시스템에서 어파인 mvp 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022035921A Division JP7436543B2 (ja) 2018-09-10 2022-03-09 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置

Publications (3)

Publication Number Publication Date
JP2021505013A JP2021505013A (ja) 2021-02-15
JP2021505013A5 JP2021505013A5 (ja) 2021-03-25
JP7039698B2 true JP7039698B2 (ja) 2022-03-22

Family

ID=69777162

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020528181A Active JP7039698B2 (ja) 2018-09-10 2019-09-10 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP2022035921A Active JP7436543B2 (ja) 2018-09-10 2022-03-09 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP2024017946A Pending JP2024042110A (ja) 2018-09-10 2024-02-08 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022035921A Active JP7436543B2 (ja) 2018-09-10 2022-03-09 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP2024017946A Pending JP2024042110A (ja) 2018-09-10 2024-02-08 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置

Country Status (15)

Country Link
US (4) US10841576B2 (ja)
EP (2) EP3700216B1 (ja)
JP (3) JP7039698B2 (ja)
KR (4) KR102630797B1 (ja)
CN (4) CN116193141A (ja)
BR (4) BR122021009779A2 (ja)
DK (1) DK3700216T3 (ja)
ES (1) ES2926196T3 (ja)
HU (1) HUE060426T2 (ja)
MX (1) MX2021002881A (ja)
PL (1) PL3700216T3 (ja)
PT (1) PT3700216T (ja)
RU (1) RU2768957C1 (ja)
SI (1) SI3700216T1 (ja)
WO (1) WO2020055107A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356657B2 (en) * 2018-01-26 2022-06-07 Hfi Innovation Inc. Method and apparatus of affine inter prediction for video coding system
TWI731345B (zh) 2018-06-19 2021-06-21 大陸商北京字節跳動網絡技術有限公司 模式相依運動向量差精確集
JP7141463B2 (ja) * 2018-06-27 2022-09-22 エルジー エレクトロニクス インコーポレイティド インター予測モードに基づいた映像処理方法およびそのための装置
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
WO2020103944A1 (en) * 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Sub-block based motion candidate selection and signaling
CN113412623A (zh) 2019-01-31 2021-09-17 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180098063A1 (en) 2016-10-05 2018-04-05 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
RU2621621C2 (ru) * 2012-07-18 2017-06-06 Сони Корпорейшн Способ и устройство обработки изображения
WO2017087751A1 (en) 2015-11-20 2017-05-26 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
US20190028731A1 (en) * 2016-01-07 2019-01-24 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
CN110024386B (zh) * 2016-11-29 2023-10-20 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备、用于存储比特流的记录介质
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
WO2018128379A1 (ko) * 2017-01-03 2018-07-12 엘지전자(주) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
KR102592642B1 (ko) * 2018-07-13 2023-10-23 엘지전자 주식회사 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
JP7043599B2 (ja) * 2018-08-06 2022-03-29 エルジー エレクトロニクス インコーポレイティド 画像コーディングシステムにおいてコンストラクテッドアフィンmvp候補を使用するアフィン動き予測に基づいた画像デコード方法及び装置
JP7157152B2 (ja) * 2018-09-12 2022-10-19 エルジー エレクトロニクス インコーポレイティド 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180098063A1 (en) 2016-10-05 2018-04-05 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Minhua Zhou and Brian Heng,Non-CE4: A study on the affine merge mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0052-v2,2018年07月08日
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日

Also Published As

Publication number Publication date
KR102630797B1 (ko) 2024-01-29
JP7436543B2 (ja) 2024-02-21
CN116156189A (zh) 2023-05-23
CN111448800A (zh) 2020-07-24
MX2021002881A (es) 2021-06-04
CN116156188A (zh) 2023-05-23
US10841576B2 (en) 2020-11-17
RU2768957C1 (ru) 2022-03-25
JP2021505013A (ja) 2021-02-15
KR20240015170A (ko) 2024-02-02
JP2022082576A (ja) 2022-06-02
KR102510771B1 (ko) 2023-03-16
PL3700216T3 (pl) 2022-12-19
CN111448800B (zh) 2023-03-17
EP3700216A4 (en) 2021-02-03
US20220182613A1 (en) 2022-06-09
US20230362351A1 (en) 2023-11-09
KR20200060508A (ko) 2020-05-29
ES2926196T3 (es) 2022-10-24
BR112021004556A2 (pt) 2021-06-08
DK3700216T3 (da) 2022-09-12
BR122021009778A2 (pt) 2021-07-13
KR102408695B1 (ko) 2022-06-14
US20210029350A1 (en) 2021-01-28
JP2024042110A (ja) 2024-03-27
SI3700216T1 (sl) 2022-11-30
US11303887B2 (en) 2022-04-12
HUE060426T2 (hu) 2023-02-28
EP4084476A1 (en) 2022-11-02
BR122021009784A2 (pt) 2021-07-13
EP3700216B1 (en) 2022-08-03
PT3700216T (pt) 2022-09-01
US11722659B2 (en) 2023-08-08
RU2022106958A (ru) 2022-04-12
CN116193141A (zh) 2023-05-30
BR122021009779A2 (pt) 2021-07-13
KR20220083857A (ko) 2022-06-20
EP3700216A1 (en) 2020-08-26
US20200275094A1 (en) 2020-08-27
KR20230042387A (ko) 2023-03-28
WO2020055107A1 (ko) 2020-03-19

Similar Documents

Publication Publication Date Title
US11025945B2 (en) History-based image coding method and apparatus
JP7039698B2 (ja) 画像符号化システムにおいてアフィンmvp候補リストを使用するアフィン動き予測に基づいた画像デコード方法及び装置
KR102578820B1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
US11716461B2 (en) Image coding method and device for carrying out MRL-based intra prediction
JP7404481B2 (ja) 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
JP2022521913A (ja) Mpmリストに基づくイントラ予測方法及び装置
JP2021503256A (ja) 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
US20240080447A1 (en) Image/video coding method and device
KR102627935B1 (ko) 쌍 예측(bi-prediction)을 위한 가중치 인덱스 정보를 도출하는 영상 디코딩 방법 및 그 장치
KR102605674B1 (ko) 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
US20230239478A1 (en) Method and device for processing image information for image/video coding
KR20220002700A (ko) 쌍 예측을 적용하는 영상 디코딩 방법 및 그 장치
KR20220003116A (ko) 머지 후보를 이용하여 예측 샘플을 도출하는 영상 디코딩 방법 및 그 장치
US20240064306A1 (en) Method and apparatus for coding information about merge data
KR20230175203A (ko) 세컨더리 mpm 리스트를 이용하는 인트라 예측 방법및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220309

R150 Certificate of patent or registration of utility model

Ref document number: 7039698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150