JP2020502925A - ビデオコーディングのためのサンプルアクセスを伴う線形モデル予測モード - Google Patents

ビデオコーディングのためのサンプルアクセスを伴う線形モデル予測モード Download PDF

Info

Publication number
JP2020502925A
JP2020502925A JP2019532690A JP2019532690A JP2020502925A JP 2020502925 A JP2020502925 A JP 2020502925A JP 2019532690 A JP2019532690 A JP 2019532690A JP 2019532690 A JP2019532690 A JP 2019532690A JP 2020502925 A JP2020502925 A JP 2020502925A
Authority
JP
Japan
Prior art keywords
luma
block
samples
sample
luma samples
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019532690A
Other languages
English (en)
Other versions
JP2020502925A5 (ja
JP7069171B2 (ja
Inventor
ジャン、カイ
チェン、ジャンレ
ジャン、リ
カルチェビチ、マルタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2020502925A publication Critical patent/JP2020502925A/ja
Publication of JP2020502925A5 publication Critical patent/JP2020502925A5/ja
Application granted granted Critical
Publication of JP7069171B2 publication Critical patent/JP7069171B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/186Methods 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 a colour or a chrominance component
    • 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

Landscapes

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

Abstract

線形モデル(LM)予測モードについての技法が説明される。1つまたは複数の例では、ビデオエンコーダまたはビデオデコーダが、ダウンサンプリングのためにフェッチされる隣接するルーマサンプルの数を制限し得、それによって、ビデオエンコーダまたはビデオデコーダが、LM予測符号化または復号を完了させることが可能な速度を増大させる。

Description

関連出願の説明
[0001]本願は、2016年12月19日に出願された米国特許仮出願第62/436,319号の利益を主張し、その内容全体が参照により本明細書に組み込まれる。
[0002]本開示は、ビデオ符号化および復号に関する。
[0003]デジタルビデオ能力は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲーム機、セルラ式または衛星無線電話、いわゆる「スマートフォン」、ビデオテレビ会議デバイス、ビデオストリーミングデバイス、および同様のものを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、パート10、アドバンストビデオコーディング(AVC)によって定義される規格、現在開発中の高効率ビデオコーディング(HEVC)規格、およびそのような規格の拡張に記載されているものなどの、ビデオ圧縮技法をインプリメントする。ビデオデバイスは、このようなビデオ圧縮技法をインプリメントすることによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測(prediction)を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)が、ビデオブロックに区分化され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ内の参照サンプルに対する時間的予測を使用し得る。空間的または時間的予測は、コーディングされるべきブロックについての予測ブロック(predictive block)をもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの間の差分を示す。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差係数が得られ得、その後、それは量子化され得る。
[0005]一般に、本開示の態様は、線形モデル(LM:linear-model)予測モードのために、隣接するルーマサンプルをダウンサンプリングするための技法に向けられる。より詳細に説明されるように、ビデオエンコーダまたはビデオデコーダは、LM予測モードでクロマ予測ブロックを構成(constructing)するためのダウンサンプリングの一部として、隣接するルーマサンプルをフェッチするように構成(configured)され得る。いくつかの例では、ビデオエンコーダまたはビデオデコーダは、LM予測モードでクロマ予測ブロックを構成するためのダウンサンプリングの一部として、ある特定の(certain)隣接するルーマサンプルをフェッチしないように構成され得る。ある特定の隣接するルーマサンプルをフェッチしないことによって、例となる技法は、効率的な処理およびメモリ帯域幅利用を促進し得る。
[0006]一例では、本開示は、ビデオデータを復号する方法を説明し、方法は、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプルを備え、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し(exclude luma samples that are above and left of a top-left luma sample of the luma block)、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされた(downsampled)ルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号することとを備える。
[0007]一例では、本開示は、ビデオデータを復号するためのデバイスを説明し、デバイスは、ビデオデータメモリと、固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオデコーダとを備える。ビデオデコーダは、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをビデオデータメモリからフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプルを備え、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号することとを行うように構成される。
[0008]一例では、本開示は、ビデオデータを符号化する方法を説明し、方法は、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプルを備え、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化することとを備える。
[0009]一例では、本開示は、ビデオデータを符号化するためのデバイスを説明し、デバイスは、ビデオデータメモリと、固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオエンコーダとを備える。ビデオエンコーダは、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをビデオデータメモリからフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプルを備え、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、決定された隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化することとを行うように構成される。
[0010]一例では、本開示は、ビデオデータを復号する方法を説明し、方法は、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを備え、ルーマブロックからしきい値数のサンプルよりも左にあり(more than a threshold number of samples left)かつルーマブロックの左上ルーマサンプルより下にある(and below a top-left luma sample of the luma block)ルーマサンプルを除外し、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にある(that is the threshold number of samples left of)ダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号することとを備える。
[0011]一例では、本開示は、ビデオデータを復号するためのデバイスを説明し、デバイスは、ビデオデータメモリと、固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオデコーダとを備える。ビデオデコーダは、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを備え、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号することとを行うように構成される。
[0012]一例では、本開示は、ビデオデータを符号化する方法を説明し、方法は、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを備え、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化することとを備える。
[0013]一例では、本開示は、ビデオデータを符号化するためのデバイスを説明し、デバイスは、ビデオデータメモリと、固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオエンコーダとを備える。ビデオエンコーダは、クロマブロックに対応するルーマブロックを決定することと、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチすることと、ここにおいて、フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを備え、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化することとを行うように構成される。
[0014]本開示の1つまたは複数の態様の詳細は、添付の図面および以下の説明において示される。本開示の他の特徴、目的、および利点が、説明および図面から、および特許請求の範囲から明らかになるであろう。
[0015]図1は、本開示で説明される技法を利用し得る、例となるビデオコーディングシステムを例示するブロック図である。 [0016]図2は、本開示で説明される技法をインプリメントし得る、例となるビデオエンコーダを例示するブロック図である。 [0017]図3は、本開示で説明される技法をインプリメントし得る、例となるビデオデコーダを例示するブロック図である。 [0018]図4は、ルーマおよびクロマサンプルの公称垂直方向および水平方向の相対的なロケーション(nominal vertical and horizontal relative locations)を例示する概念図である。 [0019]図5は、ダウンサンプリングされた、再構成されたルーマブロックをスケーリングするために使用されるスケーリングパラメータが導出される、例となるロケーションを例示する概念図である。 [0020]図6は、予測ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の例を例示する概念図である。 [0021]図7は、予測ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の別の例を例示する概念図である。 [0022]図8Aは、ダウンサンプリングにおいて使用される隣接するサンプルを例示する概念図である。 [0022]図8Bは、ダウンサンプリングにおいて使用される隣接するサンプルを例示する概念図である。 [0022]図8Cは、ダウンサンプリングにおいて使用される隣接するサンプルを例示する概念図である。 [0022]図8Dは、ダウンサンプリングにおいて使用される隣接するサンプルを例示する概念図である。 [0023]図9は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。 [0024]図10は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。 [0025]図11Aは、異なる位置におけるダウンサンプリングされたサンプルについての異なるフィルタ長を例示する概念図である。 [0025]図11Bは、異なる位置におけるダウンサンプリングされたサンプルについての異なるフィルタ長を例示する概念図である。 [0026]図12Aは、パディングされたサンプルを用いたフィルタリングを例示する概念図である。 [0026]図12Bは、パディングされたサンプルを用いたフィルタリングを例示する概念図である。 [0027]図13は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。 [0028]図14は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。 [0029]図15Aは、異なる位置におけるダウンサンプリングされたサンプルについての異なるフィルタ長を例示する概念図である。 [0029]図15Bは、異なる位置におけるダウンサンプリングされたサンプルについての異なるフィルタ長を例示する概念図である。 [0030]図16Aは、パディングされたサンプルを用いたフィルタリングを例示する概念図である。 [0030]図16Bは、パディングされたサンプルを用いたフィルタリングを例示する概念図である。 [0031]図17は、現在のブロックの隣接ブロックを例示する概念図である。 [0032]図18は、ビデオデータを復号する例となる方法を例示するフローチャートである。 [0033]図19は、ビデオデータを符号化する例となる方法を例示するフローチャートである。
詳細な説明
[0034]本開示は、ビデオコーディングおよび圧縮のための技法を説明する。特に、本開示は、線形モデル(LM)予測ビデオコーディングモードのための技法を説明する。LM予測ビデオコーディングモードでは、クロマブロックは、スケーリングされた、ダウンサンプリングされた、再構成された対応するルーマブロックから予測される(すなわち、このスケーリングされた、ダウンサンプリングされた、再構成された対応するルーマブロックは、クロマブロックを予測するために使用される予測ブロックを形成する)。
[0035]いくつかの例では、再構成された対応するルーマブロックのダウンサンプリングは、フィルタリングを含む。本開示は、このようなフィルタリングを実行するための例となる方法を説明する。さらに、本開示で説明される技法はまた、LM予測モードで使用されるルーマサンプルが、異なるタイルに位置する状況にも適用し得る。
[0036]したがって、本開示で説明される技法は、線形モデル(LM)予測モードに関し、これは、ビデオコーディングにおける成分間の冗長性(inter component redundancy)を低減させるために使用される。本開示で説明される技法は、高効率ビデオコーディング(HEVC)ビデオコーディング規格の拡張または次世代のビデオコーディング規格のような、アドバンストビデオコーデックのコンテキストにおいて使用され得る。
[0037]LM予測符号化または復号を実行する際に、ビデオエンコーダまたはビデオデコーダは、それぞれ、ダウンサンプリングするために、ビデオデータメモリから隣接するルーマサンプルをフェッチして、ダウンサンプリングされた対応するルーマブロックをスケーリングするために使用されるスケーリングパラメータを決定する。隣接するルーマサンプルをダウンサンプリングするために使用されるフィルタタイプが、(例えば、コーディング回路のローカルメモリに)ローカルに記憶された隣接するルーマサンプルの範囲外にある隣接するルーマサンプルを使用する場合、処理時間およびメモリ帯域幅は、ビデオエンコーダまたはビデオデコーダが外部メモリからルーマサンプルを取り出すことによって浪費され得る。例えば、一般的なビデオコーディングではなく、ビデオコーディングの技術においては、LM予測モード動作を実行することが、追加の処理時間およびメモリ帯域幅を必要とし得る、メモリからルーマサンプル値をフェッチすることを必要とするという問題が存在し得る。本開示は、比較的高い量の処理時間およびメモリ帯域幅を必要とするであろうフェッチされるサンプル値の数を低減させるための例を説明する。
[0038]例として、ダウンサンプリングを実行するための隣接するルーマサンプルをフェッチする際に、ビデオエンコーダおよびビデオデコーダは、ある特定のルーマサンプル(例えば、ローカルメモリに記憶されていないルーマサンプルまたはまだ生成されていないルーマサンプル)を、フェッチすることから除外し得る。このようにして、一例では、フェッチすることは、ビデオエンコーダおよびビデオデコーダが、非ローカルメモリにアクセスすることを引き起こさない。むしろ、この例では、ビデオエンコーダまたはビデオデコーダは、例えば、LM予測モード動作における使用のために、ローカルメモリからのルーマサンプルのみをフェッチする。
[0039]いくつかの例では、ビデオエンコーダおよびビデオデコーダは、異なるフィルタを使用してダウンサンプリングを実行するように構成され得る。例えば、ビデオエンコーダおよびビデオデコーダは、除外される隣接するルーマサンプルのいずれも、第1のフィルタに従ってダウンサンプリングするために必要でないとき、第1のフィルタを適用し得る。しかしながら、第1のフィルタを適用することが、除外されたルーマサンプルをフェッチすることを必要とするであろう場合、ビデオエンコーダおよびビデオデコーダは、第1のフィルタとは異なる第2のフィルタを適用し得る。
[0040]図1は、本開示の技法を利用し得る、例となるビデオコーディングシステム10を例示するブロック図である。本明細書で使用される場合、「ビデオコーダ」という用語は、総称的に、ビデオエンコーダおよびビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的に、ビデオ符号化またはビデオ復号を指し得る。ビデオコーディングシステム10のビデオエンコーダ20およびビデオデコーダ30は、本開示で説明される様々な例に従って、線形モデル(LM)予測ベースのビデオコーディングのための技法を実行するように構成され得るデバイスの例を表す。例えば、ビデオエンコーダ20およびビデオデコーダ30は、本開示で説明されるように、対応するルーマブロックのスケーリングされた、ダウンサンプリングされた、再構成されたルーマサンプルを利用して、クロマブロックをコーディングするように構成され得る。
[0041]図1に示されるように、ビデオコーディングシステム10は、ソースデバイス12および宛先デバイス14を含む。ソースデバイス12は、符号化されたビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれ得る。宛先デバイス14は、ソースデバイス12によって生成される符号化されたビデオデータを復号し得る。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれ得る。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
[0042]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータ、または同様のものを含む、幅広い範囲のデバイスを備え得る。
[0043]宛先デバイス14は、チャネル16を介して、ソースデバイス12から符号化されたビデオデータを受信し得る。チャネル16は、ソースデバイス12から宛先デバイス14に、符号化されたビデオデータを移動させることが可能な1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が、符号化されたビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にする、1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って、符号化されたビデオデータを変調し得、変調されたビデオデータを宛先デバイス14に送信し得る。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線などの、ワイヤレスおよび/またはワイヤード通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(例えば、インターネット)などの、パケットベースのネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にする他の機器を含み得る。
[0044]別の例では、チャネル16は、ソースデバイス12によって生成される符号化されたビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、例えば、ディスクアクセスまたはカードアクセスを介して、記憶媒体にアクセスし得る。記憶媒体は、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、または符号化されたビデオデータを記憶するための他の好適なデジタル記憶媒体などの、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
[0045]さらなる例では、チャネル16は、ソースデバイス12によって生成される符号化されたビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス14は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスにおいて記憶された符号化されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、符号化されたビデオデータを宛先デバイス14に送信することが可能なサーバのタイプであり得る。例となるファイルサーバは、(例えば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続記憶(NAS)デバイス、およびローカルディスクドライブを含む。
[0046]宛先デバイス14は、インターネット接続などの標準的なデータ接続を通じて、符号化されたビデオデータにアクセスし得る。データ接続の例となるタイプは、ワイヤレスチャネル(例えば、Wi−Fi接続)、ワイヤード接続(例えば、DSL、ケーブルモデム、等)、またはファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに好適な両方の組合せを含み得る。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0047]本開示の技法は、ワイヤレスアプリケーションまたは設定に限定されない。本技法は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介した、ストリーミングビデオ送信、データ記憶媒体上での記憶のためのビデオデータの符号化、データ記憶媒体上に記憶されたビデオデータの復号、または他のアプリケーションなどの、様々なマルチメディアアプリケーションをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話通信などのアプリケーションをサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0048]図1に例示されるビデオコーディングシステム10は、単なる例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間の任意のデータ通信を必ずしも含むとは限らないビデオコーディング設定(例えば、ビデオ符号化またはビデオ復号)に適用し得る。いくつかの例では、データは、ローカルメモリから取り出されるか、ネットワーク上でストリーミングされるか、または同様のことが行われる。ビデオ符号化デバイスは、データを符号化してメモリに記憶し得、および/または、ビデオ復号デバイスは、メモリからデータを取り出して復号し得る。多くの例では、符号化および復号は、互いに通信しないが、単に、メモリへのデータを符号化し、および/またはメモリからデータを取り出して復号するデバイスによって実行される。
[0049]図1の例では、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス(例えば、ビデオカメラ)、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからのビデオデータを受信するためのビデオフィードインターフェース、および/またはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのこのようなソースの組合せを含み得る。
[0050]ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス12は、出力インターフェース22を介して、符号化されたビデオデータを宛先デバイス14に直接送信する。他の例では、符号化されたビデオデータはまた、復号および/または再生のための、宛先デバイス14による後のアクセスのために、記憶媒体またはファイルサーバ上に記憶され得る。
[0051]図1の例では、宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス32を含む。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16上で、符号化されたビデオデータを受信し得る。ディスプレイデバイス32は、宛先デバイス14と一体化され得るか、またはその外部にあり得る。一般に、ディスプレイデバイス32は、復号されたビデオデータを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスを備え得る。
[0052]ビデオエンコーダ20およびビデオデコーダ30は、1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ハードウェア、またはこれらの任意の組合せなどの、様々な好適な処理回路(例えば、固定機能回路および/またはプログラマブル回路)のうちの任意のものによって形成される1つまたは複数のプロセッサによって、それぞれインプリメントされ得る。本技法が部分的にソフトウェアにおいてインプリメントされる場合、デバイスは、好適な非一時的なコンピュータ可読記憶媒体にソフトウェアのための命令を記憶し得、本開示の技法を実行するために、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。前述の任意のもの(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せ、等を含む)は、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれ得、これらのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(CODEC)の一部として一体化され得る。
[0053]本開示は、概して、ビデオエンコーダ20が、ビデオデコーダ30のような別のデバイスに、ある特定の情報を「シグナリングすること」または「送信すること」に言及し得る。「シグナリングすること」または「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。このような通信は、リアルタイムで、またはほぼリアルタイムで行われ得る。代替として、このような通信は、ある長さの時間にわたって行われ得、例えば、符号化時に、符号化されたビットストリームにおいて、コンピュータ可読記憶媒体にシンタックス要素を記憶しているときに行われ得、その後、それは、この媒体に記憶された後の任意の時間において、復号デバイスによって取り出され得る。
[0054]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ビデオ圧縮規格に従って動作する。ビデオコーディング規格の例は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、および、そのスケーラブルビデオコーディング(SVC:Scalable Video Coding)拡張およびマルチビュービデオコーディング(MVC:Multi-view Video Coding)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264を含む。
[0055]加えて、新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)が、ITU−Tビデオコーディングエキスパートグループ(VCEG)と、ISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT−VC)によって、近年開発されてきた。以下、HEVC WDと呼ばれる、HEVCのドラフト仕様が、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。HEVC規格はまた、勧告ITU−T H.265および国際標準ISO/IEC23008−2において共同で提示されており、両方が「High efficiency video coding」と題し、両方が2014年10月に公表されている。
[0056]HEVCの仕様、およびフォーマットレンジ(RExt)拡張と、スケーラビリティ(SHVC)拡張と、マルチビュー(MV−HEVC)拡張とを含むその拡張は、http://phenix.int-evry.fr/jct/doc_end_user/documents/18_Sapporo/wg11/JCTVC-R1013-v6.zipから入手可能である。
[0057]ビデオコーディングは、色空間およびカラーフォーマットに基づいて実行され得る。例えば、カラービデオは、マルチメディアシステムにおいて重要な役割を果たし、そこで、様々な色空間が、色を効率的に表すために使用される。色空間は、複数の成分を使用して数値で色を指定する。よく知られている色空間が、RGB色空間であり、ここで、色は、3原色成分値(すなわち、赤、緑および青)の組合せとして表される。カラービデオ圧縮については、A. FordおよびA. Robertsの「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep.,1998年8月に説明されているように、YCbCr色空間が広く使用されてきた。
[0058]YCbCrは、線形変換を介してRGB色空間から容易に変換され得、異なる成分間の冗長性、すなわち、成分間冗長性(cross component redundancy)は、YCbCr色空間において著しく低減される。YCbCrの1つの利点は、Y信号が輝度情報(luminance information)を伝達するので、白黒テレビとの後方互換性である。加えて、クロミナンス帯域幅は、RGBにおいてサブサンプリングすることよりも主観的影響(subjective impact)が著しく少ない状態で(with)、4:2:0のクロマサンプリングフォーマットでCbおよびCr成分をサブサンプリングすることによって低減され得る。これらの利点ゆえに、YCbCrは、ビデオ圧縮での主要な色空間とされてきた。また、ビデオ圧縮において使用される、YCoCgなどの他の色空間も存在する。本開示では、使用される実際の色空間にかかわらず、Y、Cb、Crが、ビデオ圧縮方式における3つの色成分を表すために使用される。
[0059]4:2:0サンプリングでは、2つのクロマアレイの各々は、ルーマアレイの半分の高さおよび半分の幅を有する。ピクチャにおけるルーマおよびクロマサンプルの公称の垂直方向および水平方向の相対的なロケーションが、図4に示される。
[0060]HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは、典型的に、一連のピクチャを含む。ピクチャは、「フレーム」とも呼ばれ得る。ピクチャは、S、SCb、およびSCrで示される、3つのサンプルアレイを含み得る。Sは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルはまた、本明細書では「クロマ」サンプルとも呼ばれ得る。他の事例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
[0061]ピクチャの符号化された表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルの1つのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、これらコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)とも呼ばれ得る。HEVCのCTUは、H.264/AVCなどの、他の規格のマクロブロックに大まかに類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるわけではなく、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスタースキャンにおいて連続的に並べられた整数の数のCTUを含み得る。
[0062]コーディングされたCTUを生成するために、ビデオエンコーダ20は、コーディングツリーブロックをコーディングブロックに分割するために、CTUのコーディングツリーブロックに対して4分木区分化を再帰的に実行し得、それがこの「コーディングツリーユニット」という名前の由来である。コーディングブロックは、サンプルのNxNブロックである。CUは、ルーマサンプルアレイと、Cbサンプルアレイと、Crサンプルアレイとを有するピクチャについての、ルーマサンプルの1つのコーディングブロックと、クロマサンプルの2つの対応するコーディングブロックと、これらコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUのコーディングブロックを、1つまたは複数の予測ブロックに区分化し得る。予測ブロックは、それに対して同じ予測が適用される、サンプルの矩形(すなわち、正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ピクチャについての、ルーマサンプルの1つの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、これら予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUの各PUのルーマ、CbおよびCr予測ブロックについての、予測ルーマ、CbおよびCrブロックを生成し得る。
[0063]ビデオエンコーダ20は、PUについての予測ブロックを生成する(例えば、決定する)ために、いくつかの例として、イントラ予測、インター予測、または線形モデル(LM)予測を使用し得る。ビデオエンコーダ20が、PUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。
[0064]ビデオエンコーダ20が、PUの予測ブロックを生成する(例えば、決定する)ためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20は、PUの予測ブロックを生成するために、単予測(uni-prediction)または双予測(bi-prediction)を使用し得る。ビデオエンコーダ20がPUについての予測ブロックを生成するために単予測(uni-prediction)を使用するとき、PUは、単一の(single)動きベクトル(MV)を有し得る。ビデオエンコーダ20がPUについての予測ブロックを生成するために双予測を使用するとき、PUは、2つのMVを有し得る。
[0065]ビデオエンコーダ20が、CUの1つまたは複数のPUについての予測ルーマ、CbおよびCrブロックを生成した後、ビデオエンコーダ20は、CUについてのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルと、CUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CUについてのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルと、CUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUについてのCr残差ブロックを生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルと、CUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
[0066]クロマブロックの場合、イントラまたはインター予測のための予測ブロックを決定するのではなく、ビデオエンコーダ20は、LM予測モードでは、再構成された対応するルーマブロックに基づいて、予測ブロックを決定し得る。ビデオデコーダ30は、再構成された対応するルーマブロックに基づいて、予測ブロックを同様に(similarly)決定し得る。対応するルーマブロックは、現在のクロマブロックが決定されたユニット(例えば、コーディングユニットまたは予測ユニット)の一部であったルーマブロックを指す。ビデオエンコーダ20は、クロマブロックと、再構成された対応するルーマブロックから生成されたこの予測ブロックとの間の残差を決定し得る。
[0067]さらに、ビデオエンコーダ20は、CUのルーマ、CbおよびCr残差ブロックを、1つまたは複数のルーマ、CbおよびCr変換ブロックに分解するために、4分木区分化を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの1つの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、これら変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。したがって、CUの各TUは、ルーマ変換ブロックと、Cb変換ブロックと、Cr変換ブロックとに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。
[0068]ビデオエンコーダ20は、TUについてのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
[0069]係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化は、一般に、変換係数が量子化されて、変換係数を表すために使用されるデータ量をできる限り(possibly)低減させ、さらなる圧縮を提供するプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。ビデオエンコーダ20は、ビットストリームにおいて、エントロピー符号化されたシンタックス要素を出力し得る。
[0070]ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、ビデオデータの符号化された表現(encoded representation)を含み得る。例えば、ビットストリームは、コーディングされたピクチャおよび関連するデータの表現を形成するビットのシーケンスを含み得る。ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットの各々は、NALユニットヘッダを含み、生バイトシーケンスペイロード(RBSP)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPはゼロビットを含む。
[0071]異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。例えば、第1のタイプのNALユニットは、ピクチャパラメータセット(PPS)のためのRBSPをカプセル化し得、第2のタイプのNALユニットは、コーディングされたスライスのためのRBSPをカプセル化し得、第3のタイプのNALユニットは、補足エンハンスメント情報(SEI)のためのRBSPをカプセル化し得、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPとは対照的に)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれ得る。
[0072]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームからシンタックス要素を復号するために、ビットストリームをパースし得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって実行されたプロセスの逆であり得る。例えば、ビデオデコーダ30は、現在のCUのPUについての予測ブロックを決定するために、PUのMVを使用し得る。別の例として、LM予測モードの場合、ビデオデコーダ30は、対応するルーマブロックの再構成されたサンプルに基づいて、クロマブロックについての予測ブロックを決定し得る。加えて、ビデオデコーダ30は、現在のCUのTUに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在のCUのTUに関連付けられた変換ブロックを再構成するために、変換係数ブロックに対して逆変換を実行し得る。
[0073]ビデオデコーダ30は、現在のCUのPUについての予測ブロックのサンプルを、現在のCUのTUの変換ブロックの対応するサンプルに加算すること(adding)によって、現在のCUのコーディングブロックを再構成し得る。ピクチャの各CUについてのコーディングブロックを再構成することによって、ビデオデコーダ30は、ピクチャを再構成し得る。
[0074]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、線形モデル(LM)ベースのコーディングを実行するように構成され得る。以下は、LMベースの予測コーディングの説明である。例えば、コンプリメント間の冗長性(cross complement redundancy)は、YCbCr色空間では著しく低減されるが、3つの色成分間の相関は、依然として存在する。相関をさらに低減させることによってビデオコーディング性能を改善するための様々な方法が研究されてきた。
[0075]4:2:0クロマビデオコーディングでは、HEVC規格の開発中に、線形モデル(LM)予測モードと名付けられた方法がよく研究されてきた。http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2196から入手可能であり、以下、JCTVC−E266と呼ばれる、J. Chen、V. Seregin、W.-J. Han、J.-S. Kim、B.-M. Joen、「CE6.a.4: Chroma intra prediction by reconstructed luma samples」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-E266, 5th Meeting:ジュネーブ、2011年3月16日〜23日を参照。
[0076]LM予測モードでは、クロマサンプルは、以下のように、線形モデルを使用することによって、同じブロックの再構成されたルーマサンプルに基づいて予測される:
Figure 2020502925
ここで、pred(i,j)は、ブロック中のクロマサンプルの予測を表し、rec(i,j)は、同じブロックのダウンサンプリングされた再構成されたルーマサンプルを表す。パラメータαおよびβは、現在のブロックの周囲の因果関係のある(causal)再構成されたサンプル(例えば、隣接するルーマサンプル)から導出される。N×Nによってクロマブロックサイズを示し、このとき(then)、iとjの両方は、[0、N)の範囲内にある。
[0077]式(1)におけるパラメータαおよびβは、現在のブロックの周りの隣接する再構成されたルーマサンプルとクロマサンプルとの間の回帰誤差(regression error)を最小化することによって導出される。
Figure 2020502925
パラメータαおよびβは、以下のように求められる:
Figure 2020502925
Figure 2020502925
ここで、xは、ダウンサンプリングされた再構成されたルーマ参照サンプルであり、yは、再構成されたクロマ参照サンプルであり、Iは、参照サンプルの量(例えば、数)である。ターゲットN×Nクロマブロックについて、左と上の因果関係のあるサンプルの両方が利用可能であるとき、関与する(involved)サンプルの総数Iは、2Nに等しく、左のみまたは上のみの因果関係のあるサンプルが利用可能であるとき、関与するサンプルの総数Iは、Nに等しい。
[0078]図5は、ダウンサンプリングされた、再構成されたルーマブロックをスケーリングするために使用されるスケーリングパラメータがそこから導出される、例となるロケーションを例示する概念図である。例えば、図5は、4:2:0サンプリングの例を例示し、スケーリングパラメータは、αおよびβである。
[0079]一般に、LM予測モードが適用されるとき、ビデオエンコーダ20およびビデオデコーダ30は、以下のステップを呼び出し得る。ビデオエンコーダ20およびビデオデコーダ30は、隣接するルーマサンプルをダウンサンプリングし得る。ビデオエンコーダ20およびビデオデコーダ30は、線形パラメータ(すなわち、αおよびβ)(スケーリングパラメータとも呼ばれる)を導出し得る。ビデオエンコーダ20およびビデオデコーダ30は、現在のルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックおよび線形パラメータ(すなわち、スケーリングパラメータ)から、予測(例えば、予測ブロック)を導出し得る。
[0080]ダウンサンプリングを行う様々な方法が存在し得る。以下は、ダウンサンプリングが実行され得る例となる方法を説明する。
[0081]JCTVC−E266では、上記で説明されたように、LM予測モードを実行するとき、ダウンサンプリングされた現在のルーマブロックと、ダウンサンプリングされた隣接するルーマブロックとが必要とされる。ダウンサンプリングされた現在のルーマブロックは、クロマコーディングのための(for)予測ブロックを導出するために使用され、一方(while)、ダウンサンプリングされた隣接するルーマブロックは、パラメータ(すなわち、αおよびβ)導出のために使用される。
[0082]クロマ成分の典型的なサンプリング比は、ルーマ成分のもの(that)の半分であり、4:2:0サンプリングでは、垂直方向における0.5サンプル位相差を有するので、現在のブロックの再構成されたルーマは、以下のように、クロマ信号のサイズおよび位相と一致する(match)ように、垂直方向においてダウンサンプリングされ、水平方向においてサブサンプリングされる:
Figure 2020502925
ここで、RecLOrig[]は、元の再構成されたルーマサンプルを示す。
[0083]図6は、クロマブロックについての予測ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の例を例示する概念図である。図6に図示されるように、塗りつぶされた(すなわち、黒一色の)三角形によって表されるクロマサンプルは、[1,1]フィルタを適用することによって、2つの塗りつぶされた円によって表される2つのルーマサンプルから予測される。[1,1]フィルタは、2タップフィルタの一例である。
[0084]隣接するルーマブロックのダウンサンプリングについて、隣接するサンプルが現在のルーマブロックの上にあるとき、ダウンサンプリングプロセスは、以下のように定義される:
Figure 2020502925

[0085]隣接するサンプルが現在のルーマブロックの左にあるとき、ダウンサンプリングプロセスは、以下のように定義される:
Figure 2020502925
[0086]2タップフィルタ、すなわち、[1,1]は、図6に例示された例で使用されたものと同じであり得る。
[0087]他のダウンサンプリング技法もまた、提案されている。http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=2979から入手可能であり、JCTVC−F502と呼ばれる、Yi-Jen Chiu、Yu Han、Lidong Xu、Wenhao Zhang、Hong Jiang、「Cross-channel techniques to improve intra chroma prediction」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-F502, 6th Meeting:トリノ、IT、2011年7月14日〜22日では、2タップフィルタを使用する代わりに、2次元6タップフィルタリングが、現在のルーマブロックと、隣接するルーマブロックとの両方に適用される。2次元フィルタ係数セットは、以下のとおりである:
Figure 2020502925

[0088]換言すれば、ダウンサンプリングされたルーマサンプルは、以下の式(9)によって導出される:
Figure 2020502925
[0089]図7は、予測ブロックを生成するためにルーマブロックのサンプルをダウンサンプリングするためのルーマ位置およびクロマ位置の別の例を例示する概念図である。図7に図示されるように、塗りつぶされた(すなわち、黒一色の)三角形によって表されるクロマサンプルは、6タップフィルタを適用することによって、6つの塗りつぶされた円によって表される6つのルーマサンプルから予測される。
[0090]1つのクロマサンプルの予測子(predictor)は、式(1)で定義されたように、線形関数を使用して導出されるので、6タップフィルタが適用されるとき、1つのクロマサンプルの予測子は、6つの隣接するルーマサンプルに依拠するということが分かるだろう(could)。式(1)と(9)を組み合わせると、その結果は、以下の式(10)となる:
Figure 2020502925
[0091]以下の本文では、ダウンサンプリングされたサンプルrec(i,j)は、(i,j)に位置するクロマサンプルについての、対応するダウンサンプリングされたルーマサンプルと名付けられる。
[0092]2016年9月15日に出願された米国特許仮出願第62/395,145号(以下、‘145出願)および2017年9月14日に出願された米国特許出願第15/705,029号(以下、‘029出願)では、より多くのダウンサンプリングフィルタが説明されており、図8A〜図8Dに示されるように、より多くの隣接するサンプルが線形モデルを導出するために使用され得る。一般に、図8A〜図8Dは、ダウンサンプリングのために使用される隣接するサンプルを例示する概念図である。図8A〜図8Dにおいて、塗りつぶされた円は、隣接するクロマサンプルの例である。それらの対応するルーマサンプルが、スケーリングパラメータを決定するために隣接するルーマサンプルをダウンサンプリングすることの一部として、ダウンサンプリングされ得る。
[0093]以下は、LMモードでのシグナリングを説明する。(両方が前掲の)JCTVC−E266およびJCTVC−F502では、LM予測が現在のブロックのために使用されるかどうかを示すために、フラグがシグナリングされる。‘145出願および‘029出願は、より多くのLM予測モードを説明しており、より高度に複雑な(sophisticated)シグナリング方法が説明され得る。LMモードおよび非LMモードは、順序付きリストにおいて編成される。モードの順序は、隣接ブロックのクロマイントラ予測モードに依存する。現在のブロックの順序付きリストにおけるコーディングされたクロマイントラ予測モードのインデックスは、ビデオエンコーダ20によってシグナリングされる。
[0094]例となる技法のいくつかには、問題が存在し得る。以下に、これらの可能性のある問題のいくつかを説明する。JCTVC−F502において提案されたLM予測モードで呼び出されるダウンサンプリングプロセスは、より効率的であり得るが、それはより多くの隣接ブロック(例えば、隣接するルーマサンプル)にアクセスし、これは、ハードウェア設計におけるラインバッファコストを増大させ得る。‘145出願および‘029出願で提案されたシグナリング方法は、コーディング性能を改善し得る。‘145出願および‘029出願における例となる技法はまた、モードリストを並べ替えること(reordering)のオーバーヘッドを含み得る。また、‘145出願および‘029出願における例となる技法は、より多くの隣接ブロック(例えば、隣接するルーマサンプル)にアクセスすることによって、ラインバッファコストを増大させ得る。
[0095]したがって、隣接するルーマサンプルをダウンサンプリングするためのいくつかの技法には、技術的問題が存在し得る。ビデオエンコーダ20およびビデオデコーダ30は、ビデオエンコーダ20およびビデオデコーダ30のそれぞれのもの(ones)にローカルなそれぞれのラインバッファをそれぞれ(each)含む。例えば、ビデオエンコーダ20の処理回路は、ビデオエンコーダ20のラインバッファにアクセスするために、ビデオエンコーダ20の外部にあるシステムバスを必要としなくなり得(may not need)、ビデオデコーダ30の処理回路は、ビデオデコーダ30のラインバッファにアクセスするために、ビデオデコーダ30の外部にあるシステムバスを必要としなくなり得る。ビデオエンコーダ20のラインバッファは、ビデオエンコーダ20と同じ集積回路(IC)チップ内にあり得、ビデオデコーダ30のラインバッファは、ビデオデコーダ30と同じICチップ内にあり得る。ビデオエンコーダ20およびビデオデコーダ30は、比較的短い時間量で(in)それぞれのラインバッファに記憶されている(stored)データをフェッチすることが可能であり得、なぜなら、ラインバッファにアクセスすることの可用性が、何らかの(some)他の構成要素がラインバッファにアクセスすることにより(due to)遅延されないからである(例えば、それぞれのラインバッファは、ビデオエンコーダ20およびビデオデコーダ30以外の構成要素によって使用され得ない)。
[0096]例えば、ビデオエンコーダ20を含むICまたはビデオデコーダ30を含むICの上に存在し得る全ての構成要素のうち、ビデオエンコーダ20またはビデオデコーダ30のみ、またはICの限られた数の構成要素が、ラインバッファにアクセスし得る。ビデオエンコーダ20またはビデオデコーダ30を含むIC上には、メモリが存在し得る。しかしながら、このメモリは、IC上の全ての構成要素によってアクセス可能であり得る。必ずしも全てではないが、いくつかの例では、ラインバッファは、IC上の全ての構成要素に利用可能なメモリとは異なり得、(適宜(as applicable))ビデオエンコーダ20またはビデオデコーダ30に利用可能であり、その他の構成要素には利用可能でないか、またはIC上の限られた数の構成要素に利用可能であり得る。ICの様々な構成要素は、システムバスを介してこのメモリにアクセスし得るが、ラインバッファにアクセスすることは、ビデオエンコーダ20またはビデオデコーダ30が同じシステムバスを使用することを必要としない場合がある(may)。
[0097]いくつかの例では、ビデオデコーダ30上などの、ラインバッファは、比較的少量の記憶空間を提供し得る。例えば、ラインバッファは、限られた数のルーマおよびクロマサンプル値を記憶し得、ピクチャ全体のルーマおよびクロマサンプル値を記憶するのに十分な記憶を提供し得ない場合がある。ビデオデコーダ30のためのラインバッファは、符号化または復号されている現在のブロックに近接している(例えば、隣接する)ルーマおよびクロマサンプル値などの、再構成されたルーマおよびクロマサンプル値を記憶し得る。ビデオデコーダ30がそのラインバッファからサンプル値をフェッチすることになる場合、ビデオデコーダ30は、比較的迅速におよび低い電力使用量(low power usage)でサンプル値をフェッチすることが可能であり得る。しかしながら、ビデオデコーダ30がそのラインバッファ内に記憶されていない(not stored)サンプル値をフェッチすることになる場合、ビデオデコーダ30は、サンプル値を取り出すために、ビデオデコーダ30の外部にあるシステムメモリにアクセスするのに電力および時間を消費し得る。したがって、可能であれば、ラインバッファメモリ以外のメモリへのビデオデコーダ30のアクセスを制限することに技術的利点が存在し得る。
[0098]ビデオエンコーダ20のラインバッファメモリは、必ずしも比較的少量の記憶空間に限定されるわけではない。しかしながら、ビデオデコーダ30は、ビデオエンコーダ20の逆の動作を実行するので、ビデオエンコーダ20が、ビデオデコーダ30のラインバッファ外にあるダウンサンプリングのためのサンプル値に依拠する場合、ビデオデコーダ30がどのくらい迅速にピクチャのブロックを再構成することが可能であるかに影響を及ぼす可能性がある。
[0099]ラインバッファの上記の説明は、理解を助けるために提供されており、限定的であると見なされるべきではない。本開示で説明される例となる技法は、より大きいラインバッファメモリが使用される例か、またはラインバッファメモリが使用されない例に適用可能であり得る。簡単にするために、図2および図3では、ビデオデータメモリへの参照が行われ、ビデオデータメモリの例が、ラインバッファである。しかしながら、ビデオデータメモリは、ラインバッファとは異なり得る。
[0100]より詳細に説明されるように、1つまたは複数の例となる技法では、LM予測モードのために隣接するルーマサンプルをダウンサンプリングする場合、ビデオエンコーダ20およびビデオデコーダ30は、ラインバッファの外部に記憶された隣接するルーマサンプルを除外するダウンサンプリングフィルタリング技法を利用し得る。いくつかの例では、スケーリングパラメータを決定するために隣接するルーマサンプルをダウンサンプリングするために使用されるルーマサンプルが、ラインバッファ内に記憶されている(are stored)場合には、ビデオエンコーダ20およびビデオデコーダ30は、第1のフィルタに従ってダウンサンプリングを実行し得る。しかしながら、スケーリングパラメータを決定するために隣接するルーマサンプルをダウンサンプリングするために使用されるルーマサンプルが、ラインバッファ内に記憶されていない(are not stored)場合、ビデオエンコーダ20およびビデオデコーダ30は、第2のフィルタに従ってダウンサンプリングを実行し得る。第2のフィルタは、第1のフィルタとは異なり得る。いくつかの例では、スケーリングパラメータを決定するために隣接するルーマサンプルをダウンサンプリングするために使用されるルーマサンプルが、ラインバッファ内に記憶されていない場合、ビデオエンコーダ20およびビデオデコーダ30は、第1のフィルタに従ってダウンサンプリングを実行し得るが、ビデオエンコーダ20またはビデオデコーダ30の外部にあるメモリからそれらのルーマサンプル値をフェッチするのではなく、ラインバッファに記憶されていない値についてのルーマサンプル値を生成する。
[0101]以下は、本開示による技法を説明する。例となる技法は、上述された問題に対処し得るが、必ずしも上述された問題に対処する必要はない。項目別(itemized)の技法は、個々に適用され得る。代替として、それらの任意の組合せが適用され得る。
[0102]例となる技法では、現在のブロックの左上ルーマサンプルの座標(位置)は、(x0,y0)によって示される。例となる技法は、値がダウンサンプリングのためにフェッチされるルーマサンプルからルーマサンプルを除外することで説明される。簡単にするために、除外されるルーマサンプルは、現在のブロックの左上ルーマサンプルを基準にして(with respect to)説明される。
[0103]クロマサンプルについての対応するダウンサンプリングされた(downsampled)ルーマサンプルの導出プロセス中、フェッチされるルーマサンプルは、クロマサンプルの位置に依存して所与のエリアに制限される。一例として、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセス中、座標(x,y)、ここで、x<x0およびy<y0、を有するルーマサンプルは、現在のブロックの上に隣接するルーマサンプルのダウンサンプリングプロセスに関与しない(is not involved in)。例えば、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチする際に、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、ルーマブロックよりも上にあるルーマサンプルをフェッチし得る。
[0104]図9は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。図10は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。図9および図10は、JCTVC−F502におけるダウンサンプリング方法(図9)と、本開示で説明される技法(図10)との間の違いを示す。最も左の上のダウンサンプリングされた隣接するルーマサンプルを得るために、JCTVC−F502は、プロセスが現在のブロックに対して左上にある2つのルーマサンプルをフェッチするであろうことを説明し、一方、ビデオエンコーダ20およびビデオデコーダ30は、本開示で説明される例となる技法によると、これらの2つのルーマサンプルをフェッチしない場合がある。
[0105]一例では、クロマサンプルの対応するダウンサンプリングされた(downsampled)ルーマサンプルを導出するためのフィルタ長(length of the filter)(すなわち、フィルタが及ぶ(filter extends over)サンプルの数)は、フィルタリングプロセスが、座標(x,y)、ここで、x<x0およびy<y0、を有するルーマサンプルを伴う(involve)だろうときより短い。換言すれば、ビデオエンコーダ20およびビデオデコーダ30は、どの隣接するルーマサンプルがダウンサンプリングに関与するかに基づいて、ダウンサンプリングプロセスのために異なるフィルタを利用し得る。
[0106]図11Aおよび図11Bは、異なる位置におけるダウンサンプリングされたサンプルについての異なるフィルタ長を例示する概念図である。JCTVC−F502において提案されたダウンサンプリングフィルタは、図11Aに示されるように、フィルタリングプロセスに関与する、座標(x,y)、ここで、x<x0,y<y0、を有するルーマサンプルがないときに使用される。他方では、JCTVC−E266において提案されたダウンサンプリングフィルタは、図11Bに示されるように、JCTVC−F502フィルタリングプロセスに関与する、座標(x、y)、ここで、x<x0,y<y0、を有するルーマサンプルがあるときに使用される。x0およびy0の値は、ピクチャの一定の場所にある(in the certain of the picture)座標などの、ピクチャ内の座標の値であり得る。
[0107]一例では、クロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタは、フィルタリングプロセスが、座標(x,y)、ここで、x<x0およびy<y0、を有するルーマサンプルを伴うか否かにかかわらず、同じである。しかしながら、フィルタリングプロセスが、座標(x,y)、ここで、x<x0およびy<y0、を有するルーマサンプルを伴うとき、これらのルーマサンプルは、対応するロケーションからフェッチされる代わりに、隣り合うルーマサンプルによってパディングされる。
[0108]図12Aおよび図12Bは、パディングされたサンプルを用いたフィルタリングを例示する概念図である。図12Aおよび図12Bでは、座標(x,y)、ここで、x<x0およびy<y0、を有するルーマサンプルがフィルタリングプロセスに関与するか否かにかかわらず、JCTVC−F502において提案されるダウンサンプリングフィルタが常に使用される。しかし、座標(x,y)、ここで、x<x0およびy<y0、を有するルーマサンプルが関与するとき、これらのサンプルは、図12Bに示されるように、フェッチされる代わりに、パディングされる。式(11)は、数式の形でパディングプロセスを示す:
Figure 2020502925
[0109]したがって、図10〜図12Bは、ルーマサンプルをダウンサンプリングするために、ビデオエンコーダ20およびビデオデコーダ30が、どの隣接するルーマサンプルをフェッチするかの例を例示する。例えば、フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプル(a plurality of luma samples that are above the luma block)を含み、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプル(luma samples that are above and left of the top-left luma sample of the luma block)を除外する。ビデオエンコーダ20およびビデオデコーダ30は、フェッチされた隣接するルーマサンプル(fetched neighboring luma samples)に基づいて、複数のダウンサンプリングされたルーマサンプルを決定し得る。ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応する。
[0110]例えば、図10、図11B、および図12Bは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルを例示する。図11Aおよび図12Aは、ルーマブロックよりも上にあるが、左上ルーマサンプルの真上にはない、ダウンサンプリングされたルーマサンプルを例示する。したがって、図10〜図12Bは、ビデオエンコーダ20およびビデオデコーダ30が、複数のダウンサンプリングされたルーマサンプルを決定し得る例となる方法を例示し、ここで、図10、図11B、および図12Bにおけるダウンサンプリングされたルーマサンプルは、複数のダウンサンプリングされたルーマサンプルのうちの1つであり、図11Aおよび図12Aにおけるダウンサンプリングされたルーマサンプルは、複数のダウンサンプリングされたルーマサンプルのうちの別の1つである。
[0111]図10、図11B、および図12Bに例示されるように、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応する。図10、図11B、および図12Bのダウンサンプリングされたルーマサンプルを生成するためにダウンサンプリングされるフェッチされた隣接するルーマサンプルは、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプル(luma samples that are above and left to a top-left luma sample of the luma block)を除外する。対照的に、図9のダウンサンプリングされたルーマサンプルを生成するためにダウンサンプリングされるフェッチされた隣接するルーマサンプルは、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを含む。いくつかの例では、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルは、ラインバッファメモリに記憶されていない場合がある。したがって、これらのルーマサンプルにアクセスすることは、処理および帯域幅非効率になり得る。したがって、例となる技法は、フェッチされた(fetched)ルーマサンプルから、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるサンプルを除外することによって、処理および帯域幅効率を促進し得る。
[0112]しかしながら、いくつかの例では、JCTVC−F502において説明されるフィルタに従ってダウンサンプリングするために必要な全てのルーマサンプルは、ラインバッファに記憶され得、このような例では、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−F502フィルタに従ってダウンサンプリングを実行するために必要な全ての隣接するルーマサンプルをフェッチし得る。JCTVC−F502のフィルタに従ってダウンサンプリングするために必要とされる全てのルーマサンプルが、(例えば、これらのルーマサンプルが、左上サンプルよりも上かつ左に位置するので)利用可能でない場合、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−F502のフィルタにおいて使用されるそれらとは異なるサンプルをフェッチし得る。JCTVC−F502のフィルタへの参照は、単なる一例として使用されており、本技法は、他のフィルタにも同様に適用可能であることが理解されるべきである。
[0113]図11Aに例示されるように、ビデオエンコーダ20およびビデオデコーダ30は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。例えば、図11Aおよび図12Aでは、第1のフィルタは、ルーマブロックよりも上にある第1の行からの3つのルーマサンプルを利用し、第1の行よりも上にある第2の行からの3つのルーマサンプルを利用する。図11Aおよび図12Aでは、フェッチされた隣接するルーマサンプルの第1のセットは、例示されているダウンサンプリングされたルーマサンプルを生成するために利用される、例となるルーマサンプルである。
[0114]図10および図11Bに例示されるように、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要とされるとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2のフィルタを適用し得る。ビデオエンコーダ20またはビデオデコーダ30が第2のフィルタを適用するとき、ビデオエンコーダ20およびビデオデコーダ30は、第1のフィルタの使用が、左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルをフェッチすることをもたらすことになるということを、必ずしも(可能ではあるが)決定するとは限らないことが理解されるべきである。むしろ、第1のフィルタの使用が、左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルをフェッチすることをもたらすことになる状態では、ビデオエンコーダ20およびビデオデコーダ30は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルをフェッチすることを必要としない、ダウンサンプリングのために(for)第2のフィルタを利用し得る。
[0115]例えば、図10および図11Bでは、第1のフィルタ(例えば、図11Aで使用されたもの)が使用された場合には、ビデオエンコーダ20およびビデオデコーダ30は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルをフェッチすることを必要としたであろう。左上ルーマサンプルよりも上かつ左にあるルーマサンプルをフェッチすることを回避するために、ビデオエンコーダ20およびビデオデコーダ30は、第2のフィルタを適用し得る。いくつかの例では、第2のフィルタは、ルーマブロックよりも上にある第1の行からの3つ未満のルーマサンプル(例えば、図10では2つのルーマサンプル、および図11Bでは1つのルーマサンプル)を利用し、第1の行よりも上にある第2の行からの3つ未満のルーマサンプル(例えば、図10では2つのルーマサンプル、および図11Bでは1つのルーマサンプル)を利用する。
[0116]図10、図11A、および図11Bでは、ビデオエンコーダ20およびビデオデコーダ30は、ルーマサンプルをフェッチすることが、左上ルーマサンプルよりも上かつ左にあるルーマサンプルをフェッチすることをもたらすことになるかどうかに基づいて、異なるフィルタを利用し得る。しかしながら、例となる技法は、そのように限定されるものではない。
[0117]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、1つのフィルタを利用し得る。ダウンサンプリングのためにそのフィルタを使用することが、ビデオエンコーダ20およびビデオデコーダ30が、左上ルーマサンプルよりも上かつ左にあるルーマサンプルをフェッチすることをもたらすことになる状態では、左上ルーマサンプルよりも上かつ左にあるルーマサンプルをフェッチするのではなく、ビデオエンコーダ20およびビデオデコーダ30は、ルーマ値(例えば、上記で説明されたパディング値)を生成し得る。例えば、図12Bに例示されるように、ビデオエンコーダ20およびビデオデコーダ30は、フェッチすることなく、ルーマブロックの左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値(例えば、パディング値)を生成し得る。ビデオエンコーダ20およびビデオデコーダ30は、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタ(例えば、JCTVC−F502からのフィルタ)を適用し得る。
[0118]上記は、ルーマブロックよりも上にある隣接するルーマサンプルをダウンサンプリングするための例を提供した。以下は、ルーマブロックの左にある隣接するルーマサンプルをダウンサンプリングするための例である。左に隣接するルーマサンプルをダウンサンプリングするための以下の例、およびルーマブロックよりも上にある隣接するルーマサンプルをダウンサンプリングするための上記の例は、共にまたは別々に使用され得る。
[0119]例えば、ビデオエンコーダ20およびビデオデコーダ30は、上に隣接するルーマサンプルをダウンサンプリングすることに関して本開示で説明される1つまたは複数の例となる技法を実行するように構成され得、左に隣接するルーマサンプルをダウンサンプリングすることに関して本開示で説明される1つまたは複数の例となる技法を実行するように構成されない場合がある。ビデオエンコーダ20およびビデオデコーダ30は、上に隣接するルーマサンプルをダウンサンプリングすることに関して本開示で説明される1つまたは複数の例となる技法を実行するように構成されない場合があり、左に隣接するルーマサンプルをダウンサンプリングすることに関して本開示で説明される1つまたは複数の例となる技法を実行するように構成され得る。ビデオエンコーダ20およびビデオデコーダ30は、上に隣接するルーマサンプルをダウンサンプリングすることに関して本開示で説明される1つまたは複数の例となる技法を実行するように構成され得、左に隣接するルーマサンプルをダウンサンプリングすることに関して本開示で説明される1つまたは複数の例となる技法を実行するように構成され得る。
[0120]一例として、左に隣接するルーマサンプルの場合、クロマサンプルの対応するダウンサンプリングされたルーマサンプルの導出プロセス中、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルは、現在のブロックの左の隣接するルーマサンプルのダウンサンプリングプロセスに関与しない。ここで、kは、0より大きい整数である。一例では、kは、4に等しい。
[0121]図13は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの例を例示する概念図である。図14は、ダウンサンプリングされたルーマサンプルを得るためにフェッチされるルーマサンプルの別の例を例示する概念図である。図13および図14は、k=4であるときの、それぞれ、JCTVC−F502ダウンサンプリング方法(図13)と、本開示で説明される技法(図14)との間の違いを示す。‘145出願および‘029出願に説明されているように、第2の列のダウンサンプリングされた左に隣接するルーマサンプルを得るために、JCTVC−F502におけるダウンサンプリング方法は、座標(x0−5,y0)および(x0−5,y0+1)を有する2つのルーマサンプルをフェッチすることになり、一方、ビデオエンコーダ20およびビデオデコーダ30は、本開示の例に従って、これら2つのルーマサンプルをフェッチしない場合がある。
[0122]一例では、クロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタ長(すなわち、フィルタが入力として使用したサンプルの数)は、フィルタリングプロセスが、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルを伴うときにより短い。
[0123]図15Aおよび図15Bは、異なる位置におけるダウンサンプリングされたサンプルについての異なるフィルタ長を例示する概念図である。JCTVC−F502において提案されたダウンサンプリングフィルタは、図15Aに示されるように、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルが、フィルタリングプロセスに関与しないときに使用される。他方では、JCTVC−E266において提案されたダウンサンプリングフィルタは、図15Bに示されるように、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルが、JCTVC−F502フィルタリングプロセスに関与するときに使用される。
[0124]一例では、クロマサンプルの対応するダウンサンプリングされたルーマサンプルを導出するためのフィルタは、フィルタリングプロセスが、座標(x,y)、ここで、x<x0−k、を有するルーマサンプルに関与するか否かにかかわらず、同じである。しかしながら、フィルタリングプロセスが、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルに関与するとき、これらのルーマサンプルは、対応するロケーションからフェッチされる代わりに、隣り合うルーマサンプルによってパディングされる。
[0125]図16Aおよび図16Bは、パディングされたサンプルを用いたフィルタリングを例示する概念図である。図16Aおよび図16Bでは、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルがフィルタリングプロセスに関与するか否かにかかわらず、JCTVC−F502において提案されたダウンサンプリングフィルタが常に使用される。しかし、座標(x,y)、ここで、x<x0−kおよびy>=y0、を有するルーマサンプルが関与するとき、これらのサンプルは、図16Bに示されるように、フェッチされる代わりに、パディングされる。式(11)は、数式の形でパディングプロセスを示す:
Figure 2020502925
[0126]したがって、図14〜図16Bは、ルーマサンプルをダウンサンプリングするために、ビデオエンコーダ20およびビデオデコーダ30が、どの隣接するルーマサンプルをフェッチするかの例を例示する。例えば、フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを含み、ルーマブロックからしきい値数(例えば、k個)のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外する。ビデオエンコーダ20およびビデオデコーダ30は、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定し得る。ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応する。
[0127]例えば、図14、図15B、および図15Bは、ルーマブロックから4つのサンプル左にあるダウンサンプリングされたルーマサンプルを例示し、この例では、ルーマブロックの左にあるサンプルのしきい値数は、4である(例えば、k=4)。したがって、図14、図15B、および図16Bは、フェッチされた隣接するルーマサンプルが、ルーマブロックの左にあるサンプルを含み、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルを除外し、ダウンサンプリングされたルーマサンプルのうちの1つが、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応する例を例示する。
[0128]図15Aおよび図16Aは、ルーマブロックの左にあるが、ルーマブロックからしきい値数のルーマサンプル左(threshold number of luma samples to the left)にない、ダウンサンプリングされたルーマサンプルを例示する。例えば、左にあるルーマサンプルのしきい値数が、それを超えるとルーマサンプルがフェッチすることから除外される、4である場合、図15Aおよび図16Aでは、ダウンサンプリングされたルーマサンプルは、ルーマブロックから2つのルーマサンプル左にあるように(例えば、ルーマブロックから2つのルーマサンプル左にある列において)例示される。したがって、図14〜図16Bは、ビデオエンコーダ20およびビデオデコーダ30が、複数のダウンサンプリングされたルーマサンプルを決定し得る例となる方法を例示し、ここで、図14、図15B、および図16Bにおけるダウンサンプリングされたルーマサンプルは、複数のダウンサンプリングされたルーマサンプルのうちの1つであり、図15Aおよび図16Aにおけるダウンサンプリングされたルーマサンプルは、複数のダウンサンプリングされたルーマサンプルのうちの別の1つである。
[0129]図14、図15B、および図15Bに例示されるように、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のルーマサンプル左にある、ダウンサンプリングされたルーマサンプルに対応する(例えば、しきい値数は4であるので、2列より多くの(more than two columns)ダウンサンプリングされたルーマサンプルに対応する)。図14、図15B、および図16Bのダウンサンプリングされたルーマサンプルを生成するためにダウンサンプリングされるフェッチされた隣接するルーマサンプルは、ルーマブロックからしきい値数(例えば、k=4個)のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外する。対照的に、図13のダウンサンプリングされたルーマサンプルを生成するためにダウンサンプリングされるフェッチされた隣接するルーマサンプルは、ルーマブロックからしきい値数のサンプルよりも左にあるルーマサンプルを含む。いくつかの例では、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルは、ラインバッファメモリに記憶されていない場合がある。したがって、これらのルーマサンプルにアクセスすることは、処理および帯域幅非効率になり得る。したがって、例となる技法は、フェッチすることから、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外することによって、処理および帯域幅効率を促進し得る。
[0130]しかしながら、いくつかの例では、JCTVC−F502において説明されるフィルタに従ってダウンサンプリングするために必要な全てのルーマサンプルは、ラインバッファに記憶され得、このような例では、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−F502フィルタに従ってダウンサンプリングを実行するために必要な全ての隣接するルーマサンプルをフェッチし得る。JCTVC−F502のフィルタに従ってダウンサンプリングするために必要な全てのルーマサンプルが、(例えば、これらのルーマサンプルが、ルーマブロックからしきい値数のサンプルよりも左かつルーマブロックの左上ルーマサンプルより下に位置するので)利用可能でない場合には、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−F502のフィルタにおいて使用されるそれらとは異なるサンプルをフェッチし得る。JCTVC−F502のフィルタへの参照は、単なる一例として使用されており、本技法は、他のフィルタにも同様に適用可能であることが理解されるべきである。
[0131]図15Aに例示されるように、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。第1のダウンサンプリングされたルーマサンプルは、ルーマブロックから第1の数の列左にある(first number of columns to the left of the luma block)列にあり得る。例えば、図15Aおよび図16Aでは、第1のフィルタは、ルーマブロックの左にある第1の行からの3つのルーマサンプルを利用し、第1の行の下にある第2の行からの3つのルーマサンプルを利用する。また、図15Aおよび図16Aでは、ダウンサンプリングされたルーマサンプルは、ルーマブロックから2列左にある列にある。図15Aおよび図16Aでは、フェッチされた隣接するルーマサンプルの第1のセットは、例示されているダウンサンプリングされたルーマサンプルを生成するために利用される、例となるルーマサンプルである。
[0132]図14および図15Bに例示されるように、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要とされたであろうとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2のフィルタを適用し得る。ビデオエンコーダ20またはビデオデコーダ30が第2のフィルタを適用するとき、ビデオエンコーダ20およびビデオデコーダ30は、第1のフィルタの使用が、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にある少なくとも1つのルーマサンプルをフェッチすることをもたらすことになるということを、必ずしも(可能ではあるが)決定するとは限らないことが理解されるべきである。むしろ、第1のフィルタの使用が、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にある少なくとも1つのルーマサンプルをフェッチすることをもたらすことになる状態では、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルをフェッチすることを必要としない第2のフィルタをダウンサンプリングのために利用し得る。
[0133]例えば、図14および図15Bでは、第1のフィルタ(例えば、図15Aで使用されたもの)が使用された場合には、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックからしきい値数のルーマサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルをフェッチすることを必要としたであろう。ルーマブロックからしきい値数のルーマサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルをフェッチすることを回避するために、ビデオエンコーダ20およびビデオデコーダ30は、第2のフィルタを適用し得る。いくつかの例では、第2のフィルタは、ルーマブロックの左にある第1の行からの3つ未満のルーマサンプル(例えば、図14では2つのルーマサンプル、および図15Bでは1つのルーマサンプル)を利用し、第1の行よりも上にある第2の行からの3つ未満のルーマサンプル(例えば、図14では2つのルーマサンプル、および図15Bでは1つのルーマサンプル)を利用する。
[0134]図14、図15A、および図15Bでは、ビデオエンコーダ20およびビデオデコーダ30は、ルーマサンプルをフェッチすることが、ルーマブロックからしきい値数のルーマサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルをフェッチすることをもたらすことになるかどうかに基づいて、異なるフィルタを利用し得る。しかしながら、例となる技法は、そのように限定されるものではない。
[0135]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、1つのフィルタを利用し得る。ダウンサンプリングのためにそのフィルタを使用することが、ビデオエンコーダ20およびビデオデコーダ30が、ルーマブロックからしきい値数のルーマサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルをフェッチすることをもたらすことになる状態では、それらのルーマサンプルをフェッチするのではなく、ビデオエンコーダ20およびビデオデコーダ30は、ルーマ値(例えば、上記で説明されたパディング値)を生成し得る。例えば、図16Bに例示されるように、ビデオエンコーダ20およびビデオデコーダ30は、フェッチすることなく、ルーマブロックからしきい値数のルーマサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値(例えば、パディング値)を生成し得る。ビデオエンコーダ20およびビデオデコーダ30は、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタ(例えば、JCTVC−F502からのフィルタ)を適用し得る。
[0136]前述の技法は、上記で説明された特定のダウンサンプリングフィルタに限定されるものではなく、任意のダウンサンプリングフィルタと共に使用され得る。また、前述の技法は、yuv420クロマフォーマットのビデオ/画像コーディングに限定されるものではない。一例として、それらはまた、yuv422クロマフォーマットのビデオ/画像コーディングにおいて使用され得る。
[0137]LMモード(例えば、JCTVC−E266において提案されたLMモード、または‘145出願および‘029出願において提案された複数のLMモードのうちの1つなど)が使用されるかどうかを示すための、LM_flagと名付けられたグループ分けフラグ(grouping flag)が、適宜、ビデオエンコーダ20またはビデオデコーダ30によってコーディングされる。このフラグをコーディングするためのコンテキストは、1つまたは複数の隣接ブロックのコーディングされた/復号された(coded/decoded)LM_flagに依存し得る。
[0138]一例では、このようなフラグは、最初にコーディングされる。このフラグが、LMモードが使用されることを示す場合、LMモードのインデックスが、ビデオエンコーダ20によって符号化されるビットストリームにおいてさらにシグナリングされ得る。そうでない場合、LMモードを除外した他のクロマモードが、さらにシグナリングされ得る。例として、LM_flagには3つのコンテキストが存在し得る:LM ctx[0]、LM ctx[1]、およびLM ctx[2]。変数ctxは、ctx=LM_flag_A+LM_flag_Bとして計算され、ここで、LM_flag_AおよびLM_flag_Bは、隣接ブロックのLM_flagである。一例では、それぞれ、AおよびBによって示される隣接ブロックが、図17に示される(例えば、A、A0、A1、B、B0、B1、およびB2)。図17は、現在のブロックの隣接ブロックを例示する概念図である。
[0139]さらに一例では、ブロックX(Xは、隣接ブロックのうちの1つである)が、イントラ予測によってコーディングされないか、またはそれが存在しない(すなわち、利用可能でない)とき、LM_flag_Xは、0に等しく設定され、ここで、Xは、AまたはBである。さらに一例では、隣接ブロックが現在のブロックよりも上に位置するとき、隣接ブロックは、同じLCU内にあるべきことが必要とされ得る。隣接ブロックが、現在のLCU外にある場合、それは利用不可能として扱われ得る。
[0140]したがって、一例では、ビデオデコーダ30は、ルーマブロックとクロマブロックとを含む現在のブロックについてのフラグを復号し得る。フラグ(例えば、LM_flag)は、LM予測コーディングがクロマブロックに対してイネーブルにされる(is enabled for)ことを示す。ビデオデコーダ30は、LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、フラグを復号するように構成され得る。同様に、ビデオエンコーダ20は、ルーマブロックとクロマブロックとを含む現在のブロックについてのフラグを符号化し得る。フラグ(例えば、LM_flag)は、LM予測コーディングがクロマブロックに対してイネーブルにされることを示す。ビデオエンコーダ20は、LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、フラグを符号化し得る。
[0141]本開示では、LM_flagに関して説明される例となる技法は、どのルーマサンプルがLM予測のためにダウンサンプリングされるかに関連する例となる技法とは別個におよび独立して適用され得る。いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、上記で説明されたように、ダウンサンプリングから隣接するルーマサンプルを除外し、上記で説明されたように、LM_flagを符号化または復号するように構成され得る。いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、上記で説明されたように、ダウンサンプリングから隣接するルーマサンプルを除外するが、上記で説明されたように、LM_flagを符号化または復号しないように構成され得る。いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、上記で説明されたように、ダウンサンプリングから隣接するルーマサンプルを除外するように構成されない場合があるが、上記で説明されたように、LM_flagを符号化または復号するように構成され得る。
[0142]以下は、本開示で説明される1つまたは複数の例となる技法をインプリメントするための例を説明する。この例は、上に隣接するルーマサンプルをダウンフィルタリングする(例えば、ダウンサンプリングする)ための例となる技法、または左に隣接するルーマサンプルをダウンフィルタリングする(例えば、ダウンサンプリングする)ための例となる技法に関するものである。RecLOrig[0,0]が現在のブロックの左上ルーマサンプルを表すと仮定すると、上に隣接するルーマサンプルのためのダウンサンプリングプロセスは、以下のように定義される:
−クロマサンプルが、上に隣接する行の最も左に位置していない場合、すなわち、i>0のとき:
Figure 2020502925
−そうでない場合、すなわち、iが0に等しいとき:
Figure 2020502925
[0143]一例では、offset0およびoffset1の両方が、0に等しく設定される。一例では、offset0およびoffset1の両方が、4に等しく設定される。例えば、図10の例に従って、上のルーマサンプルをダウンサンプリングする場合、ビデオエンコーダ20およびビデオデコーダ30は、0のオフセットを用いて式(13)を適用し得る。図14の例に従って、左のルーマサンプルをダウンサンプリングする場合、ビデオエンコーダ20およびビデオデコーダ30は、4のオフセットを用いて式(13)を適用し得る。この例では、ルーマブロックから4つのサンプルよりも左にあるルーマサンプルはダウンサンプリングから除外されるので、オフセットは4である。ルーマブロックから4つ未満または4つより多くのサンプル左にあるルーマサンプルがダウンサンプリングから除外される場合、オフセットは4とは異なり得る。
[0144]例えば、ビデオエンコーダ20およびビデオデコーダ30は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、式(12)の動作に従ってダウンサンプリングするために必要でないとき、第1のダウンサンプリングされたルーマサンプルを決定するために、式(12)の動作を実行し得る(例えば、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用する)。例として、ビデオエンコーダ20およびビデオデコーダ30は、図11Aに例示される隣接するルーマサンプル(例えば、フェッチされた隣接するルーマサンプルの第1のセット)を使用して、図11Aに例示されるダウンサンプリングされたルーマサンプルを決定するために、式(12)の動作を実行し得る。
[0145]ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、式(12)の動作に従って(例えば、第1のフィルタに従って)ダウンサンプリングするために必要であるとき、第2のダウンサンプリングされたルーマサンプルを決定するために、式(13)の動作を実行し得る(例えば、フェッチされた隣接するルーマサンプルの第2のセットに第2のフィルタを適用する)。例えば、第1のフィルタが使用される場合には、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、ダウンサンプリングのために必要とされたであろう。例として、ビデオエンコーダ20およびビデオデコーダ30は、図10に例示される隣接するルーマサンプル(例えば、フェッチされた隣接するルーマサンプルの第2のセット)を使用して、図10に例示されるダウンサンプリングされたルーマサンプルを決定するために、式(13)の動作を実行し得る。
[0146]例えば、ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックからしきい値数のサンプル(例えば、k個のサンプル)よりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルが、式(12)の動作に従ってダウンサンプリングするために必要でないとき、第1のダウンサンプリングされたルーマサンプルを決定するために、式(12)の動作(例えば、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用する)を実行し得る。第1のダウンサンプリングされたルーマサンプルは、ルーマブロックから第1の数の列左にある列にある。例として、ビデオエンコーダ20およびビデオデコーダ30は、図15Aに例示される隣接するルーマサンプル(例えば、フェッチされた隣接するルーマサンプルの第1のセット)を使用して、図16Aに例示されるダウンサンプリングされたルーマサンプルを決定するために、式(12)の動作を実行し得る。例示されるように、図15Aにおけるダウンサンプリングされたルーマサンプルは、ルーマブロックから2列左にある。
[0147]ビデオエンコーダ20およびビデオデコーダ30は、ルーマブロックからしきい値数のサンプル(例えば、k個のサンプル)よりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、式(12)の動作に従って(例えば、第1のフィルタに従って)ダウンサンプリングするために必要であるとき、第2のダウンサンプリングされたルーマサンプルを決定するために、式(13)の動作を実行し得る(例えば、フェッチされた隣接するルーマサンプルの第2のセットに第2のフィルタを適用する)。例えば、第1のフィルタが使用される場合には、ルーマブロックからしきい値数のサンプル(例えば、k個のサンプル)よりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、ダウンサンプリングのために必要とされたであろう。第2のダウンサンプリングされたルーマサンプルは、ルーマブロックから第2の数の列左にある列にあり、第2の数は、第1の数より大きい。例として、ビデオエンコーダ20およびビデオデコーダ30は、図14に例示される隣接するルーマサンプル(例えば、フェッチされた隣接するルーマサンプルの第2のセット)を使用して、図14に例示されるダウンサンプリングされたルーマサンプルを決定するために、式(13)の動作を実行し得る。
[0148]図2は、本開示の技法をインプリメントし得る、例となるビデオエンコーダ20を例示するブロック図である。図2は、説明を目的として提供されており、本開示において広く実証および説明される技法を限定するものとみなされるべきではない。説明を目的として、本開示は、HEVCコーディングのコンテキストにおいてビデオエンコーダ20を説明する。しかしながら、本開示の技法は、現在開発中または将来のものを含む、他のコーディング規格または方法に適用可能であり得る。
[0149]ビデオエンコーダ20は、本開示で説明される様々な例に従って、LMベースのビデオコーディングのための技法を実行するように構成され得るデバイスの例を表す。例えば、ビデオエンコーダ20は、LMビデオコーディングを使用して、1つまたは複数のブロックをコーディングするように構成され得る。
[0150]図2の例では、ビデオエンコーダ20は、予測処理ユニット100、ビデオデータメモリ101、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構成ユニット112、フィルタユニット114、復号ピクチャバッファ(DPB)116、およびエントロピー符号化ユニット118を含む。予測処理ユニット100は、インター予測処理ユニット120と、イントラ予測処理ユニット126とを含む。インター予測処理ユニット120は、動き推定ユニットと、動き補償ユニットとを含み得る(図示せず)。ビデオエンコーダ20はまた、本開示で説明されるLMベースのコーディング技法の様々な態様を実行するように構成された線形モデル(LM)ベースの符号化ユニット122を含む。他の例では、ビデオエンコーダ20は、より多い数の、より少ない数の、または異なる機能的な構成要素を含み得る。
[0151]ビデオデータメモリ101は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ101に記憶されるビデオデータは、例えば、ビデオソース18から取得され得る。DPB116は、(例えば、イントラまたはインターコーディングモードで)ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ101およびDPB116は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ101およびDPB116は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ20の他の構成要素とともにオンチップであり得るか、またはこれらの構成要素に対してオフチップであり得る。
[0152]本開示では、ビデオデータメモリ101への参照は、そのように明記されていない(specifically described)限り、ビデオエンコーダ20の内部にあるメモリに、またはそのように明記されていない限り、ビデオエンコーダ20の外部にあるメモリに、限定されると解釈されるべきではない。ビデオデータメモリ101への参照は、ビデオエンコーダ20が符号化のために受信するビデオデータ(例えば、符号化されるべき現在のブロックについてのビデオデータ)を記憶するメモリへの参照として理解されるべきである。ビデオデータメモリ101はまた、ビデオエンコーダ20の様々なユニットからの出力の一時記憶(temporary storage)を提供し得る。
[0153]一例として、ビデオデータメモリ101は、ビデオエンコーダ20の内部にあり、符号化されている現在のブロックに隣接する隣接ブロックのサンプルを記憶するラインバッファの例である。別の例として、DPB116の一部は、ビデオエンコーダ20の内部にあるラインバッファであり得、また、DPB116の一部は、ビデオエンコーダ20を含むICチップのシステムメモリの一部として、ビデオエンコーダ20の外部にあるメモリであり得る。別の例として、ラインバッファは、ビデオエンコーダ20のキャッシュメモリであり得る。
[0154]図2の様々なユニットは、ビデオエンコーダ20によって実行される動作の理解を助けるために例示される。これらユニットは、固定機能回路、プログラマブル回路、またはこれらの組合せとしてインプリメントされ得る。固定機能回路は、特定の機能を提供する回路を指し、実行され得る動作で予め設定される。プログラマブル回路は、様々なタスクを実行するようにプログラムされ得る回路を指し、実行され得る動作において柔軟な機能を提供する。例えば、プログラマブル回路は、ソフトウェアまたはファームウェアの命令によって定義される方法でプログラマブル回路を動作させるソフトウェアまたはファームウェアを実行し得る。固定機能回路は、(例えば、パラメータを受け取るまたはパラメータを出力するために)ソフトウェア命令を実行し得るが、固定機能回路が実行する動作のタイプは、一般に不変である。いくつかの例では、1つまたは複数のユニットは、個別の回路ブロック(固定機能またはプログラムマブル)であり得、いくつかの例では、1つまたは複数のユニットは、集積回路であり得る。
[0155]ビデオエンコーダ20は、プログラマブル回路から形成された、演算論理ユニット(ALU:arithmetic logic units)、初等関数ユニット(EFU)、デジタル回路、アナログ回路、および/またはプログラマブルコアを含み得る。ビデオエンコーダ20の動作が、プログラマブル回路によって実行されるソフトウェアによって実行される例では、ビデオデータメモリ101が、ビデオエンコーダ20が受信および実行するソフトウェアのオブジェクトコードを記憶し得、または別のメモリ(図示せず)が、そのような命令を記憶し得る。
[0156]ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、ビデオデータのピクチャのスライス中の各CTUを符号化し得る。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB)およびピクチャの対応するCTBに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は、CTUのCTBを漸進的により小さいブロックへと分割するために4分木区分化を実行し得る。より小さいブロックは、CUのコーディングブロックであり得る。例えば、予測処理ユニット100は、CTUに関連付けられた(associated with)CTBを、4つの等しいサイズのサブブロックに区分化し、サブブロックのうちの1つまたは複数を、4つの等しいサイズのサブブロックに区分化し得、以下同様である。
[0157]ビデオエンコーダ20は、CUの符号化表現(すなわち、コーディングされたCU)を生成するために、CTUのCUを符号化し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUに関連付けられたコーディングブロックを区分化し得る。したがって、各PUは、ルーマ予測ブロックおよび対応するクロマ予測ブロックに関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記で示されたように、CUのサイズは、CUのルーマコーディングブロックのサイズを指し得、PUのサイズは、PUのルーマ予測ブロックのサイズを指し得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測の場合、2N×2NまたはN×NのPUサイズ、およびインター予測の場合、2N×2N、2N×N、N×2N、N×N、または同様の対称PUサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測の場合、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズについての非対称区分化をサポートし得る。
[0158]インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによって、PUについての予測データを生成し得る。PUについての予測データは、PUの予測ブロックおよびPUについての動き情報を含み得る。インター予測処理ユニット120は、PUが、Iスライス中にあるか、Pスライス中にあるか、Bスライス中にあるかに依存して、CUのPUに対して異なる動作を実行し得る。Iスライスでは、全てのPUがイントラ予測される。したがって、PUがIスライス中にある場合、インター予測処理ユニット120は、PUに対してインター予測を実行しない。したがって、Iモードで符号化されるブロックの場合、予測されたブロックは、同じフレーム内の以前に符号化された隣接ブロックからの空間的予測を使用して形成される。
[0159]PUがPスライス中にある場合、インター予測処理ユニット120の動き推定ユニットは、PUのための参照領域について、参照ピクチャのリスト(例えば、「RefPicList0」)中の参照ピクチャを検索し得る。PUのための参照領域は、PUのサンプルブロックに最も密接に(closely)対応するサンプルブロックを含む、参照ピクチャ内の領域であり得る。動き推定ユニットは、PUのための参照領域を含む参照ピクチャのRefPicList0における位置を示す参照インデックスを生成し得る。加えて、動き推定ユニットは、PUのコーディングブロックと、参照領域に関連付けられた参照ロケーションとの間の空間的な変位(displacement)を示すMVを生成し得る。例えば、MVは、現在の復号されたピクチャにおける座標から参照ピクチャにおける座標までのオフセットを提供する2次元ベクトルであり得る。動き推定ユニットは、PUの動き情報として、参照インデックスとMVとを出力し得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照ロケーションにおける実際のまたは補間されたサンプルに基づいて、PUの予測ブロックを生成し得る。
[0160]PUがBスライス中にある場合、インター予測処理ユニット120の動き推定ユニットは、PUについての単予測または双予測を実行し得る。PUについての単予測を実行するために、動き推定ユニットは、PUのための参照領域についてRefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャを検索し得る。動き推定ユニットは、PUの動き情報として、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1における位置を示す参照インデックス、PUの予測ブロックと、参照領域に関連付けられた参照ロケーションとの間の空間的な変位を示すMV、および参照ピクチャがRefPicList0中にあるか、あるいはRefPicList1中にあるかを示す1つまたは複数の予測方向インジケータを出力し得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
[0161]PUについての双方向インター予測を実行するために、動き推定ユニットは、PUのための参照領域についてRefPicList0中の参照ピクチャを検索し得、また、PUのための別の参照領域についてRefPicList1中の参照ピクチャを検索し得る。動き推定ユニットは、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1における位置を示す参照ピクチャインデックスを生成し得る。加えて、動き推定ユニットは、参照領域に関連付けられた参照ロケーションと、PUのサンプルブロックとの間の空間的な変位を示すMVを生成し得る。PUの動き情報は、PUの参照インデックスとMVとを含み得る。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
[0162]LMベースの符号化ユニット122は、線形モデル(LM)予測符号化を実行し得る。例えば、LMベースの符号化ユニット122は、符号化されている現在のクロマブロックに対応するルーマブロックの再構成されたルーマサンプルをダウンサンプリングし得る。LMベースの符号化ユニット122は、予測ブロックを生成するために、ルーマブロックのダウンサンプリングされた再構成されたルーマサンプルをスケーリングし得る。残差生成ユニット102は、クロマブロックと予測ブロックとの間のサンプル値の差分を示す残差ブロックを決定し得る。いくつかの例では、LMベースの符号化ユニット122は、成分間残差予測(cross-component residual prediction)の一部として、このような技法を適用し得る。このケースでは、クロマブロックは、クロマ残差ブロックであり、ルーマブロックは、ルーマ残差ブロックである。
[0163]例えば、LMベースの符号化ユニット122は、クロマブロックに対応するルーマブロックを決定し得る。LMベースの符号化ユニット122は、本開示で説明される例となる技法を利用して、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定し得る。LMベースの符号化ユニット122は、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータ(例えば、上記で説明されたαおよびβ)を決定し得る。LMベースの符号化ユニット122は、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定し得る。例えば、LMベースの符号化ユニット122は、αrec(i,j)+βを決定し得、ここで、rec(i,j)は、クロマブロックに対応するルーマブロックのダウンサンプリングされたバージョンであり、αおよびβは、ダウンサンプリングされた隣接するルーマサンプルから決定されるスケーリングファクタである。LMベースの符号化ユニット122は、ラインバッファ外に記憶された隣接するルーマサンプルのアクセスを制限するための技法のような、本開示で説明される1つまたは複数の例となる技法に従って、隣接するルーマサンプルのダウンサンプリングを実行し得る。
[0164]その後、ビデオエンコーダ20は、予測ブロックに基づいて、クロマブロックをLM予測符号化し得る。例えば、以下で説明されるように、ビデオエンコーダ20は、ビデオデコーダ30によってクロマブロックを再構成するために使用される残差ブロックを生成するために、クロマブロックから予測ブロックを減算し得る。
[0165]本開示で説明される技法では、LMベースの符号化ユニット122は、ルーマブロックのルーマサンプルをダウンサンプリングすることの一部として、上記の例となる技法のうちの1つまたは複数をインプリメントし得る。一例として、LMベースの符号化ユニット122は、コーディングされているクロマブロックに対応するルーマブロックを決定し、ここにおいて、ルーマブロックの左上の座標は(x0,y0)であり、DPB116またはビデオデータメモリ101に記憶された、ダウンサンプリングするためのルーマサンプルを決定し、決定されたルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外し、決定されたルーマサンプルに基づいてルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて予測ブロックを決定し、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化し得る。例えば、ダウンサンプリングするためのルーマサンプルを決定することは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外することを含む。
[0166]例えば、LMベースの符号化ユニット122は、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし得る。フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプルを含み、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外する。例えば、ルーマブロックの左上ルーマサンプルよりも上かつ左にある図9に例示されるルーマサンプル(例えば、破線の左側)は、フェッチされるルーマサンプルから除外される。
[0167]別の例として、LMベースの符号化ユニット122は、コーディングされているクロマブロックに対応するルーマブロックを決定し、ここにおいて、ルーマブロックの左上の座標は(x0,y0)であり、DPB116またはビデオデータメモリ101に記憶された、ダウンサンプリングするためのルーマサンプルを決定し、決定されたルーマサンプルは、(x0−k)未満のx座標およびy0以上のy座標を有するルーマサンプルを除外し、ここにおいて、kは、0より大きい整数であり、決定されたルーマサンプルに基づいてルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて予測ブロックを決定し、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測符号化し得る。例えば、ダウンサンプリングするためのルーマサンプルを決定することは、(x0−k)未満のx座標およびy0以上のy座標を有するルーマサンプルを除外することを含む。
[0168]例えば、LMベースの符号化ユニット122は、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし得る。フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを含み、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外する。例えば、ルーマブロックからしきい値数のサンプルよりも左にあり(例えば、4つのサンプルよりも左にあり)かつルーマブロックの左上サンプルより下にある図13に例示されるルーマサンプル(例えば、破線の左側)は、フェッチされるルーマサンプルから除外される。
[0169]1つのケースでは、LMベースの符号化ユニット122は、x0未満のx座標およびy0未満のy座標を有するルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないときは、第1のフィルタ(例えば、JCTVC−F502のもの)を適用し、x0未満のx座標およびy0未満のy座標を有するルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要であるときは、第2の異なるフィルタ(例えば、JCTVC−E266または式13のもの)を適用し得る。これらの例において、別のケースでは、LMベースの符号化ユニット122は、フィルタを適用することが、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを使用することをもたらすことになるかどうかを決定し、ルーマサンプルについてのルーマ値をフェッチすることなく、x0未満のx座標およびy0未満のy座標を有するルーマサンプルについてのルーマ値を生成し得る。例えば、LMベースの符号化ユニットは、図12Bに例示されるように、隣り合うルーマサンプルに基づく値をパディングし、ルーマブロックをダウンサンプリングするために、生成されたルーマ値を使用してフィルタを適用し得、ここにおいて、フィルタは、フィルタを適用することが、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを使用することをもたらさないであろう場合にダウンサンプリングのために使用されるものと同じフィルタである。
[0170]例えば、上に隣接するルーマサンプルの場合、LMベースの符号化ユニット122は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。LMベースの符号化ユニット122は、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要であるとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。
[0171]左に隣接するルーマサンプルの場合、LMベースの符号化ユニット122は、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。第1のダウンサンプリングされたルーマサンプルは、ルーマブロックから第1の数の列左にある列にある。LMベースの符号化ユニット122は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要であるとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。第2のダウンサンプリングされたルーマサンプルは、ルーマブロックから第2の数の列左にある列にあり、第2の数は、第1の数より大きい。
[0172]一例では、上に隣接するルーマサンプルの場合、LMベースの符号化ユニット122は、ビデオデータメモリ101からフェッチすることなく、ルーマブロックの左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成し、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る。一例では、左に隣接するルーマサンプルの場合、LMベースの符号化ユニット122は、ビデオデータメモリ101からフェッチすることなく、ルーマブロックからしきい値数のサンプルよりも左かつルーマブロックの左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成し、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る。
[0173]イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUについての予測データを生成し得る。PUについての予測データは、PUについての予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
[0174]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、PUについての予測データの複数のセットを生成するために、複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット126は、PUについての予測ブロックを生成するために、隣接するPUのサンプルブロックからのサンプルを使用し得る。隣接するPUは、PU、CU、およびCTUについて左から右、上から下の符号化順序を仮定すると、PUの上、右および上、左および上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、例えば、33方向のイントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連付けられた領域のサイズに依存し得る。
[0175]予測処理ユニット100は、CUのPUについての予測データを、PUについてのインター予測処理ユニット120によって生成された予測データ、PUについてのイントラ予測処理ユニット126によって生成された予測データ、またはLMベースの符号化ユニット122によって生成された予測データの中から選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/歪みメトリックに基づいて、CUのPUについての予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれ得る。
[0176]残差生成ユニット102は、CUのルーマ、CbおよびCrコーディングブロックと、CUのPUの選択された予測ルーマ、CbおよびCrブロックとに基づいて、CUのルーマ、CbおよびCr残差ブロックを生成し得る。例えば、残差生成ユニット102は、残差ブロック中の各サンプルが、CUのコーディングブロック中のサンプルと、CUのPUの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、CUの残差ブロックを生成し得る。
[0177]変換処理ユニット104は、CUに関連付けられた残差ブロックを、CUのTUに関連付けられた変換ブロックに区分化するために、4分木区分化を実行し得る。したがって、TUは、1つのルーマ変換ブロックと、2つのクロマ変換ブロックとに関連付けられ得る。CUのTUのルーマおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づくことも、基づかないこともあり得る。「残差4分木」(RQT)として知られている4分木構造は、領域の各々に関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
[0178]変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUの各TUについての変換係数ブロックを生成し得る。変換処理ユニット104は、TUに関連付けられた変換ブロックに様々な変換を適用し得る。例えば、変換処理ユニット104は、変換ブロックに、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を適用し得る。いくつかの例では、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われ得る。
[0179]量子化ユニット106は、係数ブロックにおける変換係数を量子化し得る。量子化プロセスは、変換係数のうちのいくつかまたは全てに関連付けられたビット深度を低減し得る。例えば、nビットの変換係数は、量子化中にmビット変換係数に切り捨てられ得、ここで、nは、mより大きい。量子化ユニット106は、CUに関連付けられた量子化パラメータ(QP)値に基づいて、CUのTUに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の損失をもたらし得、したがって、量子化された変換係数は、元のものよりも低い精度を有し得る。
[0180]逆量子化ユニット108および逆変換処理ユニット110は、係数ブロックから残差ブロックを再構成するために、それぞれ、係数ブロックに逆量子化および逆変換を適用し得る。再構成ユニット112は、TUに関連付けられた再構成された変換ブロックを作り出すために、再構成された残差ブロックを、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに加算し得る。このようにしてCUの各TUについての変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成し得る。
[0181]フィルタユニット114は、CUに関連付けられたコーディングブロック中のブロッキングアーティファクト(blocking artifacts)を低減させるために、1つまたは複数のデブロッキング動作を実行し得る。DPB116は、フィルタユニット114が再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後に、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、他のピクチャのPUに対してインター予測を実行するために、再構成されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット126は、CUと同じピクチャ内の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ116中の再構成されたコーディングブロックを使用し得る。さらに、LMベースの符号化ユニット122は、クロマブロックを線形モデル(LM)予測符号化するために、DPB116中の再構成されたルーマブロックを利用し得る(ここで、ルーマブロックは、いくつかの例ではビデオデータを含み得、または残差ルーマブロックであり得、およびクロマブロックは、いくつかの例ではビデオデータを含み得、または残差クロマブロックであり得る)。
[0182]エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能的な構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット118は、エントロピー符号化されたデータを生成するために、データに対して1つまたは複数のエントロピー符号化動作を実行し得る。例えば、エントロピー符号化ユニット118は、データに対して、コンテキスト適応型可変長コーディング(CAVLC)動作、CABAC動作、V2V(variable-to-variable)長コーディング動作、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率間隔区分化エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化されたデータを含むビットストリームを出力し得る。例えば、ビットストリームは、CUについてのRQTを表すデータを含み得る。
[0183]図3は、本開示の技法をインプリメントするように構成された例となるビデオデコーダ30を例示するブロック図である。図3は、説明を目的として提供されており、本開示において広く実証および説明される技法を限定するものではない。説明を目的として、本開示は、HEVCコーディングのコンテキストにおいてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0184]ビデオエンコーダ30は、本開示で説明される様々な例に従って、LMベースのビデオコーディングのための技法を実行するように構成され得るデバイスの例を表す。例えば、ビデオエンコーダ30は、LMビデオコーディングモードを利用して1つまたは複数のブロックをコーディングする(すなわち、1つまたは複数のブロックを線形モデル(LM)予測復号する)ように構成され得る。
[0185]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150、ビデオデータメモリ151、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット160、および復号ピクチャバッファ(DPB)162を含む。予測処理ユニット152は、動き補償ユニット164と、イントラ予測処理ユニット166とを含む。ビデオデコーダ30はまた、本開示で説明されるLMベースのコーディング技法の様々な態様を実行するように構成された線形モデル(LM)ベースの復号ユニット165を含む。他の例では、ビデオデコーダ30は、より多い数の、より少ない数の、または異なる機能的な構成要素を含み得る。
[0186]ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号されることとなる、符号化されたビデオビットストリームのような、ビデオデータを記憶し得る。ビデオデータメモリ151に記憶されたビデオデータは、例えば、コンピュータ可読媒体16から(例えば、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、カメラなどのローカルビデオソースから、または物理データ記憶媒体にアクセスすることによって)取得され得る。ビデオデータメモリ151は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングされたピクチャバッファ(CPB)を形成し得る。DPB162は、(例えば、イントラまたはインターコーディングモードで)ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ151およびDPB162は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ151およびDPB162は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであり得るか、またはこれらの構成要素に対してオフチップであり得る。
[0187]本開示では、ビデオデータメモリ151への参照は、そのように明記されていない限り、ビデオデコーダ30の内部にあるメモリに、またはそのように明記されていない限り、ビデオデコーダ30の外部にあるメモリに、限定されると解釈されるべきではない。ビデオデータメモリ151への参照は、ビデオデコーダ30が復号のために受信するビデオデータ(例えば、符号化されるべき現在のブロックについてのビデオデータ)を記憶する参照メモリとして理解されるべきである。ビデオデータメモリ151はまた、ビデオデコーダ30の様々なユニットからの出力の一時記憶を提供し得る。
[0188]一例として、ビデオデータメモリ151は、ビデオデコーダ30の内部にあり、復号されている現在のブロックに隣接する隣接ブロックのサンプルを記憶するラインバッファの例である。別の例として、DPB162の一部は、ビデオデコーダ30の内部にあるラインバッファであり得、また、DPB162の一部は、ビデオデコーダ30を含むICチップのシステムメモリの一部として、ビデオデコーダ30の外部にあるメモリであり得る。別の例として、ラインバッファは、ビデオデコーダ30のキャッシュメモリであり得る。
[0189]図3の様々なユニットは、ビデオデコーダ30によって実行される動作の理解を助けるために例示される。これらユニットは、固定機能回路、プログラマブル回路、またはこれらの組合せとしてインプリメントされ得る。固定機能回路は、特定の機能を提供する回路を指し、実行され得る動作で予め設定されている。プログラマブル回路は、様々なタスクを実行するようにプログラムされ得る回路を指し、実行され得る動作において柔軟な機能を提供する。例えば、プログラマブル回路は、ソフトウェアまたはファームウェアの命令によって定義された方法でプログラマブル回路を動作させるソフトウェアまたはファームウェアを実行し得る。固定機能回路は、(例えば、パラメータを受け取るまたはパラメータを出力するために)ソフトウェア命令を実行し得るが、固定機能回路が実行する動作のタイプは、一般に不変である。いくつかの例では、1つまたは複数のユニットは、個別の回路ブロック(固定機能またはプログラムマブル)であり得、いくつかの例では、1つまたは複数のユニットは、集積回路であり得る。
[0190]ビデオエンコーダ20は、プログラマブル回路から形成された、演算論理ユニット(ALU)、初等関数ユニット(EFU)、デジタル回路、アナログ回路、および/またはプログラマブルコアを含み得る。ビデオデコーダ30の動作が、プログラマブル回路によって実行されるソフトウェアによって実行される例では、ビデオデータメモリ151が、ビデオデコーダ30が受信および実行するソフトウェアのオブジェクトコードを記憶し得、または別のメモリ(図示せず)が、そのような命令を記憶し得る。
[0191]コーディングされたピクチャバッファ(CPB)は、ビットストリームの符号化されたビデオデータ(例えば、NALユニット)を受信および記憶し得る。エントロピー復号ユニット150は、CPBから符号化されたビデオデータ(例えば、NALユニット)を受信し、シンタックス要素を復号するために、NALユニットをパースし得る。エントロピー復号ユニット150は、NALユニットにおけるエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。
[0192]ビットストリームのNALユニットは、コーディングされたスライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コーディングされたスライスNALユニットからシンタックス要素を抽出およびエントロピー復号し得る。コーディングされたスライスの各々は、スライスヘッダおよびスライスデータを含み得る。スライスヘッダは、スライスに関連するシンタックス要素を含み得る。スライスヘッダにおけるシンタックス要素は、スライスを含むピクチャに関連付けられたPPSを識別するシンタックス要素を含み得る。
[0193]ビットストリームからのシンタックス要素を復号することに加えて、ビデオデコーダ30は、区分化されていないCU(non-partitioned CU)に対して再構成動作を実行し得る。区分化されていないCUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行し得る。CUの各TUについての再構成動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構成し得る。
[0194]CUのTUに対して再構成動作を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた係数ブロックを逆量子化、すなわち、量子化解除(de-quantize)し得る。逆量子化ユニット154は、量子化の程度、および同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定するために、TUのCUに関連付けられたQP値を使用し得る。圧縮比、すなわち、元のシーケンスおよび圧縮されたものを表示するために使用されるビット数の比は、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比は、用いられるエントロピーコーディングの方法に依存し得る。
[0195]逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連付けられた残差ブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用し得る。例えば、逆変換処理ユニット156は、係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向性変換、または別の逆変換を適用し得る。
[0196]PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット166は、PUについての予測ブロックを生成するために、イントラ予測を実行し得る。イントラ予測処理ユニット166は、空間的に隣接するPUの予測ブロックに基づいて、PUについての予測ルーマ、CbおよびCrブロックを生成するために、イントラ予測モードを使用し得る。イントラ予測処理ユニット166は、ビットストリームから復号される1つまたは複数のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。
[0197]予測処理ユニット152は、ビットストリームから抽出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を構成し得る。さらに、PUがインター予測を使用して符号化される場合、エントロピー復号ユニット150は、PUについての動き情報を抽出し得る。動き補償ユニット164は、PUの動き情報に基づいて、PUについての1つまたは複数の参照領域を決定し得る。動き補償ユニット164は、PUについての1つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、PUについての予測ルーマ、CbおよびCrブロックを生成し得る。
[0198]再構成ユニット158は、CUのルーマ、CbおよびCrコーディングブロックを再構成するために、CUのTUに関連付けられたルーマ、CbおよびCr変換ブロック、およびCUのPUの予測ルーマ、CbおよびCrブロック、すなわち、適宜、イントラ予測データまたはインター予測データのいずれかを使用し得る。例えば、再構成ユニット158は、CUのルーマ、CbおよびCrコーディングブロックを再構成するために、ルーマ、CbおよびCr変換ブロックのサンプルを、予測ルーマ、CbおよびCrブロックの対応するサンプルに加算し得る。
[0199]フィルタユニット160は、CUのルーマ、CbおよびCrコーディングブロックに関連付けられたブロッキングアーティファクトを低減させるために、デブロッキング動作を実行し得る。ビデオデコーダ30は、復号ピクチャバッファ162にCUのルーマ、CbおよびCrコーディングブロックを記憶し得る。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および、図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。例えば、ビデオデコーダ30は、DPB162中のルーマ、CbおよびCrブロックに基づいて、他のCUのPUに対してイントラ予測またはインター予測動作を実行し得る。
[0200]本開示の様々な例に従って、ビデオデコーダ30は、LMベースのコーディングを実行するように構成され得る。LMベースの復号ユニット165は、例えば、線形モデル(LM)予測復号を実行し得る。例えば、LMベースの復号ユニット165は、復号されている現在のクロマブロックに対応するルーマブロックの再構成されたルーマサンプルをダウンサンプリングし得る。LMベースの復号ユニット165は、予測ブロックを生成するために、ルーマブロックのダウンサンプリングされた再構成されたルーマサンプルをスケーリングし得る。その後、再構成ユニット158は、クロマブロックを再構成するために、生成された予測ブロックを、クロマブロックについての復号された残差データに加算し得る。いくつかの例では、LMベースの復号ユニット165は、成分間残差予測の一部として、そのような技法を適用し得る。このケースでは、クロマブロックは、クロマ残差ブロックであり、ルーマブロックは、ルーマ残差ブロックである。
[0201]例えば、LMベースの復号ユニット165は、クロマブロックに対応するルーマブロックを決定し得る。LMベースの復号ユニット165は、本開示で説明される例となる技法を利用して、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定し得る。LMベースの復号ユニット165は、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータ(例えば、上記で説明されたαおよびβ)を決定し得る。LMベースの復号ユニット165は、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定し得る。例えば、LMベースの復号ユニット165は、αrec(i,j)+βを決定し得、ここで、rec(i,j)は、クロマブロックに対応するルーマブロックのダウンサンプリングされたバージョンであり、αおよびβは、ダウンサンプリングされた隣接するルーマサンプルから決定されるスケーリングファクタである。LMベースの復号ユニット165は、ラインバッファ外に記憶された隣接するルーマサンプルのアクセスを制限するための技法のような、本開示で説明される1つまたは複数の例となる技法に従って、隣接するルーマサンプルのダウンサンプリングを実行し得る。
[0202]その後、ビデオデコーダ30は、予測ブロックに基づいて、クロマブロックをLM予測復号し得る。例えば、以下で説明されるように、ビデオデコーダ30は、クロマブロックを再構成するために、予測ブロックを残差ブロックに加算し得る。
[0203]本開示で説明される技法では、LMベースの復号ユニット165は、ルーマブロックのルーマサンプルをダウンサンプリングすることの一部として、上記の例となる技法のうちの1つまたは複数をインプリメントし得る。一例として、LMベースの復号ユニット165は、コーディングされているクロマブロックに対応するルーマブロックを決定し、ここにおいて、ルーマブロックの左上の座標は(x0,y0)であり、DPB162またはビデオデータメモリ151に記憶された、ダウンサンプリングするためのルーマサンプルを決定し、決定されたルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外し、決定されたルーマサンプルに基づいてルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて予測ブロックを決定し、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号し得る。例えば、ダウンサンプリングするためのルーマサンプルを決定することは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外することを含む。
[0204]例えば、LMベースの復号ユニット165は、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし得る。フェッチされた隣接するルーマサンプルは、ルーマブロックよりも上にある複数のルーマサンプルを含み、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外する。例えば、ルーマブロックの左上ルーマサンプルよりも上かつ左にある図9に例示されるルーマサンプル(例えば、破線の左側)は、フェッチされるルーマサンプルから除外される。
[0205]別の例として、LMベースの復号ユニット165は、コーディングされているクロマブロックに対応するルーマブロックを決定し、ここにおいて、ルーマブロックの左上の座標は(x0,y0)であり、DPB162またはビデオデータメモリ151に記憶された、ダウンサンプリングするためのルーマサンプルを決定し、決定されたルーマサンプルは、(x0−k)未満のx座標およびy0以上のy座標を有するルーマサンプルを除外し、ここにおいて、kは、0より大きい整数であり、決定されたルーマサンプルに基づいてルーマブロックをダウンサンプリングし、ダウンサンプリングされたルーマブロックに基づいて予測ブロックを決定し、予測ブロックに基づいて、クロマブロックを線形モデル(LM)予測復号し得る。例えば、ダウンサンプリングするためのルーマサンプルを決定することは、(x0−k)未満のx座標およびy0以上のy座標を有するルーマサンプルを除外することを含む。
[0206]例えば、LMベースの復号ユニット165は、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし得る。フェッチされた隣接するルーマサンプルは、ルーマブロックの左にある複数のルーマサンプルを含み、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外する。例えば、ルーマブロックからしきい値数のサンプルよりも左にあり(例えば、4つのサンプルよりも左にあり)かつルーマブロックの左上サンプルより下にある図13に例示されるルーマサンプル(例えば、破線の左側)は、フェッチされるルーマサンプルから除外される。
[0207]1つのケースでは、LMベースの復号ユニット165は、x0未満のx座標およびy0未満のy座標を有するルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないときは、第1のフィルタ(例えば、JCTVC−F502のもの)を適用し、x0未満のx座標およびy0未満のy座標を有するルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要であるときは、第2の異なるフィルタ(例えば、JCTVC−E266または式13のもの)を適用し得る。これらの例において、別のケースでは、LMベースの復号ユニット165は、フィルタを適用することが、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを使用することをもたらすことになるかどうかを決定し、ルーマサンプルについてのルーマ値をフェッチすることなく、x0未満のx座標およびy0未満のy座標を有するルーマサンプルについてのルーマ値を生成し(例えば、図16Bに例示されるように、隣り合うルーマサンプルに基づく値をパディングし)、ルーマブロックをダウンサンプリングするために、生成されたルーマ値を使用してフィルタを適用し得、ここにおいて、フィルタは、フィルタを適用することが、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを使用することをもたらさないであろう場合に、隣接するルーマサンプルをダウンサンプリングするために使用されるものと同じフィルタ(a same filter used)である。
[0208]例えば、上に隣接するルーマサンプルの場合、LMベースの復号ユニット165は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。LMベースの復号ユニット165は、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要であるとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。
[0209]左に隣接するルーマサンプルの場合、LMベースの復号ユニット165は、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。第1のダウンサンプリングされたルーマサンプルは、ルーマブロックから第1の数の列左にある列にある。LMベースの復号ユニット165は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要であるとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。第2のダウンサンプリングされたルーマサンプルは、ルーマブロックから第2の数の列左にある列にあり、第2の数は、第1の数より大きい。
[0210]一例では、上に隣接するルーマサンプルの場合、LMベースの復号ユニット165は、ビデオデータメモリ151からフェッチすることなく、ルーマブロックの左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成し、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る。一例では、左に隣接するルーマサンプルの場合、LMベースの復号ユニット165は、ビデオデータメモリ151からフェッチすることなく、ルーマブロックからしきい値数のサンプルよりも左かつルーマブロックの左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成し、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る。
[0211]図18は、ビデオデータを復号する例となる方法を例示するフローチャートである。例示されるように、LMベースの復号ユニット165は、クロマブロックに対応するルーマブロックを決定し得る(180)。上記で説明されたように、ブロックは、1つのルーマブロックと、2つのクロマブロックとを含み得る。クロマブロックに対応するルーマブロックは、ルーマブロックおよび対応するクロマブロックが、同じブロックからのものであることを意味する。
[0212]LMベースの復号ユニット165は、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし得る(182)。1つまたは複数の例では、LMベースの復号ユニット165は、フェッチすることからある特定の隣接するルーマサンプルを除外し得る。フェッチされないルーマサンプルは、座標(x0,y0)を有する、ルーマブロックの左上サンプルを基準にして(relative to)説明され得る。
[0213]例えば、隣接するルーマサンプルがルーマブロックよりも上にある例では、LMベースの復号ユニット165は、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し得る。一例として、図9における破線の左側のルーマサンプルは、それらが、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるので、フェッチされ得ない。この例では、フェッチされた隣接するルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外する。むしろ、図10、図11A、および図11Bに例示されているもののようなルーマサンプルは、フェッチされ得る。
[0214]隣接するルーマサンプルがルーマブロックの左にある例では、LMベースの復号ユニット165は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し得る。一例として、図13における破線の左側のルーマサンプルは、それらが、ルーマブロックからしきい値数のサンプルよりも左にあり(例えば、4つのサンプルよりも左にあり)かつルーマブロックの左上ルーマサンプルより下にあるので、フェッチされ得ない。この例では、フェッチされた隣接するルーマサンプルは、(x0−k)未満のx座標、およびy0より大きいy座標を有するルーマサンプルを除外し、ここにおいて、kは、しきい値数であり、0より大きい整数(例えば、4)である。むしろ、図14、図15A、および図15Bに例示されているもののようなルーマサンプルは、フェッチされ得る。
[0215]LMベースの復号ユニット165は、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定し得る(184)。隣接するサンプルがルーマブロックよりも上にある例では、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応する。例えば、図10、図11B、および図12Bに例示されるように、ダウンサンプリングされたルーマサンプルは、左上ルーマサンプルの真上にある。隣接するサンプルがルーマブロックの左にある例では、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応する。図11Aおよび図12Aは、ダウンサンプリングされたルーマサンプルの追加の例を例示する。例えば、図14、図15B、および図16Bに例示されるように、ダウンサンプリングされたルーマサンプルは、ルーマブロックから4つのサンプル左にあり、この例では、ルーマブロックの左のサンプルのしきい値数は、4である。これらの例では、ダウンサンプリングされたルーマサンプルは、左上ルーマサンプルから2列よりも左にある(例えば、ダウンサンプリングされたルーマサンプルは、4列左にあり、これは、2列左より大きい)。図15Aおよび図16Aは、ダウンサンプリングされたルーマサンプルの追加の例を例示する。
[0216]隣接するルーマサンプルがルーマブロックよりも上にある例では、LMベースの復号ユニット165は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。例えば、LMベースの復号ユニット165は、図11Aおよび図12Aに例示されるように、および(一例として)JCTVC−F502のもののようなフィルタを適用し得る。LMベースの復号ユニット165は、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要である(例えば、第1のものが使用された場合に、必要とされたであろう)とき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。例えば、JCTVC−F502において説明されるフィルタを利用することが、左上ルーマサンプルよりも上かつ左にあるルーマサンプルにアクセスすることをもたらすことになる場合には、LMベースの復号ユニット165は、JCTVC−E266(例えば、図11B)において説明されるフィルタと同様の、または上記で説明された式(13)(例えば、図10)に従って、フィルタを適用し得る。
[0217]隣接するルーマサンプルがルーマブロックの左にある場合、LMベースの復号ユニット165は、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。例えば、LMベースの復号ユニット165は、図15Aおよび図16Aに例示されるように、および(一例として)JCTVC−F502のもののようなフィルタを適用し得る。LMベースの復号ユニット165は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要である(例えば、第1のものが使用された場合に、必要とされたであろう)とき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。例えば、JCTVC−F502において説明されるフィルタを利用することが、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルにアクセスすることをもたらすことになる場合には、LMベースの復号ユニット165は、(例えば、図15Bに例示されるように)JCTVC−E266において説明されるフィルタと同様の、または(例えば、図14に示されるように)上記で説明された式(13)に従って、フィルタを適用し得る。
[0218]上記の例では、第1のフィルタは、ルーマブロックよりも上にある第1の行からの3つのルーマサンプルを利用し、第1の行よりも上にある第2の行からの3つのルーマサンプルを利用する。第2のフィルタは、ルーマブロックの左にある第1の行からの3つ未満のルーマサンプル(例えば、図9および図14では2つのサンプル、および図11Bおよび図15Bでは1つのサンプル)を利用し、第1の行の下にある第2の行からの3つ未満のルーマサンプル(例えば、図9および図14では2つのサンプル、および図11Bおよび図15Bでは1つのサンプル)を利用する。
[0219]いくつかの例では、異なるフィルタを使用するのではなく、LMベースの復号ユニット165は、同じフィルタを使用し得るが、フェッチするのではなく、パディングを適用する(例えば、ルーマサンプル値を生成する)。例えば、上に隣接するルーマサンプルの例の場合、LMベースの復号ユニット165は、フェッチすることなく、ルーマブロックの左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成し得、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る(例えば、図12Bの例)。左に隣接するルーマサンプルの例の場合、LMベースの復号ユニット165は、フェッチすることなく、ルーマブロックからしきい値数のサンプルよりも左かつルーマブロックの左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成し得、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る(例えば、図16Bの例)。
[0220]LMベースの復号ユニット165は、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定し得る(186)。例えば、LMベースの復号ユニット165は、ダウンサンプリングされたルーマサンプルに基づいて、αおよびβを決定し得る。LMベースの復号ユニット165は、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定し得る(188)。例えば、LMベースの復号ユニット165は、αrec(i,j)+βとして予測ブロックを決定し得、ここで、rec(i,j)は、クロマブロックに対応するルーマブロックのダウンサンプリングされたバージョンであり、αおよびβは、ダウンサンプリングされた隣接するルーマサンプルから決定されるスケーリングファクタである。
[0221]ビデオデコーダ30は、予測ブロックに基づいて、クロマブロックをLM予測復号し得る(190)。例えば、再構成ユニット158は、クロマブロックを再構成するために、予測ブロックを残差ブロックに加算し得る。
[0222]図19は、ビデオデータを符号化する例となる方法を例示するフローチャートである。例示されるように、LMベースの符号化ユニット122は、クロマブロックに対応するルーマブロックを決定し得る(200)。上記で説明されたように、ブロックは、1つのルーマブロックと、2つのクロマブロックとを含み得る。クロマブロックに対応するルーマブロックは、ルーマブロックおよび対応するクロマブロックが、同じブロックからのものであることを意味する。
[0223]LMベースの符号化ユニット122は、隣接するルーマサンプルをダウンサンプリングするために、隣接するルーマサンプルをフェッチし得る(202)。1つまたは複数の例では、LMベースの符号化ユニット122は、フェッチすることからある特定の隣接するルーマサンプルを除外し得る。フェッチされないルーマサンプルは、座標(x0,y0)を有する、ルーマブロックの左上サンプルを基準にして説明され得る。
[0224]例えば、隣接するルーマサンプルがルーマブロックよりも上にある例では、LMベースの符号化ユニット122は、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し得る。一例として、図9における破線の左側のルーマサンプルは、それらが、ルーマブロックの左上ルーマサンプルよりも上かつ左にあるので、フェッチされ得ない。この例では、フェッチされた隣接するルーマサンプルは、x0未満のx座標、およびy0未満のy座標を有するルーマサンプルを除外する。むしろ、図10、図11A、および図11Bに例示されているもののようなルーマサンプルは、フェッチされ得る。
[0225]隣接するルーマサンプルがルーマブロックの左にある例では、LMベースの符号化ユニット122は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し得る。一例として、図13における破線の左側のルーマサンプルは、それらが、ルーマブロックからしきい値数のサンプルよりも左にあり(例えば、4つのサンプルよりも左にあり)かつルーマブロックの左上ルーマサンプルより下にあるので、フェッチされ得ない。この例では、フェッチされた隣接するルーマサンプルは、(x0−k)未満のx座標、およびy0より大きいy座標を有するルーマサンプルを除外し、ここにおいて、kは、しきい値数であり、0より大きい整数(例えば、4)である。むしろ、図14、図15A、および図15Bに例示されているもののようなルーマサンプルは、フェッチされ得る。
[0226]LMベースの符号化ユニット122は、フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定し得る(204)。隣接するサンプルがルーマブロックよりも上にある例では、ダウンサンプリングされたルーマサンプルのうちの1つは、左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応する。例えば、図10、図11B、および図12Bに例示されるように、ダウンサンプリングされたルーマサンプルは、左上ルーマサンプルの真上にある。隣接するサンプルがルーマブロックの左にある例では、ダウンサンプリングされたルーマサンプルのうちの1つは、ルーマブロックからしきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応する。図11Aおよび図12Aは、ダウンサンプリングされたルーマサンプルの追加の例を例示する。例えば、図14、図15B、および図16Bに例示されるように、ダウンサンプリングされたルーマサンプルは、ルーマブロックから4つのサンプル左にあり、この例では、ルーマブロックの左のサンプルのしきい値数は、4である。これらの例では、ダウンサンプリングされたルーマサンプルは、左上ルーマサンプルから2列よりも左にある(例えば、ダウンサンプリングされたルーマサンプルは、4列左にあり、これは、2列左より大きい)。図15Aおよび図16Aは、ダウンサンプリングされたルーマサンプルの追加の例を例示する。
[0227]隣接するルーマサンプルがルーマブロックよりも上にある例では、LMベースの符号化ユニット122は、左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。例えば、LMベースの符号化ユニット122は、図11Aおよび図12Aに例示されるように、および(一例として)JCTVC−F502のもののようなフィルタを適用し得る。LMベースの符号化ユニット122は、ルーマブロックの左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要とされたであろうとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。例えば、JCTVC−F502において説明されるフィルタを利用することが、左上ルーマサンプルよりも上かつ左にあるルーマサンプルにアクセスすることをもたらすことになる場合には、LMベースの符号化ユニット122は、JCTVC−E266(例えば、図11B)と同様の、または上記で説明された式(13)(例えば、図10)に従って、フィルタを適用し得る。
[0228]隣接するルーマサンプルがルーマブロックの左にある場合、LMベースの符号化ユニット122は、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第1のセットに第1のフィルタを適用し得る。例えば、LMベースの符号化ユニット122は、図15Aおよび図16Aに例示されるように、および(一例として)JCTVC−F502のもののようなフィルタを適用し得る。LMベースの符号化ユニット122は、ルーマブロックからしきい値数のサンプルよりも左にありかつルーマブロックの左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要とされたであろうとき、複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用し得る。例えば、JCTVC−F502において説明されるフィルタを利用することが、ルーマブロックからしきい値数のサンプルよりも左にありかつ左上ルーマサンプルより下にあるルーマサンプルにアクセスすることをもたらすことになる場合には、LMベースの復号ユニット165は、JCTVC−E266(例えば、図15B)と同様の、または上記で説明された式(13)(例えば、図14)に従って、フィルタを適用し得る。
[0229]上記の例では、第1のフィルタは、ルーマブロックよりも上にある第1の行からの3つのルーマサンプルを利用し、第1の行よりも上にある第2の行からの3つのルーマサンプルを利用する。第2のフィルタは、ルーマブロックの左にある第1の行からの3つ未満のルーマサンプル(例えば、図9および図14では2つのサンプル、および図11Bおよび図15Bでは1つのサンプル)を利用し、第1の行の下にある第2の行からの3つ未満のルーマサンプル(例えば、図9および図14では2つのサンプル、および図11Bおよび図15Bでは1つのサンプル)を利用する。
[0230]いくつかの例では、異なるフィルタを使用するのではなく、LMベースの符号化ユニット122は、同じフィルタを使用し得るが、フェッチするのではなく、パディングを適用する(例えば、ルーマサンプル値を生成する)。例えば、上に隣接するルーマサンプルの例の場合、LMベースの符号化ユニット122は、フェッチすることなく、ルーマブロックの左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成し得、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る(例えば、図12Bの例)。左に隣接するルーマサンプルの例の場合、LMベースの符号化ユニット122は、フェッチすることなく、ルーマブロックからしきい値数のサンプルよりも左かつルーマブロックの左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成し得、複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、生成されたルーマ値にフィルタを適用し得る(例えば、図16Bの例)。
[0231]LMベースの符号化ユニット122は、ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定し得る(206)。例えば、LMベースの符号化ユニット122は、ダウンサンプリングされたルーマサンプルに基づいて、αおよびβを決定し得る。LMベースの符号化ユニット122は、1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定し得る(208)。例えば、LMベースの符号化ユニット122は、αrec(i,j)+βとして予測ブロックを決定し得、ここで、rec(i,j)は、クロマブロックに対応するルーマブロックのダウンサンプリングされたバージョンであり、αおよびβは、ダウンサンプリングされた隣接するルーマサンプルから決定されるスケーリングファクタである。
[0232]ビデオエンコーダは、予測ブロックに基づいて、クロマブロックをLM予測符号化し得る(210)。例えば、残差生成ユニット102は、ビデオデコーダ30によってクロマブロックを再構成するために使用される残差ブロックを生成するために、クロマブロックから予測ブロックを減算し得る。
[0233]上記で説明された技法は、ビデオエンコーダ20(図1および図2)および/またはビデオデコーダ30(図1および図3)によって実行され得、これら両方は、一般に、ビデオコーダと呼ばれ得る。同様に、ビデオコーディングは、適宜、ビデオ符号化またはビデオ復号を指し得る。加えて、ビデオ符号化およびビデオ復号は、総称的に、ビデオデータを「処理すること(processing)」と呼ばれ得る。
[0234]本明細書で説明された技法の全ては、個別にまたは組合せにおいて使用され得ることが理解されるべきである。本開示は、ブロックサイズ、スライスタイプ、等のような、ある特定の要因に依存して変わり得るいくつかのシグナリング方法を含む。シンタックス要素の推論またはシグナリングにおけるそのような変動は、アプリオリ(a-priori)にエンコーダおよびデコーダに知られ得るか、またはビデオパラメータセット(VPS)において、シーケンスパラメータセット(SPS)において、ピクチャパラメータセット(PPS)において、スライスヘッダにおいて、タイルレベルで、または他の箇所で、デコーダに明示的にシグナリングされ得る。
[0235]例に依存して、本明細書で説明された技法のうちの任意のもののある特定の動作(act)またはイベントは、異なる順序で実行され得、追加、併合、または完全に省略され得る(例えば、全ての説明された動作またはイベントが本技法の実施に必ずしも必要ではない)ことを認識されたい。さらに、ある特定の例では、動作またはイベントは、シーケンシャル順ではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて、同時並行(concurrently)に実行され得る。加えて、本開示のある特定の態様が、明確さを目的として、単一のモジュールまたはユニットによって実行されるものとして説明された一方で、本開示の技法は、ビデオコーダに関連付けられたユニットまたはモジュールの組合せによって実行され得ることが理解されるべきである。
[0236]本技法の様々な態様の特定の組合せが上記で説明された一方で、これらの組合せは、単に本開示で説明される技法の例を示すために提供されている。したがって、本開示の技法は、これらの例となる組合せに限定されるべきではなく、本開示で説明される技法の様々な態様の任意の考えられる組合せを包含し得る。
[0237]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ソフトウェアでインプリメントされる場合、これら機能は、コンピュータ可読媒体上で1つまたは複数の命令またはコードとして記憶または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体、またはデータ記憶媒体のような有形の媒体に対応するコンピュータ可読記憶媒体を含み得る。このように、コンピュータ可読媒体は一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法のインプリメンテーションのための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0238]限定ではなく例として、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、フラッシュメモリ、あるいは、データ構造または命令の形式で所望のプログラムコードを記憶するために使用され得、かつコンピュータによってアクセスされ得るその他任意の媒体を備え得る。また、任意の接続は、厳密にはコンピュータ可読媒体と称される。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、またはその他の遠隔ソースから送信される場合には、この同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まないが、代わりに非一時的な有形の記憶媒体に向けられることが理解されるべきである。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、ここでディスク(disks)は、通常磁気的にデータを再生し、一方ディスク(discs)は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0239]命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積されたまたはディスクリートな論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される場合、「プロセッサ」という用語は、任意の前述の構造または本明細書で説明された技法のインプリメンテーションに好適なその他任意の構造を指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内で提供され得、または、複合コーデックに組み込まれ得る。また、これら技法は、1つまたは複数の回路または論理要素において完全にインプリメントされ得る。
[0240]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(例えば、チップセット)を含む、幅広い様々なデバイスまたは装置でインプリメントされ得る。様々な構成要素、モジュール、またはユニットが、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために、本開示において説明されているが、必ずしも異なるハードウェアユニットによる実現を必要とするわけではない。むしろ、上記で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせられるか、または、好適なソフトウェアおよび/またはファームウェアと併せて、上記で説明されたような1つまたは複数のプロセッサを含む、相互運用ハードウェアユニットの集合によって提供され得る。
[0241]様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲の範囲内にある。

Claims (72)

  1. ビデオデータを復号する方法であって、前記方法は、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルをフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、前記ルーマブロックよりも上にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測復号することと
    を備える、方法。
  2. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外する、請求項1に記載の方法。
  3. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    前記左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、
    前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと
    を備える、請求項1に記載の方法。
  4. 前記第1のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つのルーマサンプルと、前記第1の行よりも上にある第2の行からの3つのルーマサンプルとを利用する、請求項3に記載の方法。
  5. 前記第2のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つ未満のルーマサンプルと、前記第1の行よりも上にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項3に記載の方法。
  6. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    フェッチすることなく、前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を備える、請求項1に記載の方法。
  7. 前記予測ブロックに基づいて、前記クロマブロックをLM予測復号することは、前記クロマブロックを再構成するために、前記予測ブロックを残差ブロックに加算することを備える、請求項1に記載の方法。
  8. 前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを復号すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを復号することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを復号することを備える、
    をさらに備える、請求項1に記載の方法。
  9. ビデオデータを復号するためのデバイスであって、前記デバイスは、
    ビデオデータメモリと、
    固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオデコーダと、ここにおいて、前記ビデオデコーダは、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルを前記ビデオデータメモリからフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、前記ルーマブロックよりも上にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測復号することと
    を行うように構成される、
    を備える、デバイス。
  10. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外する、請求項9に記載のデバイス。
  11. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオデコーダは、
    前記左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、
    前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと
    を行うように構成される、請求項9に記載のデバイス。
  12. 前記第1のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つのルーマサンプルと、前記第1の行よりも上にある第2の行からの3つのルーマサンプルとを利用する、請求項11に記載のデバイス。
  13. 前記第2のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つ未満のルーマサンプルと、前記第1の行よりも上にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項11に記載のデバイス。
  14. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオデコーダは、
    フェッチすることなく、前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を行うように構成される、請求項9に記載のデバイス。
  15. 前記予測ブロックに基づいて、前記クロマブロックをLM予測復号するために、前記ビデオデコーダは、前記クロマブロックを再構成するために、前記予測ブロックを残差ブロックに加算するように構成される、請求項9に記載のデバイス。
  16. 前記ビデオデコーダは、
    前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを復号すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを復号することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを復号することを備える、
    を行うように構成される、請求項9に記載のデバイス。
  17. ビデオデータを符号化する方法であって、前記方法は、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルをフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、前記ルーマブロックよりも上にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測符号化することと
    を備える、方法。
  18. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外する、請求項17に記載の方法。
  19. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    前記左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、
    前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと
    を備える、請求項17に記載の方法。
  20. 前記第1のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つのルーマサンプルと、前記第1の行よりも上にある第2の行からの3つのルーマサンプルとを利用する、請求項19に記載の方法。
  21. 前記第2のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つ未満のルーマサンプルと、前記第1の行よりも上にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項19に記載の方法。
  22. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    フェッチすることなく、前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を備える、請求項17に記載の方法。
  23. 前記予測ブロックに基づいて、前記クロマブロックをLM予測符号化することは、ビデオデコーダによって前記クロマブロックを再構成するために使用されることになる残差ブロックを生成するために、前記クロマブロックから前記予測ブロックを減算することを備える、請求項17に記載の方法。
  24. 前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを符号化すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを符号化することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを符号化することを備える、
    をさらに備える、請求項17に記載の方法。
  25. ビデオデータを符号化するためのデバイスであって、前記デバイスは、
    ビデオデータメモリと、
    固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオエンコーダと、ここにおいて、前記ビデオエンコーダは、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルを前記ビデオデータメモリからフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックの左上ルーマサンプルよりも上かつ左にあるルーマサンプルを除外し、前記ルーマブロックよりも上にある複数のルーマサンプルを備え、
    前記決定された隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルの真上にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測符号化することと
    を行うように構成される、
    を備える、デバイス。
  26. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、x0未満のx座標およびy0未満のy座標を有するルーマサンプルを除外する、請求項25に記載のデバイス。
  27. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオエンコーダは、
    前記左上ルーマサンプルよりも上かつ左にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、
    前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと
    を行うように構成される、請求項25に記載のデバイス。
  28. 前記第1のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つのルーマサンプルと、前記第1の行よりも上にある第2の行からの3つのルーマサンプルとを利用する、請求項27に記載のデバイス。
  29. 前記第2のフィルタは、前記ルーマブロックよりも上にある第1の行からの3つ未満のルーマサンプルと、前記第1の行よりも上にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項27に記載のデバイス。
  30. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオエンコーダは、
    フェッチすることなく、前記ルーマブロックの前記左上ルーマサンプルよりも上かつ左に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を行うように構成される、請求項25に記載のデバイス。
  31. 前記予測ブロックに基づいて、前記クロマブロックをLM予測符号化するために、前記ビデオエンコーダは、ビデオデコーダによって前記クロマブロックを再構成するために使用されることになる残差ブロックを生成するために、前記クロマブロックから前記予測ブロックを減算するように構成される、請求項25に記載のデバイス。
  32. 前記ビデオエンコーダは、
    前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを符号化すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを符号化することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを符号化することを備える、
    を行うように構成される、請求項25に記載のデバイス。
  33. ビデオデータを復号する方法であって、前記方法は、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルをフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックからしきい値数のサンプルよりも左にありかつ前記ルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、前記ルーマブロックの左にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記ルーマブロックから前記しきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測復号することと
    を備える、方法。
  34. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、(x0−k)未満のx座標およびy0より大きいy座標を有するルーマサンプルを除外し、kは、前記しきい値数であり、kは、0より大きい整数である、請求項33に記載の方法。
  35. kは、4に等しい、請求項34に記載の方法。
  36. 前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルから2列よりも左にあるダウンサンプリングされたルーマサンプルに対応する、請求項33に記載の方法。
  37. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、ここにおいて、前記第1のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第1の数の列左にある列にあり、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記ルーマブロックの前記左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと、ここにおいて、前記第2のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第2の数の列左にある列にあり、ここにおいて、前記第2の数は、前記第1の数より大きい、
    を備える、請求項33に記載の方法。
  38. 前記第1のフィルタは、前記ルーマブロックの左にある第1の行からの3つのルーマサンプルと、前記第1の行の下にある第2の行からの3つのルーマサンプルとを利用する、請求項37に記載の方法。
  39. 前記第2のフィルタは、前記ルーマブロックの左にある第1の行からの3つ未満のルーマサンプルと、前記第1の行の下にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項37に記載の方法。
  40. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    フェッチすることなく、前記ルーマブロックから前記しきい値数のサンプルよりも左かつ前記ルーマブロックの前記左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を備える、請求項33に記載の方法。
  41. 前記予測ブロックに基づいて、前記クロマブロックをLM予測復号することは、前記クロマブロックを再構成するために、前記予測ブロックを残差ブロックに加算することを備える、請求項33に記載の方法。
  42. 前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを復号すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを復号することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを復号することを備える、
    をさらに備える、請求項33に記載の方法。
  43. ビデオデータを復号するためのデバイスであって、前記デバイスは、
    ビデオデータメモリと、
    固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオデコーダと、ここにおいて、前記ビデオデコーダは、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルをフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックからしきい値数のサンプルよりも左にありかつ前記ルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、前記ルーマブロックの左にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記ルーマブロックから前記しきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測復号することと
    を行うように構成される、
    を備える、デバイス。
  44. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、(x0−k)未満のx座標およびy0より大きいy座標を有するルーマサンプルを除外し、kは、前記しきい値数であり、kは、0より大きい整数である、請求項43に記載のデバイス。
  45. kは、4に等しい、請求項44に記載のデバイス。
  46. 前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルから2列よりも左にあるダウンサンプリングされたルーマサンプルに対応する、請求項43に記載のデバイス。
  47. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオデコーダは、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、ここにおいて、前記第1のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第1の数の列左にある列にあり、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記ルーマブロックの前記左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと、ここにおいて、前記第2のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第2の数の列左にある列にあり、ここにおいて、前記第2の数は、前記第1の数より大きい、
    を行うように構成される、請求項43に記載のデバイス。
  48. 前記第1のフィルタは、前記ルーマブロックの左にある第1の行からの3つのルーマサンプルと、前記第1の行の下にある第2の行からの3つのルーマサンプルとを利用する、請求項47に記載のデバイス。
  49. 前記第2のフィルタは、前記ルーマブロックの左にある第1の行からの3つ未満のルーマサンプルと、前記第1の行の下にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項47に記載のデバイス。
  50. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオデコーダは、
    フェッチすることなく、前記ルーマブロックから前記しきい値数のサンプルよりも左かつ前記ルーマブロックの前記左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を行うように構成される、請求項43に記載のデバイス。
  51. 前記クロマブロックをLM予測復号するために、前記ビデオデコーダは、前記クロマブロックを再構成するために、前記予測ブロックを残差ブロックに加算するように構成される、請求項43に記載のデバイス。
  52. 前記ビデオデコーダは、
    前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを復号すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを復号するために、前記ビデオデコーダは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを復号するように構成される、
    を行うように構成される、請求項43に記載のデバイス。
  53. ビデオデータを符号化する方法であって、前記方法は、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルをフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックからしきい値数のサンプルよりも左にありかつ前記ルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、前記ルーマブロックの左にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記ルーマブロックから前記しきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測符号化することと
    を備える、方法。
  54. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、(x0−k)未満のx座標およびy0より大きいy座標を有するルーマサンプルを除外し、kは、前記しきい値数であり、kは、0より大きい整数である、請求項53に記載の方法。
  55. kは、4に等しい、請求項54に記載の方法。
  56. 前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルから2列よりも左にあるダウンサンプリングされたルーマサンプルに対応する、請求項53に記載の方法。
  57. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、ここにおいて、前記第1のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第1の数の列左にある列にあり、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記ルーマブロックの前記左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記フェッチされた隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと、ここにおいて、前記第2のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第2の数の列左にある列にあり、ここにおいて、前記第2の数は、前記第1の数より大きい、
    を備える、請求項53に記載の方法。
  58. 前記第1のフィルタは、前記ルーマブロックの左にある第1の行からの3つのルーマサンプルと、前記第1の行の下にある第2の行からの3つのルーマサンプルとを利用する、請求項57に記載の方法。
  59. 前記第2のフィルタは、前記ルーマブロックの左にある第1の行からの3つ未満のルーマサンプルと、前記第1の行の下にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項57に記載の方法。
  60. 前記複数のダウンサンプリングされたルーマサンプルを決定することは、
    フェッチすることなく、前記ルーマブロックから前記しきい値数のサンプルよりも左かつ前記ルーマブロックの前記左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を備える、請求項53に記載の方法。
  61. 前記予測ブロックに基づいて、前記クロマブロックをLM予測符号化することは、ビデオデコーダによって前記クロマブロックを再構成するために使用されることになる残差ブロックを生成するために、前記クロマブロックから前記予測ブロックを減算することを備える、請求項53に記載の方法。
  62. 前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを符号化すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを符号化することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを符号化することを備える、
    をさらに備える、請求項53に記載の方法。
  63. ビデオデータを符号化するためのデバイスであって、前記デバイスは、
    ビデオデータメモリと、
    固定機能回路またはプログラマブル回路のうちの少なくとも1つを備えるビデオエンコーダと、ここにおいて、前記ビデオエンコーダは、
    クロマブロックに対応するルーマブロックを決定することと、
    隣接するルーマサンプルをダウンサンプリングするために、前記隣接するルーマサンプルをフェッチすることと、ここにおいて、前記フェッチされた隣接するルーマサンプルは、前記ルーマブロックからしきい値数のサンプルよりも左にありかつ前記ルーマブロックの左上ルーマサンプルより下にあるルーマサンプルを除外し、前記ルーマブロックの左にある複数のルーマサンプルを備え、
    前記フェッチされた隣接するルーマサンプルに基づいて、複数のダウンサンプリングされたルーマサンプルを決定することと、ここにおいて、前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記ルーマブロックから前記しきい値数のサンプル左にあるダウンサンプリングされたルーマサンプルに対応し、
    前記ダウンサンプリングされたルーマサンプルに基づいて、1つまたは複数のスケーリングパラメータを決定することと、
    前記1つまたは複数のスケーリングパラメータに基づいて、予測ブロックを決定することと、
    前記予測ブロックに基づいて、前記クロマブロックを線形モデル(LM)予測符号化することと
    を行うように構成される、
    を備える、デバイス。
  64. 前記ルーマブロックの前記左上ルーマサンプルの座標は、(x0,y0)であり、前記フェッチされた隣接するルーマサンプルは、(x0−k)未満のx座標およびy0より大きいy座標を有するルーマサンプルを除外し、kは、前記しきい値数であり、kは、0より大きい整数である、請求項63に記載のデバイス。
  65. kは、4に等しい、請求項64に記載のデバイス。
  66. 前記ダウンサンプリングされたルーマサンプルのうちの1つは、前記左上ルーマサンプルから2列よりも左にあるダウンサンプリングされたルーマサンプルに対応する、請求項63に記載のデバイス。
  67. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオエンコーダは、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記左上ルーマサンプルより下にあるルーマサンプルが、第1のフィルタに従ってダウンサンプリングするために必要でないとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第1のダウンサンプリングされたルーマサンプルを決定するために、前記隣接するルーマサンプルの第1のセットに前記第1のフィルタを適用することと、ここにおいて、前記第1のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第1の数の列左にある列にあり、
    前記ルーマブロックから前記しきい値数のサンプルよりも左にありかつ前記ルーマブロックの前記左上ルーマサンプルより下にある少なくとも1つのルーマサンプルが、前記第1のフィルタに従ってダウンサンプリングするために必要であるとき、前記複数のダウンサンプリングされたルーマサンプルのうちの第2のダウンサンプリングされたルーマサンプルを決定するために、前記隣接するルーマサンプルの第2のセットに第2の異なるフィルタを適用することと、ここにおいて、前記第2のダウンサンプリングされたルーマサンプルは、前記ルーマブロックから第2の数の列左にある列にあり、ここにおいて、前記第2の数は、前記第1の数より大きい、
    を行うように構成される、請求項63に記載のデバイス。
  68. 前記第1のフィルタは、前記ルーマブロックの左にある第1の行からの3つのルーマサンプルと、前記第1の行の下にある第2の行からの3つのルーマサンプルとを利用する、請求項67に記載のデバイス。
  69. 前記第2のフィルタは、前記ルーマブロックの左にある第1の行からの3つ未満のルーマサンプルと、前記第1の行の下にある第2の行からの3つ未満のルーマサンプルとを利用する、請求項67に記載のデバイス。
  70. 前記複数のダウンサンプリングされたルーマサンプルを決定するために、前記ビデオエンコーダは、
    フェッチすることなく、前記ルーマブロックから前記しきい値数のサンプルよりも左かつ前記ルーマブロックの前記左上ルーマサンプルより下に位置するルーマサンプルに対応するルーマ値を生成することと、
    前記複数のダウンサンプリングされたルーマサンプルのうちの少なくとも1つのダウンサンプリングされたルーマサンプルを決定するために、前記生成されたルーマ値にフィルタを適用することと
    を行うように構成される、請求項63に記載のデバイス。
  71. 前記予測ブロックに基づいて、前記クロマブロックをLM予測符号化するために、前記ビデオエンコーダは、ビデオデコーダによって前記クロマブロックを再構成するために使用されることになる残差ブロックを生成するために、前記クロマブロックから前記予測ブロックを減算するように構成される、請求項63に記載のデバイス。
  72. 前記ビデオエンコーダは、
    前記ルーマブロックと前記クロマブロックとを含む現在のブロックについてのフラグを符号化すること、ここにおいて、前記フラグは、LM予測コーディングが前記クロマブロックに対してイネーブルにされることを示し、ここにおいて、前記フラグを符号化することは、前記LM予測コーディングが隣接ブロックに対してイネーブルにされるかどうかを示す1つまたは複数のフラグを備えるコンテキストに基づいて、前記フラグを符号化することを備える、
    を行うように構成される、請求項63に記載のデバイス。
JP2019532690A 2016-12-19 2017-12-19 ビデオコーディングのためのサンプルアクセスを伴う線形モデル予測モード Active JP7069171B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662436319P 2016-12-19 2016-12-19
US62/436,319 2016-12-19
US15/845,484 2017-12-18
US15/845,484 US10477240B2 (en) 2016-12-19 2017-12-18 Linear model prediction mode with sample accessing for video coding
PCT/US2017/067344 WO2018118940A1 (en) 2016-12-19 2017-12-19 Linear model prediction mode with sample accessing for video coding

Publications (3)

Publication Number Publication Date
JP2020502925A true JP2020502925A (ja) 2020-01-23
JP2020502925A5 JP2020502925A5 (ja) 2021-01-14
JP7069171B2 JP7069171B2 (ja) 2022-05-17

Family

ID=62562826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019532690A Active JP7069171B2 (ja) 2016-12-19 2017-12-19 ビデオコーディングのためのサンプルアクセスを伴う線形モデル予測モード

Country Status (8)

Country Link
US (1) US10477240B2 (ja)
EP (1) EP3556099A1 (ja)
JP (1) JP7069171B2 (ja)
KR (1) KR102574560B1 (ja)
CN (1) CN110024406B (ja)
BR (1) BR112019011883A2 (ja)
TW (1) TWI781972B (ja)
WO (1) WO2018118940A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022523461A (ja) * 2019-01-16 2022-04-25 オッポ広東移動通信有限公司 情報処理方法および装置、機器、記憶媒体
JP7350074B2 (ja) 2019-02-28 2023-09-25 インターデジタル ヴイシー ホールディングス, インコーポレイテッド ピクチャの符号化及び復号のための方法及び装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10873746B2 (en) * 2016-12-21 2020-12-22 Sharp Kabushiki Kaisha Intra prediction image generation device using cross-component liner model, image decoding apparatus, and image coding apparatus using same
GB2567249A (en) * 2017-10-09 2019-04-10 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
US11758159B2 (en) * 2018-05-14 2023-09-12 Intellectual Discovery Co., Ltd. Image decoding method/device, image encoding method/device, and recording medium in which bitstream is stored
CN110999290B (zh) * 2018-07-15 2021-07-16 华为技术有限公司 使用跨分量线性模型进行帧内预测的方法和装置
CA3213840A1 (en) 2018-07-16 2020-01-23 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding encoding and decoding methods
TWI814890B (zh) * 2018-08-17 2023-09-11 大陸商北京字節跳動網絡技術有限公司 簡化的跨分量預測
KR20200028856A (ko) * 2018-09-07 2020-03-17 김기백 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2020053804A1 (en) * 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. Downsampling in cross-component linear modeling
US11290713B1 (en) * 2018-09-20 2022-03-29 Lg Electronics Inc. Method and device for image decoding on basis of CCLM prediction in image coding system
JP7364669B2 (ja) * 2018-10-05 2023-10-18 華為技術有限公司 イントラ予測の方法及び装置
MX2021004028A (es) 2018-10-08 2021-06-30 Beijing Dajia Internet Information Tech Co Ltd Simplificaciones de modelo lineal de componente transversal.
US10939118B2 (en) * 2018-10-26 2021-03-02 Mediatek Inc. Luma-based chroma intra-prediction method that utilizes down-sampled luma samples derived from weighting and associated luma-based chroma intra-prediction apparatus
EP3861736A4 (en) 2018-11-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. POSITION DEPENDENT INTRAPREDICTION
US12081733B2 (en) * 2018-11-23 2024-09-03 Intellectual Discovery Co., Ltd. Inter-image component prediction method, and image encoding and decoding method and device using same
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
KR102676917B1 (ko) 2018-12-07 2024-06-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 컨텍스트 기반 인트라 예측
CN111327903B (zh) * 2018-12-13 2023-05-16 华为技术有限公司 色度块的预测方法和装置
KR20210073597A (ko) * 2018-12-21 2021-06-18 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
BR112021006547A2 (pt) * 2018-12-25 2021-07-06 Guangdong Oppo Mobile Telecommunications Corp Ltd método de previsão para decodificação, dispositivo de previsão para decodificação e mídia de armazenamento de computador que armazena um programa de previsão para decodificação
CN109672895A (zh) * 2018-12-27 2019-04-23 北京佳讯飞鸿电气股份有限公司 一种hevc帧内预测方法及系统
CN118200554A (zh) * 2018-12-27 2024-06-14 英迪股份有限公司 图像编码/解码方法和装置
US12075075B2 (en) 2018-12-28 2024-08-27 Electronics And Telecommunications Research Institute Video encoding/decoding method, device, and recording medium storing bitstream therein
CN112970257A (zh) 2019-01-02 2021-06-15 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
KR20220104076A (ko) 2019-01-09 2022-07-25 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 교차-성분 선형 모델을 사용하는 비디오 코딩
SG11202108209YA (en) * 2019-02-22 2021-08-30 Beijing Bytedance Network Technology Co Ltd Neighbouring sample selection for intra prediction
JP7123268B2 (ja) 2019-02-24 2022-08-22 北京字節跳動網絡技術有限公司 イントラ予測のためのパラメータ導出
EP3703366A1 (en) * 2019-02-28 2020-09-02 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
WO2020180737A1 (en) * 2019-03-04 2020-09-10 Alibaba Group Holding Limited Method and system for processing video content
EP3918800A4 (en) 2019-03-08 2022-07-06 Beijing Bytedance Network Technology Co., Ltd. SIGNALING TRANSFORMATION INFORMATION IN VIDEO PROCESSING
US12114000B2 (en) 2019-03-08 2024-10-08 Qualcomm Incorporated Combined residual coding in video coding
EP3939259A4 (en) * 2019-03-12 2022-12-14 Beijing Dajia Internet Information Technology Co., Ltd. VIDEO CODING USING A MULTIPLE MODEL LINEAR MODEL
WO2020192642A1 (en) 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
US10742992B1 (en) * 2019-03-26 2020-08-11 Electronic Arts Inc. Video compression for video games
BR112021019564A2 (pt) 2019-04-18 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
AU2020263199B2 (en) * 2019-04-23 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Methods for cross component dependency reduction
CN117221558A (zh) 2019-05-08 2023-12-12 北京字节跳动网络技术有限公司 跨分量编解码的适用性条件
CN113632464B (zh) * 2019-05-21 2023-04-28 华为技术有限公司 分量间预测的方法和设备
EP3973707A4 (en) 2019-06-22 2022-08-31 Beijing Bytedance Network Technology Co., Ltd. CHROMA REST SCALE SYNTAX ELEMENT
JP7448568B2 (ja) 2019-06-25 2024-03-12 オッポ広東移動通信有限公司 画像成分の予測方法、装置およびコンピュータ記憶媒体
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
CA3152954A1 (en) 2019-08-29 2021-03-04 Lg Electronics Inc. Apparatus and method for image coding based on filtering
WO2021138354A1 (en) * 2019-12-30 2021-07-08 Beijing Dajia Internet Information Technology Co., Ltd. Cross component determination of chroma and luma components of video data
CN114466905A (zh) * 2020-09-03 2022-05-10 富士高分子工业株式会社 导热性有机硅组合物及其制造方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120328013A1 (en) * 2011-06-24 2012-12-27 Madhukar Budagavi Luma-Based Chroma Intra-Prediction for Video Coding
WO2013002589A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 휘도 성분 영상을 이용한 색차 성분 영상의 예측 방법 및 예측 장치
WO2016154008A1 (en) * 2015-03-20 2016-09-29 Qualcomm Incorporated Downsampling process for linear model prediction mode

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288500B2 (en) * 2011-05-12 2016-03-15 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
US9565428B2 (en) * 2011-06-20 2017-02-07 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
CN103096055B (zh) * 2011-11-04 2016-03-30 华为技术有限公司 一种图像信号帧内预测及解码的方法和装置
US9438904B2 (en) * 2012-01-19 2016-09-06 Futurewei Technologies, Inc. Reduced look-up table for LM mode calculation
CN109218730B (zh) * 2012-01-19 2023-07-28 华为技术有限公司 用于lm帧内预测的参考像素缩减
CN104718759B (zh) * 2012-01-24 2019-01-18 华为技术有限公司 Lm模式的简化
US9438905B2 (en) * 2012-04-12 2016-09-06 Futurewei Technologies, Inc. LM mode with uniform bit-width multipliers
CN113259683B (zh) * 2013-04-08 2024-08-23 Ge视频压缩有限责任公司 分量间预测
WO2015005418A1 (ja) * 2013-07-10 2015-01-15 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
WO2016154963A1 (en) * 2015-04-01 2016-10-06 Mediatek Inc. Methods for chroma coding in video codec
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120328013A1 (en) * 2011-06-24 2012-12-27 Madhukar Budagavi Luma-Based Chroma Intra-Prediction for Video Coding
WO2013002589A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 휘도 성분 영상을 이용한 색차 성분 영상의 예측 방법 및 예측 장치
WO2016154008A1 (en) * 2015-03-20 2016-09-29 Qualcomm Incorporated Downsampling process for linear model prediction mode

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN, ET AL.: "CE6.a.4: Chroma intra prediction by reconstructed luma samples", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-E266, JPN6022000710, March 2011 (2011-03-01), pages 1 - 10, ISSN: 0004684485 *
KAI ZHANG, JIANLE CHEN, LI ZHANG, AND MARTA KARCZEWICZ: "Enhanced Cross-component Linear Model Intra-prediction", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-D0110, JPN6022000712, October 2016 (2016-10-01), pages 1 - 6, ISSN: 0004684483 *
YI-JEN CHIU, ET AL.: "CE6a: Modified down-sampling filter for LM mode of intra chroma prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-G172, JPN6022000711, November 2011 (2011-11-01), pages 1 - 6, ISSN: 0004684484 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022523461A (ja) * 2019-01-16 2022-04-25 オッポ広東移動通信有限公司 情報処理方法および装置、機器、記憶媒体
JP7379501B2 (ja) 2019-01-16 2023-11-14 オッポ広東移動通信有限公司 情報処理方法および装置、機器、記憶媒体
JP7350074B2 (ja) 2019-02-28 2023-09-25 インターデジタル ヴイシー ホールディングス, インコーポレイテッド ピクチャの符号化及び復号のための方法及び装置

Also Published As

Publication number Publication date
TW201830963A (zh) 2018-08-16
KR20190097036A (ko) 2019-08-20
US10477240B2 (en) 2019-11-12
CN110024406B (zh) 2023-07-28
TWI781972B (zh) 2022-11-01
US20180176594A1 (en) 2018-06-21
CN110024406A (zh) 2019-07-16
EP3556099A1 (en) 2019-10-23
JP7069171B2 (ja) 2022-05-17
WO2018118940A1 (en) 2018-06-28
BR112019011883A2 (pt) 2019-10-22
KR102574560B1 (ko) 2023-09-04

Similar Documents

Publication Publication Date Title
KR102574560B1 (ko) 비디오 코딩을 위해 액세스하는 샘플을 갖는 선형 모델 예측 모드
KR102520295B1 (ko) 선형 모델 예측 모드를 위한 다운샘플링 프로세스
KR102431537B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
KR102338145B1 (ko) 팔레트 모드 인코딩 및 디코딩 설계
JP6556732B2 (ja) パレットベースのビデオコーディングのためのカラーインデックスコーディング
US11190758B2 (en) Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
JP7275270B2 (ja) エンコーダ、デコーダ、及びデブロッキングフィルタの境界強度導出の対応する方法
JP2016526334A (ja) 色成分の間のサンプル予測を使用したビデオコード化
JP2017523667A (ja) ビデオコーディングにおけるカラーパレットモード
KR20180116257A (ko) 스크린 콘텐츠 코딩 및 다중-계층 코딩을 위한 가중된 예측
JP2017515386A (ja) 色域スケーラビリティのための3d色予測のために参照レイヤを信号伝達すること
JP2024531112A (ja) グリーンメタデータシグナリング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220502

R150 Certificate of patent or registration of utility model

Ref document number: 7069171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150