(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167191
(43)【公開日】2024-12-03
(54)【発明の名称】変換パーティショニングとプライマリ/セカンダリ変換タイプ選択との間の相互作用
(51)【国際特許分類】
H04N 19/12 20140101AFI20241126BHJP
H04N 19/136 20140101ALI20241126BHJP
H04N 19/176 20140101ALI20241126BHJP
【FI】
H04N19/12
H04N19/136
H04N19/176
【審査請求】未請求
【請求項の数】22
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024120997
(22)【出願日】2024-07-26
(62)【分割の表示】P 2022560506の分割
【原出願日】2022-01-28
(31)【優先権主張番号】17/568,275
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/175,897
(32)【優先日】2021-04-16
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】マドゥー・ペリンガーサリー・クリシュナン
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
(57)【要約】 (修正有)
【課題】高度なビデオコーディング技術によるビデオデータを符号化/復号化するための方法、装置を提供する。
【解決手段】方法は、受信したコーディングされたビデオビットストリームから、データブロックに関連付けられた変換パーティションタイプを抽出するステップと、変換パーティションタイプが、データブロックを変換ブロックに分割するための分割パターンをそれぞれ指定する変換パーティションタイプの事前定義されたセットのサブセットに属することに応答して、コーディングされたビデオビットストリームでシグナリングされるように、データブロックから分割された変換ブロックに関連付けられた変換の変換タイプを抽出し、変換タイプに従って、変換ブロックに対して逆変換を実行するステップと、を含む。前記変換タイプは、変換タイプの第1の事前定義されたセットに属する。
【選択図】
図17
【特許請求の範囲】
【請求項1】
デコーダにおいてビデオデータを復号するための方法であって、
データブロックのコーディングされたビデオビットストリームを受信するステップと、
前記コーディングされたビデオビットストリームから、前記データブロックに関連付け
られた変換パーティションタイプを抽出するステップと、
前記変換パーティションタイプが、前記データブロックを変換ブロックに分割するため
の分割パターンをそれぞれ指定する変換パーティションタイプの事前定義されたセットの
サブセットに属することに応答して、
コーディングされたビデオビットストリームでシグナリングされるように、前記データ
ブロックから分割された変換ブロックに関連付けられた変換の変換タイプを抽出するステ
ップであって、前記変換タイプは、変換タイプの第1の事前定義されたセットに属する、
ステップと、
前記変換タイプに従って前記変換ブロックに対して逆変換を実行するステップと
を含む、方法。
【請求項2】
前記変換パーティションタイプの事前定義されたセットの前記サブセットに属さない前
記変換パーティションタイプに応答して、
前記変換ブロックと関連付けられた前記変換タイプを事前定義されたデフォルト変換タ
イプであると決定するステップ、をさらに含む、請求項1に記載の方法。
【請求項3】
前記変換はプライマリ変換であり、前記変換タイプの第1の事前定義されたセットは、
離散コサイン変換(DCT)タイプ1からDCTタイプ8、
非対称離散サイン変換(ADST)、
離散サイン変換(DST)タイプ1からDSTタイプ8、
折れ線グラフ変換(LGT)、及び
カルーネン・レーベ変換(KLT)を含む、請求項1に記載の方法。
【請求項4】
前記変換パーティションタイプの事前定義されたセットの前記サブセットは、変換ブロ
ックパーティショニングなしのためのPARTITION_NONEからなる、請求項1に記載の方法。
【請求項5】
前記変換パーティションタイプの事前定義されたセットの前記サブセット内の各変換パ
ーティションタイプに関連付けられた変換パーティションの数が、事前定義された閾値以
下である、請求項1に記載の方法。
【請求項6】
前記事前定義された閾値が、1以上16以下の整数を含む、請求項5に記載の方法。
【請求項7】
前記変換はセカンダリ変換であり、前記変換タイプの第1の事前定義されたセットはKLT
を含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記変換パーティションタイプの事前定義されたセットの前記サブセットは、変換ブロ
ックパーティショニングなしのためのPARTITION_NONEからなる、請求項7に記載の方法。
【請求項9】
前記変換パーティションタイプの事前定義されたセットの前記サブセット内の各変換パ
ーティションタイプに関連付けられた変換パーティションの数が、事前定義された閾値以
下である、請求項7に記載の方法。
【請求項10】
前記変換タイプは、前記変換ブロックに関連付けられたプライマリ変換のタイプが変換
タイプの第2の事前定義されたセットに属することをさらに示す、請求項7に記載の方法。
【請求項11】
前記変換パーティションタイプの事前定義されたセットの前記サブセットは、変換ブロ
ックパーティショニングなしのためのPARTITION_NONEからなり、前記変換タイプの第2の
事前定義されたセットは、DCT及びADSTからなる、請求項10に記載の方法。
【請求項12】
ビデオデータを復号するための方法であって、
データブロックのコーディングされたビデオビットストリームを受信するステップと、
前記コーディングされたビデオビットストリームから、前記ビデオデータのデータブロ
ックに関連付けられた変換パーティションタイプを抽出するステップと、
変換パーティションタイプの事前定義されたセットのサブセットに属する前記変換パー
ティションタイプに応答して、前記コーディングされたビデオビットストリームから、前
記データブロックの変換ブロックに関連付けられた変換タイプを抽出するステップと、
前記変換パーティションタイプの事前定義されたセットに属さない前記変換パーティシ
ョンタイプに応答して、前記データブロックの前記変換タイプをデフォルトで識別するス
テップと
を含む、方法。
【請求項13】
前記変換パーティションタイプの事前定義されたセットの前記サブセットは、変換ブロ
ックパーティショニングなしのためのPARTITION_NONEからなる、請求項12に記載の方法
。
【請求項14】
前記変換タイプは、プライマリ変換タイプ又はセカンダリ変換タイプを含む、請求項12
に記載の方法。
【請求項15】
ビデオデータを復号するための方法であって、
データブロックのコーディングされたビデオビットストリームを受信するステップと、
前記コーディングされたビデオビットストリームから、前記データブロックの変換ブロ
ックと関連付けられた変換の変換タイプを抽出するステップと、
変換タイプの事前定義されたセットに属する前記変換タイプに応答して、
前記コーディングされたビデオビットストリームから、前記データブロックと関連付け
られた変換パーティションタイプを抽出するステップと
を含む、方法。
【請求項16】
前記変換タイプの事前定義されたセットに属さない前記変換タイプに応答して、
前記データブロックに関連付けられた前記変換パーティションタイプを、事前定義され
たデフォルトの変換パーティションタイプであると決定するステップであって、前記事前
定義されたデフォルトの変換パーティションタイプがPARTITION_NONEを含む、ステップ
をさらに含む、請求項15に記載の方法。
【請求項17】
前記変換はプライマリ変換であり、前記変換タイプの事前定義されたセットは、
DCTタイプ2、
ADST、
DCTタイプ1からDCTタイプ8、
DSTタイプ1からDSTタイプ8、
LGT、又は
KLTを含む、請求項15に記載の方法。
【請求項18】
前記変換はセカンダリ変換であり、前記変換タイプの事前定義されたセットは、事前定
義されたKLTインデックスに関連付けられたカーネルを有するKLTを含む、請求項15に記載の方法。
【請求項19】
請求項1から6又は12から18のいずれか一項に記載の方法を実施するように構成された回路を備える装置。
【請求項20】
請求項7に記載の方法を実施するように構成された回路を備える装置。
【請求項21】
コンピュータコードが格納された非一時的なコンピュータ可読プログラム媒体を含むコ
ンピュータプログラム製品であって、前記コンピュータコードは、1つ又は複数のプロセ
ッサによって実行されると、前記1つ又は複数のプロセッサに請求項1から6又は12から18のいずれか一項に記載の方法を実施させる、コンピュータプログラム製品。
【請求項22】
コンピュータコードが格納された非一時的なコンピュータ可読プログラム媒体を含むコ
ンピュータプログラム製品であって、前記コンピュータコードは、1つ又は複数のプロセ
ッサによって実行されると、前記1つ又は複数のプロセッサに請求項7に記載の方法を実施
させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月16日の出願された米国仮特許出願第63/175,897号及び2022年1月4日に出願された米国非仮特許出願第17/568,275号に基づき、これらに対する優先権の利益を主張するものであり、両出願の全体が参照により本明細書に組み込まれる。
【0002】
本開示は、高度なビデオコーディング技術のセットを記載する。より具体的には、開示
された技術は、ビデオ符号化及び復号における変換パーティショニング方式とプライマリ
/セカンダリ変換タイプ選択との間の相互作用を含む。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的
としている。本発明者らの研究は、その研究がこの背景技術の項に記載されている限りに
おいて、またそれ以外の本出願の出願時に先行技術として認められない可能性のある説明
の態様と共に、本開示に対する先行技術としては明示的にも暗示的にも認められない。
【0004】
ビデオコーディング及びビデオデコーディングは、動き補償を伴うインターピクチャ予
測を使用して実行することができる。非圧縮デジタルビデオは、一連のピクチャを含むこ
とができ、各ピクチャは、例えば1920×1080の輝度サンプル及び関連するフルサンプリン
グ又はサブサンプリングされた色差サンプルの空間次元を有する。一連のピクチャは、例
えば毎秒60ピクチャ又は毎秒60フレームの固定又は可変のピクチャレート(あるいはフレ
ームレートとも呼ばれる)を有し得る。非圧縮ビデオは、ストリーミング又はデータ処理
のための特定のビットレート要件を有する。例えば、1920×1080の画素解像度、60フレー
ム/秒のフレームレート、及び色チャネルあたり画素あたり8ビットで4:2:0のクロマサ
ブサンプリングを有するビデオは、1.5Gbit/sに近い帯域幅を必要とする。1時間分のそ
のようなビデオは、600GByteを超える記憶空間を必要とする。
【0005】
ビデオコーディング及びビデオデコーディングの1つの目的は、圧縮による非圧縮入力
ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅及び/又は記憶空間要件を
、場合によっては2桁以上低減させるのに役立ち得る。可逆圧縮と非可逆圧縮の両方、及
びそれらの組合せを使用することができる。可逆圧縮とは、原信号の正確なコピーを復号
プロセスによって圧縮された原信号から再構成することができる技術を指す。非可逆圧縮
とは、元のビデオ情報がコーディング時に完全に保持されず、復号時に完全に回復できな
いコーディング/デコーディングプロセスを指す。非可逆圧縮を使用する場合、再構成さ
れた信号は原信号と同一ではない可能性があるが、原信号と再構成された信号との間の歪
みは、多少の情報損失はあっても、再構成された信号を意図された用途に役立てるのに十
分なほど小さくなる。ビデオの場合、非可逆圧縮が多くの用途で広く採用されている。耐
容できる歪みの量は用途に左右される。例えば、特定の消費者ビデオストリーミング用途
のユーザは、映画やテレビ放送用途のユーザよりも高い歪みを容認し得る。特定のコーデ
ィングアルゴリズムによって達成可能な圧縮比を、様々な歪み耐性を反映するように選択
又は調整することができる。すなわち、一般に、歪み耐性が高いほど、高い損失及び高い
圧縮比をもたらすコーディングアルゴリズムが可能になる。
【0006】
ビデオエンコーダ及びビデオデコーダは、例えば、動き補償、フーリエ変換、量子化、
及びエントロピーコーディングを含む、いくつかの広範なカテゴリ及びステップからの技
術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技法を含むことができ
る。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからの
サンプル又は他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャ
がサンプルのブロックに、空間的に細分される。サンプルのすべてのブロックがイントラ
モードでコーディングされる場合、そのピクチャをイントラピクチャと呼ぶことができる
。イントラピクチャ及び独立したデコーダリフレッシュピクチャなどのそれらの派生ピク
チャは、デコーダ状態をリセットするために使用することができ、したがって、コーディ
ングされたビデオビットストリーム及びビデオセッション内の最初のピクチャとして、又
は静止画像として使用することができる。次いで、イントラ予測後のブロックのサンプル
に周波数領域への変換を施すことができ、そのように生成された変換係数をエントロピー
コーディングの前に量子化することができる。イントラ予測は、変換前領域におけるサン
プル値を最小化する技術を表す。場合によっては、変換後のDC値が小さいほど、及びAC係
数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステ
ップサイズで必要とされるビット数が少なくなる。
【0008】
例えば、MPEG-2生成コーディング技術から知られているような従来のイントラコーデ
ィングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮
技術は、例えば、空間的隣接の符号化及び/又は復号時に取得される、イントラコーディ
ング又はイントラ復号されているデータのブロックに復号順序で先行する、周囲のサンプ
ルデータ及び/又はメタデータに基づいて、ブロックのコーディング/デコーディングを
試みる技術を含む。そのような技術を、これ以降、「イントラ予測」技術と呼ぶ。少なく
ともいくつかの場合において、イントラ予測は、再構成中の現在のピクチャのみからの参
照データを使用し、他の参照ピクチャからの参照データは使用しないことに留意されたい
。
【0009】
イントラ予測には、多くの異なる形態があり得る。そのような技術のうちの2つ以上が
所与のビデオコーディング技術において利用可能である場合、使用される技術を、イント
ラ予測モードと呼ぶことができる。1つ又は複数のイントラ予測モードが特定のコーデッ
クで提供され得る。特定の場合には、モードは、サブモードを有することができ、かつ/
又は様々なパラメータと関連付けられていてもよく、モード/サブモード情報及びビデオ
のブロックのイントラコーディングパラメータは、個別にコーディングするか、又はまと
めてモードのコードワードに含めることができる。所与のモード、サブモード、及び/又
はパラメータの組合せにどのコードワードを使用するかは、イントラ予測を介したコーデ
ィング効率向上に影響を与える可能性があり、そのため、コードワードをビットストリー
ムに変換するために使用されるエントロピーコーディング技術も影響を与える可能性があ
る。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探索モデ
ル(JEM)、多用途ビデオコーディング(VVC)、及びベンチマークセット(BMS)などの
より新しいコーディング技術でさらに改良された。一般に、イントラ予測では、利用可能
になった隣接サンプル値を使用して予測子ブロックを形成することができる。例えば、特
定の方向及び/又は線に沿った特定の隣接サンプルセットの利用可能な値が、予測子ブロ
ックにコピーされ得る。使用される方向への参照は、ビットストリーム内でコーディング
することができるか、又はそれ自体が予測され得る。
【0011】
図1Aを参照すると、右下に示されているのは、(H.265で指定される35のイントラモー
ドのうちの33の角度モードに対応する)H.265の33の可能な予測子方向で指定される9つ
の予測子方向のサブセットである。矢印が集中する点(101)は、予測されているサンプ
ルを表す。矢印は、隣接サンプルがそこから101のサンプルを予測するために使用される
方向を表す。例えば、矢印(102)は、サンプル(101)が、1つ又は複数の隣接サンプル
から右上へ、水平方向から45度の角度で予測されることを示している。同様に、矢印(10
3)は、サンプル(101)が、1つ又は複数の隣接サンプルからサンプル(101)の左下へ、
水平方向から22.5度の角度で予測されることを示している。
【0012】
さらに
図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正
方形ブロック(104)が描写されている。正方形ブロック(104)は16個のサンプルを含み
、各々、「S」、Y次元のその位置(例えば、行インデックス)、及びX次元のその位置(
例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(
上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、
サンプルS44は、ブロック(104)内のY次元及びX次元の両方の4番目のサンプルである。
ブロックのサイズは4×4サンプルであるため、S44は右下にある。同様の番号付け方式に
従う参照サンプルの例がさらに示されている。参照サンプルは、R、ブロック(104)に対
するそのY位置(例えば、行番号)及びX位置(列番号)でラベル付けされている。H.264
とH.265の両方で、再構成中のブロックに隣接する予測サンプルが使用される。
【0013】
ブロック104のイントラピクチャ予測は、シグナリングされた予測方向に従って隣接サ
ンプルから参照サンプル値をコピーすることから開始し得る。例えば、コーディングされ
たビデオビットストリームは、このブロック104について、矢印(102)の予測方向を示す
シグナリングを含む、すなわち、サンプルは1つ又は複数の予測サンプルから右上へ、水
平方向から45度の角度で予測されると仮定する。そのような場合、サンプルS41、S32、S2
3、S14が、同じ参照サンプルR05から予測される。次いで、サンプルS44が、参照サンプル
R08から予測される。
【0014】
特定の場合には、参照サンプルを計算するために、特に方向が45度によって均等に割り
切れないときは、複数の参照サンプルの値は、例えば補間によって組み合わされてもよい
。
【0015】
可能な方向の数は、ビデオコーディング技術が発展し続けるにつれて増加してきた。H
.264(2003年)では、例えば、9つの異なる方向がイントラ予測に利用可能である。これ
は、H.265(2013年)では33まで増加し、JEM/VVC/BMSは、本開示の時点で、最大65の
方向をサポートすることができる。最も適切なイントラ予測方向を特定するのに役立つ実
験研究が行われており、エントロピーコーディングの特定の手法を使用して、方向につい
ての特定のビットペナルティを受け入れて、それらの最も適切な方向が少数のビットで符
号化され得る。さらに、方向自体を、復号された隣接するブロックのイントラ予測で使用
された隣接する方向から予測できる場合もある。
【0016】
図1Bに、時間の経過と共に発展した様々な符号化技術における増加する予測方向の数を
例示するために、JEMによる65のイントラ予測方向を示す概略図(180)を示す。
【0017】
コーディングされたビデオビットストリームにおけるイントラ予測方向を表すビットの
予測方向へのマッピングは、ビデオコーディング技術によって異なる可能性があり、例え
ば、予測方向対イントラ予測モードの単純な直接マッピングから、コードワード、最も可
能性の高いモードを含む複雑な適応方式、及び同様の技術にまで及び得る。ただし、すべ
ての場合において、他の特定の方向よりもビデオコンテンツで発生する可能性が統計的に
低いイントロ予測の特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるた
め、うまく設計されたビデオコーディング技術においては、それらのより可能性の低い方
向はより可能性の高い方向よりも多くのビット数で表される。
【0018】
インターピクチャ予測、又はインター予測は、動き補償に基づくものあり得る。動き補
償では、以前に再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデー
タが、動きベクトル(これ以降はMV)によって示される方向に空間的にシフトされた後、
新たに再構成されたピクチャ又はピクチャ部分(例えば、ブロック)の予測に使用され得
る。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは
、2つの次元X及びY、又は3つの次元を有していてもよく、第3の次元は、(時間次元と類
似した)使用される参照ピクチャの指示である。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータの特定のエリアに適用可能な現在のMV
を、他のMVから、例えば再構成中のエリアに空間的に隣接し、復号順序で現在のMVに先行
する、サンプルデータの他のエリアに関連する他のMVから予測することができる。そうす
ることにより、相関するMVの冗長性の除去に依拠することによってMVをコーディングする
のに必要とされる全体のデータ量を大幅に削減することができ、それによって圧縮効率が
高まる。MV予測が効果的に機能することができるのは、例えば、(自然なビデオとして知
られている)カメラから導出された入力ビデオ信号をコーディングするときに、単一のMV
が適用可能なエリアよりも大きいエリアは、ビデオシーケンスにおいて同様の方向に移動
する統計的尤度があり、したがって、場合によっては、隣接するエリアのMVから導出され
た同様の動きベクトルを使用して予測することができるからである。その結果として、所
与のエリアの実際のMVが周囲のMVから予測されたMVと同様又は同一になる。そのようなMV
はさらに、エントロピーコーディング後に、MVが(1つ又は複数の)隣接するMVから予測
されるのではなく直接コーディングされた場合に使用されることになるビット数よりも少
ないビット数で表され得る。場合によっては、MV予測を、原信号(すなわち、サンプルス
トリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例とすることができる。
他の場合には、例えば、いくつかの周囲のMVから予測子を計算するときの丸め誤差のため
に、MV予測自体は非可逆であり得る。
【0020】
H.265/HEVC(ITU-T Rec.H.265、「High Efficiency Video Coding」、2016年12月
)に様々なMV予測機構が記載されている。H.265が指定する多くのMV予測機構のうち、以
下で説明するのは、これ以降「空間マージ」と呼ぶ技術である。
【0021】
具体的には、
図2を参照すると、現在のブロック(201)は、動き探索プロセス中にエン
コーダによって、空間的にシフトされた同じサイズの前のブロックから予測可能であると
検出されたサンプルを含む。そのMVを直接コーディングする代わりに、MVを、A0、A1、及
びB0、B1、B2(それぞれ202から206)で表された5つの周囲のサンプルのいずれか1つと関
連付けられたMVを使用して、1つ又は複数の参照ピクチャと関連付けられたメタデータか
ら、例えば、(復号順序で)最後の参照ピクチャから導出することができる。H.265では
、MV予測は、隣接するブロックが使用しているのと同じ参照ピクチャからの予測子を使用
することができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示は、ビデオ符号化及び/又はビデオ復号のための方法、装置、及びコンピュータ
可読記憶媒体の様々な実施形態を説明する。
【0023】
一態様によれば、本開示の実施形態は、デコーダにおいてビデオデータを符号化/復号
するための方法を提供する。本方法は、データブロックのコーディングされたビデオビッ
トストリームを受信するステップと、コーディングされたビデオビットストリームから、
データブロックに関連付けられた変換パーティションタイプを抽出するステップと、変換
パーティションタイプが、データブロックを変換ブロックに分割するための分割パターン
をそれぞれ指定する変換パーティションタイプの事前定義されたセットのサブセットに属
することに応答して、コーディングされたビデオビットストリームでシグナリングされる
ように、データブロックから分割された変換ブロックに関連付けられた変換の変換タイプ
を抽出するステップであって、変換タイプは、変換タイプの第1の事前定義されたセット
に属する、ステップと、変換タイプに従って、変換ブロックに対して逆変換を実行するス
テップとを含む。
【0024】
別の態様によれば、本開示の実施形態は、ビデオデータを符号化/復号するための方法
を提供する。方法は、データブロックのコーディングされたビデオビットストリームを受
信するステップと、コーディングされたビデオビットストリームから、ビデオデータのデ
ータブロックに関連付けられた変換パーティションタイプを抽出するステップと、変換パ
ーティションタイプの事前定義されたセットのサブセットに属する、変換パーティション
タイプに応答して、コーディングされたビデオビットストリームから、データブロックの
変換ブロックに関連付けられた変換タイプを抽出するステップと、変換パーティションタ
イプの、予め定義されたセットに属さない、変換パーティションタイプに応答して、デー
タブロックの、変換タイプをデフォルトで識別するステップとを含む。
【0025】
別の態様によれば、本開示の実施形態は、ビデオデータを符号化/復号するための方法
を提供する。方法は、データブロックのコーディングされたビデオビットストリームを受
信するステップと、コーディングされたビデオビットストリームから、データブロックの
変換ブロックと関連付けられた変換の変換タイプを抽出するステップと、変換タイプの事
前定義されたセットに属する変換タイプに応答して、コーディングされたビデオビットス
トリームから、データブロックと関連付けられた変換パーティションタイプを抽出するス
テップとを含む。
【0026】
別の態様によれば、本開示の一実施形態は、ビデオ符号化及び/又はビデオ復号のため
の装置を提供する。装置は、命令を格納するメモリと、メモリと通信するプロセッサとを
含む。プロセッサが命令を実行すると、プロセッサは、装置に、ビデオ復号及び/又はビ
デオ符号化のための上記の方法を実行させるように構成される。
【0027】
さらに別の態様によれば、本開示の一実施形態は、ビデオ復号及び/又はビデオ符号化
のためにコンピュータによって実行されると、ビデオ復号及び/又はビデオ符号化のため
の上記の方法をコンピュータに実行させる命令を格納する非一時的コンピュータ可読媒体
を提供する。
【0028】
上記その他の態様及びそれらの実装形態を、図面、明細書、及び特許請求の範囲におい
てさらに詳細に説明する。
【0029】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質
及び様々な効果がより明らかになる。
【図面の簡単な説明】
【0030】
【
図1A】イントラ予測方向性モードの例示的なサブセットの概略図である。
【
図1B】例示的なイントラ予測方向を示す図である。
【
図2】一例における現在のブロック及び動きベクトル予測のためのその周囲の空間マージ候補を示す概略図である。
【
図3】一例示的実施形態による通信システム(300)の簡略化されたブロック図を示す概略図である。
【
図4】一例示的実施形態による通信システム(400)の簡略化されたブロック図を示す概略図である。
【
図5】一例示的実施形態によるビデオデコーダの簡略化されたブロック図を示す概略図である。
【
図6】一例示的実施形態によるビデオエンコーダの簡略化されたブロック図を示す概略図である。
【
図7】別の例示的実施形態によるビデオエンコーダを示すブロック図である。
【
図8】別の例示的実施形態によるビデオデコーダを示すブロック図である。
【
図9】本開示の例示的な実施形態による方向イントラ予測モードを示す図である。
【
図10】本開示の例示的な実施形態による無方向イントラ予測モードを示す図である。
【
図11】本開示の例示的な実施形態による再帰的イントラ予測モードを示す。
【
図12】本開示の例示的な実施形態による、イントラ予測ブロックの変換ブロックパーティショニング及びスキャンを示す。
【
図13】本開示の例示的な実施形態による、インター予測ブロックの変換ブロックパーティショニング及びスキャンを示す。
【
図14】本開示の例示的な実施形態による低周波数分離不可能変換プロセスを示す。
【
図15】本開示の例示的実施形態による、様々な基準線に基づくイントラ予測方式を示す図である。
【
図16】本開示の例示的実施形態による非再帰的ブロック分割の方式を示す図である。
【
図17】本開示の実施形態によるフローチャートを示す。
【
図18】本開示の一例示的実施形態によるコンピュータシステムを示す概略図である。
【発明を実施するための形態】
【0031】
図3は、本開示の一実施形態による、通信システム(300)の簡略化されたブロック図を
示す。通信システム(300)は、例えば、ネットワーク(350)を介して互いに通信するこ
とができる複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350
)を介して相互接続された第1の対の端末装置(310)及び(320)を含む。
図3の例では、
第1の対の端末装置(310)及び(320)は、データの一方向伝送を実行し得る。例えば、
端末装置(310)は、ネットワーク(350)を介して他方の端末装置(320)に送信するた
めの(例えば、端末装置(310)によって取り込まれたビデオピクチャのストリームの)
ビデオデータをコーディングし得る。符号化されたビデオデータは、1つ又は複数のコー
ディングされたビデオビットストリームの形で送信することができる。端末装置(320)
は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディング
されたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従っ
てビデオピクチャを表示し得る。一方向データ伝送は、メディアサービング用途などで実
施され得る。
【0032】
別の例では、通信システム(300)は、例えばビデオ会議用途の間に実施され得るコー
ディングされたビデオデータの双方向伝送を実行する第2の対の端末装置(330)及び(34
0)を含む。データの双方向伝送のために、一例では、端末装置(330)及び(340)の各
端末装置は、ネットワーク(350)を介して端末装置(330)及び(340)の他方の端末装
置に送信するための(例えば、その端末装置によって取り込まれたビデオピクチャのスト
リームの)ビデオデータをコーディングし得る。端末装置(330)及び(340)の各端末装
置はまた、端末装置(330)及び(340)の他方の端末装置によって送信されたコーディン
グされたビデオデータを受信し、コーディングされたビデオデータを復号してビデオピク
チャを復元し、復元されたビデオデータに従ってアクセス可能な表示装置でビデオピクチ
ャを表示し得る。
【0033】
図3の例では、端末装置(310)、(320)、(330)、及び(340)は、サーバ、パーソ
ナルコンピュータ、及びスマートフォンとして実施され得るが、本開示の基礎となる原理
の適用性はそのように限定されない。本開示の実施形態は、デスクトップコンピュータ、
ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、ウェアラブル
コンピュータ、専用のビデオ会議機器などにおいて実装され得る。ネットワーク(350)
は、例えば、有線(有線接続)及び/又は無線通信ネットワークを含む、端末装置(310
)、(320)、(330)及び(340)間でコーディングされたビデオデータを伝達する任意
の数又はタイプのネットワークを表す。通信ネットワーク(350)9は、回線交換チャネル
、パケット交換チャネル、及び/又は他のタイプのチャネルでデータを交換し得る。代表
的なネットワークは、電気通信ネットワーク、ローカル・エリア・ネットワーク、広域ネ
ットワーク及び/又はインターネットを含む。本考察の目的にとって、ネットワーク(35
0)のアーキテクチャ及びトポロジーは、本明細書で明示的に説明されない限り、本開示
の動作にとって重要ではない場合がある。
【0034】
図4に、開示の主題の用途の一例として、ビデオストリーミング環境におけるビデオエ
ンコーダ及びビデオデコーダの配置を示す。開示の主題は、例えば、ビデオ会議、デジタ
ルテレビ放送、ゲーム、仮想現実、CD、DVD、メモリスティックなどを含むデジタルメデ
ィア上の圧縮ビデオの格納などを含む、他のビデオ対応用途に等しく適用され得る。
【0035】
ビデオストリーミングシステムは、圧縮されていないビデオピクチャ又は画像のストリ
ーム(402)を作成するためのビデオソース(401)、例えばデジタルカメラを含むことが
できるビデオ取り込みサブシステム(413)を含み得る。一例では、ビデオピクチャのス
トリーム(402)は、ビデオソース401のデジタルカメラによって記録されたサンプルを含
む。ビデオピクチャのストリーム(402)は、符号化されたビデオデータ(404)(又はコ
ーディングされたビデオビットストリーム)と比較した場合の高データ量を強調するため
に太線で示されており、ビデオソース(401)に結合されたビデオエンコーダ(403)を含
む電子装置(420)によって処理することができる。ビデオエンコーダ(403)は、以下で
より詳細に説明されるように開示の主題の態様を可能にし、又は実装するために、ハード
ウェア、ソフトウェア、又はそれらの組合せを含むことができる。符号化されたビデオデ
ータ(404)(又は符号化されたビデオビットストリーム(404))は、非圧縮ビデオピク
チャのストリーム(402)と比較した場合の低データ量を強調するために細線で示されて
おり、将来の使用のためにストリーミングサーバ(405)に、又は下流のビデオ装置(図
示せず)に直接格納することができる。
図4のクライアントサブシステム(406)及び(40
8)などの1つ又は複数のストリーミングクライアントサブシステムは、ストリーミングサ
ーバ(405)にアクセスして、符号化されたビデオデータ(404)のコピー(407)及び(4
09)を取得することができる。クライアントサブシステム(406)は、例えば電子装置(4
30)内のビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化
されたビデオデータの入力コピー(407)を復号し、圧縮されていない、ディスプレイ(4
12)(例えば、表示画面)又は他のレンダリング装置(図示せず)上にレンダリングする
ことができるビデオピクチャの出力ストリーム(411)を作成する。ビデオデコーダ410は
、本開示に記載される様々な機能の一部又は全部を実行するように構成され得る。一部の
ストリーミングシステムでは、符号化されたビデオデータ(404)、(407)、及び(409
)(例えば、ビデオビットストリーム)を、特定のビデオコーディング/圧縮規格に従っ
て符号化することができる。それらの規格の例には、ITU-T勧告H.265が含まれる。一例
では、開発中のビデオコーディング規格は、多用途ビデオコーディング(VVC)として非
公式に知られている。開示の主題は、VVC、及び他のビデオコーディング規格の文脈で使
用され得る。
【0036】
電子装置(420)及び(430)は、他の構成要素(図示せず)を含むことができることに
留意されたい。例えば、電子装置(420)はビデオデコーダ(図示せず)を含むことがで
き、電子装置(430)もビデオエンコーダ(図示せず)を含むことができる。
【0037】
図5に、以下の本開示の任意の実施形態によるビデオデコーダ(510)のブロック図を示
す。ビデオデコーダ(510)は、電子装置(530)に含めることができる。電子装置(530
)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)
は、
図4の例のビデオデコーダ(410)の代わりに使用することができる。
【0038】
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つ又は複数のコー
ディングされたビデオシーケンスを受信し得る。同じ又は別の実施形態では、一度に1つ
のコーディングされたビデオシーケンスが復号され得、各コーディングされたビデオシー
ケンスの復号は、他のコーディングされたビデオシーケンスから独立している。各ビデオ
シーケンスは、複数のビデオフレーム又はビデオ画像と関連付けられ得る。コーディング
されたビデオシーケンスはチャネル(501)から受信され、チャネル(501)は、符号化さ
れたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンク、又は符号
化されたビデオデータを送信するストリーミングソースであり得る。受信機(531)は、
符号化されたビデオデータを、それぞれの処理回路(図示せず)に転送され得る、コーデ
ィングされたオーディオデータ及び/又は補助データストリームなどの他のデータと共に
受信し得る。受信機(531)は、コーディングされたビデオシーケンスを他のデータから
分離し得る。ネットワークジッタに対抗するために、バッファメモリ(515)が、受信機
(531)とエントロピーデコーダ/パーサ(520)(これ以降は「パーサ(520)」)との
間に配置されてもよい。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(5
10)の一部として実装され得る。他の用途では、バッファメモリ(515)は、ビデオデコ
ーダ(510)から分離されて外部にあり得る(図示せず)。さらに他の用途では、例えば
ネットワークジッタに対抗するためにビデオデコーダ(510)の外部にバッファメモリ(
図示せず)があってもよく、例えば再生タイミングを処理するためにビデオデコーダ(51
0)の内部に別のバッファメモリ(515)があり得る。受信機(531)が十分な帯域幅及び
可制御性の記憶/転送装置から、又はアイソシンクロナス(isosynchronous)ネットワー
クからデータを受信しているときには、バッファメモリ(515)は不要であり得るか、又
は小さくすることができる。インターネットなどのベストエフォートパケットネットワー
クで使用するために、十分なサイズのバッファメモリ(515)が必要とされる場合があり
、そのサイズは比較的大きくなり得る。そのようなバッファメモリは、適応サイズで実装
されてもよく、ビデオデコーダ(510)の外部のオペレーティングシステム又は同様の要
素(図示せず)に少なくとも部分的に実装され得る。
【0039】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)
を復元するためにパーサ(520)を含んでもよい。それらのシンボルのカテゴリは、ビデ
オデコーダ(510)の動作を管理するために使用される情報と、潜在的に、
図5に示すよう
に、電子装置(530)の不可欠な部分である場合もそうでない場合もあるが、電子装置(5
30)に結合することができるディスプレイ(512)(例えば、表示画面)などのレンダリ
ング装置を制御するための情報とを含む。(1つ又は複数の)レンダリング装置のための
制御情報は、補足拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラ
メータセットフラグメント(図示せず)の形であり得る。パーサ(520)は、パーサ(520
)によって受け取られるコーディングされたビデオシーケンスをパース/エントロピー復
号し得る。エントロピーコーディングされたビデオシーケンスのコーディングは、ビデオ
コーディング技術又は規格に従ったものとすることができ、可変長コーディング、ハフマ
ンコーディング、文脈依存性あり又はなしの算術コーディングなどを含む様々な原理に従
ったものとすることができる。パーサ(520)は、コーディングされたビデオシーケンス
から、サブグループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ
内の画素のサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽
出し得る。サブグループには、Groups of Pictures(GOP)、ピクチャ、タイル、スライ
ス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予
測ユニット(PU)などを含めることができる。パーサ(520)はまた、コーディングされ
たビデオシーケンスから、変換係数(例えば、フーリエ変換係数)、量子化パラメータ値
、動きベクトルなどの情報も抽出し得る。
【0040】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受
け取ったビデオシーケンスに対してエントロピー復号/構文解析動作を実行することがで
きる。
【0041】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分のタイ
プ(インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックな
ど)、並びに他の要因に応じて、複数の異なる処理ユニット又は機能ユニットを含むこと
ができる。含まれるユニット及びユニットがどのように含まれるかは、パーサ(520)に
よってコーディングされたビデオシーケンスからパースされたサブグループ制御情報によ
って制御され得る。パーサ(520)と以下の複数の処理ユニット又は機能ユニットとの間
のそのようなサブグループ制御情報の流れは、簡潔にするために図示されていない。
【0042】
すでに述べられた機能ブロック以外に、ビデオデコーダ(510)は、以下に記載される
ように、概念的にいくつかの機能ユニットに細分化することができる。商業的制約の下で
動作する実際の実装形態では、これらの機能ユニットの多くは互いに密接に相互作用し、
少なくとも部分的に、互いに統合することができる。しかしながら、開示の主題の様々な
機能を明確に説明するために、以下の開示においては機能ユニットへの概念的細分を採用
する。
【0043】
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット
(551)は、量子化変換係数、並びにどのタイプの逆変換を使用するかを示す情報、ブロ
ックサイズ、量子化係数/パラメータ、量子化スケーリング行列などを含む制御情報を、
パーサ(520)から(1つ又は複数の)シンボル(521)として受け取り得る。スケーラ/
逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を備
えるブロックを出力することができる。
【0044】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディング
されたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用しないが
、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロ
ックに関係し得る。そのような予測情報は、イントラピクチャ予測ユニット(552)によ
って提供することができる。場合によっては、イントラピクチャ予測ユニット(552)は
、すでに再構成され、現在のピクチャバッファ(558)に格納されている周囲のブロック
の情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成してもよ
い。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャ
及び/又は完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は
、いくつかの実装形態では、サンプルごとに、イントラ予測ユニット(552)が生成した
予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に
追加し得る。
【0045】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーデ
ィングされ、潜在的に動き補償されたブロックに関連する可能性がある。そのような場合
、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、インタ
ーピクチャ予測に使用されるサンプルをフェッチすることができる。ブロックに関連する
シンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプル
を、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変
換ユニット(551)の出力に追加することができる(ユニット551の出力は、残差サンプル
又は残差信号と呼ばれ得る)。動き補償予測ユニット(553)がそこから予測サンプルを
フェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X成分、Y成分(シフ
ト)、及び参照ピクチャ成分(時間)を有し得るシンボル(521)の形で動き補償予測ユ
ニット(553)が利用可能な、動きベクトルによって制御することができる。動き補償は
また、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(
557)からフェッチされたサンプル値の補間も含んでいてもよく、動きベクトル予測機構
などと関連付けられてもよい。
【0046】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々
なループフィルタリング技法を受けることができる。ビデオ圧縮技術は、(コーディング
されたビデオビットストリームとも呼ばれる)コーディングされたビデオシーケンスに含
まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループ
フィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができ
るが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号順
序で)前の部分の復号中に取得されたメタ情報に応答するだけでなく、以前に復元及びル
ープフィルタリングされたサンプル値に応答することもできる。以下でさらに詳細に説明
するように、いくつかのタイプのループフィルタが、様々な順序でループフィルタユニッ
ト556の一部として含まれ得る。
【0047】
ループフィルタユニット(556)の出力は、レンダリング装置(512)に出力することが
できると共に、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557
)に格納することもできるサンプルストリームであり得る。
【0048】
特定のコーディングされたピクチャは、完全に再構成されると、将来のインターピクチ
ャ予測のための参照ピクチャとして使用することができる。例えば、現在ピクチャに対応
するコーディングされたピクチャが完全に復元され、コーディングされたピクチャが参照
ピクチャとして(例えば、パーサ(520)によって)識別されると、現在のピクチャバッ
ファ(558)は、参照ピクチャメモリ(557)の一部になることができ、未使用の現在のピ
クチャバッファは、次のコーディングされたピクチャの復元を開始する前に再割当てする
ことができる。
【0049】
ビデオデコーダ(510)は、例えば、ITU-T Rec.H.265などの規格で採用された所定
のビデオ圧縮技術に従って復号動作を実行し得る。コーディングされたビデオシーケンス
がビデオ圧縮技術又は規格の構文とビデオ圧縮技術において文書化されたプロファイルの
両方を順守するという意味で、コーディングされたビデオシーケンスは、使用されている
ビデオ圧縮技術又は規格によって指定された構文に準拠することができる。具体的には、
プロファイルは、そのプロファイルの下でのみ使用に供されるツールとして、ビデオ圧縮
技術又は規格で利用可能なすべてのツールの中から特定のツールを選択することができる
。規格に準拠するために、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮
技術又は規格のレベルによって定義される範囲内にあり得る。場合によっては、レベルは
、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒
のメガサンプル数で測定される)、最大参照ピクチャサイズなどを制限する。レベルによ
って設定される制限は、場合によっては、仮想基準デコーダ(HRD)仕様、及び符号化さ
れたビデオシーケンスにおいて信号で通知されたHRDバッファ管理のためのメタデータに
よってさらに制限され得る。
【0050】
いくつかの例示的実施形態では、受信機(531)は、符号化されたビデオと共に追加の
(冗長な)データを受信し得る。追加のデータは、(1つ又は複数の)コーディングされ
たビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切に復号する
ために、かつ/又は元のビデオデータをより正確に復元するために、ビデオデコーダ(51
0)によって使用されてもよい。追加のデータは、例えば、時間、空間、又は信号ノイズ
比(SNR)の拡張層、冗長スライス、冗長ピクチャ、順方向誤り訂正コードなどの形式で
あり得る。
【0051】
図6に、本開示の一例示的実施形態によるビデオエンコーダ(603)のブロック図を示す
。ビデオエンコーダ(603)は、電子装置(620)に含まれ得る。電子装置(620)は、送
信機(640)(例えば、送信回路)をさらに含み得る。ビデオエンコーダ(603)は、
図4
の例のビデオエンコーダ(403)の代わりに使用することができる。
【0052】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべ
き(1つ又は複数の)ビデオ画像を取り込み得るビデオソース(601)(
図6の例では電子
装置(620)の一部ではない)からビデオサンプルを受信し得る。別の例では、ビデオソ
ース(601)は電子装置(620)の一部分として実装され得る。
【0053】
ビデオソース(601)は、ビデオエンコーダ(603)によってコーディングされるべきソ
ースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビ
ット、...)、任意の色空間(例えば、BT.601 Y CrCb、RGB、XYZ...)、及び任意
の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとするこ
とができるデジタルビデオサンプルストリームの形で提供し得る。メディアサービングシ
ステムでは、ビデオソース(601)は、以前に準備されたビデオを格納することができる
記憶装置であり得る。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像
情報をビデオシーケンスとして取り込むカメラであり得る。ビデオデータは、順を追って
見たときに動きを与える複数の個別のピクチャ又は画像として提供され得る。ピクチャ自
体は、画素の空間配列として編成されてもよく、各画素は、使用されているサンプリング
構造、色空間などに応じて、1つ又は複数のサンプルを含むことができる。当業者であれ
ば、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに
焦点を当てている。
【0054】
いくつかの例示的実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、
又は用途によって必要とされる他の任意の時間制約の下で、ソースビデオシーケンスのピ
クチャをコーディングされたビデオシーケンス(643)にコーディング及び圧縮し得る。
適切なコーディング速度を強制することが、コントローラ(650)の1つの機能を構成する
。いくつかの実施形態では、コントローラ(650)は、他の機能ユニットに機能的に結合
され、以下で説明されるように他の機能ユニットを制御し得る。簡潔にするために、結合
は図示されていない。コントローラ(650)によって設定されるパラメータには、レート
制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値
など)、ピクチャサイズ、Group of Pictures(GOP)レイアウト、最大動きベクトル探索
範囲などが含まれ得る。コントローラ(650)は、特定のシステム設計のために最適化さ
れたビデオエンコーダ(603)に関連する他の適切な機能を有するように構成することが
できる。
【0055】
いくつかの例示的実施形態では、ビデオエンコーダ(603)は、コーディングループで
動作するように構成され得る。過度に簡略化された説明として、一例では、コーディング
ループは、ソースコーダ(630)(例えば、コーディングされるべき入力ピクチャと、(1
つ又は複数の)参照ピクチャとに基づいて、シンボルストリームなどのシンボルを作成す
る役割を担う)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633
)とを含むことができる。デコーダ(633)は、組み込まれたデコーダ633がエントロピー
コーディングなしでソースコーダ630によってコーディングされたビデオスティームを処
理するとしても、シンボルを再構成して、(リモート)デコーダが作成することになるの
と同様の方法でサンプルデータを作成する(開示の主題で考慮されるビデオ圧縮技術では
、シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮が可逆であ
り得るため)。再構成サンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(
634)に入力される。シンボルストリームの復号は、デコーダの場所(ローカル又はリモ
ート)に関係なくビット正確な結果につながるので、参照ピクチャメモリ(634)内のコ
ンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い
換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」
ことになるのとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピ
クチャの同期性(及び、例えばチャネル誤差が原因で同期性を維持することができない場
合には、結果として生じるドリフト)のこの基本原理はコーディング品質を向上させるた
めに使用される。
【0056】
「ローカル」デコーダ(633)の動作は、
図5と共に上記で詳細にすでに記載されている
、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。
図5も簡
単に参照すると、しかしながら、シンボルが利用可能であり、エントロピーコーダ(645
)及びパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化
/復号が可逆であり得るため、バッファメモリ(515)及びパーサ(520)を含むビデオデ
コーダ(510)のエントロピー復号部分は、エンコーダ内のローカルデコーダ(633)にお
いては完全に実装されない場合がある。
【0057】
この時点で言えることは、デコーダ内にのみ存在し得るパース/エントロピー復号を除
く任意のデコーダ技術もまた必然的に、対応するエンコーダにおいて、実質的に同一の機
能形態で存在する必要があり得るということである。このため、開示の主題はデコーダ動
作に焦点を当てる場合があり、この動作はエンコーダの復号部分と同様である。よって、
エンコーダ技術の説明は、包括的に説明されるデコーダ技術の逆であるので、省略するこ
とができる。特定の領域又は態様においてのみ、エンコーダのより詳細な説明を以下に示
す。
【0058】
動作中、いくつかの例示的実装形態では、ソースコーダ(630)は、「参照ピクチャ」
として指定されたビデオシーケンスからの1つ又は複数の以前にコーディングされたピク
チャを参照して入力ピクチャを予測的にコーディングする、動き補償予測コーディングを
実行する場合がある。このようにして、コーディングエンジン(632)は、入力ピクチャ
の画素ブロックと、入力ピクチャへの(1つ又は複数の)予測参照として選択され得る(1
つ又は複数の)参照ピクチャの画素ブロックとの間の色チャネルの差分(又は残差)をコ
ーディングする。「残差」という用語及びその形容詞形「残基差」は、互換的に使用され
得る。
【0059】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボル
に基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデー
タを復号することができる。コーディングエンジン(632)の動作は、有利なことに、非
可逆プロセスであってもよい。コーディングされたビデオデータが(
図6には示されてい
ない)ビデオデコーダで復号され得るとき、復元されたビデオシーケンスは、通常、いく
つかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコー
ダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得る復号プロセス
を複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(634)に格納させ得る
。このようにして、ビデオエンコーダ(603)は、遠端(リモート)ビデオデコーダによ
って取得される再構成された参照ピクチャと共通の内容を有する再構成された参照ピクチ
ャのコピーをローカルに格納し得る(伝送誤差なしで)。
【0060】
予測器(635)は、コーディングエンジン(632)のための予測検索を実行することがで
きる。すなわち、コーディングされる新しいピクチャの場合、予測器(635)は、新しい
ピクチャのための適切な予測参照として役立つことができる、(候補参照ピクセルブロッ
クとしての)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状などの特定の
メタデータを求めて、参照ピクチャメモリ(634)を検索することができる。予測器(635
)は、適切な予測参照を見つけるために、ピクセルブロックごとにサンプルブロックに対
して動作することができる。場合によっては、予測器(635)によって取得された検索結
果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納され
た複数の参照ピクチャから引き出された予測参照を有することができる。
【0061】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメ
ータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動
作を管理することができる。
【0062】
すべての前述の機能ユニットの出力は、エントロピーコーダ(645)内でエントロピー
コーディングを受けることができる。エントロピーコーダ(645)は、ハフマンコーディ
ング、可変長コーディング、算術コーディングなどといった技術に従ったシンボルの可逆
圧縮により、様々な機能ユニットによって生成されたシンボルをコーディングされたビデ
オシーケンスに変換する。
【0063】
送信機(640)は、エントロピーコーダ(645)によって作成されたコーディングされた
ビデオシーケンスをバッファリングして、通信チャネル(660)を介した送信の準備をす
ることができ、通信チャネル(660)は、符号化されたビデオデータを格納する記憶装置
へのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオコー
ダ(603)からのコーディングされたビデオデータを、送信される他のデータ、例えば、
コーディングされたオーディオデータ及び/又は補助データストリーム(ソースは図示さ
れていない)とマージすることができる。
【0064】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することができる。コ
ーディング中に、コントローラ(650)は、各コーディングされたピクチャに特定のコー
ディングされたピクチャタイプを割り当てることができ、それは、それぞれのピクチャに
適用され得るコーディング技法に影響を及ぼす場合がある。例えば、ピクチャは、しばし
ば、以下のピクチャタイプのうちの1つとして割り当てられてもよい。
【0065】
イントラ画像(Iピクチャ)は、シーケンス内の任意の他の画像を予測元として使用す
ることなく符号化及び復号化可能なものであってもよい。一部のビデオコーデックは、例
えば、独立したデコーダリフレッシュ(「IDR」)ピクチャを含む異なるタイプのイント
ラピクチャを可能にする。当業者であれば、Iピクチャのそれらの変形並びにそれらそれ
ぞれの用途及び特徴を認識している。
【0066】
予測画像(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動
きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用して、
符号化及び復号化され得るものであってもよい。
【0067】
双方向予測画像(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2
つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用
して、符号化及び復号化され得るものであってもよい。同様に、複数予測画像は、単一ブ
ロックの再構成のために3つ以上の参照画像及び関連付けられたメタデータを使用するこ
とができる。
【0068】
ソースピクチャは、一般に、複数のサンプルコーディングブロック(例えば、各々4×4
、8×8、4×8、又は16×16サンプルのブロック)に空間的に細分され、ブロックごとにコ
ーディングされ得る。ブロックは、ブロックそれぞれのピクチャに適用されたコーディン
グ割り当てによって決定されるように他の(すでにコーディングされた)ブロックを参照
して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコー
ディングされ得るか、又は、同じピクチャのすでにコーディングされたブロックを参照し
て、予測的にコーディングされ得る(空間予測又はイントラ予測)。Pピクチャのピクセ
ルブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介
して又は時間予測を介して予測的にコーディングされてもよい。Bピクチャのブロックは
、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間予測によって、
又は時間予測を介して予測的にコーディングされ得る。ソースピクチャ又は中間処理され
たピクチャは、他の目的で他のタイプのブロックに細分されてもよい。コーディングブロ
ック及びその他のタイプのブロックの分割は、以下でさらに詳細に説明するように、同じ
方法に従う場合もそうでない場合もある。
【0069】
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの所定のビデオコーディング技
術又は規格に従ってコーディング動作を実行することができる。その動作において、ビデ
オエンコーダ(603)は、入力ビデオシーケンスにおける時間及び空間の冗長性を利用す
る予測コーディング動作を含む、様々な圧縮動作を実行することができる。したがって、
コーディングされたビデオデータは、使用されているビデオコーディング技術又は規格に
よって指定された構文に準拠し得る。
【0070】
いくつかの例示的実施形態では、送信機(640)は、符号化されたビデオと共に追加の
データを送信し得る。ソースコーダ(630)は、そのようなデータをコーディングされた
ビデオシーケンスの一部として含めてもよい。追加のデータは、時間/空間/SNR増強層
、冗長なピクチャやスライスなどの他の形の冗長データ、SEIメッセージ、VUIパラメータ
セットフラグメントなどを含み得る。
【0071】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)として取り込まれてもよ
い。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャにお
ける空間相関を利用し、インターピクチャ予測は、ピクチャ間の時間又はその他の相関を
利用する。例えば、現在のピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロ
ックに分割され得る。現在のピクチャ内のブロックは、ビデオ内の以前にコーディングさ
れたまだバッファされている参照ピクチャ内の参照ブロックに類似している場合、動きベ
クトルと呼ばれるベクトルによってコーディングされ得る。動きベクトルは、参照ピクチ
ャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを
識別する第3の次元を有することができる。
【0072】
いくつかの例示的実施形態では、インターピクチャ予測に双予測技術を使用することが
できる。そのような双予測技術によれば、両方とも復号順序でビデオにおいて現在のピク
チャ続行する(ただし、表示順序では、それぞれ過去又は未来にあり得る)第1の参照ピ
クチャ及び第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内
のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指し示す第1の動きベクトル
と、第2の参照ピクチャ内の第2の参照ブロックを指し示す第2の動きベクトルとによって
コーディングすることができる。ブロックは、第1の参照ブロックと第2の参照ブロックの
組合せによって協調して予測することができる。
【0073】
さらに、マージモード技術が、インターピクチャ予測においてコーディング効率を改善
するために使用されてもよい。
【0074】
本開示のいくつかの例示的実施形態によれば、インターピクチャ予測及びイントラピク
チャ予測などの予測は、ブロック単位で実行される。例えば、ビデオピクチャのシーケン
ス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピク
チャ内のCTUは、64×64画素、32×32画素、又は16×16画素などの同じサイズを有し得る
。一般に、CTUは、3つの並列のコーディングツリーブロック(CTB)、すなわち、1つのル
マCTB及び2つのクロマCTBを含み得る。各CTUは、1つ又は複数のコーディングユニット(C
U)に再帰的に四分木分割することができる。例えば、64×64画素のCTUを、64×64画素の
1つのCU、又は32×32画素の4つのCUに分割することができる。32×32ブロックのうちの1
つ又は複数の各々は、16×16画素の4つのCUにさらに分割され得る。いくつかの例示的実
施形態では、各CUは、インター予測タイプやイントラ予測タイプなどの様々な予測タイプ
の中からそのCUの符号化を決定するために符号化中に分析され得る。CUは、時間的予測可
能性及び/又は空間的予測可能性に応じて、1つ又は複数の予測ユニット(PU)に分割さ
れ得る。一般に、各PUは、1つのルマ予測ブロック(PB)と、2つのクロマPBとを含む。一実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロック単位で
実行される。CUのPU(又は異なる色チャネルのPB)への分割は、様々な空間パターンで実
行され得る。ルマPB又はクロマPBは、例えば、8×8画素、16×16画素、8×16画素、16×8画素などといった、サンプルの値(例えば、ルマ値)の行列を含み得る。
【0075】
図7に、本開示の別の例示的実施形態によるビデオエンコーダ(703)の図を示す。ビデ
オエンコーダ(703)は、ビデオピクチャのシーケンスにおける現在のビデオピクチャ内
のサンプル値の処理ブロック(例えば、予測ブロック)を受け取り、処理ブロックを、コ
ーディングされたビデオシーケンスの一部であるコーディングされたピクチャに符号化す
るように構成される。例示的なビデオエンコーダ(703)は、
図4の例のビデオエンコーダ
(403)の代わりに使用され得る。
【0076】
例えば、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロッ
クのサンプル値の行列を受け取る。次いでビデオエンコーダ(703)は、例えばレート歪
み最適化(RDO)を使用して、処理ブロックがそれを使用して最良にコーディングされる
のは、イントラモードか、インターモードか、それとも双予測モードかを決定する。処理
ブロックがイントラモードでコーディングされると決定された場合、ビデオエンコーダ(
703)は、イントラ予測技術を使用して処理ブロックをコーディングされたピクチャに符
号化し、処理ブロックがインターモード又は双予測モードでコーディングされると決定さ
れた場合、ビデオエンコーダ(703)は、それぞれインター予測技術又は双予測技術を使
用して、処理ブロックをコーディングされたピクチャに符号化し得る。いくつかの例示的
実施形態では、インターピクチャ予測のサブモードとして、動きベクトルが予測子の外側
のコーディングされた動きベクトル成分の恩恵を受けずに1つ又は複数の動きベクトル予
測子から導出されるマージモードが使用され得る。いくつかの他の例示的実施形態では、
対象ブロックに適用可能な動きベクトル成分が存在し得る。したがって、ビデオエンコー
ダ(703)は、処理ブロックの予測モードを決定するために、モード決定モジュールなど
の、
図7に明示的に示されていない構成要素を含み得る。
【0077】
図7の例では、ビデオエンコーダ(703)は、
図7の例示的な構成に示されるように互い
に結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(72
3)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、及びエント
ロピーエンコーダ(725)を含む。
【0078】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプル
を受け取り、そのブロックを参照ピクチャ内の1つ又は複数の参照ブロック(例えば、表
示順序で前のピクチャ内及び後のピクチャ内のブロック)と比較し、インター予測情報(
例えば、インター符号化技術による冗長情報、動きベクトル、マージモード情報の記述)
を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(
例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照ピ
クチャは、(以下でさらに詳細に説明するように、
図7の残差デコーダ728として示されて
いる)
図6の例示的なエンコーダ620に組み込まれた復号ユニット633を使用して符号化さ
れたビデオ情報に基づいて復号された復号された参照ピクチャである。
【0079】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプル
を受け取り、ブロックを同じピクチャ内のすでにコーディングされたブロックと比較し、
変換後の量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つ又は複数
のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。イン
トラエンコーダ(722)は、イントラ予測情報と、同じピクチャ内の参照ブロックとに基
づいて、イントラ予測結果(例えば、予測されたブロック)を計算し得る。
【0080】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビ
デオエンコーダ(703)の他の構成要素を制御するように構成され得る。一例では、汎用
コントローラ(721)は、ブロックの予測モードを決定し、予測モードに基づいてスイッ
チ(726)に制御信号を提供する。例えば、予測モードがイントラモードである場合、汎
用コントローラ(721)は、スイッチ(726)を制御して、残差計算器(723)が使用する
ためのイントラモード結果を選択させ、エントロピーエンコーダ(725)を制御して、イ
ントラ予測情報を選択させてそのイントラ予測情報をビットストリームに含めさせ、ブロ
ックの叙述モードがインターモードである場合、汎用コントローラ(721)は、スイッチ
(726)を制御して、残差計算器(723)が使用するためのインター予測結果を選択させて
、エントロピーエンコーダ(725)を制御して、インター予測情報を選択させてそのイン
ター予測情報をビットストリームに含めさせる。
【0081】
残差計算器(723)は、受け取ったブロックと、イントラエンコーダ(722)又はインタ
ーエンコーダ(730)から選択されたブロックについての予測結果との差分(残差データ
)を計算するように構成され得る。残差エンコーダ(724)は、残差データを符号化して
変換係数を生成するように構成され得る。例えば、残差エンコーダ(724)は、残差デー
タを空間領域から周波数領域に変換して変換係数を生成するように構成され得る。次いで
、変換係数は、量子化変換係数を取得するために量子化処理を受ける。様々な例示的実施
形態において、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(
728)は逆変換を実行し、復号された残差データを生成するように構成される。復号され
た残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって適
切に使用することができる。例えば、インターエンコーダ(730)は、復号された残差デ
ータとインター予測情報とに基づいて復号されたブロックを生成することができ、イント
ラエンコーダ(722)は、復号された残差データとイントラ予測情報とに基づいて復号さ
れたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生
成するために適切に処理され、復号されたピクチャは、メモリ回路(図示せず)にバッフ
ァし、参照ピクチャとして使用することができる。
【0082】
エントロピーエンコーダ(725)は、ビットストリームを符号化されたブロックを含む
ようにフォーマットし、エントロピーコーディングを実行するように構成される。エント
ロピーエンコーダ(725)は、ビットストリームに様々な情報を含めるように構成される
。例えば、エントロピーエンコーダ(725)は、汎用制御データ、選択された予測情報(
例えば、イントラ予測情報やインター予測情報)、残差情報、及び他の適切な情報をビッ
トストリームに含めるように構成され得る。インターモード又は双予測モードのどちらか
のマージサブモードでブロックをコーディングするときには、残差情報が存在しない場合
がある。
【0083】
図8に、本開示の別の実施形態による例示的なビデオデコーダ(810)の図を示す。ビデ
オデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディング
されたピクチャを受け取り、コーディングされたピクチャを復号して再構成されたピクチ
ャを生成するように構成される。一例では、ビデオデコーダ(810)は、
図4の例のビデオ
デコーダ(410)の代わりに使用され得る。
【0084】
図8の例では、ビデオデコーダ(810)は、
図8の例示的な構成に示されるように、互い
に結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(
873)、再構成モジュール(874)、及びイントラデコーダ(872)を含む。
【0085】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングさ
れたピクチャが構成される構文要素を表す特定のシンボルを復元するように構成すること
ができる。そのようなシンボルは、例えば、ブロックがコーディングされているモード(
例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサ
ブモード)、イントラデコーダ(872)又はインターデコーダ(880)によって予測に使用
される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イント
ラ予測情報やインター予測情報)、例えば量子化変換係数の形の残差情報などを含むこと
ができる。一例では、予測モードがインターモード又は双予測モードである場合、インタ
ー予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプで
ある場合、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆
量子化を受けることができ、残差デコーダ(873)に提供される。
【0086】
インターデコーダ(880)は、インター予測情報を受け取り、インター予測情報に基づ
いてインター予測結果を生成するように構成され得る。
【0087】
イントラデコーダ(872)は、イントラ予測情報を受け取り、イントラ予測情報に基づ
いて予測結果を生成するように構成され得る。
【0088】
残差デコーダ(873)は逆量子化を実行して逆量子化変換係数を抽出し、逆量子化変換
係数を処理して残差を周波数領域から空間領域に変換するように構成され得る。残差デコ
ーダ(873)はまた(量子化パラメータ(QP)を含めるために)特定の制御情報を利用と
する場合もあり、その情報はエントロピーデコーダ(871)によって提供され得る(これ
は少量の制御情報のみであり得るためデータパスは図示しない)。
【0089】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)による出力とし
ての残差と、(場合によって、インター予測モジュール又はイントラ予測モジュールによ
る出力として)予測結果とを組み合わせて、再構成されたビデオの一部としての再構成さ
れたピクチャの一部を形成する再構成されたブロックを形成するように構成され得る。視
覚品質を改善するために、非ブロック化動作などの他の適切な動作が実行されてもよいこ
とに留意されたい。
【0090】
ビデオエンコーダ(403)、(603)、及び(703)、並びにビデオデコーダ(410)、(
510)、及び(810)は、任意の適切な技法を使用して実装され得ることに留意されたい。
いくつかの例示的実施形態では、ビデオエンコーダ(403)、(603)、及び(703)、並
びにビデオデコーダ(410)、(510)、及び(810)を、1つ又は複数の集積回路を使用し
て実装することができる。別の実施形態では、ビデオエンコーダ(403)、(603)、及び
(603)、並びにビデオデコーダ(410)、(510)、及び(810)は、ソフトウェア命令を
実行する1つ又は複数のプロセッサを使用して実装することができる。
【0091】
イントラ予測プロセスに戻ると、ブロック(例えば、ルマ又はクロマ予測ブロック、又
は予測ブロックにさらに分割されていない場合はコーディングブロック)内のサンプルは
、予測ブロックを生成するために、隣接するライン、次に隣接するライン、又は他の1つ
若しくは複数のライン、又はそれらの組合せのサンプルによって予測される。符号化され
ている実際のブロックと予測ブロックとの間の残差は、変換とそれに続く量子化によって
処理され得る。様々なイントラ予測モードが利用可能にされてもよく、イントラ予測モー
ド選択に関連するパラメータ及び他のパラメータがビットストリーム内でシグナリングさ
れてもよい。様々なイントラ予測モードは、例えば、サンプルを予測するための1つ又は
複数のライン位置、1つ又は複数のラインを予測することから予測サンプルが選択される
方向、及び他の特別なイントラ予測モードに関係し得る。
【0092】
例えば、イントラ予測モードのセット(「イントラモード」と互換的に呼ばれる)は、
所定数の方向イントラ予測モードを含み得る。
図1の例示的実装形態に関連して上述した
ように、これらのイントラ予測モードは、特定のブロック内で予測されるサンプルの予測
としてブロック外サンプルが選択される所定数の方向に対応することができる。別の特定
の例示的実装形態では、水平軸に対して45度から207度の角度に対応する8つの主な方向性モードをサポートし、事前定義することができる。
【0093】
イントラ予測のいくつかの他の実装形態では、方向性テクスチャにおけるより多様な空
間的冗長性をさらに活用するために、方向性イントラモードは、より細かい粒度を有する
角度セットにさらに拡張され得る。例えば、上記の8角度の実装形態は、
図9に示すように
、V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED、
及びD67_PREDと呼ばれる8つの公称角度を提供するように構成されてもよく、各公称角度
に対して、所定数(例えば、7)のより細かい角度が追加されてもよい。このような拡張
により、同じ数の所定の方向イントラモードに対応して、より多くの総数(例えば、この
例では56)方向角をイントラ予測に利用することができる。予測角度は、公称イントラ角
度+角度デルタによって、表され得る。各公称角度に対して7つのより細かい角度方向を
有する上記の特定の例では、角度デルタは、3度のステップサイズの-3~3倍であり得る
。
【0094】
いくつかの実装形態では、上記の方向イントラモードの代わりに、又はそれに加えて、
所定数の無方向イントラ予測モードも事前定義され、利用可能にされ得る。例えば、スム
ーズイントラ予測モードと呼ばれる5つの無方向イントラモードが指定されるようにして
もよい。これらの無方向イントラモード予測モードは、具体的には、DC、PAETH、SMOOTH
、SMOOTH_V、及びSMOOTH_Hイントラモードと呼ばれる場合がある。これらの例示的な無
方向モードの下での特定のブロックのサンプルの予測が
図10に示されている。一例として
、
図10は、上隣接ライン及び/又は左隣接線からのサンプルによって予測される4×4のブ
ロック1002を示す。ブロック1002内の特定のサンプル1010は、ブロック1002の上隣接ライン内のサンプル1010の直接上サンプル1004、上隣接ラインと左隣接ラインとの交点としてのサンプル1010の左上サンプル1006、及びブロック1002の左隣接ライン内のサンプル1010の直接左サンプル1008に対応し得る。例示的なDCイントラ予測モードでは、左及び上の隣接するサンプル1008及び1004の平均をサンプル1010の予測子として使用することができる。例示的なPAETHイントラ予測モードでは、上、左、及び上-左参照サンプル1004、1008、及び1006がフェッチされ得、次いで、これらの3つの参照サンプルの中で(上+左-左上)に最も近いいずれかの値がサンプル1010の予測子として設定され得る。SMOOTH_Vイントラ予測モードの例では、サンプル1010は、左上隣接サンプル1006及び左隣接サンプル1008の垂直方向の二次補間によって予測され得る。例示的なSMOOTH_Hイントラ予測モードの場合、サンプル1010は、左上隣接サンプル1006及び上隣接サンプル1004の水平方向の二次補間によって予測され得る。例示的なSMOOTHイントラ予測モードの場合、サンプル1010は、垂直方向及び水平方向における二次補間の平均によって予測され得る。上記の無方向イントラモードの実装形態は、単に非限定的な例として示されているにすぎない。他の
隣接するライン、及びサンプルの他の無方向選択、及び予測ブロック内の特定のサンプル
を予測するための予測サンプルを組み合わせる方法も考えられる。
【0095】
様々なコーディングレベル(ピクチャ、スライス、ブロック、ユニットなど)における
上記の方向性モード又は無方向性モードからのエンコーダによる特定のイントラ予測モー
ドの選択は、ビットストリームでシグナリングされ得る。いくつかの例示的実装形態では
、5つの非角度平滑モード(合計13個のオプション)と共に例示的な8つの公称方向モードが最初にシグナリングされてもよい。次いで、シグナリングされたモードが8つの公称角
度イントラモードのうちの1つである場合、選択された角度デルタを対応するシグナリン
グされた公称角度に示すためにインデックスがさらにシグナリングされる。いくつかの他
の例示的実装形態では、すべてのイントラ予測モードは、シグナリングのためにすべて一
緒に(例えば、56個の方向性モードに5個の無方向性モードを加えて61個のイントラ予測
モードを生成する)インデックス付けされてもよい。
【0096】
いくつかの例示的実装形態では、例示的な56又は他の数の方向イントラ予測モードは、
ブロックの各サンプルを参照サブサンプル位置に投影し、2タップ双線形フィルタによっ
て基準サンプルを補間する統一された方向性予測器を用いて実装され得る。
【0097】
いくつかの実装形態では、エッジ上の基準との減衰する空間的な相関をキャプチャする
ために、FILTER INTRAモードと呼ばれる追加のフィルタモードを設計することができる。
これらのモードでは、ブロック内のいくつかのパッチのためのイントラ予測参照サンプル
として、ブロック外サンプルに加えて、ブロック内の予測サンプルが使用され得る。これ
らのモードは、例えば、事前定義され、少なくともルマブロック(又はルマブロックのみ
)のイントラ予測に利用可能にされ得る。予め定義された数(例えば、5)のフィルタイ
ントラモードを予め設計することができ、その各々は、例えば4×2パッチ内のサンプルと
それに隣接するn個の隣接要素との間の相関を反映するnタップフィルタ(例えば、7タッ
プフィルタ)のセットによって表される。言い換えれば、nタップフィルタの重み係数は
位置に依存し得る。8×8ブロック、4×2パッチ、7タップフィルタ処理を例にとると、
図1
1に示すように、8×8ブロック1102を8つの4×2パッチに分割してもよい。これらのパッチ
を
図11のB0、B1、B1、B3、B4、B5、B6、B7に示す。各パッチについて、
図11のR0~R7で示
されるその7つの隣接パッチを使用して、現在のパッチ内のサンプルを予測することがで
きる。パッチB0に関して、すべての隣接要素はすでに再構築されている可能性がある。し
かし、他のパッチの場合、隣接要素のいくつかは現在のブロックにあり、したがって再構
築されていない可能性があり、その場合、直近の隣接要素の予測値が基準として使用され
る。例えば、
図11に示すようなパッチB7のすべての隣接要素は再構築されていないので、
パッチB7の隣接要素の予測サンプルが代わりに使用される。
【0098】
イントラ予測のいくつかの実装形態では、1つの色成分は、1つ又は複数の他の色成分を
使用して予測され得る。色成分は、YCrCb、RGB、XYZ色空間などのいずれの成分であって
もよい。例えば、ルマからのクロマ、又はCfL)と呼ばれる、ルマ成分(例えば、ルマ基
準サンプル)からのクロマ成分(例えば、クロマブロック)の予測を実施することができ
る。いくつかの例示的実装形態では、クロスカラー予測の多くは、ルマからクロマまでし
か許容されない。例えば、クロマブロック内のクロマサンプルは、一致する再構築された
ルマサンプルの線形関数としてモデル化することができる。CfL予測は、以下のように実
施することができる。
CfL(α)=α×LAC+DC (1)
【0099】
式中、LACは、ルマ成分のAC寄与を表し、αは、線形モデルのパラメータを表し、DCは
、クロマ成分のDC寄与を表す。例えば、AC成分はブロックの各サンプルについて得られ、
DC成分はブロック全体について得られる。具体的には、再構成されたルマサンプルがクロ
マ解像度にサブサンプリングされ得、次いで平均ルマ値(ルマのDC)が各ルマ値から減算
されてルマにおけるAC寄与が形成され得る。次に、ルマのAC寄与は、クロマ成分のAC値を予測するために、式(1)の線形モードで使用される。クロマAC成分をルマAC寄与から近似又は予測するために、デコーダがスケーリングパラメータを計算することを必要とする
代わりに、例示的なCfL実装形態は、元のクロマサンプルに基づいてパラメータαを決定
し、それらをビットストリーム内でシグナリングすることができる。これにより、デコー
ダの複雑さが低減され、より正確な予測が得られる。クロマ成分のDC寄与に関しては、い
くつかの例示的実装形態で、クロマコンテンツ内のイントラDCモードを使用して計算され
得る。
【0100】
基準線のいくつかの例示的実装形態では、複数線イントラ予測が使用されてもよい。こ
れらの実装形態では、2つ以上の参照ラインがイントラ予測における選択のために利用可
能であり得、エンコーダは、イントラ予測器を生成するために使用される参照ラインを決
定し、シグナリングする。参照ラインインデックスはイントラ予測モードの前にシグナリ
ングされ得、非ゼロ参照ラインインデックスがシグナリングされる場合に、最も可能性の
高いモードのみが許可される。
図15を参照すると、4つの参照ライン(基準線0から基準線
3まで)の例が示されており、各参照ラインは、左上参照サンプルと共に6つのセグメント
、すなわちセグメントA~F(1502~1512で示す)から構成される。さらに、セグメントA
及びFは、それぞれセグメントB及びEからの最も近いサンプルでパディングされ得る。
【0101】
次に、イントラ予測ブロック又はインター予測ブロックのいずれかの残差の変換を実施
し、続いて変換係数を量子化することができる。変換を実行する目的で、イントラコーデ
ィングされたブロックとインターコーディングされたブロックとの両方が、変換の前に、
複数の変換ブロック(「単位変換」という用語は通常、3色チャネルの集合を表すために
使用されるが、「変換ユニット」として互換的に使用されることもあり、例えば、「コー
ディングユニット」は、ルマコーディングブロック、及びクロマコーディングブロックを
含む)にさらに分割され得る。いくつかの実装形態では、符号化ブロック(又は予測ブロ
ック)の最大分割深度が指定され得る(「符号化ブロック」という用語は「コーディング
ブロック」と互換的に使用され得る)。例えば、このような区分は、2レベルを超えては
ならない。予測ブロックの変換ブロックへの分割は、イントラ予測ブロックとインター予
測ブロックとで異なって処理されてもよい。しかしながら、いくつかの実装形態では、そ
のような分割は、イントラ予測ブロックとインター予測ブロックとの間で同様であり得る
。
【0102】
いくつかの例示的実装形態では、イントラコーディングブロックの場合、変換パーティ
ションは、すべての変換ブロックが同じサイズを有するように行われ得、変換ブロックは
ラスタスキャン順にコーディングされる。このようなイントラコーディングブロックの変
換ブロックパーティショニングの例を
図12に示す。具体的には、
図12は、コーディングブ
ロック1202が、1206によって示されるように、中間レベルの四分木分割1204を介して同じ
ブロックサイズの16個の変換ブロックに分割されることを示す。コーディングのための例
示的なラスタスキャン順序は、
図12の順序付けられた矢印によって示されている。
【0103】
いくつかの例示的実装形態では、及びインターコーディングブロックの場合、変換ユニ
ット分割は、分割深度が所定のレベル数(例えば、2つのレベル)までで再帰的に行われ
てもよい。
図13に示すように、分割は、任意のサブパーティションについて任意のレベル
で再帰的に停止又は継続することができる。特に、
図13は、ブロック1302が4つの四分木
サブブロック1304に分割され、サブブロックのうちの一方がさらに4つの第二レベル変換
ブロックに分割される一方で、他のサブブロックの分割は第一レベルの後で停止し、2つ
の異なるサイズの合計7つの変換ブロックをもたらす例を示す。コーディングのための例
示的なラスタスキャン順序は、
図13の順序付けられた矢印によってさらに示されている。
図13は、最大2レベルの正方形変換ブロックの四分木分割の例示的実装形態を示している
が、いくつかの生成実装形態では、変換パーティショニングは、1:1(正方形)、1:2/
2:1、及び1:4/4:1の変換ブロック形状及びサイズが4×4から64×64の範囲であること
をサポートすることができる。いくつかの例示的実装形態では、コーディングブロックが
64×64以下の場合、変換ブロックパーティショニングは、(換言すれば、クロマ変換ブロ
ックは、その条件下ではコーディングブロックと同じである)ルマ成分にのみ適用され得
る。そうではなく、コーディングブロックの幅又は高さが64よりも大きい場合には、ルマ
コーディングブロックとクロマコーディングブロックの両方が、それぞれ、min(W,64)
×min(H,64)及びmin(W,32)×min(H,32)の変換ブロックの倍数に、暗黙的に分割
され得る。
【0104】
いくつかの例示的実装形態では、
図16に示されているように、コーディングブロック又
は予測ブロックを変換ブロックに分割するための別の代替的な例示的方式をさらに示す。
図16に示すように、再帰変換パーティショニングを使用する代わりに、コーディングブロ
ックの変換タイプに従ってパーティションタイプの事前定義されたセットがコーディング
ブロックに適用され得る。
図16に示す特定の例では、6つの例示的な分割タイプのうちの1
つが、コーディングブロックを様々な数の変換ブロックに分割するために適用され得る。
このような方式が、コーディングブロック又は予測ブロックのどちらかに適用され得る。
本開示では、「パーティションタイプ」という用語は、一般に、ブロック(例えば、予測
ブロック又はコーディングブロック)がパーティション化される方法を指すことができ、
「変換パーティションタイプ」、「予測ブロックパーティションタイプ」、又は「コーデ
ィングブロックパーティションタイプ」を指すことができる。さらに、「変換パーティシ
ョンタイプ」の下での説明のために、同じ概念が「コーディングブロックパーティション
タイプ」にも適用され、その逆も同様である。
【0105】
より詳細には、
図16の分割方式は、
図16に示すように、任意の所与の変換タイプに対し
て最大6つの分割タイプを提供する。この方式では、すべてのコーディングブロック又は
予測ブロックに、例えばレート歪みコストに基づいて変換タイプが割り当てられ得る。一
例では、コーディングブロック又は予測ブロックに割り当てられる分割タイプは、コーデ
ィングブロック又は予測ブロックの変換タイプに基づいて決定され得る。
図16に例示され
る4つの分割タイプによって示されるように、特定の分割タイプが、変換ブロックの分割
サイズ及びパターン(又は分割タイプ)に対応し得る。様々な変換タイプと様々な分割タ
イプとの間の対応関係が、事前定義され得る。例示的な対応関係を、レート歪みコストに
基づいてコーディングブロック又は予測ブロックに割り当てられ得る変換タイプを示す大
文字のラベルと共に以下に示す。
【0106】
・PARTITION_NONE:ブロックサイズに等しい変換サイズを割り当てる。
【0107】
・PARTITION_SPLIT:ブロックサイズの1/2の幅、ブロックサイズの1/2の高さの変換
サイズを割り当てる。
【0108】
・PARTITION_HORZ:ブロックサイズと同じ幅、ブロックサイズの1/2の高さの変換サ
イズを割り当てる。
【0109】
・PARTITION_VERT:ブロックサイズの1/2の幅、ブロックサイズと同じ高さの変換サ
イズを割り当てる。
【0110】
・PARTITION_HORZ4:ブロックサイズと同じ幅、ブロックサイズの1/4の高さの変換サ
イズを割り当てる。
【0111】
・PARTITION_VERT4:ブロックサイズの1/4の幅、ブロックサイズと同じ高さの変換サ
イズを割り当てる。
【0112】
上記の例では、
図16に示される分割タイプはすべて、分割された変換ブロックについて
の均一な変換サイズを含む。これは限定ではなく単なる例である。いくつかの他の実装形
態では、混合変換ブロックサイズが、特定の分割タイプ(又はパターン)における分割さ
れた変換ブロックについて使用され得る。
【0113】
その後、上記で取得された変換ブロックの各々は、プライマリ変換を受け得る。プライ
マリ変換は、基本的に、変換ブロック内の残差を空間領域から周波数領域に移動させる。
実際のプライマリ変換のいくつかの実装形態では、上記の例示的な拡張コーディングブロ
ックパーティションをサポートするために、複数の変換サイズ(2つの次元の各次元に対
して4ポイントから64ポイントの範囲)及び変換形状(正方形;幅/高さ比が2:1/1:2
、及び4:1/1:4の長方形)が許容され得る。
【0114】
実際のプライマリ変換に目を向けると、いくつかの例示的実装形態では、2D変換プロセ
スは、ハイブリッド変換カーネル(これは、例えば、コーディング残差変換ブロックの次
元ごとに異なる1-D変換から構成され得る)の使用を含むことができる。例示的な1-D変
換カーネルは、以下を含み得るが、これらに限定されない:a)4ポイント、8ポイント、1
6ポイント、32ポイント、64ポイントのDCT-2;b)4ポイント、8ポイント、16ポイントの
非対称DST's(DST-4、DST-7)及びそれらのフリップバージョン;c)4ポイント、8ポ
イント、16ポイント、32ポイントの等値変換。各次元に使用される変換カーネルの選択は
、レート歪み(RD)基準に基づくことができる。例えば、実装され得るDCT-2及び非対称
DST'sの基底関数を表1に列挙する。
【表1】
【0115】
いくつかの例示的実装形態では、特定のプライマリ変換実装形態のハイブリッド変換カ
ーネルの可用性は、変換ブロックサイズ及び予測モードに基づくことができる。依存関係
の例を表2に列挙する。クロマ成分の場合、変換タイプ選択は暗黙的な方法で実行されて
もよい。例では、イントラ予測残差について、
図3に特定されているように、変換タイプ
をイントラ予測モードに従って選択することができる。インター予測残差については、ク
ロマブロックに対する変換タイプを、同じ場所にあるルマブロックの変換タイプ選択に従
って選択することができる。したがって、クロマ成分の場合、ビットストリームに変換タ
イプのシグナリングはない。
【表2】
【表3】
【0116】
いくつかの実装形態は、プライマリ変換係数に対するセカンダリ変換が実行され得る。
例えば、
図14に示されるように、プライマリ変換係数をさらに非相関化するために、低減
されたセカンダリ変換として知られているLFNST(低周波数分離不可能変換)が、順方向
プライマリ変換と量子化との間(エンコーダにおける)、及び逆量子化と逆プライマリ変
換との間(デコーダ側における)に適用され得る。本質的に、LFNSTは、セカンダリ変換
に進むために、プライマリ変換係数の一部、例えば、低周波数部分(したがって、変換ブ
ロックのプライマリ変換係数の完全なセットから「低減された」)を取り得る。LFNSTの
例では、変換ブロックサイズにしたがって、4×4の分離不可能な変換又は8×8の分離不可
能な変換が適用され得る。例えば、小さい変換ブロック(例えば、min(幅、高さ)<8)
には4×4のLFNSTが適用され、大きい変換ブロック(例えば、min(幅、高さ)>8)には8
×8のLFNSTが適用され得る。例えば、8×8変換ブロックが4×4LFNSTの影響を受ける場合
、8×8のプライマリ変換係数の低周波数4×4部分のみがさらにセカンダリ変換を受ける。
【0117】
図14に具体的に示されているように、変換ブロックは8×8(又は16×16)であり得る。
したがって、変換ブロックの順方向プライマリ変換1402は、8×8(又は16×16)プライマ
リ変換係数行列1404を生成し、各平方単位は、2×2(又は4×4)部分を表す。順方向LFNS
Tへの入力は、例えば、8×8(又は16×16)のプライマリ変換係数全体でなくてもよい。
例えば、4×4(又は8×8)のLFNSTがセカンダリ変換に使用され得る。したがって、斜線
部分(左上)1406に示すように、プライマリ変換係数行列1404の4×4(又は8×8)の低周
波数プライマリ変換コエフェクトのみが、LFNSTへの入力として使用され得る。プライマ
リ変換係数行列の残りの部分は、セカンダリ変換を受けなくてもよい。このように、セカ
ンダリ変換の後、LFNSTの影響を受けるプライマリ変換コエフェクトの部分は、セカンダ
リ変換係数になるが、LFNSTの影響を受けない残りの部分(例えば、行列1404の陰影のな
い部分)は、対応するプライマリ変換係数を維持する。いくつかの例示的実装形態では、
セカンダリ変換の対象ではない残りの部分は、すべて0係数に設定されてもよい。
【0118】
LFNSTで使用される分離不可能変換の適用例を以下に説明する。例示的な4×4LFNSTを適
用するために、4×4の入力ブロックX(例えば、
図14のプライマリ変換行列1404の斜線部
分1406のようなプライマリ変換係数ブロックの4×4の低周波部分を表す)を以下のように
表すことができる。
【数1】
【0119】
この2D入力行列は、最初に線形化されるか、又は例示的な順序でベクトル
【数2】
まで走査されてもよい。
【数3】
【0120】
4×4のLFNSTの分離不可能な変換は、その後、
【数4】
として計算され得、
【数5】
は、出力変換係数ベクトルを示し、Tは、16×16の変換行列である。得られた16×1の係
数ベクトル
【数6】
は、続いて、そのブロックの走査順序を使用して4×4のブロックとして逆走査される(
例えば、水平、垂直、又は斜め)。インデックスが小さい係数は、4×4の係数ブロック内
のスキャンインデックスが小さい係数に配置され得る。このようにして、プライマリ変換
係数Xの冗長性は、第2の変換Tを介してさらに活用することができ、それによって追加の
圧縮強化を提供する。
【0121】
上記の例示的なLFNSTは、分離不可能変換を適用するための直接行列乗算手法に基づい
ており、その結果、複数の反復なしに単一パスで実施される。いくつかのさらなる例示的
実装形態では、変換係数を格納するための計算複雑度及びメモリ空間要件を最小限に抑え
るために、例の4×4LFNSTの分離不可能な変換行列(T)の次元をさらに削減することがで
きる。このような実装形態は、縮小非分離変換(RST)と称され得る。より詳細には、RST
の主な概念は、N(Nは、上記の例では4×4=16であるが、8×8ブロックについては64に等
しくてもよい)次元ベクトルを異なる空間のR次元ベクトルにマッピングすることであり
、N/R(R<N)は次元削減係数を表す。したがって、N×N変換行列の代わりに、RST行列
は以下のようにR×N行列になる。
【数7】
【0122】
式7において、変換行列のR行は、N次元空間の縮小R基底である。したがって、変換は、
入力ベクトル又はN次元の縮小R次元の出力ベクトルに変換する。したがって、
図14に示す
ように、プライマリ係数1406から変換されたセカンダリ変換係数1408は、次元で係数又は
N/Rだけ低減される。
図14の1408の周囲の3つの正方形はゼロで詰めてもよい。
【0123】
RTSの逆変換行列は、その順方向変換の転置であり得る。例示的な8×8のLFNST(ここで
のより多様な説明のために、上記の4×4LFNSTと対比される)の場合、例示的な低減係数4
を適用することができ、したがって、64×64の直接分離不可能変換行列は、それに応じて
16×64の直接行列に低減される。さらに、いくつかの実装形態では、入力プライマリ係数
の全体ではなく一部がLFNSTの入力ベクトルに線形化されてもよい。例えば、例の8×8の
入力プライマリ変換係数の一部のみが上記のXベクトルに線形化されてもよい。特定の例
では、8×8のプライマリ変換係数行列の4つの4×4象限のうち、右下(高周波数係数)は
除外することができ、他の3つの象限のみが、48×1ベクトルではなく所定の走査順序を使
用して64×1ベクトルに線形化される。そのような実装形態では、分離不可能な変換行列
は、16×64から16×48にさらに低減され得る。
【0124】
したがって、例示的な縮小された48×16の逆RST行列をデコーダ側で使用して、8×8の
コア(プライマリ)変換係数の左上、右上、及び左下の4×4象限を生成することができる
。具体的には、同じ変換セット構成を有する16×64RSTの代わりに、さらに縮小された16
×48RST行列が適用される場合、分離不可能なセカンダリ変換は、右下の4×4のブロック
を除く8×8のプライマリ係数ブロックの3つの4×4象限ブロックからベクトル化された48
個の行列要素を入力として取る。そのような実装形態では、省略された右下の4×4のプラ
イマリ変換係数は、セカンダリ変換で無視される。このさらに縮小された変換は、48×1
のベクトルを16×1の出力ベクトルに変換し、これは
図14の1408を満たすために4×4行列
に逆走査される。1408を囲むセカンダリ変換係数の3つの正方形は、ゼロパディングされ
てもよい。
【0125】
RSTの寸法のこのような縮小の助けを借りて、すべてのLFNST行列を格納するためのメモ
リ使用量が削減される。上記の例では、例えば、メモリ使用量は、次元縮小のない実装形
態と比較して、合理的にわずかな性能低下で10KBから8KBに削減され得る。
【0126】
いくつかの実装形態では、複雑さを低減するために、LFNSTは、LFNSTの対象となるプラ
イマリ変換係数部分の外側のすべての係数(例えば、
図14の1404の1406部分の外側)が有意でない場合にのみ適用可能であるようにさらに制限され得る。したがって、LFNSTが適
用される場合、すべてのプライマリのみの変換係数(例えば、
図14のプライマリ係数行列
1404の斜線が付されていない部分)は0に近くなり得る。そのような制限は、最下位の位
置でのLFNSTインデックス信号伝達の調整を可能にし、したがって、この制限が適用され
ないときに特定の位置で有意な係数をチェックするために必要とされ得る追加の係数走査
を回避する。いくつかの実装形態では、LFNSTの最悪の場合の処理(ピクセルあたりの乗
算に関して)は、4×4及び8×8ブロックの分離不可能な変換を、それぞれ8×16及び8×48変換に制限することができる。これらの場合、LFNSTが適用される場合、16未満の他のサイズでは、最終有意走査位置は8未満でなければならない。4×N及びN×4及びN>8の形状を有するブロックの場合、上記の制限は、もはやLFNSTが左上の4×4領域に1回だけ適用されることを意味する。LFNSTが適用されるとき、すべてのプライマリのみの係数は0であるため、そのような場合、プライマリ変換に必要な演算の数は低減される。エンコーダの観点から見ると、LFNST変換がテストされるときに係数の量子化を単純化することができる。レート歪み最適化量子化(RDO)を、(走査順序で)最大限で、最初の16個の係数に対
して行うことができ、残りの係数を0に設定することができる。
【0127】
いくつかの例示的実装形態では、利用可能なRSTカーネルは、各変換セットがいくつか
の分離不可能な変換行列を含むいくつかの変換セットとして指定されてもよい。例えば、
LFNSTで使用される変換セットごとに合計4つの変換セット及び2つの分離不可能な変換行
列(カーネル)が存在し得る。これらのカーネルは、オフラインで事前訓練されてもよく
、したがってデータ駆動される。オフラインで訓練された変換カーネルは、符号化/復号
プロセス中に使用するために、メモリに記憶されるか、又は符号化若しくは復号デバイス
にハードコーディングされ得る。符号化又は復号プロセス中の変換セットの選択は、イン
トラ予測モードによって決定され得る。イントラ予測モードから変換セットへのマッピン
グは、事前定義され得る。そのような事前定義されたマッピングの例を表4に示す。例え
ば、表4に示すように、3つの交差成分線形モデル(CCLM)モード(INTRA_LT_CCLM、INT
RA_T_CCLM又はINTRA_L_CCLM)のうちの1つが現在のブロック(すなわち、81<=pred
ModeIntra<=83である)に使用される場合、変換セット0が現在のクロマブロックに対し
て選択され得る。各変換セットについて、選択された分離不可能セカンダリ変換候補は、
明示的にシグナリングされたLFNSTインデックスによってさらに指定することができる。
例えば、インデックスは、変換係数の後、イントラCUごとに1回、ビットストリームでシ
グナリングされ得る。
【表4】
【0128】
LFNSTは、上の実装形態において、第1の係数サブグループ又は部分外のすべての係数が
有意でない場合にのみ適用可能であるように制限されているので、LFNSTインデックスの
コーディングは、最下位係数の位置に依存し得る。さらに、LFNSTインデックスはコンテ
キストコーディングであり得るが、イントラ予測モードに依存せず、第1のビンのみがコ
ンテキストコーディングされ得るのみである。さらに、LFNSTは、イントラ及びインター
スライスの両方におけるイントラCU、並びにルマ及びクロマの両方に適用することができ
る。二重ツリーが有効になっている場合、ルマ及びクロマのLFNSTインデックスを別々に
シグナリングすることができる。インタースライス(デュアルツリーがディスエーブルで
ある)の場合、単一のLFNSTインデックスがシグナリングされ、ルマとクロマの両方に使
用される。
【0129】
いくつかの例示的実装形態では、イントラサブパーティショニング(ISP)モードが選
択されると、実行可能なすべてのパーティションブロックにRSTが適用されたとしても性
能向上は限界がある可能性が高いため、LFNSTが無効化され、RSTインデックスがシグナリ
ングされない場合がある。さらに、ISP予測残差のRSTを無効にすると、符号化の複雑さを
低減することができる。いくつかのさらなる実装形態では、多重線形回帰イントラ予測(
MIP)モードが選択されたとき、LFNSTも無効にされ、RSTインデックスはシグナリングさ
れなくてもよい。
【0130】
既存の最大変換サイズ制限(例えば、64×64)に起因して、64×64を超える大きなCU(
又は最大変換ブロックサイズを表す任意の他の所定のサイズ)が暗黙的に分割(例えば、
TUタイリング)されることを考慮すると、LFNSTインデックス検索は、特定の数の復号パ
イプラインステージについてデータバッファリングを4倍増加させることができる。した
がって、いくつかの実装形態では、LFNSTが許容される最大サイズは、例えば64×64に制
限され得る。いくつかの実装形態では、LFNSTは、プライマリ変換としてのみDCT2で有効
にすることができる。
【0131】
いくつかの他の実装形態では、例えば、各セット内の3つのカーネルを用いて、例えば
、12セットのセカンダリ変換を定義することにより、ルマ成分に対して二次内変換(IST
)が提供される。イントラモード依存インデックスが、変換セット選択のために使用され
得る。セット内のカーネル選択は、シグナリングされた構文要素に基づいてもよい。IST
は、DCT2又はADSTのいずれかが水平及び垂直プライマリ変換の両方として使用される場合
にイネーブルされ得る。いくつかの実装形態では、ブロックサイズに従って、4×4の分離
不可能な変換又は8×8の分離不可能な変換を選択することができる。min(tx_width,tx
_height)<8の場合、4×4ISTを選択することができる。より大きなブロックの場合、8
×8ISTを使用することができる。ここで、tx_width&tx_heightは、それぞれ変換ブロ
ックの幅及び高さに対応する。ISTへの入力は、ジグザグな走査順の低周波数プライマリ
変換係数であってもよい。
【0132】
ビデオコーディング又は復号化プロセスにおける様々な変換、例えば、残差ブロック内
のサンプルのプライマリ変換又はプライマリ変換係数プロセスのブロックのセカンダリ変
換のいずれかは、分離可能な変換方式のみを使用する場合、45度方向(例えば、水平方向
又は垂直方向から実質的に離れた方向)であるエッジなどの方向性のテクスチャパターン
をキャプチャする際に必ずしも効率的ではない場合がある。上述したように、いくつかの
例示的実装形態では、プライマリ変換係数のセカンダリ変換に対し、1つ又は複数の分離
不可能な変換設計を使用することができる。
【0133】
分割された変換ブロックに適用される変換ブロックパーティショニング及び変換タイプ
は、相互に関連し得る。例えば、特定の変換タイプは、特定のパーティションタイプによ
り適している場合がある。例えば、
図16に例示され、前述された変換パーティショニング
方式は、
図13において前述された区分のような再帰区分と比較して、非再帰区分タイプを
提示する。すべての利用可能な変換タイプが、すべての利用可能なパーティションパター
ン(例えば、
図16の変換パーティションタイプ)の下で分割された変換ブロックのために
許可されたのであれば、エンコーダは、変換ブロックを取得するためにどの変換パーティ
ションタイプを使用するのか、及び、各パーティション化された変換ブロックのためにど
の変換タイプを使用するのかを決定する場合、大きなパラメータ空間において最適化を実
行する必要があるだろう。実際には、変換タイプのあるセットは、一般に、特定のタイプ
の変換パーティションタイプに対して他の変換タイプよりも適切であり得る。以下に説明
する様々な実装形態では、変換パーティションタイプと変換タイプとの間の相互作用を考
慮及び使用して、特定のパーティションタイプに対して許可される変換タイプを制限し、
同様に、特定の変換タイプに対して許可されるパーティションタイプを制限する方式に到
達することができる。このような実装形態は、特に非再帰的変換パーティショニングが適
用される状況において、各分割変換ブロックの変換パーティションパターン及び変換タイ
プ選択を決定する場合、エンコーダのための最適化スペースの低減を可能にし得る。
【0134】
これらの例示的実装形態は、別々に使用されてもよいし、任意の順序又は任意の方法で
組み合わせられてもよい。上記及び下記の論考において、「コーディングされたブロック
」、「コーディングブロック」などの用語は、予測又は変換が実行されるピクチャユニッ
トを指すために使用され得る。コーディングブロックは、ルマコーディングブロックであ
り得るか又はクロマコーディングブロックであり得る。いくつかの状況では、コーディン
グされた/コーディングブロックは予測ブロックを指し得る。「ブロックサイズ」という
用語は、コーディングブロックの幅若しくは高さ、又は幅及び高さの最大値、又は幅及び
高さの最小値、又は領域のサイズ(幅*高さ)、又はアスペクト比(幅:高さ、又は高さ
:幅)を指すために使用される。
【0135】
複数の候補プライマリ変換タイプ
【0136】
一実施形態では、ブロックに対して複数の候補プライマリ変換タイプがあり得る。ブロ
ックは、パーティションから結果的に生じる変換ブロックを含み得る。プライマリ変換タ
イプの選択及び/又はシグナリングは、変換パーティションタイプの事前定義されたセッ
トに制限され得る。変換パーティションタイプの事前定義されたセットは、利用可能な変
換パーティションタイプのより大きなセット(例えば、
図16のパーティションタイプのフ
ルセット)のサブセットであり得る。言い換えれば、ブロックの変換パーティションタイ
プが変換パーティションタイプの事前定義されたセットに属する場合にのみ、プライマリ
変換の選択が行われ、シグナリングされる。そうではなく、例えば、変換パーティション
タイプが他のタイプのものである場合、選択及びシグナリングされるのではなく、デフォ
ルトの変換タイプが使用され得る。
【0137】
一実装形態では、プライマリ変換タイプは、離散コサイン変換(DCT)タイプ1からDCT
タイプ8非対称離散サイン変換(ADST);離散サイン変換(DST)タイプ1からDSTタイプ8
;折れ線グラフ変換(LGT);又はカルーネン・レーベ変換(KLT)のうちの少なくとも1
つを含むことができる。
【0138】
一実装形態では、変換パーティションタイプの事前定義されたセットは、例えば
図16の
様々な変換パーティションタイプのうちのPARTITION_NONEのみを含み、すなわち、変換
ブロックサイズは予測ブロック(又はコーディングブロック)サイズに等しい。したがっ
て、変換タイプがこの事前定義されたセットに属する場合にのみ、プライマリ変換タイプ
が選択及び/又はシグナリングされ得る。
【0139】
一実装形態では、パーティションの数はまた、変換パーティションタイプの事前定義さ
れたセットを決定するために考慮され得る。例えば、特定の変換パーティションタイプの
パーティションの数が事前定義された閾値以下である場合にのみ、プライマリ変換タイプ
が選択及び/又はシグナリングされ得る変換パーティションタイプの事前定義されたセッ
トの一部とみなされる。一実装形態では、事前定義された閾値は、1から16の整数であっ
てもよい。
【0140】
複数の候補セカンダリ変換タイプ
【0141】
一実施形態では、ブロックに対して複数の候補セカンダリ変換タイプがあり得る。ブロ
ックは、パーティションから結果的に生じる変換ブロックを含み得る。セカンダリ変換タ
イプの選択及び/又はシグナリングは、変換パーティションタイプの事前定義されたセッ
トにのみ適用され得る。変換パーティションタイプの事前定義されたセットは、利用可能
な変換パーティションタイプのより大きなセット(例えば、
図16の変換パーティションタ
イプのフルセット)のサブセットであり得る。言い換えれば、ブロックの変換パーティシ
ョンタイプが変換パーティションタイプの事前定義されたセットに属する場合にのみ、セ
カンダリ変換の選択が行われ、シグナリングされる。そうではなく、例えば、変換パーテ
ィションタイプが他のタイプのものである場合、選択及びシグナリングされるのではなく
デフォルトのセカンダリ変換タイプが使用されてもよく、又はセカンダリ変換が実行され
なくてもよい。
【0142】
一実装形態では、セカンダリ変換タイプは、KLTを含み得る。KLTは、異なるカーネルで
構成されてもよい。
【0143】
一実装形態では、変換パーティションタイプの事前定義されたセットは、例えば
図16の
様々な変換パーティションタイプのうちのPARTITION_NONEのみを含み得る、すなわち、
変換ブロックサイズは予測ブロック(又はコーディングブロック)サイズに等しい。した
がって、変換タイプがこの事前定義されたセットに属する場合にのみ、セカンダリ変換タ
イプが選択及び/又はシグナリングされ得る。
【0144】
一実装形態では、パーティションの数はまた、変換パーティションタイプの事前定義さ
れたセットを決定するために考慮され得る。例えば、特定の変換パーティションタイプの
パーティションの数が事前定義された閾値以下である場合にのみ、セカンダリ変換タイプ
が選択及び/又はシグナリングされ得る変換パーティションタイプの事前定義されたセッ
トの一部とみなされる。一実装形態では、事前定義された閾値は、1から16の整数であっ
てもよい。
【0145】
一実装形態では、セカンダリ変換タイプの選択及び/又はシグナリングは、変換パーテ
ィションタイプとプライマリ変換タイプとの組合せに基づいてもよい。この組合せは、変
換パーティションタイプの事前定義されたセットにおける変換パーティションタイプと、
変換タイプの事前定義されたセットにおけるプライマリ変換タイプとを含み得る。例えば
、セカンダリ変換タイプは、変換パーティションタイプがPARTITION_NONEであり、ブロ
ックに使用されるプライマリ変換タイプがDCT又はADSTである場合にのみ選択及び/又は
シグナリングされる必要があり得る。そうではなく、例えば変換パーティションタイプが
他のタイプのものである場合、選択及びシグナリングされるのではなくデフォルトのセカ
ンダリ変換タイプが使用されてもよく、又はセカンダリ変換が実行されなくてもよい。
【0146】
変換関連シグナリング
【0147】
本開示では、変換関連シンタックス要素/パラメータの順序を考慮して、シグナリング
効率を高めることを目的とした様々なシグナリング機構が開示される。
【0148】
一実施形態では、変換パーティションタイプ情報は、プライマリ/セカンダリ変換タイ
プ選択情報の前にシグナリングされ得る。プライマリ/セカンダリ変換タイプの選択は、
変換パーティションが変換パーティションタイプの事前定義されたセット、例えばPARTIT
ION_NONEに属するときにのみシグナリングされる必要がある。そうではなく、変換パー
ティションが変換パーティションタイプの事前定義されたセットに属さない場合、プライ
マリ/セカンダリ変換タイプ選択はシグナリングされる必要がない場合がある。代わりに
、プライマリ/セカンダリ変換タイプは、事前定義されたデフォルト変換タイプとして導
出されてもよい。
【0149】
一実施形態では、プライマリ/セカンダリ変換タイプ選択情報は、変換パーティション
タイプ情報の前にシグナリングされ得る。この場合、変換パーティションタイプの選択及
び/又はシグナリングは、プライマリ/セカンダリ変換タイプ選択情報に依存し得る。
【0150】
一実装形態では、プライマリ変換タイプが変換タイプの事前定義されたセットに属する
場合にのみ、変換パーティションタイプ情報がシグナリングされる必要があり得る。そう
でなければ、変換パーティションタイプ情報はシグナリングされる必要がない場合がある
。例として、変換タイプの事前定義されたセットは、DCTタイプ1からDCTタイプ8、ADST、
DSTタイプ1からDSTタイプ8、LGT、及びKLTを含むことができるが、これらに限定されない。
【0151】
一実装形態では、セカンダリ変換タイプが変換タイプの事前定義されたセットに属する
場合にのみ、変換パーティションタイプ情報がシグナリングされる必要があり得る。例と
して、変換タイプの事前定義されたセットは、限定はしないが、事前定義されたKLTイン
デックスに関連付けられたカーネルを有する特定のKLTを含むことができる。そうではな
く、セカンダリ変換タイプが変換タイプの事前定義されたセットに属さない場合、変換パ
ーティションタイプ情報はシグナリングされる必要がない場合がある。代わりに、変換パ
ーティションタイプ情報は、PARTITION_NONEなどの事前定義されたデフォルト変換パー
ティションタイプとして導出されてもよい。
【0152】
図17は、ビデオデータを復号するための例示的な方法1700を示す。方法1700は、以下のステップ、すなわち、ステップ1710の、データブロックのコーディングされたビデオビットストリームを受信するステップと、ステップ1720の、コーディングされたビデオビットストリームから、データブロックに関連付けられた変換パーティションタイプを抽出する
ステップと、ステップ1730の、変換パーティションタイプが、データブロックを変換ブロ
ックに分割するための分割パターンをそれぞれ指定する変換パーティションタイプの事前
定義されたセットのサブセットに属することに応答して、コーディングされたビデオビッ
トストリームでシグナリングされるように、データブロックから分割された変換ブロック
に関連付けられた変換の変換タイプを抽出するステップであって、変換タイプは、変換タ
イプの第1の事前定義されたセットに属する、ステップと、変換タイプに従って、変換ブ
ロックに対して逆変換を実行するステップとを含む。
【0153】
本開示の実施形態では、任意のステップ及び/又は動作を、必要に応じて任意の量又は
順序で組み合わせるか、又は配置することができる。2つ以上のステップ及び/又は動作
を並行して実行することができる。
【0154】
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。
さらに、方法(又は実施形態)の各々、エンコーダ、及びデコーダは、処理回路(例えば
、1つ若しくは複数のプロセッサ又は1つ若しくは複数の集積回路)によって実施されても
よい。一例では、1つ又は複数のプロセッサは、非一時的コンピュータ可読媒体に格納さ
れたプログラムを実行する。本開示の実施形態は、ルマブロック又はクロマブロックに適
用されてもよい。
【0155】
上記で説明された技術は、1つ以上のコンピュータ可読媒体に物理的に記憶された、コ
ンピュータ可読命令を使用するコンピュータソフトウェアとして実施され得る。例えば、
図18は、開示されている主題の特定の実施形態を実施するのに適したコンピュータシステ
ム(1800)を示す。
【0156】
コンピュータソフトウェアは、1つ以上のコンピュータ中央処理装置(CPU:central pr
ocessing unit)及びグラフィック処理装置(GPU:Graphics Processing Unit)などによ
って直接的に、又は解釈及びマイクロコードの実行などを通して実行され得る命令を含む
コードを作成するために、アセンブリ、コンパイル、リンキング、又は同様のメカニズム
を受け得る任意の適切な機械コード又はコンピュータ言語を使用してコーディングされ得
る。
【0157】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマー
トフォン、ゲーム機、インターネット・オブ・シングス装置などを含む様々なタイプのコ
ンピュータ又はその構成要素で実行することができる。
【0158】
コンピュータシステム(1800)に関して
図18に示されている構成要素は、本質的に例示
であり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に
関する限定を示唆することを意図されていない。また、コンポーネントの構成は、コンピ
ュータシステム(1800)の例示的実施形態に示されるコンポーネントのいずれか1つ又は
組合せに関連する依存性又は要件を有すると解釈されるべきではない。
【0159】
コンピュータシステム(1800)は、特定のヒューマンインタフェース入力デバイスを含
み得る。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キー
ストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視
覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人又は複数の人間のユー
ザによる入力に応答し得る。ヒューマンインタフェースデバイスを用いて、音声(発話、
音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など
)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)など、人間による意識
的な入力に必ずしも直接関係ない特定の媒体を取り込むこともできる。
【0160】
入力ヒューマンインタフェースデバイスは、キーボード(1801)、マウス(1802)、ト
ラックパッド(1803)、タッチスクリーン(1810)、データグローブ(図示せず)、ジョ
イスティック(1805)、マイク(1806)、スキャナ(1807)、カメラ(1808)のうちの1
つ又は複数(それぞれ1つずつ図示されている)を含み得る。
【0161】
コンピュータシステム(1800)はまた、特定のヒューマンインタフェース出力デバイス
を含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、
音、光、及び嗅覚/味覚を通して、1人又は複数の人間のユーザの感覚を刺激し得る。こ
のようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチ
スクリーン(1810)、データグローブ(図示せず)、又はジョイスティック(1805)によ
る触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバ
イスもあり得る)、オーディオ出力デバイス(スピーカ(1809)、ヘッドフォン(図示せ
ず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、
OLEDスクリーン(それぞれタッチスクリーン入力機能の有無にかかわらない、それぞれ触
覚フィードバック機能の有無にかかわらない、これらの一部は、2次元視覚出力、又はス
テレオグラフィック出力などの手段による3次元を超える出力を出力することができ得る
)を含むスクリーン(1810)、仮想現実眼鏡(図示せず)、ホログラフィックディスプレ
イ、及びスモークタンク(図示せず)など)、並びにプリンタ(図示せず)を含み得る。
【0162】
コンピュータシステム(1800)はまた、人間がアクセス可能な記憶装置及びそれらの関
連媒体、例えば、CD/DVDなどの媒体を有するCD/DVD ROM/RW(1820)を含む光学媒体(
1821)、サムドライブ(1822)、リムーバブルハードドライブ又はソリッドステートドラ
イブ(1823)、テープ及びフロッピーディスク(図示せず)などのレガシー磁気媒体、セ
キュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどを含む
ことができる。
【0163】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体
」という用語が、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解する
べきである。
【0164】
コンピュータシステム(1800)はまた、1つ又は複数の通信ネットワーク(1855)への
インタフェース(1854)を含むことができる。ネットワークは、例えば、無線、有線、光
であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両及び産業、
リアルタイム、遅延耐性などとすることができる。ネットワークの例には、イーサネット
、無線LANなどのローカル・エリア・ネットワーク、GSM、3G、4G、5G、LTEなどを含むセ
ルラーネットワーク、ケーブルテレビ、衛星テレビ、及び地上波放送テレビを含むテレビ
有線又は無線広域デジタルネットワーク、CANbusを含む車両及び産業用などが含まれる。
特定のネットワークは、通常、(例えば、コンピュータシステム(1800)のUSBポートな
どの)特定の汎用データポート又は周辺バス(1849)に取り付けられた外部ネットワーク
インタフェースアダプタを必要とし、他のネットワークは、通常、以下に記載されるシス
テムバスに取り付けることによってコンピュータシステム(1800)のコアに統合される(
例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートフォンコ
ンピュータシステムへのセルラーネットワークインタフェース)。これらのネットワーク
のいずれかを使用して、コンピュータシステム(1800)は他のエンティティと通信できる
。このような通信は、一方向、受信のみ(例えば、テレビ放送)、一方向の送信のみ(例
えば、特定のCANbusデバイスへのCANbus)、又は双方向、例えば、ローカル又はワイドエ
リアデジタルネットワークを使用する他のコンピュータシステムへの通信である。特定の
プロトコル及びプロトコルスタックは、上記で説明したように、それらのネットワーク及
びネットワークインタフェースのそれぞれで使用することができる。
【0165】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能な記憶装置、及び
ネットワークインタフェースは、コンピュータシステム(1800)のコア(1840)に接続さ
れ得る。
【0166】
コア(1840)は、1つ又は複数の中央処理装置(CPU)(1841)、グラフィック処理装置
(GPU)(1842)、フィールド・プログラマブル・ゲート・エリア(FPGA)(1843)の形
態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1844
)、グラフィックアダプタ(1850)などを含むことができる。これらのデバイスは、読み
取り専用メモリ(ROM)(1845)、ランダムアクセスメモリ(1846)、ユーザがアクセス
できない内蔵ハードドライブなどの内部大容量記憶装置、SSDなど(1847)と共にシステ
ムバス(1848)を介して接続され得る。一部のコンピュータシステムでは、追加のCPU、G
PUなどによる拡張を可能にするために、1つ又は複数の物理プラグの形式でシステムバス
(1848)にアクセスすることができる。周辺デバイスは、コアのシステムバス(1848)に
直接接続され得るか、又は周辺バス(1849)を介して接続され得る。一例では、スクリー
ン(1810)をグラフィックアダプタ(1850)に接続することができる。周辺バスのアーキ
テクチャは、PCI、USBなどを含む。
【0167】
CPU(1841)、GPU(1842)、FPGA(1843)、及びアクセラレータ(1844)は、組み合わ
せて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータ
コードは、ROM(1845)又はRAM(1846)に格納できる。移行データはRAM(1846)に格納
することもできるが、恒久的データは例えば内部大容量記憶装置(1847)に格納できる。
任意のメモリデバイスの高速格納及び検索は、1つ又は複数のCPU(1841)、GPU(1842)
、大容量記憶装置(1847)、ROM(1845)、RAM(1846)などに密接に関連付けられ得るキ
ャッシュメモリの使用を通じて可能にすることができる。
【0168】
コンピュータ可読媒体は、様々なコンピュータ実施動作を行うためのコンピュータコー
ドを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に
設計及び構成されたものであってもよいし、又はコンピュータソフトウェア技術の当業者
に周知の利用可能な種類のものであってもよい。
【0169】
非限定的な例として、アーキテクチャを有するコンピュータシステム(1800)、特にコ
ア(1840)は、(CPU、GPU、FPGA、アクセラレータなどを含む)(1つ又は複数の)プロ
セッサが、1つ又は複数の有形のコンピュータ可読媒体において具現化されたソフトウェ
アを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体
は、上記で紹介したユーザアクセス可能な大容量記憶装置、並びにコア内部大容量記憶装
置(1847)やROM(1845)などの非一時的な性質のコア(1840)の特定の記憶装置に関連
付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのよ
うなデバイスに格納され、コア(1840)によって実行され得る。コンピュータ可読媒体は
、特定の必要性に応じて、1つ又は複数のメモリデバイス又はチップを含むことができる
。ソフトウェアは、コア(1840)に、具体的にはその中のプロセッサ(CPU、GPU、及びFP
GAなどを含む)に、RAM(1846)に記憶されたデータ構造を定義すること、及びソフトウ
ェアによって定義されたプロセスに従ってこのようなデータ構造を変更することを含む、
本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させる
ことができる。加えて、又は代替として、コンピュータシステムは、本明細書で説明され
ている特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェア
の代わりに又はソフトウェアと共に動作し得る、回路にハードワイヤードされた、又は他
の方法で具現化された論理(例えば、アクセラレータ(1844))の結果として機能を提供
することができる。ソフトウェアへの言及は、適切な場合には、ロジックを包含すること
ができ、逆もまた同様である。必要に応じて、コンピュータ可読媒体への言及は、実行の
ためのソフトウェアを格納する回路(集積回路(IC:integrated circuit)など)、実行
のためのロジックを具体化する回路、又はこれらの両方を包含することができる。本開示
は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
【0170】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例
、置換例、及び様々な代替均等例がある。したがって、当業者は、本明細書では明示的に
示されていないか、又は説明されていないが、本開示の原理を具現化し、したがってその
精神及び範囲内にある多数のシステム及び方法を考案できることが理解されよう。
付記A:頭字語
JEM:共同探索モデル
VVC:多用途ビデオコーディング
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオコーディング
SEI:補足エンハンスメント情報
VUI:ビデオユーザビリティ情報
GOP:Group of Pictures
TU:変換ユニット
PU:予測ユニット
CTU:コーディングツリーユニット
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号対雑音比
CPU:中央処理装置
GPU:グラフィックス処理装置
CRT:ブラウン管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み出し専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブル論理デバイス
LAN:ローカル・エリア・ネットワーク
GSM:グローバル移動体通信システム
LTE:Long-Term Evolution
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
HDR:ハイダイナミックレンジ
SDR:標準ダイナミックレンジ
JVET:共同ビデオ探索チーム
MPM:最確モード
WAIP:広角イントラ予測
CU:コーディングユニット
PU:予測ユニット
TU:変換ユニット
CTU:コーディングツリーユニット
PDPC:位置依存予測組合せ
ISP:イントラサブパーティション
SPS:シーケンスパラメータ設定
PPS:ピクチャパラメータセット
APS:適応パラメータセット
VPS:ビデオパラメータセット
DPS:復号パラメータセット
ALF:適応ループフィルタ
SAO:サンプル適応オフセット
CC-ALF:交差成分適応ループフィルタ
CDEF:制約付き方向性強化フィルタ
CCSO:交差成分サンプルオフセット
LSO:ローカルサンプルオフセット
LR:ループ復元フィルタ
AV1:AOMedia Video1
AV2:AOMedia Video2
【符号の説明】
【0171】
101 サンプル
102 矢印
103 矢印
104 正方形ブロック
201 ブロック
300 通信システム
310 端末装置
320 端末装置
330 端末装置
350 ネットワーク
400 通信システム
401 ビデオソース
402 ストリーム
403 ビデオエンコーダ
404 ビデオデータ、ビデオビットストリーム
405 ストリーミングサーバ
406 クライアントサブシステム
407 入力コピー、ビデオデータ
410 ビデオデコーダ
411 出力ストリーム
412 ディスプレイ
413 ビデオ取り込みサブシステム
420 電子装置
430 電子装置
501 チャネル
510 ビデオデコーダ
512 レンダリング装置、ディスプレイ
515 バッファメモリ
520 パーサ
521 シンボル
530 電子装置
531 受信機
551 逆変換ユニット
552 イントラピクチャ予測ユニット
553 動き補償予測ユニット
555 アグリゲータ
556 ループフィルタユニット
557 参照ピクチャメモリ
558 ピクチャバッファ
601 ビデオソース
603 ビデオコーダ、ビデオエンコーダ
620 電子装置
630 ソースコーダ
632 コーディングエンジン
633 ローカルビデオデコーダ、復号ユニット
634 参照ピクチャキャッシュ、参照ピクチャメモリ
635 予測器
640 送信機
643 ビデオシーケンス
645 エントロピーコーダ
650 コントローラ
660 通信チャネル
703 ビデオエンコーダ
721 汎用コントローラ
722 イントラエンコーダ
723 残差計算器
724 残差エンコーダ
725 エントロピーエンコーダ
726 スイッチ
728 残差デコーダ
730 インターエンコーダ
810 ビデオデコーダ
871 エントロピーデコーダ
872 イントラデコーダ
873 残差デコーダ
874 再構成モジュール
880 インターデコーダ
1002 ブロック
1004 上サンプル
1006 左上サンプル
1008 左サンプル
1010 サンプル
1102 ブロック
1202 コーディングされたブロック
1204 四分木分割
1302 ブロック
1304 四分木サブブロック
1402 順方向プライマリ変換
1404 プライマリ変換係数行列
1406 プライマリ係数、斜線部分
1408 セカンダリ変換係数
1800 コンピュータシステム
1801 キーボード
1802 マウス
1803 トラックパッド
1805 ジョイスティック
1806 マイク
1807 スキャナ
1808 カメラ
1809 オーディオ出力デバイススピーカ
1810 タッチスクリーン
1821 光学媒体
1822 サムドライブ
1823 ソリッドステートドライブ
1840 コア
1843 フィールド・プログラマブル・ゲート・エリア(FPGA)
1844 ハードウェアアクセラレータ
1845 読み取り専用メモリ(ROM)
1846 ランダムアクセスメモリ
1847 コア内部大容量記憶装置
1848 システムバス
1849 周辺バス
1850 グラフィックアダプタ
1854 インタフェース
1855 通信ネットワーク
【外国語明細書】