JP7314300B2 - イントラ予測のための方法および装置 - Google Patents

イントラ予測のための方法および装置 Download PDF

Info

Publication number
JP7314300B2
JP7314300B2 JP2021556566A JP2021556566A JP7314300B2 JP 7314300 B2 JP7314300 B2 JP 7314300B2 JP 2021556566 A JP2021556566 A JP 2021556566A JP 2021556566 A JP2021556566 A JP 2021556566A JP 7314300 B2 JP7314300 B2 JP 7314300B2
Authority
JP
Japan
Prior art keywords
prediction
samples
reference line
intra
transform block
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
JP2021556566A
Other languages
English (en)
Other versions
JP2022526304A (ja
Inventor
アレクセイ・コンスタンチノヴィチ・フィリッポフ
ヴァシリー・アレクセーヴィチ・ルフィツキー
ビャオ・ワン
セミフ・エセンリク
ジエンレ・チェン
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
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 ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2022526304A publication Critical patent/JP2022526304A/ja
Application granted granted Critical
Publication of JP7314300B2 publication Critical patent/JP7314300B2/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/117Filters, e.g. for pre-processing or post-processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

関連出願の相互参照
本特許出願は、2019年3月21日に出願された米国仮特許出願第US62/822,047号、および2019年4月11日に出願された米国仮特許出願第US62/832,878号に基づく優先権を主張する。上述の特許出願のそれぞれの開示は、それらの全体が参照により本明細書に組み込まれる。
本出願(開示)の実施形態は、一般に、ピクチャ処理の分野に関し、より詳細には、イントラ予測、特にイントラサブパーティションまたは複数参照ラインイントラ予測などのイントラ予測において用いられるplanarモードまたはDCモードのための方法および装置に関する。
ビデオコーディング(ビデオ符号化およびビデオ復号)は、幅広いデジタルビデオ適用例、たとえば、ブロードキャストデジタルTV、インターネットおよびモバイルネットワークを介したビデオ送信、ビデオチャット、ビデオ会議などの、リアルタイム会話型適用例、DVDおよびBlu-rayディスク、ビデオコンテンツ収集および編集システム、ならびにセキュリティ適用例のカムコーダにおいて用いられる。
比較的短いビデオであっても、描写するのに必要とされるビデオデータの量は相当であり得、このことは、限られた帯域幅容量の通信ネットワークを介してデータがストリーミングされるかまたは他の方法で通信されるとき、困難をもたらすことがある。したがって、ビデオデータは、一般に、今日の電気通信ネットワークを介して通信される前に圧縮される。メモリリソースは限られていることがあるので、ビデオが記憶デバイス上に記憶されるときにビデオのサイズも問題となり得る。ビデオ圧縮デバイスは、しばしば、送信または記憶の前に、ソースにおいてソフトウェアおよび/またはハードウェアを使用してビデオデータをコーディングし、それによって、デジタルビデオ画像を表現するのに必要とされるデータの数量を減らす。圧縮されたデータは、次いで、ビデオデータを復号するビデオ復元デバイスによって宛先において受信される。ネットワークリソースが限られ、また、より高いビデオ品質の需要が絶えず増大するため、ピクチャ品質における犠牲をほとんど伴わずに圧縮率を改善する、改善された圧縮および復元技法が望ましい。
本出願の実施形態は、独立請求項による符号化および復号のための装置および方法を提供する。
上記および他の目的は、独立請求項の主題によって達成される。さらなる実装形式が、従属請求項、説明、および図から明らかである。
本開示は、ビデオ符号化およびビデオ復号に、また詳細には、planarモードまたはDCモードを用いるイントラ予測のための方法および装置に関する、システムおよび技法を説明する。
概して、1つの発明的態様では、方法は、
- ISPまたは複数参照ライン予測を含む、イントラ予測ツールの組合せに基づく参照サンプルフィルタの選択、
- ブロックをイントラ予測すること、
- イントラ予測の結果にPDPCを条件付きで適用することを含む。
本開示は、ブロックのためのDCイントラ予測モードのイントラ予測の方法を提供し、方法は、
変換ブロックのイントラ予測参照ラインインデックスの値を取得することと、
参照ラインからの参照サンプルに基づいて変換ブロックの予測サンプルを取得することとを含み、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
本出願における参照ラインは、参照サンプルの行だけでなく参照サンプルの列も含む。参照サンプルの行は参照ラインの一例である。参照サンプルの列は参照ラインの他の例である。
最新技術のビデオコーディング(たとえば、多用途ビデオコーディング)は、VVC仕様ドラフトにおいて候補イントラ予測モードcandModeListとも呼ばれる最確モード(MPM:most probable modes)リストの概念を使用してシグナリングされる、方向性イントラ予測モード、DCイントラ予測モード、およびplanarイントラ予測モードを含む。MRLが使用されている(参照ラインインデックスが非0である)とき、DCイントラ予測モードおよびPlanarイントラ予測モードが、選択された参照ライン内の参照サンプルの異なる位置を使用することが起こりうる。本開示は、MRLと非方向性イントラ予測との調和を取り入れる。調和は、参照サンプルセットを変換ブロックの左上のサンプルの位置と位置合わせすることからなる。
本発明の背後の論理的根拠のうちの1つは、DCモードとplanarモードの両方がMPM(最確モード)リストの中で表されることを可能にするMPMリスト導出の統合である。この統合は、ハードウェア実装とソフトウェア実装の両方にとって有益である、条件付き分岐の総数を減らすことによって、MPMの中でシグナリングされるモードの処理をより規則的にさせる。
上記で説明したような方法では、変換ブロックの幅が変換ブロックの高さよりも大きいとき、予測サンプルを取得するために上の参照ラインからの参照サンプルだけが使用され得る。
上記で説明したような方法では、変換ブロックの高さが変換ブロックの幅よりも大きいとき、予測サンプルを取得するために左の参照ラインからの参照サンプルだけが使用され得る。
上記で説明したような方法では、変換ブロックの高さが変換ブロックの幅に等しいとき、予測サンプルを取得するために左の参照ラインからの参照サンプルと上の参照ラインからの参照サンプルの両方が使用され得る。
上記で説明したような方法では、イントラ予測参照ラインインデックスの値は、intra_luma_ref_idxによって示され得る。
上記で説明したような方法では、イントラ予測参照ラインインデックスの値を取得することは、
複数参照ライン(MRL:multi-reference line)予測が有効化されているかどうかを決定すること、
MRL予測が有効化されているとき、イントラ予測参照ラインインデックスの値を取得することを含み得る。
上記で説明したような方法では、方法は、
イントラ予測参照ラインインデックスの値が0であるとき、予測サンプルにPDPCを適用すること、または
イントラ予測参照ラインインデックスの値が非0であるとき、予測サンプルにPDPCを適用することをスキップすることをさらに含み得る。
上記で説明したような方法では、イントラ予測参照ラインインデックスの値は、0、1、または2であってよい。
上記で説明したような方法では、参照サンプルの個数は、変換ブロックの幅に対応し得る。
上記で説明したような方法では、参照サンプルの個数は、変換ブロックの高さに対応し得る。
上記で説明したような方法では、参照サンプルは、参照ライン内の連続する区間または連続する距離を形成し得る。
上記で説明したような方法では、参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定されてよく、インデックスの各々は、整数値の範囲に属する整数値であってよく、インデックスは、それぞれ、参照ライン内の水平座標(x')または垂直座標(y')を指定してよい。
上記で説明したような方法では、オフセットは、一番左の参照サンプルの垂直インデックスと、変換ブロックの参照サンプルの左の列の予測される左上のサンプルの垂直位置との間の差分であってよい。
上記で説明したような方法では、オフセットは、一番上の参照サンプルの水平インデックスと、変換ブロックの参照サンプルの上の行の予測される左上のサンプルの水平位置との間の差分であってよい。
上記で説明したような方法では、参照ラインの一番上の参照サンプルは、変換ブロックの予測される左上のサンプルの位置まで垂直にオフセットされていてよい。
上記で説明したような方法では、参照ラインの一番左の参照サンプルは、変換ブロックの予測される左上のサンプルの位置まで水平にオフセットされていてよい。
上記で説明したような方法では、オフセットの値は、イントラ予測参照ラインインデックスの値に等しくてよい。
上記で説明したような方法では、参照ラインの一番上の参照サンプルの垂直位置は、変換ブロックの予測される左上のサンプルの垂直位置に等しくてよい。
上記で説明したような方法では、参照ラインの一番左の参照サンプルの水平位置は、変換ブロックの予測される左上のサンプルの水平位置に等しくてよい。
本開示は、デコーダをさらに提供し、デコーダは、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、デコーダを上記で説明したような方法を行うように構成する。
本開示は、エンコーダをさらに提供し、エンコーダは、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、エンコーダを上記で説明したような方法を行うように構成する。
本開示は、上記で説明したような方法を行うための処理回路を備えるエンコーダをさらに提供する。
本開示は、上記で説明したような方法を行うための処理回路を備えるデコーダをさらに提供する。
本開示は、上記で説明したような方法を行いためのプログラムコードを含むコンピュータプログラム製品をさらに提供する。
本開示は、コンピュータデバイスによって実行されたとき、上記で説明したような方法をコンピュータデバイスに行わせる、プログラムコードを搬送する非一時的コンピュータ可読媒体をさらに提供する。
本開示は、エンコーダをさらに提供する。エンコーダは、取得ユニットと予測ユニットとを含む。取得ユニットは、変換ブロックのイントラ予測参照ラインインデックスの値を取得するように構成される。予測ユニットは、参照ラインからの参照サンプルに基づいて変換ブロックの予測サンプルを取得するように構成され、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
本開示は、デコーダをさらに提供する。デコーダは、取得ユニットと予測ユニットとを含む。取得ユニットは、変換ブロックのイントラ予測参照ラインインデックスの値を取得するように構成される。予測ユニットは、参照ラインからの参照サンプルに基づいて変換ブロックの予測サンプルを取得するように構成され、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
上記で説明したようなデコーダでは、変換ブロックの幅が変換ブロックの高さよりも大きいとき、予測サンプルを取得するために上の参照ラインからの参照サンプルだけが使用され得る。
上記で説明したようなデコーダでは、変換ブロックの高さが変換ブロックの幅よりも大きいとき、予測サンプルを取得するために左の参照ラインからの参照サンプルだけが使用され得る。
上記で説明したようなデコーダでは、変換ブロックの高さが変換ブロックの幅に等しいとき、予測サンプルを取得するために左の参照ラインからの参照サンプルと上の参照ラインからの参照サンプルの両方が使用され得る。
上記で説明したようなデコーダでは、イントラ予測参照ラインインデックスの値は、intra_luma_ref_idxによって示され得る。
上記で説明したようなデコーダでは、取得ユニットは、
複数参照ライン(MRL)予測が有効化されているかどうかを決定すること、
MRL予測が有効化されているとき、イントラ予測参照ラインインデックスの値を取得することを含む、
イントラ予測参照ラインインデックスの値を取得するように構成され得る。
上記で説明したようなデコーダは、
イントラ予測参照ラインインデックスの値が0であるとき、予測サンプルにPDPCを適用するように構成された適用ユニット、または
イントラ予測参照ラインインデックスの値が非0であるとき、予測サンプルにPDPCを適用することをスキップするように構成された適用ユニットをさらに備えうる。
上記で説明したようなデコーダでは、イントラ予測参照ラインインデックスの値は、0、1、または2であってよい。
上記で説明したようなデコーダでは、参照サンプルの個数は、変換ブロックの幅に対応し得る。
上記で説明したようなデコーダでは、参照サンプルの個数は、変換ブロックの高さに対応し得る。
上記で説明したようなデコーダでは、参照サンプルは、参照ライン内の連続する区間または連続する距離を形成し得る。
上記で説明したようなデコーダでは、参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定されてよく、インデックスの各々は、整数値の範囲に属する整数値であってよく、インデックスは、それぞれ、参照ライン内の水平座標(x')または垂直座標(y')を指定してよい。
上記で説明したようなデコーダでは、オフセットは、一番左の参照サンプルの垂直インデックスと、変換ブロックの参照サンプルの左の列の予測される左上のサンプルの垂直位置との間の差分である。
上記で説明したようなデコーダでは、オフセットは、一番上の参照サンプルの水平インデックスと、変換ブロックの参照サンプルの上の行の予測される左上のサンプルの水平位置との間の差分である。
上記で説明したようなデコーダでは、参照ラインの一番上の参照サンプルは、変換ブロックの予測される左上のサンプルの位置まで垂直にオフセットされていてよい。
上記で説明したようなデコーダでは、参照ラインの一番左の参照サンプルは、変換ブロックの予測される左上のサンプルの位置まで水平にオフセットされていてよい。
上記で説明したようなデコーダでは、オフセットの値は、イントラ予測参照ラインインデックスの値に等しくてよい。
上記で説明したようなデコーダでは、参照ラインの一番上の参照サンプルの垂直位置は、変換ブロックの予測される左上のサンプルの垂直位置に等しくてよい。
上記で説明したようなデコーダでは、参照ラインの一番左の参照サンプルの水平位置は、変換ブロックの予測される左上のサンプルの水平位置に等しくてよい。
本発明の実施形態は、MRLと非方向性イントラ予測(すなわち、DCまたはPlanar)との調和を取り入れる。調和は、参照ラインからの参照サンプルを位置合わせすることからなり、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
1つまたは複数の実施形態の詳細が、添付図面および以下の説明において記載される。他の特徴、目的、および利点は、説明、図面、および請求項から明らかとなろう。
以下では、本発明の実施形態が、添付の図面(figure)および図面(drawing)を参照しながらより詳細に説明される。
本発明の実施形態を実施するように構成されたビデオコーディングシステムの一例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオコーディングシステムの他の例を示すブロック図である。 本発明の実施形態を実施するように構成されたモバイルデバイスの一例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオエンコーダの一例を示すブロック図である。 本発明の実施形態を実施するように構成されたビデオデコーダの例示的な構造を示すブロック図である。 符号化装置または復号装置の一例を示すブロック図である。 符号化装置または復号装置の他の例を示すブロック図である。 ISPツールにおいてスプリットされた2つのサブパーティションの図である。 ISPツールにおいてスプリットされた4つのサブパーティションの図である。 複数参照ラインイントラ予測の図である。 PLANARイントラ予測のための参照サンプル選択方法を示す図である。 PLANARイントラ予測モードのための他の参照サンプル選択方法を示す図である。 PLANARイントラ予測モードのためのまた他の異なる参照サンプル選択方法を示す図である。 本開示の一実施形態による、DCイントラ予測のための参照サンプル選択方法を示す図である。 本開示の実施形態による、DCイントラ予測モードのためのさらに異なる参照サンプル選択方法を示す図である。 本開示の実施形態による、DCイントラ予測モードのためのさらに異なる参照サンプル選択方法を示す図である。 本開示の実施形態による、DCイントラ予測モードのためのさらに異なる参照サンプル選択方法を示す図である。 本開示の一実施形態による、DCイントラ予測モードのためのまた他の異なる参照サンプル選択方法を示す図である。 本開示の一実施形態による方法を示す図である。 本開示によるエンコーダを示す図である。 本開示によるデコーダを示す図である。 コンテンツ配信サービスを実現するコンテンツ供給システム3100の例示的な構造を示すブロック図である。 端末デバイスの一例の構造を示すブロック図である。
以下、同一の参照符号は、別段に明示的に指定されない場合、同一のまたは少なくとも機能的に均等な特徴を指す。
以下の説明では、本開示の一部を成し、かつ本発明の実施形態の特定の態様または本発明の実施形態が使用され得る特定の態様を例として示す、添付の図への参照が行われる。本発明の実施形態が、他の態様において使用されてよく、図の中に示されない構造的または論理的な変更を含み得ることが理解される。したがって、以下の発明を実施するための形態は限定的な意味で理解されるべきでなく、本発明の範囲は添付の請求項によって定義される。
たとえば、説明する方法に関連する開示が、本方法を行うように構成された対応するデバイスまたはシステムに対しても当てはまり得ることが理解され、逆も同様である。たとえば、1つまたは複数の特定の方法ステップが説明される場合、そのような1つまたは複数のユニットが明示的に説明されないかまたは図に示されないとしても、対応するデバイスは、説明する1つまたは複数の方法ステップを実行するための1つまたは複数のユニット(たとえば、1つもしくは複数のステップを実行する1つのユニット、または複数のステップのうちの1つもしくは複数を各々が実行する複数のユニット)、たとえば、機能ユニットを含んでよい。一方、たとえば、1つまたは複数のユニット、たとえば、機能ユニットに基づいて、特定の装置が説明される場合、そのような1つまたは複数のステップが明示的に説明されないかまたは図に示されないとしても、対応する方法は、1つまたは複数のユニットの機能を実行するための1つのステップ(たとえば、1つもしくは複数のユニットの機能を実行する1つのステップ、または複数のユニットのうちの1つもしくは複数の機能を各々が実行する複数のステップ)を含んでよい。さらに、別段に特に記載されていない限り、本明細書で説明する様々な例示的な実施形態および/または態様の特徴が互いに組み合わせられてよいことが理解される。
ビデオコーディングとは、通常、ビデオまたはビデオシーケンスを形成する、ピクチャのシーケンスの処理を指す。「ピクチャ」という用語の代わりに、ビデオコーディングの分野では「フレーム」または「画像」という用語が同義語として使用され得る。ビデオコーディング(または、一般にコーディング)は、2つの部分、ビデオ符号化およびビデオ復号を含む。ビデオ符号化は、通常、ビデオピクチャを表現するのに必要とされるデータの量を(より効率的な記憶および/または送信のために)低減するために、(たとえば、圧縮によって)元のビデオピクチャを処理することを含むソース側において行われる。ビデオ復号は、通常、ビデオピクチャを再構成するために、エンコーダと比較して逆の処理を含む宛先側において行われる。ビデオピクチャ(または、一般にピクチャ)の「コーディング」に言及する実施形態は、ビデオピクチャまたはそれぞれのビデオシーケンスの「符号化」または「復号」に関係すると理解されるものとする。符号化部分と復号部分の組合せは、コーデック(コーディングおよび復号)とも呼ばれる。
可逆的ビデオコーディングの場合には、元のビデオピクチャは再構成され得、すなわち、(記憶または送信の間に伝送損失または他のデータ損失がないと想定すると)再構成ビデオピクチャは元のビデオピクチャと同じ品質を有する。不可逆的ビデオコーディングの場合には、ビデオピクチャを表現するデータの量を低減するために、たとえば、量子化によって、さらなる圧縮が行われ、ビデオピクチャは、デコーダにおいて完全に再構成され得るとは限らず、すなわち、再構成ビデオピクチャの品質は元のビデオピクチャの品質と比較して低く、すなわち悪い。
いくつかのビデオコーディング規格は、「不可逆的ハイブリッドビデオコーデック」のグループに属する(すなわち、サンプル領域における空間予測および時間予測と、変換領域における量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオシーケンスの各ピクチャは、通常、重複しないブロックのセットに分割され、コーディングは、通常、ブロックレベルにおいて行われる。言い換えれば、エンコーダにおいて、ビデオは、通常、たとえば、予測ブロックを生成するために空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を用いること、現在のブロック(現在処理される/処理されるべきブロック)から予測ブロックを減算して残差ブロックを取得すること、残差ブロックを変換すること、ならびに送信されるべきデータの量を低減(圧縮)するために変換領域において残差ブロックを量子化することによって、ブロック(ビデオブロック)レベルにおいて処理すなわち符号化され、その一方で、デコーダにおいて、表現のために現在のブロックを再構成するために、符号化または圧縮されたブロックに対してエンコーダと比較して逆の処理が適用される。さらに、エンコーダは、その両方が後続のブロックを処理すなわちコーディングするために同一の予測(たとえば、イントラ予測およびインター予測)および/または再構成を生成するように、デコーダ処理ループを複製する。
以下、図1~図3に基づいて、ビデオコーディングシステム10、ビデオエンコーダ20、およびビデオデコーダ30の実施形態について説明する。
図1Aは、この本出願の技法を利用し得る例示的なコーディングシステム10、たとえば、ビデオコーディングシステム10(または略して、コーディングシステム10)を示す概略ブロック図である。ビデオコーディングシステム10のビデオエンコーダ20(または略して、エンコーダ20)およびビデオデコーダ30(または略して、デコーダ30)は、本出願で説明する様々な例による技法を行うように構成され得るデバイスの例を表す。
図1Aに示すように、コーディングシステム10は、たとえば、符号化されたピクチャデータ13を復号するための宛先デバイス14に、符号化されたピクチャデータ21を提供するように構成された、ソースデバイス12を備える。
ソースデバイス12は、エンコーダ20を備え、追加として、すなわち任意選択で、ピクチャソース16、プリプロセッサ(または、前処理ユニット)18、たとえば、ピクチャプリプロセッサ18、および通信インターフェースまたは通信ユニット22を備えうる。
ピクチャソース16は、任意の種類のピクチャキャプチャデバイス、たとえば、実世界のピクチャをキャプチャするためのカメラ、ならびに/あるいは任意の種類のピクチャ生成デバイス、たとえば、コンピュータアニメーション化されたピクチャを生成するためのコンピュータグラフィックスプロセッサ、または実世界ピクチャ、コンピュータ生成されたピクチャ(たとえば、スクリーンコンテンツ、仮想現実(VR)ピクチャ)、および/もしくはそれらの任意の組合せ(たとえば、拡張現実(AR)ピクチャ)を取得および/もしくは提供するための任意の種類の他のデバイスを備えてよく、またはそれらであってもよい。ピクチャソースは、上述のピクチャのうちのいずれかを記憶する任意の種類のメモリまたはストレージであってよい。
プリプロセッサ18、および前処理ユニット18によって行われる処理と区別して、ピクチャまたはピクチャデータ17は、未加工ピクチャまたは未加工ピクチャデータ17と呼ばれることもある。
プリプロセッサ18は、(未加工)ピクチャデータ17を受信し、ピクチャデータ17に対して前処理を行って、前処理されたピクチャ19または前処理されたピクチャデータ19を取得するように構成される。プリプロセッサ18によって行われる前処理は、たとえば、トリミング、(たとえば、RGBからYCbCrへの)カラーフォーマット変換、色補正、またはノイズ除去を含み得る。前処理ユニット18が任意選択の構成要素であってよいことが理解され得る。
ビデオエンコーダ20は、前処理されたピクチャデータ19を受信し、符号化されたピクチャデータ21を提供するように構成される(さらなる詳細が、たとえば図2に基づいて、以下で説明される)。
ソースデバイス12の通信インターフェース22は、符号化されたピクチャデータ21を受信し、記憶または直接の再構成のために、通信チャネル13を介して他のデバイス、たとえば、宛先デバイス14または任意の他のデバイスへ、符号化されたピクチャデータ21(または、それらのさらに処理された任意のバージョン)を送信するように構成され得る。
宛先デバイス14は、デコーダ30(たとえば、ビデオデコーダ30)を備え、追加として、すなわち任意選択で、通信インターフェースまたは通信ユニット28、ポストプロセッサ32(または、後処理ユニット32)、およびディスプレイデバイス34を備えうる。
宛先デバイス14の通信インターフェース28は、たとえば、ソースデバイス12から直接、または任意の他のソース、たとえば、記憶デバイス、たとえば、符号化されたピクチャデータ記憶デバイスから、符号化されたピクチャデータ21(または、それらのさらに処理された任意のバージョン)を受信し、符号化されたピクチャデータ21をデコーダ30に提供するように構成される。
通信インターフェース22および通信インターフェース28は、ソースデバイス12と宛先デバイス14との間の直接の通信リンク、たとえば、直接の有線接続またはワイヤレス接続を介して、あるいは任意の種類のネットワーク、たとえば、有線ネットワークもしくはワイヤレスネットワークもしくはそれらの任意の組合せ、または任意の種類のプライベートネットワークおよびパブリックネットワーク、またはそれらの任意の種類の組合せを介して、符号化されたピクチャデータ21または符号化データ13を送信または受信するように構成され得る。
通信インターフェース22は、たとえば、適切なフォーマット、たとえば、パケットの中に、符号化されたピクチャデータ21をパッケージ化し、かつ/または通信リンクもしくは通信ネットワークを介した送信のために任意の種類の送信符号化もしくは処理を用いて符号化されたピクチャデータを処理するように構成され得る。
通信インターフェース22の相手方となる通信インターフェース28は、たとえば、送信されたデータを受信し、任意の種類の対応する送信復号もしくは処理および/またはデパッケージングを用いて送信データを処理して符号化されたピクチャデータ21を取得するように構成され得る。
通信インターフェース22と通信インターフェース28の両方が、ソースデバイス12から宛先デバイス14を指し示す、図1Aの中の通信チャネル13に対する矢印によって示されるような単方向の通信インターフェース、または双方向の通信インターフェースとして構成されてよく、たとえば、通信リンクおよび/またはデータ送信、たとえば、符号化されたピクチャデータ送信に関係する、任意の他の情報を承認および交換するために、たとえば、接続をセットアップするためのメッセージを送るとともに受信するように構成されてよい。
デコーダ30は、符号化されたピクチャデータ21を受信し、復号されたピクチャデータ31または復号されたピクチャ31を提供するように構成される(さらなる詳細は、たとえば、図3または図5に基づいて、以下で説明される)。
宛先デバイス14のポストプロセッサ32は、復号されたピクチャデータ31(再構成ピクチャデータとも呼ばれる)、たとえば、復号されたピクチャ31を後処理して、後処理されたピクチャデータ33、たとえば、後処理されたピクチャ33を取得するように構成される。後処理ユニット32によって行われる後処理は、たとえば、ディスプレイデバイス34による、たとえば、表示のために復号されたピクチャデータ31を準備するための、たとえば、(たとえば、YCbCrからRGBへの)カラーフォーマット変換、色補正、トリミング、もしくはリサンプリング、または任意の他の処理を含み得る。
宛先デバイス14のディスプレイデバイス34は、たとえば、ユーザまたは見ている人に、ピクチャを表示するための、後処理されたピクチャデータ33を受信するように構成される。ディスプレイデバイス34は、再構成ピクチャを表現するための任意の種類のディスプレイ、たとえば、統合型または外部のディスプレイまたはモニタであってよく、またはそれを備えうる。ディスプレイは、たとえば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(LCoS)、デジタル光プロセッサ(DLP)、または任意の種類の他のディスプレイを備えうる。
図1Aはソースデバイス12および宛先デバイス14を別個のデバイスとして示すが、デバイスの実施形態はまた、ソースデバイス12または対応する機能と宛先デバイス14または対応する機能の、両方または両方の機能を備えうる。そのような実施形態では、ソースデバイス12または対応する機能および宛先デバイス14または対応する機能は、同じハードウェアおよび/またはソフトウェアを使用して、あるいは別個のハードウェアおよび/もしくはソフトウェアまたはそれらの任意の組合せによって、実施され得る。
説明に基づいて当業者にとって明らかとなるように、図1Aに示すようなソースデバイス12内および/もしくは宛先デバイス14内の異なるユニットまたは機能の存在および(正確な)スプリットは、実際のデバイスおよび適用例に応じて変わることがある。
エンコーダ20(たとえば、ビデオエンコーダ20)もしくはデコーダ30(たとえば、ビデオデコーダ30)、またはエンコーダ20とデコーダ30の両方は、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理、ハードウェア、ビデオコーディング専用、またはそれらの任意の組合せなどの、図1Bに示すような処理回路を介して実装され得る。エンコーダ20は、図2のエンコーダ20に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のエンコーダシステムもしくはサブシステムを具現するために、処理回路46を介して実装され得る。デコーダ30は、図3のデコーダ30に関して説明するような様々なモジュールおよび/または本明細書で説明する任意の他のデコーダシステムもしくはサブシステムを具現するために、処理回路46を介して実装され得る。処理回路は、後で説明するような様々な動作を行うように構成され得る。図5に示すように、技法が部分的にソフトウェアで実施される場合、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読記憶媒体の中に記憶してよく、本開示の技法を行うために1つまたは複数のプロセッサを使用してハードウェアで命令を実行してよい。ビデオエンコーダ20およびビデオデコーダ30のいずれも、たとえば、図1Bに示すように、組み合わせられたエンコーダ/デコーダ(コーデック)の一部として単一のデバイスの中に統合され得る。
ソースデバイス12および宛先デバイス14は、任意の種類のハンドヘルドまたは固定のデバイス、たとえば、ノートブックまたはラップトップコンピュータ、モバイルフォン、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビジョン、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、(コンテンツサービスサーバまたはコンテンツ配信サーバなどの)ビデオストリーミングデバイス、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイスなどを含む、幅広いデバイスのうちのいずれかを備えてよく、オペレーティングシステムを使用しなくてよく、または任意の種類のオペレーティングシステムを使用してもよい。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信のために装備されてよい。したがって、ソースデバイス12および宛先デバイス14はワイヤレス通信デバイスであってよい。
場合によっては、図1Aに示すビデオコーディングシステム10は一例にすぎず、本出願の技法は、必ずしも符号化デバイスと復号デバイスとの間の任意のデータ通信を含むとは限らない、ビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用されてよい。他の例では、データは、ローカルメモリから取り出される、ネットワークを介してストリーミングされるなどである。ビデオ符号化デバイスは、データを符号化するとともにメモリに記憶してよく、かつ/またはビデオ復号デバイスは、データをメモリから取り出すとともに復号してよい。いくつかの例では、互いに通信しないが、単にデータをメモリに符号化し、かつ/またはデータをメモリから取り出すとともに復号するデバイスによって、符号化および復号が行われれる。
図1Cは、本開示の実施形態を実施するように構成されたモバイルデバイスの一例を示すブロック図を示す。
説明の便宜上、たとえば、高効率ビデオコーディング(HEVC:High-Efficiency Video Coding)への、または多用途ビデオコーディング(VVC:Versatile Video Coding)、すなわち、ITU-Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのビデオコーディング共同研究部会(JCT-VC:Joint Collaboration Team on Video Coding)によって策定された次世代ビデオコーディング規格の参照ソフトウェアへの参照によって、本発明の実施形態が本明細書で説明される。本発明の実施形態がHEVCまたはVVCに限定されないことを、当業者は理解されよう。
エンコーダおよび符号化方法
図2は、本出願の技法を実施するように構成される例示的なビデオエンコーダ20の概略ブロック図を示す。図2の例では、ビデオエンコーダ20は、入力201(または、入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210および逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、復号ピクチャバッファ(DPB:Decoded Picture Buffer)230、モード選択ユニット260、エントロピー符号化ユニット270、ならびに出力272(または、出力インターフェース272)を備える。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、および分割ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含みうる。図2に示すようなビデオエンコーダ20は、ハイブリッドビデオエンコーダ、すなわちハイブリッドビデオコーデックによるビデオエンコーダと呼ばれることもある。
残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、エンコーダ20の順方向信号経路を形成するものと呼ばれてもよく、一方、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254は、ビデオエンコーダ20の逆方向信号経路を形成するものとして呼ばれてもよく、ビデオエンコーダ20の逆方向信号経路はデコーダの信号経路に対応する(図3の中のビデオデコーダ30を参照)。逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット244、およびイントラ予測ユニット254はまた、ビデオエンコーダ20の「ビルトインデコーダ」を形成するものと呼ばれる。
ピクチャおよびピクチャ分割(ピクチャおよびブロック)
エンコーダ20は、ピクチャ17(または、ピクチャデータ17)、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスのピクチャを、たとえば、入力201を介して受信するように構成され得る。受信されるピクチャまたはピクチャデータはまた、前処理されたピクチャ19(または、前処理されたピクチャデータ19)であってよい。簡単のために、以下の説明はピクチャ17を参照する。ピクチャ17は、現在のピクチャ、または(同じビデオシーケンス、すなわち、やはり現在のピクチャを含むビデオシーケンスの、他のピクチャ、たとえば、前に符号化および/または復号されたピクチャから、現在のピクチャを区別するために、ビデオコーディングでは特に)コーディングされるべきピクチャと呼ばれることもある。
(デジタル)ピクチャは、強度値を有するサンプルの2次元のアレイまたは行列であるか、またはそのように見なされうる。アレイの中のサンプルは、ピクセル(短い形式のピクチャ要素)またはペルと呼ばれることもある。アレイまたはピクチャの水平および垂直の方向(または、軸)におけるサンプルの個数は、ピクチャのサイズおよび/または解像度を定義する。色の表現のために、通常、3つの色成分が採用され、すなわち、ピクチャは、3つのサンプルアレイが表されてよく、またはそれらを含んでよい。RBGフォーマットまたは色空間の中で、ピクチャは、対応する赤色、緑色、および青色のサンプルアレイを含む。しかしながら、ビデオコーディングでは、各ピクセルは、通常、ルミナンスおよびクロミナンスのフォーマットまたは色空間、たとえば、YCbCrで表され、YCbCrは、Y(時々、代わりにLも使用される)によって示されるルミナンス成分、ならびにCbおよびCrによって示される2つのクロミナンス成分を含む。ルミナンス(または略して、ルーマ)成分Yは、輝度または(たとえば、グレースケールピクチャにおけるような)グレーレベル強度を表し、2つのクロミナンス(または略して、クロマ)成分CbおよびCrは、色度または色情報成分を表す。したがって、YCbCrフォーマットをなすピクチャは、ルミナンスサンプル値(Y)のルミナンスサンプルアレイ、およびクロミナンス値(CbおよびCr)の2つのクロミナンスサンプルアレイを含む。RGBフォーマットをなすピクチャは、YCbCrフォーマットに変換(convert)または変換(transform)されてよく、逆も同様であり、そのプロセスは色変換(color transformation)または色変換(color conversion)とも呼ばれる。ピクチャがモノクロである場合、ピクチャはルミナンスサンプルアレイのみを含み得る。したがって、ピクチャは、たとえば、モノクロフォーマットでのルーマサンプルのアレイ、または4:2:0、4:2:2、および4:4:4カラーフォーマットでの、ルーマサンプルのアレイおよびクロマサンプルの2つの対応するアレイであってよい。
ビデオエンコーダ20の実施形態は、ピクチャ17を複数の(通常は重複しない)ピクチャブロック203に分割するように構成されたピクチャ分割ユニット(図2に示さず)を備えうる。これらのブロックは、ルートブロック、マクロブロック(H.264/AVC)、またはコーディングツリーブロック(CTB:Coding Tree Block)もしくはコーディングツリーユニット(CTU:Coding Tree Unit)(H.265/HEVCおよびVVC)と呼ばれることもある。ピクチャ分割ユニットは、ビデオシーケンスのすべてのピクチャに対して同じブロックサイズを、かつブロックサイズを規定する対応するグリッドを使用するか、あるいはピクチャまたはピクチャのサブセットもしくはグループの間でブロックサイズを変更し、各ピクチャを対応するブロックに分割するように構成され得る。
さらなる実施形態では、ビデオエンコーダは、ピクチャ17のブロック203、たとえば、ピクチャ17を形成する1つの、複数の、または全部のブロックを、直接受信するように構成され得る。ピクチャブロック203は、現在のピクチャブロック、またはコーディングされるべきピクチャブロックと呼ばれることもある。
ピクチャ17のように、ピクチャブロック203もまた、強度値(サンプル値)を有するサンプルの、ただしピクチャ17よりも寸法が小さい、2次元のアレイまたは行列であるか、またはそのように見なされうる。言い換えれば、ブロック203は、たとえば、1つのサンプルアレイ(たとえば、モノクロピクチャ17の場合にはルーマアレイ、またはカラーピクチャの場合にはルーマアレイもしくはクロマアレイ)、または3つのサンプルアレイ(たとえば、カラーピクチャ17の場合にはルーマアレイおよび2つのクロマアレイ)、あるいは適用されるカラーフォーマットに応じて任意の他の個数および/または種類のアレイを含み得る。ブロック203の水平および垂直の方向(または、軸)におけるサンプルの個数は、ブロック203のサイズを規定する。したがって、ブロックは、たとえば、サンプルのM×N(M列×N行)アレイ、または変換係数のM×Nアレイであってよい。
図2に示すようなビデオエンコーダ20の実施形態は、ピクチャ17をブロックごとに符号化するように構成されてよく、たとえば、符号化および予測がブロック203単位で行われる。
図2に示すようなビデオエンコーダ20の実施形態は、スライス(ビデオスライスとも呼ばれる)を使用することによってピクチャを分割および/または符号化するようにさらに構成されてよく、ピクチャは、(通常は重複しない)1つまたは複数のスライスに分割され得るか、またはそうしたスライスを使用して符号化され得、各スライスは、1つまたは複数のブロック(たとえば、CTU)を含み得る。
図2に示すようなビデオエンコーダ20の実施形態は、タイルグループ(ビデオタイルグループとも呼ばれる)および/またはタイル(ビデオタイルとも呼ばれる)を使用することによってピクチャを分割および/または符号化するようにさらに構成されてよく、ピクチャは、(通常は重複しない)1つまたは複数のタイルグループに分割され得るか、またはそうしたタイルグループを使用して符号化され得、各タイルグループは、たとえば、1つもしくは複数のブロック(たとえば、CTU)または1つもしくは複数のタイルを含んでよく、各タイルは、たとえば、長方形形状であってよく、1つまたは複数のブロック(たとえば、CTU)、たとえば、全体的または断片的なブロックを含み得る。
残差計算
残差計算ユニット204は、たとえば、サンプルごとに(ピクセルごとに)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することによって、ピクチャブロック203および予測ブロック265(予測ブロック265についてのさらなる詳細は後で提供される)に基づいて残差ブロック205(残差205とも呼ばれる)を計算して、サンプル領域における残差ブロック205を取得するように構成され得る。
変換
変換処理ユニット206は、残差ブロック205のサンプル値に対して変換、たとえば、離散コサイン変換(DCT)または離散サイン変換(DST)を適用して、変換領域における変換係数207を取得するように構成され得る。変換係数207は、変換残差係数と呼ばれることもあり、変換領域における残差ブロック205を表してよい。
変換処理ユニット206は、H.265/HEVCについて規定されている変換などのDCT/DSTの整数近似を適用するように構成され得る。直交DCT変換と比較して、そのような整数近似は、通常、いくつかの係数によってスケーリングされる。順変換および逆変換によって処理される残差ブロックのノルムを保存するために、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は、通常、シフト演算のためにスケーリング係数が2のべき乗であること、変換係数のビット深度、確度と実装コストとの間のトレードオフなどのような、いくつかの制約に基づいて選ばれる。たとえば、逆変換処理ユニット212による、たとえば、逆変換(および、たとえば、ビデオデコーダ30における逆変換処理ユニット312による、対応する逆変換)に対して、特定のスケーリング係数が指定され、エンコーダ20における、たとえば、変換処理ユニット206による、順変換のための対応するスケーリング係数が、それに応じて指定され得る。
ビデオエンコーダ20の実施形態(それぞれ、変換処理ユニット206)は、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化もしくは圧縮された、変換パラメータ、たとえば、1つまたは複数の変換のタイプを出力するように構成されてよく、その結果、たとえば、ビデオデコーダ30は、復号のために変換パラメータを受信および使用し得る。
量子化
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して量子化された係数209を取得するように構成され得る。量子化された係数209は、量子化変換係数209または量子化残差係数209と呼ばれることもある。
量子化プロセスは、変換係数207の一部または全部に関連するビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。量子化の程度は、量子化パラメータ(QP:Quantization Parameter)を調整することによって修正され得る。たとえば、スカラー量子化の場合、より細かいかまたはより粗い量子化を達成するために、様々なスケーリングが適用され得る。より小さい量子化ステップサイズは、より細かい量子化に対応し、その一方で、より大きい量子化ステップサイズは、より粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、たとえば、適用可能な量子化ステップサイズの予め定義されたセットへのインデックスであってよい。たとえば、小さい量子化パラメータは、細かい量子化(小さい量子化ステップサイズ)に対応してよく、大きい量子化パラメータは、粗い量子化(大きい量子化ステップサイズ)に対応してよく、またはその逆も同様である。量子化は、量子化ステップサイズによる除算を含んでよく、たとえば、逆量子化ユニット210による、対応する逆量子化および/または逆量子化解除は、量子化ステップサイズによる乗算を含んでよい。いくつかの規格、たとえば、HEVCによる実施形態は、量子化ステップサイズを決定するために量子化パラメータを使用するように構成され得る。概して、量子化ステップサイズは、除算を含む式の固定小数点近似を使用して、量子化パラメータに基づいて計算され得る。量子化ステップサイズおよび量子化パラメータに対する式の固定小数点近似において使用されるスケーリングのために修正されることがある、残差ブロックのノルムを復元するために、量子化および量子化解除に対して追加のスケーリング係数が導入されてよい。1つの例示的な実装形態では、逆変換および量子化解除のスケーリングが組み合わせられることがある。あるいは、カスタマイズされた量子化テーブルが使用されてよく、たとえば、ビットストリームの中で、エンコーダからデコーダにシグナリングされてよい。量子化は不可逆的演算であり、増大する量子化ステップサイズとともに損失が増大する。
ビデオエンコーダ20の実施形態(それぞれ、量子化ユニット208)は、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化された、量子化パラメータ(QP)を出力するように構成されてよく、その結果、たとえば、ビデオデコーダ30は、復号のために量子化パラメータを受信および適用し得る。
逆量子化
逆量子化ユニット210は、たとえば、量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して、量子化ユニット208によって適用される量子化方式の逆を適用することによって、量子化された係数に対して量子化ユニット208の逆量子化を適用して量子化解除された係数211を取得するように構成される。量子化解除された係数211は、量子化解除された残差係数211と呼ばれることもあり、量子化による損失に起因して通常は変換係数と同一でないが、変換係数207に対応し得る。
逆変換
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変換(DCT)もしくは逆離散サイン変換(DST)、または他の逆変換を適用して、サンプル領域における再構成された残差ブロック213(または、対応する量子化解除された係数213)を取得するように構成される。再構成された残差ブロック213は、変換ブロック213と呼ばれることもある。
再構成
再構成ユニット214(たとえば、加算器(adder)または総和器(summer)214)は、たとえば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを、サンプルごとに、加算することによって、変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加算してサンプル領域における再構成されたブロック215を取得するように構成される。
フィルタ処理
ループフィルタユニット220(または略して、「ループフィルタ」220)は、再構成されたブロック215をフィルタ処理してフィルタ処理されたブロック221を取得するように、または概して、再構成サンプルをフィルタ処理してフィルタ処理されたサンプルを取得するように構成される。ループフィルタユニットは、たとえば、ピクセル遷移を平滑化するか、またはビデオ品質を他の方法で改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応型オフセット(SAO:Sample-Adaptive Offset)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応型ループフィルタ(ALF:Adaptive Loop Filter)、シャープ化フィルタ、平滑化フィルタ、または協調フィルタ、あるいはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えうる。ループフィルタユニット220はループ内フィルタであるものとして図2に示されるが、他の構成では、ループフィルタユニット220は、ループ後フィルタとして実装されてよい。フィルタ処理されたブロック221は、フィルタ処理された再構成されたブロック221と呼ばれることもある。
ビデオエンコーダ20の実施形態(それぞれ、ループフィルタユニット220)は、たとえば、直接、またはエントロピー符号化ユニット270を介して符号化された、(サンプル適応型オフセット情報などの)ループフィルタパラメータを出力するように構成されてよく、その結果、たとえば、デコーダ30は、復号のために同じループフィルタパラメータまたはそれぞれのループフィルタを受信および適用し得る。
復号ピクチャバッファ
復号ピクチャバッファ(DPB)230は、ビデオエンコーダ20によってビデオデータを符号化するための、参照ピクチャまたは概して参照ピクチャデータを記憶するメモリであってよい。DPB230は、同期ダイナミックランダムアクセスメモリDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのうちのいずれかによって形成され得る。復号ピクチャバッファ(DPB)230は、1つまたは複数のフィルタ処理されたブロック221を記憶するように構成され得る。復号ピクチャバッファ230は、以前にフィルタ処理された他のブロック、たとえば、同じ現在のピクチャの、または異なるピクチャの、以前に再構成およびフィルタ処理されたブロック221、たとえば、以前に再構成されたピクチャを記憶するようにさらに構成されてよく、たとえば、インター予測のために、以前に再構成すなわち復号された全体的なピクチャ(ならびに、対応する参照ブロックおよびサンプル)、および/または部分的に再構成された現在のピクチャ(ならびに、対応する参照ブロックおよびサンプル)を提供し得る。たとえば、再構成されたブロック215が、ループフィルタユニット220によってフィルタ処理されていないか、または再構成されたブロックもしくはサンプルのさらに処理された任意の他のバージョンである場合、復号ピクチャバッファ(DPB)230はまた、1つもしくは複数のフィルタ処理されていない再構成されたブロック215、または概して、フィルタ処理されていない再構成サンプルを、記憶するように構成されてもよい。
モード選択(分割および予測)
モード選択ユニット260は、分割ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を備え、元のピクチャデータ、たとえば、元のブロック203(現在のピクチャ17の現在のブロック203)、ならびに同じ(現在の)ピクチャの、かつ/あるいは1つまたは複数の以前に復号されたピクチャからの、たとえば、復号ピクチャバッファ230または他のバッファ(たとえば、図示しないラインバッファ)からの、再構成ピクチャデータ、たとえば、フィルタ処理された再構成済みのサンプルもしくはブロック、および/またはフィルタ処理されていない再構成済みのサンプルもしくはブロックを、受信または取得するように構成される。再構成ピクチャデータは、予測ブロック265または予測子265を取得するために、予測、たとえば、インター予測またはイントラ予測のための、参照ピクチャデータとして使用される。
モード選択ユニット260は、(分割を含まない)現在のブロック予測モードに対する分割、および予測モード(たとえば、イントラまたはインター予測モード)を決定または選択し、残差ブロック205の計算のために、かつ再構成されたブロック215の再構成のために使用される、対応する予測ブロック265を生成するように構成され得る。
モード選択ユニット260の実施形態は、最良の整合すなわち言い換えれば最小残差(最小残差とは、送信または記憶のためのより良好な圧縮を意味する)、または最小シグナリングオーバーヘッド(最小シグナリングオーバーヘッドとは、送信または記憶のためのより良好な圧縮を意味する)を与えるか、あるいはその両方を考慮するかまたはその両方のバランスをとる、分割および予測モードを(たとえば、モード選択ユニット260によってサポートされるか、またはモード選択ユニット260にとって利用可能なものから)選択するように構成され得る。モード選択ユニット260は、レートひずみ最適化(RDO:Rate Distortion Optimization)に基づいて分割および予測モードを決定するように、すなわち、最小のレートひずみをもたらす予測モードを選択するように構成され得る。このコンテキストにおける「最良の」、「最小の」、「最適な」などのような用語は、必ずしも全体的な「最良の」、「最小の」、「最適な」などを指すとは限らず、しきい値または他の制約を上回るかまたは下回る値のような、終結基準または選択基準の充足を指してもよく、潜在的に「準最適な選択」につながるが、複雑さおよび処理時間を低減する。
言い換えれば、分割ユニット262は、たとえば、4分木分割(QT)、バイナリ分割(BT)、もしくはトリプルツリー分割(TT)、またはそれらの任意の組合せを反復的に使用して、ブロック203をより小さいブロック分割または(再びブロックを形成する)サブブロックに分割し、たとえば、ブロック分割またはサブブロックの各々に対して予測を行うように構成されてよく、モード選択は、分割されるブロック203のツリー構造の選択を含み、予測モードは、ブロックパーティションまたはサブブロックの各々に適用される。
以下では、例示的なビデオエンコーダ20によって行われる(たとえば、分割ユニット260による)分割および(インター予測ユニット244およびイントラ予測ユニット254による)予測処理が、より詳細に説明される。
分割
分割ユニット262は、現在のブロック203をより小さいパーティション、たとえば、正方形または長方形のサイズのより小さいブロックに、分割(すなわちスプリット)し得る。これらのより小さいブロック(サブブロックと呼ばれることもある)は、一層小さいパーティションにさらに分割され得る。このことはまた、ツリー分割または階層的ツリー分割と呼ばれ、たとえば、ルートツリーレベル0(階層レベル0、深度0)における、ルートブロックは、再帰的に分割されてよく、たとえば、次に低いツリーレベルの2つ以上のブロック、たとえば、ツリーレベル1(階層レベル1、深度1)におけるノードに分割されてよく、これらのブロックは再び、たとえば、終結基準が充足されており、たとえば、最大ツリー深度または最小ブロックサイズに到達したので、分割が終結されるまで、次に低いレベル、たとえば、ツリーレベル2(階層レベル2、深度2)の、2つ以上のブロックなどに分割されてよい。それ以上分割されないブロックは、ツリーのリーフブロックまたはリーフノードとも呼ばれる。2つのパーティションへの分割を用いるツリーは2分木(BT:Binary-Tree)と呼ばれ、3つのパーティションへの分割を用いるツリーは3分木(TT:Ternary-Tree)と呼ばれ、4つのパーティションへの分割を使用するツリーは4分木(QT:Quad-Tree)と呼ばれる。
前に述べたように、本明細書で使用する「ブロック」という用語は、ピクチャの一部分、具体的には正方形または長方形の部分であってよい。たとえば、HEVCおよびVVCを参照すると、ブロックとは、コーディングツリーユニット(CTU)、コーディングユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)、および変換ユニット(TU:Transform Unit)、ならびに/または対応するブロック、たとえば、コーディングツリーブロック(CTB)、コーディングブロック(CB:Coding Block)、変換ブロック(TB:Transform Block)、もしくは予測ブロック(PB:Prediction Block)であってよく、またはそれらに相当し得る。
たとえば、コーディングツリーユニット(CTU)は、3つのサンプルアレイを有するピクチャのルーマサンプルのCTB、クロマサンプルの2つの対応するCTB、またはモノクロピクチャもしくは3つの別個の色平面を使用してコーディングされるピクチャのサンプルのCTB、およびサンプルをコーディングするために使用されるシンタックス構造であってよく、またはそれらを含んでもよい。それに対応して、コーディングツリーブロック(CTB)は、CTBへの成分のスプリットが分割であるような、Nのいくつかの値に対する、サンプルのN×Nブロックであってよい。コーディングユニット(CU)は、3つのサンプルアレイを有するピクチャのルーマサンプルのコーディングブロック、クロマサンプルの2つの対応するコーディングブロック、またはモノクロピクチャもしくは3つの別個の色平面を使用してコーディングされるピクチャのサンプルのコーディングブロック、およびサンプルをコーディングするために使用されるシンタックス構造であってよく、またはそれらを備えてもよい。それに対応して、コーディングブロック(CB)は、コーディングブロックへのCTBのスプリットが分割であるような、MおよびNのいくつかの値に対する、サンプルのM×Nブロックであってよい。
たとえば、HEVCによる実施形態では、コーディングツリーユニット(CTU)は、コーディングツリーとして示される4分木構造を使用することによってCUにスプリットされ得る。ピクチャエリアを、(時間的な)インターピクチャ予測を使用してコーディングすべきか、それとも(空間的な)イントラピクチャ予測を使用してコーディングすべきかという決定は、CUレベルにおいて行われる。各CUは、PUスプリットタイプに従って1つ、2つ、または4つのPUにさらにスプリットされ得る。1つのPUの内側では、同じ予測プロセスが適用され、関連する情報がPU単位でデコーダへ送信される。PUスプリットタイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、CU用のコーディングツリーと類似の他の4分木構造に従って変換ユニット(TU)に分割され得る。
たとえば、多用途ビデオコーディング(VVC)と呼ばれる、現在策定中の最新のビデオコーディング規格による実施形態では、組み合わせられた4分木および2分木(QTBT:Quad-Tree and Binary Tree)分割が、たとえば、コーディングブロックを分割するために使用される。QTBTブロック構造の中で、CUは、正方形または長方形のいずれかの形状を有することができる。たとえば、コーディングツリーユニット(CTU)は、4分木構造によって最初に分割される。4分木リーフノードは、2分木構造または3分木(すなわち、トリプルツリー)構造によってさらに分割される。分割するツリーリーフノードは、コーディングユニット(CU)と呼ばれ、そのセグメント化は、それ以上の分割を伴わずに予測処理および変換処理のために使用される。このことは、CU、PU、およびTUがQTBTコーディングブロック構造の中で同じブロックサイズを有することを意味する。並行して、複数の分割、たとえば、トリプルツリー分割が、QTBTブロック構造と一緒に使用され得る。
一例では、ビデオエンコーダ20のモード選択ユニット260は、本明細書で説明する分割技法の任意の組合せを行うように構成され得る。
上記で説明したように、ビデオエンコーダ20は、(たとえば、事前決定された)予測モードのセットから、最良のまたは最適な予測モードを決定または選択するように構成される。予測モードのセットは、たとえば、イントラ予測モードおよび/またはインター予測モードを含み得る。
イントラ予測
イントラ予測モードのセットは、たとえば、HEVCにおいて定義されるように、35個の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよびplanarモードのような非方向性モード、もしくは方向性モードを含み得、または、たとえば、VVCにおいて定義されるように、67個の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよびplanarモードのような非方向性モード、もしくは方向性モードを含み得る。
イントラ予測ユニット254は、イントラ予測モードのセットのイントラ予測モードに従ってイントラ予測ブロック265を生成するために、同じ現在のピクチャの近傍ブロックの再構成されたサンプルを使用するように構成される。
イントラ予測ユニット254(または概して、モード選択ユニット260)は、符号化されたピクチャデータ21の中に含めるためのシンタックス要素266の形式でイントラ予測パラメータ(または概して、ブロックのための選択されたイントラ予測モードを示す情報)をエントロピー符号化ユニット270に出力するようにさらに構成され、その結果、たとえば、ビデオデコーダ30は、復号のために予測パラメータを受信および使用し得る。
インター予測
インター予測モードのセット(または、可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、たとえば、DBP230の中に記憶されている、少なくとも部分的に復号された、以前のピクチャ)、ならびに他のインター予測パラメータ、たとえば、最良に整合する参照ブロックを求めて探索するために参照ピクチャ全体が使用されるのか、それとも一部のみ、たとえば、参照ピクチャの現在のブロックのエリアの周囲の探索ウィンドウエリアが使用されるのか、ならびに/または、たとえば、ピクセル補間、たとえば、ハーフペル補間/セミペル補間および/もしくはクォーターペル補間が適用されるか否かに依存する。
上記の予測モードに加えて、スキップモードおよび/またはダイレクトモードが適用されてよい。
インター予測ユニット244は、動き推定(ME:Motion Estimation)ユニットおよび動き補償(MC:Motion Compensation)ユニット(両方とも図2に示さず)を含んでよい。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在のピクチャ17の現在のピクチャブロック203)および復号されたピクチャ231、または少なくとも1つもしくは複数の以前に再構成されたブロック、たとえば、他の/異なる1つもしくは複数の以前に復号されたピクチャ231の再構成されたブロックを、受信または取得するように構成され得る。たとえば、ビデオシーケンスは、現在のピクチャおよび以前に復号されたピクチャ231を含み得、すなわち言い換えれば、現在のピクチャおよび以前に復号されたピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であってよく、またはそれらを形成し得る。
エンコーダ20は、たとえば、複数の他のピクチャのうちの同じかまたは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(または、参照ピクチャインデックス)、および/または参照ブロックの位置(x、y座標)と現在のブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニットに提供するように構成され得る。このオフセットは動きベクトル(MV:Motion Vector)とも呼ばれる。
動き補償ユニットは、インター予測パラメータを取得、たとえば受信し、インター予測パラメータに基づいて、またはインター予測パラメータを使用して、インター予測を行ってインター予測ブロック265を取得するように構成される。動き補償ユニットによって行われる動き補償は、動き推定によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を行うことを伴ってよい。補間フィルタ処理は、知られているピクセルサンプルから追加のピクセルサンプルを生成してよく、したがって、ピクチャブロックをコーディングするために使用され得る候補予測ブロックの個数を潜在的に増大させる。現在のピクチャブロックのPUに対する動きベクトルを受信すると、動き補償ユニットは、参照ピクチャリストのうちの1つの中で動きベクトルが指し示す先の予測ブロックの位置を特定し得る。
動き補償ユニットはまた、ビデオスライスのピクチャブロックを復号する際のビデオデコーダ30による使用のために、ブロックおよびビデオスライスに関連付けられるシンタックス要素を生成し得る。スライスおよびそれぞれのシンタックス要素に加えて、またはそれらの代替として、タイルグループおよび/またはタイルならびにそれぞれのシンタックス要素が生成または使用されてよい。
エントロピーコーディング
エントロピー符号化ユニット270は、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に対して、たとえば、エントロピー符号化アルゴリズムまたはエントロピー符号化方式(たとえば、可変長コーディング(VLC)方式、コンテキスト適応型VLC方式(CAVLC)、算術コーディング方式、2値化方式、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率区間分割エントロピー(PIPE)コーディング、または他のエントロピー符号化方法または技法)、あるいはバイパス(圧縮なし)を適用して、たとえば、符号化ビットストリーム21の形式で、出力272を介して出力され得る符号化されたピクチャデータ21を取得するように構成され、その結果、たとえば、ビデオデコーダ30は、復号のためにパラメータを受信および使用し得る。符号化ビットストリーム21は、ビデオデコーダ30へ送信されてよく、または後でビデオデコーダ30によって送信するかまたは取り出すためにメモリの中に記憶されてもよい。
ビデオエンコーダ20の他の構造的変形が、ビデオストリームを符号化するために使用され得る。たとえば、非変換ベースのエンコーダ20が、いくつかのブロックまたはフレームに対して変換処理ユニット206を用いずに残差信号を直接量子化することができる。他の実装形態では、エンコーダ20は、単一のユニットの中に組み合わせられた量子化ユニット208および逆量子化ユニット210を有することができる。
デコーダおよび復号方法
図3は、この本出願の技法を実施するように構成されるビデオデコーダ30の一例を示す。ビデオデコーダ30は、たとえば、エンコーダ20によって符号化された、符号化されたピクチャデータ21(たとえば、符号化ビットストリーム21)を受信して、復号されたピクチャ331を取得するように構成される。符号化されたピクチャデータまたはビットストリームは、符号化されたピクチャデータを復号するための情報、たとえば、符号化ビデオスライス(および/または、タイルグループもしくはタイル)のピクチャブロックを表すデータ、および関連付けられたシンタックス要素を含む。
図3の例では、デコーダ30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(たとえば、総和器314)、ループフィルタ320、復号ピクチャバッファ(DBP)330、モード適用ユニット360、インター予測ユニット344、およびイントラ予測ユニット354を備える。インター予測ユニット344は、動き補償ユニットであってよく、または動き補償ユニットを含んでもよい。ビデオデコーダ30は、いくつかの例では、図2からのビデオエンコーダ100に関して説明した符号化パスとは概して相反する復号パスを行い得る。
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(DPB)230、インター予測ユニット344、およびイントラ予測ユニット354はまた、ビデオエンコーダ20の「ビルトインデコーダ」を形成するものと呼ばれる。したがって、逆量子化ユニット310は逆量子化ユニット110と機能が同一であってよく、逆変換処理ユニット312は逆変換処理ユニット212と機能が同一であってよく、再構成ユニット314は再構成ユニット214と機能が同一であってよく、ループフィルタ320はループフィルタ220と機能が同一であってよく、復号ピクチャバッファ330は復号ピクチャバッファ230と機能が同一であってよい。したがって、ビデオエンコーダ20のそれぞれのユニットおよび機能に対して提供された説明は、それに対応してビデオデコーダ30のそれぞれのユニットおよび機能に適用される。
エントロピー復号
エントロピー復号ユニット304は、ビットストリーム21(または概して、符号化されたピクチャデータ21)を構文解析し、たとえば、符号化されたピクチャデータ21へのエントロピー復号を行って、たとえば、量子化された係数309および/または復号されたコーディングパラメータ(図3に示さず)、たとえば、インター予測パラメータ(たとえば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(たとえば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素のうちのいずれかまたはすべてを取得するように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化方式に対応する復号アルゴリズムまたは復号方式を適用するように構成され得る。エントロピー復号ユニット304は、モード適用ユニット360にインター予測パラメータ、イントラ予測パラメータ、および/または他のシンタックス要素を、またデコーダ30の他のユニットに他のパラメータを提供するように、さらに構成され得る。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。スライスおよびそれぞれのシンタックス要素に加えて、またはそれらの代替として、タイルグループおよび/またはタイルならびにそれぞれのシンタックス要素が受信および/または使用され得る。
逆量子化
逆量子化ユニット310は、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化されたピクチャデータ21から量子化パラメータ(QP)(または概して、逆量子化に関係する情報)および量子化された係数を受信し、量子化パラメータに基づいて、復号された量子化された係数309に対して逆量子化を適用して、変換係数311と呼ばれることもある量子化解除された係数311を取得するように構成され得る。逆量子化プロセスは、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス(または、タイルもしくはタイルグループ)の中のビデオブロックごとの、ビデオエンコーダ20によって決定された量子化パラメータの使用を含んでよい。
逆変換
逆変換処理ユニット312は、変換係数311とも呼ばれる量子化解除された係数311を受信し、サンプル領域における再構成された残差ブロック213を取得するために量子化解除された係数311に変換を適用するように構成され得る。再構成された残差ブロック213は、変換ブロック313と呼ばれることもある。変換は、逆変換、たとえば、逆DCT変換、逆DST変換、逆整数変換、または概念的に類似の逆変換プロセスであってよい。逆変換処理ユニット312は、量子化解除された係数311に適用されるべき変換を決定するために、(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)符号化されたピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
再構成
再構成ユニット314(たとえば、加算器(adder)または総和器(summer)314)は、たとえば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、予測ブロック365に再構成された残差ブロック313を加算して、サンプル領域における再構成されたブロック315を取得するように構成され得る。
フィルタ処理
(コーディングループの中またはコーディングループの後のいずれかの)ループフィルタユニット320は、たとえば、ピクセル遷移を平滑化するか、またはビデオ品質を他の方法で改善するために、再構成されたブロック315をフィルタ処理してフィルタ処理されたブロック321を取得するように構成される。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応型オフセット(SAO)フィルタ、または1つもしくは複数の他のフィルタ、たとえば、双方向フィルタ、適応型ループフィルタ(ALF)、シャープ化フィルタ、平滑化フィルタ、または協調フィルタ、あるいはそれらの任意の組合せなどの、1つまたは複数のループフィルタを備えうる。ループフィルタユニット320はループ内フィルタであるものとして図3に示されるが、他の構成では、ループフィルタユニット320はループ後フィルタとして実装されてもよい。
復号ピクチャバッファ
ピクチャの復号されたビデオブロック321は、次いで、他のピクチャに対する後続の動き補償のための、かつ/または出力されるそれぞれ表示用の、参照ピクチャとして復号されたピクチャ331を記憶する、復号ピクチャバッファ330の中に記憶される。
デコーダ30は、ユーザへの提示または鑑賞のために、たとえば、出力312を介して復号されたピクチャ311を出力するように構成される。
予測
インター予測ユニット344は、インター予測ユニット244と(詳細には、動き補償ユニットと)同一であってよく、イントラ予測ユニット354は、機能がインター予測ユニット254と同一であってよく、分割および/もしくは予測パラメータ、または符号化されたピクチャデータ21から(たとえば、エントロピー復号ユニット304によって、たとえば、構文解析および/または復号することによって)受信されたそれぞれの情報に基づいて、スプリットまたは分割決定および予測を行う。モード適用ユニット360は、(フィルタ処理されているかまたはフィルタ処理されていない)再構成されたピクチャ、ブロック、またはそれぞれのサンプルに基づいて、ブロックごとに予測(イントラ予測またはインター予測)を行って、予測ブロック365を取得するように構成され得る。
イントラコード化(I)スライスとしてビデオスライスがコーディングされるとき、モード適用ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モード、および現在のピクチャの以前に復号されたブロックからのデータに基づいて、現在のビデオスライスのピクチャブロックに対する予測ブロック365を生成するように構成される。インターコード化(すなわち、BまたはP)スライスとしてビデオピクチャがコーディングされるとき、モード適用ユニット360のインター予測ユニット344(たとえば、動き補償ユニット)は、動きベクトル、およびエントロピー復号ユニット304から受信された他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックに対する予測ブロック365を作り出すように構成される。インター予測の場合、予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから作り出されてよい。ビデオデコーダ30は、DPB330の中に記憶された参照ピクチャに基づいてデフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構築し得る。スライス(たとえば、ビデオスライス)に加えて、またはその代替として、タイルグループ(たとえば、ビデオタイルグループ)および/またはタイル(たとえば、ビデオタイル)を使用する実施形態に対して、またはそうした実施形態によって、同じかまたは類似のことが適用されてよく、たとえば、ビデオは、I、P、もしくはBタイルグループおよび/またはタイルを使用してコーディングされてよい。
モード適用ユニット360は、動きベクトルまたは関連する情報および他のシンタックス要素を構文解析することによって、現在のビデオスライスのビデオブロックに対する予測情報を決定し、予測情報を使用して、復号中の現在のビデオブロックに対する予測ブロックを作り出すように構成される。たとえば、モード適用ユニット360は、受信されたシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライス用の参照ピクチャリストのうちの1つまたは複数に対する構成情報、スライスのインター符号化ビデオブロックごとの動きベクトル、スライスのインターコード化ビデオブロックごとのインター予測ステータス、および現在のビデオスライスの中のビデオブロックを復号するための他の情報を決定する。スライス(たとえば、ビデオスライス)に加えて、またはその代替として、タイルグループ(たとえば、ビデオタイルグループ)および/またはタイル(たとえば、ビデオタイル)を使用する実施形態に対して、またはそうした実施形態によって、同じかまたは同様のことが適用されてよく、たとえば、ビデオは、I、P、もしくはBタイルグループおよび/またはタイルを使用してコーディングされてよい。
図3に示すようなビデオデコーダ30の実施形態は、スライス(ビデオスライスとも呼ばれる)を使用することによってピクチャを分割および/または復号するように構成されてよく、ピクチャは、(通常は重複しない)1つまたは複数のスライスに分割され得るか、またはそうしたスライスを使用して復号され得、各スライスは、1つまたは複数のブロック(たとえば、CTU)を含み得る。
図3に示すようなビデオデコーダ30の実施形態は、タイルグループ(ビデオタイルグループとも呼ばれる)および/またはタイル(ビデオタイルとも呼ばれる)を使用することによってピクチャを分割および/または復号するように構成されてよく、ピクチャは、(通常は重複しない)1つまたは複数のタイルグループに分割され得るか、またはそうしたタイルグループを使用して復号され得、各タイルグループは、たとえば、1つもしくは複数のブロック(たとえば、CTU)または1つもしくは複数のタイルを含み得、各タイルは、たとえば、長方形形状であってよく、1つまたは複数のブロック(たとえば、CTU)、たとえば、全体的または断片的なブロックを含み得る。
ビデオデコーダ30の他の変形が、符号化されたピクチャデータ21を復号するために使用され得る。たとえば、デコーダ30は、ループフィルタ処理ユニット320を用いずに出力ビデオストリームを作り出すことができる。たとえば、非変換ベースのデコーダ30が、いくつかのブロックまたはフレームに対して逆変換処理ユニット312を用いずに残差信号を直接逆量子化することができる。他の実装形態では、ビデオデコーダ30は、単一のユニットの中に組み合わせられた逆量子化ユニット310および逆変換処理ユニット312を有することができる。
エンコーダ20およびデコーダ30において、現在のステップの処理結果がさらに処理されてよく、次いで、次のステップに出力されうることを理解されたい。たとえば、補間フィルタ処理、動きベクトル導出、またはループフィルタ処理の後、補間フィルタ処理、動きベクトル導出、またはループフィルタ処理の処理結果に対して、クリップまたはシフトなどのさらなる演算が行われうる。
現在のブロックの導出された動きベクトル(限定はしないが、アフィンモードの制御点動きベクトル、アフィンモード、planarモード、ATMVPモードにおけるサブブロック動きベクトル、時間動きベクトルなどを含む)に、さらなる演算が適用され得ることに留意されたい。たとえば、動きベクトルの値は、その表現ビットに従って既定の範囲に制約される。動きベクトルの表現ビットがbitDepthである場合、範囲は-2^(bitDepth-1)~2^(bitDepth-1)-1であり、ただし、「^」は累乗を意味する。たとえば、bitDepthが16に等しく設定される場合、範囲は-32768~32767であり、bitDepthが18に等しく設定される場合、範囲は-131072~131071である。たとえば、導出される動きベクトル(たとえば、1つの8×8ブロック内の4つの4×4サブブロックのMV)の値は、4つの4×4サブブロックMVの整数部分の間の最大差分が、1ピクセル以下などの、Nピクセル以下となるように制約される。ここで、bitDepthに従って動きベクトルを制約するための2つの方法を提供する。
方法1: フローイング演算(flowing operation)によってオーバーフローMSB(最上位ビット)を除去する。
ux = ( mvx + 2bitDepth ) % 2bitDepth (1)
mvx = ( ux >= 2bitDepth-1 ) ? ( ux - 2bitDepth ) : ux (2)
uy = ( mvy + 2bitDepth ) % 2bitDepth (3)
mvy = ( uy >= 2bitDepth-1 ) ? ( uy - 2bitDepth ) : uy (4)
ただし、mvxは画像ブロックまたはサブブロックの動きベクトルの水平成分であり、mvyは画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、uxおよびuyは中間値を示す。
たとえば、mvxの値が-32769である場合、式(1)および式(2)を適用した後、得られる値は32767である。コンピュータシステムでは、10進数は2の補数として記憶される。-32769の2の補数は1,0111,1111,1111,1111(17ビット)であり、次いで、MSBが廃棄され、そのため、得られる2の補数は、式(1)および式(2)を適用することによる出力と同じである0111,1111,1111,1111である(10進数は32767である)。
ux = ( mvpx + mvdx +2bitDepth ) % 2bitDepth (5)
mvx = ( ux >= 2bitDepth-1 ) ? ( ux - 2bitDepth ) : ux (6)
uy = ( mvpy + mvdy +2bitDepth ) % 2bitDepth (7)
mvy = ( uy >= 2bitDepth-1 ) ? ( uy - 2bitDepth ) : uy (8)
式(5)~式(8)に示すように、その演算は、mvpとmvdとの加算の間に適用され得る。
方法2: 値をクリッピングすることによってオーバーフローMSBを除去する。
vx = Clip3(-2bitDepth-1, 2bitDepth-1 -1, vx)
vy = Clip3(-2bitDepth-1, 2bitDepth-1 -1, vy)
ただし、vxは画像ブロックまたはサブブロックの動きベクトルの水平成分であり、vyは画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、x、y、およびzはそれぞれ、MVクリッピングプロセスの3つの入力値に対応し、関数Clip3の定義は以下の通りである。
Figure 0007314300000001
図4は、本開示の一実施形態によるビデオコーディングデバイス400の概略図である。ビデオコーディングデバイス400は、本明細書で説明するような開示する実施形態を実施するのに適している。一実施形態では、ビデオコーディングデバイス400は、図1Aのビデオデコーダ30などのデコーダ、または図1Aのビデオエンコーダ20などのエンコーダでありうる。
ビデオコーディングデバイス400は、データを受信するための入口ポート410(または、入力ポート410)およびレシーバ・ユニット(Rx)420、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)430、データを送信するためのトランスミッタ・ユニット(Tx)440および出口ポート450(または、出力ポート450)、ならびにデータを記憶するためのメモリ460を備える。ビデオコーディングデバイス400はまた、光信号または電気信号の出ることまたは入ることのために入口ポート410、レシーバ・ユニット420、トランスミッタ・ユニット440、および出口ポート450に結合された、光電気(OE:optical-to-electrical)構成要素および電気光(EO:electrical-to-optical)構成要素を備えうる。
プロセッサ430は、ハードウェアおよびソフトウェアによって実装される。プロセッサ430は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサとして)、FPGA、ASIC、およびDSPとして実装され得る。プロセッサ430は、入口ポート410、レシーバ・ユニット420、トランスミッタ・ユニット440、出口ポート450、およびメモリ460と通信している。プロセッサ430は、コーディングモジュール470を含む。コーディングモジュール470は、上記で説明した開示する実施形態を実施する。たとえば、コーディングモジュール470は、様々なコーディング動作を実施、処理、準備、または提供する。したがって、コーディングモジュール470を含むことは、ビデオコーディングデバイス400の機能性に大幅な改善をもたらし、異なる状態へのビデオコーディングデバイス400の変形をもたらす。あるいは、コーディングモジュール470は、メモリ460の中に記憶されプロセッサ430によって実行される命令として実装される。
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備えてよく、実行のためにそのようなプログラムが選択されるときにプログラムを記憶するための、かつプログラム実行中に読み取られる命令およびデータを記憶するための、オーバーフローデータ記憶デバイスとして使用されてよい。メモリ460は、たとえば、揮発性および/または不揮発性であってよく、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、3値連想メモリ(TCAM:Ternary Content-Addressable Memory)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
図5は、例示的な実施形態による図1からのソースデバイス12および宛先デバイス14のうちのどちらか一方または両方として使用され得る装置500の簡略化されたブロック図である。
装置500の中のプロセッサ502は中央処理ユニットであり得る。あるいは、プロセッサ502は、現存するかまたは今後開発される、情報を操作または処理することが可能な任意の他のタイプのデバイスまたは複数のデバイスであり得る。開示する実装形態は図示のように単一のプロセッサ、たとえば、プロセッサ502を用いて実践され得るが、速度および効率における利点は、2つ以上のプロセッサを使用して達成され得る。
装置500の中のメモリ504は、一実装形態では読取り専用メモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスであり得る。任意の他の好適なタイプの記憶デバイスが、メモリ504として使用され得る。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコードおよびデータ506を含むことができる。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに含むことができ、アプリケーションプログラム510は、ここで説明する方法をプロセッサ502が行うことを可能にする少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム510は、アプリケーション1~Nを含むことができ、アプリケーション1~Nは、ここで説明する方法を行うビデオコーディングアプリケーションをさらに含む。
装置500はまた、ディスプレイ518などの1つまたは複数の出力デバイスを含むことができる。ディスプレイ518は、一例では、ディスプレイを、タッチ入力を感知するように動作可能なタッチ感応性要素と組み合わせる、タッチ感応性ディスプレイであってよい。ディスプレイ518は、バス512を介してプロセッサ502に結合され得る。
ここでは単一のバスとして示されるが、装置500のバス512は複数のバスからなり得る。さらに、2次ストレージ514が、装置500の他の構成要素に直接結合され得るか、またはネットワークを介してアクセスされ得、メモリカードなどの単一の統合ユニット、または複数のメモリカードなどの複数のユニットを備えることができる。したがって、装置500は多種多様な構成で実装され得る。
符号化されたピクチャデータ21は、エンコーダ(ユニット254)およびデコーダ(ユニット354)においてブロック予測がどのように行われるのかについての情報を含む。符号化されたピクチャデータのシンタックスは、以下の要素(Table 1(表1))を含み得る。
Figure 0007314300000002
intra_luma_ref_idx[ x0 ][ y0 ]は、Table 2(表2)において規定されているように、x = x0..x0 + cbWidth - 1およびy = y0..y0 + cbHeight - 1に対してイントラ予測参照ラインインデックスIntraLumaRefLineIdx[ x ][ y ]を指定する。intra_luma_ref_idx[ x0 ][ y0 ]が存在しないとき、それは0に等しいものと推測される。
Figure 0007314300000003
IntraLumaRefLineIdxは、イントラ予測参照ラインインデックス(refIdx)の値を決定するために使用され、すなわち、
refIdx = ( cIdx == 0 ) ? IntraLumaRefLineIdx[ xTbCmp ][ yTbCmp ] : 0
であり、ただし、cIdxは、予測されるブロックのルーマ成分またはクロマ成分を示す変数である。0に等しいcIdxはルーマ成分を示し、1または2に等しいcIdxはクロマ成分を示す。
さらに与えられる説明では、cbWidthはブロック幅に相当し、cbHeightはブロック高さに相当し、MaxTbSizeYは次のように規定され得るしきい値に相当する。
MaxTbLog2SizeY = 6
MaxTbSizeY = 1 << MaxTbLog2SizeY
予測されるブロックは、コーディングブロックとも呼ばれる。
1に等しいintra_subpartitions_mode_flag[ x0 ][ y0 ]は、現在のイントラコーディングユニットがNumIntraSubPartitions[ x0 ][ y0 ]個の長方形変換ブロックサブパーティションに分割されることを指定する。0に等しいintra_subpartitions_mode_flag[ x0 ][ y0 ]は、現在のイントラコーディングユニットが長方形変換ブロックサブパーティションに分割されないことを指定する。
intra_subpartitions_mode_flag[ x0 ][ y0 ]が存在しないとき、それは0に等しいものと推測される。
intra_subpartitions_split_flag[ x0 ][ y0 ]は、イントラサブパーティションスプリットタイプが水平であるのかそれとも垂直であるのかを指定する。intra_subpartitions_split_flag[ x0 ][ y0 ]が存在しないとき、それは次のように推測される。
- cbHeightがMaxTbSizeYよりも大きい場合、intra_subpartitions_split_flag[ x0 ][ y0 ]は0に等しいものと推測される。
- そうでない(cbWidthがMaxTbSizeYよりも大きい)場合、intra_subpartitions_split_flag[ x0 ][ y0 ]は1に等しいものと推測される。
変数IntraSubPartitionsSplitTypeは、Table 3(表3)に示すような、現在のルーマコーディングブロックのために使用されるスプリットのタイプを指定する。IntraSubPartitionsSplitTypeは、次のように導出される。
- intra_subpartitions_mode_flag[ x0 ][ y0 ]が0に等しい場合、IntraSubPartitionsSplitTypeは0に等しく設定される。
- そうでない場合、IntraSubPartitionsSplitTypeは1 + intra_subpartitions_split_flag[ x0 ][ y0 ]に等しく設定される。
Figure 0007314300000004
変数NumIntraSubPartitionsは、イントラルーマコーディングブロックがスプリットされる先の変換ブロックサブパーティションの個数を指定する。NumIntraSubPartitionsは、次のように導出される。
- IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しい場合、NumIntraSubPartitionsは1に等しく設定される。
- そうではなく、次の条件のうちの1つが真である場合、NumIntraSubPartitionsは2に等しく設定される。
- cbWidthが4に等しく、かつcbHeightが8に等しい。
- cbWidthが8に等しく、かつcbHeightが4に等しい。
- そうでない場合、NumIntraSubPartitionsは4に等しく設定される。
シンタックス要素intra_luma_mpm_flag[ x0 ][ y0 ]、intra_luma_not_planar_flag[ x0 ][ y0 ]、intra_luma_mpm_idx[ x0 ][ y0 ]、およびintra_luma_mpm_remainder[ x0 ][ y0 ]は、ルーマサンプル用のイントラ予測モードを指定する。アレイインデックスx0、y0は、ピクチャの左上のルーマサンプルに対する、考慮されるコーディングブロックの左上のルーマサンプルのロケーション( x0, y0 )を指定する。intra_luma_mpm_flag[ x0 ][ y0 ]が1に等しいとき、隣接するイントラ予測されたコーディングユニットからイントラ予測モードが推測される。
intra_luma_mpm_flag[ x0 ][ y0 ]が存在しないとき、それは1に等しいものと推測される。
intra_luma_not_planar_flag[ x0 ][ y0 ]が存在しないとき、それは1に等しいものと推測される。
intra_luma_not_planar_flag[ xCb ][ yCb ]が0に等しいとき、ブロックイントラ予測モード(IntraPredModeY[ xCb ][ yCb ])はINTRA_PLANARに等しく設定される。
intra_chroma_pred_mode[ x0 ][ y0 ]は、クロマサンプル(ブロックのクロマ成分)用のイントラ予測モードを指定する。アレイインデックスx0、y0は、ピクチャの左上のルーマサンプルに対する、考慮されるコーディングブロックの左上のルーマサンプルのロケーション( x0, y0 )を指定する。
イントラサブパーティション(ISP:intra sub-partition)ツールの詳細はJVET-M0102の中に見出すことができ、このツールの簡潔な説明が以下に与えられる。
ISPツールは、Table 4(表4)に示すように、ブロックサイズ寸法に応じて、ルーマイントラ予測されるブロックを垂直または水平に2個または4個のサブパーティションにスプリットする。図6および図7は2つの可能性の例を示す。すべてのサブパーティションは、少なくとも16個のサンプルを有するという条件を充足する。
Figure 0007314300000005
これらのサブパーティションの各々に対して、エンコーダによって送られた係数をエントロピー復号し、次いで、それらを逆量子化および逆変換することによって、残差信号が生成される。次いで、サブパーティションがイントラ予測され、最後に、予測信号に残差信号を加算することによって、対応する再構成サンプルが取得される。したがって、各サブパーティションの再構成された値は、次の値の予測を生成するために利用可能であり、そのことがプロセスを反復し、以下同様である。すべてのサブパーティションは、同じイントラモードを共有する。
イントラモードおよび利用されるスプリットに基づいて、通常順序および反転順序と呼ばれる2つの異なるクラスの処理順序が使用される。通常順序では、処理されるべき最初のサブパーティションはCUの左上のサンプルを含むサブパーティションであり、次いで、下の方(水平スプリット)または右の方(垂直スプリット)に進む。その結果、サブパーティション予測信号を生成するために使用される参照サンプルは、ラインの左側および上側にしか位置しない。一方、反転処理順序は、CUの左下のサンプルを含むサブパーティションとともに開始し上の方に進むか、またはCUの右上のサンプルを含むサブパーティションとともに開始し左の方に進むかのいずれかである。
概して、イントラ予測プロセスは次のように説明され得る。
このプロセスへの入力は以下の通りである。
- 現在のピクチャの左上のサンプルに対する、現在の変換ブロックの左上のサンプルを指定するサンプルロケーション( xTbCmp, yTbCmp )、
- イントラ予測モードを指定する変数predModeIntra、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- コーディングブロック幅を指定する変数nCbW、
- コーディングブロック高さを指定する変数nCbH、
- 現在のブロックの色成分を指定する変数cIdx。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
変数refWおよびrefHは、次のように導出される。
- IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しいか、またはcIdxが0に等しくない場合、以下が適用される。
refW = nTbW * 2
refH = nTbH * 2
- そうでない(IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しくなく、かつcIdxが0に等しい)場合、以下が適用される。
refW = nCbW * 2
refH = nCbH * 2
イントラ予測参照ラインインデックスを指定する変数refIdxは、次のように導出される。
refIdx = ( cIdx == 0 ) ? IntraLumaRefLineIdx[ xTbCmp ][ yTbCmp ] : 0
x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = -refIdx..refW - 1、y = -1 - refIdxである参照サンプルp[ x ][ y ]の生成のために以下の順序付きステップが適用される。
1. 入力として、サンプルロケーション( xTbCmp, yTbCmp )、イントラ予測参照ラインインデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、色成分インデックスcIdx、また出力として、x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = - refIdx..refW - 1、y = -1 - refIdxである参照サンプルrefUnfilt[ x ][ y ]を用いて、参照サンプル利用可能性マーキングプロセスが呼び出される。
2. x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = -refIdx..refW - 1、y = -1 - refIdxである少なくとも1つのサンプルrefUnfilt[ x ][ y ]が「イントラ予測のために利用不可能」としてマークされると、入力として、イントラ予測参照ラインインデックスrefIdx、参照サンプル幅refW、参照サンプル高さrefH、参照サンプルrefUnfilt[ x ][ y ](x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = -refIdx..refW - 1、y = -1 - refIdx)、ならびに色成分インデックスcIdx、また出力として、修正済みの参照サンプルrefUnfilt[ x ][ y ](x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = -refIdx..refW - 1、y = -1 - refIdx)を用いて、参照サンプル置換プロセスが呼び出される。
3. 入力として、イントラ予測参照ラインインデックスrefIdx、変換ブロック幅nTbWおよび高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = -refIdx..refW - 1、y = -1 - refIdxであるフィルタ処理されていないサンプルrefUnfilt[ x ][ y ]、ならびに色成分インデックスcIdx、また出力として、参照サンプルp[ x ][ y ](x = -1 - refIdx、y = -1 - refIdx..refH - 1およびx = -refIdx..refW - 1、y = -1 - refIdx)を用いて、参照サンプルフィルタ処理プロセスが呼び出される。
predModeIntraによるイントラサンプル予測プロセスが、次のように適用される。
- predModeIntraがINTRA_PLANARに等しい場合、入力として、変換ブロック幅nTbW、および変換ブロック高さnTbH、ならびに参照サンプルアレイpを用いて、対応するイントラ予測モードプロセスが呼び出され、出力は予測されたサンプルアレイpredSamplesである。
- そうではなく、predModeIntraがINTRA_DCに等しい場合、入力として、変換ブロック幅nTbW、変換ブロック高さnTbH、イントラ予測参照ラインインデックスrefIdx、および参照サンプルアレイpを用いて、対応するイントラ予測モードプロセスが呼び出され、出力は予測されたサンプルアレイpredSamplesである。
- そうではなく、predModeIntraが、INTRA_LT_CCLM、INTRA_L_CCLM、またはINTRA_T_CCLMに等しい場合、入力として、イントラ予測モードpredModeIntra、( xTbCmp, yTbCmp )に等しく設定されたサンプルロケーション( xTbC, yTbC )、変換ブロック幅nTbWおよび高さnTbH、ならびに参照サンプルアレイpを用いて、対応するイントラ予測モードプロセスが呼び出され、出力は予測されたサンプルアレイpredSamplesである。
- そうでない場合、入力として、イントラ予測モードpredModeIntra、イントラ予測参照ラインインデックスrefIdx、変換ブロック幅nTbW、変換ブロック高さnTbH、参照サンプル幅refW、参照サンプル高さrefH、コーディングブロック幅nCbWおよび高さnCbH、色成分インデックスcIdx、ならびに参照サンプルアレイp、また出力として、修正済みのイントラ予測モードpredModeIntra、および予測されたサンプルアレイpredSamplesを用いて、対応するイントラ予測モードプロセスが呼び出される。
次の条件のすべてが真であるとき、入力として、イントラ予測モードpredModeIntra、変換ブロック幅nTbW、変換ブロック高さnTbH、予測されたサンプルpredSamples[ x ][ y ](x = 0..nTbW - 1、y = 0..nTbH - 1)、参照サンプル幅refW、参照サンプル高さrefH、x = -1、y = -1..refH - 1およびx = 0..refW - 1、y = -1である参照サンプルp[ x ][ y ]、ならびに色成分インデックスcIdxを用いて、位置依存の予測サンプルフィルタ処理プロセスが呼び出され、出力は修正済みの予測されたサンプルアレイpredSamplesである。
- IntraSubPartitionsSplitTypeがISP_NO_SPLITに等しいか、またはcIdxが0に等しくない。
- refIdxが0に等しいか、またはcIdxが0に等しくない。
- 次の条件のうちの1つが真である。
- predModeIntraがINTRA_PLANARに等しい。
- predModeIntraがINTRA_DCに等しい。
- predModeIntraがINTRA_ANGULAR18に等しい。
- predModeIntraがINTRA_ANGULAR50に等しい。
- predModeIntraがINTRA_ANGULAR10以下である。
- predModeIntraがINTRA_ANGULAR58以上である。
図8は、ブロックのイントラ予測のために使用される参照サンプルのラインの位置を示す。参照ライン(「参照ライン(Reference line)」)のインデックスに応じて、予測されるブロック(「ブロックユニット(Block unit)」)のサンプルは、予測されるブロックに隣接していない、すなわち、参照ラインのインデックスが0に等しくないときの、参照サンプルを使用して予測され得る。
Planarイントラ予測モードは、VVCドラフトにおいて次のように規定されている。
このプロセスへの入力は以下の通りである。
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- x = -1、y = -1..nTbHおよびx = 0..nTbW、y = -1であって、近傍のサンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
変数nWおよびnHは、次のように導出される。
nW = Max( nTbW, 2 )
nH = Max( nTbH, 2 )
x = 0..nTbW - 1およびy = 0..nTbH - 1であって、予測サンプルpredSamples[ x ][ y ]の値が次のように導出される。
predV[ x ][ y ] = ( ( nH - 1 - y ) * p[ x ][ -1 ] + ( y + 1 ) * p[ -1 ][ nTbH ] ) << Log2 ( nW )
predH[ x ][ y ] = ( ( nW - 1 - x ) * p[ -1 ][ y ] + ( x + 1 ) * p[ nTbW ][ -1 ] ) << Log2 ( nH )
predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1 )
DCイントラ予測プロセスは、VVCドラフトにおいて次のように規定されている。
このプロセスへの入力は以下の通りである。
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- x = -1、y = -1..nTbH - 1およびx = 0..nTbW - 1、y = -1であって、近傍のサンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、予測サンプルpredSamples[ x ][ y ]の値が以下の順序付きステップによって導出される。
1. 変数dcValが、次のように導出される。
- nTbWがnTbHに等しいとき、
Figure 0007314300000006
- nTbWがnTbHよりも大きいとき、
Figure 0007314300000007
- nTbWがnTbHよりも小さいとき、
Figure 0007314300000008
2. 予測サンプルpredSamples[x][y]が、次のように導出される。
x = 0.. nTbW - 1、y = 0.. nTbH - 1であって、predSamples[ x ][ y ] = dcVal
最新技術の方法は、参照ラインのインデックスが非0であるときのみ、方向性イントラ予測を使用し、すなわち、この場合にはDCイントラ予測モードおよびPLANARイントラ予測モードが無効化される。
DCイントラ予測モードが行われない他の事例は、イントラサブパーティション(ISP)が使用されているときである。
VVCドラフトのバージョンは、イントラ予測モードの異なるコーディングを指定する。ビットストリームの中でシグナリングされるシンタックス要素のシーケンスの選択は、特定のツールが有効化または無効化されていることに依存する。特に、mpmフラグは、「intra_luma_ref_idx」フラグおよび「intra_subpartitions_mode_flag」フラグが0に等しいときにしかシグナリングされない(Table 5(表5)を参照)。
Figure 0007314300000009
PDPCは位置依存予測コンビネーション(Position-dependent prediction combination)を表す。このプロセスは次のように説明され得る。
このプロセスへの入力は以下の通りである。
- イントラ予測モードpredModeIntra、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- 参照サンプル幅を指定する変数refW、
- 参照サンプル高さを指定する変数refH、
- x = 0..nTbW - 1、y = 0..nTbH - 1であって、予測されたサンプルpredSamples[ x ][ y ]、
- x = -1, y = -1..refH - 1およびx = 0..refW - 1, y = -1であって、近傍のサンプルp[ x ][ y ]、
- 現在のブロックの色成分を指定する変数cIdx。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は修正済みの予測されたサンプルpredSamples[ x ][ y ]である。
cIdxの値に応じて、関数clip1Cmpが次のように設定される。
- cIdxが0に等しい場合、clip1CmpはClip1Yに等しく設定される。
- そうでない場合、clip1CmpはClip1Cに等しく設定される。
変数nScaleは、( ( Log2( nTbW ) + Log2( nTbH ) - 2 ) >> 2 )に設定される。
x = 0..refW - 1およびy = 0..refH - 1であって、参照サンプルアレイmainRef[ x ]およびsideRef[ y ]が次のように導出される。
mainRef[ x ] = p[ x ][ -1 ]
sideRef[ y ] = p[ -1 ][ y ]
x = 0..nTbW - 1、y =0..nTbH - 1であって、変数refL[ x ][ y ]、refT[ x ][ y ]、wT[ y ]、wL[ x ]、およびwTL[ x ][ y ]が、次のように導出される。
- predModeIntraがINTRA_PLANARまたはINTRA_DCに等しい場合、以下が適用される。
refL[ x ][ y ] = p[ -1 ][ y ]
refT[ x ][ y ] = p[ x ][ -1 ]
wT[ y ] = 32 >> ( ( y << 1 ) >> nScale )
wL[ x ] = 32 >> ( ( x << 1 ) >> nScale )
wTL[ x ][ y ] = ( predModeIntra == INTRA_DC ) ? ( ( wL[ x ] >> 4 ) + ( wT[ y ] >> 4 ) ) : 0
- そうではなく、predModeIntraがINTRA_ANGULAR18またはINTRA_ANGULAR50に等しい場合、以下が適用される。
refL[ x ][ y ] = p[ -1 ][ y ]
refT[ x ][ y ] = p[ x ][ -1 ]
wT[ y ] = ( predModeIntra == INTRA_ANGULAR18 ) ? 32 >> ( ( y << 1 ) >> nScale ) : 0
wL[ x ] = ( predModeIntra == INTRA_ANGULAR50 ) ? 32 >> ( ( x << 1 ) >> nScale ) : 0
wTL[ x ][ y ] = ( predModeIntra == INTRA_ANGULAR18 ) ? wT[ y ] : wL[ x ]
- そうではなく、predModeIntraがINTRA_ANGULAR2またはINTRA_ANGULAR66に等しい場合、以下が適用される。
refL[ x ][ y ] = p[ -1 ][ x + y + 1 ]
refT[ x ][ y ] = p[ x + y + 1 ][ -1 ]
wT[ y ] = ( 32 >> 1 ) >> ( ( y << 1 ) >> nScale )
wL[ x ] = ( 32 >> 1 ) >> ( ( x << 1 ) >> nScale )
wTL[ x ][ y ] = 0
- そうではなく、predModeIntraがINTRA_ANGULAR10以下である場合、以下の順序付きステップが適用される。
1. 変数dXPos[ y ]、dXFrac[ y ]、dXInt[ y ]、およびdX[ x ][ y ]が、intraPredModeに応じて第8.4.4.2.7節において規定されているようなinvAngleを使用して次のように導出される。
dXPos[ y ] = ( ( y + 1 ) * invAngle + 2 ) >> 2
dXFrac[ y ] = dXPos[ y ] & 63
dXInt[ y ] = dXPos [ y ] >> 6
dX[ x ][ y ] = x + dXInt[ y ]
2. 変数refL[ x ][ y ]、refT[ x ][ y ]、wT[ y ]、wL[ x ]、およびwTL[ x ][ y ]が、次のように導出される。
refL[ x ][ y ] = 0
refT[ x ][ y ] = ( dX[ x ][ y ] < refW - 1 ) ? mainRef[ dX[ x ][ y ] + ( dXFrac[ y ] >> 5 ) ] : 0
wT[ y ] = ( dX[ x ][ y ] < refW - 1 ) ? 32 >> ( ( y << 1 ) >> nScale ) : 0
wL[ x ] = 0
wTL[ x ][ y ] = 0
- そうではなく、predModeIntraがINTRA_ANGULAR58以上である場合、以下の順序付きステップが適用される。
1. 変数dYPos[ x ]、dYFrac[ x ]、dYInt[ x ]、およびdY[ x ][ y ]が、intraPredModeに応じて第8.4.4.2.7節において規定されているようなinvAngleを使用して次のように導出される。
dYPos[ x ] = ( ( x + 1 ) * invAngle + 2 ) >> 2
dYFrac[ x ] = dYPos[ x ] & 63
dYInt[ x ] = dYPos[ x ] >> 6
dY[ x ][ y ] = y + dYInt[ x ]
2. 変数refL[ x ][ y ]、refT[ x ][ y ]、wT[ y ]、wL[ x ]、およびwTL[ x ][ y ]が、次のように導出される。
refL[ x ][ y ] = ( dY[ x ][ y ] < refH - 1 ) ? sideRef[ dY[ x ][ y ] + ( dYFrac[ x ] >> 5 ) ] : 0
refT[ x ][ y ] = 0
wT[ y ] = 0
wL[ x ] = ( dY[ x ][ y ] < refH - 1 ) ? 32 >> ( ( x << 1 ) >> nScale ) : 0
wTL[ x ][ y ] = 0
- そうでない場合、refL[ x ][ y ]、refT[ x ][ y ]、wT[ y ]、wL[ x ]、およびwTL[ x ][ y ]はすべて、0に等しく設定される。
x = 0..nTbW - 1、y =0..nTbH - 1であって、修正済みの予測されたサンプルの値predSamples[ x ][ y ]が次のように導出される。
predSamples[ x ][ y ] = clip1Cmp( ( refL[ x ][ y ] * wL[ x ] + refT[ x ][ y ] * wT[ y ] - p[ -1 ][ -1 ] * wTL[ x ][ y ] + (64 - wL[ x ] - wT[ y ] + wTL[ x ][ y ] ) * predSamples[ x ][ y ] + 32 ) >> 6 )
現在、いくつかのバージョンのMPMリストが、VVCソフトウェアおよび仕様ドラフトの中に維持されている。複数のMPMリストを使用するハードウェア設計も望ましくない。しかしながら、イントラ予測モードが現在無効化されている事例に対してイントラ予測モードを有効化する場合、そのことは、イントラ予測される類似のブロックを作り出すイントラフラグの2つの組合せをもたらすことになる。明らかに、この設計は冗長であり、この問題を解決するためにシグナリング部分またはイントラ予測部分のいずれかが修正されるべきである。
予測中のブロックまたは予測されるべきブロックに隣接しない参照サンプルが(たとえば、ISPを使用して)さらにスプリットされる場合、本発明の範囲は、PLANARイントラ予測プロセスおよびDCイントラ予測プロセスの修正の中にある。修正は、予測サンプル決定のプロセスだけでなく、参照サンプルフィルタ処理およびPDPCも含む。
そのような修正の目的は、すべてのイントラ予測ツールに対して、統合されたイントラモードシグナリングメカニズムを有すべき可能性の中にある。
DCイントラ予測モードもしくはPLANARイントラ予測モードが使用されるとき、かつ予測中のブロックに参照サンプルが隣接しないとき、または予測されるブロックがさらなるスプリットを受けるとき(すなわち、ISPの場合)の事例において、発明は、参照サンプルの処理を修正しPDPCの条件付きの切り替えを導入することを提案する。処理は、(図6に示すような)上および左のエリアの中の再構成サンプルからの参照サンプルの選択、ならびにそれらのフィルタ処理を含む。
本発明は、イントラ予測モードを符号化するために、統合された単一のシグナリングメカニズムを有すべき可能性を与えることが目指される。イントラ予測モードコーディングの例示的な統合されたシグナリング方法がTable 6(表6)の中に与えられる。
Figure 0007314300000010
Table 5(表5)およびTable 6(表6)に示すコーディング方法の間の差異とは、提案される例示的なシンタックスではintra_luma_mpm_flagの条件付きのシグナリングが除去されることである。
本仕様から、参照ラインのインデックスが非0であるとき、PLANARイントラ予測モードが動作できないことが注目され得る。図9に示す本発明の一実施形態は、このことがどのように対処され得るのかを開示する。この図において、3番目の参照ラインが使用される事例。PLANARイントラ予測モードのために選択される参照サンプルが、斜線で埋められた正方形によって表される。最初の左上のサンプル(「A」として示す)の位置が(0, 0)に等しいと想定すると、PLANARイントラ予測は次のように修正され得る。
このプロセスへの入力は以下の通りである。
- イントラ予測参照ラインインデックスを指定する変数refIdx、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- x = -1-refIdx、y = - refIdx..nTbHおよびx = -refIdx.. nTbW、y = -1-refIdxであって、参照サンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
変数nWおよびnHは、次のように導出される。
nW = Max( nTbW, 2 )
nH = Max( nTbH, 2 )
x = 0..nTbW - 1およびy = 0..nTbH - 1であって、予測サンプルpredSamples[ x ][ y ]の値が次のように導出される。
predV[ x ][ y ] = ( ( nH - 1 - y ) * p[ x ][ -1-refIdx ] + ( y + 1 ) * p[ -1 -refIdx ][ nTbH ] ) << Log2 ( nW )
predH[ x ][ y ] = ( ( nW - 1 - x ) * p[ -1 -refIdx ][ y ] + ( x + 1 ) * p[ nTbW ][ -1 -refIdx ] ) << Log2 ( nH )
predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1 )
図10に示す代替実施形態は、PLANARイントラ予測モード用の参照ラインから参照サンプルを選択する他の方法を開示する。この方法は次のように説明され得る。
このプロセスへの入力は以下の通りである。
- イントラ予測参照ラインインデックスを指定する変数refIdx、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- x = -1-refIdx、y = -1-refIdx..nTbH-refIdxおよびx = -refIdx..nTbW-refIdx、y = -1-refIdxであって、近傍のサンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
変数nWおよびnHは、次のように導出される。
nW = Max( nTbW, 2 )
nH = Max( nTbH, 2 )
x = 0..nTbW - 1およびy = 0..nTbH - 1であって、予測サンプルpredSamples[ x ][ y ]の値が次のように導出される。
predV[ x ][ y ] = ( ( nH - 1 - y ) * p[ x-refIdx ][ -1-refIdx ] + ( y + 1 ) * p[ -1 -refIdx ][ nTbH -refIdx ] ) << Log2 ( nW )
predH[ x ][ y ] = ( ( nW - 1 - x ) * p[ -1 -refIdx ][ y-refIdx ] + ( x + 1 ) * p[ nTbW -refIdx ][ -1 -refIdx ] ) << Log2 ( nH )
predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1 )
他の代替実施形態は、双予測においてその値が使用される2つのサンプルに対して、それぞれ、下部ラインサンプル値および右側サンプル値として特別な変位を適用することからなる。図11では、参照ラインからギャップを伴って参照サンプルが選択されることが注目され得る。この実施形態のための仕様テキストは、以下の通りであり得る。
このプロセスへの入力は以下の通りである。
- イントラ予測参照ラインインデックスを指定する変数refIdx、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- x = -1-refIdx、y = -1-refIdx..nTbH-refIdxおよびx = -refIdx..nTbW-refIdx、y = -1-refIdxであって、近傍のサンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
変数nWおよびnHは、次のように導出される。
nW = Max( nTbW, 2 )
nH = Max( nTbH, 2 )
x = 0..nTbW - 1およびy = 0..nTbH - 1であって、予測サンプルpredSamples[ x ][ y ]の値が次のように導出される。
predV[ x ][ y ] = ( ( nH - 1 - y ) * p[ x-refIdx ][ -1-refIdx ] + ( y + 1 ) * p[ -1 -refIdx ][ nTbH] ) << Log2 ( nW )
predH[ x ][ y ] = ( ( nW - 1 - x ) * p[ -1 -refIdx ][ y-refIdx ] + ( x + 1 ) * p[ nTbW ][ -1 -refIdx ] ) << Log2 ( nH )
predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1 )
DCイントラ予測プロセスはまた、参照ラインインデックスが非0であるとき、呼び出すことができない。
図12~図12Cおよび図13に示す発明実施形態は、参照ラインインデックスが非0であるとき、DCモードを使用してどのようにイントラ予測を行うべきかを開示する。この場合のサンプリングメカニズムは、PLANARイントラ予測モードのために上記で開示したものと類似である。
このプロセスへの入力は以下の通りである。
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- イントラ予測参照ラインインデックスを指定する変数refIdx、
- x = -1-refIdx、y = -1-refIdx..nTbH-refIdx - 1およびx = -refIdx..nTbW-refIdx - 1、y = -1-refIdxであって、近傍のサンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、予測サンプルpredSamples[ x ][ y ]の値が以下の順序付きステップによって導出される。
1. 変数dcValが、次のように導出される。
- nTbWがnTbHに等しいとき、
Figure 0007314300000011
- nTbWがnTbHよりも大きいとき、
Figure 0007314300000012
- nTbWがnTbHよりも小さいとき、
Figure 0007314300000013
2. 予測サンプルpredSamples[x][y]が、次のように導出される。
x = 0.. nTbW - 1、y = 0.. nTbH - 1であって、predSamples[ x ][ y ] = dcVal
上記で説明したステップ1は、(上の参照サンプルラインおよび/または左の参照サンプル列などの)参照サンプルのラインおよび/または列からの参照サンプルの選択のステップを含む。この目的のために、2つのインデックス、すなわち、
x' = 0.. nTbW
および
y' = 0.. nTbH.
が導入される。
上の参照サンプルラインからの参照サンプルの選択は、インデックスx'およびrefIdxを使用して次のように行われる。
p[x'-refIdx][-1-refIdx]
左の参照サンプル列からの参照サンプルの選択は、インデックスy'およびrefIdxを使用して次のように行われる。
p[-1-refIdx][y'-refIdx]
選択プロセスの結果は、ステップ1において上記で説明したような変数dcVal(DC値)の値を決定するためにさらに使用される、選択された参照サンプルである。
上記で説明したDCイントラ予測モードを使用してブロックをイントラ予測するステップ2は、予測されるサンプル(predSamples)、すなわち、予測されるべきブロックのサンプルの値を得るために、変数dcVal(DC値)の計算された値を使用する。
図12Aは、Wの値がHの値に等しいという点で図12と類似である。しかしながら、図12Aは、3つの参照ライン、すなわち、それぞれ、参照サンプルの3つの行および参照サンプルの3つの列しか示さない。これらの参照ラインは、予測されるべきブロックの上の上方、およびその左にある。
図12Bおよび図12Cは図12Aと類似であるが、これらはW>H(図12B)およびW<H(図12C)となる事例を示す。すなわち、両方の事例において、予測されるべきブロックは長方形形状のものである。
図12~図12Cおよび図13に示すように、変換ブロックを予測するために使用される参照サンプルは、参照ラインの参照サンプルのサブセットである。参照ラインが参照サンプルの行だけでなく参照サンプルの列も含むものと理解されるべきであることが、再び繰り返されるべきである。参照サンプルの行は参照ラインの一例である。参照サンプルの列は参照ラインの他の例である。図12~図12Cおよび図13に示すような、変換ブロックを予測するために使用される参照サンプルは連続しており、参照ライン内でそれらの間にはギャップがなく、その結果、それらは連続する区間または連続する距離を形成する。参照サンプルの各々は、イントラ予測用でもある近傍サンプルに水平または垂直に隣接している。
INTRA_DCイントラ予測モードへの入力は、以下の通りである。
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- イントラ予測参照ラインインデックスを指定する変数refIdx、
- x = -1 - refIdx、y = 0..nTbH - 1およびx = 0..nTbW - 1、y = -1 - refIdxであって、近傍のサンプルp[ x ][ y ]。
x = 0..nTbW - 1、y = 0..nTbH - 1であって、このプロセスの出力は予測されたサンプルpredSamples[ x ][ y ]である。
図12および図12Aにおいて示す例として、ブロックは正方形である。変換ブロックの幅(nTbW )は、変換ブロックの高さ(nTbH)に等しい。この状況において、変数dcValが次のように導出される。
- nTbWがnTbHに等しいとき、
Figure 0007314300000014
イントラ予測参照ラインインデックスの値は、図12の例では3であり、図12Aの例では2である。図12Aの例を取ると、redIdxの値は2であり、nTbWはnTbHに等しい。したがって、参照サンプルの上の3番目の行および参照サンプルの左の3番目の列が選択される。参照サンプルの上の3番目の行および参照サンプルの左の3番目の列は、イントラ予測参照ラインインデックスの値によってインデックス付けされる参照ラインである。
図12Bおよび図12Cにおいて示す例として、ブロックは非正方形である。変換ブロックの幅(nTbW)は、変換ブロックの高さ(nTbH)に等しくない。この状況において、変数dcValが次のように導出される。
- nTbWがnTbHよりも大きいとき(図12B)、
Figure 0007314300000015
- nTbWがnTbHよりも小さいとき(図12C)、
Figure 0007314300000016
次いで、予測サンプルpredSamples[ x ][ y ]が次のように導出される。
x = 0.. nTbW - 1、y = 0.. nTbH - 1であって、predSamples[ x ][ y ] = dcVal。
イントラ予測参照ラインインデックスの値は、図12Bおよび図12Cの例では3である。図12Bの例を取ると、redIdxの値は2であり、nTbWはnTbHよりも大きい。したがって、参照サンプルの上の3番目の行だけが選択される。参照サンプルの上の3番目の行は、イントラ予測参照ラインインデックスの値によってインデックス付けされる参照ラインである。参照サンプルの個数は、変換ブロックの幅に対応する。参照ラインの一番左の参照サンプル(すなわち、p[0][-idx-1])は、変換ブロックの参照サンプルの上の行内で、予測される左上のサンプルの位置(すなわち、A)まで水平にオフセットされている。オフセットは、一番左の参照サンプルの垂直インデックス(すなわち、[-idx-1])と、変換ブロックの参照サンプルの左の列の予測される左上のサンプルの垂直位置(すなわち、A)との間の差分である。オフセットは、行列pの第1のインデックスによって表され、それは0に等しい。参照ラインの一番左の参照サンプル(すなわち、p[0][-idx-1])の水平位置は、変換ブロックの予測される左上のサンプルの水平位置(すなわち、A)に等しく、その両方が0に等しい。
図12Cの例を取ると、redIdxの値は2であり、nTbHはnTbWよりも大きい。したがって、参照サンプルの左の3番目の列だけが選択される。参照サンプルの左の3番目の列は、イントラ予測参照ラインインデックスの値によってインデックス付けされる参照ラインである。参照サンプルの個数は、変換ブロックの高さに対応する。参照ラインの一番上の参照サンプル(すなわち、p[-idx-1] [0])は、変換ブロックの参照サンプルの左の列内で、予測される左上のサンプルの位置(すなわち、A)まで垂直にオフセットされている。オフセットは、一番上の参照サンプルの水平インデックス(すなわち、[-idx-1])と、変換ブロックの参照サンプルの上の行の予測される左上のサンプルの水平位置(すなわち、A)との間の差分である。オフセットは、行列pの第2のインデックスによって表され、それはイントラ予測参照ラインインデックスの値に等しい。参照ラインの一番上の参照サンプル(すなわち、p [-idx-1] [0])の垂直位置は、変換ブロックの予測される左上のサンプルの垂直位置(すなわち、A)に等しく、その両方が0に等しい。
(DCイントラ予測モードを含む)任意の他のイントラ予測モードが以下のステップを含む。
ステップ1は、参照ラインインデックス(refIdx)に基づく、参照ラインおよび参照列の選択である。このインデックスは、予測されるブロックの左または上の境界と、予測されるサンプルの値を得るためにさらに使用される、近傍ブロックの再構成サンプルの列または行との間のオフセットを決定する。
ステップ2は、参照サンプルの選択されたラインおよび列に参照サンプルフィルタが適用されるかどうかの決定からなる。これらの条件は、イントラ予測モード、カラーインデックス(cIdx)、(たとえば、Table 1(表1)に示す)イントラ予測プロセスに関係するシンタックス要素の値、ならびにこれらの要素の値から導出される変数の値、予測されるべきブロックの寸法を含む。ISPが行われる場合、これらの条件は、イントラ予測プロセスが適用されるサブブロックにスプリットされたブロックのサイズを追加として含む。条件が充足されるかどうかをチェックした結果に基づいて、参照サンプルの選択された列またはラインのサンプルが、参照サンプルフィルタによって処理される。このフィルタは、通常、[1 2 1] / 4として規定される3つの係数を有するFIR(有限インパルス応答)フィルタである。
ステップ3は、参照サンプルの選択された列またはラインからの参照サンプルの選択からなる。この選択は、参照サンプルの選択されたラインまたは列に属するどんなサンプルが、予測されるサンプルの値を導出するためにさらに使用されることになるのかを示す、インデックス範囲の決定からなる。
ステップ4は、ステップ3において決定された、選択された参照サンプルから、予測されるサンプルを導出することからなる。この導出はモード依存であり、さらなるサブサンプリング、補間フィルタ処理を適用すること、または参照サンプルから線形表現を計算することを含み得、ここで、予測されるサンプルの値を得るために使用される参照サンプルは、予測されるブロック内での予測されるサンプルの位置に応じて決定される。
他の発明実施形態は、予測中のブロックに参照サンプルが隣接しないとき、すなわち、(「intra_luma_ref_idx」によってシグナリングされる)参照サンプルの参照されたラインのインデックスが0に等しくないとき、イントラ参照サンプル平滑化を無効化する。他の実施形態は、参照サンプルの参照されたラインのインデックスに対してPLANARイントラ予測モードのための参照サンプルフィルタを変えることからなる。
例示的なフィルタ選択は、Table 7(表7)およびTable 8(表8)で与えられる。
Figure 0007314300000017
Figure 0007314300000018
本発明の他の実施形態は、イントラサブパーティション(ISP)フラグが1に設定されるとき、サブパーティションのイントラ予測のためにPLANARイントラ予測モードおよびDCイントラ予測モードが使用されることを可能にする。ISPフラグが1に設定されるときにPDPC動作を行わないことが提案される。
- ISPモードがオンである場合、DCイントラをどのように処理すべきかという例示的な実施形態は、以下の通りである。すなわち、ブロック全体の参照サンプルに対してDC値を計算し、
- 予測されるDC値を、予測中のブロックに属するすべてのサブブロックのためのイントラ予測子として使用する。
他の実施形態は、コード化ピクチャのクロマ成分およびルーマ成分がブロックへの同じ空間分割を共有するときの(すなわち、SINGLE_TREE分割モードが選択されるときの)事例を開示する。この場合、PDPCを条件付きで適用する2つの事例が考慮される。
本実施形態の第1の事例では、ISPフラグが1に等しく設定されるとき、ルーマ成分の予測されるサンプルを有するブロックはルーマサブブロックにスプリットされるが、コロケートされたクロマブロック(すなわち、クロマ成分の予測されるサンプルを有するコロケートブロック)はスプリットされない。この事例では、ルーマサブブロックにPDPCは適用されないが、クロマブロックにはPDPCが適用される。
本実施形態の第2の事例では、イントラ予測参照ラインインデックスが非0であるとき、PDPCは予測されるルーマブロックに適用されないがコロケートされたクロマブロックに適用され、クロマブロックの予測のために、イントラ予測参照ラインインデックスはシグナリングされず、0と推測される。
図14は、変換ブロックのイントラ予測参照ラインインデックスの値を取得するステップ1601と、参照ラインからの参照サンプルに基づいて変換ブロックの予測サンプルを取得するステップ1603とを含む、ブロックのためのDCイントラ予測モードのイントラ予測の方法のフローチャートを示し、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
ステップ1603の前に、方法は、図9~図13において示す例のように、イントラ予測参照ラインインデックスの値に基づいて参照サンプルのラインを選択するステップ1602を含み得る。
図15は、本開示によるエンコーダ20を示し、エンコーダ20は、変換ブロックのイントラ予測参照ラインインデックスの値を取得するように構成された取得ユニット2001と、参照ラインからの参照サンプルに基づいて変換ブロックの予測サンプルを取得するように構成された予測ユニット2003とを備え、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
エンコーダ20は、図9~図13において示す例のように、イントラ予測参照ラインインデックスの値に基づいて参照サンプルのラインを選択するように構成された選択ユニット2002(図15に示さず)を含んでよい。
図16は、本開示によるデコーダ30を示し、デコーダは、変換ブロックのイントラ予測参照ラインインデックスの値を取得するように構成された取得ユニット(3001)と、参照ラインからの参照サンプルに基づいて変換ブロックの予測サンプルを取得するように構成された予測ユニット(3003)とを備え、参照ラインは、イントラ予測参照ラインインデックスの値によってインデックス付けされる。
デコーダ30は、図9~図13において示す例のように、イントラ予測参照ラインインデックスの値に基づいて参照サンプルのラインを選択するように構成された選択ユニット3002(図16に示さず)を含んでよい。
本開示は、16個のさらなる態様の以下のセットを提供する。
ブロックのためのDCイントラ予測モードまたはplanarイントラ予測モードのイントラ予測の方法の第1の態様であって、複数参照ライン(MRL)予測が有効化されているとき、((選択された)上の参照サンプルラインおよび/または(選択された)左の参照サンプル列などの)参照サンプルのラインおよび/または列からの参照サンプルの選択を含む、DCイントラ予測モードまたはplanarイントラ予測モードを使用してブロックをイントラ予測することを含む。
第1の態様による方法の第2の態様であって、方法は、
イントラ予測の結果に(PDPCなどの)位置依存予測コンビネーションを条件付きで適用することをさらに含む。
第1および第2の態様による方法の第3の態様であって、参照サンプルのラインおよび/または列が、(イントラ予測参照ラインインデックスまたは参照ラインインデックスなどの)refIdxによって示されるか、または参照サンプルのラインが、複数参照ラインのうちの(第1のrefIdxなどの)refIdxによって示される単一のラインであるか、または単一の列が、複数参照列のうちの参照サンプルの(第2のrefIdxなどの)refIdxによって示される1つの列である。
第1~第3の態様のうちのいずれか1つによる方法の第4の態様であって、ブロックが属するピクチャのためにSINGLE_TREE分割モードが選択され、方法は、(ISPフラグなどの)第1の表示の値に基づいて、予測されるべきブロックのルーマ成分をルーマサブブロックにスプリットすること、ルーマサブブロックに対してPDPCを適用することをスキップするが、コロケートされたクロマブロック(すなわち、予測されるべきブロックのクロマ成分)に対してPDPCを適用することを含む、イントラ予測の結果にPDPCを条件付きで適用するステップをさらに含む。
第1~第4の態様のうちのいずれか1つによる方法の第5の態様であって、ブロックが属するピクチャのためにSINGLE_TREE分割モードが選択され、イントラ予測の結果にPDPCを条件付きで適用するステップは、イントラ予測参照ラインインデックスが非0であるとき、ブロックのルーマ成分にPDPCを適用すること、コロケートされたクロマブロックを予測し、かつ(コロケートされたクロマブロックのイントラ予測の結果などの)コロケートされたクロマブロック予測の結果にPDPCを適用するとき、イントラ予測参照ラインインデックスを0であるものと推測することを含む。
第1~第5の態様のうちのいずれか1つによる方法の第6の態様であって、ブロックのイントラ予測のためにDCイントラ予測モードが使用され、複数参照ライン予測が有効化され、イントラ予測参照ラインインデックスが非0である。
第1~第6の態様のうちのいずれか1つによる方法の第7の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインおよび/または列から導出され、DC値を導出するために、(左の参照サンプル列などの)参照ラインおよび/または参照列からいくつかの参照サンプルが選択され、参照サンプルの個数は、ブロックの幅に対応するか、または参照サンプルの個数は、ブロックの高さに等しい。
第1~第7の態様のうちのいずれかの方法の第8の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、DC値を導出するために、(上の参照サンプルラインなどの)参照ラインから複数の参照サンプルが選択され、複数の参照サンプルの個数は、ブロックの幅に等しいか、または複数の参照サンプルの個数は、ブロックの幅に対応する。
第1~第8の態様のうちのいずれかの方法の第9の態様であって、選択される参照サンプルは、連続する区間または連続する距離を形成し、すなわち、選択される参照サンプルの各々は、選択される参照サンプルでもある水平または垂直に隣接する近傍サンプルを有し、選択される参照サンプルのうちの2個だけが、選択される1個の近傍サンプルを有するが、選択される他の参照サンプルは、(近傍サンプルなどの)選択される少なくとも2個の参照サンプルを有する。
第1~第9の態様のうちのいずれかの方法の第10の態様であって、選択される参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定され、インデックスの各々は、整数値の範囲に属する整数値であり、インデックスは、参照サンプルの選択された列内または選択されたライン内の水平座標(x')または垂直座標(y')を指定する。
第1~第10の態様のうちのいずれかの方法の第11の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインから導出され、選択される一番上の参照サンプルは、ブロックの予測される左上のサンプルの位置まで垂直にオフセットされている。
第1~第11の態様のうちのいずれかの方法の第12の態様であって、オフセットの値は、イントラ予測参照ラインインデックスに対応するか、オフセットの値は、イントラ予測参照ラインインデックスに関連するか、またはオフセットの値は、イントラ予測参照ラインインデックスに等しい。
第1~第12の態様のうちのいずれかの方法の第13の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、選択される一番左の参照サンプルは、ブロックの予測される左上のサンプルの位置まで水平にオフセットされている。
第1~第13の態様のうちのいずれかの方法の第14の態様であって、オフセットの値は、イントラ予測参照ラインインデックスに対応するか、オフセットの値は、イントラ予測参照ラインインデックスに関連するか、またはオフセットの値は、イントラ予測参照ラインインデックスに等しい。
第1~第14の態様のうちのいずれかの方法の第15の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインから導出され、選択される一番上の参照サンプルの((x1, y)のyなどの)垂直位置は、ブロックの予測される左上のサンプルの((x2, y)のyなどの)垂直位置に等しい。
第1~第15の態様のうちのいずれかの方法の第16の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、選択される一番左の参照サンプルの((x, y1)のxなどの)水平位置は、ブロックの予測される左上のサンプルの((x, y2)のxなどの)水平位置に等しい。
本開示は、16個のさらなる態様の他のセットを提供する。
ブロックのためのイントラ予測の方法の第1の態様であって、ブロックは、DCイントラ予測モードを使用して予測され、方法は、
- (たとえば、intra_subpartitions_mode_idxおよびintra_subpartitions_mode_flagを使用して)ISP(intra_subpartitions)が有効化されているとき、ブロックをサブブロックに再スプリットすることと、
- DCイントラ予測モードを使用してサブブロックをイントラ予測することとを含む。
第1の態様による方法の第2の態様は、
- イントラ予測の結果に(PDPCなどの)位置依存予測コンビネーションを条件付きで適用することをさらに含む。
第1および第2の態様による方法の第3の態様であって、参照サンプルのラインおよび/または列が、(イントラ予測参照ラインインデックスまたは参照ラインインデックスなどの)refIdxによって示されるか、または参照サンプルのラインが、複数参照ラインのうちの(第1のrefIdxなどの)refIdxによって示される単一のラインであるか、または単一の列が、複数参照列のうちの参照サンプルの(第2のrefIdxなどの)refIdxによって示される1つの列である。
第1~第3の態様のうちのいずれか1つによる方法の第4の態様であって、ブロックが所属するピクチャのためにSINGLE_TREE分割モードが選択され、方法は、
- (ISPフラグなどの)第1の表示の値に基づいて、予測されるべきブロックのルーマ成分をルーマサブブロックにスプリットすること、
ルーマサブブロックに対してPDPCを適用することをスキップするが、コロケートされたクロマブロック(すなわち、予測されるべきブロックのクロマ成分)に対してPDPCを適用することを含む、
イントラ予測の結果にPDPCを条件付きで適用するステップをさらに含む。
第1~第4の態様のうちのいずれか1つによる方法の第5の態様であって、ブロックが属するピクチャのためにSINGLE_TREE分割モードが選択され、
イントラ予測の結果にPDPCを条件付きで適用するステップは、
- イントラ予測参照ラインインデックスが非0であるとき、ブロックのルーマ成分にPDPCを適用すること、
- コロケートされたクロマブロックを予測し、かつ(コロケートされたクロマブロックのイントラ予測の結果などの)コロケートされたクロマブロック予測の結果にPDPCを適用するとき、イントラ予測参照ラインインデックスが0であるものと推測することを含む。
第1~第5の態様のうちのいずれか1つによる方法の第6の態様であって、ブロックのイントラ予測のためにDCイントラ予測モードが使用され、複数参照ライン予測が有効化され、イントラ予測参照ラインインデックスが非0である。
第1~第6の態様のうちのいずれか1つによる方法の第7の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインおよび/または列から導出され、DC値を導出するために、(左の参照サンプル列などの)参照ラインおよび/または参照列からいくつかの参照サンプルが選択され、参照サンプルの個数は、ブロックの幅に対応するか、または参照サンプルの個数は、ブロックの高さに等しい。
第1~第7の態様のうちのいずれかの方法の第8の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、DC値を導出するために、(上の参照サンプルラインなどの)参照ラインから複数の参照サンプルが選択され、複数の参照サンプルの個数は、ブロックの幅に等しいか、または複数の参照サンプルの個数は、ブロックの幅に対応する。
第1~第8の態様のうちのいずれかの方法の第9の態様であって、選択される参照サンプルは、連続する区間または連続する距離を形成し、すなわち、選択される参照サンプルの各々は、選択される参照サンプルでもある水平または垂直に隣接する近傍サンプルを有し、選択される参照サンプルのうちの2個だけが、選択される1個の近傍サンプルを有するが、選択される他の参照サンプルは、(近傍サンプルなどの)少なくとも2個の選択される参照サンプルを有する。
第1~第9の態様のうちのいずれかの方法の第10の態様であって、選択される参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定され、インデックスの各々は、整数値の範囲に属する整数値であり、インデックスは、参照サンプルの選択された列内または選択されたライン内の水平座標(x')または垂直座標(y')を指定する。
第1~第10の態様のうちのいずれかの方法の第11の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインから導出され、選択される一番上の参照サンプルは、ブロックの予測される左上のサンプルの位置まで垂直にオフセットされている。
第1~第11の態様のうちのいずれかの方法の第12の態様であって、オフセットの値は、イントラ予測参照ラインインデックスに対応するか、オフセットの値は、イントラ予測参照ラインインデックスに関連するか、またはオフセットの値は、イントラ予測参照ラインインデックスに等しい。
第1~第12の態様のうちのいずれかの方法の第13の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、選択される一番左の参照サンプルは、ブロックの予測される左上のサンプルの位置まで水平にオフセットされている。
第1~第13の態様のうちのいずれかの方法の第14の態様であって、オフセットの値は、イントラ予測参照ラインインデックスに対応するか、オフセットの値は、イントラ予測参照ラインインデックスに関連するか、またはオフセットの値は、イントラ予測参照ラインインデックスに等しい。
第1~第14の態様のうちのいずれかの方法の第15の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインから導出され、選択される一番上の参照サンプルの((x1, y)のyなどの)垂直位置は、ブロックの予測される左上のサンプルの((x2, y)のyなどの)垂直位置に等しい。
第1~第15の態様のうちのいずれかの方法の第16の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、選択される一番左の参照サンプルの((x, y1)のxなどの)水平位置は、ブロックの予測される左上のサンプルの((x, y2)のxなどの)水平位置に等しい。
本開示は、16個のさらなる態様のまた他のセットを提供する。
ブロックのためのイントラ予測の方法の第1の態様であって、ブロックは、PLANARイントラ予測モードを使用して予測され、(参照ラインインデックスなどの)イントラ予測参照ラインインデックスに基づくかまたはそれに応じた参照サンプルフィルタの選択と、((選択されるかまたは単一の)上の参照サンプルラインおよび/または(選択されるかまたは単一の)左の参照サンプル列などの)参照サンプルのラインおよび/または列に、選択された参照サンプルフィルタを適用することと、(イントラ予測参照ラインインデックスに基づく、フィルタ処理された参照サンプルのラインおよび/または列からの参照サンプルの選択(または、決定)などの)フィルタ処理された参照サンプルのラインおよび/または列からの参照サンプルの選択(または、決定)を含む、ブロックをイントラ予測することとを含む。
第1の態様による方法の第2の態様であって、イントラ予測の結果に(PDPCなどの)位置依存予測コンビネーションを条件付きで適用することをさらに含む。
第1および第2の態様による方法の第3の態様であって、参照サンプルのラインおよび/または列が、(イントラ予測参照ラインインデックスまたは参照ラインインデックスなどの)refIdxによって示されるか、または参照サンプルのラインが、複数参照ラインのうちの(第1のrefIdxなどの)refIdxによって示される単一のラインであるか、または単一の列が、複数参照列のうちの参照サンプルの(第2のrefIdxなどの)refIdxによって示される1つの列である。
第1~第3の態様のうちのいずれか1つによる方法の第4の態様であって、ブロックが属するピクチャのためにSINGLE_TREE分割モードが選択され、方法は、(ISPフラグなどの)第1の表示の値に基づいて、予測されるべきブロックのルーマ成分をルーマサブブロックにスプリットすること、ルーマサブブロックに対してPDPCを適用することをスキップするが、コロケートされたクロマブロック(すなわち、予測されるべきブロックのクロマ成分)に対してPDPCを適用することを含む、イントラ予測の結果にPDPCを条件付きで適用するステップをさらに含む。
第1~第4の態様のうちのいずれか1つによる方法の第5の態様であって、ブロックが属するピクチャのためにSINGLE_TREE分割モードが選択され、
イントラ予測の結果にPDPCを条件付きで適用するステップは、
- イントラ予測参照ラインインデックスが非0であるとき、ブロックのルーマ成分にPDPCを適用すること、コロケートされたクロマブロックを予測し、かつ(コロケートされたクロマブロックのイントラ予測の結果などの)コロケートされたクロマブロック予測の結果にPDPCを適用するとき、イントラ予測参照ラインインデックスが0であるものと推測することを含む。
第1~第5の態様のうちのいずれか1つによる方法の第6の態様であって、ブロックのイントラ予測のためにDCイントラ予測モードが使用され、複数参照ライン予測が有効化され、イントラ予測参照ラインインデックスが非0である。
第1~第6の態様のうちのいずれか1つによる方法の第7の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインおよび/または列から導出され、DC値を導出するために、(左の参照サンプル列などの)参照ラインおよび/または参照列からいくつかの参照サンプルが選択され、参照サンプルの個数は、ブロックの幅に対応するか、または参照サンプルの個数は、ブロックの高さに等しい。
第1~第7の態様のうちのいずれかの方法の第8の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、DC値を導出するために、(上の参照サンプルラインなどの)参照ラインから複数の参照サンプルが選択され、複数の参照サンプルの個数は、ブロックの幅に等しいか、または複数の参照サンプルの個数は、ブロックの幅に対応する。
第1~第8の態様のうちのいずれかの方法の第9の態様であって、選択される参照サンプルは、連続する区間または連続する距離を形成し、すなわち、選択される参照サンプルの各々は、選択される参照サンプルでもある水平または垂直に隣接する近傍サンプルを有し、選択される参照サンプルのうちの2個だけが、選択される1個の近傍サンプルを有するが、選択される他の参照サンプルは、(近傍サンプルなどの)少なくとも2個の選択される参照サンプルを有する。
第1~第9の態様のうちのいずれかの方法の第10の態様であって、選択される参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定され、インデックスの各々は、整数値の範囲に属する整数値であり、インデックスは、参照サンプルの選択された列内または選択されたライン内の水平座標(x')または垂直座標(y')を指定する。
第1~第10の態様のうちのいずれかの方法の第11の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインから導出され、選択される一番上の参照サンプルは、ブロックの予測される左上のサンプルの位置まで垂直にオフセットされている。
第1~第11の態様のうちのいずれかの方法の第12の態様であって、オフセットの値は、イントラ予測参照ラインインデックスに対応するか、オフセットの値は、イントラ予測参照ラインインデックスに関連するか、またはオフセットの値は、イントラ予測参照ラインインデックスに等しい。
第1~第12の態様のうちのいずれかの方法の第13の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、選択される一番左の参照サンプルは、ブロックの予測される左上のサンプルの位置まで水平にオフセットされている。
第1~第13の態様のうちのいずれかの方法の第14の態様であって、オフセットの値は、イントラ予測参照ラインインデックスに対応するか、オフセットの値は、イントラ予測参照ラインインデックスに関連するか、またはオフセットの値は、イントラ予測参照ラインインデックスに等しい。
第1~第14の態様のうちのいずれかの方法の第15の態様であって、DC値(変数dcVal)が、予測されるべきブロックの左に位置する(左の参照サンプル列などの)参照サンプルのラインから導出され、選択される一番上の参照サンプルの((x1, y)のyなどの)垂直位置は、ブロックの予測される左上のサンプルの((x2, y)のyなどの)垂直位置に等しい。
第1~第15の態様のうちのいずれかの方法の第16の態様であって、DC値(変数dcVal)が、予測されるべきブロックの上に位置する(上の参照サンプルラインなどの)参照サンプルのラインから導出され、選択される一番左の参照サンプルの((x, y1)のxなどの)水平位置は、ブロックの予測される左上のサンプルの((x, y2)のxなどの)水平位置に等しい。
本開示は、態様の前の3つのセットの方法の態様ごとに組み合わせられる、以下のデバイス態様およびシステム態様を、さらに次のように提供する。
デコーダの態様であって、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うようにデコーダを構成する。
エンコーダの態様であって、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うようにエンコーダを構成する。
エンコーダの態様であって、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うための処理回路を備える。
デコーダ(30)の態様であって、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うための処理回路を備える。
コンピュータプログラム製品の態様であって、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うるためのプログラムコードを含む。
デコーダの態様であって、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うようにデコーダを構成する。
エンコーダの態様であって、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、プログラミングは、プロセッサによって実行されたとき、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法を行うようにエンコーダを構成する。
非一時的コンピュータ可読媒体の態様であって、コンピュータデバイスによって実行されたとき、上記に列挙した態様の3つのセットのうちのいずれか1つの第1~第16の態様のうちの、いずれか1つによる方法をコンピュータデバイスに行わせるプログラムコードを担持する。
最新技術のビデオコーディング(たとえば、多用途ビデオコーディング)は、VVC仕様ドラフトにおいて候補イントラ予測モードcandModeListとも呼ばれる最確モードリスト(MPM)の概念を使用してシグナリングされる、方向性イントラ予測モード、DCイントラ予測モード、およびplanarイントラ予測モードを含む。MRLが使用されている(参照ラインインデックスが非0である)とき、選択される参照ライン内の参照サンプルの異なる位置をDCイントラ予測モードおよびPlanarイントラ予測モードが使用することが起こる場合がある。
本発明の実施形態は、MRLと非方向性イントラ予測、すなわち、DCまたはPlanarとの調和を取り入れる。その調和は、参照サンプルセットを変換ブロックの左上のサンプルの位置と位置合わせすることからなる。
本発明の実施形態の背後の論理的根拠のうちの1つは、DCモードとPlanarモードの両方がMPM(最確モード)リストの中で表されることを可能にする、MPMリスト導出の統合である。この統合は、ハードウェア実装とソフトウェア実装の両方にとって有益となる、条件付き分岐の総数を減らすことによって、MPMの中でシグナリングされるモードの処理をより規則的にさせる。
以下のことは、符号化方法、ならびに上述の実施形態に示すような復号方法、およびそれらを使用するシステムの、適用例の説明である。
図17は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、キャプチャデバイス3102、端末デバイス3106を含み、ディスプレイ3126を任意選択で含む。キャプチャデバイス3102は、通信リンク3104を介して端末デバイス3106と通信する。通信リンクは、上記で説明した通信チャネル13を含んでよい。通信リンク3104は、限定はしないが、WIFI、Ethernet、ケーブル、ワイヤレス(3G/4G/5G)、USB、またはそれらの任意の種類の組合せなどを含む。
キャプチャデバイス3102は、データを生成し、上記の実施形態で示すような符号化方法によってデータを符号化し得る。あるいは、キャプチャデバイス3102は、ストリーミングサーバ(図に示さず)にデータを配信してよく、サーバは、データを符号化し、符号化データを端末デバイス3106へ送信する。キャプチャデバイス3102は、限定はしないが、カメラ、スマートフォンもしくはパッド、コンピュータもしくはラップトップ、ビデオ会議システム、PDA、車両搭載型デバイス、またはそれらのうちのいずれかの組合せなどを含む。たとえば、キャプチャデバイス3102は、上記で説明したようなソースデバイス12を含んでよい。データがビデオを含むとき、キャプチャデバイス3102の中に含まれるビデオエンコーダ20が、実際にビデオ符号化処理を行い得る。データがオーディオ(すなわち、音声)を含むとき、キャプチャデバイス3102の中に含まれるオーディオエンコーダが、実際にオーディオ符号化処理を行い得る。いくつかの実際的なシナリオに対して、キャプチャデバイス3102は、符号化されたビデオおよびオーディオデータを、それらを一緒に多重化することによって配信する。他の実際的なシナリオに対して、たとえば、ビデオ会議システムでは、符号化オーディオデータおよび符号化ビデオデータは多重化されない。キャプチャデバイス3102は、符号化オーディオデータおよび符号化ビデオデータを端末デバイス3106に別々に配信する。
コンテンツ供給システム3100において、端末デバイス310は、符号化データを受信および再生する。端末デバイス3106は、上述の符号化データを復号することが可能な、スマートフォンもしくはパッド3108、コンピュータもしくはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、セットトップボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、携帯情報端末(PDA)3122、車両搭載型デバイス3124、またはそれらのうちのいずれかの組合せなどの、データ受信および復元能力を有するデバイスであり得る。たとえば、端末デバイス3106は、上記で説明したような宛先デバイス14を含んでよい。符号化データがビデオを含むとき、端末デバイスの中に含まれるビデオデコーダ30は、ビデオ復号を行うように優先させられる。符号化データがオーディオを含むとき、端末デバイスの中に含まれるオーディオデコーダは、オーディオ復号処理を行うように優先させられる。
そのディスプレイを有する端末デバイス、たとえば、スマートフォンもしくはパッド3108、コンピュータもしくはラップトップ3110、ネットワークビデオレコーダ(NVR)/デジタルビデオレコーダ(DVR)3112、TV3114、携帯情報端末(PDA)3122、または車両搭載型デバイス3124の場合、端末デバイスは、そのディスプレイに復号データを供給することができる。ディスプレイが装備されない端末デバイス、たとえば、STB3116、ビデオ会議システム3118、またはビデオ監視システム3120の場合、復号データを受信および表示するために外部ディスプレイ3126がそこに接触される。
このシステムの中の各デバイスが符号化または復号を行うとき、上述の実施形態に示すようなピクチャ符号化デバイスまたはピクチャ復号デバイスが使用され得る。
図18は、端末デバイス3106の一例の構造を示す図である。端末デバイス3106がキャプチャデバイス3102からストリームを受信した後、プロトコル進行ユニット3202がストリームの伝送プロトコルを分析する。プロトコルは、限定はしないが、リアルタイムストリーミングプロトコル(RTSP)、ハイパーテキスト転送プロトコル(HTTP)、HTTPライブストリーミングプロトコル(HLS)、MPEG-DASH、リアルタイムトランスポートプロトコル(RTP)、リアルタイムメッセージングプロトコル(RTMP)、またはそれらの任意の種類の組合せなどを含む。
プロトコル進行ユニット3202がストリームを処理した後、ストリームファイルが生成される。ファイルは多重化解除ユニット3204に出力される。多重化解除ユニット3204は、多重化されたデータを符号化オーディオデータおよび符号化ビデオデータに分離することができる。上記で説明したように、いくつかの実際的なシナリオに対して、たとえば、ビデオ会議システムでは、符号化オーディオデータおよび符号化ビデオデータは多重化されない。この状況では、符号化データは、多重化解除ユニット3204を通すことなくビデオデコーダ3206およびオーディオデコーダ3208へ送信される。
多重化解除処理を介して、ビデオエレメンタリストリーム(ES:Elementary Stream)、オーディオES、および任意選択でサブタイトルが生成される。上述の実施形態で説明したようなビデオデコーダ30を含むビデオデコーダ3206は、上述の実施形態で示すような復号方法によってビデオESを復号してビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESを復号してオーディオフレームを生成し、このデータを同期ユニット3212に供給する。あるいは、ビデオフレームは、それを同期ユニット3212に供給する前にバッファ(図18に示さず)の中に記憶され得る。同様に、オーディオフレームは、それを同期ユニット3212に供給する前にバッファ(図18に示さず)の中に記憶され得る。
同期ユニット3212は、ビデオフレームとオーディオフレームとを同期させ、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。たとえば、同期ユニット3212は、ビデオの提示とオーディオ情報とを同期させる。情報は、コーディングされたオーディオおよびビジュアルデータの提示に関係するタイムスタンプ、ならびにデータストリーム自体の配信に関係するタイムスタンプを使用して、シンタックスの中コーディングされ得る。
ストリームの中にサブタイトルが含まれる場合、サブタイトルデコーダ3210が、サブタイトルを復号し、それをビデオフレームおよびオーディオフレームと同期させ、ビデオ/オーディオ/サブタイトルをビデオ/オーディオ/サブタイトルディスプレイ3216に供給する。
本発明は上述のシステムに限定されず、上述の実施形態におけるピクチャ符号化デバイスまたはピクチャ復号デバイスのいずれかは、他のシステム、たとえば、自動車システムの中に組み込まれ得る。
数学演算子
本出願において使用される数学演算子は、Cプログラミング言語において使用されるものと類似である。しかしながら、整数除算および算術シフト演算の結果がより精密に定義され、累乗および実数値除算などの追加の演算が定義される。番号付けおよび計数の規則は、一般的に、0から始まり、たとえば、「第1」が0番目に相当し、「第2」が1番目に相当するなどである。
算術演算子
以下の算術演算子は以下のように定義される。
Figure 0007314300000019
論理演算子
以下の論理演算子は以下のように定義される。
x && y xとyとの、ブール論理の「論理積」。
x || y xとyとの、ブール論理の「論理和」。
! ブール論理の「否定」。
x ? y : z xが真、すなわち0に等しくない場合、yの値を求め、そうでない場合、zの値を求める。
関係演算子
以下の関係演算子は以下のように定義される。
> よりも大きい。
>= 以上。
< よりも小さい。
<= 以下。
== 等しい。
!= 等しくない。
値「na」(適用不可)が割り当てられているシンタックス要素または変数に関係演算子が適用されるとき、値「na」は、そのシンタックス要素または変数に対する特異な値として扱われる。値「na」は、いかなる他の値にも等しくないものと見なされる。
ビット単位演算子
以下のビット単位演算子は以下のように定義される。
& ビット単位の「論理積」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。他の引数よりも少ないビットを含む2進数の引数に対して演算するとき、短い方の引数は、0に等しいさらなる有効ビットを追加することによって拡張される。
| ビット単位の「論理和」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。他の引数よりも少ないビットを含む2進数の引数に対して演算するとき、短い方の引数は、0に等しいさらなる有効ビットを追加することによって拡張される。
^ ビット単位の「排他的論理和」。整数の引数に対して演算するとき、整数値の2の補数表現に対して演算する。他の引数よりも少ないビットを含む2進数の引数に対して演算するとき、短い方の引数は、0に等しいさらなる有効ビットを追加することによって拡張される。
x >> y xの2の補数整数表現の、2進数のy桁だけの算術右シフト。この関数は、yの非負の整数値のみに対して定義される。右シフトの結果として最上位ビット(MSB)の中にシフトされるビットは、そのシフト演算の前のxのMSBに等しい値を有する。
x << y xの2の補数整数表現の、2進数のy桁だけの算術左シフト。この関数は、yの非負の整数値のみに対して定義される。左シフトの結果として最下位ビット(LSB)の中にシフトされるビットは、0に等しい値を有する。
割当て演算子
以下の算術演算子は以下のように定義される。
= 割当て演算子。
++ インクリメント、すなわち、x++はx = x + 1に相当し、アレイインデックスにおいて使用されるとき、インクリメント演算の前の変数の値を評価する。
-- デクリメント、すなわち、x--はx = x - 1に相当し、アレイインデックスにおいて使用されるとき、デクリメント演算の前の変数の値を評価する。
+= 指定された量だけのインクリメント、すなわち、x += 3はx = x + 3に相当し、x += (-3)はx = x + (-3)と等価である。
-= 指定された量だけのデクリメント、すなわち、x -= 3はx = x - 3に相当し、x -= (-3)はx = x - (-3)に相当する。
範囲表記法
値の範囲を指定するために以下の表記法が使用される。
x=y..z xは、yから始まりzまでの(両端値を含む)整数値をとり、x、y、およびzは整数であり、zはyよりも大きい。
数学関数
以下の数学関数が定義される。
Figure 0007314300000020
Asin( x ) -1.0~1.0(両端値を含む)という範囲の中にある引数xに対して演算し、ラジアンの単位での-π÷2~π÷2(両端値を含む)という範囲の中の出力値を有する、三角法の逆正弦関数。
Atan( x ) 引数xに対して演算し、ラジアンの単位での-π÷2~π÷2(両端値を含む)という範囲の中の出力値を有する、三角法の逆正接関数。
Figure 0007314300000021
Ceil( x ) x以上の最小の整数。
Clip1Y( x ) = Clip3( 0, ( 1 << BitDepthY ) - 1, x )
Clip1C( x ) = Clip3( 0, ( 1 << BitDepthC ) - 1, x )
Figure 0007314300000022
Cos(x) ラジアンの単位での引数xに対して演算する、三角法の余弦関数。
Floor(x ) x以下の最大の整数。
Figure 0007314300000023
Ln(x) xの自然対数(eを底とする対数、ただし、eは自然対数の底定数、2.718 281 828...である)。
Log2( x ) 2を底とするxの対数。
Log10( x ) 10を底とするxの対数。
Figure 0007314300000024
Round( x ) = Sign( x ) * Floor( Abs( x ) + 0.5 )
Figure 0007314300000025
Sin(x) ラジアンの単位での引数xに対して演算する、三角法の正弦関数。
Figure 0007314300000026
Swap( x, y ) = ( y, x )
Tan(x) ラジアンの単位での引数xに対して演算する、三角法の正接関数。
演算優先順位の順序
式における優先順位の順序が丸括弧の使用によって明示的には示されないとき、以下の規則が適用される。
- より高い優先順位の演算は、より低い優先順位の任意の演算の前に評価される。
- 同じ優先順位の演算は、左から右へ連続的に評価される。
以下のTableは、最高から最低までの演算の優先順位を指定し、表の中のより高い位置がより高い優先順位を示す。
Cプログラミング言語においても使用されるsorerano
演算子に対して、本明細書において使用される優先順位の順序は、Cプログラミング言語において使用されるのと同じである。
Figure 0007314300000027
論理演算のテキスト記述
テキストの中で、以下の形式で数学的に記述されることになるような論理演算のステートメント、すなわち、
if( 条件0 )
ステートメント0
else if( 条件1 )
ステートメント1
...
else /* 残りの条件における報知的な言及 */
ステートメントn
は、以下のようにして説明され得る。
...以下のように/...以下が適用される
- 条件0の場合、ステートメント0
- そうではなく、条件1の場合、ステートメント1
- ...
- 他の場合(残りの条件における報知的な言及)、ステートメントn
テキストの中の各「...の場合、そうではなく...の場合、他の場合...」というステートメントは、「...以下のように」または「...以下が適用される」およびその直後に来る「...の場合」とともに導入される。「...の場合、そうではなく...の場合、他の場合...」の最後の条件は、常に「他の場合...」である。交互に配置された「...の場合、そうではなく...の場合、他の場合...」というステートメントは、「...以下のように」または「...以下が適用される」を、終わりに来る「他の場合...」に整合させることによって識別され得る。
テキストの中で、以下の形式で数学的に記述されることになるような論理演算のステートメント、すなわち、
if( 条件0a && 条件0b )
ステートメント0
else if( 条件1a || 条件1b )
ステートメント1
...
else
ステートメントn
は、以下のようにして説明され得る。
...以下のように/...以下が適用される
- 次の条件のすべてが真である場合、ステートメント0:
- 条件0a
- 条件0b
- そうではなく、以下の条件のうちの1つまたは複数が真である場合、ステートメント1:
- 条件1a
- 条件1b
- ...
- 他の場合、ステートメントn
テキストの中で、以下の形式で数学的に記述されることになるような論理演算のステートメント、すなわち、
if( 条件0 )
ステートメント0
if( 条件1 )
ステートメント1
は、以下のようにして説明され得る。
条件0のとき、ステートメント0
条件1のとき、ステートメント1
本発明の実施形態はビデオコーディングに基づいて主に説明されているが、コーディングシステム10、エンコーダ20、およびデコーダ30(かつ、それに対応して、システム10)の実施形態、ならびに本明細書で説明する他の実施形態がまた、静止画処理または静止画コーディング、すなわち、ビデオコーディングにおけるような任意の先行するかまたは連続したピクチャから独立した、個々のピクチャの処理またはコーディングのために構成され得ることに留意されたい。概して、ピクチャ処理コーディングが単一のピクチャ17に限定される場合には、インター予測ユニット244(エンコーダ)および344(デコーダ)だけは利用可能でなくてよい。ビデオエンコーダ20およびビデオデコーダ30のすべての他の機能(ツールまたは技術とも呼ばれる)は、静止画処理、たとえば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、分割262/362、イントラ予測254/354、および/またはループフィルタ処理220、320、ならびにエントロピーコーディング270およびエントロピー復号304のために、等しく使用され得る。
たとえば、エンコーダ20およびデコーダ30の実施形態、ならびに、たとえば、エンコーダ20およびデコーダ30を参照しながら本明細書で説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてよく、または通信媒体を介して送信されてもよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から他の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明する技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であってよい。コンピュータプログラム製品がコンピュータ可読媒体を含んでよい。
例として、かつ非限定的に、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る、任意の他の媒体を含むことができる。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の均等な集積論理回路構成もしくは個別論理回路構成などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造または本明細書で説明する技法を実施するのに適している任意の他の構造のうちのいずれかを指してよい。加えて、いくつかの態様では、本明細書で説明する機能は、符号化および復号するために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内で提供され得るか、または組み合わせられたコーデックの中に組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素の中で完全に実施され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置の中で実施され得る。様々な構成要素、モジュール、またはユニットは、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されるが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、コーデックハードウェアユニットの中で組み合わせられてよく、あるいは上記で説明したような1つまたは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって、好適なソフトウェアおよび/またはファームウェアとともに提供されてよい。
10 ビデオコーディングシステム
12 ソースデバイス
13 通信チャネル
14 宛先デバイス
16 ピクチャソース
17 ピクチャ
18 プリプロセッサ
19 前処理済みのピクチャデータ
20 エンコーダ
21 符号化されたピクチャデータ
22 通信インターフェース
28 通信インターフェース
30 デコーダ
31 復号されたピクチャデータ
32 ポストプロセッサ
33 後処理されたピクチャデータ
34 ディスプレイデバイス
40 ビデオコーディングシステム
41 イメージングデバイス
42 アンテナ
43 プロセッサ
44 メモリストア
45 ディスプレイデバイス
46 処理回路構成
201 入力部、入力インターフェース
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック、残差
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化係数、量子化変換係数、量子化残差係数
210 逆量子化ユニット
211 逆量子化係数、逆量子化残差係数
212 逆変換処理ユニット
213 再構成残差ブロック、変換ブロック
214 再構成ユニット
215 再構成ブロック
216 バッファ
220 ループフィルタユニット、ループフィルタ、ループフィルタ処理
221 フィルタ処理済みのブロック、フィルタ処理済みの再構成ブロック
230 復号ピクチャバッファ(DPB)
231 復号ピクチャ
244 インター予測ユニット
254 イントラ予測ユニット
260 モード選択ユニット
262 分割ユニット
265 インター予測ブロック、予測子
266 シンタックス要素
270 エントロピー符号化ユニット、エントロピーコーディング
272 出力部、出力インターフェース
304 エントロピー復号ユニット、残差計算
309 量子化係数
310 逆量子化ユニット
311 変換係数、逆量子化係数
312 逆変換処理ユニット、出力部
313 再構成残差ブロック、変換ブロック
314 再構成ユニット、加算器
315 再構成ブロック
320 ループフィルタ
321 フィルタ処理済みのブロック、ビデオブロック
330 復号ピクチャバッファ(DBP)
331 復号ピクチャ
332 出力部
344 インター予測ユニット
354 イントラ予測ユニット
360 モード適用ユニット
362 分割
365 予測ブロック
366 シンタックス要素
400 ビデオコーディングデバイス
410 入口ポート、入力ポート
420 レシーバ・ユニット(Rx)
430 プロセッサ、論理ユニット、中央処理ユニット(CPU)
440 トランスミッタ・ユニット(Tx)
450 出口ポート、出力ポート
460 メモリ
470 コーディングモジュール
500 装置
502 プロセッサ
504 メモリ
506 コードおよびデータ
508 オペレーティングシステム
510 アプリケーションプログラム、アプリケーション
512 バス
514 2次ストレージ
518 ディスプレイ
2001 取得ユニット
2002 選択ユニット
2003 予測ユニット
3100 コンテンツ供給システム
3001 取得ユニット
3002 選択ユニット
3003 予測ユニット
3102 キャプチャデバイス
3104 通信リンク
3106 端末デバイス
3108 スマートフォン、パッド
3110 コンピュータ、ラップトップ
3112 ネットワークビデオレコーダ(NVR)、デジタルビデオレコーダ(DVR)
3114 TV
3116 セットトップボックス(STB)
3118 ビデオ会議システム
3120 ビデオ監視システム
3122 携帯情報端末(PDA)
3124 車両搭載型デバイス
3126 ディスプレイ、外部ディスプレイ
3202 プロトコル進行ユニット
3204 多重化解除ユニット
3206 ビデオデコーダ
3208 オーディオデコーダ
3210 サブタイトルデコーダ
3212 同期ユニット
3214 ビデオ/オーディオディスプレイ
3216 ビデオ/オーディオ/サブタイトルディスプレイ

Claims (42)

  1. ブロックのためのDCイントラ予測モードのイントラ予測の方法であって、
    変換ブロックのイントラ予測参照ラインインデックスの値を取得するステップと、
    参照ラインからの参照サンプルに基づいて前記変換ブロックの予測サンプルを取得するステップであって、前記参照ラインは、前記イントラ予測参照ラインインデックスの前記値によってインデックス付けされ、前記イントラ予測参照ラインインデックスの前記値は非0である、ステップと、
    を含み、
    前記変換ブロックの高さが前記変換ブロックの幅に等しいとき、前記予測サンプルを取得するために左の参照ラインからの参照サンプルと上の参照ラインからの参照サンプルの両方が使用され、
    前記変換ブロックの幅が前記変換ブロックの高さよりも大きいとき、前記予測サンプルを取得するために上の参照ラインからの参照サンプルだけが使用され、
    前記変換ブロックの高さが前記変換ブロックの幅よりも大きいとき、前記予測サンプルを取得するために左の参照ラインからの参照サンプルだけが使用される、
    方法。
  2. 前記イントラ予測参照ラインインデックスの前記値は、intra_luma_ref_idxによって示される、請求項1に記載の方法。
  3. 前記イントラ予測参照ラインインデックスの前記値を取得する前記ステップは、
    複数参照ライン(MRL)予測が有効化されているかどうかを決定するステップと、
    MRL予測が有効化されているとき、前記イントラ予測参照ラインインデックスの前記値を取得するステップとを含む、
    請求項1または2に記載の方法。
  4. 前記イントラ予測参照ラインインデックスの前記値は、1または2である、請求項1から3のいずれか一項に記載の方法。
  5. 前記上の参照ラインからの参照サンプルの個数は、前記変換ブロックの前記幅に対応する、請求項1から4のいずれか一項に記載の方法。
  6. 前記左の参照ラインからの参照サンプルの個数は、前記変換ブロックの前記高さに対応する、請求項1から5のいずれか一項に記載の方法。
  7. 前記参照サンプルは、前記参照ライン内の連続する区間または連続する距離を形成する、請求項1から6のいずれか一項に記載の方法。
  8. 前記参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定され、前記インデックスの各々は、整数値の範囲に属する整数値であり、前記インデックスは、それぞれ、前記参照ライン内の水平座標(x')または垂直座標(y')を指定する、請求項1から7のいずれか一項に記載の方法。
  9. オフセットは、一番左の参照サンプルの垂直インデックスと、前記変換ブロックの参照サンプルの左の列の予測される左上のサンプルの垂直位置との間の差分である、請求項8に記載の方法。
  10. オフセットは、一番上の参照サンプルの水平インデックスと、前記変換ブロックの参照サンプルの上の行の予測される左上のサンプルの水平位置との間の差分である、請求項8に記載の方法。
  11. 前記参照ラインの前記一番上の参照サンプルは、前記変換ブロックの前記予測される左上のサンプルの前記位置まで垂直にオフセットされている、請求項10に記載の方法。
  12. 前記参照ラインの前記一番左の参照サンプルは、前記変換ブロックの前記予測される左上のサンプルの前記位置まで水平にオフセットされている、請求項9に記載の方法。
  13. 前記オフセットの値は、前記イントラ予測参照ラインインデックスの前記値に等しい、請求項9から12のいずれか一項に記載の方法。
  14. 前記参照ラインの前記一番上の参照サンプルの垂直位置は、前記変換ブロックの前記予測される左上のサンプルの前記垂直位置に等しい、請求項10に記載の方法。
  15. 前記参照ラインの前記一番左の参照サンプルの水平位置は、前記変換ブロックの前記予測される左上のサンプルの前記水平位置に等しい、請求項9に記載の方法。
  16. 前記変換ブロックの前記予測サンプルは、
    x = 0.. nTbW - 1、y = 0.. nTbH - 1であるpredSamples[ x ][ y ] = dcVal
    によって取得され、
    nTbWがnTbHに等しいとき、前記変数dcValは、
    によって取得され、
    変数nTbWは、前記変換ブロックの幅を指定し、
    変数nTbHは、前記変換ブロックの高さを指定し、
    refIdxは、前記イントラ予測参照ラインインデックスを指定し、
    predSamples[x][y]は、前記変換ブロックの前記予測サンプルを指定する、
    請求項1から15のいずれか一項に記載の方法。
  17. 前記変換ブロックの前記予測サンプルは、
    x = 0.. nTbW - 1、y = 0.. nTbH - 1であるpredSamples[ x ][ y ] = dcVal
    によって取得され、
    nTbWがnTbHよりも大きいとき、前記変数dcValは、
    によって取得され、
    変数nTbWは、前記変換ブロックの幅を指定し、
    変数nTbHは、前記変換ブロックの高さを指定し、
    refIdxは、前記イントラ予測参照ラインインデックスを指定し、
    predSamples[x][y]は、前記変換ブロックの前記予測サンプルを指定する、
    請求項1から15のいずれか一項に記載の方法。
  18. 前記変換ブロックの前記予測サンプルは、
    x = 0.. nTbW - 1、y = 0.. nTbH - 1であるpredSamples[ x ][ y ] = dcVal
    によって取得され、
    nTbHがnTbWよりも大きいとき、前記変数dcValは、
    によって取得され、
    変数nTbWは、前記変換ブロックの幅を指定し、
    変数nTbHは、前記変換ブロックの高さを指定し、
    refIdxは、前記イントラ予測参照ラインインデックスを指定し、
    predSamples[x][y]は、前記変換ブロックの前記予測サンプルを指定する、
    請求項1から15のいずれか一項に記載の方法。
  19. デコーダ(30)であって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され前記プロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、前記プログラミングは、前記プロセッサによって実行されたとき、前記デコーダを請求項1から18のいずれか一項に記載の方法を行うように構成する、
    デコーダ。
  20. エンコーダ(20)であって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され前記プロセッサによる実行のためのプログラミングを記憶する非一時的コンピュータ可読記憶媒体とを備え、前記プログラミングは、前記プロセッサによって実行されたとき、前記エンコーダを請求項1から18のいずれか一項に記載の方法を行うように構成する、
    エンコーダ。
  21. 請求項1から18のいずれか一項に記載の方法を行うための処理回路を備えるエンコーダ(20)。
  22. 請求項1から18のいずれか一項に記載の方法を行うための処理回路を備えるデコーダ(30)。
  23. 請求項1から18のいずれか一項に記載の方法を行うためのプログラムコードを含むコンピュータプログラム。
  24. コンピュータデバイスによって実行されたとき、請求項1から18のいずれか一項に記載の方法を前記コンピュータデバイスに行わせる、プログラムコードを記憶する非一時的コンピュータ可読記憶媒体。
  25. エンコーダ(20)またはデコーダ(30)である装置であって、
    変換ブロックのイントラ予測参照ラインインデックスの値を取得するように構成された取得ユニット(2001;3001)と、
    参照ラインからの参照サンプルに基づいて前記変換ブロックの予測サンプルを取得するように構成された予測ユニット(2003;3003)であって、前記参照ラインは、前記イントラ予測参照ラインインデックスの前記値によってインデックス付けされ、前記イントラ予測参照ラインインデックスの前記値は非0である、予測ユニットと、
    を備え、
    前記変換ブロックの高さが前記変換ブロックの幅に等しいとき、前記予測サンプルを取得するために左の参照ラインからの参照サンプルと上の参照ラインからの参照サンプルの両方が使用され、
    前記変換ブロックの幅が前記変換ブロックの高さよりも大きいとき、前記予測サンプルを取得するために上の参照ラインからの参照サンプルだけが使用され、
    前記変換ブロックの高さが前記変換ブロックの幅よりも大きいとき、前記予測サンプルを取得するために左の参照ラインからの参照サンプルだけが使用される、
    装置。
  26. 前記イントラ予測参照ラインインデックスの前記値は、intra_luma_ref_idxによって示される、請求項25に記載の装置。
  27. 前記取得ユニットは、
    複数参照ライン(MRL)予測が有効化されているかどうかを決定すること、
    MRL予測が有効化されているとき、前記イントラ予測参照ラインインデックスの前記値を取得することを含む、
    前記イントラ予測参照ラインインデックスの前記値を取得するように構成される、
    請求項25または26に記載の装置。
  28. 前記イントラ予測参照ラインインデックスの前記値は、1または2である、請求項25から27のいずれか一項に記載の装置。
  29. 前記上の参照ラインからの参照サンプルの個数は、前記変換ブロックの前記幅に対応する、請求項25から28のいずれか一項に記載の装置。
  30. 前記左の参照ラインからの参照サンプルの個数は、前記変換ブロックの前記高さに対応する、請求項25から29のいずれか一項に記載の装置。
  31. 前記参照サンプルは、前記参照ライン内の連続する区間または連続する距離を形成する、請求項25から30のいずれか一項に記載の装置。
  32. 前記参照サンプルは、水平インデックスまたは垂直インデックスを指定することによって決定され、前記インデックスの各々は、整数値の範囲に属する整数値であり、前記インデックスは、それぞれ、前記参照ライン内の水平座標(x')または垂直座標(y')を指定する、請求項25から31のいずれか一項に記載の装置。
  33. オフセットは、一番左の参照サンプルの垂直インデックスと、前記変換ブロックの参照サンプルの左の列の予測される左上のサンプルの垂直位置との間の差分である、請求項32に記載の装置。
  34. オフセットは、一番上の参照サンプルの水平インデックスと、前記変換ブロックの参照サンプルの上の行の予測される左上のサンプルの水平位置との間の差分である、請求項32に記載の装置。
  35. 前記参照ラインの前記一番上の参照サンプルは、前記変換ブロックの前記予測される左上のサンプルの前記位置まで垂直にオフセットされている、請求項34に記載の装置。
  36. 前記参照ラインの前記一番左の参照サンプルは、前記変換ブロックの前記予測される左上のサンプルの前記位置まで水平にオフセットされている、請求項33に記載の装置。
  37. 前記オフセットの値は、前記イントラ予測参照ラインインデックスの前記値に等しい、請求項33から36のいずれか一項に記載の装置。
  38. 前記参照ラインの前記一番上の参照サンプルの垂直位置は、前記変換ブロックの前記予測される左上のサンプルの前記垂直位置に等しい、請求項34に記載の装置。
  39. 前記参照ラインの前記一番左の参照サンプルの水平位置は、前記変換ブロックの前記予測される左上のサンプルの前記水平位置に等しい、請求項33に記載の装置。
  40. 前記変換ブロックの前記予測サンプルは、
    x = 0.. nTbW - 1、y = 0.. nTbH - 1であるpredSamples[ x ][ y ] = dcVal
    によって取得され、
    nTbWがnTbHに等しいとき、前記変数dcValは、
    によって取得され、
    変数nTbWは、前記変換ブロックの幅を指定し、
    変数nTbHは、前記変換ブロックの高さを指定し、
    refIdxは、前記イントラ予測参照ラインインデックスを指定し、
    predSamples[x][y]は、前記変換ブロックの前記予測サンプルを指定する、
    請求項25から39のいずれか一項に記載の装置。
  41. 前記変換ブロックの前記予測サンプルは、
    x = 0.. nTbW - 1、y = 0.. nTbH - 1であるpredSamples[ x ][ y ] = dcVal
    によって取得され、
    nTbWがnTbHよりも大きいとき、前記変数dcValは、
    によって取得され、
    変数nTbWは、前記変換ブロックの幅を指定し、
    変数nTbHは、前記変換ブロックの高さを指定し、
    refIdxは、前記イントラ予測参照ラインインデックスを指定し、
    predSamples[x][y]は、前記変換ブロックの前記予測サンプルを指定する、
    請求項25から39のいずれか一項に記載の装置。
  42. 前記変換ブロックの前記予測サンプルは、
    x = 0.. nTbW - 1、y = 0.. nTbH - 1であるpredSamples[ x ][ y ] = dcVal
    によって取得され、
    nTbHがnTbWよりも大きいとき、前記変数dcValは、
    によって取得され、
    変数nTbWは、前記変換ブロックの幅を指定し、
    変数nTbHは、前記変換ブロックの高さを指定し、
    refIdxは、前記イントラ予測参照ラインインデックスを指定し、
    predSamples[x][y]は、前記変換ブロックの前記予測サンプルを指定する、
    請求項25から39のいずれか一項に記載の装置。
JP2021556566A 2019-03-21 2020-03-23 イントラ予測のための方法および装置 Active JP7314300B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962822047P 2019-03-21 2019-03-21
US62/822,047 2019-03-21
US201962832878P 2019-04-11 2019-04-11
US62/832,878 2019-04-11
PCT/RU2020/050055 WO2020190179A1 (en) 2019-03-21 2020-03-23 Method and apparatus for intra-prediction

Publications (2)

Publication Number Publication Date
JP2022526304A JP2022526304A (ja) 2022-05-24
JP7314300B2 true JP7314300B2 (ja) 2023-07-25

Family

ID=72521159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021556566A Active JP7314300B2 (ja) 2019-03-21 2020-03-23 イントラ予測のための方法および装置

Country Status (11)

Country Link
US (1) US20220007052A1 (ja)
EP (1) EP3932056A4 (ja)
JP (1) JP7314300B2 (ja)
KR (1) KR20210129729A (ja)
CN (2) CN113597761A (ja)
AU (1) AU2020240981A1 (ja)
BR (1) BR112021018515A2 (ja)
CA (1) CA3138231A1 (ja)
CL (1) CL2021002434A1 (ja)
MX (1) MX2021011369A (ja)
WO (1) WO2020190179A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210131425A (ko) * 2019-03-22 2021-11-02 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 모드 후보 리스트를 사용하는 영상 디코딩 방법 및 그 장치
US20220239906A1 (en) * 2021-01-26 2022-07-28 Beijing Dajia Internet Information Technology Co., Ltd. System and method for applying adaptive loop filter in video coding
US20220337875A1 (en) * 2021-04-16 2022-10-20 Tencent America LLC Low memory design for multiple reference line selection scheme
WO2023129918A1 (en) * 2021-12-28 2023-07-06 Innopeak Technology, Inc. Intra prediction with multiple reference lines
WO2023200249A1 (ko) * 2022-04-12 2023-10-19 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
WO2024005480A1 (ko) * 2022-06-29 2024-01-04 엘지전자 주식회사 다중 참조 라인에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020145775A1 (ko) 2019-01-13 2020-07-16 엘지전자 주식회사 Mrl 기반 인트라 예측을 수행하는 영상 코딩 방법 및 장치
WO2020171632A1 (ko) 2019-02-20 2020-08-27 엘지전자 주식회사 Mpm 리스트 기반 인트라 예측 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
CN109076241B (zh) * 2016-05-04 2023-06-23 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测
CN113873239A (zh) 2016-06-24 2021-12-31 株式会社Kt 用于处理视频信号的方法和设备
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10491893B1 (en) * 2018-08-29 2019-11-26 Tencent America LLC Method and apparatus for multi-line intra prediction
WO2020184637A1 (en) * 2019-03-12 2020-09-17 Sharp Kabushiki Kaisha Systems and methods for performing intra prediction coding in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020145775A1 (ko) 2019-01-13 2020-07-16 엘지전자 주식회사 Mrl 기반 인트라 예측을 수행하는 영상 코딩 방법 및 장치
WO2020171632A1 (ko) 2019-02-20 2020-08-27 엘지전자 주식회사 Mpm 리스트 기반 인트라 예측 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, et al.,CE3: Multiple reference line intra prediction (Test 1.1.1, 1.1.2, 1.1.3 and 1.1.4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0283-v2,12th Meeting: Macao, CN,2018年10月,pp.1-7
Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M1001 (version 7),13th Meeting: Marrakech, MA,2019年03月17日,pp.87-97,111-113,115-116,127-129
Jiahao Li, et al.,Multiple line-based intra prediction,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-C0071,JVET-C0071,2016年05月,pp.1-6

Also Published As

Publication number Publication date
US20220007052A1 (en) 2022-01-06
JP2022526304A (ja) 2022-05-24
WO2020190179A1 (en) 2020-09-24
CN113597761A (zh) 2021-11-02
EP3932056A4 (en) 2022-08-03
MX2021011369A (es) 2021-11-12
CA3138231A1 (en) 2020-09-24
AU2020240981A1 (en) 2021-10-28
CN114125468A (zh) 2022-03-01
NZ780730A (en) 2023-10-27
KR20210129729A (ko) 2021-10-28
CL2021002434A1 (es) 2022-04-29
BR112021018515A2 (pt) 2021-11-23
EP3932056A1 (en) 2022-01-05

Similar Documents

Publication Publication Date Title
JP7106744B2 (ja) ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法
US20210344915A1 (en) Encoder, a decoder and corresponding methods of intra prediction
US11070799B2 (en) Encoder, decoder and corresponding methods for intra prediction
JP7332703B2 (ja) クロマサブブロックのアフィンベースのインター予測のための方法及び装置
JP7314300B2 (ja) イントラ予測のための方法および装置
CA3122137C (en) An encoder, a decoder and corresponding methods of boundary strength derivation of deblocking filter
AU2020318106B2 (en) An encoder, a decoder and corresponding methods related to intra prediction mode
US11876997B2 (en) Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction
EP3939263A1 (en) Method and apparatus for intra smoothing
AU2024201152A1 (en) An encoder, a decoder and corresponding methods using intra mode coding for intra prediction
EP3895418A1 (en) An encoder, a decoder and corresponding methods for local illumination compensation
WO2021057755A1 (en) An encoder, a decoder and corresponding methods of complexity reduction on intra prediction for the planar mode
WO2020182079A1 (en) An encoder, a decoder and corresponding methods using intra mode coding for intra prediction
NZ780730B2 (en) Method and apparatus for intra-prediction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230712

R150 Certificate of patent or registration of utility model

Ref document number: 7314300

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150