IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-16
(45)【発行日】2023-06-26
(54)【発明の名称】ビデオ符号化のための色変換
(51)【国際特許分類】
   H04N 19/46 20140101AFI20230619BHJP
【FI】
H04N19/46
【請求項の数】 13
(21)【出願番号】P 2021555309
(86)(22)【出願日】2020-10-01
(65)【公表番号】
(43)【公表日】2022-05-19
(86)【国際出願番号】 US2020053792
(87)【国際公開番号】W WO2021071741
(87)【国際公開日】2021-04-15
【審査請求日】2021-09-13
(31)【優先権主張番号】62/913,486
(32)【優先日】2019-10-10
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/035,218
(32)【優先日】2020-09-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,リン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】大濱 宏之
(56)【参考文献】
【文献】米国特許出願公開第2015/0373327(US,A1)
【文献】米国特許出願公開第2015/0264405(US,A1)
【文献】Mohammed Golam Sarwer Ruling Liao Jiancong Luo Yan Ye 525 Almanor Ave, Sunnyvale, CA,AHG18: Residual coding method for lossless mode [online], JVET-P JVET-P0463,ITU-T インターネット<URL:https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0463-v1.zip>,2019年10月04日,pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオ復号の方法であって、
符号化ビデオのビットストリームから、カレント符号化ユニット(CU)の残差ブロックが色空間変換によって処理されるか否かを示す第1のシンタックスエレメントを受信するステップであって、前記カレントCUの前記残差ブロックは、輝度残差ブロックと、第1の色差残差ブロックと、第2の色差残差ブロックとを含む、ステップと、
前記カレントCUの前記残差ブロックが前記色空間変換によって処理されることを前記第1のシンタックスエレメントが示すことに応じて、前記カレントCUの前記残差ブロックのそれぞれに対応する変換スキップフラグが1の値を有することと、前記カレントCUの前記残差ブロックのそれぞれに対応する量子化パラメータ(QP)が4の値を有することとに基づいて、色空間変換式の第1のオプションを使用した逆色空間変換を、前記カレントCUの前記残差ブロックに適用し、前記カレントCUの前記残差ブロックの修正版を生成するステップと
を含み、
前記色空間変換式の前記第1のオプションは、
tmp=rY[x][y]-(rCb[x][y]>>1)、
rY[x][y]=tmp+rCb[x][y]、
rCb[x][y]=tmp-(rCr[x][y]>>1)、及び
rCr[x][y]=rCb[x][y]+rCr[x][y]
を含み、
前記色空間変換式の前記第1のオプションへの入力は、
要素rY[x][y]を有する前記輝度残差ブロックの輝度残差サンプルの配列と、
要素rCb[x][y]を有する前記第1の色差残差ブロックの色差残差サンプルの配列と、
要素rCr[x][y]を有する前記第2の色差残差ブロックの色差残差サンプルの配列と
を含み、
前記色空間変換式の前記第1のオプションからの出力は、
要素rY[x][y]を有する前記輝度残差ブロックの輝度残差サンプルの修正配列と、
要素rCb[x][y]を有する前記第1の色差残差ブロックの色差残差サンプルの修正配列と、
要素rCr[x][y]を有する前記第2の色差残差ブロックの色差残差サンプルの修正配列と
を含む、方法。
【請求項2】
前記カレントCUの前記残差ブロックが前記色空間変換によって処理されることを前記第1のシンタックスエレメントが示すことに応じて、色空間変換式の2つのオプションのうち1つを選択するステップを更に含み、
色空間変換式の前記2つのオプションは、
前記色空間変換式の第1のオプションと、
tmp=rY[x][y]-rCb[x][y]、
rY[x][y]=rY[x][y]+rCb[x][y]、
rCb[x][y]=tmp-rCr[x][y]、及び
rCr[x][y]=tmp+rCr[x][y]
を含む色空間変換式の第2のオプションと
を含み、
前記色空間変換式の前記第2のオプションへの入力は、
要素rY[x][y]を有する前記輝度残差ブロックの輝度残差サンプルの配列と、
要素rCb[x][y]を有する前記第1の色差残差ブロックの色差残差サンプルの配列と、
要素rCr[x][y]を有する前記第2の色差残差ブロックの色差残差サンプルの配列と
を含み、
前記色空間変換式の前記第2のオプションからの出力は、
要素rY[x][y]を有する前記輝度残差ブロックの輝度残差サンプルの修正配列と、
要素rCb[x][y]を有する前記第1の色差残差ブロックの色差残差サンプルの修正配列と、
要素rCr[x][y]を有する前記第2の色差残差ブロックの色差残差サンプルの修正配列と
を含む、請求項1に記載の方法。
【請求項3】
前記色空間変換式の前記2つのオプションのうち1つを選択する前記ステップは、
前記カレントCUの前記残差ブロックに対応する変換スキップフラグのうち少なくとも1つが0の値を有する場合、前記色空間変換式の前記第2のオプションを選択するステップを含む、請求項2に記載の方法。
【請求項4】
前記色空間変換式の前記2つのオプションのうち1つを選択する前記ステップは、
前記カレントCUの前記残差ブロックに対応する前記QPのうち少なくとも1つが4以外の値を有する場合、前記色空間変換式の前記第2のオプションを選択するステップを含む、請求項2に記載の方法。
【請求項5】
前記色空間変換式の前記第1のオプションのみが適用されることを示す第2のシンタックスエレメントを受信するステップであって、前記第2のシンタックスエレメントは、スライスレベルのシンタックスエレメント、ピクチャレベルのシンタックスエレメント又はシーケンスレベルのシンタックスエレメントのうち1つである、ステップを更に含む、請求項2乃至4のうちいずれか1項に記載の方法。
【請求項6】
変換及び量子化がCUの残差についてバイパスされるか否かを示すフラグの値にかかわらず、前記色空間変換式の前記第1のオプションのみが適用されることを示す第2のシンタックスエレメントを受信するステップであって、前記第2のシンタックスエレメントは、スライスレベルのシンタックスエレメント、ピクチャレベルのシンタックスエレメント又はシーケンスレベルのシンタックスエレメントのうち1つである、ステップを更に含む、請求項2乃至のうちいずれか1項に記載の方法。
【請求項7】
CUを処理するために、ブロックベース差分パルス符号変調(BDPCM)が前記CUに適用されるか否かを示す変数に従って、前記色空間変換式の前記2つのオプションのうち1つを選択するステップを更に含む、請求項に記載の方法。
【請求項8】
CUの輝度サンプルのビット深度が前記CUの色差サンプルのビット深度と異なる場合、色空間変換が前記CUの残差ブロックに適用されないと決定するステップを更に含む、請求項1乃至のうちいずれか1項に記載の方法。
【請求項9】
CUの輝度サンプルのビット深度が前記CUの色差サンプルのビット深度と異なり、前記CUの残差ブロックのそれぞれに対応する変換スキップフラグが1又は0の値を有する場合、色空間変換が前記CUの前記残差ブロックに適用されないと決定するステップを更に含む、請求項1乃至のうちいずれか1項に記載の方法。
【請求項10】
CUの輝度サンプルのビット深度が前記CUの色差サンプルのビット深度と異なり、前記CUの残差ブロックのそれぞれに対応するQPが4の値を有し、前記CUの残差ブロックのそれぞれに対応する変換スキップフラグが1又は0の値を有する場合、色空間変換が前記CUの前記残差ブロックに適用されないと決定するステップを更に含む、請求項1乃至のうちいずれか1項に記載の方法。
【請求項11】
回路を含むビデオ復号の装置であって、
前記回路は、
請求項1乃至10のうちいずれか1項に記載の方法を実行するように構成される、装置。
【請求項12】
プロセッサによって実行されると、前記プロセッサに、
請求項1乃至10のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
【請求項13】
ビデオエンコーダが実行するビデオ符号化の方法であって、
カレント符号化ユニット(CU)の残差ブロックのそれぞれに対応する変換スキップフラグが1の値を有することと、前記カレントCUの前記残差ブロックのそれぞれに対応する量子化パラメータ(QP)が4の値を有することとに基づいて、色空間変換式の第1のオプションを使用した色空間変換を、前記CUの前記残差ブロックに適用し、前記カレントCUの前記残差ブロックの修正版を生成するステップと、
符号化ビデオのビットストリームにおいて、前記カレントCUの前記残差ブロックが前記色空間変換によって処理されるか否かを示す第1のシンタックスエレメントを送信するステップであって、前記カレントCUの前記残差ブロックは、輝度残差ブロックと、第1の色差残差ブロックと、第2の色差残差ブロックとを含む、ステップと
を含み、
前記色空間変換式の前記第1のオプションは、
tmp=rY[x][y]-(rCb[x][y]>>1)、
rY[x][y]=tmp+rCb[x][y]、
rCb[x][y]=tmp-(rCr[x][y]>>1)、及び
rCr[x][y]=rCb[x][y]+rCr[x][y]
を含み、
前記色空間変換式の前記第1のオプションへの入力は、
要素rY[x][y]を有する前記輝度残差ブロックの輝度残差サンプルの配列と、
要素rCb[x][y]を有する前記第1の色差残差ブロックの色差残差サンプルの配列と、
要素rCr[x][y]を有する前記第2の色差残差ブロックの色差残差サンプルの配列と
を含み、
前記色空間変換式の前記第1のオプションからの出力は、
要素rY[x][y]を有する前記輝度残差ブロックの輝度残差サンプルの修正配列と、
要素rCb[x][y]を有する前記第1の色差残差ブロックの色差残差サンプルの修正配列と、
要素rCr[x][y]を有する前記第2の色差残差ブロックの色差残差サンプルの修正配列と
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本開示は、2020年9月28日に出願された米国特許出願第17/035,218号「Color Transform for Video Coding」の優先権の利益を主張する。当該米国特許出願は、2019年10月10日に出願された米国仮出願第62/913,486号「Improved Color Transform In VVC」の優先権の利益を主張する。これらの先の出願の開示が参照によって本明細書に組み込まれる。
【0002】
[技術分野]
本開示は、概してビデオ符号化に関連する実施形態を記載する。
【背景技術】
【0003】
本明細書において提供される背景技術の説明は、本開示の背景を一般的に提示するためのものである。本願の発明者の研究は、当該研究がこの背景技術の段落に記載されている範囲において、また、出願時に従来技術として特に適することのない説明の側面も、本開示に対する従来技術として明示的にも暗示的にも認められるものではない。
【0004】
ビデオ符号化及び復号は、動き補償によるインターピクチャ予測を使用して実行できる。非圧縮ディジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する色差サンプルの空間次元を有する。一連のピクチャは、例えば、毎秒60ピクチャ又は60Hzの固定又は可変のピクチャレート(フレームレートとしても非公式に知られている)を有することができる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのようなビデオは、600Gバイトを超える記憶空間を必要とする。
【0005】
ビデオ符号化及び復号の1つの目的は、圧縮を通じて入力ビデオ信号の冗長性を低減できることである。圧縮は、場合によっては2桁以上も上記の帯域幅又は記憶空間の要件を低減するのに役立つことができる。可逆圧縮及び不可逆圧縮の双方並びにこれらの組み合わせを使用することができる。可逆圧縮とは、元の信号の正確なコピーが圧縮された元の信号から復元できる技術を示す。不可逆圧縮を使用する場合、復元された信号は、元の信号と同一ではない可能性があるが、元の信号と復元された信号との間の歪みは、復元された信号を目的のアプリケーションにとって有用にするほど十分に小さい。ビデオの場合、不可逆圧縮が広く使用されている。許容される歪みの量はアプリケーションに依存する。例えば、特定の消費者のストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容する可能性がある。達成可能な圧縮比は、より高い許容可能な歪み/許容される歪みがより高い圧縮比をもたらすことができるということを反映できる。
【0006】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化及びエントロピー符号化を含むいくつかの広いカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化では、サンプル値は、前に復元された参照ピクチャからのサンプル又は他のデータを参照せずに表される。いくつかのビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分される。サンプルの全てのブロックがイントラモードで符号化される場合、そのピクチャはイントラピクチャとすることができる。イントラピクチャと、独立デコーダリフレッシュピクチャのようなそれらの派生物は、デコーダ状態をリセットするために使用でき、したがって、符号化ビデオビットストリーム及びビデオセッションにおける最初のピクチャとして或いは静止画像として使用できる。イントラブロックのサンプルは変換を受けさせることができ、変換係数はエントロピー符号化の前に量子化できる。イントラ予測は、変換前ドメインにおけるサンプル値を最小化する技術とすることができる。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピー符号化後のブロックを表すために所与の量子化ステップサイズにおいて必要とされるビットが少なくなる。
【0008】
例えば、MPEG-2世代の符号化技術から知られているような従来のイントラ符号化は、イントラ予測を使用しない。しかし、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接しており復号順で前のデータのブロックを符号化/復号する間に取得された周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技術は、以下では「イントラ予測(intra prediction)」技術と呼ばれる。少なくともいくつかの場合、イントラ予測は復元中のカレントピクチャからの参照データのみを使用し、参照ピクチャからの参照データを使用しない点に留意すべきである。
【0009】
多くの形式のイントラ予測が存在し得る。所与のビデオ符号化技術においてこのような技術のうち1つ以上が使用できる場合、使用される技術は、イントラ予測モードで符号化できる。或る場合、モードは、サブモード及び/又はパラメータを有することができ、これらは個別に符号化されてもよく、或いは、モードコードワードに含まれてもよい。所与のモード/サブモード/パラメータの組み合わせに使用するコードワードは、イントラ予測を通じた符号化効率利得に影響を与える可能性があり、同様に、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術にも影響を与える可能性がある。
【0010】
特定のイントラ予測モードがH.264で導入され、H.265で改良されて、JEM(joint exploration model)、VVC(versatile video coding)及びBMS(benchmark set)のようなより新しい符号化技術で更に改良されている。予測ブロックは、既に利用可能なサンプルに属する隣接するサンプル値を使用して形成できる。隣接サンプルのサンプル値は、方向に従って予測ブロックにコピーされる。使用中の方向への参照は、ビットストリームにおいて符号化でき、或いは、それ自体が予測されてもよい。
【0011】
図1Aを参照すると、右下に示されているのは、H.265の33個の可能な予測子方向(35個のイントラモードのうち33個の角度モードに対応する)から知られている9個の予測子方向のサブセットである。矢印が収束する点(101)は、予測されるサンプルを表す。矢印は、サンプルが予測される方向を表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度の右上に対する1つ又は複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度でサンプル(101)の左下に対する1つ又は複数のサンプルから予測されることを示す。
【0012】
依然として図1Aを参照すると、左上には、4×4のサンプルの正方形ブロック(104)が示されている(破線の太線で示されている)。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」と、Y次元におけるその位置(例えば、行インデックス)と、X次元におけるその位置(例えば、列インデックス)とでそれぞれラベル付けされる。例えば、サンプルS21は、Y次元における第2のサンプル(上から)及びX次元における第1のサンプル(左から)である。同様に、サンプルS44は、Y次元及びX次元の双方においてブロック(104)内の第4のサンプルである。ブロックのサイズが4×4のサンプルであるので、S44は右下にある。さらに、同様の番号付け方式に従った参照サンプルが示されている。参照サンプルは、Rと、ブロック(104)に対するそのY位置(例えば、行インデックス)及びX位置(列インデックス)とでラベル付けされる。H.264及びH.265の双方において、予測サンプルは復元中のブロックに隣接しており、したがって、負の値が使用される必要はない。
【0013】
イントラピクチャ予測は、伝達された予測方向に応じて、隣接サンプルから参照サンプル値をコピーすることによって機能できる。例えば、符号化ビデオビットストリームが、このブロックについて、矢印(102)と一致する予測方向を示す信号伝達を含むと仮定する。すなわち、サンプルは、水平から45度の角度で右上に対する1つ又は複数の予測サンプルから予測されると仮定する。この場合、サンプルS41、S32、S23及びS14は、同じ参照サンプルR05から予測される。次いで、サンプルS44は、参照サンプルR08から予測される。
【0014】
或る場合、特に方向が45度で均一に割り切れない場合、参照サンプルを計算するために、複数の参照サンプルの値が、例えば補間によって組み合わされてもよい。
【0015】
ビデオ符号化技術の発達に伴い、可能な方向の数が増加している。H.264(2003年)では、9個の異なる方向が表現可能であった。これは、H.265(2013年)で33個に増加し、開示の時点でのJEM/VVC/BMSでは、最大で65個の方向をサポートできる。最も可能性の高い方向を特定するために実験が行われており、エントロピー符号化における或る技術は、より可能性の低い方向に対して特定のペナルティを受け入れて、少数のビットでこれらの可能性の高い方向を表すために使用されている。さらに、場合によっては、方向自体が、隣接する既に復号されたブロックで使用される隣接方向から予測できる。
【0016】
HEVCで使用されるイントラ予測モードが図1Bに示されている。HEVCでは、合計35個のイントラ予測モードが存在し、その中で、モード10は水平モードであり、モード26は垂直モードであり、モード2、モード18及びモード34は対角モードである。イントラ予測モードは、3つの最確モード(MPM, most probable mode)及び32個の残りのモードで伝達される。
【0017】
図1Cは、VVCで使用されるイントラ予測モードを示す。VVCでは、図1Cに示すように、合計95個のイントラ予測モードが存在し、モード18は水平モードであり、モード50は垂直モードであり、モード2、モード34及びモード66は対角モードである。モード-1~-14及びモード67~80は、広角イントラ予測(WAIP, Wide-Angle Intra Prediction)モードと呼ばれる。
【0018】
符号化ビデオビットストリームにおいて方向を表すイントラ予測方向ビットのマッピングは、ビデオ符号化技術によって異なる可能性があり、例えば、予測方向の簡単な直接マッピングから、イントラ予測モード、コードワード、MPMを含む複雑な適応方式、及び同様の技術まで及ぶ可能性がある。しかし、全ての場合で、ビデオコンテンツにおいて、特定の他の方向よりも統計的に生じにくい特定の方向が存在し得る。ビデオ圧縮の目標は冗長性の低減であるので、良好に機能するビデオ符号化技術において、これらのより可能性の低い方向は、より可能性の高い方向よりもより多くのビット数によって表される。
【0019】
ビデオ符号化及び復号は、動き補償によるインターピクチャ予測を使用して実行できる。非圧縮ディジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する色差サンプルの空間次元を有する。一連のピクチャは、例えば、毎秒60ピクチャ又は60Hzの固定又は可変のピクチャレート(フレームレートとしても非公式に知られている)を有することができる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのようなビデオは、600Gバイトを超える記憶空間を必要とする。
【0020】
動き補償は不可逆圧縮技術であり、前に復元されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MVという)によって示される方向に空間的にシフトされた後に、新たに復元されるピクチャ又はその一部の予測に使用されるという技術に関連付けることができる。場合によっては、参照ピクチャは現在復元中のピクチャと同じものにすることができる。MVは、X及びYの2次元を有してもよく、或いは、3次元を有してもよく、第3の次元は、使用中の参照ピクチャを示す(後者は、間接的に、時間次元とすることができる)。
【0021】
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから予測でき、例えば、復元中の領域に空間的に隣接しており、復号順でそのMVに先行するサンプルデータの他の領域に関連するMVから予測できる。これにより、MVを符号化するために必要なデータ量をかなり低減でき、それによって冗長性を除去し、圧縮を増加させることができる。例えば、カメラから導出された入力ビデオ信号(ナチュラルビデオとして知られている)を符号化する場合、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動し、したがって、場合によっては隣接領域のMVから導出された同様の動きベクトルを使用して予測できるという統計的な可能性が存在するので、MV予測は効果的に機能し得る。その結果、所与の領域に対して検出されたMVは、周囲のMVから予測されるMVと同様又は同一であることになり、そのMVは、エントロピー符号化の後に、MVを直接符号化する場合に使用されるものよりも少ない数のビットで表現できる。場合によって、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例になり得る。他の場合には、MV予測自体が、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差の理由で、不可逆になり得る。
【0022】
H.265/HEVC(ITU-T Rec. H.265, 「High Efficiency Video Coding」, December 2016)には、様々なMV予測メカニズムが記載されている。H.265が提供する多くのMV予測メカニズムの中で、本明細書において「空間マージ(spatial merge)」と呼ばれる技術が存在する。
【0023】
図1Dを参照すると、カレントブロック(110)は、動き探索処理中に、空間的にシフトされた同じサイズの前のブロックから予測可能であることがエンコーダによって検出されたサンプルを含む。MVを直接符号化する代わりに、MVは、1つ以上の参照ピクチャに関連するメタデータから導出でき、例えば、A0、A1及びB0、B1、B2(それぞれ102~106)と示される5個の周囲のサンプルのうちいずれか1つに関連するMVを使用して、(復号順で)最近の参照ピクチャから導出できる。H.265では、MV予測は、隣接ブロックが使用しているものと同じ参照ピクチャからの予測子を使用できる。候補リストを形成する順序はA0→B0→B1→A1→B2でもよい。
【発明の概要】
【0024】
本開示の態様は、ビデオデコーダにおいて実行されるビデオ復号の方法を提供する。シンタックスエレメントは、符号化ビデオのビットストリームから受信されてもよい。シンタックスエレメントは、カレント符号化ユニット(CU, coding unit)の残差ブロックが色空間変換によって処理されることを示してもよい。カレントCUの残差ブロックは、輝度残差ブロックと、第1の色差残差ブロックと、第2の色差残差ブロックとを含んでもよい。カレントCUの残差ブロックが色空間変換によって処理されることを示すシンタックスエレメントを受信したことに応じて、色空間変換式の2つのオプションのうち1つが選択されてもよい。色空間変換式の選択されたオプションを使用した逆色空間変換が、カレントCUの残差ブロックに適用され、カレントCUの残差ブロックの修正版を生成してもよい。
【0025】
一実施形態では、色空間変換式の2つのオプションは、
tmp=rY[x][y]-(rCb[x][y]>>1)、
rY[x][y]=tmp+rCb[x][y]、
rCb[x][y]=tmp-(rCr[x][y]>>1)、及び
rCr[x][y]=rCb[x][y]+rCr[x][y]
を含む色空間変換式の第1のオプションと、
tmp=rY[x][y]-rCb[x][y]、
rY[x][y]=rY[x][y]+rCb[x][y]、
rCb[x][y]=tmp-rCr[x][y]、及び
rCr[x][y]=tmp+rCr[x][y]
を含む色空間変換式の第2のオプションとを含む。
色空間変換式の各オプションへの入力は、要素rY[x][y]を有する輝度残差ブロックの輝度残差サンプルの配列と、要素rCb[x][y]を有する第1の色差残差ブロックの色差残差サンプルの配列と、要素rCb[x][y]を有する第2の色差残差ブロックの色差残差サンプルの配列とを含む。色空間変換式の各オプションからの出力は、要素rY[x][y]を有する輝度残差ブロックの輝度残差サンプルの修正配列と、要素rCb[x][y]を有する第1の色差残差ブロックの色差残差サンプルの修正配列と、要素rCb[x][y]を有する第2の色差残差ブロックの色差残差サンプルの修正配列とを含む。
【0026】
一実施形態では、色空間変換式の第1のオプションは、カレントCUの残差ブロックのそれぞれに対応する変換スキップフラグが1の値を有する場合に選択される。一実施形態では、色空間変換式の第2のオプションは、カレントCUの残差ブロックに対応する変換スキップフラグのうち少なくとも1つが0の値を有する場合に選択される。
【0027】
一実施形態では、色空間変換式の第1のオプションは、カレントCUの残差ブロックのそれぞれに対応する変換スキップフラグが1の値を有し、カレントCUの残差ブロックのそれぞれに対応する量子化パラメータ(QP, quantization parameter)が4の値を有する場合に選択される。一実施形態では、色空間変換式の第2のオプションは、カレントCUの残差ブロックに対応するQPのうち少なくとも1つが4以外の値を有する場合に選択される。
【0028】
一実施形態では、色空間変換式の第1のオプションのみが適用されることを示すシンタックスエレメントが受信される。シンタックスエレメントは、スライスレベルのシンタックスエレメント、ピクチャレベルのシンタックスエレメント又はシーケンスレベルのシンタックスエレメントのうち1つである。一実施形態では、変換及び量子化がCUの残差についてバイパスされるか否かを示すフラグの値にかかわらず、色空間変換式の第1のオプションのみが適用されることを示すシンタックスエレメントが受信される。シンタックスエレメントは、スライスレベルのシンタックスエレメント、ピクチャレベルのシンタックスエレメント又はシーケンスレベルのシンタックスエレメントのうち1つである。
【0029】
一実施形態では、色空間変換式の2つのオプションのうち1つは、カレントCUの残差ブロックのそれぞれに対応する変換スキップフラグの値に従って選択される。一実施形態では、色空間変換式の2つのオプションのうち1つは、ブロックベース差分パルス符号変調(BDPCM, block-based differential pulse code modulation)がカレントCUに適用されるか否かを示す変数に従って選択される。
【0030】
当該方法の実施形態は、CUの輝度サンプルのビット深度がCUの色差サンプルのビット深度と異なる場合、色空間変換がCUの残差ブロックに適用されないと決定することを更に含んでもよい。当該方法の実施形態は、CUの輝度サンプルのビット深度がCUの色差サンプルのビット深度と異なり、CUの残差ブロックのそれぞれに対応する変換スキップフラグが1又は0の値を有する場合、色空間変換がCUの残差ブロックに適用されないと決定することを更に含む。当該方法の実施形態は、CUの輝度サンプルのビット深度がCUの色差サンプルのビット深度と異なり、CUの残差ブロックのそれぞれに対応するQPが4の値を有し、CUの残差ブロックのそれぞれに対応する変換スキップフラグが1又は0の値を有する場合、色空間変換がCUの残差ブロックに適用されないと決定することを更に含んでもよい。
【0031】
本開示の態様は、ビデオ復号の装置を提供する。当該装置は、符号化ビデオのビットストリームから、カレントCUの残差ブロックが色空間変換によって処理されることを示すシンタックスエレメントを受信するように構成された回路を含んでもよい。カレントCUの残差ブロックは、輝度残差ブロックと、第1の色差残差ブロックと、第2の色差残差ブロックとを含んでもよい。カレントCUの残差ブロックが色空間変換によって処理されることを示すシンタックスエレメントを受信したことに応じて、色空間変換式の2つのオプションのうち1つが選択されてもよい。色空間変換式の選択されたオプションを使用した逆色空間変換が、カレントCUの残差ブロックに適用され、カレントCUの残差ブロックの修正版を生成してもよい。
【0032】
本開示の態様は、プロセッサによって実行されると、プロセッサにビデオ復号の方法を実行させる命令を記憶した非一時的なコンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【0033】
開示の対象物の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになる。
図1A】イントラ予測モードの例示的なサブセットの概略図である。
図1B】例示的なイントラ予測方向の図である。
図1C】例示的なイントラ予測方向の図である。
図1D】一例におけるカレントブロック及びその周囲の空間マージ候補の概略図である。
図2】一実施形態による通信システムの簡略化したブロック図の概略図である。
図3】一実施形態による通信システムの簡略化したブロック図の概略図である。
図4】一実施形態によるデコーダの簡略化したブロック図の概略図である。
図5】一実施形態によるエンコーダの簡略化したブロック図の概略図である。
図6】他の実施形態によるエンコーダのブロック図を示す。
図7】他の実施形態によるデコーダのブロック図を示す。
図8A】一実施形態によるブロック分割を示す。
図8B】一実施形態によるブロック分割ツリーを示す。
図9A】一実施形態による垂直中心側三分木分割を示す。
図9B】一実施形態による水平中心側三分木分割を示す。
図10A】様々な実施形態による異なる色差フォーマットを示す。
図10B】様々な実施形態による異なる色差フォーマットを示す。
図10C】様々な実施形態による異なる色差フォーマットを示す。
図10D】様々な実施形態による異なる色差フォーマットを示す。
図11】一実施形態による例示的なエンコーダを示す。
図12】一実施形態による例示的なデコーダを示す。
図13】一実施形態による最小輝度値と最大輝度値との間の直線を示す。
図14A】一実施形態に従ってLT_CCLMにおけるα及びβの導出に使用されるサンプルの位置を示す。
図14B】一実施形態に従ってLT_CCLMにおけるα及びβの導出に使用されるサンプルの位置を示す。
図15A】一実施形態に従ってT_CCLMにおけるα及びβの導出に使用されるサンプルの位置を示す。
図15B】一実施形態に従ってT_CCLMにおけるα及びβの導出に使用されるサンプルの位置を示す。
図16A】一実施形態に従ってL_CCLMにおけるα及びβの導出に使用されるサンプルの位置を示す。
図16B】一実施形態に従ってL_CCLMにおけるα及びβの導出に使用されるサンプルの位置を示す。
図17】一実施形態に従って隣接サンプルを2つのグループに分類する例を示す。
図18】一実施形態によるエンコーダ及びデコーダの概略図である。
図19】デコーダによって実行されるプロセスの一実施形態の図である。
図20】本開示の一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0034】
[I.ビデオエンコーダ及びデコーダシステム]
【0035】
図2は、本開示の一実施形態による通信システム(200)の簡略化したブロック図を示す。通信システム(200)は、例えば、ネットワーク(250)を介して互いに通信できる複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末デバイス(210)及び(220)を含む。図2の例では、第1の対の端末デバイス(210)及び(220)は、データの一方向伝送を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するために、ビデオデータ(例えば、端末デバイス(210)によってキャプチャされたビデオピクチャのストリーム)を符号化してもよい。符号化されたビデオデータは、1つ以上の符号化ビデオビットストリームの形式で送信されてもよい。端末デバイス(220)は、ネットワーク(250)から符号化ビデオデータを受信し、符号化ビデオデータを復号して、ビデオピクチャを復元して復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向データ伝送は、メディア提供アプリケーション等において一般的でもよい。
【0036】
他の例では、通信システム(200)は、例えば、テレビ会議中に発生し得る符号化ビデオデータの双方向伝送を実行する第2の対の端末デバイス(230)及び(240)を含む。データの双方向伝送のために、一例では、端末デバイス(230)及び(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)及び(240)の他方の端末デバイスに送信するために、ビデオデータ(例えば、端末デバイスによってキャプチャされたビデオピクチャのストリーム)を符号化してもよい。また、端末デバイス(230)及び(240)の各端末デバイスは、端末デバイス(230)及び(240)の他方の端末デバイスによって送信された符号化ビデオデータを受信してもよく、符号化ビデオデータを復号してビデオピクチャを復元してもよく、復元されたビデオデータに従って、アクセス可能な表示デバイスにビデオピクチャを表示してもよい。
【0037】
図2の例では、端末デバイス(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ及びスマートフォンとして示されることがあるが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ及び/又は専用のテレビ会議機器に適用がある。ネットワーク(250)は、例えば、有線(配線接続)及び/又は無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)及び(240)の間で符号化ビデオデータを伝達するいずれかの数のネットワークを表す。通信ネットワーク(250)は、回線交換チャネル及び/又はパケット交換チャネルにおいてデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。本説明の目的では、ネットワーク(250)のアーキテクチャ及びトポロジは、本明細書において以下に説明しない限り、本開示の動作には重要ではない。
【0038】
図3は、開示の対象物のアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の対象物は、例えば、テレビ会議、デジタルTV、デジタルメディア(CD、DVD、メモリスティック等を含む)上の圧縮ビデオの記憶等を含む、他のビデオ可能なアプリケーションにも同様に適用可能である。
【0039】
ストリーミングシステムはキャプチャサブシステム(313)を含んでもよく、当該キャプチャサブシステム(313)は、例えば、非圧縮のビデオピクチャのストリーム(302)を生成するビデオソース(301)(例えば、デジタルカメラ)を含んでもよい。一例では、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮影されたサンプルを含む。符号化ビデオデータ(304)(又は符号化ビデオビットストリーム)と比較したときに高いデータ量であることを強調する太線として描かれるビデオピクチャのストリーム(302)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子デバイス(320)によって処理されてもよい。ビデオエンコーダ(303)は、以下により詳細に説明するように、開示の対象物の態様を可能にするため或いは実装するために、ハードウェア、ソフトウェア又はこれらの組み合わせを含んでもよい。ビデオピクチャのストリーム(302)と比較したときにより低いデータ量であることを強調するために細線として描かれる符号化ビデオデータ(304)(又は符号化ビデオビットストリーム(304))は、将来の使用のためにストリーミングサーバ(305)に記憶されてもよい。図3におけるクライアントサブシステム(306)及び(308)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして符号化ビデオデータ(304)のコピー(307)及び(309)を取得してもよい。クライアントサブシステム(306)は、例えば、電子デバイス(330)内にビデオデコーダ(310)を含んでもよい。ビデオデコーダ(310)は、符号化ビデオデータの入力コピー(307)を復号し、ディスプレイ(312)(例えば、表示画面)又は他のレンダリングデバイス(図示せず)上にレンダリングできるビデオピクチャの出力ストリーム(311)を生成する。いくつかのストリーミングシステムでは、符号化ビデオデータ(304)、(307)及び(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従って符号化されてもよい。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化標準は、VVC(Versatile Video Coding)として非公式に知られている。開示の対象物は、VVCの背景において使用されてもよい。
【0040】
電子デバイス(320)及び(330)は、他の構成要素(図示せず)を含んでもよい点に留意すべきである。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含んでもよく、また、電子デバイス(330)は、ビデオエンコーダ(図示せず)を含んでもよい。
【0041】
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれてもよい。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含んでもよい。図3の例におけるビデオデコーダ(310)の代わりにビデオデコーダ(410)が使用されてもよい。
【0042】
受信機(431)は、ビデオデコーダ(410)によって復号されるべき1つ以上の符号化ビデオシーケンスを受信してもよく、同一又は他の実施形態では、一度に1つの符号化ビデオシーケンスを受信してもよく、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスとは独立している。符号化ビデオシーケンスは、チャネル(401)から受信されてもよく、当該チャネルは、符号化ビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。受信機(431)は、符号化ビデオデータを、他のデータ(例えば、符号化オーディオデータ及び/又は補助データストリーム)と共に受信してもよく、これらは、それぞれの使用エンティティ(図示せず)に転送されてもよい。受信機(431)は、符号化ビデオシーケンスを他のデータから分離してもよい。ネットワークジッタを防止するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以下、「パーサ(420)」という)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(415)はビデオデコーダ(410)の一部である。他の場合には、ビデオデコーダ(410)の外側にあってもよい(図示せず)。更に他の場合には、例えば、ネットワークジッタを防止するために、ビデオデコーダ(410)の外側にバッファメモリ(図示せず)が存在してもよく、加えて、例えば、再生タイミングに対処するために、ビデオデコーダ(410)の内側に他のバッファメモリ(415)が存在してもよい。受信機(431)が、十分な帯域幅及び制御可能性を有する記憶/転送デバイスから、或いは、アイソクロナスネットワークからデータを受信している場合、バッファメモリ(415)は必要なくてもよく或いは小さくすることができる。インターネットのようなベストエフォート型パケットネットワークでの使用については、バッファメモリ(415)が必要とされてもよく、比較的大きくすることができ、有利には適応的なサイズとすることができ、ビデオデコーダ(410)の外側のオペレーティングシステム又は同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0043】
ビデオデコーダ(410)は、符号化ビデオシーケンスからシンボル(421)を復元するためのパーサ(420)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報を含み、レンダリングデバイス(412)(例えば、表示画面)のようなレンダリングデバイスを制御するための情報を潜在的に含む。当該レンダリングデバイス(412)は、図4に示されているように、電子デバイス(430)の一体的な部分ではないが、電子デバイス(430)に結合されてもよい。レンダリングデバイスの制御情報は、補足エンハンスメント情報(SEI, Supplemental Enhancement Information)(SEIメッセージ)又はビデオユーザビリティ情報(VUI, Video Usability Information)パラメータセットフラグメント(図示せず)の形式でもよい。パーサ(420)は、受信した符号化ビデオシーケンスを解析/エントロピー復号してもよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術又は標準に従ってもよく、可変長符号化、ハフマン符号化、コンテキスト感度を伴う或いは伴わない算術符号化等を含む様々な原理に従ってもよい。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスから、ビデオデコーダ内の画素のサブグループのうち少なくとも1つについてのサブグループパラメータのセットを抽出してもよい。サブグループは、グループオブピクチャ(GOP, Group of Picture)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU, Coding Unit)、ブロック、変換ユニット(TU, Transformation Unit)、予測ユニット(PU, Prediction Unit)等を含んでもよい。また、パーサ(420)は、符号化ビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル等のような情報を抽出してもよい。
【0044】
パーサ(420)は、シンボル(421)を生成するために、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピー復号/解析動作を実行してもよい。
【0045】
シンボル(421)の復元には、符号化ビデオピクチャ又はその部分のタイプ(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロック)及び他の要因に依存して、複数の異なるユニットが関与してもよい。どのユニットがどのように関与するかは、パーサ(420)によって符号化ビデオシーケンスから解析されたサブグループ制御情報によって制御されてもよい。パーサ(420)と以下の複数ユニットとの間のこのようなサブグループ制御情報の流れは、明確にするために図示されていない。
【0046】
上記の機能ブロックの他に、ビデオデコーダ(410)は、概念的に、以下に説明するような複数の機能ユニットに細分されてもよい。商用的な制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されてもよい。しかし、開示の対象物を説明する目的で、以下の機能ユニットに概念的に細分することが適切である。
【0047】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、パーサ(420)からシンボル(421)として、制御情報(どの変換を使用するべきか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む)と共に、量子化された変換係数を受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力できるサンプル値を含むブロックを出力してもよい。
【0048】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化ブロックに関連してもよく、すなわち、前に復元されたピクチャからの予測情報を使用していないが、カレントピクチャの前に復元された部分からの予測情報を使用できるブロックに関連してもよい。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供されてもよい。場合によっては、イントラピクチャ予測ユニット(452)は、カレントピクチャバッファ(458)から取り出された周囲の既に復元された情報を使用して、復元中のブロックの同じサイズ及び形状のブロックを生成する。カレントピクチャバッファ(458)は、例えば、部分的に復元されたカレントピクチャ及び/又は完全に復元されたカレントピクチャをバッファする。場合によっては、アグリゲータ(455)は、サンプル毎に、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供された出力サンプル情報に追加する。
【0049】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化されて潜在的に動き補償されたブロックに関連してもよい。このような場合、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルを取り出してもよい。ブロックに関連するシンボル(421)に従って、取り出されたサンプルを動き補償した後に、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力(この場合には、残差サンプル又は残差信号と呼ばれる)に追加されてもよい。動き補償予測ユニット(453)に利用可能な、動き補償予測ユニット(453)が予測サンプルを取り出す参照ピクチャメモリ(457)内のアドレスは、例えば、X、Y及び参照ピクチャ成分を有することができるシンボル(421)の形式で、動きベクトルによって制御されてもよい。また、動き補償は、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(457)から取り出されるサンプル値の補間、動きベクトル予測メカニズム等を含んでもよい。
【0050】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)内の様々なループフィルタリング技術を受けてもよい。ビデオ圧縮技術はループ内フィルタ技術を含んでもよく、当該ループ内フィルタ技術は、符号化ビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(420)からシンボル(421)としてループフィルタユニット(456)に利用可能にされるが、符号化ピクチャ又は符号化ビデオシーケンスの(復号順に)前の部分の復号の間に取得されたメタ情報に応答すると共に、前に復元されてループフィルタリングされたサンプル値にも応答してもよい。
【0051】
ループフィルタユニット(456)の出力はサンプルストリームでもよく、当該サンプルストリームは、レンダリングデバイス(412)に出力されると共に、将来のインターピクチャ予測に使用するために参照ピクチャメモリ(457)に記憶されてもよい。
【0052】
特定の符号化ピクチャは、完全に復元されると、将来の予測のための参照ピクチャとして使用されてもよい。例えば、カレントピクチャに対応する符号化ピクチャが完全に復元され、符号化ピクチャが(例えば、パーサ(420)によって)参照ピクチャとして識別されると、カレントピクチャバッファ(458)は参照ピクチャメモリ(457)の一部となってもよく、新たなカレントピクチャバッファが、後続の符号化ピクチャの復元を開始する前に再割り当てされてもよい。
【0053】
ビデオデコーダ(410)は、ITU-T Rec. H.265のような標準における所定のビデオ圧縮技術に従って復号動作を実行してもよい。符号化ビデオシーケンスがビデオ圧縮技術又は標準のシンタックス及びビデオ圧縮技術又は標準に文書化されているプロファイルの双方に従うという意味で、符号化ビデオシーケンスは、使用されているビデオ圧縮技術又は標準によって指定されたシンタックスに適合してもよい。具体的には、プロファイルは、ビデオ圧縮技術又は標準で利用可能な全てのツールから特定のツールを、そのプロファイルで使用するのに利用可能な唯一のツールとして選択してもよい。また、コンプライアンスのために必要なことは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることである。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大復元サンプルレート(例えば、毎秒当たりのメガサンプル単位で測定される)、最大参照ピクチャサイズ等を制限する。場合によっては、レベルによって設定される制限は、仮想参照デコーダ(HRD, Hypothetical Reference Decoder)仕様及び符号化ビデオシーケンスで伝達されるHRDバッファ管理についてのメタデータを通じて更に制限されてもよい。
【0054】
一実施形態では、受信機(431)は、符号化ビデオと共に更なる(冗長な)データを受信してもよい。更なるデータは、符号化ビデオシーケンスの一部として含まれてもよい。更なるデータは、データを適切に復号するために、及び/又は元のビデオデータをより正確に復元するために、ビデオデコーダ(410)によって使用されてもよい。更なるデータは、例えば、時間、空間又は信号雑音比(SNR, signal noise ratio)エンハンスメント層、冗長スライス、冗長ピクチャ、前方誤り訂正コード等の形式でもよい。
【0055】
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信機(540)(例えば、送信回路)を含む。図3の例におけるビデオエンコーダ(303)の代わりにビデオエンコーダ(503)が使用されてもよい。
【0056】
ビデオエンコーダ(503)は、ビデオソース(501)(図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信してもよく、当該ビデオソース(501)は、ビデオエンコーダ(503)によって符号化されるべきビデオ画像をキャプチャしてもよい。他の例では、ビデオソース(501)は電子デバイス(520)の一部である。
【0057】
ビデオソース(501)は、デジタルビデオサンプルストリームの形式でビデオエンコーダ(503)によって符号化されるべきソースビデオシーケンスを提供してもよく、当該デジタルビデオサンプルストリームは、いずれかの適切なビット深度(例えば、8ビット、10ビット、12ビット等)、いずれかの色空間(例えば、BT.601 Y CrCB、RGB等)及びいずれかの適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)でもよい。メディア提供システムにおいて、ビデオソース(501)は、事前に準備されたビデオを記憶する記憶デバイスでもよい。テレビ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラでもよい。ビデオデータは、順に見たときに動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間配列として構成されてもよく、各画素は、使用中のサンプリング構造、色空間等に依存して、1つ以上のサンプルを含んでもよい。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【0058】
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで或いはアプリケーションによって要求されるいずれかの他の時間制約下で、ソースビデオシーケンスのピクチャを、符号化ビデオシーケンス(543)に符号化及び圧縮してもよい。適切な符号化速度を実現することは、コントローラ(550)の1つの機能である。いくつかの実施形態では、コントローラ(550)は、以下に説明するように、他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確にするために図示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技術のラムダ値等)、ピクチャサイズ、グループオブピクチャ(GOP)のレイアウト、最大動きベクトル探索範囲等を含んでもよい。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するように構成されてもよい。
【0059】
いくつかの実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。非常に簡略化した説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化されるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームのようなシンボルを生成することを担う)と、ビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)とを含んでもよい。デコーダ(533)は、(リモート)デコーダが生成するのと同様に(シンボルと符号化ビデオビットストリームとの間のいずれかの圧縮が、開示の対象物において検討されるビデオ圧縮技術において可逆であるように)、サンプルデータを生成するようにシンボルを復元する。復元されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号は、デコーダの位置(ローカル又はリモート)と独立したビット単位の正確な結果をもたらすので、参照ピクチャメモリ(534)内の内容も、ローカルエンコーダとリモートエンコーダとの間でビット単位で正確である。言い換えると、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期(例えば、チャネルエラーの理由で同期が維持できない場合の結果として生じるドリフトを含む)のこの基本原理は、いくつかの関連技術においても同様に使用される。
【0060】
「ローカル」デコーダ(533)の動作は、ビデオデコーダ(410)のような「リモート」デコーダと同じでもよく、これは、図4に関連して上記において既に詳細に説明した。しかし、図4を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)による符号化ビデオシーケンスへのシンボルの符号化/復号が可逆になり得るので、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピー復号部分は、ローカルデコーダ(533)に完全には実装されなくてもよい。
【0061】
この時点で行うことができる考察は、デコーダ内に存在する解析/エントロピー復号を除く如何なるデコーダ技術も、必然的に対応するエンコーダ内に実質的に同一の機能形式で存在する必要があることである。このため、開示の対象物はデコーダ動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0062】
いくつかの例では、動作中に、ソースコーダ(530)は、動き補償予測符号化を実行してもよく、当該動き補償予測符号化は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前に符号化されたピクチャを参照して入力ピクチャを予測的に符号化する。このように、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャの画素ブロックとの間の差を符号化する。
【0063】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化ビデオデータを復号してもよい。符号化エンジン(532)の動作は、有利には、不可逆処理でもよい。符号化ビデオデータがビデオデコーダ(図5に図示せず)で復号され得る場合、復元されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカになり得る。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダによって実行され得る復号処理を複製し、復元された参照ピクチャを参照ピクチャキャッシュ(534)に記憶させてもよい。このように、ビデオエンコーダ(503)は、遠端のビデオデコーダによって取得される(送信エラーのない)復元された参照ピクチャとして、共通の内容を有する復元された参照ピクチャのコピーをローカルに記憶してもよい。
【0064】
予測器(535)は、符号化エンジン(532)のための予測探索を実行してもよい。すなわち、符号化されるべき新たなピクチャについて、予測器(535)は、(候補参照画素ブロックとしての)サンプルデータ又は特定のメタデータ(参照ピクチャ動きベクトル、ブロック形状等)を求めて参照ピクチャメモリ(534)を検索してもよい。これらは、新たなピクチャについての適切な予測参照として機能してもよい。予測器(535)は、適切な予測参照を検出するために、サンプルブロック毎画素ブロック毎(sample block-by-pixel block)に動作してもよい。場合によっては、予測器(535)によって取得された検索結果によって決定された入力ピクチャは、参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから引き出された予測参照を有してもよい。
【0065】
コントローラ(550)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理してもよい。
【0066】
全ての上記の機能ユニットの出力は、エントロピーコーダ(545)におけるエントロピー符号化を受けてもよい。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化等のような技術に従って、シンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0067】
送信機(540)は、エントロピーコーダ(545)によって生成された符号化ビデオシーケンスをバッファして、通信チャネル(560)を介した送信の準備をしてもよく、当該通信チャネル(560)は、符号化ビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。送信機(540)は、ビデオコーダ(503)からの符号化ビデオデータを、送信されるべき他のデータ(例えば、符号化オーディオデータ及び/又は補助データストリーム(図示せず))とマージしてもよい。
【0068】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理してもよい。符号化中に、コントローラ(550)は、各符号化ピクチャに、特定の符号化ピクチャタイプを割り当ててもよい。当該符号化ピクチャタイプは、各ピクチャに適用され得る符号化技術に影響を与えてもよい。例えば、ピクチャは、しばしば、以下のピクチャタイプのうち1つとして割り当てられてもよい。
【0069】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに、符号化及び復号され得るものでもよい。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(IDR, Independent Decoder Refresh)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形例と、それぞれの用途及び特徴を認識する。
【0070】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用して符号化及び復号され得るものでもよい。
【0071】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを使用して、イントラ予測又はインター予測を使用して符号化及び復号され得るものでもよい。同様に、複数の予測ピクチャは、単一のブロックの復元のために、2つより多くの参照ピクチャ及び関連するメタデータを使用してもよい。
【0072】
一般的に、ソースピクチャは、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16のサンプルのブロック)に細分され、ブロック毎に符号化されてもよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定される通り、他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、1つ前に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して予測的に符号化されてもよい。Bピクチャのブロックは、1つ又は2つ前に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して予測的に符号化されてもよい。
【0073】
ビデオエンコーダ(503)は、ITU-T Rec. H.265のような所定のビデオ符号化技術又は標準に従って符号化動作を実行してもよい。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測符号化動作を含む様々な圧縮動作を実行してもよい。したがって、符号化ビデオデータは、使用されているビデオ符号化技術又は標準によって指定されたシンタックスに適合してもよい。
【0074】
一実施形態では、送信機(540)は、符号化ビデオと共に更なるデータを送信してもよい。ソースコーダ(530)は、符号化ビデオシーケンスの一部としてこのようなデータを含んでもよい。更なるデータは、時間/空間/SNRエンハンスメント層、冗長ピクチャ及びスライス、SEIメッセージ、VUIパラメータセットフラグメント等のような他の形式の冗長データを含んでもよい。
【0075】
ビデオは、時系列において複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてもよい。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャ内の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、カレントピクチャと呼ばれる符号化/復号中の特定のピクチャは、ブロックに分割される。カレントピクチャ内のブロックがビデオにおける前に符号化されて依然としてバッファされている参照ピクチャ内の参照ブロックに類似する場合、カレントピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによって符号化されてもよい。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合には、参照ピクチャを識別する第3の次元を有してもよい。
【0076】
いくつかの実施形態では、双方向予測技術は、インターピクチャ予測において使用されてもよい。双方向予測技術によれば、ビデオにおけるカレントピクチャへの復号順で双方とも先行する(しかし、表示順ではそれぞれ過去及び将来のものでもよい)第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャが使用される。カレントピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによって符号化されてもよい。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されてもよい。
【0077】
さらに、符号化効率を改善するために、インターピクチャ予測においてマージモード技術が使用できる。
【0078】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のために符号化ツリーユニット(CTU, coding tree unit)に分割され、ピクチャ内のCTUは、64×64の画素、32×32の画素又は16×16の画素のように、同じサイズを有する。一般的に、CTUは、1つの輝度CTBと2つの色差CTBである3つの符号化ツリーブロック(CTB, coding tree block)を含む。各CTUは、1つ又は複数の符号化ユニット(CU, coding unit)に再帰的に四分木分割されてもよい。例えば、64×64の画素のCTUは、64×64の画素の1つのCU、32×32の画素の4つのCU又は16×16の画素の16個のCUに分割できる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのようなCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測可能性に依存して1つ以上の予測ユニット(PU, prediction unit)に分割される。一般的に、各PUは、輝度予測ブロック(PB, prediction block)と2つの色差PBとを含む。一実施形態では、符号化(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの一例として輝度予測ブロックを使用すると、予測ブロックは、8×8の画素、16×16の画素、8×16の画素、16×8の画素等のように、画素の値(例えば、輝度値)の行列を含む。
【0079】
図6は、本開示の他の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンス内のカレントビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化ビデオシーケンスの一部である符号化ピクチャに符号化するように構成される。一例では、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用される。
【0080】
HEVCの例では、ビデオエンコーダ(603)は、8×8のサンプルの予測ブロック等のような処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモードを使用して最も良く符号化されるか、インターモードを使用して最も良く符号化されるか、双方向予測モードを使用して最も良く符号化されるかを決定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャに符号化するためにイントラ予測技術を使用してもよい。処理ブロックがインターモード又は双方向予測モードで符号化される場合、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャに符号化するために、それぞれインター予測技術又は双方向予測技術を使用してもよい。特定のビデオ符号化技術では、マージモード(merge mode)は、動きベクトル予測子以外の符号化された動きベクトル成分の恩恵を受けずに、動きベクトルが1つ以上の動きベクトル予測子から導出されるインターピクチャ予測サブモードでもよい。特定の他のビデオ符号化技術では、対象のブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)のような他の構成要素を含む。
【0081】
図6の例では、ビデオエンコーダ(603)は、図6に示されるように共に結合されたインターエンコーダ(630)と、イントラエンコーダ(622)と、残差計算器(623)と、スイッチ(626)と、残差エンコーダ(624)と、全体コントローラ(621)と、エントロピーエンコーダ(625)とを含む。
【0082】
インターエンコーダ(630)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、当該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、いずれかの適切な技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化ビデオ情報に基づいて復号された復号参照ピクチャである。
【0083】
イントラエンコーダ(622)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、当該ブロックを、同じピクチャ内で既に符号化されたブロックと比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。また、一例では、イントラエンコーダ(622)は、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0084】
全体コントローラ(621)は、全体制御データを決定し、全体制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、全体コントローラ(621)は、ブロックのモードを決定し、当該モードに基づいて制御信号をスイッチ(626)に提供する。例えば、モードがイントラモードである場合、全体コントローラ(621)は、残差計算器(623)によって使用されるイントラモード結果を選択するようにスイッチ(626)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。モードがインターモードである場合、全体コントローラ(621)は、残差計算器(623)によって使用されるインター予測結果を選択するようにスイッチ(626)を制御し、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
【0085】
残差計算器(623)は、受信したブロックと、イントラエンコーダ(622)又はインターエンコーダ(630)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成される。一例では、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化された変換係数を取得するための量子化処理を受ける。また、様々な実施形態では、ビデオエンコーダ(603)は、残差デコーダ(628)も含む。残差デコーダ(628)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)によって適切に使用されてもよい。例えば、インターエンコーダ(630)は、復号された残差データ及びインター予測情報に基づいて復号ブロックを生成してもよく、イントラエンコーダ(622)は、復号された残差データ及びイントラ予測情報に基づいて復号ブロックを生成してもよい。復号ブロックは、復号ピクチャを生成するように適切に処理され、復号ピクチャは、メモリ回路(図示せず)にバッファされ、いくつかの例では参照ピクチャとして使用されてもよい。
【0086】
エントロピーエンコーダ(625)は、符号化ブロックを含めるようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC標準のような適切な標準に従った様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(625)は、全体制御データと、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)と、残差情報と、他の適切な情報とをビットストリームに含めるように構成される。開示の対象物によれば、インターモード又は双方向予測モードのいずれかのマージサブモードでブロックを符号化する場合、残差情報は存在しない点に留意すべきである。
【0087】
図7は、本開示の他の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化ビデオシーケンスの一部である符号化ピクチャを受信し、符号化ピクチャを復号して復元ピクチャを生成するように構成される。一例では、ビデオデコーダ(710)は、図3の例のビデオデコーダ(310)の代わりに使用される。
【0088】
図7の例では、ビデオデコーダ(710)は、図7に示されるように共に結合されたエントロピーデコーダ(771)と、インターデコーダ(780)と、残差デコーダ(773)と、復元モジュール(774)と、イントラデコーダ(772)とを含む。
【0089】
エントロピーデコーダ(771)は、符号化ピクチャから、当該符号化ピクチャが構成されるシンタックスエレメントを表す特定のシンボルを復元するように構成されてもよい。このようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双方向予測モード、マージサブモード又は他のサブモードにおける後者の2つ等)、それぞれイントラデコーダ(772)又はインターデコーダ(780)によって予測のために使用される特定のサンプル又はメタデータを識別できる予測情報(例えば、イントラ予測情報又はインター予測情報等)、例えば、量子化された変換係数の形式の残差情報等を含んでもよい。一例では、予測モードがインターモード又は双方向予測モードである場合、インター予測情報はインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は、逆量子化を受けてもよく、残差デコーダ(773)に提供される。
【0090】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0091】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0092】
残差デコーダ(773)は、逆量子化された変換係数を抽出するための逆量子化を実行し、逆量子化された変換係数を処理して残差を周波数ドメインから空間ドメインに変換するように構成される。また、残差デコーダ(773)は、特定の制御情報(量子化パラメータ(QP, Quantizer Parameter)を含む)を必要としてもよく、その情報は、エントロピーデコーダ(771)によって提供されてもよい(これは低ボリュームの制御情報のみである可能性があるので、データ経路は図示されていない)。
【0093】
復元モジュール(774)は、空間ドメインにおいて、残差デコーダ(773)によって出力された残差と、予測結果(場合によっては、インター予測モジュール又はイントラ予測モジュールによって出力されたもの)とを結合して復元ブロックを形成するように構成され、当該復元ブロックは、復元ピクチャの一部でもよく、また、復元ビデオの一部でもよい。視覚品質を改善するために、デブッキング動作のような他の適切な動作が実行されてもよい点に留意すべきである。
【0094】
ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)は、いずれかの適切な技術を使用して実装されてもよい点に留意すべきである。一実施形態では、ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)は、1つ以上の集積回路を使用して実装されてもよい。他の実施形態では、ビデオエンコーダ(303)、(503)及び(603)並びにビデオデコーダ(310)、(410)及び(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されてもよい。
【0095】
[II.ツリー構造ベースのブロック分割]
【0096】
いくつかの実施形態によれば、CTUは、CUに含まれる個々のブロックの様々な局所特性に適応するために符号化ツリーとして示される四分木二分木(QTBT, quad tree binary tree)構造を使用することにより、CUに分割される。インターピクチャ(時間的)又はイントラピクチャ(空間的)予測を使用してピクチャ領域を符号化するか否かの決定は、CUレベルで実行されてもよい。各CUは、PU分割タイプに従って、1つ、2つ又は4つのPUに更に分割されてもよい。いくつかの実施形態では、1つのPUの内部で、同じ予測プロセスが適用され、関連情報がPUベースでデコーダに送信される。PU分割タイプに基づく予測プロセスを適用することによって残差ブロックを取得した後に、CUは、CTUについての符号化ツリーに使用される四分木構造と同様の他の四分木構造に従ってTUに分割されてもよい。いくつかの他の実施形態では、PUは、PUと同じ形状を有する1つのTUのみを含む。
【0097】
CTUについての符号化ツリーは、CU、PU及びTUを含む複数の分割タイプを含んでもよい。いくつかの実施形態では、CU又はTUは、正方形形状のみであり、PUは、インター予測ブロックについては正方形又は長方形形状でもよい。他の実施形態では、長方形形状のCU、PU及びTUが許容される。ピクチャ境界では、分割されたブロックのサイズがピクチャ境界に適合するまでブロックが四分木分割を保持するように、暗示的な四分木分割が適用されてもよい。いくつかの実施形態によれば、暗示的な分割は、分割フラグが伝達されず、その代わりに暗示されることを意味する。例えば、暗示的なQTは、ピクチャ境界ブロックについてのみQT分割が許容されることを意味する。このように、分割フラグは、ピクチャ境界で伝達されない。他の例として、BT分割のみがピクチャ境界で許容される場合、暗示的な分割は二分木分割である。いくつかの実施形態では、QT及びBTの双方がピクチャ境界で許容される場合、暗示的な分割は存在せず、分割方法は明示的に伝達される。
【0098】
いくつかの実施形態によれば、QTBT構造は、複数の分割タイプを含まず(例えば、QTBTは、CU、PU及びTUの分離を含まない)、CU分割形状についてより高い柔軟性をサポートする。例えば、QTBTブロック構造では、CUは正方形又は長方形形状のいずれかを有してもよい。図8Aは、QTBT構造によって分割されたCTU(800)の例を示す。例えば、CTU(800)は、4つの等しいサイズのサブCU(A)、(B)、(C)及び(D)に分割される。図8Bは、サブCU(A)、(B)、(C)及び(D)に対応する分岐を示す対応する符号化ツリーを示す。実線は四分木分割を示し、点線は二分木分割を示す。二分木構造は、(i)対称水平分割及び(ii)対称垂直分割の2つの分割タイプを含んでもよい。二分木の各分割(すなわち、非リーフ)ノードにおいて、どの分割タイプ(例えば、水平又は垂直)が使用されるかを示すために、1つのフラグが伝達されてもよい。0は水平分割を示し、1は垂直分割を示すか、或いはその逆を示す。四分木分割では、四分木分割はブロックを水平方向及び垂直方向の双方に分割し、等しいサイズを有する4つのサブブロックを生成するので、分割タイプは示されない。
【0099】
図8A及び8Bに示すように、サブCU(A)は、まず垂直分割によって2つのサブブロックに分割され、左側サブブロックは、他の垂直分割によって再び分割される。サブCU(B)は、水平分割によって更に分割される。サブCU(C)は、他の四分木分割によって更に分割される。サブCU(C)の左上サブブロックは、垂直分割によって分割され、続いて水平分割によって分割される。さらに、サブCU(C)の右下サブブロックは、水平分割によって分割される。サブCU(C)の右上及び左下サブブロックは、それ以上分割されない。サブCU(D)は、それ以上分割されず、したがって、「D」分岐の下の符号化ツリーに更なるリーフノードを含まない。
【0100】
二分木リーフノードはCUと呼ばれてもよく、二分木分割は、更なる分割なしで予測及び変換処理に使用されてもよい。これは、CU、PU及びTUが、QTBT符号化ブロック構造において同じブロックサイズを有することを意味する。CUは、異なる色成分の符号化ブロック(CB, coding block)を含んでもよい。例えば、1つのCUは、4:2:0色差フォーマットのP及びBスライスの場合に1つの輝度CB及び2つの色差CBを含んでもよく、場合によっては単一の成分のCBを含んでもよい(例えば、1つのCUは、イントラピクチャ又はIスライスの場合に1つの輝度CBのみ又は2つの色差CBのみを含む)。いくつかの実施形態では、イントラピクチャ又はIスライスにおいて、TU幅又は高さは、所与の制限値(例えば、輝度については64、色差については32)を超えないように制限される。CB幅又は高さが制限値よりも大きい場合、TUのサイズが制限値を超えなくなるまでTUは更に分割される。
【0101】
いくつかの実施形態では、QTBT分割方式は以下のパラメータを含む。
CTUサイズ:四分木のルートノードサイズ
MinQTSize:許容される最小の四分木リーフノードサイズ
MaxBTSize:許容される最大の二分木ルートノードサイズ
MaxBTDepth:許容される最大の二分木の深度
MinBTSize:許容される最小の二分木リーフノードサイズ
【0102】
QTBT分割構造の一例では、CTUサイズは、2つの対応する64×64のブロックの色差サンプルを有する128×128の輝度サンプルとして設定され、MinQTSizeは16×16として設定され、MaxBTSizeは64×64として設定され、MinBTSize(幅及び高さの双方)は4×4として設定され、MaxBTDepthは4として設定される。QTBT分割構造は、まず、四分木リーフノードを生成するためにCTUに適用されてもよい。四分木リーフノードは、16×16(すなわち、MinQTSize)から128×128(すなわち、CTUサイズ)までのサイズを有してもよい。リーフ四分木ノードが128×128である場合、サイズがMaxBTSize(すなわち、64×64)を超えるので、リーフ四分木ノードは二分木によって更に分割されない。そうでない場合、リーフ四分木ノードは、二分木によって更に分割されてもよい。したがって、四分木リーフノードは、二分木のルートノードでもあり、四分木リーフノードは、0としての二分木深度を有する。二分木深度がMaxBTDepth(例えば、4)に達した場合、更なる分割は実行されない。二分木ノードがMinBTSize(例えば、4)に等しい幅を有する場合、更なる水平分割は実行されない。同様に、二分木ノードがMinBTSizeに等しい高さを有する場合、更なる垂直分割は実行されない。二分木のリーフノードは、更なる分割なしに予測及び変換処理によって更に処理される。いくつかの実施形態では、最大CTUサイズは256×256の輝度サンプルである。
【0103】
QTBT分割構造は、輝度及び色差成分が別個のQTBT構造をそれぞれ有する能力を更にサポートしてもよい。例えば、P及びBスライスについて、1つのCTU内の輝度及び色差CTBは同じQTBT構造を共有してもよい。しかし、Iスライスについては、輝度CTBはQTBT構造によってCUに分割され、色差CTBは他のQTBT構造によって色差CUに分割される。したがって、この例では、Iスライス内のCUは輝度成分の符号化ブロック、又は2つの色差成分の符号化ブロックを含み、P又はBスライス内のCUは全ての3つの色成分の符号化ブロックを含む。
【0104】
いくつかの実施形態では、小さいブロックについてのインター予測は、動き補償のメモリアクセス要件を低減するために制限されており、それにより、双方向予測は4×8及び8×4のブロックに対してサポートされず、インター予測は4×4のブロックに対してサポートされない。他の実施形態では、QTBT分割方式は、これらの制限を含まない。
【0105】
いくつかの実施形態によれば、マルチタイプツリー(MTT, Multi-type-tree)構造は、(i)四分木分割、(ii)二分木分割及び(iii)水平及び垂直中心側三分木を含む。図9Aは、垂直中心側三分木の実施形態を示し、図9Bは、水平中心側三分木の実施形態を示す。QTBT構造と比較して、MTTは、更なる構造が許容されるので、より柔軟なツリー構造とすることができる。
【0106】
三分木分割は、四分木及び二分木分割に対する補足の提供のような、かなり有利な特徴を含み、四分木及び二分木がブロック中心で分割する一方で、三分木分割はブロック中心に位置するオブジェクトをキャプチャすることができる。三分木分割の更なる利点として、提案される三分木の分割の幅及び高さは2のべき乗であるので、更なる変換は必要ない。2レベルツリーは、複雑性の低減という利点を提供する。一例として、ツリーをトラバースする複雑さはTDであり、Tは分割タイプの数であり、Dはツリーの深度である。
【0107】
[III.YUVフォーマット]
【0108】
異なるYUVフォーマット又は色差フォーマット(色差サンプリングフォーマット)が存在し、これらが図10A~10Dに示されている。各色差フォーマットは、異なる色成分の異なるサンプリング又はダウンサンプリンググリッドを定義してもよい。
【0109】
[IV.色フォーマット]
【0110】
ビデオサンプルの色は、異なる色フォーマット又は色空間(例えば、YCbCr又はRGB)で表されてもよい。RGBフォーマットでは、3つの成分(すなわち、R、G及びB)は強い相関を有し、これは3つの色成分の間で統計的な冗長性を生じる。ビデオサンプルの色表現は、線形変換を使用して異なる色空間に変換されてもよい。このような操作又はプロセスは、色空間変換と呼ばれてもよい。
【0111】
RGB色空間のYUV色空間への変換は、以下のように実行されてもよい。
式(1):Y=((66*R+129*G+25*B+128)>>8)+16
式(2):U=((-38*R-74*G+112*B+128)>>8)+128
式(3):V=((112*R-94*G-18*B+128)>>8)+128
別の形式では、RGB色空間のYUV色空間への変換は、以下のように実行されてもよい。
式(4):Y=round(0.256788*R+0.504129*G+0.097906*B)+16
式(5):U=round(-0.148223*R-0.290993*G+0.439216*B)+128
式(6):V=round(0.439216*R-0.367788*G-0.071427*B)+128
【0112】
[V.適応色変換]
【0113】
本明細書に開示される実施形態は、別々に使用されてもよく或いはいずれかの順序で組み合わされてもよい。さらに、本開示の実施形態による方法、エンコーダ及びデコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に記憶されたプログラムを実行する。本開示の実施形態によれば、ブロックという用語は、予測ブロック、符号化ブロック又は符号化ユニット(すなわち、CU)として解釈されてもよい。
【0114】
本開示の実施形態によれば、輝度成分という用語は、符号化順序で最初の成分として符号化されるいずれかの色(例えば、赤(R)又は緑(G)の色成分)を示してもよい。さらに、本開示の実施形態によれば、色差成分という用語は、符号化順序で最初の成分として符号化されないいずれかの色成分を示してもよい。例えば、2番目又は3番目の成分は、色差成分と呼ばれてもよい。
【0115】
いくつかの実施形態では、RGBビデオコンテンツの効率的な符号化のために、ループ内色変換(色空間変換とも呼ばれる)が、ピクチャブロックの異なる特性を処理するために使用されてもよい。色変換は異なるCUについて適応的に使用できるので、符号化ツールとしての色変換は適応色変換(ACT, adaptive color transform)と呼ばれてもよい。いくつかの例では、ACTは残差ドメインにおいて動作してもよい。CUレベルのフラグが、ACTの使用を示すために伝達されてもよい。
【0116】
例えば、多くのスクリーンコンテンツがRGB色空間においてキャプチャされる。RGB色空間における画像ブロックについては、通常では異なる色成分の間に強い相関が存在する可能性があるので、色空間変換が色成分間の冗長性を除去するのに有用である。しかし、或るスクリーンコンテンツについては、非常に飽和した色を有する異なる特徴を含む多くの画像ブロックが存在する可能性があり、これは、色成分の間の低い相関をもたらす。これらのブロックでは、RGB色空間で直接符号化することがより効果的になり得る。したがって、色空間変換は、異なる特性を有する画像ブロックに適応的に適用されてもよい。
【0117】
一例では、順方向ACT色変換(例えば、エンコーダで実行される変換)は、RGB色空間における画像ブロックをYCoCg色空間に変換するために、以下のように実行されてもよい。
【数1】
【0118】
逆方向ACT色変換(例えば、デコーダで実行される逆変換)は、以下のように実行されてもよい。
【数2】
【0119】
図11は、色空間変換を実行するための例示的なエンコーダ(1100)を示す。図11では、適用される色空間変換の前に、予測が実行される。例えば、インター予測又はイントラ予測は、残差信号を生成するためにカレントブロックに対して実行される。残差信号は、式(7)における変換のような順方向変換を実行するために順方向色空間変換ユニット(1102)に提供される。順方向色空間変換の出力は、クロスコンポーネント予測(CCP)ユニット(1102)に提供される。(CCP)ユニット(1102)の出力は、変換係数を生成するための或るタイプの離散コサイン変換(DCT, discrete cosine transform)のような変換を実行するために、変換(T)ユニット(1106)に提供される。変換ユニット(1106)の出力は、量子化係数を生成するために量子化器(Q)(1108)に提供される。量子化係数は、量子化係数のビンをビットストリーム内のビットに変換するために、エントロピーコーダユニット(1110)に提供される。エントロピーコーダユニット(1110)は、カレントブロックに関連するイントラ予測モード又は動きベクトル(MV, motion vector)情報を受信し、その情報をビットストリームにエントロピー符号化してもよい。
【0120】
また、エンコーダ(1100)はまた、残差信号を復元するための構成要素を含んでもよい。例えば、量子化係数は、逆量子化器(IQ)ユニット(1112)に提供されてもよい。逆量子化ユニット(IQ)の出力は、逆変換(IT)ユニット(1114)に提供されてもよい。逆変換(IT)ユニット(1114)の出力は、逆CCPユニット(1116)に提供されてもよい。逆CCPユニット(1116)の出力は、逆色空間変換ユニット(1118)に提供されてもよく、式(8)に示す変換のような逆色変換が、復元された残差信号を生成するために実行されてもよい。
【0121】
図12は、ビットストリームを残差信号に変換するための例示的なデコーダ(1200)を示す。図12に示すビットストリームは、図11の例におけるエントロピーコーダ(1110)によって生成されたビットストリームでもよい。ビットストリームはエントロピーデコーダユニット(1202)に提供されてもよい。エントロピーデコーダユニット(1202)の出力は、逆量子化(IQ)ユニット(1204)に提供されてもよい。逆量子化ユニット(IQ)(1204)の出力は、逆変換(IT)ユニット(1206)に提供されてもよい。逆変換(IT)ユニット(1206)の出力は、逆CCPユニット(1208)に提供されてもよい。逆CCPユニット(1208)の出力は、逆色空間変換ユニット(1210)に提供されてもよく、式(8)に示す変換のような逆色変換が、残差信号を生成するために実行されてもよい。イントラ予測又はインター予測は、残差信号と組み合わされる予測ブロックを生成してカレントブロックを復元するために実行されてもよい。図11及び12に開示されるユニットは、プロセッサによって或いは各ユニットの機能を実行するように設計された特殊な集積回路のような回路によって実行されるソフトウェアで実装されてもよい。
【0122】
図11及び12の例では、CCP演算は、空間残差ドメインにおいて任意選択で実行されてもよい。例えば、2番目又は3番目の色成分(色差成分とも呼ばれる)の残差は、CCPにおいて最初の色成分(輝度成分とも呼ばれる)の残差から予測されてもよい。ACTが使用されない場合、CCPは、符号化ビデオがRGB色フォーマットを有するときに符号化効率をかなり改善することができる。ACTが使用される場合、CCPは、RGB色空間におけるビデオの符号化効率を改善するために、依然としてACTと組み合わせて使用されてもよい。
【0123】
図11及び12の例では、変換演算は、例えば、CUの特性に依存して、任意選択で実行されてもよい。例えば、特定のタイプのスクリーンコンテンツについて、変換演算の使用を回避することは、変換を使用するよりも優れた符号化性能を有する可能性がある。例えば、CUレベルの変換スキップフラグは、変換がCUについてスキップされるか否かを示すために伝達されてもよい。同様に、量子化演算も任意選択でもよい。例えば、特定のタイプのビデオコンテンツ(医療画像、無線ローカルスクリーン共有)について可逆モードが構成されている場合、変換及び量子化は、特定のCUについてスキップされてもよい。例えば、適用されている可逆モードを示すために、CUレベルのCU変換及び量子化スキップフラグが伝達されてもよい。
【0124】
いくつかの実施形態では、最大変換サイズが1つの符号化ユニット(CU, coding unit)の幅又は高さよりも小さくない場合、1つのCUリーフノードも変換処理の単位として使用される。一例では、残差を符号化するための色空間を選択するために、ACTフラグが1つのCUについて伝達される。さらに、一例では、インター及びイントラブロックコピー(IBC, intra block copy)CUについて、CU内に少なくとも1つの非ゼロ係数が存在する場合、ACTは有効にされる。イントラCUについて、色差成分が輝度成分と同じイントラ予測モード(すなわち、DMモード)を選択する場合、ACTが有効にされる。一実施形態では、色変換の前後の残差信号のダイナミックレンジ変化を補償するために、例えば(-5,-5,-3)のQP調整が変換残差に適用される。
【0125】
順方向色変換及び逆方向色変換は、全ての3つの成分の残差にアクセスする必要があるので、いくつかの実施形態では、ACTは、3つの成分の全ての残差が利用可能ではないいくつかシナリオについては無効にされる。例えば、分離ツリー分割(separate-tree partition)が使用される場合、1つのCTU内の輝度及び色差サンプルは、異なるツリー構造によって分割される。その結果、輝度ツリー内のCUは輝度成分のみを含み、色差ツリー内のCUは2つの色差成分のみを含むことになる。イントラサブ分割予測(ISP, intra sub-partition prediction)が使用される場合、ISPサブ分割は輝度に適用され、色差信号は分割せずに符号化される。最後のISPサブ分割を除き、他のサブ分割は輝度成分のみを含む。したがって、ACTは、分離ツリー(デュアルツリー)分割及びISPについて無効にされてもよい。
【0126】
[VI.クロスコンポーネント線形モデル(CCLM, Cross-Component Linear Model)]
【0127】
イントラPUの色差成分について、エンコーダは、プラナー(planar)、DC、水平、垂直、輝度成分からのイントラ予測モードの直接コピー(DM)、左上クロスコンポーネント線形モード(LT_CCLM, Left and Top Cross-component Linear Mode)、左側クロスコンポーネント線形モード(L_CCLM, Left Cross-component Linear Mode)、及び上側クロスコンポーネント線形モード(T_CCLM, Top Cross-component Linear Mode)を含む8つのモードの中から最良の色差予測モードを選択してもよい。LT_CCLM、L_CCLM及びT_CCLMは、クロスコンポーネント線形モード(CCLM, Cross-component Linear Mode)のグループに分類できる。これら3つのモードの違いは、パラメータα及びβを導出するために隣接サンプルの異なる領域が使用され得ることである。LT_CCLMでは、左側及び上側の隣接サンプルの双方がパラメータα及びβを導出するために使用されてもよい。L_CCLMでは、左側の隣接サンプルのみがパラメータα及びβを導出するために使用される。T_CCLMでは、上側の隣接サンプルのみがパラメータα及びβを導出するために使用される。
【0128】
クロコンポーネント線形モデル(CCLM)予測モードは、色差成分の冗長性を低減するために使用され、色差サンプルは、以下の例示的な線形モデルを使用することによって、同じCUの復元された輝度サンプルに基づいて予測される。
式(9):predc(i,j)=α・recL’(i,j)+β
ここで、predc(i,j)は、CU内の予測される色差サンプルを表し、recL(i,j)は、同じCUのダウンサンプリングされた復元された輝度サンプルを表す。パラメータα及びβは、直線的な式によって導出されてもよく、これはmax-min法と呼ばれてもよい。この計算プロセスは、エンコーダ探索動作としてだけではなく、復号プロセスの一部として実行されてもよいので、α及びβの値を伝達するためにシンタックスは使用されなくてもよい。
【0129】
色差4:2:0フォーマットについて、CCLM予測は、図10B~10Dに示すように、色差サンプルに対応するダウンサンプリングされた輝度サンプルを得るために、6タップ補間フィルタを適用してもよい。公式の方法では、ダウンサンプリングされた輝度サンプルRec’L[x,y]は、復元された輝度サンプルから以下のように計算される。ダウンサンプリングされた輝度サンプルは、最大及び最小のサンプル点を見つけるために使用されてもよい。2つの点(輝度及び色差の対)(A,B)は、図13に示すように、隣接する輝度サンプルの集合内の最小値及び最大値でもよい。
【0130】
図13において、線形モデルパラメータα及びβは、以下の式に従って取得されてもよい。
【数3】
【0131】
一例では、乗算及びシフト演算を使用することによって除算が有利に回避される。1つのルックアップテーブル(LUT, Look-up Table)が予め計算された値を記憶するために使用されてもよく、最大輝度サンプルと最小輝度サンプルとの間の絶対差値がLUTのエントリインデックスを指定するために使用されてもよい。一例では、LUTのサイズは512でもよい。
【0132】
図14A及び14Bは、LT_CCLMにおいてα及びβの導出に使用されるサンプルの例示的な位置を示す。いくつかの例では、T_CCLMモードにおいて、上側の隣接サンプル(2*Wのサンプルを含む)のみが線形モデル係数を計算するために使用される。図15A及び15Bは、T_CCLMにおいてα及びβの導出に使用されるサンプルの例示的な位置を示す。
【0133】
いくつかの例では、L_CCLMモードにおいて、左側の隣接サンプル(2*Hのサンプルを含む)のみが線形モデル係数を計算するために使用される。図16A及び16Bは、L_CCLMにおいてα及びβの導出に使用されるサンプルの例示的な位置を示す。
【0134】
また、CCLM予測モードは、2つの色差成分の間の予測を含んでもよい(すなわち、Cr成分はCb成分から予測される)。復元されたサンプル信号を使用する代わりに、CCLM Cb-to-Cr予測が残差領域に適用されてもよい。CCLM Cb-to-Cr予測は、最終的なCr予測を形成するために、元のCrイントラ予測に重み付けされた復元後のCb残差を加えることによって実施されてもよい。
式(12):predcr*(i,j)=predcr(i,j)+αresicb’(i,j)
【0135】
CCLM luma-to-chroma予測モードは、1つの更なる色差イントラ予測モードとして追加されてもよい。エンコーダ側では、色差イントラ予測モードを選択するために、色差成分について1つの更なるレート歪み(RD, rate distortion)コスト検査が追加される。CCLM luma-to-chroma予測モード以外のイントラ予測モードがCUの色差成分に使用される場合、CCLM Cb-to-Cr予測はCr成分の予測に使用される。
【0136】
多重モデルCCLM(MMLM, Multiple Model CCLM)は、CCLMの他の拡張であり、1つより多くのモデル(例えば、2つ以上のモデル)が存在してもよい。MMLMでは、カレントブロックの隣接輝度サンプル及び隣接色差サンプルは2つのグループに分類されてもよく、各グループは線形モデルを導出するためのトレーニングセットとして使用されてもよい(すなわち、特定のα及びβは特定のグループについて導出される)。さらに、カレント輝度ブロックのサンプルも、隣接輝度サンプルの分類のための同じルールに基づいて分類されてもよい。
【0137】
図17は、隣接サンプルを2つのグループに分類する例を示す。図17に示す閾値は、隣接する復元された輝度サンプルの平均値として計算されてもよい。Rec’L[x,y]<=Thresholdを有する隣接サンプルはグループ1に分類され、Rec’L[x,y]>Thresholdを有する隣接サンプルはグループ2に分類される。
【数4】
【0138】
[VII.予測プロセスに適用されるACTの例]
【0139】
いくつかの実施形態によれば、予測プロセスがエンコーダで実行される前、且つ、復元プロセスがデコーダで実行された後に、色変換(ACT等)が適用されてもよい。エンコーダでは、ACTは予測(例えば、インター予測、イントラ予測)の前に実行されてもよく、ACTがカレントCUに適用される場合、参照サンプル及び入力の元のサンプルの双方は、異なる色空間にマッピングされてもよい。デコーダにおける画素復元のために、ACTが復元中のブロックに適用される場合、参照サンプルは、予測のために使用される前に別の色空間にマッピングされてもよく、次いで、復元サンプルは、元の色空間に戻すようにマッピングされてもよい。
【0140】
図18は、ACTを使用するエンコーダ及びデコーダプロセスの一実施形態を示す。図18に開示のユニットは、プロセッサによって或いは図18に開示の各ユニットの機能を実行するように設計された特殊な集積回路のような回路によって実行されるソフトウェアで実装されてもよい。エンコーダにおいて、ACTユニット(1800)及び(1804)は、それぞれ参照信号及び入力信号の双方に対してACT変換を実行する。ACTユニット(1800)及び(1804)によってエンコーダで実行されるACT変換は、式(7)に開示のACT変換でもよい。ACT(1800)の出力は、予測(P)ユニット(1802)に提供される。さらに、参照信号は、予測(P)ユニット(1806)に提供される。予測(P)ユニット(1802)及び(1806)は、インター予測又はイントラ予測を実行してもよい。変換(T)ユニット1808は、(i)予測(P)ユニット(1802)の出力とACTユニット(1804)の出力との間の差、及び(ii)予測(P)ユニット(1806)の出力と入力信号との間の差のうち1つを受信する。変換(T)ユニット(1808)は、離散コサイン変換(DCT, discrete cosine transform)のような変換演算を実行してもよい。変換(T)ユニット1808の出力は、係数のセットを生成するための量子化演算を実行するために、量子化ユニット(Q)(1810)に提供される。
【0141】
デコーダにおいて、逆量子化(IQ)ユニット(1812)は、逆量子化プロセスを実行するために係数を受信する。逆量子化器(IQ)ユニット(1812)の出力は、逆変換を実行するために、逆変換(IT)ユニット(1814)に提供される。ACTユニット(1820)は、予測(P)ユニット(1818)の出力と逆変換(IT)ユニット(1814)の出力との合計を受信する。ACTユニット(1816)は、参照信号を受信し、予測ユニット(1818)への入力を生成するためにACTを実行する。ACTユニット(1816)は、式(7)に開示の色変換のような色変換を実行してもよい。ACTユニット(1820)は、式(8)に開示の逆色変換などの逆色変換を実行してもよい。予測(P)ユニット(1818)及び(1822)は、インター予測又はイントラ予測を実行してもよい。復元された元の信号は、ACTユニット(1820)の出力によって或いは予測ユニット(1822)及び逆変換ユニット(1814)の出力の組み合わせによって提供される。
【0142】
[VIII.修正色変換式]
【0143】
いくつかの実施形態によれば、ACTプロセスにおいて、2番目及び3番目の色成分(色差成分)は、それぞれ順方向及び逆方向変換について、色変換の後及び前に定数cによって更にオフセットされてもよい。式(14)は、修正順方向変換を示し、式(15)は、修正逆方向(すなわち逆)変換を示す。
【数5】
【0144】
いくつかの実施形態では、定数cは、1<<(bitDepth-1)として導出され、bitDepthは入力サンプルのビット深度を示す。
【0145】
[IX.ACTと他の符号化ツールとの間の相互作用の例]
【0146】
いくつかの実施形態では、RGBフォーマットを有する入力ビデオの効率的な符号化のためにループ内色変換を可能にするために、(残差ドメインにおける或いは予測前の)色変換といくつかの符号化ツールとの間の相互作用が処理される必要がある。このような符号化ツールの例は、クロスコンポーネント線形モデル(CCLM, cross-component linear model)及びデュアルツリー分割を含む。本開示の実施形態は、特定の符号化ツールを考慮して、色変換を処理するという有利な特徴を提供する。
【0147】
いくつかの実施形態では、色変換は、異なる色成分が同じ変換ユニット分割ツリーを使用して符号化される場合にのみ適用される。一実施形態では、デュアルツリーがイントラスライスに適用される場合、色変換は、インタースライスについてのみ適用される。
【0148】
いくつかの実施形態では、(例えば、空間残差ドメインにおける)色変換が適用される場合、CCLMモードは適用又は伝達されない。この理由は、1つの成分からの残差サンプルの生成は、他の成分の復元に依存するからである。他の実施形態では、CCLMモードが使用される場合、(例えば、残差ドメインにおける)色変換は適用又は伝達されない。一実施形態では、色変換がイントラ残差サンプルに適用される場合、CCLMモードは適用又は伝達されない。この理由は、1つの成分からの残差サンプルの生成は、他の成分の復元に依存するからである。一実施形態では、色変換が残差サンプルに適用され、CCLMモードが使用される場合、(例えば、予測前の)色変換は適用又は伝達されない。
【0149】
いくつかの実施形態では、色変換は、最大の符号化ユニット(CU, coding unit)である各CTUについて伝達される。いくつかの実施形態では、色変換は、イントラ符号化ブロックについてのみ或いはインター符号化ブロックについてのみ伝達されて適用される。いくつかの実施形態では、色変換が適用される場合、デュアルツリーは適用されない(すなわち、異なる色成分は同じ変換ユニット分割を共有する)。
【0150】
いくつかの実施形態では、カレントCUについて、BitDepthYで示される輝度サンプル配列のサンプルのビット深度が、BitDepthCで示される色差サンプル配列のサンプルのビット深度と異なる場合、(例えば、空間残差ドメインにおける或いは予測前の)色変換は、CUで使用されない。例えば、カレントCUは、4:4:4色差フォーマット(RGB色フォーマット)を有するピクチャから分割できるが、輝度成分及び色差成分は、異なるビット深度で表される。例えば、輝度成分は10ビットのビット深度を有するが、色差成分は8ビットのビット深度を有する。本明細書に開示される様々な色変換式(又は色空間変換式)を適用することによる色変換は、輝度成分及び色差成分の間の統計的依存性を低減するのには効果がない可能性がある。このようなシナリオでは、デコーダは、異なる色成分について異なるビット深度を示すシンタックスエレメントが受信された場合、色変換がカレントCUに使用されないと決定してもよい。
【0151】
一実施形態では、カレントCUの各色成分インデックスについてTUレベル(又はCUレベル)で伝達された変換スキップフラグが全て1又は0に等しく、カレントCUの各成分のQPが4に等しく、輝度及び色差成分のビット深度が異なる場合、(空間残差ドメインにおける或いは予測前の)色変換はCUに使用されない。一例では、輝度又は色差成分についての変換スキップフラグは、変換(例えばDCT変換)が関連する変換ブロックに適用されるか否かを指定する。1に等しい変換スキップフラグは、関連する変換ブロックに変換が適用されないことを指定する。0に等しい変換スキップフラグは、関連する変換ブロックに変換が適用されるか否かの決定が、他のシンタックスエレメントに依存することを指定する。
【0152】
一例では、変換スキップフラグが存在しない場合、以下のように推測される。各色成分のブロックベース差分パルス符号変調(BDPCM, block-based differential pulse code modulation)フラグが1に等しい場合、変換スキップフラグは1に等しいと推測される。そうでない場合(BDPCMフラグが0に等しい場合)、変換スキップフラグは0に等しいと推測される。例えば、1に等しいBDPCMフラグは、BDPCMがカレント色差又は輝度符号化ブロックに適用されること、すなわち、変換がスキップされることを指定する。0に等しいBDPCMは、BDPCMがカレント色差又は輝度符号化ブロックに適用されないことを指定する。一例では、BDPCMフラグが存在しない場合、BDPCMフラグは0に等しいと推測される。
【0153】
一例では、CUの各成分についてのQPが4に等しい場合、変換係数を量子化するための対応する量子化ステップは1の値を有してもよい。その結果、量子化演算後の元の変換係数の値に変化は存在しない。したがって、4の値のQPは、可逆モードの効果を有する。
【0154】
一実施形態では、カレントCUの各色成分インデックスについてTUレベル(又はCUレベル)で伝達された変換スキップフラグが全て1又は0に等しく、カレントCUの各成分についてのQPが4に等しい場合、(空間残差ドメインにおける或いは予測前の)色変換はカレントCUに使用されない。
【0155】
一実施形態では、カレントCUの各色成分インデックスについてTUレベル(又はCUレベル)で伝達された変換スキップフラグが全て1又は0に等しい場合、(空間残差ドメインにおける或いは予測前の)色変換はカレントCUに使用されない。
【0156】
いくつかの実施形態では、色空間変換の2つのオプションが、符号化又は復号処理のために提供される。エンコーダは、例えば、レート歪みコスト評価に基づいて色変換を実行するために、2つのオプションのうち1つを選択し、ビットストリームで選択を伝達してもよい。或いは、エンコーダは、色変換がCUに適用されることを(例えば、フラグを送信することによって)デコーダに伝達してもよい。デコーダは、一式の条件に基づいて、2つのオプションのどちらがCUに使用されるかを決定してもよい。これらの条件の情報は、ビットストリームで送信された1つ以上のシンタックスエレメントから受信又は導出されてもよい。
【0157】
いくつかの例では、色変換の2つのオプションの逆色空間変換は以下のように定義されてもよい。
オプション1:
式(17):tmp=rY[x][y]-(rCb[x][y]>>1)
式(18):rY[x][y]=tmp+rCb[x][y]
式(19):rCb[x][y]=tmp-(rCr[x][y]>>1)
式(20):rCr[x][y]=rCb[x][y]+rCr[x][y]
オプション2:
式(21):tmp=rY[x][y]-rCb[x][y]
式(22):rY[x][y]=rY[x][y]+rCb[x][y]
式(23):rCb[x][y]=tmp-rCr[x][y]
式(24):rCr[x][y]=tmp+rCr[x][y]
ここで、各色変換オプションへの入力は、残差サンプルの配列、すなわち、輝度残差ブロックの輝度残差サンプルの配列(rYで示す)、第1の色差残差ブロックの色差残差サンプルの配列(rCbで示す)、及び第2の色差残差ブロックの色差残差サンプルの配列(rCrで示す)でもよい。[x][y]は、各残差ブロック内の残差サンプルの座標を表す。例えば、xは0からブロック幅-1の範囲の整数でもよく、yは0からブロック高さ-1の範囲の整数でもよい。
【0158】
例えば、色変換の2つのオプションであるオプション1及びオプション2は、図12の例における逆色空間変換ユニット(1210)において、輝度及び色差残差ブロックを輝度及び色差残差ブロックの修正版に変換するために使用されてもよい。
【0159】
本開示によれば、第1のオプションであるオプション1に対応する色変換は、CUの可逆処理に適してもよく、第2のオプションであるオプション2に対応する色変換は、CUの不可逆処理に適してもよい。例えば、可逆モードが有効である(例えば、1に等しい変換及び量子化スキップフラグが伝達又は解釈される)CUについて、オプション1の色変換は、オプション2の色変換よりも良好な相関除去効果を有してもよい。
【0160】
一実施形態では、カレントCUについて、色変換がCUレベルで適用されて伝達され、各成分インデックスについてCUレベル(又はTUレベル)で伝達される変換スキップフラグが全て1に等しく、カレントCUの各成分のQPが4に等しい場合、オプション1の色変換がCUに適用され得ると決定されてもよい。例えば、CUレベルの色変換有効フラグは、デコーダにおいてビットストリームから受信されてもよい。1に等しい色変換有効フラグは、カレント符号化ユニットの復号残差が色空間変換を使用して適用されることを指定する。0に等しい色変換有効フラグは、カレント符号化ユニットの復号残差が色空間変換なしに処理されることを指定する。一実施形態では、色変換有効フラグが存在しない場合、色変換有効フラグは0に等しいと推測される。値4のQPを示す1つ以上のシンタックスエレメントもビットストリームから受信されてもよい。CUレベルの色変換有効フラグ、変換スキップフラグ及びQP値の値に基づいて、デコーダはオプション1の色変換がカレントCUに適用されると決定してもよい。
【0161】
一実施形態では、カレントCUについて、色変換がCUレベルで適用されて伝達され、各成分インデックスについてCUレベル(TUレベル)で伝達される変換スキップフラグのうち少なくとも1つが1に等しくない場合、オプション2の色変換がカレントCUに適用されると決定されてもよい。一実施形態では、カレントCUについて、色変換がCUレベルで適用されて伝達され、カレントCUの成分のうち1つのQPが4に等しくない場合、オプション2の色変換がカレントCUに適用されると決定されてもよい。
【0162】
一実施形態では、カレントCUについて、色変換がCUレベルで適用されて伝達され、各成分インデックスについてCUレベルで伝達される変換スキップフラグが全て1に等しい場合、オプション1の色変換がカレントCUに適用されると決定されてもよい。
【0163】
一実施形態では、オプション1の色変換のみがCTU、スライス、ビデオシーケンス等に適用される。オプション2の色変換は使用されない。一実施形態では、オプション1の色変換のみが、変換及び量子化バイパスフラグの値にかかわらず、CTU、スライス、ビデオシーケンス等に適用される。一例では、1に等しい変換及び量子化バイパスは、変換及び量子化がカレントCUについてバイパスされることを指定する。したがって、カレントCUは、可逆モードで処理されてもよい。1に等しい変換及び量子化バイパスは、変換及び量子化がカレントCUについてバイパスされないこと、又は変換及び量子化がカレントCUについてバイパスされるか否かが他の情報に依存することを指定する。
【0164】
一実施形態では、色変換の選択(オプション1又はオプション2のいずれか)は、カレントCUの変換スキップフラグ及び/又はBDPCMフラグに依存する。一例では、色変換オプションの選択は、上記のように、カレントCUの各色成分の変換スキップフラグに依存してもよい。
【0165】
一例では、色変換オプションの選択は、カレントCUのBDPCMフラグに依存してもよい。例えば、BDPCMフラグがカレントCUの輝度又は色差成分にBDPCMモードが適用されることを示す場合、変換処理がそれぞれの輝度又は色差成分についてスキップされると決定されてもよい。そうでなく、BDPCMフラグがカレントCUの輝度又は色差成分にBDPCMモードが適用されないことを示す場合、変換がそれぞれの輝度又は色差成分に適用されると決定されてもよい。したがって、変換スキップフラグは0又は1であると解釈されてもよい。したがって、色変換オプションの選択は、上記のように、解釈された値によって各色成分の変換スキップフラグに依存してもよい。
【0166】
一例では、BDPCMモードは、カレントCUを処理するために使用される。予測プロセスにおいて、画素Aを左側隣接として有し、画素Bを上側隣接として有し、Cを左上隣接として有するカレント画素Xについて、予測P(X)は、以下のように決定されてもよい。
【数6】
予測プロセスは、カレントCUの上側行と左側列を予測する際に、フィルタリングされていない参照ピクセルを使用する。次いで、予測プロセスは、カレントCUの残りの部分のために復元された画素を使用する。画素は、CUの内部においてラスタスキャン順序で処理される。次いで、予測誤差は、変換なしに空間ドメインで量子化され、エントロピー符号化が続く。一例では、BDPCMフラグは、通常のイントラ符号化が使用されるかBDPCMが使用されるかを示すために、CUレベルで送信されてもよい。
【0167】
[X.色変換による復号プロセスの例]
【0168】
図19は、デコーダ(710)のようなデコーダによって実行されるプロセス(1900)の一実施形態を示す。プロセス(1900)は(S1901)から始まり、(S1910)に進んでもよい。
【0169】
(S1910)において、シンタックスエレメントは、符号化ビデオのビットストリームから受信されてもよい。例えば、シンタックスエレメントは、カレントCUの残差ブロックが色空間変換によって処理されることを示すCUレベルの色変換有効フラグでもよい。カレントCUの残差ブロックは、輝度残差ブロックと、第1の色差残差ブロックと、第2の色差残差ブロックとを含んでもよい。
【0170】
(S1920)において、カレントCUの残差ブロックが色空間変換によって処理されることを示すシンタックスエレメントを受信したことに応じて、色空間変換式の2つのオプションのうち1つが選択されてもよい。一例では、色空間変換式の2つのオプションは、式(17)~(20)及び式(21)~(24)で表されるオプション1及びオプション2の色空間変換に対応してもよい。他の例では、色空間変換の2つのオプションは、他の色変換式に対応する他の形式となってもよい。
【0171】
一例では、色空間変換式の2つのオプションのうち1つは、カレントCUの残差ブロックのそれぞれに対応する変換スキップフラグの値に従って選択されてもよい。変換スキップフラグは、符号化ビデオのビットストリームから受信されてもよい。或いは、変換スキップフラグが符号化ビデオのビットストリームで伝達されない場合、変換スキップフラグの値は、他の情報に基づいて解釈されてもよい。
【0172】
一例では、色空間変換式の2つのオプションのうち1つは、カレントCUの残差ブロックのそれぞれのQPに従って選択されてもよい。例えば、QPが4の値を有し、各残差ブロックの変換スキップフラグが1に等しい場合、オプション1の色変換が選択されてもよい。QPが4以外の値を有する場合、オプション2の色変換が選択されてもよい。
【0173】
一例では、色変換の2つのオプションのうち1つの選択は、カレントCUのBDPCMフラグに依存してもよい。例えば、BDPCMフラグがカレントCUの色成分にBDPCMモードが適用されることを示す場合、カレントCUのこの色成分の変換スキップフラグは1の値を有すると解釈されてもよい。2つのオプションのうち1つの選択は、カレントCUの他の色成分の変換スキップフラグの値と組み合わせて、変換スキップフラグの値に基づいてもよい。
【0174】
(S1930)において、色空間変換式の選択されたオプションを使用した逆色空間変換が、カレントCUの残差ブロックに適用され、カレントCUの残差ブロックの修正版を生成してもよい。プロセス(1900)は、(S1999)に進み、(S1999)で終了してもよい。
【0175】
[XI.コンピュータシステム]
【0176】
上記の技術は、コンピュータ読み取り可能命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ読み取り可能媒体に物理的に記憶されてもよい。例えば、図20は、開示の対象物の特定の実施形態を実装するのに適したコンピュータシステム(2000)を示す。
【0177】
コンピュータソフトウェアは、いずれかの適切な機械コード又はコンピュータ言語を使用して符号化されてもよく、当該機械コード又はコンピュータ言語は、命令を含むコードを生成するために、アセンブリ、コンパイル、リンク又は類似のメカニズムを受けてもよく、当該命令は、1つ以上のコンピュータ中央処理装置(CPU, central processing unit)、グラフィックス処理ユニット(GPU, Graphics Processing Unit)等によって、直接的に或いはインタープリタ、マイクロコード実行等を通じて実行されてもよい。
【0178】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットのデバイス等を含む様々なタイプのコンピュータ又はその構成要素上で実行されてもよい。
【0179】
コンピュータシステム(2000)について図20に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能に関する如何なる限定も示唆することを意図するものではない。また、構成要素の構成も、コンピュータシステム(2000)の例示的な実施形態に示される構成要素のいずれか1つ又は組み合わせに関する如何なる依存性又は要件も有するものとして解釈されるべきではない。
【0180】
コンピュータシステム(2000)は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(音声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力(図示せず)を通じて、1人以上の人間のユーザによる入力に応答してもよい。また、ヒューマンインタフェースデバイスは、オーディオ(例えば、会話、音楽、周辺音)、画像(スキャンされた画像、静止画カメラから取得された写真画像等)、ビデオ(2次元ビデオ、立体ピクチャを含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されてもよい。
【0181】
入力ヒューマンインタフェースデバイスは、キーボード(2001)、マウス(2002)、トラックパッド(2003)、タッチ画面(2010)、データグローブ(図示せず)、ジョイスティック(2005)、マイクロフォン(2006)、スキャナ(2007)、カメラ(2008)のうち1つ以上を含んでもよい。
【0182】
また、コンピュータシステム(2000)は、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光及び嗅覚/味覚を通じて、1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチ画面(2010)、データグローブ(図示せず)又はジョイスティック(2005)による触覚フィードバック、ただし、入力デバイスとして機能しない触覚フィードバックデバイスが存在してもよい)と、オーディオ出力デバイス(スピーカ(2009)、ヘッドフォン(図示せず)等)と、視覚出力デバイス(それぞれがタッチ画面入力機能を有しても有さなくてもよく、それぞれが触覚フィードバック機能を有しても有さなくてもよく、いくつかが2次元視覚出力又は立体出力のような手段を通じた3次元以上の出力を出力可能でもよいCRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(2010)、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))と、プリンタ(図示せず)とを含んでもよい。
【0183】
また、コンピュータシステム(2000)は、CD/DVD又は同様の媒体(2021)を有するCD/DVD ROM/RW(2020)を含む光媒体のような人間がアクセス可能な記憶デバイス及び関連する媒体、サムドライブ(2022)、取り外し可能ハードドライブ又はソリッドステートドライブ(2023)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊なROM/ASIC/PLDに基づくデバイス等を含んでもよい。
【0184】
また、当業者は、ここに開示の対象物に関連して使用される用語「コンピュータ読み取り可能媒体」が伝送媒体、搬送波又は他の非一時的な信号を含まないことを理解すべきである。
【0185】
また、コンピュータシステム(2000)は、1つ以上の通信ネットワーク(2055)へのインタフェース(2054)を含んでもよい。ネットワークは、例えば、無線、有線、光でもよい。ネットワークは、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性等でもよい。ネットワークの例は、イーサネット、無線LAN、セルラネットワーク(GSM、3G、4G、5G、LTE等を含む)、TV有線又は無線広域デジタルネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、車両及び産業(CANBusを含む)等を含む。特定のネットワークは、一般的に、特定の汎用データポート又は周辺バス(2049)に取り付けられる外部ネットワークインタフェースアダプタ(例えば、コンピュータシステム(2000)のUSBポート等)を必要とし、他のネットワークインタフェースアダプタは、一般的に、以下に説明するシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコンピュータシステムへのセルラネットワーク)に取り付けられることによって、コンピュータシステム(2000)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(2000)は、他のエンティティと通信することができる。このような通信は、一方向の受信のみ(例えば、放送TV)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)でもよく、或いは、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向でもよい。特定のプロトコル及びプロトコルスタックは、上記のようなネットワーク及びネットワークインタフェースのそれぞれにおいて使用されてもよい。
【0186】
上記のヒューマンインタフェースデバイス、人間がアクセス可能な記憶デバイス及びネットワークインタフェースは、コンピュータシステム(2000)のコア(2040)に取り付けられてもよい。
【0187】
コア(2040)は、1つ以上の中央処理装置(CPU)(2041)、グラフィックス処理ユニット(GPU)(2042)、フィールドプログラマブルゲートアレイ(FPGA, Field Programmable Gate Area)(2043)の形式の特殊なプログラム可能処理ユニット、特定のタスク用のハードウェアアクセラレータ(2044)、グラフィックスアダプタ(2050)等を含んでもよい。これらのデバイスは、読み取り専用メモリ(ROM)(2045)、ランダムアクセスメモリ(2046)、内部大容量記憶装置(内部のユーザアクセス不可能なハードドライブ、SSD等)(2047)と共に、システムバス(2048)を通じて接続されてもよい。いくつかのコンピュータシステムでは、システムバス(2048)は、更なるCPU、GPU等による拡張を可能にするために、1つ以上の物理プラグの形式でアクセス可能でもよい。周辺デバイスは、コアのシステムバス(2048)に直接取り付けられてもよく、或いは、周辺バス(2049)を通じて取り付けられてもよい。一例では、画面(2010)はグラフィックスアダプタ(2050)に接続されてもよい。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0188】
CPU(2041)、GPU(2042)、FPGA(2043)及びアクセラレータ(2044)は特定の命令を実行してもよく、当該特定の命令は、組み合わせによって上記のコンピュータコードを構成してもよい。当該コンピュータコードは、ROM(2045)又はRAM(2046)に記憶されてもよい。また、一時的なデータは、RAM(2046)に記憶されてもよいが、永続的なデータは、例えば、内部大容量記憶装置(2047)に記憶されてもよい。1つ以上のCPU(2041)、GPU(2042)、大容量記憶装置(2047)、ROM(2045)、RAM(2046)等と密接に関連してもよいキャッシュメモリを使用することによって、メモリデバイスのいずれかへの高速記憶及び検索が可能になってもよい。
【0189】
コンピュータ読み取り可能媒体は、様々なコンピュータに実装された動作を実行するためのコンピュータコードを有してもよい。媒体及びコンピュータコードは、本開示の目的のために特に設計及び構築されたものでよく、或いは、コンピュータソフトウェア分野における当業者に周知で入手可能なようなものでもよい。
【0190】
限定ではなく一例として、アーキテクチャ(2000)、具体的には、コア(2040)を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として機能を提供できる。このようなコンピュータ読み取り可能媒体は、コア内部の大容量記憶装置(2047)又はROM(2045)のような非一時的な性質のコア(2040)の特定の記憶装置と同様に、上記のようなユーザがアクセス可能な大容量記憶装置に関連する媒体でもよい。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶されてコア(2040)によって実行されてもよい。コンピュータ読み取り可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含んでもよい。ソフトウェアは、コア(2040)、具体的には、その中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(2046)に記憶されたデータ構造を定義し、ソフトウェアによって定義された処理に従ってこのようなデータ構造を修正することを含む、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行させてもよい。さらに或いは代替として、コンピュータシステムは、回路(例えば、アクセラレータ(2044))内に配線されたロジック又は他の方法で具現されたロジックの結果として、機能を提供してもよく、当該回路は、本明細書に記載の特定の処理又は特定の処理の特定の部分を実行するために、ソフトウェアの代わりに或いはソフトウェアと共に動作してもよい。ソフトウェアへの言及は、ロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能媒体への言及は、必要に応じて、実行するためのソフトウェアを記憶する回路(集積回路(IC)等)、実行するためのロジックを具現する回路又はこれらの双方を含んでもよい。本開示は、ハードウェア及びソフトウェアのいずれかの適切な組み合わせを含む。
【0191】
[付録A:略語]
ASIC: Application-Specific Integrated Circuit
BMS: Benchmark Set
CANBus: Controller Area Network Bus
CBF: Coded block flag
CCLM: Cross-component Linear Model
CD: Compact Disc
CPU: Central Processing Unit
CRT: Cathode Ray Tube
CTB: Coding Tree Block
CTU: Coding Tree Unit
CU: Coding Unit
DT: Dual Tree
DVD: Digital Video Disc
FPGA: Field Programmable Gate Area
GOP: Group of Pictures
GPU: Graphics Processing Unit
GSM: Global System for Mobile communications
HDR: high dynamic range
HEVC: High Efficiency Video Coding
HRD: Hypothetical Reference Decoder
IC: Integrated Circuit
ISP: Intra Sub-Partition
JVET: Joint Video Exploration Team
LAN: Local Area Network
LCD: Liquid-Crystal Display
LTE: Long-Term Evolution
MPM: most probable mode
MV: Motion Vector
JEM: joint exploration model
OLED: Organic Light-Emitting Diode
PB: Prediction Block
PCI: Peripheral Component Interconnect
PLD: Programmable Logic Device
PU: Prediction Unit
QP: Quantization Parameter
RAM: Random Access Memory
ROM: Read-Only Memory
SBT: Sub-block transform
SDR: standard dynamic range
SEI: Supplementary Enhancement Information
SNR: Signal Noise Ratio
SSD: Solid-State Drive
TU: Transform Unit
USB: Universal Serial Bus
VUI: Video Usability Information
VVC: Versatile Video Coding
WAIP: Wide-Angle Intra Prediction
【0192】
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換及び様々な代替の等価物が存在する。したがって、当業者は、本明細書に明示的に図示又は記載されていないが、本開示の原理を具現し、したがって、本開示の真意及び範囲内にある多数のシステム及び方法を考案することができることが認識される。
図1A
図1B
図1C
図1D
図2
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図10
図11
図12
図13
図14A
図14B
図15A
図15B
図16A
図16B
図17
図18
図19
図20