【文献】
KIM, Seung-Hwan and SEGALL, Andrew,EE2.3: NSST-PDPC Harmonization,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 3rd Meeting: Geneva, CH, 26-31 May 2016, [JVET-C0042],JVET-C0042 (version 2),2016年05月24日,pp. 1-6
【文献】
ALSHINA, Elena and ZHANG, Li,Description of Exploration Experiments on Coding Tools,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 6th Meeting: Hobart, AU, 31 March - 7 April 2017, [JVET-F1011_r3],JVET-F1011 (version 4),2017年04月29日,pp. 1-10
【文献】
SEREGIN, Vadim et al.,Non-EE1: PDPC without a mode flag,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017, [JVET-G0107r1],JVET-G0107 (version 2),2017年07月08日,pp. 1-3
(58)【調査した分野】(Int.Cl.,DB名)
前記PDPCモードを使用することが決定された場合、前記決定されたイントラ予測モードと前記PDPCモードとを使用してビデオデータの前記ブロックを復号すること、または
前記PDPCモードを使用することが決定されなかった場合、前記決定されたイントラ予測モードを使用し、前記PDPCモードを使用せずにビデオデータの前記ブロックを復号すること
をさらに備える、請求項1に記載の方法。
【発明を実施するための形態】
【0015】
[0025] 本開示は、イントラ予測を使用してビデオデータのブロックをコーディングするための技法について説明する。いくつかの例では、本開示は、予測方向(prediction direction)と、イントラフィルタ処理(intra filtering)と、変換処理(transform processing)と、ビデオコーディングツール(たとえば、ビデオ符号化および復号のための特定のビデオコーディング技法)との決定のための技法について説明する。
【0016】
[0026]
図1は、イントラ予測フィルタ処理(intra prediction filtering)および変換処理のための本開示の技法を実施するように構成され得る、例示的なビデオ符号化および復号システム10を示すブロック図である。
図1に示されているように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット(またはより一般的には、移動局)、タブレットコンピュータ、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。移動局は、ワイヤレスネットワーク上で通信することが可能な任意のデバイスであり得る。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信のために装備され得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイス(たとえば、移動局)であり得る。ソースデバイス12は、例示的なビデオ符号化デバイス(すなわち、ビデオデータを符号化するためのデバイス)である。宛先デバイス14は、例示的なビデオ復号デバイス(すなわち、ビデオデータを復号するためのデバイス)である。
【0017】
[0027]
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオデータを記憶するように構成された記憶媒体20と、ビデオエンコーダ22と、出力インターフェース24とを含む。宛先デバイス14は、入力インターフェース26と、符号化ビデオデータを記憶するように構成された記憶媒体28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。他の例では、ソースデバイス12および宛先デバイス14は、他の構成要素または構成を含む。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイス32を含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【0018】
[0028]
図1の図示されたシステム10は一例にすぎない。処理および/またはコーディング(たとえば、符号化および/または復号)のための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実施され得る。概して、本開示の技法はビデオ符号化デバイスおよび/またはビデオ復号デバイスによって実施されるが、本技法は、一般に「コーデック(CODEC)」と呼ばれるビデオエンコーダ/デコーダによっても実施され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、ソースデバイス12および宛先デバイス14は、ソースデバイス12および宛先デバイス14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ソースデバイス12と宛先デバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
【0019】
[0029] ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。ソースデバイス12は、ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体(たとえば、記憶媒体20)を備え得る。本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ22によって符号化され得る。出力インターフェース24は、符号化ビデオ情報(たとえば、符号化ビデオデータのビットストリーム)をコンピュータ可読媒体16に出力し得る。
【0020】
[0030] 宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。いくつかの例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備える。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。宛先デバイス14は、符号化ビデオデータと復号ビデオデータとを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。
【0021】
[0031] いくつかの例では、符号化データは、出力インターフェース24から記憶デバイスに出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイスによって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス14に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【0022】
[0032] 本開示で説明される技法は、オーバージエア(over-the-air)テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【0023】
[0033] コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−rayディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【0024】
[0034] 宛先デバイス14の入力インターフェース26は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ22のビデオエンコーダ22によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む、シンタックス情報(syntax information)を含み得る。記憶媒体28は、入力インターフェース26によって受信された符号化ビデオデータを記憶し得る。ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【0025】
[0035] ビデオエンコーダ22およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なビデオエンコーダ回路および/またはビデオデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。ビデオエンコーダ22およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合コーデックの一部として統合され得る。
【0026】
[0036] いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、ビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、限定はしないが、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそれのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264を含む。さらに、新しいビデオコーディング規格、すなわち、それの範囲およびスクリーンコンテンツコーディング拡張、3Dビデオコーディング(3D−HEVC)ならびにマルチビュー拡張(MV−HEVC)ならびにスケーラブル拡張(SHVC)を含む、高効率ビデオコーディング(HEVC)またはITU−T H.265が、ITU−Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコーディング(JCT−VC:Joint Collaboration Team on Video Coding)によって開発された。ビデオコーディング規格は、Google VP8、VP9、VP10のようなプロプライエタリビデオコーデック(proprietary video codec)、および他の団体、たとえば、Alliance for Open Mediaによって開発されたビデオコーデックをも含む。
【0027】
[0037] いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、ジョイントビデオ探査チーム(JVET:Joint Video Exploration Team)によって探査されている新しいビデオコーディング技法を含む、他のビデオコーディング技法および/または規格に従って動作するように構成され得る。JVETは、ジョイント探査モデル(JEM:Joint Exploratory Model)と呼ばれるソフトウェアモデルに従ってテストを実施する。
【0028】
[0038] 以下でより詳細に説明されるように、本開示の一例では、ビデオデコーダ30は、ビデオデータのブロックを受信することと、ビデオデータのブロックのためのイントラ予測モードを決定することと、少なくとも決定されたイントラ予測モードに基づいて、ビデオデータのブロックを復号するためにPDPCモードを使用すべきか否かを決定することとを行うように構成され得る。同様に、ビデオエンコーダ22は、ビデオデータのブロックを受信することと、ビデオデータのブロックを符号化するためのイントラ予測モードを決定することと、少なくとも決定されたイントラ予測モードに基づいて、ビデオデータのブロックを符号化するためにPDPCモードを使用すべきか否かを決定することとを行うように構成され得る。
【0029】
[0039] HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム(frame)」と呼ばれることもある。ピクチャは、S
L、S
Cb、およびS
Crと示される3つのサンプルアレイを含み得る。S
Lはルーマサンプル(luma sample)の2次元アレイ(たとえば、ブロック)である。S
CbはCbクロミナンスサンプルの2次元アレイである。S
CrはCrクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ(chroma)」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【0030】
[0040] ピクチャの符号化表現(たとえば、符号化ビデオビットストリーム)を生成するために、ビデオエンコーダ22はコーディングツリーユニット(CTU:coding tree unit)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造(syntax structure)とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのN×Nブロックであり得る。CTUは「ツリーブロック(tree block)」または「最大コーディングユニット」(LCU:largest coding unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のCTUを含み得る。
【0031】
[0041] コード化CTUを生成するために、ビデオエンコーダ22は、コーディングツリーブロックをコーディングブロックに分割するためにCTUのコーディングツリーブロックに対して4分木区分(quadtree partitioning)を再帰的に実施し得、したがって「コーディングツリーユニット(coding tree unit)」という名称がある。コーディングブロックはサンプルのN×Nブロックである。CUは、ルーマサンプルアレイとCbサンプルアレイとCrサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【0032】
[0042] ビデオエンコーダ22は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU:prediction unit)は、ルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ22は、CUの各PUの予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)のための予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成し得る。
【0033】
[0043] ビデオエンコーダ22は、PUのための予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ22がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ22は、PUを含むピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成し得る。
【0034】
[0044] ビデオエンコーダ22がCUの1つまたは複数のPUのための予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成した後、ビデオエンコーダ22は、CUのための1つまたは複数の残差ブロックを生成し得る。一例として、ビデオエンコーダ22は、CUのためのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ22は、CUのためのCb残差ブロックを生成し得る。クロマ予測の一例では、CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルと、CUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ22は、CUのためのCr残差ブロックをも生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルと、CUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。しかしながら、クロマ予測のための他の技法が使用され得ることを理解されたい。
【0035】
[0045] さらに、ビデオエンコーダ22は、CUの残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解するために4分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU:transform unit)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、CUの各TUは、ルーマ変換ブロックとCb変換ブロックとCr変換ブロックとを有し得る。TUのルーマ変換ブロックはCUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックはCUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックはCUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【0036】
[0046] ビデオエンコーダ22は、TUのための係数ブロックを生成するために、TUの変換ブロック1つまたは複数の変換を適用し得る。たとえば、ビデオエンコーダ22は、TUのためのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ22は、TUのためのCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ22は、TUのためのCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
【0037】
[0047] 係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロックまたはCr係数ブロック)を生成した後に、ビデオエンコーダ22は、係数ブロックを量子化し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ22が係数ブロックを量子化した後に、ビデオエンコーダ22は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ22は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)を実施し得る。
【0038】
[0048] ビデオエンコーダ22は、コード化ピクチャと関連データとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。したがって、このビットストリームは、ビデオデータの符号化表現を備える。ビットストリームは、ネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットのシーケンスを備え得る。NALユニットは、NALユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在させられたローバイトシーケンスペイロード(RBSP:raw byte sequence payload)の形態でそのデータを含んでいるバイトとを含んでいる、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含み得、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの事例では、RBSPは0ビットを含む。
【0039】
[0049] ビデオデコーダ30は、ビデオエンコーダ22によって生成された符号化ビデオビットストリームを受信し得る。さらに、ビデオデコーダ30は、ビットストリームからシンタックス要素を取得するために、ビットストリームをパース(parse)し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構築し得る。ビデオデータを再構築するためのプロセスは、概して、ビデオエンコーダ22によって実施されるプロセスの逆であり得る。たとえば、ビデオデコーダ30は、現在CUのPUのための予測ブロックを決定するためにPUの動きベクトルを使用し得る。さらに、ビデオデコーダ30は、現在CUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在CUのTUの変換ブロックを再構築するために、係数ブロックに対して逆変換を実施し得る。ビデオデコーダ30は、現在CUのPUのための予測ブロックのサンプルを現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構築し得る。ピクチャの各CUのためのコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築し得る。
【0040】
[0050] 4分木プラス2分木(QTBT)区分構造は、現在、ジョイントビデオ探査チーム(JVET)によって研究されている。J.Anら、「Block partitioning structure for next generation video coding」、国際電気通信連合、COM16−C966、2015年9月(以下、「VCEG提案COM16−C966」)では、QTBT区分技法が、HEVCの先の将来のビデオコーディング規格のために説明された。シミュレーションは、提案されたQTBT構造が、HEVCにおいて使用される4分木構造よりも効率的であり得ることを示した。
【0041】
[0051] VCEG提案COM16−C966で説明されるQTBT構造では、4分木区分技法を使用してCTBが最初に区分され、ここで、1つのノードの4分木スプリッティング(quadtree splitting)は、ノードが最小許容4分木リーフノードサイズ(minimum allowed quadtree leaf node size)に達するまで反復され得る。最小許容4分木リーフノードサイズは、シンタックス要素MinQTSizeの値によってビデオデコーダ30に示され得る。4分木リーフノードサイズが(たとえば、シンタックス要素MaxBTSizeによって示される)最大許容2分木ルートノードサイズ(maximum allowed binary tree root node size)よりも大きくない場合、4分木リーフノードは、2分木区分を使用してさらに区分され得る。1つのノードの2分木区分は、ノードが、(たとえば、シンタックス要素MinBTSizeによって示される)最小許容2分木リーフノードサイズ、または(たとえば、シンタックス要素MaxBTDepthによって示される)最大許容2分木深度(maximum allowed binary tree depth)に達するまで、反復され得る。VCEG提案COM16−C966は、2分木リーフノードを指すために「CU」という用語を使用する。VCEG提案COM16−C966では、CUは、さらなる区分なしに予測(たとえば、イントラ予測、インター予測など)および変換のために使用される。概して、QTBT技法によれば、2分木スプリッティングのための2つのスプリットタイプ、すなわち、対称水平スプリッティング(symmetric horizontal splitting)および対称垂直スプリッティング(symmetric vertical splitting)がある。各場合において、ブロックは、ブロックを水平方向または垂直方向のいずれかに半分に分割することによってスプリットされる。これは、ブロックを4つのブロックに分割する、4分木区分とは異なる。
【0042】
[0052] QTBT区分構造の一例では、CTUサイズは128×128(たとえば、128×128ルーマブロックおよび2つの対応する64×64クロマブロック)として設定され、MinQTSizeは16×16として設定され、MaxBTSizeは64×64として設定され、(幅と高さの両方について)MinBTSizeは4として設定され、MaxBTDepthは4として設定される。4分木区分は、4分木リーフノードを生成するために最初にCTUに適用される。4分木リーフノードは、16×16(すなわち、MinQTSizeが16×16である)から128×128(すなわち、CTUサイズ)までのサイズを有し得る。QTBT区分の一例によれば、リーフ4分木ノードが128×128である場合、リーフ4分木ノードのサイズがMaxBTSize(すなわち、64×64)を超えるので、リーフ4分木ノードは2分木によってさらにスプリットされ得ない。他の場合、リーフ4分木ノードは、2分木によってさらに区分される。したがって、4分木リーフノードはまた、2分木のためのルートノードであり、0としての2分木深度を有する。2分木深度がMaxBTDepth(たとえば、4)に達することは、さらなるスプリッティングがないことを暗示する。2分木ノードが、MinBTSize(たとえば、4)に等しい幅を有することは、さらなる水平スプリッティングがないことを暗示する。同様に、2分木ノードが、MinBTSizeに等しい高さを有することは、さらなる垂直スプリッティングがないことを暗示する。2分木のリーフノード(CU)は、さらなる区分なしに(たとえば、予測プロセスおよび変換プロセスを実施することによって)さらに処理される。
【0043】
[0053]
図2Aは、QTBT区分技法を使用して区分されるブロック50(たとえば、CTB)の一例を示す。
図2Aに示されているように、QTBT区分技法を使用して、得られたブロックの各々が、各ブロックの中心を通って対称的にスプリットされる。
図2Bは、
図2Aのブロック区分に対応するツリー構造を示す。
図2B中の実線は4分木スプリッティングを示し、点線は2分木スプリッティングを示す。一例では、2分木の各スプリッティング(すなわち、非リーフ)ノードでは、実施されるスプリッティングのタイプ(たとえば、水平または垂直)を示すために、シンタックス要素(たとえば、フラグ)がシグナリングされ、ここで、0は水平スプリッティングを示し、1は垂直スプリッティングを示す。4分木スプリッティングの場合、4分木スプリッティングが、常に、ブロックを、等しいサイズをもつ4つのサブブロックに水平および垂直にスプリットするので、スプリッティングタイプを示す必要がない。
【0044】
[0054]
図2Bに示されているように、ノード70において、ブロック50は、4分木区分を使用して、
図2Aに示されている4つのブロック51、52、53、および54にスプリットされる。ブロック54はさらにスプリットされず、したがってリーフノード(leaf node)である。ノード72において、ブロック51は、2分木区分を使用して2つのブロックにさらにスプリットされる。
図2Bに示されているように、ノード72は、垂直スプリッティングを示す1でマークされる。したがって、ノード72におけるスプリッティングは、ブロック57、およびブロック55とブロック56の両方を含むブロックを生じる。ブロック55および56は、ノード74におけるさらなる垂直スプリッティングによって作成される。ノード76において、ブロック52は、2分木区分を使用して2つのブロック58および59にさらにスプリットされる。
図2Bに示されているように、ノード76は、水平スプリッティングを示す1でマークされる。
【0045】
[0055] ノード78において、ブロック53は、4分木区分を使用して4つの等しいサイズのブロックにスプリットされる。ブロック63および66は、この4分木区分から作成され、さらにスプリットされない。ノード80において、左上ブロックは、垂直2分木スプリッティングを使用して最初にスプリットされ、ブロック60および右垂直ブロックを生じる。右垂直ブロックは、次いで、水平2分木スプリッティングを使用して、ブロック61とブロック62とにスプリットされる。ノード78における4分木スプリッティングから作成される右下ブロックは、ノード84において、水平2分木スプリッティングを使用してブロック64とブロック65とにスプリットされる。
【0046】
[0056] QTBT区分の一例では、ルーマ区分およびクロマ区分は、たとえば、ルーマブロックおよびクロマブロックについて4分木区分が一緒に実施されるHEVCとは反対に、Iスライスについて互いに独立して実施され得る。すなわち、いくつかの例では、ルーマブロックおよびクロマブロックは、ルーマブロックおよびクロマブロックが直接重複しないように別々に区分され得る。したがって、QTBT区分のいくつかの例では、クロマブロックは、少なくとも1つの区分されたクロマブロックが単一の区分されたルーマブロックと空間的に整合されないような様式で、区分され得る。すなわち、特定のクロマブロックとコロケートされたルーマサンプルは、2つまたはそれ以上の異なるルーマ区分内にあり得る。
【0047】
[0057] HEVCおよびJEMでは、イントラ参照(たとえば、イントラ予測のために使用される参照ピクセル/ネイバーサンプル)は、平滑化され得る。いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、イントラ参照サンプルにフィルタを適用するように構成され得る。HEVCでは、ビデオエンコーダ22およびビデオデコーダ30が、特定のイントラ予測モードのためのネイバーサンプルからイントラ予測を生成する前に、イントラ参照(たとえば、ネイバーサンプル)にフィルタを適用するように構成されるように、モード依存イントラ平滑化(MDIS)が使用される。
【0048】
[0058]
図3は、HEVCにおいて定義されている35個のイントラ予測モードの一例を示す概念図である。HEVCでは、平面モード(planar mode)とDCモードと33個の角度モード(angular mode)とを含む、35個のイントラ予測のうちの1つを使用して、ルーマブロックが予測され得る。HEVCにおいて定義されているイントラ予測の35個のモードは、以下で表1に示されているようにインデックス付けされる。
【0050】
[0059] ビデオエンコーダ22およびビデオデコーダ30は、現在イントラ予測モードが水平方向または垂直方向(たとえば、水平イントラ予測方向または垂直イントラ予測方向)にどれだけ近いかまたは遠いかに基づいて、MDISがそれのために使用可能である、イントラ予測モードを導出するように構成され得る。一例では、ビデオエンコーダ22およびビデオデコーダ30は、現在イントラ予測モードのためのイントラモードインデックスと、水平および/または垂直モードイントラ予測モードのイントラ予測モードインデックスとの間の絶対差分(absolute difference)に基づいて、特定のイントラモードが、水平方向または垂直方向にどれだけ近いかまたは遠いかを導出するように構成され得る。この絶対差分が、あるしきい値(たとえば、しきい値は、ブロックサイズ依存であり得る)を超える場合、ビデオエンコーダ22およびビデオデコーダ30は、参照サンプルにMDISフィルタを適用するように構成され得る。この絶対差分が、あるしきい値(たとえば、しきい値は、ブロックサイズ依存であり得る)よりも小さいかまたはそれに等しい場合、ビデオエンコーダ22およびビデオデコーダ30は、参照サンプルにMDISフィルタを適用しないように構成され得る。例しきい値は、(たとえば、4×4ブロックの場合)10、(たとえば、8×8ブロックの場合)7、(たとえば、16×16ブロックの場合)1、および(たとえば、32×32ブロックの場合)0を含み得る。言い換えれば、水平方向または垂直方向から遠いイントラ予測モードについて、ビデオエンコーダ22およびビデオデコーダ30は、イントラ参照フィルタ(intra reference filter)を適用しないことがある。いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、DCモードまたは平面モードなど、非角度イントラ予測モード(non-angular intra prediction mode)についてはMDISフィルタを適用しない。
【0051】
[0060] JEMでは、MDISが、すべてのイントラモードのために適用され得る平滑化フィルタ(smoothing filte)(たとえば、参照サンプル適応フィルタ処理(RSAF:reference sample adaptive filtering)または適応参照サンプル平滑化(ARSS:adaptive reference sample smoothing))と置き換えられた。そのような平滑化フィルタの、イントラ参照サンプルへの適用は、イントラ平滑化(intra smoothing)と呼ばれることがある。いくつかの例では、平滑化フィルタは、DCモードのために適用されない。ビデオエンコーダ22は、平滑化フィルタが現在ブロックにおいて適用されるか否かを示すフラグを生成し、シグナリングするように構成され得る。ビデオデコーダ30は、現在ブロックのために平滑化フィルタを適用すべきか否かを決定するためのそのようなフラグを受信し、パースするように構成され得る。
【0052】
[0061] いくつかの例では、ビデオエンコーダ22は、そのようなフラグを明示的フラグ(explicit flag)としてシグナリングしないように構成され得、むしろ、ビデオエンコーダ22は、平滑化フィルタが適用されないかどうかの指示を変換係数(transform coefficient)の特性(たとえば、変換係数のパリティ)に隠すように構成され得る。同様に、ビデオデコーダ30は、変換係数の特性(たとえば、変換係数のパリティ)から平滑化フィルタが適用されるか否かを決定する(たとえば、フラグの値を決定する)ように構成され得る。たとえば、変換係数が、あるパリティ状態(たとえば、奇数または偶数)を満たす場合、フラグの値は1として導出され、他の場合、フラグの値は0として導出される。
【0053】
[0062] JEMにおいて使用される別のツールは、位置依存イントラ予測組合せ(PDPC)モードである。PDPCモードは、イントラ予測子とイントラ参照サンプルとを重み付けするツールであり、ここで、ビデオエンコーダ22およびビデオデコーダ30は、コーディングされているブロックのブロックサイズ(幅および高さを含む)とイントラ予測モードとに基づいて、重みを導出する。
【0054】
[0063] 本開示で説明される技法は、任意の組合せでおよび任意に他の方法とともに、使用され得る。イントラ平滑化およびPDPCモードは、例示および説明の目的で使用され、本開示の技法はそれらの例に限定されず、開示される方法は他のツールに適用され得る。
【0055】
[0064] 以下のセクションは、位置依存イントラ予測組合せ(PDPC)コーディングモードのためのパラメータを決定するための技法について説明する。本開示のイントラ平滑化技法は、PDPCモードとともに使用され得る。しかしながら、イントラ平滑化およびPDPCモードは、例示および説明目的のために使用され、本開示の技法はそれらの例に限定されず、開示される方法は他のツールに適用され得る。
【0056】
[0065] PDPCコーディングモードを使用してビデオデータをコーディングするとき、ビデオエンコーダ22および/またはビデオデコーダ30は、フィルタ処理された参照値およびフィルタ処理されていない参照値に基づいて、ならびに予測されたピクセルの位置に基づいて、どのように予測を組み合わせるかを定義する1つまたは複数のパラメータ化された式を使用し得る。本開示は、ビデオエンコーダ22が、(たとえば、レートひずみ分析(rate-distortion analysis)を使用することを介して)パラメータのセットをテストし、最適なパラメータ(たとえば、テストされたそれらのパラメータの中から最良のレートひずみ性能を生じるパラメータ)をビデオデコーダ30にシグナリングするように構成され得るようなパラメータのいくつかのセットについて説明する。いくつかの例では、ビデオデコーダ30は、ビデオデータの特性(たとえば、ブロックサイズ、ブロック高さ、ブロック幅など)からPDPCパラメータを決定するように構成され得る。
【0057】
[0066]
図4Aは、本開示の技法による、フィルタ処理されていない参照(r)を使用する4×4のブロックの予測(p)を示す。
図4Bは、本開示の技法による、フィルタ処理された参照(s)を使用する4×4のブロックの予測(q)を示す。
図4Aおよび
図4Bの両方が、4×4のピクセルブロックと17個(4×4+1)のそれぞれの参照値とを示すが、本開示の技法は、任意のブロックサイズおよび任意の数の参照値に適用され得る。
【0058】
[0067] ビデオエンコーダ22および/またはビデオデコーダ30は、PDPCコーディングモードを実施するとき、フィルタ処理された(q)予測とフィルタ処理されていない(p)予測との間の組合せを利用し得、したがって、コーディングされるべき現在ブロックのための予測ブロックは、フィルタ処理された(s)参照アレイとフィルタ処理されていない(r)参照アレイとの両方からのピクセル値を使用して計算され得る。
【0059】
[0068] PDPCの技法の一例では、それぞれ、フィルタ処理されていない参照rおよびフィルタ処理された参照sのみを使用して計算されるピクセル予測の任意の2つのセット、p
r[x,y]およびq
s[x,y]が与えられれば、v[x,y]によって示されるピクセルの組み合わされた予測値は、以下によって定義される。
【0061】
ここで、c[x,y]は、組合せパラメータのセットである。重みc[x,y]の値は、0と1との間の値になり得る。重みc[x,y]と(1−c[x,y])との和は、1に等しくなり得る。
【0062】
[0069] いくつかの例では、ブロック中のピクセルの数と同じ大きさのパラメータのセットを有することは実際的でないことがある。そのような例では、c[x,y]は、パラメータのはるかに小さいセットに、それらのパラメータからすべての組合せ値を計算するための式を加えたものよって定義され得る。そのような例では、以下の式が使用され得る。
【0072】
、g、およびd
v、d
h∈{1,2}は、予測パラメータであり、Nは、ブロックサイズであり、
【0076】
は、それぞれ、フィルタ処理されていない参照およびフィルタ処理された参照を使用して、特定のモードについて、HEVC規格に従って使用して計算される予測値であり、
【0078】
は、予測パラメータによって定義される(すなわち、
【0082】
に割り当てられる全体的な重みを1に加えさせるための)正規化ファクタである。
【0083】
[0070] 式2は、あらゆるビデオコーディング規格について以下の式2Aに一般化され得る。
【0093】
、g、およびd
v、d
h∈{1,2}は、予測パラメータであり、Nは、ブロックサイズであり、
【0097】
は、それぞれ、フィルタ処理されていない参照およびフィルタ処理された参照を使用して、特定のモードについて、ビデオコーディング規格(あるいはビデオコーディング方式またはアルゴリズム)に従って使用して計算される予測値であり、
【0099】
は、予測パラメータによって定義される(すなわち、
【0103】
に割り当てられる全体的な重みを1に加えさせるための)正規化ファクタである。
【0104】
[0071] これらの予測パラメータは、使用される予測モードのタイプ(たとえば、HEVCのDC、平面、および33方向モード)に従って、予測された項の最適な線形組合せを与えるために重みを含み得る。たとえば、HEVCは、35個の予測モードを含んでいる。ルックアップテーブルは、予測モードの各々のための予測パラメータ
【0112】
、g、d
v、およびd
hの各々の値(すなわち、各予測モードのための
【0120】
、g、d
v、およびd
hの35個の値)を用いて構築され得る。そのような値は、ビデオをもつビットストリーム中に符号化され得るか、または前もってエンコーダおよびデコーダによって知られる定数値であり得、ファイルまたはビットストリーム中で送信される必要がないことがある。
【0128】
、g、d
v、およびd
hの値は、トレーニングビデオのセットに最良の圧縮を与える予測パラメータの値を発見することによって最適化トレーニングアルゴリズムによって決定され得る。
【0129】
[0072] 別の例では、(たとえば、ルックアップテーブル中に)予測モードごとに複数のあらかじめ定義された予測パラメータセットがあり、(パラメータ自体でなく)選択される予測パラメータセットが、符号化ファイルまたはビットストリーム中でデコーダに送信される。別の例では、
【0137】
、g、d
v、およびd
hの値は、ビデオエンコーダ22によってオンザフライ(on the fly)で生成され、符号化ファイルまたはビットストリーム中でビデオデコーダ30に送信され得る。
【0138】
[0073] 別の例では、HEVC予測を使用する代わりに、これらの技法を実施するビデオコーディングデバイスは、33方向予測の代わりに65方向予測を使用するバージョンのようなHEVCの変更バージョンを使用し得る。実際は、任意のタイプのイントラフレーム予測が使用され得る。
【0139】
[0074] 別の例では、式は、計算を容易にするために選定され得る。たとえば、以下のタイプの予測子を使用することができる。
【0145】
[0075] そのような手法は、HEVC(または他の)予測の線形性を活用し得る。あらかじめ定義されたセットからのフィルタkのインパルス応答としてhを定義すると、
【0147】
を有し、ここで、「*」が畳み込みを表す場合、
【0149】
すなわち、線形的に組み合わせられた予測は、線形的に組み合わせられた参照から計算され得る。
【0150】
[0076] 式4、6および8は、あらゆるビデオコーディング規格について以下の式4A、6A、および8Aに一般化され得る。
【0156】
そのような手法は、コーディング規格の予測の線形性を活用し得る。あらかじめ定義されたセットからのフィルタkのインパルス応答としてhを定義すると、
【0158】
を有し、ここで、「*」が畳み込みを表す、場合、
【0160】
すなわち、線形的に組み合わせられた予測は、線形的に組み合わせられた参照から計算され得る。
【0161】
[0077] 一例では、予測関数は、入力としてのみ参照ベクトル(たとえば、rおよびs)を使用し得る。この例では、参照がフィルタ処理されていてもフィルタ処理されていなくても、参照ベクトルの挙動は変化しない。rとsとが等しい(たとえば、あるフィルタ処理されていない参照rが、別のフィルタ処理された参照sと偶然同じである)場合、フィルタ処理された参照とフィルタ処理されていない参照とに適用される、予測関数、たとえば(p(x,y,r)としても記述される)p
r[x,y]は、(p(x,y,s)としても記述される)p
s[x,y]に等しい、は等しい。さらに、ピクセル予測pおよびqは、等価であり得る(たとえば、同じ入力が与えられれば同じ出力を生成し得る)。そのような例では、式(1)〜(8)は、ピクセル予測p[x,y]がピクセル予測q[x,y]と置き換わって、書き直され得る。
【0162】
[0078] 別の例では、予測(たとえば、関数のセット)は、参照がフィルタ処理された情報に応じて変化し得る。この例では、関数の異なるセットが示され得る(たとえば、p
r[x,y]およびq
s[x,y])。この場合、rとsとが等しいとしても、p
r[x,y]とq
s[x,y]とは等しくないことがある。言い換えれば、入力がフィルタ処理されたのか否かに応じて同じ入力が異なる出力を作成することができる。そのような例では、p[x,y]がq[x,y]に置き換えられることが可能でないことがある。
【0163】
[0079] 示された予測式の利点は、パラメータ化された公式化を用いて、トレーニングなどの技法を使用して、異なるタイプのビデオテクスチャに対して最適なパラメータのセット(すなわち、予測正確度を最適化するセット)が決定され得ることである。この手法は、いくつかの例では、テクスチャのいくつかの典型的なタイプについて予測子パラメータのいくつかのセットを計算することと、エンコーダが各セットからの予測子をテストし、最良の圧縮をもたらすセットをサイド情報として符号化する圧縮方式を有することとによって拡張され得る。
【0164】
[0080] 上記で説明されたように、いくつかの例では、ビデオエンコーダ22は、ビデオデータの1つまたは複数のブロックための特定のビデオコーディングツールの使用(たとえば、イントラ平滑化フィルタおよび/またはPDPCモードが適用されるか否か)を示すためにフラグまたはインデックス(index)をシグナリングするように構成され得る。たとえば、ビデオエンコーダ22は、特定のコーディングツール(たとえば、イントラ平滑化フィルタおよび/またはPDPCモード)がブロックのために適用されないことを示すために、0の値をもつフラグを生成し、シグナリングするように構成され得るが、1の値をもつフラグは、コーディングツール(たとえば、イントラ平滑化フィルタおよび/またはPDPCモード)がブロックのために適用されることを示し得る。ビデオデコーダ30は、フラグに関連するビデオデータの1つまたは複数のブロックのために特定のビデオコーディングツールを使用すべきか否かを決定するためにそのようなフラグを受信し、パースするように構成され得る。
【0165】
[0081] いくつかの例では、特定のビデオコーディングツールのためのフラグをシグナリングすることは、かなり大きいビット数を要することがあり、したがって、ビデオコーディングツールを使用することから得られる圧縮効率が著しく低減されることがある。本開示は、ビデオコーディングツールオーバーヘッドシグナリング(たとえば、ビデオコーディングツール使用および/またはビデオコーディングツールパラメータを示すシンタックス要素)を、変換処理のためのシグナリングを含む、他のビデオコーディングプロセスのためのシグナリングと結合する技法について説明する。
【0166】
[0082] たとえば、ビデオエンコーダ22は、1次または2次変換フラグまたはインデックスを含む、変換処理のためのシンタックス要素を生成し、シグナリングするように構成され得る。1次変換フラグまたはインデックス(たとえば、マルチビットシンタックス要素)は、ビデオデータのブロックをコーディングするときに1次変換(primary transform)として使用するための、変換への複数の中から特定の変換を示し得る。同様に、2次変換フラグまたはインデックス(たとえば、マルチビットシンタックス要素)は、ビデオデータのブロックをコーディングするときに2次変換(secondary transform)として使用するための、変換への複数の中から特定の変換を示し得る。一例として、1次変換は、離散コサイン変換(DCT:discrete cosine transform)または離散サイン変換(DST:discrete sine transform)ベース変換、JEMにおいて使用される拡張複数変換(EMT:enhanced multiple transform)、あるいは任意の他の分離可能または非分離可能変換であり得る。例示的な2次変換は、回転変換(ROT:rotational transform)または非分離可能2次変換(NSST:non-separable secondary transform)を含み得、それらの両方が現在、JEMにおいて採用されている。しかしながら、2次変換は、任意の他の分離可能または非分離可能変換を含み得る。1次変換および/または第2変換は、インデックスによって示され得る、変換のいくつかのセットを含み得る。ビデオデータの任意の特定のブロックのために使用すべき変換セットは、たとえば、イントラ予測モードおよび/またはイントラ予測モード方向に依存し得る。すなわち、ビデオエンコーダ22およびビデオデコーダ30は、ビデオデータの特定のブロックをコーディングするために使用されたイントラ予測モードおよび/またはイントラ予測モード方向に基づいて、ビデオデータのそのブロックにとって利用可能な変換(transform)のセットを決定するように構成され得る。
【0167】
[0083] 本開示の一例では、ビデオエンコーダ22および/またはビデオデコーダ30は、ある変換フラグまたは(1つまたは複数の)インデックス値がシグナリングされるとき、1つまたは複数のコーディングツール(たとえば、イントラ参照サンプル平滑化フィルタ(intra reference sample smoothing filter)および/またはPDPCモード)がブロックのために適用され、そうではなく、ある変換フラグまたは(1つまたは複数の)インデックス値がシグナリングされないとき、コーディングツールが適用されないことを示す、いくつかのあらかじめ定義されたルールに従うように構成され得る。この場合、ビデオコーディングツールの使用を示すための明示的フラグが、シグナリングされる必要がない。代わりに、特定のコーディングツールが使用されるかどうかの決定は、変換シグナリングから導出され得る。上記の例は、イントラ参照サンプル平滑化フィルタとPDPCモードとを含むが、他のビデオコーディングツール使用が、変換シグナリングと結合され得る。
【0168】
[0084] 一例では、変換シグナリングによって示されるビデオコーディングツールは、MDIS、ARSSなど、イントラ参照サンプル平滑化フィルタ、あるいはイントラ参照サンプルに適用される任意の他の平滑化および/またはフィルタ処理であり得る。別の例では、変換シグナリングによって示されるビデオコーディングツールは、イントラ予測、たとえばPDPCモード、マルチパラメータイントラ予測(MPI)モードに適用されるフィルタ処理、または導出されたイントラ予測のために適用される任意の他のフィルタ処理であり得る。
【0169】
[0085] いくつかのツールが組合せで、たとえば、PDPCとMDISとARSSとで、またはPDPCとMDISのみで使用され得る。一例では、ビデオエンコーダ22およびビデオデコーダ30は、(たとえば、1つまたは複数の2次変換インデックスによって示されるような)ある2次変換を用いてコーディングされるビデオデータのブロックのために特定のビデオコーディングツールを適用するように構成され得る。たとえば、ビデオデコーダ30は、2次変換のあるタイプを示すインデックスの値に基づいて、特定のコーディングツール(たとえば、MDIS、ARSSなど)を使用すべきかどうかを決定するように構成され得る。このようにして、2次変換および少なくとも1つの他のコーディングツールの使用が、単一のシンタックス要素を用いて示され得る。
【0170】
[0086] 一例では、ビデオデコーダ30は、2次変換(NSST)インデックスによって示されるような、いくつかの2次変換が適用されるときのみ、PDPCモードを使用することを決定し得る。同様に、ビデオエンコーダ22は、いくつかの2次変換が適用されるときのみ、PDPCモードを使用することを決定し得る。たとえば、ビデオエンコーダ22およびビデオデコーダ30は、特定の2次変換が使用されるとき(たとえば、値NSSTインデックスが1に等しいとき)、PDPCモードを使用するように構成され得る。別の例では、ビデオエンコーダ22およびビデオデコーダ30は、(たとえば、2次変換インデックスの値によって示されるような)使用される2次変換にかかわらず、いくつかのイントラ予測モードのためにPDPCモードを使用するように構成され得る。たとえば、ビデオエンコーダ22およびビデオデコーダ30は、イントラ予測モードが平面モード、および/またはDCモード、または任意の他のモードである場合、PDPCモードを適用するように構成され得る。
【0171】
[0087] 別の例では、ビデオエンコーダ22およびビデオデコーダ30は、(たとえば、2次変換(NSST)インデックスの値によって示されるような)いくつかの2次変換の場合のみ、MDISビデオコーディングツール(または他のイントラ参照サンプル平滑化フィルタ)を適用するように構成され得る。一例として、ビデオエンコーダ22およびビデオデコーダ30は、3に等しいNSSTインデックスの場合のみ、MDISビデオコーディングツール(または他のイントラ参照サンプル平滑化フィルタ)を適用するように構成され得る。
【0172】
[0088] いくつかの例では、2つ以上のビデオコーディングツールの使用が、ブロックのために使用される変換に依存する(たとえば、ビデオコーディングツールが変換インデックスにマッピングされる)場合、変換へのビデオコーディングツールのマッピングは、相互排他的であり得る。すなわち、一例では、各ビデオコーディングツールは、異なる変換インデックスに対応する。
【0173】
[0089] 上記の例は組み合わせられ得る。たとえば、ビデオエンコーダ22およびビデオデコーダ30は、1のNSSTインデックスの場合、PDPCモードを適用するように構成され得、ビデオエンコーダ22およびビデオデコーダ30は、3のNSSTインデックスの場合、MDISまたは別のイントラ参照平滑化フィルタを適用するように構成され得る。さらに、ビデオエンコーダ22およびビデオデコーダ30の使用は、平面イントラ予測モードを使用してコーディングされたビデオデータのブロックの場合、そのブロックのためのNSSTインデックスにかかわらず、PDPCモードを常に適用するように構成され得る。
【0174】
[0090] また別の例では、ビデオエンコーダ22およびビデオデコーダ30は、NSSTインデックスが2に等しいとき、ARSSビデオコーディングツールを適用するように構成され得る。
【0175】
[0091] 異なるコーディングツール(たとえば、PDPC、NSST、EMT、ARSS、MDIS、MPI、ROT)の利用が複数のオプションを有する場合、コーディングツールの各々のための別個のインデックスをシグナリングする代わりに、ビデオエンコーダ22は、1つの統一インデックスのみをシグナリングするように構成され得る。この例では、統一インデックスの値は、異なるコーディングツールがどのように結合されるかを指定する。一例では、PDPCモードがパラメータの3つの異なるセットを用いて設計され、NSSTがNSSTコアの3つの異なるセットを用いて設計される場合、PDPCインデックスおよびNSSTインデックスを別個にシグナリングする代わりに、ビデオエンコーダ22は、ただ1つの統一インデックスをシグナリングし得るが、この統一インデックス値は、PDPCモードとNSSTの両方の利用を指定する。たとえば、この統一インデックスが0に等しいとき、PDPCもNSSTも適用されない。この統一インデックスが1に等しいとき、PDPCモードパラメータセット1とNSSTコア1とが使用される。この統一インデックスが2に等しいとき、PDPCモードパラメータセット2とNSSTコア2とが使用される。この統一インデックスが3に等しいとき、PDPCモードパラメータセット3とNSSTコア3とが使用される。すなわち、異なるPDPCモードが、異なるNSSTインデックスとバンドルされる。別の例では、異なるNSSTインデックスの場合、異なるフィルタ係数をもつMDISフィルタが適用され得る。
【0176】
[0092] 1つのツール(たとえば、PDPC、ARSS、および/またはMDIS)と変換(たとえば、EMT、NSST)との間の結合は、限定はしないがイントラ予測モード、ブロック幅および高さ、ブロック区分深度、変換係数を含む、すでに符号化された情報に依存し得る。たとえば、異なるイントラ予測モードの場合、PDPCモードが、異なるNSSTインデックスと結合され得る。たとえば、イントラ予測モード0の場合、PDPCモードはNSSTインデックス1と結合され、イントラ予測モード1の場合、PDPCはNSSTインデックス2と結合される。
【0177】
[0093] 次のセクションは、強イントラ参照フィルタ処理(strong intra reference filtering)に関係する。2017年1月11日に出願された米国仮出願第62/445,207号、および2018年1月9日に出願された米国特許出願第15/866,287号では、除算なし強イントラ平滑化方法(division free strong intra smoothing method)が説明された。いくつかの例では、2のべき乗でない除算が使用される場合、ビデオエンコーダ22およびビデオデコーダ30は、プロセスをいくつかの部分にスプリットするように構成され得、ここで、ビデオエンコーダ22およびビデオデコーダ30は、プロセスの各部分について2のべき乗除算(power-of-2 division)を実施するにすぎないように構成され得る。そのような技法は、単純なビットシフト演算として実装され得る。本開示では、より詳細な例が説明される。JEMで、非2のべき乗(non-power-of 2)の除算が、ブロックの(幅+高さ)による除算により使用される、長方形ブロックを検討する。
図5は、非正方形ブロック200について、フィルタ処理プロセスがいくつかの部分に分割される一例を示す。
【0178】
[0094]
図5に示されているように、フィルタ処理プロセスは、(黒いボックスによって示されている)左のイントラ参照サンプル202および上のイントラ参照サンプル204、ならびに(点付きのボックスによって示されている)左下のイントラ参照サンプル206および右上のイントラ参照サンプル208に対して実施される。使用される除算は、非2のべき乗である。ビデオエンコーダ22およびビデオデコーダ30は、フィルタ処理プロセスを水平方向についての部分と垂直方向についての部分とにスプリットするように構成され得、したがって、1つの部分が、ブロック200の幅および/または高さ(width and/or height)に対応し、他の部分は、どんな長さであれ残された部分である。この特定の例では、残りの部分は、垂直フィルタ処理の場合は幅の長さ、水平フィルタ処理の場合は高さの長さ(すなわち、点付きボックス中の左下のイントラ参照サンプル206および右上のイントラ参照サンプル208)である。わかるように、ウィズおよび高さ(with and height)は、2のべき乗であるサイズであることが必要とされ得るので、各部分は、2のべき乗除算を伴うフィルタ処理プロセスを実行することができる。
【0179】
[0095] さらに、フィルタ処理プロセスに応じて、いくつかのサンプルがコピーされ得る。たとえば、フィルタ処理式が、(長さ−i)*a+i*bである場合、ここで、iは、1から長さ−1までである。長さは、フィルタ処理されるべきサンプルアレイのサイズである。長さは、たとえば、幅+高さであり得る。値aおよび値bは、フィルタ処理されるべきサンプルアレイの端部サンプルであり得る。
【0180】
[0096] 1つのサンプルが、i=0の場合フィルタ処理されず、このサンプルが直接コピーされ得ることがわかる。フィルタ処理プロセスがいくつかの部分にスプリットされるとき、直接コピーされるサンプルの数が増加し得る。このことは、各方向においてフィルタ処理されるべきでない追加のサンプルを生じ得、そのようなサンプルは、直接コピーされ得る。直接コピーは、フィルタ処理プロセスがそのサンプルのために適用されないことを意味し得る。
【0181】
[0097] どのサンプルが直接コピーされ得るかは、可変であり得る。本開示の一例では、ビデオエンコーダ22およびビデオデコーダ30は、(1つまたは複数の)直接コピーされたサンプルを各方向のイントラ参照サンプルの端部に、すなわち、垂直フィルタ処理の場合は左下のサンプルに、水平フィルタ処理の場合は右上のサンプルに置くように構成され得る。このようにして、それらのサンプルは、イントラ予測において少ない頻度で使用され得る。そのようなサンプルはブロックから最も遠いので、そのようなサンプルの正確度は、イントラ予測の効率に対してあまり敏感でない。
【0182】
[0098] 別の例では、直接コピーされたサンプルが、フィルタ処理プロセスの各部分中に配置され得る。上記の例では、それは、フィルタ処理の各黒いエリアおよび点付きエリア中の1つのサンプルであり得る。すなわち、ビデオエンコーダ22およびビデオデコーダ30は、1つの直接コピーされたサンプルを、左の参照サンプル204、左下の参照サンプル206、上の参照サンプル202、および右上の参照サンプル208の各々中に配置し得る。一例では、直接コピーされたサンプルは、各部分の端部に配置され得る。たとえば、ビデオエンコーダ22およびビデオデコーダ30は、直接コピーされたサンプルを左の参照サンプル204の下部に配置し得る。同様に、ビデオエンコーダ22およびビデオデコーダ30は、直接コピーされたサンプルを左下の参照サンプル206の下部に配置し得る。さらに、ビデオエンコーダ22およびビデオデコーダ30は、直接コピーされたサンプルを上の参照サンプル202の右端に配置し得る。ビデオエンコーダ22およびビデオデコーダ30はまた、直接コピーされたサンプルを右上の参照サンプル208の右端に配置し得る。そのような設計の利点は、あるエリア中の直接コピーされたサンプルをグループ化する必要がないので、フィルタ処理プロセスの均一性である。
【0183】
[0099] 別の例では、直接コピーされたサンプルは、左上のエリア201中(たとえば、サンプル204とサンプル202とのブロックボックスの始端)に配置され得る。より一般的な例では、直接コピーされたサンプルは、イントラ参照サンプル内の任意のロケーション中に配置され得る。
【0184】
[0100] 別の例では、ビデオエンコーダ22およびビデオデコーダ30は、2タップ双線形(two-tap bilinear)フィルタの代わりに、固定Nタップ線形フィルタとして強平滑化を実装し得、したがって、2のべき乗でない除数を使用する除算演算が回避され得る。一例では、2タップ双線形強平滑化フィルタ(two-tap bilinear strong smoothing filter)を置き換えるために5タップまたは7タップガウスフィルタ(Gaussian filter)が使用され、ここで、ガウスフィルタのパラメータは、事前定義されるか、または、限定はしないがブロックサイズ、ブロック形状、イントラ予測モードを含む、すでにコード化された情報に依存し得る。
【0185】
[0101] 本開示の一例では、ビデオエンコーダ22およびビデオデコーダ30は、イントラ予測を使用して非正方形ブロックをコーディングすることと、2つの部分中の、すなわち、ブロックの高さまたは幅のうちの1つに沿ったイントラ参照サンプルに関連する第1の部分および残存イントラ参照サンプルに関連する第2の部分中の、イントラ参照サンプルに強イントラ参照フィルタ処理を適用することとを行うように構成され得る。
【0186】
[0102] ビデオエンコーダ22およびビデオデコーダ30は、少なくとも1つの参照サンプルを第1の部分から直接コピーするようにさらに構成され得る。別の例では、ビデオエンコーダ22およびビデオデコーダ30は、少なくとも1つの参照サンプルを第2の部分から直接コピーするようにさらに構成され得る。別の例では、ビデオエンコーダ22およびビデオデコーダ30は、少なくとも1つの参照サンプルを第1の部分と第2の部分の両方から直接コピーするようにさらに構成され得る。
【0187】
[0103]
図6は、本開示の技法を実装し得る例示的なビデオエンコーダ22を示すブロック図である。
図6は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものと見なされるべきではない。本開示の技法は、様々なコーディング規格または方法に適用可能であり得る。ビデオデコーダ22は、上記で説明された組み合わせられたコーディングツールおよび変換シグナリング技法を実施するように構成され得る。さらに、ビデオエンコーダ22は、上記で説明されたように強イントラ参照フィルタ処理を実施するように構成され得る。
【0188】
[0104]
図6の例では、ビデオエンコーダ22は、予測処理ユニット100と、ビデオデータメモリ101と、残差生成ユニット(residual generation unit)102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット(inverse transform processing unit)110と、再構築ユニット(reconstruction unit)112と、フィルタユニット114と、復号ピクチャバッファ116と、エントロピー符号化ユニット118とを含む。予測処理ユニット100は、インター予測処理ユニット120と、イントラ予測処理ユニット126とを含む。インター予測処理ユニット120は、動き推定ユニットと、動き補償ユニットとを含み得る(図示せず)。
【0189】
[0105] ビデオデータメモリ101は、ビデオエンコーダ22の構成要素によって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ101に記憶されたビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ116は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ22によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ22の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。ビデオデータメモリ101は、
図1の記憶媒体20と同じであるかまたはそれの一部であり得る。
【0190】
[0106] ビデオエンコーダ22はビデオデータを受信する。ビデオエンコーダ22は、ビデオデータのピクチャのスライス中の各CTUを符号化し得る。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB:coding tree block)と、ピクチャの対応するCTBとに関連し得る。CTUを符号化することの一部として、予測処理ユニット100は、CTUのCTBを徐々により小さいブロックに分割するために区分を実施し得る。いくつかの例では、ビデオエンコーダ22は、QTBT構造を使用してブロックを区分し得る。より小さいブロックはCUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、ツリー構造に従って、CTUに関連するCTBを区分し得る。本開示の1つまたは複数の技法によれば、ツリー構造の各深度レベルにおけるツリー構造の各それぞれの非リーフノードについて、それぞれの非リーフノードのための複数の許容スプリッティングパターンがあり、それぞれの非リーフノードに対応するビデオブロックは、複数の許容スプリッティングパターンのうちの1つに従って、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分される。
【0191】
[0107] ビデオエンコーダ22は、CUの符号化表現(すなわち、コーディングされたCU)を生成するためにCTUのCUを符号化し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUに関連するコーディングブロックを区分し得る。したがって、各PUは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連し得る。ビデオエンコーダ22およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記のように、CUのサイズはCUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズはPUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ22およびビデオデコーダ30は、イントラ予測のための2N×2NまたはN×NのPUサイズと、インター予測のための2N×2N、2N×N、N×2N、N×N、または同様の対称PUサイズとをサポートし得る。ビデオエンコーダ22およびビデオデコーダ30は、インター予測のための2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズに対する非対称区分をもサポートし得る。
【0192】
[0108] インター予測処理ユニット120は、CUの各PUに対してインター予測を実施することによって、PUのための予測データを生成し得る。PUのための予測データは、PUの予測ブロックとPUのための動き情報とを含み得る。インター予測処理ユニット120は、PUがIスライス中にあるのか、Pスライス中にあるのか、Bスライス中にあるのかに応じて、CUのPUに対して異なる動作を実施し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、インター予測処理ユニット120は、PUに対してインター予測を実施しない。したがって、Iモードで符号化されたブロックの場合、予測されたブロックは、同じフレーム内の前に符号化された隣接ブロックからの空間予測を使用して形成される。PUがPスライス中にある場合、インター予測処理ユニット120は、PUの予測ブロックを生成するために、単方向インター予測を使用し得る。PUがBスライス中にある場合、インター予測処理ユニット120は、PUの予測ブロックを生成するために、単方向インター予測または双方向インター予測を使用し得る。
【0193】
[0109] イントラ予測処理ユニット126は、PUに対してイントラ予測を実施することによって、PUのための予測データを生成し得る。PUのための予測データは、PUの予測ブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実施し得る。
【0194】
[0110] PUに対してイントラ予測を実施するために、イントラ予測処理ユニット126は、PUのための予測データの複数のセットを生成するために複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット126は、PUのための予測ブロックを生成するために隣接PUのサンプルブロックからのサンプルを使用し得る。隣接PUは、PU、CU、およびCTUについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連する領域のサイズに依存し得る。
【0195】
[0111] 予測処理ユニット100は、PUのためにインター予測処理ユニット120によって生成された予測データ、またはPUのためにイントラ予測処理ユニット126によって生成された予測データの中からCUのPUのための予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測ブロックと呼ばれることがある。
【0196】
[0112] 残差生成ユニット102は、CUのためのコーディングブロック(たとえば、ルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロック)とCUのPUのための選択された予測ブロック(たとえば、予測ルーマブロック、予測Cbブロックおよび予測Crブロック)とに基づいて、CUのための残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロックおよびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット102は、残差ブロック中の各サンプルが、CUのコーディングブロック中のサンプルとCUのPUの対応する選択された予測ブロック中の対応するサンプルとの間の差分に等しい値を有するように、CUの残差ブロックを生成し得る。
【0197】
[0113] 変換処理ユニット104は、CUに関連する残差ブロックをCUのTUに関連する変換ブロックに区分するために、4分木区分を実施し得る。したがって、TUは、ルーマ変換ブロックと2つのクロマ変換ブロックとに関連し得る。CUのTUのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT:residual quadtree)として知られる4分木構造は、領域の各々に関連するノードを含み得る。CUのTUはRQTのリーフノードに対応し得る。
【0198】
[0114] 変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUの各TUのための変換係数ブロックを生成し得る。変換処理ユニット104は、TUに関連する変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われ得る。
【0199】
[0115] 量子化ユニット106は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。量子化ユニット106は、CUに関連する量子化パラメータ(QP:quantization parameter)値に基づいて、CUのTUに関連する係数ブロックを量子化し得る。ビデオエンコーダ22は、CUに関連するQP値を調整することによって、CUに関連する係数ブロックに適用される量子化の程度を調整し得る。量子化は情報の損失をもたらし得る。したがって、量子化された変換係数は、元の変換係数よりも低い精度を有し得る。
【0200】
[0116] 逆量子化ユニット108および逆変換処理ユニット110は、係数ブロックから残差ブロックを再構築するために、それぞれ、係数ブロックに逆量子化および逆変換を適用し得る。再構築ユニット112は、TUに関連する再構築された変換ブロックを生成するために、再構築された残差ブロックを、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに加算し得る。このようにCUの各TUについて変換ブロックを再構築することによって、ビデオエンコーダ22は、CUのコーディングブロックを再構築し得る。
【0201】
[0117] フィルタユニット114は、CUに関連するコーディングブロック中のブロッキングアーティファクト(blocking artifact)を低減するために1つまたは複数のデブロッキング演算を実施し得る。復号ピクチャバッファ116は、フィルタユニット114が、再構築されたコーディングブロックに対して1つまたは複数のデブロッキング演算を実施した後に、再構築されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、他のピクチャのPUに対してインター予測を実施するために、再構築されたコーディングブロックを含んでいる参照ピクチャを使用し得る。さらに、イントラ予測処理ユニット126は、CUと同じピクチャ中の他のPUに対してイントラ予測を実施するために、復号ピクチャバッファ116中の再構築されたコーディングブロックを使用し得る。
【0202】
[0118] エントロピー符号化ユニット118は、ビデオエンコーダ22の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット118は、エントロピー符号化データを生成するために、データに対して1つまたは複数のエントロピー符号化演算(entropy encoding operation)を実施し得る。たとえば、エントロピー符号化ユニット118は、CABAC演算、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)演算、可変対可変(V2V:variable-to-variable)長コーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング演算、指数ゴロム符号化演算(Exponential-Golomb encoding operation)、または別のタイプのエントロピー符号化演算をデータに対して実施し得る。ビデオエンコーダ22は、エントロピー符号化ユニット118によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUのためのRQTを表すデータを含み得る。
【0203】
[0119]
図7は、本開示の技法を実装するように構成された例示的なビデオデコーダ30を示すブロック図である。
図7は、説明の目的で与えられており、本開示において広く例示され、説明される技法を限定するものではない。説明の目的で、本開示は、HEVCコーディングのコンテキストにおいてビデオデコーダ30について説明する。ただし、本開示の技法は、JVETを含む、他のコーディング規格または方法に適用可能であり得る。ビデオデコーダ30は、上記で説明された組み合わせられたコーディングツールおよび変換シグナリング技法に従って、シグナリングされたシンタックス要素を受信し、パースするように構成され得る。さらに、ビデオデコーダ30は、上記で説明されたように強イントラ参照フィルタ処理を実施するように構成され得る。
【0204】
[0120]
図7の例では、ビデオデコーダ30は、エントロピー復号ユニット150と、ビデオデータメモリ151と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット(inverse transform processing unit)156と、再構築ユニット(reconstruction unit)158と、フィルタユニット160と、復号ピクチャバッファ162とを含む。予測処理ユニット152は、動き補償ユニット164と、イントラ予測処理ユニット166とを含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【0205】
[0121] ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなど、符号化ビデオデータを記憶し得る。ビデオデータメモリ151に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ151は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファを形成し得る。復号ピクチャバッファ162は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ30によってビデオデータを復号する際に使用するための、またはアウトプットのための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。ビデオデータメモリ151は、
図1の記憶媒体28と同じであるかまたはそれの一部であり得る。
【0206】
[0122] ビデオデータメモリ151は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信し、記憶する。エントロピー復号ユニット150は、ビデオデータメモリ151から符号化ビデオデータ(たとえば、NALユニット)を受信し、シンタックス要素を取得するためにNALユニットをパースし得る。エントロピー復号ユニット150は、NALユニット中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構築ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成し得る。エントロピー復号ユニット150は、エントロピー符号化ユニット118のプロセスとは概して逆のプロセスを実施し得る。
【0207】
[0123] 本開示のいくつかの例によれば、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を取得することの一部として、ツリー構造を決定し得る。ツリー構造は、CTBなど、初期ビデオブロックが、コーディングユニットなど、より小さいビデオブロックにどのように区分されるかを指定し得る。本開示の1つまたは複数の技法によれば、ツリー構造の各深度レベルにおけるツリー構造の各それぞれの非リーフノードについて、それぞれの非リーフノードのための複数の許容スプリッティングパターンがあり、それぞれの非リーフノードに対応するビデオブロックは、複数の許容スプリッティングパターンのうちの1つに従って、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分される。
【0208】
[0124] ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構築演算を実施し得る。CUに対して再構築演算を実施するために、ビデオデコーダ30は、CUの各TUに対して再構築演算を実施し得る。CUの各TUに対して再構築演算を実施することによって、ビデオデコーダ30は、CUの残差ブロックを再構築し得る。
【0209】
[0125] CUのTUに対して再構築演算を実施することの一部として、逆量子化ユニット154は、TUに関連する係数ブロックを逆量子化、すなわち、量子化解除し得る。逆量子化ユニット154が係数ブロックを逆量子化した後に、逆変換処理ユニット156は、TUに関連する残差ブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット(inverse transform processing unit)156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
【0210】
[0126] イントラ予測を使用してPUが符号化される場合、イントラ予測処理ユニット166は、PUの予測ブロックを生成するためにイントラ予測を実施し得る。イントラ予測処理ユニット166は、サンプル空間的隣接ブロックに基づいてPUの予測ブロックを生成するために、イントラ予測モードを使用し得る。イントラ予測処理ユニット166は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいてPUのためのイントラ予測モードを決定し得る。
【0211】
[0127] PUが、インター予測を使用して符号化される場合、エントロピー復号ユニット150は、PUのための動き情報を決定し得る。動き補償ユニット164は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット164は、1つまたは複数の参照ブロックに基づいて、PUのための予測ブロック(たとえば、予測ルーマブロック、予測Cbブロックおよび予測Crブロック)を生成し得る。
【0212】
[0128] 再構築ユニット158は、CUのためのコーディングブロック(たとえば、ルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロック)を再構築するために、適用可能なとき、CUのTUのための変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロック)、ならびにCUのPUの予測ブロック(たとえば、ルーマブロック、CbブロックおよびCrブロック)、すなわち、イントラ予測データまたはインター予測データのいずれかを使用し得る。たとえば、再構築ユニット158は、CUのコーディングブロック(たとえば、ルーマコーディングブロック、CbコーディングブロックおよびCrコーディングブロック)を再構築するために、変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロック)のサンプルを、予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロックおよびCr予測ブロック)の対応するサンプルに加算し得る。
【0213】
[0129] フィルタユニット160は、CUのコーディングブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング演算を実施し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ162に記憶し得る。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および
図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ162中のブロックに基づいて、他のCUのPUについてイントラ予測演算またはインター予測演算を実施し得る。
【0214】
[0130]
図8は、本開示の例示的な符号化方法を示すフローチャートである。ビデオエンコーダ22の1つまたは複数の構造構成要素は、
図8の技法を実施するように構成され得る。
【0215】
[0131]
図8の例では、ビデオエンコーダ22は、ビデオデータのブロックを受信すること(800)と、ビデオデータのブロックを符号化するためのイントラ予測モードを決定すること(802)と、少なくとも決定されたイントラ予測モードに基づいて、ビデオデータのブロックを符号化するためにPDPCモードを使用すべきか否かを決定すること(804)とを行うように構成され得る。一例では、PDPCを使用すべきか否かを決定するために、ビデオエンコーダ22は、イントラ予測モードが平面モードである場合、ビデオデータのブロックを符号化するためにPDPCモードを使用することを決定するようにさらに構成され得る。
【0216】
[0132]
図9は、本開示の例示的な復号方法を示すフローチャートである。ビデオデコーダ30の1つまたは複数の構造構成要素は、
図9の技法を実施するように構成され得る。
図9の例では、ビデオデコーダ30は、ビデオデータのブロック(900)と、ビデオデータのブロックのためのイントラ予測モードを決定すること(902)と、少なくとも決定されたイントラ予測モードに基づいて、ビデオデータのブロックを復号するためにPDPCモードを使用すべきか否かを決定すること(904)とを行うように構成され得る。
【0217】
[0133] 一例では、ビデオデコーダ30は、イントラ予測モードが平面モードである場合、ビデオデータのブロックを復号するためにPDPCモードを使用することを決定するように構成され得る。
【0218】
[0134] 別の例では、ビデオデコーダ30は、ビデオデータのブロックのために使用された1次変換または2次変換に関連するシンタックス要素を受信することと、シンタックス要素の値に基づいて1つまたは複数のビデオコーディングツールの使用を決定することと、1つまたは複数のビデオコーディングツールが1次変換または2次変換以外のビデオコーディング技法である、決定された使用に基づいて1つまたは複数のコーディングツールをビデオデータのブロックに適用することとを行うように構成され得る。
【0219】
[0135] 別の例では、ビデオデコーダ30は、決定されたイントラ予測モードと、ビデオデータのブロックのために使用された1次変換または2次変換に関連するシンタックス要素の値とに基づいて、ビデオデータのブロックを復号するためにPDPCを使用すべきか否かを決定するように構成され得る。
【0220】
[0136] 別の例では、ビデオデコーダ30は、ビデオデータのブロックのために使用された1次変換または2次変換に関連するシンタックス要素の値にかかわらず、イントラ予測モードが平面モードである場合、ビデオデータのブロックを復号するためにPDPCモードを使用することを決定するように構成され得る。一例では、1次変換は、DCT、DST、またはEMTのうちの1つである。別の例では、2次変換は、回転変換またはNSSTのうちの1つである。別の例では、1つまたは複数のビデオコーディングツールは、PDPCモード、MDIS、RSAF、ARSS、またはMPIのうちの1つまたは複数を含む。
【0221】
[0137] 別の例では、ビデオデコーダ30は、PDPCモードを使用することが決定された場合、決定されたイントラ予測モードとPDPCモードとを使用してビデオデータのブロックを復号すること、またはPDPCモードを使用することが決定されなかった場合、決定されたイントラ予測モードを使用し、PDPCモードを使用せずにビデオデータのブロックを復号することを行うように構成され得る。ビデオデコーダ30は、ビデオデータの復号されたブロックを出力するようにさらに構成され得る。
【0222】
[0138] 本開示のいくつかの態様は、説明の目的でHEVC規格の拡張およびJEMに関して説明された。ただし、本開示で説明された技法は、開発中またはまだ開発されていない他の規格またはプロプライエタリビデオコーディングプロセスを含む、他のビデオコーディングプロセスのために有用であり得る。
【0223】
[0139] 本開示で説明されたビデオコーダ(video coder)は、ビデオエンコーダ(video encoder)またはビデオデコーダ(video decoder)を指すことがある。同様に、ビデオコーディングユニット(video coding unit)は、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディング(video coding)は、適用可能なとき、ビデオ符号化またはビデオ復号を指すことがある。
【0224】
[0140] 上記例に応じて、本明細書で説明された技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実施され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明された行為またはイベントが本技法の実施のために必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実施され得る。
【0225】
[0141] 1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0226】
[0142] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0227】
[0143] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明された技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
【0228】
[0144] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされ得るか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【0229】
[0145] 様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、前記方法は、
ビデオデータのブロックを受信することと、
ビデオデータの前記ブロックのためのイントラ予測モードを決定することと、
少なくとも前記決定されたイントラ予測モードに基づいて、ビデオデータの前記ブロックを復号するために位置依存予測組合せ(PDPC)モードを使用すべきか否かを決定することと
を備える、方法。
[C2]
前記PDPCを使用すべきか否かを決定することは、
前記イントラ予測モードが平面モードである場合、ビデオデータの前記ブロックを復号するために前記PDPCモードを使用することを決定すること
を備える、C1に記載の方法。
[C3]
ビデオデータの前記ブロックのために使用された1次変換または2次変換に関連するシンタックス要素を受信することと、
前記シンタックス要素の値に基づいて1つまたは複数のビデオコーディングツールの使用を決定することと、前記1つまたは複数のビデオコーディングツールが前記1次変換または前記2次変換以外のビデオコーディング技法である、
前記決定された使用に基づいて、前記1つまたは複数のコーディングツールをビデオデータの前記ブロックに適用することと
をさらに備える、C1に記載の方法。
[C4]
前記1つまたは複数のビデオコーディングツールが前記PDPCモードを含み、前記方法が、
前記決定されたイントラ予測モードと、ビデオデータの前記ブロックのために使用された前記1次変換または前記2次変換に関連する前記シンタックス要素の前記値とに基づいて、ビデオデータの前記ブロックを復号するために前記PDPCを使用すべきか否かを決定すること
をさらに備える、C3に記載の方法。
[C5]
前記PDPCを使用すべきか否かを決定することは、
ビデオデータの前記ブロックのために使用された前記1次変換または前記2次変換に関連する前記シンタックス要素の前記値にかかわらず、前記イントラ予測モードが平面モードである場合、ビデオデータの前記ブロックを復号するために前記PDPCモードを使用することを決定すること
を備える、C4に記載の方法。
[C6]
前記1次変換が、離散コサイン変換(DCT)、離散サイン変換(DST)、または拡張複数変換(EMT)のうちの1つである、C3に記載の方法。
[C7]
前記2次変換が、回転変換または非分離可能2次変換(NSST)のうちの1つである、C3に記載の方法。
[C8]
前記1つまたは複数のビデオコーディングツールが、前記PDPCモード、モード依存イントラ平滑化(MDIS)、参照サンプル適応フィルタ処理(RSAF)、適応参照サンプル平滑化(ARSS)、またはマルチパラメータイントラ予測(MPI)のうちの1つまたは複数を含む、C3に記載の方法。
[C9]
前記シンタックス要素が、前記1次変換または前記2次変換に対するインデックスである、C3に記載の方法。
[C10]
前記シンタックス要素が、変換のセットに対するインデックスである、C3に記載の方法。
[C11]
前記PDPCモードを使用することが決定された場合、前記決定されたイントラ予測モードと前記PDPCモードとを使用してビデオデータの前記ブロックを復号すること、または
前記PDPCモードを使用することが決定されなかった場合、前記決定されたイントラ予測モードを使用し、前記PDPCモードを使用せずにビデオデータの前記ブロックを復号すること
をさらに備える、C1に記載の方法。
[C12]
ビデオデータの前記復号されたブロックを出力すること
をさらに備える、C11に記載の方法。
[C13]
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータのブロックを記憶するように構成されたメモリと、
前記メモリと通信している1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
ビデオデータの前記ブロックを受信することと、
ビデオデータの前記ブロックのためのイントラ予測モードを決定することと、
少なくとも前記決定されたイントラ予測モードに基づいて、ビデオデータの前記ブロックを復号するために位置依存予測組合せ(PDPC)モードを使用すべきか否かを決定することと
を行うように構成された、装置。
[C14]
前記PDPCを使用すべきか否かを決定するために、前記1つまたは複数のプロセッサは、
前記イントラ予測モードが平面モードである場合、ビデオデータの前記ブロックを復号するために前記PDPCモードを使用することを決定すること
を行うようにさらに構成された、C13に記載の装置。
[C15]
前記1つまたは複数のプロセッサは、
ビデオデータの前記ブロックのために使用された1次変換または2次変換に関連するシンタックス要素を受信することと、
前記シンタックス要素の値に基づいて1つまたは複数のビデオコーディングツールの使用を決定することと、前記1つまたは複数のビデオコーディングツールが前記1次変換または前記2次変換以外のビデオコーディング技法である、
前記決定された使用に基づいて、前記1つまたは複数のコーディングツールをビデオデータの前記ブロックに適用することと
を行うようにさらに構成された、C13に記載の装置。
[C16]
前記1つまたは複数のビデオコーディングツールが前記PDPCモードを含み、ここにおいて、前記1つまたは複数プロセッサが、
前記決定されたイントラ予測モードと、ビデオデータの前記ブロックのために使用された前記1次変換または前記2次変換に関連する前記シンタックス要素の前記値とに基づいて、ビデオデータの前記ブロックを復号するために前記PDPCを使用すべきか否かを決定すること
を行うようにさらに構成された、C15に記載の装置。
[C17]
前記PDPCを使用すべきか否かを決定するために、前記1つまたは複数のプロセッサは、
ビデオデータの前記ブロックのために使用された前記1次変換または前記2次変換に関連する前記シンタックス要素の前記値にかかわらず、前記イントラ予測モードが平面モードである場合、ビデオデータの前記ブロックを復号するために前記PDPCモードを使用することを決定すること
を行うようにさらに構成された、C16に記載の装置。
[C18]
前記1次変換が、離散コサイン変換(DCT)、離散サイン変換(DST)、または拡張複数変換(EMT)のうちの1つである、C15に記載の装置。
[C19]
前記2次変換が、回転変換または非分離可能2次変換(NSST)のうちの1つである、C15に記載の装置。
[C20]
前記1つまたは複数のビデオコーディングツールが、前記PDPCモード、モード依存イントラ平滑化(MDIS)、参照サンプル適応フィルタ処理(RSAF)、適応参照サンプル平滑化(ARSS)、またはマルチパラメータイントラ予測(MPI)のうちの1つまたは複数を含む、C15に記載の装置。
[C21]
前記シンタックス要素が、前記1次変換または前記2次変換に対するインデックスである、C15に記載の装置。
[C22]
前記シンタックス要素が、変換のセットに対するインデックスである、C15に記載の装置。
[C23]
前記1つまたは複数のプロセッサは、
前記PDPCモードを使用することが決定された場合、前記決定されたイントラ予測モードと前記PDPCモードとを使用してビデオデータの前記ブロックを復号すること、または
前記PDPCモードを使用することが決定されなかった場合、前記決定されたイントラ予測モードを使用し、前記PDPCモードを使用せずにビデオデータの前記ブロックを復号すること
を行うようにさらに構成された、C13に記載の装置。
[C24]
前記1つまたは複数のプロセッサが、
ビデオデータの前記復号されたブロックを出力すること
を行うようにさらに構成された、C23に記載の装置。
[C25]
ビデオデータを復号するように構成された装置であって、前記装置が、
ビデオデータのブロックを受信するための手段と、
ビデオデータの前記ブロックのためのイントラ予測モードを決定するための手段と、
少なくとも前記決定されたイントラ予測モードに基づいて、ビデオデータの前記ブロックを復号するために位置依存予測組合せ(PDPC)モードを使用すべきか否かを決定するための手段と
を備える、装置。
[C26]
実行されたとき、ビデオデータを復号するように構成されたデバイスの1つまたは複数のプロセッサに、
ビデオデータの前記ブロックを受信することと、
ビデオデータの前記ブロックのためのイントラ予測モードを決定することと、
少なくとも前記決定されたイントラ予測モードに基づいて、ビデオデータの前記ブロックを復号するために位置依存予測組合せ(PDPC)モードを使用すべきか否かを決定することと
を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
[C27]
ビデオデータを符号化する方法であって、前記方法は、
ビデオデータのブロックを受信することと、
ビデオデータの前記ブロックを符号化するためのイントラ予測モードを決定することと、
少なくとも前記決定されたイントラ予測モードに基づいて、ビデオデータの前記ブロックを符号化するために位置依存予測組合せ(PDPC)モードを使用すべきか否かを決定することと
を備える、方法。
[C28]
前記PDPCを使用すべきか否かを決定することは、
前記イントラ予測モードが平面モードである場合、ビデオデータの前記ブロックを符号化するために前記PDPCモードを使用することを決定すること
を備える、C27に記載の方法。
[C29]
ビデオデータを符号化するように構成された装置であって、前記装置は、
ビデオデータのブロックを記憶するように構成されたメモリと、
前記メモリと通信している1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
ビデオデータの前記ブロックを受信することと、
ビデオデータの前記ブロックを符号化するためのイントラ予測モードを決定することと、
少なくとも前記決定されたイントラ予測モードに基づいて、ビデオデータの前記ブロックを符号化するために位置依存予測組合せ(PDPC)モードを使用すべきか否かを決定することと
を行うように構成された、装置。
[C30]
前記PDPCを使用すべきか否かを決定するために、前記1つまたは複数のプロセッサは、
前記イントラ予測モードが平面モードである場合、ビデオデータの前記ブロックを符号化するために前記PDPCモードを使用することを決定すること
を行うようにさらに構成された、C29に記載の装置。