(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-10
(45)【発行日】2024-06-18
(54)【発明の名称】ビデオ符号化のための方法並びにその装置及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/11 20140101AFI20240611BHJP
H04N 19/159 20140101ALI20240611BHJP
H04N 19/176 20140101ALI20240611BHJP
【FI】
H04N19/11
H04N19/159
H04N19/176
(21)【出願番号】P 2020556805
(86)(22)【出願日】2019-05-02
(86)【国際出願番号】 US2019030356
(87)【国際公開番号】W WO2019217189
(87)【国際公開日】2019-11-14
【審査請求日】2020-10-21
【審判番号】
【審判請求日】2023-05-15
(32)【優先日】2018-05-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-11-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【合議体】
【審判長】畑中 高行
【審判官】川崎 優
【審判官】高橋 宣博
(56)【参考文献】
【文献】Xiang Li et al.,“Description of SDR video coding technology proposal by Tencent”、 Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11 10th Meeting: San Diego,US, 10-20 Apr. 2018 Document:JVET-J0029-v1、2018年4月6日、pp.7-8
【文献】Xuguang Zuo et al.,“Intra block copy for intra-frame coding”、Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego,US, 10-20 Apr.2018 Document:JVET-J0042-v3、2018年4月14日、pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダが実行する方法であって、
符号化されたビデオビットストリームから、現在ピクチャのセグメントにおけるクロマ符号化ユニットの予測情報をデコードするステップであって、前記セグメントは、時間的参照ピクチャを欠き、ルーマ成分およびクロマ成分のためのセパレート符号化ツリー構造を有する、ステップと、
前記符号化されたビデオビットストリームから前記クロマ符号化ユニットに関連付けられた1ビットの予測モードフラグを検出するステップであって、前記予測モードフラグは、インターモードであることを示す値をとる場合、上記クロマ符号化ユニットがイントラブロックコピーモードで符号化されていることを示す、ステップと、
前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの特定のブロックベクトルの省略を検出するステップと、
前記特定のブロックベクトルの前記省略が検出された場合、かつ、前記クロマ符号化ユニットに対応するルーマ領域内のすべてのルーマサブブロックまたは最小ルーマユニットについてイントラブロックコピーモードが決定された場合、かつ、前記ルーマサブブロックまたは前記最小ルーマユニットから導出されたクロマブロックベクトルが有効である場合、
前記予測モードフラグに基づいてクロマ符号化ブロックの予測モードを前記イントラブロックコピーモードに決定するステップと、
決定された前記予測モードに従って、前記クロマ符号化ユニットの少なくとも1つのサンプルを再構築するステップと、
を含む方法。
【請求項2】
前記ルーマサブブロックは、前記クロマ符号化ユニットのすべての同一場所に配置されたルーマサブブロックである、請求項1に記載の方法。
【請求項3】
前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記同一場所に配置されたルーマサブブロックから導出された前記クロマ符号化ユニットにおける最小クロマユニットの第1のブロックベクトルの有効性を示す、請求項2に記載の方法。
【請求項4】
前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記同一場所に配置されたルーマサブブロックから導出された前記第1のブロックベクトルが、前記現在ピクチャでデコードされた参照領域を指すことを示す、請求項3に記載の方法。
【請求項5】
前記同一場所に配置されたルーマサブブロックの第2のブロックベクトルに基づいて、前記最小クロマユニットの前記第1のブロックベクトルを導出するステップと、
前記第1のブロックベクトルに基づいて前記最小クロマユニットを再構築するステップと、をさらに含む、請求項3に記載の方法。
【請求項6】
前記最小ルーマユニットは、すべての同一場所に配置された最小ルーマユニットである、請求項1に記載の方法。
【請求項7】
前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記同一場所に配置された最小ルーマユニットから導出された前記クロマ符号化ユニットにおけるクロマサブブロックの第1のブロックベクトルの有効性を示す、請求項6に記載の方法。
【請求項8】
前記同一場所に配置された最小ルーマユニットの第2のブロックベクトルに基づいて、前記クロマサブブロックの前記第1のブロックベクトルを導出するステップと、
前記第1のブロックベクトルに基づいて前記クロマサブブロックを再構築するステップと、をさらに含む、請求項7に記載の方法。
【請求項9】
ビデオデコードのための装置であって、
プロセッサとメモリとを含み、前記プロセッサが前記メモリに記憶されたプログラムを実行することにより、請求項1~8のいずれか1項に記載の方法を実現する、装置。
【請求項10】
コンピュータに請求項1~8のいずれか1項に記載の方法のステップを実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[参照による援用]
本開示は、2018年5月11日に出願された米国仮出願第62/670,695号の「セパレート符号化ツリー構造を用いたイントラピクチャブロック補償のシグナリング方法」の優先権を主張し、その内容を全て参照により本明細書に組み込むものとする。
【0002】
本開示は、一般にビデオ符号化に関する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される「背景技術」の説明は、本開示の内容を大まかに示すことを目的とする。ここに名を挙げられている発明者の業績は、この背景技術に記載された範囲において、出願時に従来技術として通常見なされえない記載の態様と共に、明示的にも黙示的にも本開示に対する従来技術として認められない。
【0004】
ビデオ符号化およびデコードは、動き補償を伴うイントラピクチャ予測を使用して実行されることができる。非圧縮デジタルビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080ルーマサンプルと関連するクロマサンプルの空間次元を持っている。該一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変ピクチャレート(非公式には「フレームレート」とも呼ばれる)を持つことができる。非圧縮ビデオには、顕著なビットレート要件がある。例えば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzフレームレートでの1920×1080ルーマサンプル解像度)には、1.5Gbit/sに近い帯域幅が必要である。このようなビデオを1時間使用するには、600GBytesを超えた記憶領域が必要である。
【0005】
ビデオ符号化およびデコードの1つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことであり得る。圧縮は、前述の帯域幅または記憶領域の要件を、場合によっては2桁以上削減するのに役立つ。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせを使用することができる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構築できる技法を指す。非可逆圧縮を使用する場合、再構築された信号は元の信号と同一ではない可能性があるが、元の信号と再構築された信号の間の歪みは十分小さくて、再構築された信号が意図されたアプリケーションにとって十分に役立つ。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションによって異なる。例えば、特定のコンシューマストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容できる。達成可能な圧縮率は、受け入れ可能/許容可能な歪みが大きいほど、圧縮率が高くなることを反映することができる。
【0006】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピー符号化を含むいくつかの広範なカテゴリからの技法を利用することができる。
【0007】
ビデオコーデック技術は、イントラ符号化として知られる技法を含み得る。イントラ符号化では、サンプル値は、予め再構築された参照ピクチャからのサンプルまたは他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードで符号化されると、そのピクチャはイントラピクチャになる可能性がある。イントラピクチャとその独立デコーダリフレッシュピクチャなどの派生物は、デコーダの状態をリセットするために使用できるため、符号化されたビデオビットストリームとビデオセッションの最初のピクチャとして、または静止画像として使用されることができる。イントラブロックのサンプルは変換にさらされることができ、変換係数はエントロピー符号化の前に量子化されることができる。イントラ予測は、事前変換領域でサンプル値を最小化する技法であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピー符号化後のブロックを表すために所定の量子化ステップサイズで必要なビットが少なくなる。
【0008】
例えばMPEG-2世代の符号化技術から知られているような従来のイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、デコード順の先に位置する、エンコード/デコード中に得られたサンプルデータおよび/またはメタデータの周りのデータブロックから、データのブロックを試みる技法を含む。そのような技法は、以降、「イントラ予測」技法と呼ばれる。少なくともいくつかのケースでは、イントラ予測は、再構成中の現在ピクチャからの参照データのみを使用し、参照ピクチャからの参照データを使用しないことに注意されたい。
【0009】
イントラ予測はさまざまな形態で存在し得る。そのような技法の2つ以上が所定のビデオ符号化技術に使用できる場合、使用中の技法はイントラ予測モードで符号化されることができる。場合によっては、モードはサブモードやパラメータを有することができ、それらを個別に符号化するか、もしくはモードコードワードに含めることができる。どのコードワードが所定のモード/サブモード/パラメータの組み合わせに使用されるかは、イントラ予測による符号化効率の向上に影響を与える可能性があるので、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術に影響を与える可能性がある。
【0010】
イントラ予測の特定のモードはH.264で導入され、H.265で改良され、さらに共同探索モデル(JEM)、多用途ビデオ符号化(VVC)、およびベンチマークセット(BMS)などのより新しい符号化技術で改良された。予測子ブロックは、すでに利用可能なサンプルに属する隣接サンプル値を使用して形成されることができる。隣接サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームで符号化されるか、もしくはそれ自体が予測され得る。
【0011】
図1を参照し、右下に示されたのは、H.265の35通りの予測可能な方向から知られる9通りの予測方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、1つまたは複数のサンプルから右上に向けて、水平軸から45度の角度で予測されることを示す。同様に、矢印(103)は、サンプル(101)が、1つまたは複数のサンプルからサンプル(101)の左下に向けて、水平軸から22.5度の角度で予測されることを示す。
【0012】
引き続き
図1を参照し、左上には、4×4サンプルの正方形ブロック(104)(太い破線で示される)が示されている。正方形ブロック(104)は、それぞれが、「S」、Y次元におけるその位置(例えば、行インデックス)、およびX次元におけるその位置(例えば、列インデックス)でラベル付けされた16サンプルを含む。例えば、サンプルS21は、Y次元(上から)における2番目のサンプルかつX次元(左から)における1番目のサンプルである。同様に、サンプルS44は、YおよびX次元の両方においてブロック(104)における4番目のサンプルである。ブロックがサイズで4×4サンプルなので、S44は、右下にある。さらに、同様な番号付け体系に従う参照サンプルが示されている。参照サンプルは、R、ブロック(104)に対するそのY位置(例えば、行インデックス)およびX位置(列インデックス)でラベル付けされる。H.264とH.265の両方で、予測サンプルは再構築中のブロックに隣接している。したがって、負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向で適切の隣接するサンプルから参照サンプル値をコピーすることで機能することができる。例えば、仮に、符号化されたビデオビットストリームは、このブロックについて矢印(102)(すなわち、サンプルが、1つまたは複数の予測サンプルから右上に、水平から45度の角度で予測される)と一致する予測方向を示すシグナリングを含むとする。この場合、サンプルS41、S32、S23、およびS14は同一の参照サンプルR05から予測される。その後、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定の場合において、複数の参照サンプルの値は、参照サンプルを算出するために、特に方向が45度で均等に分割されていない場合に、例えば補間によって組み合わせられることができる。
【0015】
ビデオ符号化技術が発展するにつれて、予測可能な方向の数は増加した。H.264(2003年)では、9通りの異なる方向を表すことができた。H.265(2013年)で33通りに増加し、JEM/VVC/BMSは開示時に最大65通りの方向をサポートできる。最も見込みのある方向を識別するための実験が行われ、エントロピー符号化における特定の技法は、数が少ないビットにおいて見込みの高い方向を表すために使用され、見込みの低い方向に対する特定のペナルティを受け入れる。さらに、方向自体は、隣接する、すでにデコードされたブロックで使用される隣接方向から予測される場合がある。
【0016】
図2は、経時的な予測方向の増加数を示すために、JEMによる65通りのイントラ予測方向を示す概略図(201)を示す。
【0017】
方向を表す符号化されたビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオ符号化技術ごとに異なる可能性があり、また、例えば、イントラ予測モードへ乃至コードワードへの予測方向の単純な直接マッピングから、最も可能性の高いモードや類似した技法を含む複雑な適応方式までの範囲とすることができる。しかしながら、すべての場合において、他の特定の方向よりも統計的にビデオコンテンツで発生する可能性が低い特定の方向が存在する可能性がある。ビデオ圧縮の目的は冗長性の削減であるため、適切に機能するビデオ符号化技術では、これらの可能性の低い方向は、可能性の高い方向よりも多くのビット数で表される。
【発明の概要】
【0018】
本開示の態様は、ビデオ符号化のための方法および装置を提供する。いくつかの例では、装置は、受信回路と処理回路とを備える。前記処理回路は、符号化されたビデオビットストリームから、現在ピクチャのセグメント(スライス、タイル、タイル群など)におけるクロマ符号化ユニットの予測情報をデコードする。前記セグメントは、時間的参照ピクチャを欠き、ルーマ成分およびクロマ成分のためのセパレート符号化ツリー構造を有する。その後、前記処理回路は、前記符号化されたビデオビットストリームから前記クロマ符号化ユニットに関連付けられた予測モードフラグを検出し、前記予測モードフラグに基づいて、前記クロマ符号化ユニットのためのイントラ予測モードおよびイントラブロックコピーモードから予測モードを決定する。さらに、前記処理回路は、決定された前記予測モードに従って、前記クロマ符号化ユニットの少なくとも1つのサンプルを再構築する。
【0019】
いくつかの実施形態では、前記セグメントが時間的参照ピクチャを有する場合、前記予測モードフラグは、インター予測モードおよび前記イントラ予測モードのうちの一方を示すために使用される。
【0020】
本開示の一態様によれば、前記処理回路は、前記予測モードフラグに基づいて前記予測モードを前記イントラブロックコピーモードに決定し、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの特定のブロックベクトルの省略を検出する。前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記クロマ符号化ユニットのすべての同一場所に配置されたルーマサブブロックが前記イントラブロックコピーモードを有することを示す。一例では、前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記同一場所に配置されたルーマサブブロックから導出された前記クロマ符号化ユニットの最小クロマユニットの第1のブロックベクトルの有効性を示す。例えば、前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記同一場所に配置されたルーマサブブロックから導出された前記第1のブロックベクトルが、前記現在ピクチャでデコードされた参照領域を指すことを示す。
【0021】
一実施形態では、前記処理回路は、その後、前記同一場所に配置されたルーマサブブロックの第2のブロックベクトルに基づいて、前記最小クロマユニットの前記第1のブロックベクトルを導出し、前記第1のブロックベクトルに基づいて前記最小クロマユニットを再構築する。
【0022】
いくつかの実施形態では、前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、すべての同一場所に配置された最小ルーマユニットが前記イントラブロックコピーモードを有することを示す。例えば、前記イントラブロックコピーモードと、前記符号化されたビデオビットストリームによる前記クロマ符号化ユニットの前記特定のブロックベクトルの前記省略との組み合わせは、前記同一場所に配置された最小ルーマユニットから導出された前記クロマ符号化ユニットにおけるクロマサブブロックの第1のブロックベクトルの有効性を示す。
【0023】
このため、一実施形態では、前記処理回路は、前記同一場所に配置された最小ルーマユニットの第2のブロックベクトルに基づいて、前記クロマサブブロックの前記第1のブロックベクトルを導出し、前記第1のブロックベクトルに基づいて前記クロマサブブロックを再構築する
いくつかの実施形態では、前記処理回路は、前記予測モードフラグに基づいて、前記クロマ符号化ユニットの前記イントラブロックコピーモードを選択し、前記符号化されたビデオビットストリームから前記クロマ符号化ユニットの特定のブロックベクトルを検出する。その後、前記ブロックベクトルに従って、前記クロマ符号化ユニットの前記少なくとも1つのサンプルを再構築する。
【0024】
本開示の態様は、ビデオデコードのためのコンピュータによって実行されると、前記コンピュータに前記ビデオ符号化のための方法を実行させる命令を記憶する非一時的なコンピュータ読取可能な媒体をも提供する。
【図面の簡単な説明】
【0025】
開示された主題のさらなる特徴、本質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
イントラ予測図
【
図1】いくつかの例によるイントラ予測モードのサブセットの概略図である。
【
図2】いくつかの例によるイントラ予測方向の図である。
【
図3】一実施形態による通信システム(300)の簡略ブロック図の概略図である。
【
図4】一実施形態による通信システム(400)の簡略ブロック図の概略図である。
【
図5】一実施形態によるデコーダの簡略ブロック図の概略図である。
【
図6】一実施形態によるエンコーダの簡略ブロック図の概略図である。
【
図7】他の実施形態によるエンコーダのブロック図を示す。
【
図8】他の実施形態によるデコーダのブロック図を示す。
【
図9】本開示の一実施形態によるイントラブロックコピーの例を示す。
【
図10】本開示の一実施形態によるクロマCUおよび同一場所に配置されたルーマ領域の例を示す。
【
図11】本開示の一実施形態による処理例を概説するフローチャートを示す。
【
図12】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0026】
図3は、本開示の実施形態による通信システム(300)の簡略ブロック図を示している。通信システム(300)は、例えばネットワーク(350)を介して互いに通信可能な複数の端末装置を含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続される第1の対の端末装置(310)および(320)を含む。
図3の例では、第1の対の端末装置(310)および(320)は、データの単方向送信を実行する。例えば、端末装置(310)は、ネットワーク(350)を介して他の端末装置(320)へ送信するためにビデオデータ(例えば、端末装置(310)によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。エンコードされたビデオデータは、1つ以上の符号化されたビデオビットストリームの形で送信されることができる。端末装置(320)は、ネットワーク(350)から符号化ビデオデータを受信し、符号化ビデオデータをデコードしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示することができる。単方向のデータ送信は、メディアサービスアプリケーションなどで一般的である。
【0027】
他の例では、通信システム(300)は、例えば、ビデオ会議中に発生し得る符号化ビデオデータの双方向送信を実行する第2の対の端末装置(330)および(340)を含む。データの双方向送信の場合、一例では、端末装置(330)および(340)のそれぞれは、ネットワーク(350)を介して端末装置(330)および(340)のうちの他方の端末装置へ送信するためにビデオデータ(例えば、端末装置によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。端末装置(330)および(340)のそれぞれは、端末装置(330)および(340)のうちの他方の端末装置で送信された符号化ビデオデータを受信することができ、符号化ビデオデータをデコードしてビデオピクチャを復元することができ、復元されたビデオデータに従ってビデオピクチャをアクセス可能な表示装置に表示することができる。
【0028】
図3の例では、端末装置(310)、(320)、(330)および(340)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示され得るが、しかし、本開示の原理はこれに制限されることはない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、および/または専用のビデオ会議機器における用途を見出す。ネットワーク(350)は、例えば有線および/または無線通信ネットワークを含む、端末装置(310)、(320)、(330)および(340)間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換および/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本議論の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジーは、以下で説明されない限り、本開示の動作にとって重要でないかもしれない。
【0029】
図4は、開示された主題の適用の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルTV、および、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他のビデオ対応アプリケーションに等しく適用可能である。
【0030】
ストリーミングシステムは、例えば非圧縮のビデオピクチャ(402)のストリームを作成するデジタルカメラなどのビデオソース(401)を含むことができるキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャ(402)のストリームは、デジタルカメラによって取得されたサンプルを含む。エンコードされたビデオデータ(404)(又は符号化されたビデオビットストリーム)と比較して高データ量を強調するために太線で示されたビデオピクチャ(402)のストリームは、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下でより詳細に説明されるように、開示された主題の態様を実現できるまたは実施できるように、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。エンコードされたビデオデータ(404)(またはエンコードされたビデオビットストリーム(404))は、ビデオピクチャ(402)のストリームと比較して、より低いデータ量を強調するために細い線で示され、将来使うためにストリーミングサーバ(405)に記憶されることができる。
図4のクライアントサブシステム(406)および(408)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、エンコードされたビデオデータ(404)のコピー(407)および(409)を検索することができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)におけるビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコードされたビデオデータの入力コピー(407)をデコードし、ディスプレイ(412)(例えば、表示画面)または他のレンダリングデバイス(示されていない)でレンダリングできるビデオピクチャ(411)の出力ストリームを作成する。一部のストリーミングシステムにおいて、エンコードされたビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮規格に従ってエンコードされることができる。これらの規格の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化規格は、非公式的にヴァーサトゥルビデオ符号化(VVC)として知られている。開示された主題は、VVCの文脈に使用され得る。
【0031】
なお、電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができる。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)を含むこともできる。
【0032】
図5は、本開示の実施形態によるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(410)の代わりに使用されることができる。
【0033】
受信機(531)は、ビデオデコーダ(510)によってデコードされる1つ以上の符号化ビデオシーケンスを受信することができ、同一または別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してもよく、各符号化ビデオシーケンスのデコードは、他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(501)から受信されることができる。受信機(531)は、それぞれの使用エンティティ(示されていない)に転送され得る他のデータ、例えば、符号化オーディオデータおよび/または補助データストリームとともに、エンコードされたビデオデータを受信し得る。受信機(531)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)は、受信機(531)とエントロピーデコーダ/パーサ(520)(以降、「パーサ(520)」)の間に結合されてもよい。特定のアプリケーションにおいて、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の場合、ビデオデコーダ(510)(示されていない)の外部に存在し得る。さらに他の場合、例えば、ネットワークジッタに対抗するためにビデオデコーダ(510)の外部にバッファメモリ(示されていない)が存在し、さらに、例えば、再生タイミングを取り扱うためにビデオデコーダ(510)の内部に別のバッファメモリ(515)が存在し得る。受信機(531)が十分な帯域幅および可制御性を有する記憶/転送装置から、または等同期ネットワークからデータを受信する際に、バッファメモリ(515)は必要とされないことがあり、または小さくされることがある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要になる場合があり、比較的大きいことがあり、有利には適応サイズであることができ、ビデオデコーダ(510)の外部のオペレーティングシステムまたは類似の要素(示されていない)に少なくとも部分的に実施され得る。
【0034】
ビデオデコーダ(510)は、符号化ビデオシーケンスからシンボル(521)を再構築するパーサ(520)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(510)の操作を管理するために使用される情報、および、電子デバイス(530)の不可欠な部分ではないが、
図5に示すように電子デバイス(530)に結合され得るレンダリングデバイス(512)(例えば、表示画面)のようなレンダリングデバイスを制御する潜在的情報を含む。レンダリングデバイスのための制御情報は、補助強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(示されていない)の形態であってよい。パーサ(520)は、受信された符号化ビデオシーケンスを構文解析/エントロピーデコードすることができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に合わせることができ、可変長符号化、ハフマン符号化、文脈感受性を有するもしくは有さない算術符号化などを含む様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスからビデオデコーダ内の画素の少なくとも1つのサブグループのためのサブグループパラメータのセットを抽出することができる。サブグループは、グループオブピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)は、符号化ビデオシーケンスから変換係数、量子化パラメータ値、動きベクトルなどのような情報をも抽出することができる。
【0035】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピーデコード/構文解析操作を実行することができる。
【0036】
シンボル(521)の再構築は、符号化ビデオピクチャまたはその一部(例えば、インターおよびイントラピクチャ、インターおよびイントラブロック)のタイプ、および他の要因に応じて複数の異なるユニットに関与することができる。どのユニットが、どのように関与するかは、パーサ(520)によって符号化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【0037】
すでに述べた機能ブロックを除き、ビデオデコーダ(510)は、以下で説明されるようにいくつかの機能ユニットに概念的に細分されることができる。商業的な制約の下で実際の実施操作にあたっては、これらのユニットの多くは互いに密接に相互作用し、少なくとも一部は互いに統合することができる。しかしながら、開示された主題の説明の目的で、以下の機能ユニットへの概念的な細分は、適切に行われる。
【0038】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報と、量子化された変換係数をシンボル(521)としてパーサ(520)から受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力可能なサンプル値を含むブロックを出力することができる。
【0039】
場合によっては、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラ符号化ブロック、すなわち、予め再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの予め再構築された部分からの予測情報を使用できるブロックに関係することがある。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックの同じサイズおよび形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、一部再構築された現在ピクチャおよび/または完全に再構築された現在ピクチャをバッファリングする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0040】
他の場合では、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに関係することがある。このような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルを取り出すことができる。取り出されたサンプルをブロックに関係するシンボル(521)に従って動き補償した後、出力サンプル情報を生成するように、これらのサンプルは、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力に追加されることができる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルを取り出す参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、および参照ピクチャ成分を有し得るシンボル(521)の形態で動き補償予測ユニット(553)に利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプル正確な動きベクトルが使用中であるときに参照ピクチャメモリ(557)から取り出されたサンプル値の補間、動きベクトル予測メカニズムなどを含むこともできる。
【0041】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技法を受けられる。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能とされたループ内フィルタ技術を含むことができるが、しかし、符号化ピクチャまたは符号化ビデオシーケンスの(デコード順で)前の部分のデコード中に取得されたメタ情報に応答するとともに、予め再構築されループフィルタリングされたサンプル値に応答することもできる。
【0042】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)へ出力されることができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に記憶されることができるサンプルストリームであり得る。
【0043】
特定の符号化ピクチャは、完全に再構築されると、将来の予測のために参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構築され、符号化ピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、次の符号化ピクチャの再構築を開始する前に新しい現在ピクチャバッファを再割当てすることができる。
【0044】
ビデオデコーダ(510)は、ITU-T Rec.H.265のような規格での所定のビデオ圧縮技術に従ってデコード操作を実行することができる。符号化ビデオシーケンスが、ビデオ圧縮技術または規格のシンタックスと、ビデオ圧縮技術または規格で文書化されたプロファイルとの両方に準拠しているという意味で、符号化ビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されるシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、特定のツールをそのプロファイルで使用できる唯一のツールとして選択することができる。符号化ビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルで定義される範囲内にあることも、コンプライアンスに必要である。場合によっては、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガサンプルで測定される)、最大参照ピクチャサイズなどがレベルによって制限される。レベルによって設定された制限は、場合によっては、符号化ビデオシーケンスでシグナリングされたHRDバッファ管理のための仮想参照デコーダ(HRD)仕様およびメタデータによってさらに制限され得る。
【0045】
一実施形態では、受信機(531)は、エンコードされたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、符号化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードし、および/または、元のビデオデータをより正確に再構築するためにビデオデコーダ(510)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方向誤り訂正コードなどの形態にされることができる。
【0046】
図6は、本開示の実施形態によるビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用されることができる。
【0047】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によって符号化されるビデオ画像をキャプチャし得るビデオソース(60l)(
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信することができる。他の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0048】
ビデオソース(601)は、ビデオエンコーダ(603)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供し得る。メディア供給システムでは、ビデオソース(601)は、予め準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明ではサンプルを中心に説明する。
【0049】
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムでまたはアプリケーションの要求に応じて任意の他の時間制約の下でソースビデオシーケンスのピクチャを符号化し、符号化ビデオシーケンス(643)に圧縮することができる。適切な符号化速度を実施することは、コントローラ(650)の機能の1つである。いくつかの実施形態では、コントローラ(650)は、以下で説明される他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。分かりやすくするために、カップリングは示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技法のラムダ値、・・・)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計に対して最適化されたビデオエンコーダ(603)に関する他の適切な機能を有するように構成されることができる。
【0050】
いくつかの実施形態では、ビデオエンコーダ(603)は、符号化ループで動作するように構成される。過度に簡略化した説明として、一例では、符号化ループは、ソースコーダ(630)(例えば、符号化対象となる入力ピクチャおよび参照ピクチャに基づくシンボルストリームなどのシンボルの作成を担当する)、およびビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)を含むことができる。デコーダ(633)は、シンボルを再構築して、(リモート)デコーダが作成するのと同様な方法でサンプルデータを作成する(シンボルと符号化されたビデオビットストリーム間の如何なる圧縮は、開示された主題で考慮されるビデオ圧縮技術では可逆であるためである)。再構築されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(634)に入力される。シンボルストリームのデコードにより、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果が得られるため、参照ピクチャメモリ(634)のコンテンツもローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えれば、エンコーダの予測部分は、参照ピクチャサンプルとして、デコード中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を「見る」。参照ピクチャの同期性の該基本原理(および例えばチャネルエラーに起因して同期性を維持できない場合に生じるドリフト)は、いくつかの関連分野にも使用されている。
【0051】
「ローカル」デコーダ(633)の動作は、前文で
図5に関連して既に詳細に説明された、ビデオデコーダ(510)などの「リモート」デコーダの動作と同様であり得る。しかしながら、
図5も簡単に参照し、シンボルが使用可能であり、エントロピーコーダ(645)およびパーサ(520)による符号化ビデオシーケンスへのシンボルの符号化/デコードは可逆であり得るので、バッファメモリ(515)、およびパーサ(520)を含むビデオデコーダ(510)のエントロピーデコード部分は、ローカルデコーダ(633)では完全に実施されない場合がある。
【0052】
デコーダに存在する構文解析/エントロピーデコード以外の任意のデコーダ技術も、対応するエンコーダに実質的に同一の機能的形態で必ず存在する必要があることがこの時点で行える観察である。このため、開示された主題は、デコーダ操作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0053】
操作中、いくつかの例では、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の予め符号化されたピクチャを参照して入力ピクチャを予測的に符号化する動き補償予測符号化を実行してもよい。このようにして、符号化エンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャへの予測基準として選択され得る参照ピクチャの画素ブロックとの差異を符号化する。
【0054】
ローカルビデオデコーダ(633)は、ソースコーダ(630)で作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化ビデオデータをデコードすることができる。符号化エンジン(632)の操作は、有利には非可逆プロセスであり得る。符号化ビデオデータがビデオデコーダ(
図6に示されていない)でデコードされ得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照ピクチャに対して実行され得るデコードプロセスを複製し、再構築された参照ピクチャを参照ピクチャキャッシュ(634)に記憶させることができる。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得される再構築された参照ピクチャと共通するコンテンツ(送信エラー無し)を有する再構築された参照ピクチャのコピーをローカルに記憶し得る。
【0055】
予測器(635)は、符号化エンジン(632)の予測検索を実行することができる。つまり、符号化対象となる新しいピクチャについて、予測器(635)は、(候補の参照画素ブロックとしての)サンプルデータ、または、参照ピクチャの動きベクトル、ブロック形状など、新しいピクチャの適切な予測基準として機能し得る特定のメタデータを参照ピクチャメモリ(634)で検索することができる。予測器(635)は、適切な予測基準を見つけるために、サンプルブロックに対して画素ブロックごとに操作することができる。場合によっては、予測器(635)で取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測基準を有してもよい。
【0056】
コントローラ(650)は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)の符号化操作を管理することができる。
【0057】
前述のすべての機能ユニットの出力は、エントロピーコーダ(645)においてエントロピー符号化を受けられる。エントロピーコーダ(645)は、例えば、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0058】
送信機(640)は、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(660)を介した送信の準備のために、エントロピーコーダ(645)によって作成された符号化ビデオシーケンスをバッファリングすることができる。送信機(640)は、ビデオエンコーダ(603)からの符号化ビデオデータを、送信されるべき他のデータ、例えば、符号化オーディオデータおよび/または補助データストリーム(ソースは示されていない)とマージすることができる。
【0059】
コントローラ(650)は、ビデオエンコーダ(603)の操作を管理し得る。符号化中、コントローラ(650)は、各符号化ピクチャに特定の符号化ピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得る符号化技法に影響を及ぼし得る。例えば、ピクチャは、多くの場合、次のピクチャタイプのいずれかとして割り当てられ得る。
【0060】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のいかなるピクチャを使用せずに符号化およびデコードされ得るものであり得る。一部のビデオコーデックは、例えば、インディペンデントデコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【0061】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化およびデコードされ得るものであり得る。
【0062】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化およびデコードされ得るものであり得る。同様に、多重予測ピクチャは、単数のブロックの再構築のために2つを超えた参照ピクチャおよび関連メタデータを使用することができる。
【0063】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ、4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロック単位で符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定された他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同一のピクチャの既に符号化されたブロック(空間予測またはイントラ予測)を参照して予測的に符号化されてもよい。Pピクチャの画素ブロックは、1つの予め符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的に符号化され得る。Bピクチャのブロックは、1つまたは2つの予め符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的に符号化され得る。
【0064】
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの予め設定されたビデオ符号化技術または規格に従って、符号化操作を実行することができる。この操作において、ビデオエンコーダ(603)は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測符号化操作を含む、様々な圧縮操作を実行することができる。したがって、符号化ビデオデータは、使用されるビデオ符号化技術または規格によって指定されるシンタックスに準拠する場合がある。
【0065】
一実施形態では、送信機(640)は、エンコードされたビデオとともに追加のデータを送信することができる。ソースコーダ(630)は、このようなデータを符号化ビデオシーケンスの一部として含み得る。追加のデータは、時間的/空間的/SNRエンハンスメントレイヤ、冗長なピクチャやスライスなどの他の形態での冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
【0066】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(「イントラ予測」と略されることが多い)は、所定のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、現在ピクチャと呼ばれるエンコード/デコード中の特定のピクチャは、ブロックに分割される。現在ピクチャにおけるブロックが、ビデオにおける予め符号化され、まだバッファリングされている参照ピクチャ内の参照ブロックに類似している場合、現在ピクチャにおけるブロックは、動きベクトルと呼ばれるベクトルによって符号化されることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3次元を有することができる。
【0067】
いくつかの実施形態では、インターピクチャ予測において双予測法を使用することができる。双予測法によれば、ビデオにおける現在ピクチャよりもデコード順序がそれぞれ前である(ただし、表示順序でそれぞれ過去および未来にあり得る)第1の参照ピクチャおよび第2の参照ピクチャのような2つの参照ピクチャを使用する。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによって符号化されることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0068】
さらに、マージモード技法をインターピクチャ予測に使用して、符号化効率を向上させることができる。
【0069】
本開示のいくつかの実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、一連のビデオピクチャ内のピクチャは、圧縮のために符号化ツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、または16×16画素など、同一のサイズを有する。一般に、CTUは、1つのルーマCTBと2つのクロマCTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、1つまたは複数の符号化ユニット(CU)に再帰的に四分木分割されることができる。例えば、64×64画素のCTUは、1つの64×64画素のCU、4つの32×32画素のCU、または16つの16×16画素のCUに分割されることができる。一例では、各CUを解析して、インター予測タイプまたはイントラ予測タイプなど、CUの予測タイプを決定する。CUは、時間的および/または空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。通常、各PUは、1つのルーマ予測ブロック(PB)と2つのクロマPBを含む。一実施形態では、符号化(エンコード/デコード)における予測操作は、予測ブロックの単位で実行される。ルーマ予測ブロックを予測ブロックの例として用いて、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などの画素の値(例えば、ルーマ値)の行列を含む。
【0070】
図7は、本開示の他の実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、一連のビデオピクチャ内の現在ビデオピクチャにおけるサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化ピクチャにエンコードするように構成される。一例では、
図4の例におけるビデオエンコーダ(403)の代わりにビデオエンコーダ(703)を使用する。
【0071】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルのような予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えばレート歪み最適化を使用するイントラモード、インターモード、または双予測モードにより最も良く符号化されるか否かを決定する。処理ブロックがイントラモードで符号化されようとする場合、ビデオエンコーダ(703)は、イントラ予測法を用いて処理ブロックを符号化ピクチャにエンコードすることができる。また、処理ブロックがインターモードまたは双予測モードで符号化されようとする場合、ビデオエンコーダ(703)は、それぞれインター予測または双予測法を用いて、処理ブロックを符号化ピクチャにエンコードすることができる。特定のビデオ符号化技術では、マージモードは、予測器外の符号化動きベクトル成分の利便を介することなく、1つ以上の動きベクトル予測器から動きベクトルを導出するインターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0072】
図7の例では、ビデオエンコーダ(703)は、
図7に示すように互いに結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差算出部(723)、スイッチ(726)、残差エンコーダ(724)、統括制御部(721)およびエントロピーエンコーダ(725)を含む。
【0073】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インターエンコード法による冗長情報の記述、動きベクトル、マージモード情報)を生成し、インター予測情報に基づいて任意の適切な技法を用いてインター予測結果(例えば、予測ブロック)を算出するように構成される。いくつかの例では、参照ピクチャは、エンコードされたビデオ情報に基づいてデコードされたデコード参照ピクチャである。
【0074】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては該ブロックを同一のピクチャで既に符号化されたブロックと比較し、変換後に量子化された係数を生成し、場合によってはイントラ予測情報(例えば、1つ以上のイントラエンコード法によるイントラ予測方向情報)をも生成するように構成される。一例では、イントラエンコーダ(722)は、イントラ予測情報および同一のピクチャ内の参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)をも算出する。
【0075】
統括制御部(721)は、統括制御データを決定し、統括制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、統括制御部(721)は、ブロックのモードを決定し、モードに基づいて制御信号をスイッチ(726)に提供する。例えば、モードがイントラモードである場合、統括制御部(721)は、残差算出部(723)が使用するためのイントラモード結果を選択するようにスイッチ(726)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含ませるようにエントロピーエンコーダ(725)を制御する。また、モードがインターモードである場合、統括制御部(721)は、残差算出部(723)が使用するためのインター予測結果を選択するようにスイッチ(726)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含ませるようにエントロピーエンコーダ(725)を制御する。
【0076】
残差算出部(723)は、受信されたブロックとイントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との差(残差データ)を算出するように構成される。残差エンコーダ(724)は、残差データに基づいて動作し、残差データをエンコードして変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、周波数領域で残差データを変換し、変換係数を生成するように構成される。その後、変換係数は量子化処理を受けて、量子化された変換係数が得られる。様々な実施形態では、ビデオエンコーダ(703)は、残差デコーダ(728)をも含む。残差デコーダ(728)は、逆変換を実行し、デコード残差データを生成するように構成される。デコード残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用されることができる。例えば、インターエンコーダ(730)は、デコード残差データよびインター予測情報に基づいて、デコードブロックを生成することができ、イントラエンコーダ(722)は、デコード残差データおよびイントラ予測情報に基づいて、デコードブロックを生成することができる。いくつかの例では、デコードブロックは、デコードピクチャを生成するように適切に処理され、デコードピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用されることができる。
【0077】
エントロピーエンコーダ(725)は、ビットストリームをフォーマットしてエンコードブロックを含むように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従う様々な情報を含むように構成される。一例では、エントロピーエンコーダ(725)は、統括制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、およびビットストリームにおける他の適切な情報を含むように構成される。開示された主題によれば、インターモードまたは双予測モードのマージサブモードでブロックを符号化する場合、残差情報はないことに留意されたい。
【0078】
図8は、本開示の他の実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、符号化ビデオシーケンスの一部である符号化ピクチャを受信し、符号化ピクチャをデコードして再構築ピクチャを生成するように構成される。一例では、
図4の例におけるビデオデコーダ(410)の代わりにビデオデコーダ(810)を使用する。
【0079】
図8の例では、ビデオデコーダ(810)は、
図8に示されるように互いに結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構築モジュール(874)、およびイントラデコーダ(872)を含む。
【0080】
エントロピーデコーダ(871)は、符号化ピクチャから、符号化ピクチャを構成するシンタックス要素を表す特定のシンボルを再構築するように構成されることができる。このようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは他のサブモードにおける後ほどの2つ)、それぞれイントラデコーダ(872)またはインターデコーダ(880)による予測に使用される特定のサンプルまたはメタデータを識別できる予測情報(例えば、イントラ予測情報またはインター予測情報)、例えば、量子化された変換係数の形態での残差情報などを含むことができる。一例では、予測モードがインターまたは双予測モードであれば、インター予測情報は、インターデコーダ(880)に提供される。また、予測タイプがイントラ予測タイプであれば、イントラ予測情報は、イントラデコーダ(872)に提供される。残差情報は、逆量子化を施されることができ、残差デコーダ(873)に提供される。
【0081】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0082】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0083】
残差デコーダ(873)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)は、(量子化器パラメータ(QP)を含めるように)特定の制御情報をも必要とする場合があり、この情報は、エントロピーデコーダ(871)によって提供されてもよい(データパスは、低ボリューム制御情報のみであり得るため、示されていない)。
【0084】
再構築モジュール(874)は、空間領域において、残差デコーダ(873)によって出力された残差と、(場合によってはインターまたはイントラ予測モジュールによって出力される)予測結果とを組み合わせて、再構築ビデオの一部となり得る再構築ピクチャの一部であり得る再構築ブロックを形成するように構成される。なお、視覚的品質を改善するために、デブロッキング操作などの他の適切な操作を実行することができる。
【0085】
なお、ビデオエンコーダ(403)、(603)および(703)とビデオデコーダ(410)、(510)および(810)は、任意の適切な技法を用いて実施されることができる。一実施形態では、ビデオエンコーダ(403)、(603)および(703)とビデオデコーダ(410)、(510)および(810)は、1つ以上の集積回路を用いて実施されることができる。他の実施形態では、ビデオエンコーダ(403)および(603)とビデオデコーダ(410)、(510)および(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実施されることができる。
【0086】
本開示の態様は、セパレートルーマおよびクロマ符号化ツリーを用いたイントラピクチャブロック補償のための技法を提供する。
【0087】
ブロックベースの補償は、インター予測およびイントラ予測に使用されることができる。インター予測の場合、異なるピクチャからのブロックベースの補償は、動き補償として知られている。イントラ予測の場合、ブロックベースの補償は、同じピクチャ内の予め再構築された領域から行うこともできる。同じピクチャ内の再構築された領域からのブロックベースの補償は、イントラピクチャブロック補償またはイントラブロックコピーと呼ばれる。同じピクチャ内の現在ブロックと参照ブロックとの間のオフセットを示す変位ベクトルは、ブロックベクトル(または、略してBV)と呼ばれる。任意の値(正または負、xまたはy方向のいずれか)とされることができる動き補償の動きベクトルとは異なり、ブロックベクトルにはいくつかの制約があり、これにより、参照ブロックが利用可能であり、すでに再構築されたことを確保する。また、いくつかの例では、並列処理を考慮して、タイル境界または波面ラダー形状境界である参照領域が除外されている。
【0088】
ブロックベクトルの符号化は、明示的または黙示的なもののいずれかであり得る。明示的なモードでは、ブロックベクトルとその予測子との違いがシグナリングされる。黙示的なモードでは、ブロックベクトルは、マージモードにおける動きベクトルと同様の方法で、予測子(ブロックベクトル予測子と呼ばれる)から復元される。いくつかの実装形態において、ブロックベクトルの解像度は整数位置に制限されている。他の方式では、ブロックベクトルは小数位置を指すことができる。
【0089】
いくつかの例では、参照インデックスアプローチを使用してブロックレベルでのイントラブロックコピーの使用をシグナリングすることができる。そして、デコード中の現在ピクチャは、参照ピクチャとして扱われる。一例では、このような参照ピクチャは、参照ピクチャのリストの最後の位置に置かれる。この特別な参照ピクチャは、さらに、デコードピクチャバッファ(DPB)などのバッファ内の他の時間的参照ピクチャと一緒に管理される。
【0090】
イントラブロックコピーにもいくつかの変化があり、例えば、反転されたイントラブロックコピー(参照ブロックは、現在ブロックを予測するために使用される前に水平または垂直に反転される)、またはラインベースのイントラブロックコピー(M×N符号化ブロック内の各補償ユニットはM×1または1×Nラインである)がある。
【0091】
図9は、本開示の実施形態によるイントラブロックコピーの例を示す。現在ピクチャ(900)はデコード中である。現在ピクチャ(900)は、再構築された領域(910)(灰色の領域)およびデコードの対象の領域(920)(白い領域)を含む。現在ブロック(930)は、デコーダの再構築中である。現在ブロック(930)は、再構築された領域(910)にある参照ブロック(940)から再構築されることができる。参照ブロック(940)と現在ブロック(930)との間の位置オフセットは、ブロックベクトル(950)(またはBV(950))と呼ばれる。
【0092】
一般に、符号化ユニットは、ルーマ成分とクロマ成分の両方のサンプルを含む。クロマ成分のサンプルは、ルーマ成分のサンプルと比較して、独立したまたはセパレート分木構造を持つことができる。通常、このようなセパレート符号化ツリー構造はCTUレベルから始まる。したがって、クロマCU(2つのクロマ成分のみを含むCU)は、対応するサンプルの場所でそのルーマCUよりも大きい可能性がある。
【0093】
いくつかの実施形態では、ブロックのすべての色成分に対するブロックベースの動き補償は、同じ動きまたはブロックベクトルを共有する。セパレート符号化ツリーが有効にされる場合、同一場所にあるルーマ-クロマサンプルの対応が常に対応付けられるとは限らない。ルーマCU領域は、1つを超えたクロマCUをカバーする場合がある。また、クロマCU領域は、1つを超えたルーマCUをカバーする場合がある。
【0094】
いくつかの例では、各クロマCUについて、その同一場所に配置されたルーマ領域は、クロマCUをイントラブロックコピーモードで符号化すべきか否かを決定するために使用されることができる。
【0095】
本開示のいくつかの態様は、ルーマ-クロマセパレート符号化ツリーが使用されるときにイントラブロックコピー技法を適切に適用する方法を提供する。具体的には、この方法は、ルーマ符号化ツリーがクロマ符号化ツリーの符号化より前に別々に符号化される場合、クロマ符号化ツリー内のクロマブロックのBV導出を実行することができる。
【0096】
本開示の一態様によれば、クロマCUの性質は、対応するルーマCUのイントラブロックコピー情報に基づいて導出される。各クロマCUについて、同一場所に配置されたルーマ領域は、現在のクロマCUをイントラブロックコピーモードで符号化すべきか否かを決定するために使用されることができる。
【0097】
図10は、本開示の実施形態による4:2:0フォーマットでのクロマCU(1020)および同一場所に配置されたルーマ領域(1010)の例を示す。
図10の例では、クロマCU1020は、8×8(サンプル)クロマCUおよび対応するルーマ領域(1010)である。対応するルーマ領域(1010)には、4:2:0フォーマットによる16×16(サンプル)が含まれる。いくつかの実施形態では、符号化ユニットは、補償のために最小補償ユニットに分割される。例えば、4:2:0フォーマットでは、ルーマのための最小補償ユニットは4×4(サンプル)のサイズを有し、ルーマユニットと呼ばれる。クロマのための最小補償ユニットは2×2(サンプル)のサイズを有し、クロマユニットと呼ばれる。したがって、符号化ユニットが最小補償ユニットに分割されると、各最小クロマユニットは、ルーマクロマ共同設置位置でその対応する最小ルーマユニットを有する。したがって、クロマCUは、最小ルーマユニットのセットで形成される、同一場所に配置されたルーマ領域を有する。
【0098】
一例では、エンコーダ側で、クロマCUのイントラブロックコピーを実行するとき、各クロマCUの最小サブブロック(例えば、クロマユニット)について、その対応するルーマブロック(例えば、ルーマユニット)がイントラブロックコピーモードで符号化されているか否かを確認することができる。1つの方法では、クロマCUは、その対応するルーマ領域内のすべての最小補償ユニットがイントラブロックコピーモードで符号化される場合にのみ、イントラブロックコピーモードで符号化されることができる。この場合、このクロマCU内の最小ブロックユニットごとに、そのBVは対応する最小ルーマユニットから(適切なスケーリングで)導出されることができる。このケースは、本開示ではクロマCUが完全な(イントラブロックコピー)カバレッジを有すると呼ばれる。少なくとも1つのクロマCUのサブブロックは、その対応するルーマブロックがイントラブロックコピーモードで符号化されていない場合、このクロマCUは完全な(イントラブロックコピー)カバレッジを有しない。
【0099】
本開示の態様は、ルーマ符号化ツリーの符号化がクロマ符号化ツリーとは分離し、ルーマ符号化ツリーの符号化がクロマ符号化ツリーの符号化の前であるとき、クロマCUにおけるイントラブロックコピーモードをシグナリングするための方法を提供する。
【0100】
本開示の一態様によれば、予測モードは、イントラブロックコピーモードをシグナリングするために使用される。従来、ブロックの予測モードはイントラモードまたはインターモードのいずれかであり得る。具体的には、現在ブロックの構文pred_mode_flagが0に等しい場合、現在ブロックはイントラモードで符号化される。さもなければ、現在ブロックのpred_mode_flagが1に等しい場合、現在ブロックはインターモードで符号化される。しかしながら、ピクチャ内のスライスがイントラ符号化スライスである場合、該スライス内にインター符号化ブロックがないため、pred_mode_flagは0(イントラモード)であると推定することができる。次に、pred_mode_flagを使用して、イントラブロックコピーモードなどの他の情報をシグナリングすることができる。したがって、構文pred_mode_flagの意味は、他の情報に基づいて決定されることができる。
【0101】
イントラブロックコピーモードが使用される場合、いくつかの方法は、時間的参照ピクチャを有しないスライスにおいてイントラブロックコピーモードをシグナリングすることに使用される。一実施形態では、イントラブロックコピーモードはインターモードとして扱われ、現在のデコードされたピクチャは参照ピクチャとして使用される。次に、時間的参照ピクチャを使用しないスライスの場合、ブロックは、イントラモードまたはイントラブロックコピーモード(インターモードとして扱われる)のいずれかで符号化されることができる。例えば、現在ブロックのpred_mode_flagが1に等しい場合、現在ブロックはイントラブロックコピーモードで符号化される。具体的には、デコーダ側では、ブロックのpred_mode_flagが1に等しい場合、デコーダは、ブロックがインターモードで符号化されると判断する。さらに、ブロックが属するスライスは時間的参照ピクチャを有しないとデコーダによって検出された場合、デコーダは、ブロックがイントラブロックコピーモード(インターモードとして扱われる)で符号化されると判断する。デコーダは、現在のデコードされたピクチャを参照ピクチャとして使用することができ、そして、イントラブロックコピーモード(インターモードと同様)の再構築技法を使用して、ブロックを再構築することができる。
【0102】
別の実施形態では、イントラブロックコピーモードは、イントラモードまたはインターモードのいずれとも異なる第3のモードとして扱われる。次に、時間的参照ピクチャを使用しないスライスの場合、ブロックは、イントラモードまたはイントラブロックコピーモードのいずれかで符号化されることができる。この場合、同じ構文構造を利用する1つの方法は、pred_mode_flagの意味を変更することである。例えば、現在ブロックのpred_mode_flagが1に等しい場合、現在ブロックはイントラブロックコピーモードで符号化される。さもなければ、pred_mode_flagが0に等しい場合、現在ブロックはイントラモードで符号化される。時間的参照ピクチャを使用しないスライスの場合、イントラブロックコピーモードの使用は、構文フラグを明示的にシグナリングせずに、予測モードの値によって推定される。
【0103】
なお、上記のpred_mode_flagの意味は交換可能である(例えば、0はインターモードを意味する)。
【0104】
ルーマおよびクロマ成分は、時間的参照ピクチャを使用しないスライス内にセパレート符号化ツリー構造を有する場合、クロマCUに対するイントラブロックコピーモードの使用も、上記の方法と同様にpred_mode_flagによってシグナリングされることができる。したがって、クロマCUにおけるイントラブロックコピーモードの使用のためのセパレートシグナリング構文は必要ではない。イントラブロックコピーモードの使用は、pred_mode_flagの値から推定されることができる。しかしながら、イントラブロックコピーモードを使用する場合、デコード可能なビットストリームを取得するには、いくつかの条件を満たす必要がある。
【0105】
一実施形態では、クロマCUのBVがシグナリングされないが、各最小クロマユニットのBVが、その同一場所に配置されたルーマブロックのBVから導出される場合、pred_mode_flagは、クロマCUが完全なカバレッジを有するか否かに関係なくシグナリングされていれば、次のビットストリーム適合性条件(a)および(b)のうちの一方を満たす必要がある。
【0106】
(a)ルーマおよびクロマ成分がセパレート符号化ツリー構造を持っている場合、ビットストリーム適合性では、少なくとも1つのクロマサブブロックの対応するルーマサブブロックがイントラブロックコピーモードで符号化されていなければ、或いは、少なくとも対応するルーマサブブロックがイントラブロックコピーモードで符号化されているが、このクロマサブブロックの導出されたクロマブロックベクトルが有効なものでなければ(現在ブロックの参照として使用できない領域を指す。例えば、まだ再構築されていない、または参照としての使用が許可されない領域)、クロマ符号化ブロックの予測モードはイントラモードである必要がある。一例では、エンコーダ側で、時間的参照ピクチャを有しないスライス内のクロマ符号化ユニットについて、クロマサブブロックの対応するルーマサブブロックがイントラブロックコピーモードで符号化されていない場合、エンコーダは、クロマ符号化ユニットをイントラモードでエンコードし、pred_mode_flagをシグナリングしてクロマ符号化ユニットのためのイントラモードを指示する。別の例では、クロマサブブロックの導出されたクロマブロックベクトル(イントラブロックコピーモードに基づく対応するルーマサブブロックによる)が有効なものではない(例えば、現在ブロックよりも後にデコードされる領域を指す)場合、エンコーダは、クロマ符号化ユニットをイントラモードでエンコードし、pred_mode_flagをシグナリングしてクロマ符号化ユニットのイントラモードを指示する。
【0107】
(b)ルーマおよびクロマ成分がセパレート符号化ツリー構造を持っている場合、ビットストリーム適合性では、クロマ符号化ブロックの予測モードは、そのすべてのサブブロックの対応するルーマサブモードがイントラブロックコピーモードで符号化され、かつクロマサブブロックのすべての導出されたクロマブロックベクトルが有効なものである(有効な参照領域を指す)場合にのみ、インターモード(またはイントラブロックコピーモード)であり得る必要がある。
【0108】
したがって、デコーダ側では、クロマ符号化ユニットについてデコードされる予測情報がイントラブロックコピーモードを示す場合、デコーダは、クロマ符号化ユニット内のクロマサブブロックの有効なクロマブロックベクトルを、同一場所に配置されたルーマサブブロックから導出することができ、その後、イントラブロックコピーモードの技法を使用して、クロマ符号化ユニットを再構築することができる。
【0109】
別の実施形態では、クロマCUのBVがシグナリングされないが、各最小クロマユニットのBVが、その同一場所に配置されたルーマブロックのBVから導出される場合、pred_mode_flagは、クロマCUのカバレッジを考慮してシグナリングされていれば、次の(c)および(d)のいずれか一方が真となる。
【0110】
(c)すべてのクロマCUのサブブロックは、対応するルーマ最小単位がイントラブロックコピーモードで符号化され、かつ有効なBVを有する場合にのみ、pred_mode_flagをシグナリングする必要がある。
【0111】
(d)言い換えると、少なくとも1つのクロマサブブロックの対応するルーマサブブロックがイントラブロックコピーモードで符号化されないか、或いは有効なBVがない場合、pred_mode_flagは0(イントラモード)に推定される。したがって、一例では、クロマCUが完全なカバレッジを有しない場合、pred_mode_flagを推定することができ、シグナリングする必要はない。デコーダ側では、クロマCUのpred_mode_flagが1に等しいとデコーダが検出すると、デコーダは、イントラブロックコピーモードの技法を使用してクロマCUを再構築することができる。pred_mode_flagがシグナリングされない場合、デコーダは、クロマCUが完全なカバレッジを有しないと検出し、pred_mode_flagが1に等しいと推定する。次に、デコーダは、イントラモードの技法を使用してクロマCUを再構築することができる。
【0112】
別の実施形態では、クロマCUのBVがシグナリングされず、各最小クロマユニットのBVが、同一場所に配置されたルーマブロックのBVから導出される場合、構文pred_mode_flagは、以下の条件(e)および(f)についてシグナリングされない。
【0113】
(e)クロマCUが完全なカバレッジを有し、かつ各導出されたクロマBVが有効である(現在のクロマCUの外側にある再構築された使用可能な参照領域を指す)場合、構文pred_mode_flagはクロマCUに対してシグナリングされない。イントラブロックコピーモードと推定される。デコーダ側では、デコーダは、条件(e)が満たされ、予測モードがイントラブロックコピーモードであると判断し、そして、イントラブロックコピーモードの技法を使用してクロマCUを再構築することができる。
【0114】
(f)クロマCUが完全なカバレッジを有しない場合、或いは、完全なカバレッジを有するが、少なくとも1つの導出されたクロマBVが有効でない場合、構文pred_mode_flagはクロマCUに対してシグナリングされない。イントラモードと推定される。デコーダ側では、デコーダは、条件(f)が満たされ、予測モードがイントラモードであると判断し、そして、イントラモードの技法を使用してクロマCUを再構築することができる。
【0115】
本開示の別の態様によれば、追加の構文フラグを使用して、イントラブロックコピーモードをシグナリングすることができる。いくつかの実施形態では、イントラブロックコピーモードがイントラモードと捉えられる場合、pred_mode_flagをイントラモードとして構文解析した後、現在ブロックが通常のイントラモードまたはイントラブロックコピーモードで符号化されるか否かを判断するために別の構文フラグが必要である。セパレート分木構造を持つルーマクロマ成分を備えたクロマCUの該ibc_flagフラグをシグナリングするために、前述の条件もこれに適用される。一実施形態では、ibc_flagは、クロマCUのカバレッジに関係なくシグナリングされるが、ibc_flagの値は、クロマCUが完全なカバレッジを有し、かつその導出されたクロマBVがすべて有効である場合にのみ、真となり得る(イントラブロックコピーモードを使用する)。別の実施形態では、ibc_flagは、クロマCUが完全なカバレッジを有する場合にのみシグナリングされるが、しかし、その値は、その導出されたクロマBVがすべて有効である場合にのみ、真となり得る。別の実施形態では、ibc_flagはシグナリングされない。クロマCUが完全なカバレッジを有し、かつその導出されたクロマBVがすべて有効である場合、それは真と推定される。それ以外の場合は、偽と推定される。
【0116】
本開示の別の態様によれば、イントラ予測モードの1つは、イントラブロックコピーモードをシグナリングするために使用される。
【0117】
イントラブロックコピーモードがイントラピクチャ符号化モードとして扱われる場合、イントラブロックコピーの予測モードもイントラモードであり得る。クロマCUとルーマCUがセパレート符号化構造を持つ場合、イントラブロックコピーモードの使用の指示は、上記の予測モードを使用する代わりに、イントラ予測モードインデックスの1つを使用してシグナリングされることができる。この場合、そのようなスライス(時間的参照ピクチャを使用しない)の予測モードはイントラモードである。
【0118】
一実施形態では、イントラ予測モードリストの最後のインデックスは、イントラブロックコピーモードを指示するように変更される。このため、イントラブロックコピーモードで符号化されていれば、クロマCUは、イントラ予測モードリストの最後のインデックスを使用して指示される。この場合、クロマCUのイントラ予測モードの数は変わらない。
【0119】
別の実施形態では、追加のインデックスがイントラ予測モードリストの最後のインデックスの後にイントラ予測モードリストに追加されて、変更されたイントラ予測モードリストが生成される。その後、イントラブロックコピーモードで符号化される場合、クロマCUは、変更されたイントラ予測モードリストの最後のインデックスである追加のインデックスを使用して指示される。この場合、クロマCUのイントラ予測モードの数が1加算される。
【0120】
図11は、本開示の実施形態による処理(1100)を概説するフローチャートを示す。処理(1100)は、再構築中のブロックの予測ブロックを生成するように、イントラモードで符号化されたブロックの再構築に使用されることができる。様々な実施形態では、該処理(1100)は、端末装置(310)、(320)、(330)および(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、イントラ予測モジュール(552)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路、予測器(635)の機能を実行する処理回路、イントラエンコーダ(722)の機能を実行する処理回路、イントラデコーダ(872)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、処理(1100)はソフトウェア命令で実施されるため、処理回路がソフトウェア命令を実行すると、処理回路は処理(1100)を実行する。該処理は(S1101)で開始し、(S1110)に進む。
【0121】
(S1110)では、符号化されたビデオビットストリームからクロマ符号化ユニットの予測情報をデコードする。いくつかの例では、クロマユニットは現在ピクチャのセグメント(スライス、タイル、タイル群など)にあり、セグメントは時間的参照ピクチャを欠いている。予測情報は、ルーマおよびクロマ成分のためのセパレート符号化ツリー構造が、符号化されたビデオビットストリームで使用されることをも示す。
【0122】
(S1120)では、符号化されたビデオビットストリームからクロマ符号化ユニットに関連付けられた予測モードフラグを検出する。
【0123】
(S1130)では、予測モードフラグに基づいて予測モードを決定する。いくつかの例では、セグメントが時間的参照ピクチャを欠いているため、予測モードはイントラ予測モードまたはイントラブロックコピーモードであり得る。その後、予測モードフラグに基づいて、イントラ予測モード(イントラモード)およびイントラブロックコピーモードからクロマ符号化ユニットの予測モードを選択することができる。
【0124】
(S1140)では、決定された予測モードに従ってクロマ符号化ユニットのサンプルを再構築する。その後、処理は(S1199)に進み、終了する。
【0125】
以上で説明された技法は、コンピュータ読取可能な命令を使用するコンピュータソフトウェアとして実施され、1つ以上のコンピュータ読取可能な媒体に物理的に記憶されることができる。例えば、
図12は、開示された主題の特定の実施形態を実施することに適したコンピュータシステム(1200)を示す。
【0126】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、またはそのようなメカニズムを施されて、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などによって実行されることができる命令を含むコードを作成する任意の適切な機械コードまたはコンピュータ言語を用いて符号化されることができる。
【0127】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【0128】
コンピュータシステム(1200)について、
図12に示される例示的なコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定を示唆することも意図しない。コンポーネントの構成は、コンピュータシステム(1200)の例示的な実施形態で示されるコンポーネントのうちのいずれか1つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきではない。
【0129】
コンピュータシステム(1200)は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(示されていない)によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることにも使用できる。
【0130】
入力ヒューマンインターフェースデバイスは、キーボード(1201)、マウス(1202)、トラックパッド(1203)、タッチスクリーン(1210)、データグローブ(図示せず)、ジョイスティック(1205)、マイクフォン(1206)、スキャナ(1207)、カメラ(1208)(それぞれ1つのみ示されている)のうちの1つ以上を含み得る。
【0131】
コンピュータシステム(1200)は、特定のヒューマンインターフェース出力デバイスをも含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音声、光、および嗅覚/味覚を介して1人以上のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1210)、データグローブ(図示せず)、またはジョイスティック(1205)による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(スピーカ(1209)、ヘッドホン(示されていない)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1210)(それぞれタッチスクリーン入力能力を有するかもしくは有せず、それぞれ触覚フィードバック能力を有するかもしくは有しない。それらの一部は、ステレオグラフィック出力などの手段を介して、2次元の視覚出力または3次元以上の出力を出力することができる)、仮想現実眼鏡(示されていない)、ホログラフィックディスプレおよびスモークタンク(示されていない)など)、およびプリンタ(示されていない)を含み得る。
【0132】
コンピュータシステム(1200)は、人間がアクセス可能な記憶装置およびそれらの関連する媒体、例えば、CD/DVDなどの媒体(1221)付きのCD/DVD ROM/RW(1220)を含む光学媒体、サムドライブ(1222)、リムーバブルハードドライブまたはソリッドステートドライブ(1223)、テープやフロッピーディスクなどの従来の磁気媒体(示されていない)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(示されていない)などをも含むことができる。
【0133】
ここで開示された主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことをも当業者が理解するべきである。
【0134】
コンピュータシステム(1200)は、1つ以上の通信ネットワークへのインターフェースをさらに含むことができる。ネットワークは、例えば、無線、有線、光学的であり得る。ネットワークは、さらに、ローカル、広域、大都市圏、車両用および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両用や産業用などを含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1249)(例えば、コンピュータシステム(1200)のUSBポートなど)に接続された外部ネットワークインターフェースアダプターを必要とする。他のものは一般に、以下で説明するようにシステムバスに接続することにより、コンピュータシステム(1200)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを用いて、コンピュータシステム(1200)は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えばローカルまたはワイドエリアデジタルネットワークを用いる他のコンピュータシステムへの送信であり得る。特定のプロトコルおよびプロトコルスタックを上述したこれらのネットワークおよびネットワークインターフェース(1254)のそれぞれで使用することができる。
【0135】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム(1200)のコア(1240)に接続されることができる。
【0136】
コア(1240)は、1つ以上の中央処理装置(CPU)(1241)、グラフィックスプロセッシングユニット(GPU)(1242)、フィールドプログラマブルゲートエリア(FPGA)(1243)の形態での専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1244)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(1245)、ランダムアクセスメモリ(1246)、非ユーザアクセス可能な内部ハードドライブ、SSDなどの内部大容量記憶装置(1247)とともに、システムバス(1248)を介して接続されてもよい。一部のコンピュータシステムでは、システムバス(1248)は、1つ以上の物理プラグの形態でアクセスでき、追加のCPU、GPUなどによる拡張を可能にする。周辺機器は、コアのシステムバス(1248)に直接、または周辺バス(1249)を介して接続されることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0137】
CPU(1241)、GPU(1242)、FPGA(1243)、およびアクセラレータ(1244)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1245)またはRAM(1246)に記憶されることができる。推移データはRAM(1246)にも記憶できるが、永続データは、例えば、内部大容量ストレージ(1247)に記憶されることができる。1つ以上のCPU(1241)、GPU(1242)、大容量ストレージ(1247)、ROM(1245)、RAM(1246)などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速保存および検索が可能になる。
【0138】
コンピュータ読取可能な媒体は、様々なコンピュータ実施操作を実行するためのコンピュータコードを備えることができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、もしくは、それらは、コンピュータソフトウェア技術の当業者に周知であって利用可能な種類のものであり得る。
【0139】
限定ではなく、一例として、アーキテクチャを有するコンピュータシステム(1200)、特にコア(1240)は、1つ以上の有形のコンピュータ読取可能な媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果としての機能性を提供することができる。このようなコンピュータ読取可能な媒体は、以上で紹介したようにユーザがアクセス可能な大容量ストレージ、および、コア内部大容量ストレージ(1247)またはROM(1245)などの非一時的な性質を持つコア(1240)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実行するソフトウェアは、このようなデバイスに記憶され、コア(1240)によって実行されることができる。コンピュータ読取可能な媒体は、特定の必要に応じて、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1240)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1246)に記憶されたデータ構造を定義すること、および、ソフトウェアで定義されたプロセスに従ってこのようなデータ構造を変更する言を含む、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または、代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路(例えば、アクセラレータ(1244))に有線接続されたまたは組み込まれたロジックの結果としての機能性を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ読取可能な媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【0140】
付録A:頭字語
JEM:共同探索モデル
VVC:多用途ビデオ符号化
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:補助強化情報
VUI:ビデオユーザビリティ情報
GOP:グループオブピクチャ
TU:変換ユニット、
PU:予測ユニット
CTU:符号化ツリーユニット
CTB:符号化ツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号対雑音比
CPU:中央処理装置
GPU:グラフィックスプロセッシングユニット
CRT:陰極線管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:リードオンリーメモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバルモバイル通信システム
LTE:長期的な進化
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:ペリフェラルコンポーネントインターコネクト
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に含まれる変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、その思想および範囲内に含まれる様々なシステムおよび方法を考案できることが理解されよう。