(57)【要約】  符号化ビデオデータを復号するための例示的なデバイスは、記憶媒体および処理回路構成を含む。記憶媒体は、符号化ビデオデータの一部分を記憶するように構成される。処理回路構成は、記憶媒体に記憶された符号化ビデオデータの一部分に対するブロックレベルしきい値を決定し、符号化ビデオデータの一部分の符号化ブロックが、しきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、符号化ブロックがしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、シンタックス要素が符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに適用されると決定し、コーディングツールに基づいて符号化ブロックを再構成するように構成される。
2019512965.tif 000002
【特許請求の範囲】
【請求項１】
符号化ビデオデータを復号するためのデバイスであって、
前記符号化ビデオデータの少なくとも一部分を記憶するように構成された記憶媒体と、
前記記憶媒体と通信している処理回路構成とを備え、前記処理回路構成が、
前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分に対するブロックレベルしきい値を決定し、
前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、
前記符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定し、
前記コーディングツールに基づいて前記符号化ブロックを再構成するように構成される、
デバイス。
【請求項２】
前記ブロックレベルしきい値が最小エリアを表し、前記処理回路構成が、
前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定し、
前記符号化ブロックが前記最小エリアに等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記受信されたシンタックス要素が前記符号化ブロックの各サブブロックに適用されると決定するようにさらに構成される、
請求項1に記載のデバイス。
【請求項３】
前記受信されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記処理回路構成が、
前記EMTフラグが有効状態に設定されていると決定し、
前記EMTフラグが前記有効状態に設定されていることに基づいて、前記符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号し、
EMTコーディングツールを使用して前記符号化ブロックを再構成するようにさらに構成される、
請求項2に記載のデバイス。
【請求項４】
前記符号化ブロックが、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラ予測またはインター予測のうちの少なくとも一方を備え、前記処理回路構成が、
前記1つまたは複数のサブブロックのいずれかが前記最大サブブロックエリアよりも小さいことに基づいて、前記サブブロックがイントラ予測またはインター予測のうちの一方のみを使用して再構成されるべきであると決定するようにさらに構成される、
請求項1に記載のデバイス。
【請求項５】
前記処理回路構成が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するようにさらに構成される、請求項1に記載のデバイス。
【請求項６】
前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項5に記載のデバイス。
【請求項７】
前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記処理回路構成が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するようにさらに構成される、請求項1に記載のデバイス。
【請求項８】
前記符号化ブロックが、前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記処理回路構成が、
前記実ブロックに対応する仮想ブロックに関する前記シンタックス要素を受信する代わりに、前記実ブロックに関する前記シンタックス要素を受信するようにさらに構成される、
請求項1に記載のデバイス。
【請求項９】
前記シンタックス要素を受信するために、前記処理回路構成が、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で前記シンタックス要素を受信するように構成される、請求項1に記載のデバイス。
【請求項１０】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータの少なくとも一部分を記憶するように構成された記憶媒体と、
前記記憶媒体と通信している処理回路構成とを備え、前記処理回路構成が、
前記記憶媒体に記憶された前記ビデオデータの前記一部分に対するブロックレベルしきい値を決定し、
前記記憶媒体に記憶された前記ビデオデータの前記一部分のブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、
符号化ブロックを形成するためにコーディングツールを使用して前記ブロックを符号化し、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの複数のサンプルのうちのすべてのサンプルが前記コーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化するように構成される、
デバイス。
【請求項１１】
前記ブロックレベルしきい値が最小サブブロックエリアを表し、前記処理回路構成が、
4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って前記符号化ブロックを複数のサブブロックに区分し、
前記符号化ブロックが前記最小サブブロックエリアに等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化シンタックス要素が前記符号化ブロックの各サブブロックに適用されると決定するようにさらに構成される、
請求項10に記載のデバイス。
【請求項１２】
前記符号化シンタックス要素が拡張多重変換(EMT)フラグを備え、前記処理回路構成が、
前記EMTフラグを有効状態に設定し、
前記符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを符号化するようにさらに構成される、
請求項11に記載のデバイス。
【請求項１３】
前記符号化ブロックが、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラコーディングまたはインターコーディングのうちの少なくとも一方を備え、前記処理回路構成が、
1つまたは複数の前記サブブロックのうちのそれぞれの任意のサブブロックが前記最大サブブロックエリアよりも小さいことに基づいて、イントラコーディングまたはインターコーディングのうちの一方のみを使用して前記それぞれのサブブロックを符号化するようにさらに構成される、
請求項10に記載のデバイス。
【請求項１４】
前記処理回路構成が、前記シンタックス要素がそれに対して符号化される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するようにさらに構成される、請求項10に記載のデバイス。
【請求項１５】
前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項14に記載のデバイス。
【請求項１６】
前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記処理回路構成が、前記シンタックス要素がそれに対して符号化される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するようにさらに構成される、請求項10に記載のデバイス。
【請求項１７】
前記符号化ブロックが、前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記処理回路構成が、
前記実ブロックに対応する仮想ブロックが前記ブロックレベルしきい値を満たすと決定し、
前記仮想ブロックが前記ブロックレベルしきい値を満たすことに基づいて、前記実ブロックに対応する前記仮想ブロックに関する前記符号化シンタックス要素をシグナリングする代わりに、前記実ブロックに関する前記符号化シンタックス要素をシグナリングするようにさらに構成される、
請求項10に記載のデバイス。
【請求項１８】
前記処理回路構成が、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で前記符号化シンタックス要素をシグナリングするようにさらに構成される、請求項10に記載のデバイス。
【請求項１９】
前記処理回路構成が、前記符号化ブロックのエリア、前記符号化ブロックの幅、または前記符号化ブロックの高さのうちの1つまたは複数に基づいて前記ブロックレベルしきい値を決定するようにさらに構成される、請求項10に記載のデバイス。
【請求項２０】
前記処理回路構成が、少なくとも部分的には前記コーディングツールおよび前記ブロックの一部分に関してビットレート最適化を実行することによって、前記ブロックを符号化する際に前記コーディングツールを適用すべきかどうかを決定するようにさらに構成される、請求項10に記載のデバイス。
【請求項２１】
前記処理回路構成が、前記符号化ブロックの個々のサンプルを再構成するために使用される前記コーディングツールを示すシンタックス要素をシグナリングすることを回避するようにさらに構成される、請求項10に記載のデバイス。
【請求項２２】
符号化ビデオデータを復号する方法であって、
前記符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するステップと、
前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するステップと、
前記符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するステップと、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定するステップと、
前記コーディングツールに基づいて前記符号化ブロックを再構成するステップと
を備える方法。
【請求項２３】
前記ブロックレベルしきい値が最小エリアを表し、前記方法が、
前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定するステップと、
前記符号化ブロックが前記最小エリアに等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記受信されたシンタックス要素が前記符号化ブロックの各サブブロックに適用されると決定するステップとをさらに備える、
請求項22に記載の方法。
【請求項２４】
前記受信されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記方法が、
前記EMTフラグが有効状態に設定されていると決定するステップと、
前記EMTフラグが前記有効状態に設定されていることに基づいて、前記符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号するステップと、
EMTコーディングツールを使用して前記符号化ブロックを再構成するステップとをさらに備える、
請求項23に記載の方法。
【請求項２５】
前記符号化ブロックが、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラ予測またはインター予測のうちの少なくとも一方を備え、前記方法が、
前記1つまたは複数のサブブロックのいずれかが前記最大サブブロックエリアよりも小さいことに基づいて、前記サブブロックがイントラ予測またはインター予測のうちの一方のみを使用して再構成されるべきであると決定するステップをさらに備える、
請求項22に記載の方法。
【請求項２６】
前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するステップをさらに備える、請求項22に記載の方法。
【請求項２７】
前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項26に記載の方法。
【請求項２８】
前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記方法が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するステップをさらに備える、請求項22に記載の方法。
【請求項２９】
前記符号化ブロックが、記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記方法が、
前記実ブロックに対応する仮想ブロックに関する前記シンタックス要素を受信する代わりに、前記実ブロックに関する前記シンタックス要素を受信するステップをさらに備える、
請求項22に記載の方法。
【請求項３０】
符号化ビデオデータを復号するための装置であって、
前記符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するための手段と、
記憶媒体に記憶された前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するための手段と、
前記符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するための手段と、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定するための手段と、
前記コーディングツールに基づいて前記符号化ブロックを再構成するための手段と
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、2016年3月22日に出願された米国仮特許出願第62/311,877号の利益を主張する。
【０００２】
本開示は、ビデオ符号化およびビデオ復号に関する。
【背景技術】
【０００３】
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などのビデオコーディング技法を実施する。ビデオデバイスは、そのようなビデオコーディング技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。ビデオコーディング規格は、そのスケーラブルビデオコーディング(SVC:Scalable Video Coding)拡張およびマルチビュービデオコーディング(MVC:Multi-view Video Coding)拡張を含む、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、およびITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。加えて、新たなビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)が、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC)によって最近開発されている。以下でHEVC WDと呼ばれる最新のHEVCドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。
【０００４】
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分されてよく、ビデオブロックは、ツリーブロック、コーディングユニット(CU:Coding Unit)、および/またはコーディングノードと呼ばれることもある。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間予測または時間予測は、コーディングされるべきブロックに対する予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらし得、残差変換係数は、次いで、量子化され得る。なお一層の圧縮を達成するために、エントロピーコーディングが適用されてよい。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第15/005,736号
【特許文献２】米国仮出願第62/234,644号
【特許文献３】米国仮出願第62/294,897号
【特許文献４】米国仮出願第62/323,496号
【特許文献５】米国仮出願第62/337,736号
【特許文献６】米国特許出願第15/270,455号
【特許文献７】米国特許出願第15/270,507号
【特許文献８】米国仮出願第62/234,645号
【特許文献９】米国特許出願第15/272,034号
【非特許文献】
【０００７】
【非特許文献１】HEVCドラフト仕様、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip
【非特許文献２】Sullivanら、「Overview of the High Efficiency Video coding (HEVC) Standard」IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1649〜1668、2012年12月
【非特許文献３】Kimら、「Block Partitioning Structure in the HEVC Standard」IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1697〜1705、2012年12月
【非特許文献４】Anら、「Block Partitioning Structure for Next Generation Video Coding」ITU-T SG16 Doc. COM16〜C966、2015年9月
【非特許文献５】「QTBT Software」2015年10月、https://vceg.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/branches/HM-13.0-QTBT/
【非特許文献６】「Algorithm Description of Joint Exploration Test Model 2」ITU-T SG16 WP 3とISO/IEC JTC 1/SC29/WG11との共同ビデオ探究部会(JVET)、第2回会合、サンディエゴ、米国、2016年2月20〜26日、文書番号JVET-B1001_v1
【発明の概要】
【課題を解決するための手段】
【０００８】
概して、本開示は、ビデオ符号化およびビデオ復号における1つまたは複数のコーディングツールの使用のための、ブロックレベルしきい値処理またはブロックレベル制約を使用するための技法について説明する。
【０００９】
一例では、符号化ビデオデータを復号するためのデバイスは、1つまたは複数の記憶媒体、および記憶媒体と通信している処理回路構成を含む。記憶媒体は、符号化ビデオデータの少なくとも一部分を記憶するように構成される。処理回路構成は、記憶媒体に記憶された符号化ビデオデータの一部分に対するブロックレベルしきい値を決定し、記憶媒体に記憶された符号化ビデオデータの一部分の符号化ブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルにシンタックス要素が適用されると決定し、コーディングツールに基づいて符号化ブロックを再構成するように構成される。
【００１０】
別の例では、ビデオデータを符号化するためのデバイスは、1つまたは複数の記憶媒体、および記憶媒体と通信している処理回路構成を含む。記憶媒体は、符号化ビデオデータの少なくとも一部分を記憶するように構成される。処理回路構成は、記憶媒体に記憶されたビデオデータの一部分に対するブロックレベルしきい値を決定し、記憶媒体に記憶されたビデオデータの一部分のブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、符号化ブロックを形成するためにコーディングツールを使用してブロックを符号化し、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの複数のサンプルのうちのすべてのサンプルがコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化するように構成される。
【００１１】
別の例では、本開示は、符号化ビデオデータを復号する方法を対象とする。方法は、符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するステップと、符号化ビデオデータの一部分の符号化ブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するステップと、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するステップとを含む。方法は、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルにシンタックス要素が適用されると決定するステップと、コーディングツールに基づいて符号化ブロックを再構成するステップとをさらに含む。
【００１２】
別の例では、本開示は、符号化ビデオデータを復号するための装置を対象とする。装置は、符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するための手段と、記憶媒体に記憶された符号化ビデオデータの一部分の符号化ブロックが、ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するための手段とを含む。装置は、符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するための手段と、符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化ブロックの中に含まれる複数のサンプルのうちのすべてのサンプルにシンタックス要素が適用されると決定するための手段とをさらに含む。装置は、コーディングツールに基づいて符号化ブロックを再構成するための手段をさらに含む。
【００１３】
1つまたは複数の例の詳細が、添付図面および以下の説明に記載される。他の特徴、目的、および利点は、説明および図面から、かつ特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】本開示の技法を実施するように構成された例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】本開示の技法によるCTU用のブロック区分構造の一例を示す概念図である。
【図３】QTBT区分構造によるブロック区分の一例を示す概念図である。
【図４Ａ】本開示の1つまたは複数の態様による、QTBT区分構造のさらなる例および詳細ならびに区分するための対応する木構造を示す概念図である。
【図４Ｂ】本開示の1つまたは複数の態様による、QTBT区分構造のさらなる例および詳細ならびに区分するための対応する木構造を示す概念図である。
【図５】本開示の技法を実施するように構成されたビデオエンコーダの一例を示すブロック図である。
【図６】本開示の技法を実施するように構成されたビデオデコーダの一例を示すブロック図である。
【図７】64×64のCTUのための本開示の例示的なコーディングツール関連フラグシグナリング技法を示す概念図である。
【図８】本開示の1つまたは複数の技法を実施するためにビデオ復号デバイスが実行し得る、例示的なプロセスを示すフローチャートである。
【図９】本開示の1つまたは複数の技法を実施するためにビデオ符号化デバイスが実行し得る、例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１５】
本開示は、一般に、ビデオコーディングツールのための制約付きブロックレベル最適化およびシグナリングのための技法に関する。本開示の態様はまた、HEVCの拡張または次世代のビデオコーディング規格などの、アドバンストビデオコーデックのコンテキストで使用され得る。次世代のビデオコーディング規格の態様は、ブロック区分方式を対象とする。そのような区分方式の一例は、4分木+2分木(QTBT:Quadtree Plus Binary Tree)ブロック区分構造である。QTBT構造によれば、ブロックは、1つまたは複数の再帰的なサイクルの間に、4分木構造に従って区分され得る。いくらかの程度の4分木ベース区分の後、区分されつつあるサブブロックが、QTBT区分構造の下で許容される最大2分木ルートノードサイズよりも大きくないエリアを有するという条件で、得られたサブブロック(たとえば、リーフノード)のうちの1つまたは複数が2分木構造に従ってさらに区分され得る。
【００１６】
4分木ブロック区分構造はHEVCに記載されており、様々なビデオコーディングツールのための基礎である。すなわち、様々な既存のコーディングツールの設計は、4分木区分を介して取得されたサブブロックに適用されることに対して最適化されている。4分木区分は、定義によれば、リーフノードとして正方形サブブロックを生み出す。したがって、様々な既存のコーディングツールの設計は、正方形サブブロックに対して最適化されている。しかしながら、QTBT区分方式の2分木態様は、QTBT区分されたブロックのリーフノードが正方形または正方形でない矩形であってよいという点で、リーフノード形状にフレキシビリティを持ち込む。したがって、様々な既存のコーディングツールの設計は、ブロックがQTBT区分構造に従って区分されるすべてのシナリオにおいて適用されるように最適化されているとは限らない。
【００１７】
本開示は、概して、QTBT区分を介して取得されたサブブロックに既存のコーディングツールを適用することから生じることがある非効率性を緩和または潜在的に解消する、ブロックサイズベースの制約を対象とする。いくつかの例では、本開示の技法は、様々なコーディングツール関連動作に対して(たとえば、最小ブロックサイズの形式で)ブロックレベルしきい値を設定する。本開示の技法に従ってブロックレベルしきい値を設定することによって、ビデオ符号化デバイスおよびビデオ復号デバイスは、やはりQTBT区分構造を実施するとともにQTBT区分構造によってもたらされる利点を利用しながら、これらのコーディングツールによってもたらされる利点を活用し得る。
【００１８】
たとえば、QTBTにおけるコーディングツールは、特定のサイズのブロックに対してコーディング利得がもたらされ得るが、他のサイズのブロックの場合、シグナリングオーバーヘッドが非常に大きいことがあり、QTBTの利点を相殺する。ブロックレベルしきい値の使用を伴うと、シグナリングオーバーヘッドがコーディング利得を無効にする可能性を小さくしながら、QTBTにとって利用可能なコーディング利得が活用され得る。
【００１９】
図1は、本開示の技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを提供するソースデバイス12を含む。詳細には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレットコンピュータ、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイスであってよい。ソースデバイス12は、例示的なビデオ符号化デバイス(すなわち、ビデオデータを符号化するためのデバイス)である。宛先デバイス14は、例示的なビデオ復号デバイス(すなわち、ビデオデータを復号するためのデバイス)である。
【００２０】
図1の例では、ソースデバイス12は、ビデオソース18、ビデオデータを記憶するように構成された記憶媒体20、ビデオエンコーダ22、および出力インターフェース24を含む。宛先デバイス14は、入力インターフェース26、符号化ビデオデータを記憶するように構成された記憶媒体28、ビデオデコーダ30、およびディスプレイデバイス32を含む。他の例では、ソースデバイス12および宛先デバイス14は、他の構成要素または構成を含む。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイス32を含むのではなく、外部ディスプレイデバイスとインターフェースしてよい。
【００２１】
図示した図1のシステム10は一例にすぎない。ビデオデータを処理および/またはコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスまたはビデオ復号デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためのコード化ビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、ソースデバイス12および宛先デバイス14は、ソースデバイス12および宛先デバイス14の各々がビデオ符号化および復号構成要素を含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ソースデバイス12と宛先デバイス14との間での一方向または双方向のビデオ送信をサポートし得る。
【００２２】
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータで生成されたビデオとの組合せを生成し得る。ソースデバイス12は、ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体(たとえば、記憶媒体20)を備え得る。本開示で説明する技法は、ビデオコーディングに概して適用可能であり得、ワイヤレスおよび/または有線の適用例に適用され得る。各場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオが、ビデオエンコーダ22によって符号化され得る。出力インターフェース24が、符号化されたビデオ情報をコンピュータ可読媒体16に出力し得る。
【００２３】
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。いくつかの例では、コンピュータ可読媒体16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14へリアルタイムで直接送信することを可能にする通信媒体を備える。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調されてよく、宛先デバイス14へ送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレスまたは有線の通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含み得る。宛先デバイス14は、符号化ビデオデータおよび復号ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。
【００２４】
いくつかの例では、符号化データは、出力インターフェース24から記憶デバイスに出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに相当し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶するとともにその符号化ビデオデータを宛先デバイス14へ送信することが可能な、任意のタイプのサーバであってよい。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに適した両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであってよい。
【００２５】
本開示で説明する技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されているデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートする際にビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２６】
コンピュータ可読媒体16は、ワイヤレスブロードキャストもしくは有線ネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化ビデオデータを受信してよく、符号化ビデオデータを宛先デバイス14に提供してよい。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスが、ソースデバイス12から符号化ビデオデータを受信してよく、符号化ビデオデータを含むディスクを製造してよい。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解されてよい。
【００２７】
宛先デバイス14の入力インターフェース26は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ(GOP:Groups of Pictures)の特性および/または処理を記述するシンタックス要素を含む、ビデオエンコーダ22によって規定されるとともにビデオデコーダ30によって同様に使用されるシンタックス情報を含み得る。記憶媒体28は、入力インターフェース26によって受信された符号化ビデオデータを記憶し得る。ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
【００２８】
ビデオエンコーダ22およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、処理回路構成(固定機能回路構成および/またはプログラマブル処理回路構成を含む)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な好適なエンコーダ回路構成のいずれかとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶してよく、本開示の技法を実行するための1つまたは複数のプロセッサを使用してハードウェアで命令を実行してよい。ビデオエンコーダ22およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。
【００２９】
いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、ビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、限定はしないが、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、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、およびITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。加えて、新たなビデオコーディング規格、すなわち、そのレンジ拡張およびスクリーンコンテンツコーディング拡張、3Dビデオコーディング(3D-HEVC)およびマルチビュー拡張(MV-HEVC)、ならびにスケーラブル拡張(SHVC)を含む、高効率ビデオコーディング(HEVC)またはITU-T H.265が、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディング共同研究部会(JCT-VC)によって最近開発されている。次世代ビデオコーディング規格が、その後のITU-H.265の確定に向けて本開示の時点において開発中である。
【００３０】
HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと表される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書で「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであってよく、ルーマサンプルのアレイしか含まなくてもよい。
【００３１】
ピクチャの符号化表現を生成するために、ビデオエンコーダ22は、コーディングツリーユニット(CTU:Coding Tree Unit)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、CTUは、単一のコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU:Largest Coding Unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックに概して類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含んでよい。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のCTUを含み得る。
【００３２】
本開示は、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用することがある。例示的なタイプのビデオユニットは、CTU、CU、PU、変換ユニット(TU:Transform Unit)、マクロブロック、マクロブロック区分などを含み得る。いくつかのコンテキストでは、PUの説明はマクロブロックまたはマクロブロック区分の説明と交換されてよい。例示的なタイプのビデオブロックは、コーディングツリーブロック、コーディングブロック、およびビデオデータの他のタイプのブロックを含み得る。
【００３３】
コード化CTUを生成するために、ビデオエンコーダ22は、CTUのコーディングツリーブロック上で4分木区分を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割してよく、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャのルーマサンプルのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロック、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、CUは、単一のコーディングブロック、およびコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。
【００３４】
ビデオエンコーダ22は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU:Prediction Unit)は、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、PUは、単一の予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。ビデオエンコーダ22は、CUの各PUの予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)に対して、予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成し得る。
【００３５】
ビデオエンコーダ22は、イントラ予測またはインター予測を使用して、PU用の予測ブロックを生成し得る。ビデオエンコーダ22がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ22は、PUを含むピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。
【００３６】
ビデオエンコーダ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コーディングブロックの中の対応するサンプルとの間の差分を示し得る。しかしながら、クロマ予測用の他の技法が使用され得ることを理解されたい。
【００３７】
さらに、ビデオエンコーダ22は、4分木区分を使用して、CUの残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解し得る。変換ブロックとは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および変換ブロックサンプルを変換するために使用されるシンタックス構造を備え得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUのルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別個のカラープレーンを有するピクチャでは、TUは、単一の変換ブロック、および変換ブロックのサンプルを変換するために使用されるシンタックス構造を備え得る。
【００３８】
ビデオエンコーダ22は、1つまたは複数の変換をTUの変換ブロックに適用して、TUに対して係数ブロックを生成し得る。たとえば、ビデオエンコーダ22は、1つまたは複数の変換をTUのルーマ変換ブロックに適用して、TUに対してルーマ係数ブロックを生成し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ22は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUに対してCb係数ブロックを生成し得る。ビデオエンコーダ22は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUに対してCr係数ブロックを生成し得る。
【００３９】
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ22は、係数ブロックを量子化し得る。量子化とは、概して、変換係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ22が係数ブロックを量子化した後、ビデオエンコーダ22は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ22は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。
【００４０】
ビデオエンコーダ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個のビットを含む。
【００４１】
ビデオデコーダ30は、ビデオエンコーダ22によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームを構文解析してビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ22によって実行されるプロセスの逆であってよい。たとえば、ビデオデコーダ30は、PUの動きベクトルを使用して、現在CUのPUに対する予測ブロックを決定し得る。加えて、ビデオデコーダ30は、現在CUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在CUのTUの変換ブロックを再構成し得る。ビデオデコーダ30は、現在CUのPUに対する予測ブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
【００４２】
以下は、HEVCにおけるブロック区分構造について説明する。HEVC規格(ITU-T H.265およびISO/IEC23008-2、2013年1月)、ならびにSullivanらによる「Overview of the High Efficiency Video coding (HEVC) Standard」、IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1649〜1668、2012年12月、およびKimらによる「Block Partitioning Structure in the HEVC Standard」、IEEE Trans. Circuits and Systems for Video Technology、Vol. 22、No. 12、pp. 1697〜1705、2012年12月では、各ピクチャはコーディングツリーユニット(CTU)に分割され、コーディングツリーユニット(CTU)は、特定のタイルまたはスライスに対してラスタ走査順序でコーディングされる。CTUは、正方形ブロックであり、4分木すなわちコーディングツリーのルートを表す。CTUサイズは、8×8から64×64までのルーマサンプルにわたり得る。64×64サイズが多くの事例で使用され、典型的な使用事例と見なされてよい。CTUは、様々な局所的な特性に適応させるために、コーディングツリーとして表される4分木構造を使用することによって、コーディングユニット(CU)に区分される。ビデオエンコーダ22および/またはビデオデコーダ30は、CUレベルにおいてピクチャエリアを、インターピクチャ(時間)予測を使用してコーディング(たとえば、それぞれ、符号化または復号)するのか、それともイントラピクチャ(空間)予測を使用してコーディング(たとえば、それぞれ、符号化または復号)するのかを決定し得る。2N×2Nサイズの各CUは、PU分割タイプに従って、1つの2N×2N、2つの2N×NもしくはN×2N、または4つのN×Nの予測ユニット(PU)にさらに分割され得る。1つのPUの内側のすべてのサンプルに対して同じ予測プロセスが適用され、ビデオエンコーダ22は、関連する情報をPUごとにビデオデコーダ30にシグナリング(たとえば、送信)し得る。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後、CUは、別の4分木構造に従って変換ユニット(TU)に区分され得る。
【００４３】
以下は、4分木+2分木(QTBT)ブロック区分構造について説明する。Anらによる「Block Partitioning Structure for Next Generation Video Coding」ITU-T SG16 Doc. COM16〜C966、2015年9月、およびhttps://vceg.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/branches/HM-13.0-QTBT/から入手可能な「QTBT Software」2015年10月では、4分木+2分木ブロック区分構造が提案されている。提案されるQTBT構造によれば、CTU(または、Iスライスに対する「CTB」)は、4分木のルートノードであり、4分木によって最初に区分され、ここで、1つのノードの4分木分割は、ノードが最小許容4分木リーフノードサイズ(MinQTSize)に到達するまで反復され得る。4分木リーフノードサイズが最大許容2分木ルートノードサイズ(MaxBTSize)よりも大きくない場合、4分木リーフノードは、2分木区分構造に従ってさらに区分され得る。1つのノードの2分木分割は、どちらが最初に起こっても、ノードが最小許容2分木リーフノードサイズ(MinBTSize)に到達するまで、または反復的な区分が最大許容2分木深度(MaxBTDepth)に到達するまで反復され得る。2分木リーフノードとは、これ以上の区分を伴わずに予測(たとえば、イントラピクチャ予測またはインターピクチャ予測)および変換のために使用されるCU(または、Iスライスに対する「CB」)としての、名称または用語である。
【００４４】
2分木区分または分割によれば、2つの分割タイプ、すなわち、対称水平分割および対称垂直分割がある。QTBT区分構造の一例では、CTUサイズは128×128(すなわち、4:2:0クロマフォーマットを想定すると、128×128のルーマサンプルおよび2つの対応する64×64のクロマサンプル)として設定され、MinQTSizeは16×16として設定され、MaxBTSizeは64×64として設定され、MinBTSizeは(幅と高さの両方に対して)4として設定され、MaxBTDepthは4として設定される。最初に4分木区分がCTUに適用されて、4分木リーフノードを生成する。4分木リーフノードは、16×16(すなわち、MinQTSize)から128×128(すなわち、CTUサイズ)までのサイズを有し得る。リーフ4分木ノードは、128×128というサイズである場合、サイズがMaxBTSize(すなわち、64×64)を上回るので、2分木構造に従ってこれ以上分割されない。そうでない場合、リーフ4分木ノードは、2分木区分構造に従ってさらに区分され得る。
【００４５】
したがって、4分木リーフノードはまた、2分木のためのルートノードであり、2分木深度が0である。2分木深度がMaxBTDepth(すなわち、4)に到達するとき、そのことは、さらなる分割が実行されないことを暗示する。すなわち、MaxBTDepth値に等しい2分木深度値を有するノードは、QTBT区分構造の2分木区分部分の下で許容される反復の最大数にわたって実行されている2分木分割の生成物である。2分木ノードがMinBTSize(すなわち、4)に等しい幅を有するとき、そのことは、さらなる水平分割が実行されないことを暗示する。同様に、2分木ノードがMinBTSizeに等しい高さを有するとき、そのことは、さらなる垂直分割が実行されないことを暗示する。2分木のリーフノードとは、すなわち、これ以上の区分を伴わずに予測および変換によってさらに処理されたCUである。
【００４６】
図2は、HEVCによるCTU40用のブロック区分の一例を示す概念図である。図2の例では、CTU40は64×64のCTUを表す。図2の凡例42に示すように、実線の境界線はCU境界線を示し、破線の境界線はTU境界線を示し、点線の境界線はPU境界線を示す。
【００４７】
図3は、QTBT区分構造によるブロック区分の一例を示す概念図である。たとえば、図3の左は、ブロック44(たとえば、CTU0であってよい)に関するQTBTブロック区分方式を示す。図3の右は、対応する木構造を(たとえば、記号表または凡例46の形態で)示す。凡例46に示すように、図3における実線は4分木ベース分割を示し、点線は2分木ベース分割を示す。2分木ベース分割の分割ノード(すなわち、非リーフノード)ごとに、ビデオエンコーダ22は、どの分割タイプ(すなわち、水平または垂直)が使用されるのかを示すために1つのフラグをシグナリングし得る。フラグに関して、0という値は水平分割を示し、1という値は垂直分割を示す。4分木ベース分割の場合、常にブロックを水平かつ垂直に分割して等しいサイズの4つのサブブロックにするので、分割タイプを示す必要がない。
【００４８】
Iスライスに対して、ビデオエンコーダ22および/またはビデオデコーダ30は、QTBT区分構造に従ってルーマクロマ分割ブロッキング区分構造を使用し得る。たとえば、ビデオエンコーダ22および/またはビデオデコーダ30は、QTBT構造を使用して、1つのCTUのルーマ成分(たとえば、ルーマCTB)を区分してルーマCBにしてよく、別のQTBT構造を使用して、そのCTUの2つの対応するクロマ成分(たとえば、2つの対応するクロマCTB)を区分してクロマCBにしてよい。PスライスおよびBスライスに対して、ルーマおよびクロマのためのブロック区分構造は共有される。すなわち、PスライスまたはBスライスに対して、1つのCTU(ルーマとクロマの両方を含む)が、1つのQTBT構造によってCUに区分される。QTBTブロック区分構造において、変換サイズおよび予測サイズは、ノードを区分する各リーフブロックにおいて常に適用され、サイズはまた、リーフノードブロックサイズと位置合わせされる。このようにして、QTBT区分構造は、CU、PU、およびTUを分離するという概念を潜在的に排除し得る。代わりに、QTBT区分構造によれば、CU、PU、およびTUは、1つのブロックを形成するように統合される。QTBT区分構造によれば、統合されたブロックは、4分木(QT)ノードブロックまたは2分木(BT)ノードブロックであり得る。
【００４９】
図4Aおよび図4Bは、QTBT区分構造のさらなる例および詳細を示す概念図である。図4Aは、QTBT区分技法を使用して区分されたブロック50(たとえば、CTB)の一例を示す。図4Aに示すように、QTBT区分技法によれば、得られたブロックの各々は、各ブロックの中央を通って対称的に分割される。図4Bは、図4Aのブロック区分に対応する木構造を示す。図4Bにおける実線はQTベース分割を示し、破線はBTベース分割を示す。一例では、2分木の各分割ノード(すなわち、非リーフノード)において、ビデオエンコーダ22は、実行される分割のタイプを示すために、シンタックス要素(たとえば、フラグ)をシグナリングし得、ここで、0は水平分割を示し、1は垂直分割を示す。4分木分割の場合、4分木分割が常にブロックを水平かつ垂直に分割してサイズが等しく正方形形状の4つのサブブロックにするので、分割タイプを示す必要がない。
【００５０】
図4Bに示すように、ノード70において、ブロック50は、QT区分を使用して、図4Aに示す4つのブロック51、52、53、および54に分割される。ブロック54はこれ以上分割されず、したがって、リーフノードである。ノード72において、ブロック51は、BT区分を使用して2つのブロックにさらに分割される。図4Bに示すように、ノード72には、垂直分割を示す1がつけられている。すなわち、ビデオエンコーダ22は、ノード72に対して、垂直BTベース分割を示す1という値を有するフラグをシグナリングし得る。したがって、ノード72における分割は、ブロック57、およびブロック55と56の両方を含むブロックをもたらす。ブロック55および56は、ノード74におけるさらなる垂直分割によって作成される(ノード74において1を用いて示すように)。ノード76において、ブロック52は、BT区分を使用して2つのブロック58および59にさらに分割される。図4Bに示すように、ノード76には、水平分割を示す0がつけられている。
【００５１】
ノード78において、ブロック53は、QTベース区分を使用して4つの等しいサイズのブロックに分割される。ブロック63および66は、このQTベース区分から作成され、これ以上分割されない。ノード80において、左上のブロックが垂直2分木分割を使用して最初に分割されて、ブロック60および右の垂直ブロックをもたらす(ノード80において1を用いて示すように)。右の垂直ブロックは、次いで、水平2分木分割を使用して分割されて、ブロック61および62になる(ノード82において0を用いて示すように)。ノード78において4分木分割から作成された右下のブロックは、ノード84において水平BTベース分割を使用して分割されて、ブロック64および65になる(ノード84において0を用いて示すように)。
【００５２】
HEVCにおいて採用されている離散コサイン変換(DCT)-IIおよび4×4離散サイン変換(DST)-VIIに加えて、インターコード化ブロックとイントラコード化ブロックの両方に対する残差コーディングのために、拡張多重変換(「EMT」、または適応多重変換(AMT:Adaptive Multiple Transform)とも呼ばれる)方式が使用される。AMT方式は、HEVCに記載されている現在の変換以外のDCT/DSTファミリーから選択された複数の変換を利用する。新たに導入される変換行列は、DST-VII、DCT-VIII、DST-I、およびDCT-Vである。
【００５３】
AMT方式は、64×64よりも小さいCUに適用される。ビデオエンコーダ22は、CUにAMTが適用されるかどうかを示すためのフラグを符号化およびシグナリングし得る。ビデオデコーダ30において、AMTが適用されるか否かは、ビデオエンコーダ22によってシグナリングされるCUレベルフラグの値によって制御される。すなわち、ビデオデコーダ30において、CUレベルフラグの値は、フラグがそれに対して受信されるCU内のすべての変換ユニット(TU)に対するAMT適用可能性を制御する。ビデオエンコーダ22は、残差を符号化するためにCUにおいてDCT-Iが適用されることを示すために、CUレベルフラグの値を0に等しくなるように設定し得る。AMT対応CU内のTUごとに、ビデオエンコーダ22は、ビデオデコーダ30において使用/適用されるべき水平変換および垂直変換を識別するための、2つの追加フラグを符号化およびシグナリングし得る。ビデオエンコーダ22によってシグナリングされたCUレベルフラグを受信すると、ビデオデコーダ30は、フラグの値が0に等しい場合、フラグが適用されるCUのすべてのTUを復号するためにDCT-IIが適用されるべきであると決定し得る。ビデオデコーダ30は、CUに関して受信された2つの追加フラグを使用して、CUを復号する際に適用すべき水平変換および垂直変換を識別し得る。
【００５４】
イントラ残差コーディングの場合、異なるイントラ予測モードの異なる残差統計量に起因して、ビデオエンコーダ22および/またはビデオデコーダ30は、モード依存の変換候補選択プロセスを使用し得る。3つの変換サブセットが下のTable 1(表1)に示すように定義されており、変換サブセットは、下のTable 2(表2)で指定されるようにイントラ予測モードに基づいて選択される。
【表１】
2019512965.tif 000003
【００５５】
サブセットの概念を用いると、ビデオデコーダ30は、受信されたCUレベルフラグの値が1に等しいとき、最初にTUごとにイントラ予測モードを使用して(下の)Table 2(表2)に基づいて変換サブセットを識別し得る。次に、水平変換および垂直変換の各々に対して、イントラ予測モードを仮定すると、ビデオデコーダ30は、下のTable 2(表2)に従って変換サブセットを選択し得る。次に、上のTable 1(表1)に従って、ビデオデコーダ30は、ビデオエンコーダ22から受信された、明示的にシグナリングされた変換インデックスを使用して、選択された変換サブセットの中から変換コアをさらに識別し得る。
【表２】
2019512965.tif 000004
【００５６】
しかしながら、インター予測残差の場合、ビデオエンコーダ22および/またはビデオデコーダ30は、すべてのインターモードに対して、また水平変換と垂直変換の両方に対して、DST-VIIおよびDCT-VIIIからなる1つの変換セットのみを使用し得る。ビデオエンコーダ22がいわゆる「ブルータルフォース(brutal-force)探索」を使用する場合は、全体として5つ(DCT-II、および4つの多重変換候補)の異なる変換候補が、残差ブロックごとにレートひずみコストを用いて評価される必要があり得るので、AMTの計算量は、潜在的にエンコーダ側において(たとえば、ビデオエンコーダ22において)比較的大きいことになる。ビデオエンコーダ22におけるこの計算量問題を緩和するために、いくつかの最適化方法が、共同探究モデル(JEM:Joint Exploration Model)におけるアルゴリズムアクセラレーション用に設計される。JEMとは、次世代ビデオコーディング技術の探究のためのビデオコーデックプラットフォームである。JEMのさらなる態様が、「Algorithm Description of Joint Exploration Test Model 2」、ITU-T SG16 WP 3とISO/IEC JTC 1/SC29/WG11との共同ビデオ探究部会(JVET)、第2回会合、サンディエゴ、米国、2016年2月20〜26日、文書番号JVET-B1001_v1に記載されている。
【００５７】
上記で説明した既存の技法は、1つまたは複数の潜在的な問題を生じる。いくつかの既存のコーディングツール、たとえば、EMT(2016年1月25日に出願された米国特許出願第15/005,736号に記載されている)、非分離可能2次変換(「NSST」、2015年9月29日に出願された米国仮出願第62/234,644号、2016年2月12日に出願された第62/294,897号、2016年4月15日に出願された第62/323,496号、および2016年5月17日に出願された第62/337,736号、ならびに2016年9月20日に出願された米国特許出願第15/270,455号、および2016年9月20日に出願された第15/270,507号に記載されている)、および位置依存型予測合成(「PDPC」、2015年9月29日に出願された米国仮出願第62/234,645号、および2016年9月21日に出願された米国特許出願第15/272,034号に記載されている)において、イントラ予測が適用されるのかそれともインター予測が適用されるのかを識別するときのCUレベルシグナリングが、HEVCに記載されるブロック区分構造の上に開発され、これらのコーディングツールは、CUレベル、PUレベル、またはTUレベルにおいて最適化およびシグナリングされる。
【００５８】
しかしながら、これらのコーディングツールに対する最適化は、QTBTベース区分のすべての事例に適するとは限らないことがある。たとえば、これらのコーディングツールのうちの1つまたは複数をQTBT区分構造の上に適用するとき、最適化は、各QTブロックノードまたは各BTブロックノードにおいて実行されることがあり、そうしたブロックノードは4×4と同じくらい小さいことがある。したがって、コーディングツールを適用することは、(必ずしもすべての場合においてではないが)準最適解であり得る。たとえば、HEVCベースのブロック区分に対して最適化されるときに、QTBT区分されたブロックに対してコーディングツールを適用することは、小さいブロックサイズに対して潜在的に大きすぎるオーバーヘッドである著しいオーバーヘッドをシグナリングが使用し得るので、準最適解を表すことがある。
【００５９】
HEVCベースのブロック区分構造におけるいくつかの制約が、QTBTにおいて放棄されている。たとえば、HEVCベースのブロック区分によれば、CUは、すべてのイントラブロックまたはすべてのインターブロックのいずれかを使用してコーディング(たとえば、ビデオエンコーダ22によって符号化および/またはビデオデコーダ30によって復号)されてよく、CUは8×8よりも小さくない。しかしながら、QTBT区分構造によれば、単一の8×8ブロックでさえ、イントラコード化ブロックとインターコード化ブロックとの混合を有し得る。小さいブロック(たとえば、次元が8×8よりも小さいブロック)の場合、QTBTにおけるこのフレキシビリティは、ブロックがイントラモードによってコーディングされるのか、それともインターモードによってコーディングされるのかをビデオデコーダ30に示すために、ビデオエンコーダ22が著しい数のビットをシグナリングすることを必要とし得る。シグナリングされるビット(すなわち、「シグナリングビット」)の数は、いくつかの事例では、ブロックノードのサイズを考慮に入れると多すぎることがある。QTBTを用いると、コーディングツールは、常にQTブロックノードまたはBTブロックノードにおいて最適化およびシグナリングされ、そうしたブロックノードは、画像の変化する統計量に適応しないことがある。
【００６０】
本開示の態様は、上記で説明した潜在的な問題のうちの1つまたは複数を緩和および/または解決することを対象とする。本開示は以下の技法について説明し、以下の技法は本開示の様々な部分において「方法」と呼ばれることもある。ビデオエンコーダ22、ビデオデコーダ30、およびそれらの様々な構成要素(たとえば、様々な添付図面に示す構成要素)などの、本明細書で説明する様々なデバイスが、本明細書で説明する方法を実行するように構成されることが諒解されよう。以下の項目別方法は、個別にまたは代替として適用されてよく、本開示のビデオコーディングデバイスは、以下の方法の任意の組合せを実行し得る。
【００６１】
本開示のいくつかの技法によれば、ビデオエンコーダ22および/またはビデオデコーダ30は、ブロック分割ベースの区分構造がブロックのために適用されるシナリオの場合、1つまたは複数のコーディングツールに関してブロックレベルしきい値を規定し得る。本明細書で使用する「コーディングツール」とは、いくつかのブロックレベルにおいてオンまたはオフに切り替えられてよい、特定のコーディング方法、技法、またはモードである。たとえば、コーディングツールが適用されるブロックがHEVC4分木構造またはQTBT構造に従って区分されるべき場合、ビデオエンコーダ22およびビデオデコーダ30は、イントラ予測、インター予測、インタースキップ、変換シグナリング、拡張多重変換(EMT:Enhanced Multiple Transform)、イントラ予測が提供されるのかそれともインター予測が適用されるのかを識別するときにシグナリングする非分離可能2次変換(NSST:Non-Separable Secondary Transform)、または位置依存型予測合成(PDPC:Position-Dependent Prediction Combination)のうちの1つまたは複数などのコーディングツールを適用するとき、ブロックレベルしきい値を実施し得る。ビデオエンコーダ22は、適用可能なコーディングツールを最適化し得、適用可能なコーディングツールに対して所定のブロックレベルしきい値を満たすかまたはそれを上回るブロック用のコーディングに関連する、1つまたは複数のシンタックス要素をシグナリングし得る。ビデオエンコーダ22は、ビデオエンコーダ22および/またはビデオデコーダ30が予測および変換をそこで適用するブロックサイズとはしきい値が異なるようなブロックレベルしきい値を設定し得る。
【００６２】
本開示の技法のいくつかの実装形態では、ビデオエンコーダ22および/またはビデオデコーダ30は、ブロックレベルしきい値がそれぞれのブロックの寸法として表現され得るように、ブロックレベルしきい値を設定し得る。例として、ブロックレベルしきい値は、ブロックエリアサイズ、またはブロックの幅および高さのいくつかの組合せのうちの、1つまたは複数として表現され得る。たとえば、ビデオエンコーダ22は、EMTコーディングツールに関して256というブロックエリアベースしきい値を設定し得る。すなわち、ビデオエンコーダ22は、エリアに換算して少なくとも256ピクセルをカバーするブロックにEMTベースコーディングを適用し得る。この例では、ビデオエンコーダ22は、256エリアしきい値を満たすかまたはそれを上回るブロックに対してブロック全体にわたってEMTフラグおよびインデックスが適用されるような、EMTフラグおよびEMTインデックスを符号化およびシグナリングし得る。すなわち、256ピクセルブロックがHEVC4分木構造に従ってまたはQTBT構造に従ってさらに区分されても、EMTフラグの値は、256ピクセルブロックのすべてのサブブロックに適用される。QTBT区分構造によれば、バイナリ区分は、256ピクセルがさらに区分された後にのみ適用可能になり得る。すなわち、ブロックがHEVC4分木区分に従って分割されるのか、それともQTBT区分構造に従って分割されるのかにかかわらず、256ピクセルブロックは正方形のフォームファクタを有し得る。
【００６３】
この実装形態では、ビデオエンコーダ22は、ブロックにわたってビットレート最適化を適用することによって、256ピクセルブロックがEMTを使用して符号化されるべきか否かを決定し得る。すなわち、ビデオエンコーダ22は、しきい値サイズのブロックのサブブロックのすべてにわたってビットレート最適化を実行することによって、(EMTを実施するかまたは実施しないという)2つのオプションの間で選択し得る。ビデオエンコーダ22が、ブロック全体のビットレート最適化の結果に基づいて、256ピクセルブロックにわたってEMTが適用されるべきであると決定する場合、ビデオエンコーダ22は、EMTフラグを「有効」状態に(たとえば、フラグの値を1という値に設定することによって)符号化し得る。ビデオエンコーダ22が、ビットレート最適化動作に基づいて、EMTフラグが有効状態に設定(たとえば、1という値に設定)されるべきであると決定する場合、ビデオエンコーダ22は、256ピクセルブロック全体に対してEMTフラグを1という値に設定し得る。すなわち、ビデオエンコーダ22は、256ピクセルブロック全体に対して単一のEMTフラグを符号化してよく、EMTフラグの値を1に設定してよい。次に、EMTフラグが256ピクセルブロック全体に対して1という値を有することに基づいて、ビデオエンコーダ22は、256ピクセルブロックのサブブロックごとにそれぞれのEMTインデックス値を符号化およびシグナリングし得る。
【００６４】
コーディングツールに関するブロックレベルしきい値処理技法のいくつかの例では、ビデオエンコーダ22は、ブロックサイズ寸法以外の基準に基づいてブロックレベルしきい値を設定し得る。たとえば、ビデオエンコーダ22は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)基準のうちの1つまたは複数に基づいて、ブロックレベルしきい値を設定し得る。すなわち、ブロックレベルしきい値は、上記の基準のうちの1つまたは複数に基づいて変化してよい。
【００６５】
代替として、いくつかの実装形態では、ビデオエンコーダ22は、それぞれ、以前に符号化されたCTU、スライス、タイル、ピクチャ、またはGOPの符号化情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOPごとにブロックレベルしきい値を更新し得る。ビデオエンコーダ22が以前に符号化された情報を使用してブロックレベルしきい値を変更するいくつかの事例では、ビデオエンコーダ22は、たとえば、ブロックサイズごとに予測および/または変換が何回実行されているのかという計数に基づいて、ブロックレベルを設定し得る。いくつかの例では、ビデオエンコーダ22は、ブロックレベルしきい値をデフォルト値に設定し得る。デフォルト値の例は、限定はしないが、64または256という値を含む。いくつかの例では、ビデオエンコーダ22は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、ブロックレベルしきい値をシグナリングし得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオエンコーダ22は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオエンコーダ22は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
【００６６】
いくつかの例では、ビデオエンコーダ22は、しきい値が適用されるブロックに対してアウトオブバンドでブロックレベルしきい値をシグナリングし得る。たとえば、ビデオエンコーダ22は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)などの、1つまたは複数のシンタックス構造の中で、ブロックレベルしきい値をシグナリングし得る。ブロックレベルしきい値を(たとえば、適用可能な符号化ブロックに対してインバンドであるのか、それともアウトオブバンドであるのかにかかわらず)受信すると、ビデオデコーダ30は、符号化ブロックに対して逆の(デコーダ側の)コーディングツールを適用するための条件として、ブロックレベルしきい値を使用し得る。EMTの適用のためのブロックエリアベースしきい値に関して上記で説明した実装形態では、ビデオデコーダ30は、シグナリングされたブロックレベルしきい値エリアを満たすかまたはそれを上回るブロックに、受信された任意のEMTフラグを適用し得る。たとえば、(たとえば、スライスヘッダ、VPS、PPS、またはSPSの中で)受信されたブロックレベルしきい値エリアが256ピクセルのエリアを反映する場合、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックに、受信された任意のEMTフラグを適用し得る。
【００６７】
たとえば、ビデオデコーダ30は、有効状態に(たとえば、1という値に)設定されているEMTフラグを受信し得る。EMTフラグの有効状態に基づいて、ビデオデコーダ30は、EMTフラグが適用される、エリアの中の少なくとも256ピクセルをカバーするブロックの復号に関して、EMTコーディングツールを活動化させてよい。すなわち、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックのすべてのサブブロックに関して、EMTコーディングツールを活動化させてよい。次に、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックの各サブブロックに関する個々のEMTインデックスを受信し得る。受信された各EMTインデックス値に基づいて、ビデオデコーダ30は、EMTコーディングツールを使用して、EMTが活動化されているブロックの各サブブロックを再構成し得る。このようにして、ビデオエンコーダ22およびビデオデコーダ30は、サブブロックを取得するために使用される区分方式にかかわらず、個々のサブブロックごとにEMTフラグを必要とする代わりに、しきい値ブロックレベルにおいてEMTフラグを活用することによって、本開示の技法によるEMTフラグシグナリングに対する必要性を緩和し得る。
【００６８】
このようにして、ビデオエンコーダ22およびビデオデコーダ30は、QTBT区分に対応するためのコーディングツールの最適化においていかなる変更も必要とすることなく既存のコーディングツールを適用するために、本開示のブロックレベルしきい値処理技法を実施し得る。EMTフラグなどのコーディングツールベースのシンタックス要素は、HEVC4分木区分構造によるCUレベルにおいてシグナリングされる。HEVC準拠CUはサイズを変更できるが、8×8次元を下回らない。しかしながら、QTBT区分構造により、時には最大4つのサブブロックに分割される程度まで、8×8ブロックがさらに区分されることが可能になる。したがって、QTBT区分構造のために既存のコーディングツール(たとえば、EMT、PDPCなど)の最適化を拡張することは、フラグコーディングを4倍にすることになる。したがって、ビデオエンコーダ22が、HEVC4分木区分されたブロックに対して単一のフラグを符号化およびシグナリングすることを必要とされていることになる場合、ビデオエンコーダ22は、QTBT区分されたブロックに対して4つのフラグを符号化およびシグナリングすることを必要とされることになる。同様に、ビデオデコーダ30が、HEVC4分木区分されたブロックに対して単一のフラグを受信および処理することを必要とされていることになる場合、ビデオデコーダ30は、QTBT区分されたブロックに対して4つのフラグを受信および処理することを必要とされることになる。
【００６９】
EMTフラグのためのブロックエリアベースしきい値処理の例によって図示したように、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、計算量および帯域幅消費を4倍に増やすことなく、QTBT区分されたブロックに関して(EMTなどの)HEVC最適化されたコーディングツールを活用し続けることが可能になる。すなわち、本開示のブロックエリアベースしきい値処理技法により、ブロックがQTBT区分構造に従って区分されても、ビデオエンコーダ22およびビデオデコーダ30が、正方形の256ピクセルブロックに対して単一のフラグを処理することが可能になる。このようにして、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、より最近のQTBTブロック区分構造を活用しながら、既存のHEVC最適化されたコーディングツールを使用することが可能になる。すなわち、本開示の技法により、QTBT区分構造のための変更を必要とすることなく、既存の(HEVC最適化された)コーディングツールの継続した使用が可能になる。たとえば、本開示で説明するようにブロックレベルしきい値を使用することにより、必ずしもコーディングツールへの変更を必要とすることなく(コーディングツールへの変更は可能であるが)、コーディングツールがQTBT区分構造を用いて使用されることが可能になる。
【００７０】
本開示のいくつかの態様によれば、ビデオエンコーダ22および/またはビデオデコーダ30は、イントラコーディングのみがそこで適用されるか、またはインターコーディングのみがそこで適用される、最低ブロックレベルを決定するために、ブロックレベルしきい値を適用し得る。たとえば、ビデオエンコーダ22は、サイズベースのブロックレベルしきい値に基づいて、イントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを指定し得る。たとえば、ビデオエンコーダ22は、ブロックレベルしきい値以下においてイントラコーディングとインターコーディングとの混合が許容されないことを示してよく、または指定してよい。すなわち、ビデオエンコーダ22は、しきい値エリアに等しいかまたはそれよりも小さいエリアを有するブロックのすべてのサブブロックに、インターコーディングのみか、またはイントラコーディングのみを適用してよい(ただし、両方の組合せは適用し得ない)。言い換えれば、ブロックがエリアしきい値以内にある場合、ビデオエンコーダ22は、サブブロックを形成するために使用される区分構造にかかわらず、ブロックのすべてのサブブロックを符号化するために、すべてのサブブロックにイントラコーディングを適用し得るか、またはインターコーディングを適用し得るかのいずれかである。ブロックエリアに関して説明するが、ビデオエンコーダ22が、いくつかの例では、ブロック幅および/またはブロック高さなどの他のサイズ寸法に基づいてブロックレベルしきい値を決定およびシグナリングし得ることが諒解されよう。したがって、ブロックエリアという用語は、ブロック幅および/またはブロック高さを考慮に入れると、エリアに基づくサイズ、およびサイズを含む。ブロックエリアという用語は、サイズの2次元の尺度に限定されるものと見なされるべきでなく、単一の寸法(たとえば、幅および/または高さ)も含む。
【００７１】
いくつかの例では、ビデオエンコーダ22は、CTU基準、スライス基準、タイル基準、ピクチャ基準、またはピクチャグループ(GOP)基準のうちの1つまたは複数に基づいて、ブロックレベルしきい値を変更してよい。追加として、イントラコーディングとインターコーディングとの任意の混合を許容または拒否するために、ビデオエンコーダ22がブロックレベルしきい値を適用する様々な例では、ビデオエンコーダ22は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)の中などの、対応するブロックに対してアウトオブバンドでブロックレベルしきい値をシグナリングし得る。
【００７２】
代替として、ビデオエンコーダ22は、それぞれ、以前に符号化されたCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTUごと、スライスごと、タイルごと、ピクチャごと、またはGOPごとのうちの1つまたは複数で、ブロックレベルしきい値を更新し得る。たとえば、ビデオエンコーダ22は、ブロックサイズごとに予測および/または変換が何回実行されているのかという計数に基づいて、ブロックレベルしきい値を更新し得る。いくつかの代替では、ビデオエンコーダ22は、ブロックレベルしきい値を64または256などのデフォルト値に設定し得る。いくつかの例では、ビデオエンコーダ22は、スライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、ブロックレベルしきい値をシグナリングし得る。
【００７３】
イントラコーディングまたはインターコーディング決定のためのブロックレベルしきい値処理のいくつかの実装形態では、ブロックレベルしきい値更新は随意であってよい。たとえば、ビデオエンコーダ22は、ブロックレベルしきい値に関係する情報を提供するために、(既存のフラグである)「存在」フラグをシグナリングし得る。たとえば、ビデオエンコーダ22は、ブロックレベルしきい値がデフォルトのしきい値レベルまたはデフォルト値に設定されていることを示すために、フラグを0値に設定し得る。ブロックレベルしきい値がデフォルト値に設定されている場合には、ビデオエンコーダ22は、(PPS、SPS、またはVPSの中などの)より上位の構造レベルにおいて、ブロックレベルしきい値を随意にシグナリングし得る。一方、ビデオエンコーダ22は、ブロックレベルしきい値が直接シグナリングされるまたはされることになる(is or will be signaled)ことを示すために、存在フラグの値を1という値に設定し得る。いくつかの事例では、ブロックレベルしきい値を直接シグナリングするために、ビデオエンコーダ22は、レベルがデフォルト値に等しい任意の場合を除外することによって、シグナリングされる値を調整し得る。
【００７４】
いくつかの例では、ビデオエンコーダ22は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、ブロックレベルしきい値をシグナリングし得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオエンコーダ22は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオエンコーダ22は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
【００７５】
いくつかの事例では、ビデオエンコーダ22は、ブロックレベルしきい値以下にあるブロックに対するイントラコーディングとインターコーディングとの間での選択に対して、1つまたは複数の例外を実施し得る。すなわち、(イントラのみまたはインターのみのブロックのためのブロックレベルしきい値処理に対する例外を形成する)いくつかのシナリオでは、ビデオエンコーダ22は、ブロックレベルしきい値以下にあるブロックのサブブロックを符号化するために、イントラコーディングとインターコーディングの両方を使用し得る。いくつかのそのようなシナリオでは、ビデオエンコーダ22が、インターのみまたはイントラのみの選択に対して例外を設けるように構成される場合、ビデオエンコーダ22は、ブロックのそれぞれのサブブロックに対してイントラコーディングとインターコーディングとの混合が許容されるかどうかを示すために、ブロックレベルしきい値以内にあるブロック用のフラグを符号化およびシグナリングし得る。たとえば、ビデオエンコーダ22は、特定の対応するブロックに対してイントラコーディングとインターコーディングとの混合が許容されないことを示すために、フラグを0という値に設定し得る。この例では、ビデオエンコーダ22は、対応するブロックのサブブロックのコーディングに関してインターコーディングとイントラコーディングとの混合が許容されることを示すために、フラグを1という値に設定し得る。イントラコーディングとインターコーディングとの混合がブロックに関して許可されるか否かを示すためにビデオエンコーダ22が符号化およびシグナリングし得るフラグは、そのフラグがH.264および/またはHEVCなどの既存のビデオコーディング規格において指定されるシンタックス要素に対して追加のシンタックス要素を表すという点で、新たなフラグを表し得る。
【００７６】
ビデオエンコーダ22が、イントラコーディングまたはインターコーディングのみがそこで適用され得る最低ブロックレベルを決定するために、ブロックレベルしきい値処理を使用する例では、ビデオデコーダ30は、ブロックのサブブロックを再構成するために、ブロックレベルしきい値を使用して、イントラコーディングまたはインターコーディングのみがそこで適用され得る最低ブロックレベルを決定するための逆の動作を実施し得る。たとえば、ビデオデコーダ30は、ビデオエンコーダ22によって指定されるサイズベースのブロックレベルしきい値に基づいて、イントラコーディングまたはインターコーディングのみがそこで適用されるべき最小ブロックレベルを決定し得る。たとえば、ビデオデコーダ30は、ビデオエンコーダ22によってシグナリングされたビットストリームの中に含まれるデータに基づいて、ブロックレベルしきい値以下にあるブロックに対してイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。すなわち、ビデオデコーダ30は、しきい値エリアに等しいかまたはそれよりも小さいエリアを有する符号化ブロックのすべてのサブブロックを再構成するために、インターコーディングのみ、またはイントラコーディングのみを適用してよい(ただし、両方の組合せは適用し得ない)。ビデオエンコーダ22がブロックエリアとしてブロックレベルしきい値を指定する例では、ブロックがエリアしきい値以内にある場合、ビデオデコーダ30は、サブブロックを形成するために使用される区分構造にかかわらず、ブロックのすべてのサブブロックを再構成するためにイントラコーディングを適用し得るか、またはブロックのすべてのサブブロックを再構成するためにインターコーディングを適用し得るかのいずれかである。ブロックエリアに関して説明するが、ビデオデコーダ30が、いくつかの例では、ブロック幅および/またはブロック高さなどの他のサイズ寸法に基づいてブロックレベルしきい値を決定し得ることが諒解されよう。
【００７７】
いくつかの例では、ビデオデコーダ30は、CTU基準、スライス基準、タイル基準、ピクチャ基準、またはGOP基準のうちの1つまたは複数に基づいて、ブロックレベルしきい値の変化を検出し得る。追加として、様々な例では、ビデオデコーダ30は、ブロックに適用可能なスライスヘッダ、PPS、VPS、またはSPSの中などの、対応するブロックに関してアウトオブバンドで受信されるシンタックス構造からブロックレベルしきい値を取得し得る。いくつかの例では、ビデオデコーダ30は、スライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存するビットストリーム情報に基づいて、ブロックレベルしきい値を決定し得る。
【００７８】
イントラコーディングまたはインターコーディング決定のためのブロックレベルしきい値処理のいくつかの実装形態では、ブロックレベルしきい値更新は随意であってよい。たとえば、ビデオデコーダ30は、ブロックレベルしきい値に関係する情報を決定するために、(既存のフラグである)「存在」フラグを受信および処理し得る。たとえば、ビデオデコーダ30は、フラグの0値を復元して、ブロックレベルしきい値がデフォルトのしきい値レベルまたはデフォルト値に設定されていると決定し得る。ブロックレベルしきい値がデフォルト値に設定される場合には、ビデオデコーダ30は、いくつかのシナリオでは、ビットストリームの(PPS、SPS、またはVPSの中などの)より上位の構造レベル内で、ブロックレベルしきい値を受信し得る。一方、ビデオデコーダ30は、存在フラグの値が1という値に設定されている場合、ブロックレベルしきい値が直接受信されるまたはされることになる(is or will be received)と決定し得る。
【００７９】
ビデオデコーダ30がフラグを受信しない場合、ビデオデコーダ30は、フラグの値が0であると推測してよい。すなわち、ブロックに関してフラグが受信されない場合は、ビデオデコーダ30は、ブロックレベルしきい値がデフォルト値に設定されていると決定してよく、したがって、関連するコーディングツールをブロックに適用することに関するしきい値ブロックレベルとして、デフォルト値を使用してよい。いくつかの事例では、ビデオデコーダ30は、シグナリングされる値が、レベルがデフォルト値に等しい任意の場合を除外するような、調整された値を受信し得る。
【００８０】
いくつかの例では、ビデオデコーダ30は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存する値として、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオデコーダ30は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオデコーダ30は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分を表すのか、それともクロマ成分を表すのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
【００８１】
いくつかの事例では、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックに対するイントラコーディングとインターコーディングとの間での選択に対して、1つまたは複数の例外を実施し得る。すなわち、(イントラのみまたはインターのみのブロックのためのブロックレベルしきい値処理に対する例外を形成する)いくつかのシナリオでは、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックの符号化サブブロックを再構成するために、イントラコーディングとインターコーディングの両方を使用し得る。いくつかのそのようなシナリオでは、ビデオデコーダ30がインターのみまたはイントラのみの選択に対して例外を設けるように構成される場合、ビデオデコーダ30は、ブロックレベルしきい値以内にある符号化ブロック用の(ビデオエンコーダ22によってシグナリングされたビットストリームの中に含まれる)フラグを、受信および再構成し得る。フラグの値は、ブロックのそれぞれのサブブロックを再構成することに関してイントラコーディングとインターコーディングとの混合が許可されるかどうかを示し得る。たとえば、ビデオデコーダ30は、フラグが0という値に設定されている場合、特定の対応するブロックに対してイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。この例では、ビデオデコーダ30は、ブロックの様々なサブブロックを再構成するために、イントラコーディングのみ、またはインターコーディングのみを使用してよい(ただし、両方の組合せは使用し得ない)。この実装形態によれば、ビデオデコーダ30が、フラグが1という値に設定されていると決定する場合、ビデオデコーダ30は、対応するブロックのサブブロックの再構成に関してインターコーディングとイントラコーディングとの混合が許容されると決定し得る。ブロックを再構成することに関してイントラコーディングとインターコーディングとの混合が許可されるか否かを決定するためにビデオデコーダ30が受信および再構成し得るフラグは、そのフラグがH.264および/またはHEVCなどの既存のビデオコーディング規格において指定されるシンタックス要素に対して追加のシンタックス要素を表すという点で、新たなフラグを表し得る。
【００８２】
いくつかの例では、ビデオエンコーダ22および/またはビデオデコーダ30は、1つまたは複数のコーディングツールの最適化に対してブロックレベル制約を実施し得るが、しきい値を満たすかまたはしきい値を上回るブロックがイントラコード化サブブロックとインターコード化サブブロックとの混合を含む場合は、制約を除去してよい。たとえば、PDPCやNSSTなどのいくつかのコーディングツールは、HEVCによるイントラコーディングのみに対して最適化される。EMTは、インターコーディングとイントラコーディングの両方に対して最適化され、したがって、EMTインターおよび/またはEMTイントラとして実施され得る。いくつかのコーディングツールは、HEVCによるインターコーディングのみに対して最適化される。したがって、コーディング最適化に対するブロックレベル制約の除去は、イントラコード化サブブロックとインターコード化サブブロックの両方を含むブロックの場合には、任意のそのようなコーディングツールに適用可能である。
【００８３】
たとえば、EMTコーディングツールが、所与のブロックに対してEMTイントラまたはEMTインターのいずれかとして実施されるので、ブロックレベルしきい値は、EMTコーディングツールがEMTイントラまたはEMTインターのいずれかとして適用されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてEMTコーディングツールの使用を妨害し得る。同様に、ブロックレベル制約は、PDPCツールおよびNSSTツールの各々がイントラコード化ブロックに対して最適化されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてPDPCツールまたはNSSTツールの使用を妨害し得る。このようにして、ビデオエンコーダ22およびビデオデコーダ30は、コーディングツールを適用してQTBT区分構造に対応するためにブロックレベル制約を実施し得るが、コーディングツールのイントラのみまたはインターのみの最適化を活用するために、インターコード化サブブロックとイントラコード化サブブロックとの混合を含むブロックの場合に制約を除去し得る。
【００８４】
本開示のいくつかの技法によれば、ビデオエンコーダ22は、1つまたは複数のコーディングツール用の情報をシグナリングすることに関して、ブロックレベルしきい値処理を実施し得る。一実装形態では、ビデオエンコーダ22は、ビデオエンコーダ22によって適用されるか、またはビデオエンコーダ22にとって利用可能な、すべてのコーディングツール用の情報をシグナリングすることに関して、単一のブロックレベルしきい値を使用し得る。たとえば、ビデオエンコーダ22は、少なくともしきい値ブロックレベルにあるブロックのみに対して、単一のEMTフラグ、または単一のPDPCフラグ、または単一のNSSTフラグをシグナリングし得る。すなわち、この実装形態では、ブロックレベルしきい値は、ブロックを符号化するためにビデオエンコーダ22がどのコーディングツールを使用するのかにかかわらず、静的な値を有する。
【００８５】
コーディングツールシグナリングのためのブロックレベルしきい値処理の別の実装形態では、ビデオエンコーダ22は、コーディングツールごとに、コーディングツール用の個々のブロックレベルしきい値を使用し得る。たとえば、ビデオエンコーダ22は、第1のしきい値レベルを満たすブロックのみに対してEMTフラグを、第2のしきい値レベルを満たすブロックのみに対してPDPCフラグを、また第3のしきい値レベルを満たすブロックのみに対してNSSTフラグをシグナリングし得る。
【００８６】
本開示のいくつかの例によれば、ビデオエンコーダ22およびビデオデコーダ30は、任意の所与の時間において、単一のブロック用の単一のコーディングツールに対して、固有のブロックレベルしきい値を適用し得る。たとえば、ブロックレベルしきい値(シンタックスシグナリングがそこで実行され得る最小ブロックレベルを表すしきい値)を満たすかまたはそれを上回るブロックは、オーバーラップなしにピクチャフレームを構成し得る。たとえば、この実装形態によれば、ビデオエンコーダ22およびビデオデコーダ30は、区分が、ブロックレベルしきい値よりも小さい少なくとも1つのサブブロックをもたらすことになる場合、いかなるブロックもこれ以上区分しなくてよい。すなわち、ビデオエンコーダ22およびビデオデコーダ30は、しきい値レベルサイズを有する2つ以上のブロックの中に、より小さいサブブロックを含めなくてよい。
【００８７】
ビデオエンコーダ22は、いくつかのシナリオでは、いわゆる「仮想ブロック」をシグナリングし得る。より詳細には、仮想ブロックをシグナリングするとき、ビデオエンコーダ22は、ブロックを形成する符号化データのサブセットのみをシグナリングしてよい。たとえば、仮想ブロックをシグナリングする際、ビデオエンコーダ22は、ブロックの符号化ビデオデータに関するいくつかのシンタックス要素のみをグループ化およびシグナリングしてよい。仮想ブロックとは対照的に、「実ブロック」とは、ビデオエンコーダ22が符号化情報の完全なセットをそれに対してシグナリングする、ビデオデータの符号化ブロックを表す。
【００８８】
本開示のいくつかの技法によれば、ビデオエンコーダ22は、仮想ブロックがコーディングツール情報のシグナリングに対してしきい値サイズを満たすことを検出し得る。いくつかのそのようなシナリオでは、ビデオエンコーダ22は、仮想ブロックが実ブロックとして適格である(すなわち、仮想ブロックおよび対応する実ブロックが同じ単一のブロックである)と決定し得る。たとえば、ブロックがこれ以上分割されず、したがって、(そのサイズがしきい値サイズを満たすかまたはそれを上回る)実ブロックが最終ブロックであるとビデオエンコーダ22が決定する場合、ビデオエンコーダ22は、そのようなシナリオを検出し得る。この場合、ビデオエンコーダ22は、通例、仮想ブロックに関して実行される任意のシグナリングを、条件付けおよび/または延期してよい。代わりに、ビデオエンコーダ22は、代わりに実ブロックに関する仮想ブロック情報をシグナリングし得る。
【００８９】
いくつかのシナリオにおいて代わりに実ブロックに関する仮想ブロック情報をシグナリングするための本開示の技法を実施することによって、ビデオエンコーダ22は、いくつかの場合において潜在的なビットレート改善をもたらし得る。たとえば、いくつかの予測モードのみに対してシンタックスシグナリングが行われる場合は、仮想ブロックのためのシグナリングに関して、特定の予測モードがビデオエンコーダ22にとって利用可能でないことがある。そのようなシナリオでは、ビデオエンコーダ22は、分割フラグの値、およびしきい値サイズに等しい(または、それよりも大きい)ブロックサイズを、仮想ブロックに対するシグナリングの条件とし得る。対応する実ブロックがこれ以上分割されないこと、およびブロックサイズが少なくともしきい値サイズに等しいことを、ビデオエンコーダ22が検出する場合、ビデオエンコーダ22は、実ブロックが最終であると決定し得る。したがって、ビデオエンコーダ22は、本開示の技法を実施して、通例、仮想ブロックの一部としてシグナリングされるシンタックス要素のシグナリングが、後で行われてよく、また単に実ブロックに関してシグナリングされてよいと決定し得る。
【００９０】
ビデオエンコーダ22は、シグナリングが、(互いに区別される)得られたサブブロックの組合せが仮想ブロックのサイズにおいて可能であるかどうかに依存するような、この条件付きシンタックスシグナリングを実行し得る。たとえば、イントラ予測モードおよびインター予測モードを使用して符号化されつつあることに基づいてサブブロックが区別される場合、ビデオエンコーダ22は、シグナリングがスライスタイプに依存するような条件付きシグナリングを実施し得る。ブロックがIスライスの中に含まれる場合には、インター予測はブロックの符号化のためのオプションでない。したがって、ブロックがIスライスの中に含まれる場合には、ビデオエンコーダ22は、条件付きシグナリングが必要とされないと決定し得る。
【００９１】
本開示の条件付きシグナリング技法の一例が、PDPCコーディングツールに関して本明細書で説明される。ビデオデータのブロックを符号化する際のPDPCコーディングツールの適用は、ビデオエンコーダ22が本開示の条件付きシグナリング態様を実施してビットレート改善をもたらし得る1つまたは複数の例を提供する。いくつかの事例では、ビデオデコーダ30は、ピクチャ境界における分割フラグを推測し得る。たとえば、ビデオエンコーダ22が、ブロックがピクチャ境界を越えるほど十分に大きいと決定する場合、ビデオエンコーダ22は、分割フラグをシグナリングしなくてよい。この例では、ビデオデコーダ30は、大きいブロックが分割されると推測し得る。すなわち、ビデオエンコーダ22は、ブロックが越えるピクチャ境界において分割フラグをシグナリングすることを回避するために、条件付きシグナリングを実施し得る。この場合、ビデオデコーダ30は、ピクチャ境界におけるブロック分割を推測するように構成され得る。
【００９２】
本開示の条件付きシグナリング技法の一例が、PDPCコーディングツールに関して以下で説明される。本開示のブロックレベルしきい値を満たすかまたはそれを上回るブロックに対して、ブロックがPDPCコーディングツールを使用して符号化される場合、ビデオエンコーダ22は、有効状態においてPDPCフラグ(「PDPC使用フラグ」とも呼ばれる)をシグナリングし得、1つまたは複数のPDPCインデックス(または、「PDPCインデックス値」)を随意にシグナリングし得る。有効状態に設定されたPDPCフラグを受信すると、ビデオデコーダ30は、(サブブロックを取得するために使用される区分方式にかかわらず)しきい値サイズのブロックのあらゆるサブブロックがPDPCコーディングツールを使用して再構成されるべきであると推測し得る。すなわち、ビデオデコーダ30は、より小さいサブブロックに対するPDPCフラグ値が、しきい値レベル以上にあるもっと大きいブロックに対して受信された単一のPDPCフラグ値に等しいと推測し得る。一例では、ビデオエンコーダ22およびビデオデコーダ30は、PDPCコーディングツールを使用して符号化および復号されるべきルーマ成分ブロックのために、64サンプルに等しいしきい値レベルを使用し得る。
【００９３】
上記で説明したように、本開示による条件付きシグナリングのいくつかの事例では、ビデオエンコーダ22は、しきい値ブロックサイズを満たすかまたはそれを上回るブロックに対してPDPCフラグおよびインデックスをシグナリングすることを条件付けてよく、それにより回避してよい。より詳細には、ビデオエンコーダ22は、ブロックがさらに分割されるかどうかという決定を、PDPCフラグおよび/またはインデックスのシグナリングの条件としてよい。すなわち、ビデオエンコーダ22が、ブロックがこれ以上分割されないと決定する場合、ビデオエンコーダ22は、ブロック用のPDPCフラグまたは任意のPDPCインデックスをシグナリングしなくてよい。代わりに、ブロックがこれ以上分割されない場合には、ビデオエンコーダ22は、既存のPDPCシグナリング技法によって提供されるシグナリング配置に従って行われるPDPCシグナリングを実行し得る。すなわち、ビデオエンコーダ22が、ブロックがこれ以上分割されないと決定する場合、ビデオエンコーダ22は、予測モードが構文解析され利用可能となった後、任意のPDPC情報をシグナリングし得る。
【００９４】
上記で説明したように、PDPCは、イントラ予測モードに対して最適化されているコーディングツールである。したがって、ビデオエンコーダ22は、インター予測されるいかなるブロックまたはサブブロックに対しても、PDPCコーディングツールを適用しなくてよい。ビデオエンコーダ22が条件付きシグナリングを実施しない場合は、ビデオエンコーダ22は、ブロックがこれ以上分割されず、したがって、いかなるインターコード化サブブロックも含まないという条件で、しきい値サイズに等しいかまたはそれよりも大きいブロック用のPDPC情報をシグナリングし得る。再び、ブロックがインターコード化サブブロックを含む場合、PDPC情報は必要とされなくてよく、したがって、サブブロックレベルのPDPC情報のシグナリングは、不必要なビットがシグナリングされることに起因するビットレート消耗を引き起こすことがある。
【００９５】
ビデオエンコーダ22はまた、予測パラメータを示すために2つ以上のフラグを使用するバージョンのPDPCを適用する事例に、本開示の条件付きシグナリング技法を拡張し得る。そのような一例は、ブロック形状ごとかつ予測モードごとの、パラメータの4つのセットを利用するPDPCバージョンである。ビデオエンコーダ22は、符号化されるべき、または代替として、継承および共有されるべきフラグの数を規定するために、ブロックサイズに対して異なるしきい値を実施し得る。このようにして、ビデオエンコーダ22は、フラグコーディングオーバーヘッドが比較的小さくてよいもっと高いツリーレベルにおいて、より多数のPDPCパラメータオプションを利用し得る。一方、ビデオエンコーダ22は、フラグ当りの相対的なオーバーヘッドがより大きいもっと低いツリーレベルにおいて、より少数のPDPCパラメータオプション(できる限り単一オプションと同じくらい少ない)しか使用しなくてよい。
【００９６】
本開示のいくつかの例では、ビデオエンコーダ22は、単一のしきい値を使用する代わりに、ビデオエンコーダ22がシンタックスシグナリング決定のためのテーブルベース規則をそれによって使用し得る別の拡張を実施し得る。本開示のテーブルベースのシンタックスシグナリング決定技法の1つの場合には、ビデオエンコーダ22は、テーブルエントリがブロック区分の幅および/または高さを含むテーブルを使用し得る。この例では、テーブル要素は、区分形状が4分木ベース区分の結果であるのか、それともQTBTベース区分の結果であるのかにかかわらず、関連する区分形状から導出される区分にとって有効であるシンタックスシグナリング修正を伴うリストを表し得る。
【００９７】
いくつかの例では、ビデオエンコーダ22およびビデオデコーダ30は、上記で説明したようなコーディングツールのためのブロックレベルしきい値処理の代替として、ブロック分解プロセスにおける実際のブロックに対応しないブロックレベルしきい値を代わりに実施し得る。これらの例では、ブロックを分割することが、ブロックレベルしきい値未満である2つのサブブロック(BT区分)または4つのサブブロック(QT区分)サブブロックをもたらす場合、ビデオエンコーダ22は、得られたサブブロックサイズにおいてコーディングツール関連シンタックス要素をシグナリングし得る。そのようなサブブロックベースのブロックレベルしきい値の一例は392、すなわち、2のべき乗でない任意のしきい値サイズである。いくつかの事例では、ビデオエンコーダ22は、浮動小数点値であるサブブロックベースのブロックレベルしきい値を使用してもよい。
【００９８】
本開示のいくつかの例によれば、ビデオエンコーダ22は、ブロックサイズがブロックレベルしきい値と同じかまたはそれよりも小さいことをビデオエンコーダ22が検出するまさに最初のインスタンスにおいて、コーディングツール関連シンタックス要素(たとえば、EMTフラグ)をシグナリングし得る。ブロックに対してコーディングツール関連シンタックス要素がシグナリングされると、ビデオエンコーダ22は、ブロックのさらなる分割から得られるいかなるサブブロックに対しても、対応するコーディングツール関連シンタックス要素をシグナリングしなくてよい。すなわち、これらの例によれば、ビデオエンコーダ22は、ブロックが所定のブロックレベルしきい値以下にあると決定すると、ブロックの最初のサブブロックに関するコーディングツール関連シンタックス要素(たとえば、EMTフラグ)をシグナリングし得る。
【００９９】
図5は、本開示の技法を実施し得る例示的なビデオエンコーダ22を示すブロック図である。図5は、説明のために提供され、本開示において広く例示および説明されるような技法の限定と見なされるべきでない。本開示の技法は、様々なコーディング規格または方法に適用可能であり得る。
【０１００】
図5の例では、ビデオエンコーダ22は、予測処理ユニット100、ビデオデータメモリ101、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構成ユニット112、フィルタユニット114、復号ピクチャバッファ116、およびエントロピー符号化ユニット118を含む。予測処理ユニット100は、インター予測処理ユニット120およびイントラ予測処理ユニット126を含む。インター予測処理ユニット120は、動き推定ユニットおよび動き補償ユニット(図示せず)を含み得る。
【０１０１】
ビデオデータメモリ101は、ビデオエンコーダ22の構成要素によって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ101の中に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ116は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ22によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する、参照ピクチャメモリであり得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ101および復号ピクチャバッファ116は、同じメモリデバイスまたは別個のメモリデバイスによって設けられてよい。様々な例では、ビデオデータメモリ101は、ビデオエンコーダ22の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。ビデオデータメモリ101は、図1の記憶媒体20と同じであってよく、またはその一部であってもよい。
【０１０２】
ビデオエンコーダ22は、ビデオデータを受信する。ビデオエンコーダ22は、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。CTUの各々は、ピクチャの、等しいサイズのルーマコーディングツリーブロック(CTB)、および対応するCTBに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は、区分を実行して、CTUのCTBを次第に小さくなるブロックに分割し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、CTUに関連付けられたCTBを木構造に従って区分し得る。本開示の1つまたは複数の技法によれば、木構造の各深度レベルにおける木構造のそれぞれの非リーフノードごとに、それぞれの非リーフノードに対して複数の許容分割パターンがあり、それぞれの非リーフノードに対応するビデオブロックは、複数の許容可能な分割パターンのうちの1つに従って、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分される。
【０１０３】
ビデオエンコーダ22は、CTUのCUを符号化して、CUの符号化表現(すなわち、コード化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サイズのための非対称区分をサポートし得る。
【０１０４】
インター予測処理ユニット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の予測ブロックを生成し得る。
【０１０５】
イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUに対する予測データを生成し得る。PUに対する予測データは、PUの予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライスの中のPUに対して、イントラ予測を実行し得る。
【０１０６】
PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、複数のイントラ予測モードを使用して、PUに対する予測データの複数のセットを生成し得る。イントラ予測処理ユニット126は、隣接PUのサンプルブロックからのサンプルを使用して、PUに対する予測ブロックを生成し得る。PU、CU、およびCTUに対して左から右、上から下への符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左であり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連する領域のサイズに依存し得る。
【０１０７】
予測処理ユニット100は、PUに対してインター予測処理ユニット120によって生成された予測データ、またはPUに対してイントラ予測処理ユニット126によって生成された予測データの中から、CUのPUに対する予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUに対する予測データを選択する。選択される予測データの予測ブロックは、本明細書で選択予測ブロックと呼ばれることがある。
【０１０８】
残差生成ユニット102は、CUに対するコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)およびCUのPUに対する選択予測ブロック(たとえば、予測ルーマブロック、予測Cbブロック、および予測Crブロック)に基づいて、CUに対する残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット102は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択予測ブロックの中の対応するサンプルとの間の差分に等しい値を有するような、CUの残差ブロックを生成し得る。
【０１０９】
変換処理ユニット104は、4分木区分を実行して、CUに関連する残差ブロックをCUのTUに関連する変換ブロックに区分し得る。したがって、TUは、ルーマ変換ブロックおよび2つのクロマ変換ブロックに関連付けられ得る。CUのTUのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいても基づかなくてもよい。「残差4分木」(RQT:Residual Quad-Tree)と呼ばれる4分木構造が、領域の各々に関連するノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
【０１１０】
変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット104は、TUに関連する変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に類似の変換を、変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われてよい。
【０１１１】
量子化ユニット106は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。量子化ユニット106は、CUに関連する量子化パラメータ(QP:Quantization Parameter)値に基づいて、CUのTUに関連する係数ブロックを量子化し得る。ビデオエンコーダ22は、CUに関連するQP値を調整することによって、CUに関連する係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の損失をもたらすことがある。したがって、量子化変換係数は、元の精度よりも精度が低いことがある。
【０１１２】
逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、逆量子化および逆変換を係数ブロックに適用して、係数ブロックから残差ブロックを再構成し得る。再構成ユニット112は、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構成された残差ブロックを加算して、TUに関連する再構成された変換ブロックを生成し得る。このようにしてCUのTUごとに変換ブロックを再構成することによって、ビデオエンコーダ22は、CUのコーディングブロックを再構成し得る。
【０１１３】
フィルタユニット114は、1つまたは複数のデブロッキング動作を実行して、CUに関連するコーディングブロックにおけるブロッキングアーティファクトを低減し得る。フィルタユニット114が、再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後、復号ピクチャバッファ116は、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、再構成されたコーディングブロックを含む参照ピクチャを使用して、他のピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測処理ユニット126は、復号ピクチャバッファ116の中の再構成されたコーディングブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行し得る。
【０１１４】
エントロピー符号化ユニット118は、ビデオエンコーダ22の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信してよく、予測処理ユニット100からシンタックス要素を受信してよい。エントロピー符号化ユニット118は、データに対して1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化データを生成し得る。たとえば、エントロピー符号化ユニット118は、CABAC動作、コンテキスト適応型可変長コーディング(CAVLC)動作、可変長対可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率区間区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ22は、エントロピー符号化ユニット118によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUに対するRQTを表すデータを含み得る。
【０１１５】
ビデオエンコーダ22(または、その1つもしくは複数の構成要素)が実行するように構成され得る、本開示の技法の様々な実装形態が以下に記載される。様々な実装形態は、アラビア数字「1」、「2」などを使用して番号が付けられ、様々なレベルの副題において説明する様々なオプションとともに以下で説明される。
1.ビデオコーディング、たとえば、HEVCまたはQTBTに対してブロック分割ベースのブロック区分構造が適用されるとき、特定のコーディングツール(特定のコーディングツールの例は、限定はしないが、イントラ予測、インター予測、インタースキップ、変換シグナリング、EMT、NSST、PDPCなどを含む)に対して、ブロックレベルしきい値が規定される。この特定のコーディングツールは、このブロックレベルしきい値に等しいかまたはブロックレベルしきい値を上回るブロックに対して、最適化およびシグナリングされる。ブロックレベルしきい値は、予測および変換がそこで適用されるブロックサイズとは異なってよい。コーディングツールとは、いくつかのブロックレベルにおいてオンまたはオフに切り替えられてよい、特定のコーディング方法、技法、またはモードである。
a)ブロックレベルしきい値は、ブロックエリアサイズ、またはブロック幅および高さとして表現され得る。
b)ブロックレベルしきい値は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)ごとに変化してよい。
・ブロックレベルしきい値は、スライスヘッダ、PPS、VPS、またはSPSの中でシグナリングされ得る。
・代替として、ブロックレベルしきい値は、たとえば、ブロックサイズごとに予測および/または変換が何回実行されているのかを計数することによって、それぞれ、以前のCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOPごとに更新され得る。
・代替として、ブロックレベルしきい値は、デフォルト値、たとえば、64もしくは256に設定され得るか、またはスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、シグナリングされ得る。
c)ブロックレベルしきい値は、事前定義された固定値であってよいが、異なるコーディング構成または画像成分、たとえば、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかに対して、異なる値が適用されてよい。
2.ブロックレベルしきい値はまた、イントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを指定し得る。イントラコーディングとインターコーディングとの混合は、この所与のブロックレベルしきい値以下において許容されない。
a)ブロックレベルしきい値は、ブロックエリアサイズ、またはブロック幅および高さとして表現され得る。
b)ブロックレベルしきい値は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)ごとに変化してよい。
・ブロックレベルしきい値は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)の中でシグナリングされ得る。
・代替として、ブロックレベルしきい値は、たとえば、ブロックサイズごとに予測および/または変換が何回実行されているのかを計数することによって、それぞれ、以前のCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOPごとに更新され得る。
・代替として、ブロックレベルしきい値は、デフォルト値、たとえば、64もしくは256に設定され得るか、またはスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに応じて、シグナリングされ得る。
・更新は随意であってよい。たとえば、存在フラグがシグナリングされてよく、そのフラグが0値に設定される場合、デフォルトのしきい値レベルが使用され、(PPS、SPS、VPSなどの)より上位の構造レベルにおいて随意にシグナリングされ得る。この例では、存在フラグが1という値に等しく設定される場合、しきい値レベルは直接シグナリングされる。直接のシグナリングの間、シグナリングされる値は、レベルがデフォルト値に等しい場合を除外することによって調整され得る。
c)ブロックレベルしきい値は、事前定義された固定値を使用してよいが、異なるコーディング構成または画像成分、たとえば、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、現在ブロックがルーマ成分であるのか、それともクロマ成分であるのかに対して、異なる値が適用されてよい。
d)代替として、このブロックレベルしきい値未満であり現在ブロックの中に含まれるサブブロックに対してイントラコーディングとインターコーディングとの混合が許容されるかどうかを示すために、このブロックレベルしきい値におけるブロックに対してフラグがさらにシグナリングされ得る。
3.この実装形態によれば、コーディングツールが所与のブロックレベルしきい値以上であるブロックレベルのみに最適化され得るという、特定のコーディングツールに対する限定は、現在ブロックに対してイントラコード化ブロックとインターコード化ブロックとの混合があるときに除去される。
4.いくつかのツールは、しきい値レベルブロックにおけるシグナリングを使用し得る。様々なしきい値は異なってよく、ツール固有であってよい。別の代替によれば、すべてのツールに対して1つの共通しきい値が使用される。
5.しきい値レベルにおけるブロックは、シンタックスシグナリングが実行され得る場合、オーバーラップなしにピクチャフレームを構成し得る。たとえば、この実装形態によれば、しきい値レベルサイズを有する2つ以上のブロックの中に、もっと小さい他のブロックを含めることが可能でないことがある。
6.しきい値サイズを有するブロックは、仮想ブロック、すなわち、いくつかのシンタックス要素だけがそこでグループ化およびシグナリングされるブロック、または実ブロック、情報の完全なセットを含むブロックであり得る。その時、仮想ブロックおよび実ブロックが1つの同じブロックである場合があり得る。このシナリオは、たとえば、さらなるブロック分割がなく、かつサイズがしきい値に等しい実ブロックが最終ブロックであるときに、起こり得る。この場合、仮想ブロックの中で行われるべきシグナリングは条件付けおよび延期され、代わりに実ブロックの中で行われる。この実装形態は、いくつかの予測モードのみに対してシンタックスシグナリングが行われる場合に潜在的な改善をもたらすことができるが、仮想ブロックにおいてその予測モードが利用可能でないことがある。この実装形態の態様を実行するという観点で、仮想ブロックの中でのシグナリングは、分割フラグ、およびしきい値サイズに等しいブロックサイズを条件とし得る。さらなる分割がなく、かつブロックサイズがしきい値に等しい場合、ブロックは最終であり、シグナリングは後で実ブロックの中でのみ行われ得る。この条件付きシンタックスシグナリングの適用は、区別される必要があるブロックの組合せが仮想ブロックサイズにおいて可能であるかどうかに依存し得る。たとえば、イントラ予測モードおよびインター予測モードに基づいてブロックが区別されるべき場合、それはスライスタイプに依存し得る。Iスライスの場合には、インター予測は可能でなく、条件付きシグナリングは必要とされなくてよい。以下でさらに詳細に説明するPDPCは、1つまたは複数の例を提供する。同様にして、分割フラグが境界において推定され得る。たとえば、ブロックがピクチャ境界を越えるほど十分大きいとき、分割フラグはシグナリングされなくてよく、(大きい)ブロックは分割されるものと推定される。条件付きシグナリングは、分割が推定される場合にも適用され得る。
7.一例では、ブロックレベルしきい値は、分解において実際のブロックに対応しないことがある。そのような場合、ブロックを分割することが、ブロックレベルしきい値未満の2つの(BT)ブロックまたは4つの(QT)ブロックをもたらす場合、ビデオエンコーダ22は、この(しきい値未満の)ブロックサイズにおいてシンタックス要素シグナリングを実行し得る。そのようなブロックレベルしきい値の非限定的な例は392、すなわち、2のべき乗でない任意のしきい値である。
8.一例では、ビデオエンコーダ22は、ブロックサイズがブロックレベルしきい値以下であるまさに最初の時間にシンタックス要素をシグナリングし得る。シンタックス要素は、ブロックに対してシグナリングされると、そのブロックのこれ以上の分割に対してシグナリングされない。
【０１１６】
以下の説明では、上記の技法の様々な例が提供される。本開示によれば、説明する実施形態のいかなる部分のいかなる組合せも、別個の例として実施されてよい。
【０１１７】
ブロックエリアしきい値に基づいてEMTを最適化およびシグナリングする例。QTBTに対してEMTが適用されるとき、ブロックレベルしきい値は256として事前定義され得る。QTBTリーフノードエリアが所与のしきい値よりも大きい場合、EMTフラグとEMTインデックスの両方が、このQTBTリーフノードに対してシグナリングされる。現在のQTBTノードエリアが所与のしきい値と同一である(たとえば、リーフノードが16×16、32×8、8×32、64×4、または4×64である)場合、それがもっと小さいブロックにさらに分割されるかどうかにかかわらず、現在のQTBTノードに対して1つのEMTフラグがシグナリングされる。このEMTフラグが、EMTを有効にすることを示している場合、EMTインデックスが、そのリーフノードの各々に対してさらにシグナリングされる。このようにして、エリアサイズが所与のしきい値よりも小さいリーフノードに対して、EMTインデックスだけがシグナリングされ、EMTフラグは、シグナリングされないが、エリアサイズが所与のしきい値に等しいその最も近い親ノードからの1つのシグナリングから導出される。
【０１１８】
様々な例では、異なるビデオ解像度に対してデフォルトのブロックレベルしきい値が適用されてよい。たとえば、単一のビデオピクチャが100,000ピクセルよりも小さく、たとえば、WQVGA(416×240)であるとき、デフォルトのブロックレベルしきい値は64として設定されてよく、そうでなく、たとえば、WVGA(832×480)、720p、1080p、または4Kである場合、デフォルトのブロックレベルしきい値は256として設定される。
【０１１９】
位置依存型イントラ予測組合せ(PDPC)しきい値。EMTに対する例に続いて、PDPCは、フラグおよび/またはPDPCインデックスを使用し得る。フラグおよび/またはPDPCインデックスは、しきい値サイズ以上のブロックに対してシグナリングされてよく、もっと小さいブロックに対する値は、しきい値レベルにおいてシグナリングされた値に等しいものと推定される。たとえば、しきい値レベルは、ルーマ成分に関して64サンプルに等しくてよい。
【０１２０】
上述のように、しきい値サイズ以上のサイズを有するブロックに対するPDPCフラグおよびインデックスのシグナリングは、ブロックがこれ以上分割されないときに条件付けられてよく、実行されなくてよい。そのような場合に対して、PDPCシグナリングは、予測モードが構文解析され利用可能になった後、その元の位置において行われる。PDPCは、イントラ予測関連ツールであるので、インター予測されたブロックに対して適用されない。この場合にシンタックスが条件付けられていない場合、ブロックがしきい値サイズに等しくなるとPDPC情報がシグナリングされる。この場合、ブロックは、これ以上分割されなくてよく、インターコーディングされてよい。この場合、PDPC情報は必要とされないがシグナリングされ、それに関連するビットは潜在的に浪費される。
【０１２１】
この実装形態は、予測パラメータをシグナリングするために2つ以上のフラグを使用するPDPCのバージョンの場合に(たとえば、ブロック形状ごとかつ予測モードごとの、パラメータの4つのセットを使用するPDPCバージョンに対して)拡張され得る。ブロックサイズにおける異なるしきい値は、さらに符号化される必要があるか、または代替として、継承および共有される必要がある、フラグの数を規定し得る。このようにして、より多くのPDPCパラメータオプションが、フラグコーディングオーバーヘッドが比較的小さいもっと高いツリーレベルにおいて利用可能であり得、フラグ当りの相対的なオーバーヘッドが増大するとき、より少数のオプション(たとえば、いくつかの事例では、単一のオプション)しか利用可能でない。
【０１２２】
別の拡張は、単一のしきい値を使用する代わりに、シグナリングシンタックスについての決定を行うためにテーブルベース規則を使用することである。この場合、テーブルエントリは区分の幅および高さであり、テーブル要素は、その区分形状から導出される区分にとって有効なシグナリングシンタックス修正を伴うリストである。
【０１２３】
図6は、本開示の技法を実施するように構成されている例示的なビデオデコーダ30を示すブロック図である。図6は説明のために提供され、本開示において広く例示および説明されるような技法を限定するものではない。説明のために、本開示は、HEVCコーディングのコンテキストにおいてビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１２４】
図6の例では、ビデオデコーダ30は、エントロピー復号ユニット150、ビデオデータメモリ151、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット160、および復号ピクチャバッファ162を含む。予測処理ユニット152は、動き補償ユニット164およびイントラ予測処理ユニット166を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１２５】
ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどの符号化ビデオデータを記憶し得る。ビデオデータメモリ151の中に記憶されるビデオデータは、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、たとえば、コンピュータ可読媒体16から取得され得る。ビデオデータメモリ151は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB:Coded Picture Buffer)を形成し得る。復号ピクチャバッファ162は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ30によってビデオデータを復号する際に使用するための、または出力のための、参照ビデオデータを記憶する参照ピクチャメモリであってよい。ビデオデータメモリ151および復号ピクチャバッファ162は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ151および復号ピクチャバッファ162は、同じメモリデバイスまたは別個のメモリデバイスによって設けられてよい。様々な例では、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってよい。ビデオデータメモリ151は、図1の記憶媒体28と同じであってよく、またはその一部であってもよい。
【０１２６】
ビデオデータメモリ151は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信および記憶する。エントロピー復号ユニット150は、符号化ビデオデータ(たとえば、NALユニット)をビデオデータメモリ151から受信し得、NALユニットを構文解析してシンタックス要素を取得し得る。エントロピー復号ユニット150は、NALユニットの中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成し得る。エントロピー復号ユニット150は、概して、エントロピー符号化ユニット118のプロセスとは逆のプロセスを実行し得る。
【０１２７】
本開示のいくつかの例によれば、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を取得することの一部として、木構造を決定し得る。木構造は、CTBなどの最初のビデオブロックが、コーディングユニットなどのより小さいビデオブロックにどのように区分されるのかを指定し得る。本開示の1つまたは複数の技法によれば、木構造の各深度レベルにおける木構造のそれぞれの非リーフノードごとに、それぞれの非リーフノードに対して複数の許容分割パターンがあり、それぞれの非リーフノードに対応するビデオブロックは、複数の許容可能な分割パターンのうちの1つに従って、それぞれの非リーフノードの子ノードに対応するビデオブロックに区分される。
【０１２８】
ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構成動作を実行し得る。CUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行し得る。CUのTUごとに再構成動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構成し得る。
【０１２９】
CUのTUに対して再構成動作を実行することの一部として、逆量子化ユニット154は、TUに関連する係数ブロックを逆量子化(Inverse Quantize)、すなわち逆量子化(De-quantize)し得る。逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連する残差ブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、または別の逆変換を、係数ブロックに適用し得る。
【０１３０】
PUがイントラ予測を使用して符号化されている場合、イントラ予測処理ユニット166は、イントラ予測を実行してPUの予測ブロックを生成し得る。イントラ予測処理ユニット166は、イントラ予測モードを使用して、空間的に隣接するブロックのサンプルに基づいてPUの予測ブロックを生成し得る。イントラ予測処理ユニット166は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PU用のイントラ予測モードを決定し得る。
【０１３１】
PUがインター予測を使用して符号化されている場合、エントロピー復号ユニット150は、PUのための動き情報を決定し得る。動き補償ユニット164は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット164は、1つまたは複数の参照ブロックに基づいて、PUに対する予測ブロック(たとえば、予測ルーマブロック、予測Cbブロック、および予測Crブロック)を生成し得る。
【０１３２】
再構成ユニット158は、CUのTUに対する変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)、およびCUのPUの予測ブロック(たとえば、ルーマブロック、Cbブロック、およびCrブロック)、すなわち、適用可能な場合、イントラ予測データまたはインター予測データのいずれかを使用して、CUに対するコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構成し得る。たとえば、再構成ユニット158は、予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)の対応するサンプルに、変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)のサンプルを加算して、CUのコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構成し得る。
【０１３３】
フィルタユニット160は、デブロッキング動作を実行して、CUのコーディングブロックに関連するブロッキングアーティファクトを低減し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ162の中に記憶し得る。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ162の中のブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行し得る。
【０１３４】
ビデオデコーダ30および/またはその1つもしくは複数の構成要素は、既存のコーディングツールがHEVC4分木ベース区分に対して最適化されQTBTベース区分の2分木態様に対して最適化されないことから生じる潜在的な問題などの、上記で説明した様々な問題を緩和または潜在的に解決するための、本開示の様々なデコーダ側技法を実施するように構成され得る。
【０１３５】
本開示のいくつかの技法によれば、ビデオデコーダ30は、ブロック分割ベースの区分構造がブロックのために適用されるシナリオの場合、1つまたは複数のコーディングツールに関してブロックレベルしきい値を規定し得る。本明細書で使用する「コーディングツール」とは、いくつかのブロックレベルにおいてオンまたはオフに切り替えられてよい、特定のコーディング方法、技法、またはモードである。本開示は、様々な事例におけるそのようなコーディングツールの例示的な例として、イントラ予測、インター予測、インタースキップ、変換シグナリング、拡張多重変換(EMT)、非分離可能2次変換(NSST)、または位置依存型予測合成(PDPC)を使用するが、ビデオデコーダ30が他のコーディングツールの使用に本開示の技法をやはり適用し得ることが理解されよう。
【０１３６】
たとえば、ビデオデコーダ30は、コーディングツールが適用されるブロックがHEVC4分木構造またはQTBT構造に従って区分されるべきであるかどうかにかかわらず、符号化ビデオデータを再構成するために上記のコーディングツールのうちの1つまたは複数などのコーディングツールを適用するとき、ブロックレベルしきい値などの制約を課してよい。ビデオデコーダ30は、所定のブロックレベルしきい値を満たすかまたはそれを上回るブロックを再構成するために適用されるべきコーディングツールに関連する、1つまたは複数のシンタックス要素を受信し得る。いくつかの例では、しきい値は、ビデオデコーダ30が予測および逆変換をそこで適用するブロックサイズとは異なる。
【０１３７】
本開示の技法のいくつかの実装形態では、ビデオデコーダ30は、それぞれのブロックの寸法に依存するブロックレベルしきい値を使用し得る。例として、ブロックレベルしきい値は、ブロックエリアサイズ、またはブロックの幅および高さのいくつかの組合せのうちの、1つまたは複数として表現され得る。たとえば、ビデオデコーダ30は、EMTコーディングツールに関して256ピクセルというブロックエリアベースしきい値を使用し得る。すなわち、ビデオデコーダ30は、エリアに換算して少なくとも256ピクセルをカバーするとともにビデオデコーダ30が符号化ビデオビットストリームの中で有効なEMTフラグをそれに対して受信するブロックを再構成するために、EMTベース復号を適用し得る。
【０１３８】
この例では、ビデオデコーダ30は、256エリアしきい値を満たすかまたはそれを上回るブロックに対してブロック全体にわたってEMTフラグが適用されるような、EMTフラグおよび1つまたは複数のEMTインデックスを受信し得る。すなわち、256ピクセルブロックがHEVC4分木構造に従ってまたはQTBT構造に従ってさらに区分されても、ビデオデコーダ30は、EMTフラグの値が256ピクセルブロックのすべてのサブブロックに適用されると決定し得る。たとえば、QTBT区分構造によれば、バイナリ区分は、256ピクセルがさらに区分された後にのみ適用可能になり得る。すなわち、ブロックがHEVC4分木区分に従って分割されるのか、それともQTBT区分構造に従って分割されるのかにかかわらず、256ピクセルブロックは正方形のフォームファクタを有し得る。
【０１３９】
図7は、CTU170として図示する64×64のCTUのための本開示の例示的なコーディングツール関連フラグシグナリング技法を示す概念図である。本開示のEMTフラグベース技法の一例が、図7において64×64のCTUに対して図示される。図7に示す例によれば、ビデオデコーダ30は、256よりも大きいかまたはそれに等しいエリアを有するブロックごとにのみ、EMTフラグを受信し得る。256というしきい値サイズを満たすブロックが、太い破線の境界線を使用して図示される。2つの太い破線の境界線がオーバーラップする境界に沿って、太い実線の境界線が現れることが諒解されよう。256よりも小さいエリアサイズを有する各サブブロック(実線または点線のいずれかの細い境界線を用いて識別される)に対して、ビデオデコーダ30はEMTフラグを受信しなくてよい。代わりに、ビデオデコーダ30は、現在のサブブロックを囲むかまたは含む太い線で縁どられた最小の(しきい値エリアを満たす)ブロックのEMTフラグから、EMTフラグ値を推測し得る。様々な例では、ビデオデコーダ30は、限定はしないが、32、64、128、512、1024などの他のブロックレベルしきい値エリアを使用し得る。
【０１４０】
コーディングツールに関するブロックレベルしきい値処理技法のいくつかの例では、ビデオデコーダ30は、ブロックサイズ寸法以外の基準に基づくブロックレベルしきい値を使用し得る。たとえば、ブロックレベルしきい値は、CTU、スライス、タイル、ピクチャ、またはピクチャグループ(GOP)基準のうちの1つまたは複数に基づいてよい。すなわち、ブロックレベルしきい値は、上記の基準のうちの1つまたは複数に基づいて変化してよい。
【０１４１】
代替として、いくつかの実装形態では、ブロックレベルしきい値は、それぞれ、以前にコーディングされたCTU、スライス、タイル、ピクチャ、またはGOPの情報を使用して、CTU、スライス、タイル、ピクチャ、またはGOP基準に基づいて変化してよい。以前にコーディングされた情報に基づいてブロックレベルしきい値が変化するいくつかの事例では、ブロックレベルは、たとえば、ブロックサイズごとに予測および/または逆変換が何回実行されているのかという計数に基づいてよい。いくつかの例では、ブロックレベルしきい値は、デフォルト値に設定され得る。デフォルト値の例は、限定はしないが、64または256という値を含む。いくつかの例では、ビデオデコーダ30は、ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに基づいて形成されている、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値は、事前定義された固定値であってよいが、ビデオデコーダ30は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオデコーダ30は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在ブロックがルーマ成分を表すのか、それともクロマ成分を表すのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
【０１４２】
いくつかの例では、ビデオデコーダ30は、しきい値が適用されるブロックに対してアウトオブバンドでブロックレベルしきい値を受信し得る。たとえば、ビデオデコーダ30は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)などの、1つまたは複数のシンタックス構造の中で、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値を(たとえば、適用可能な符号化ブロックに対してインバンドであるのか、それともアウトオブバンドであるのかにかかわらず)受信すると、ビデオデコーダ30は、符号化ブロックに関するそれぞれのコーディングツールのデコーダ側態様を適用するための条件として、ブロックレベルしきい値を使用し得る。
【０１４３】
EMTの適用のためのブロックエリアベースしきい値に関して上記で説明した実装形態では、ビデオデコーダ30は、シグナリングされたブロックレベルしきい値エリアを満たすかまたはそれを上回るブロックに、受信された任意のEMTフラグを適用し得る。たとえば、(たとえば、スライスヘッダ、VPS、PPS、またはSPSの中で)受信されたブロックレベルしきい値エリアが256ピクセルのエリアを反映する場合、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックに、受信された任意のEMTフラグを適用し得る。
【０１４４】
たとえば、ビデオデコーダ30は、有効状態に(たとえば、1という値に)設定されているEMTフラグを受信し得る。EMTフラグの有効状態に基づいて、ビデオデコーダ30は、EMTフラグが適用される、エリアの中の少なくとも256ピクセルをカバーするブロックの復号に関して、EMTコーディングツールを活動化させてよい。すなわち、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックのすべてのサブブロックに関して、EMTコーディングツールを活動化させてよい。次に、ビデオデコーダ30は、エリアの中の少なくとも256ピクセルであるブロックの各サブブロックに関する個々のEMTインデックスを受信し得る。受信された各EMTインデックス値に基づいて、ビデオデコーダ30は、EMTコーディングツールを使用して、EMTが活動化されているブロックの各サブブロックを再構成し得る。
【０１４５】
このようにして、ビデオデコーダ30は、QTBT区分に対応するためのコーディングツールの最適化においていかなる変更も必要とすることなく既存のコーディングツールを適用するために、本開示のブロックレベルしきい値処理技法を実施し得る。EMTフラグなどのコーディングツールベースのシンタックス要素は、HEVC4分木区分構造によるCUレベルにおいてシグナリングされる。HEVC準拠CUはサイズを変更できるが、8×8次元を下回らない。しかしながら、QTBT区分構造により、時には最大4つのサブブロックに分割される程度まで、8×8ブロックがさらに区分されることが可能になる。したがって、QTBT区分構造のために既存のコーディングツール(たとえば、EMT、PDPCなど)の最適化を拡張することは、フラグコーディングを4倍にすることになる。したがって、ビデオデコーダ30が、HEVC4分木区分されたブロックに対して単一のフラグを受信および処理することを必要とされていることになる場合、ビデオデコーダ30は、QTBT区分されたブロックに対して4つのフラグを受信および処理することを必要とされることになる。
【０１４６】
EMTフラグのためのブロックエリアベースしきい値処理の例によって図示したように、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、計算量および帯域幅消費を4倍に増やすことなく、QTBT区分されたブロックに関して(EMTなどの)HEVC最適化されたコーディングツールを活用し続けることが可能になる。すなわち、本開示のブロックエリアベースしきい値処理技法により、ブロックがQTBT区分構造に従って区分されても、ビデオエンコーダ22およびビデオデコーダ30が、正方形の256ピクセルブロックに対して単一のフラグを処理することが可能になる。このようにして、本開示の技法により、ビデオエンコーダ22およびビデオデコーダ30が、より最近のQTBTブロック区分構造を活用しながら、既存のHEVC最適化されたコーディングツールを使用することが可能になる。すなわち、本開示の技法により、QTBT区分構造に対するさらなる最適化なしに、既存の(HEVC最適化された)コーディングツールの継続した使用が可能になる。
【０１４７】
本開示のいくつかの態様によれば、ビデオデコーダ30は、ブロック再構成のためにイントラコーディングのみがそこで適用されるか、またはインターコーディングのみがそこで適用される、最低ブロックレベルを決定するために、ブロックレベルしきい値を適用し得る。たとえば、ビデオデコーダ30は、サイズベースのブロックレベルしきい値に基づいて、イントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを決定し得、あるいはイントラコーディングまたはインターコーディングのみがそこで適用される最小ブロックレベルを、符号化ビデオビットストリームの中で明示的にシグナリングされる値として受信し得る。たとえば、ビデオデコーダ30は、ブロックレベルしきい値以下においてイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。すなわち、ビデオデコーダ30は、ブロック再構成の間、しきい値エリアに等しいかまたはそれよりも小さいエリアを有するブロックのすべてのサブブロックに、インターコーディングのみか、またはイントラコーディングのみを適用してよい(ただし、両方の組合せは適用し得ない)。言い換えれば、ブロックがエリアしきい値以内にある場合、ビデオデコーダ30は、ブロックからサブブロックを形成するために使用される区分構造にかかわらず、符号化ブロックのすべての符号化サブブロックを再構成するために、すべてのサブブロックにイントラコーディングを適用し得るか、またはインターコーディングを適用し得るかのいずれかである。ブロックエリアに関して説明するが、ブロックレベルしきい値が、いくつかの例では、ブロック幅および/またはブロック高などの他のサイズ寸法に基づいてよいことが諒解されよう。
【０１４８】
いくつかの例では、ブロックレベルしきい値は、CTUごと、スライスごと、タイルごと、ピクチャごと、またはピクチャグループ(GOP)ごとのうちの1つまたは複数に従って変化してよい。追加として、イントラコーディングとインターコーディングとの任意の混合を許容または拒否するためにビデオデコーダ30がブロックレベルしきい値を適用する様々な例では、ビデオデコーダ30は、スライスヘッダ、ピクチャパラメータセット(PPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS)の中などの、対応するブロックに対してアウトオブバンドでブロックレベルしきい値を受信し得る。
【０１４９】
代替として、ブロックレベルしきい値は、それぞれ、以前に再構成されたCTU、スライス、タイル、ピクチャ、またはGOPのコード化情報を使用して、CTU基準、スライス基準、タイル基準、ピクチャ基準、またはGOP基準のうちの1つまたは複数に基づいて更新され得る。たとえば、ビデオデコーダ30は、ブロックサイズごとに予測および/または逆変換が何回実行されているのかという計数に基づいて、ブロックレベルしきい値を更新し得る。いくつかの代替では、ビデオデコーダ30は、ブロックレベルしきい値を64または256などのデフォルト値に設定し得る。いくつかの例では、ビデオデコーダ30は、スライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存する値として、ブロックレベルしきい値を受信し得る。
【０１５０】
イントラコーディングまたはインターコーディング決定のためのブロックレベルしきい値処理のいくつかの実装形態では、ブロックレベルしきい値更新は随意であってよい。たとえば、ビデオデコーダ30は、ブロックレベルしきい値に関係する情報を見分けるために、(既存のフラグである)「存在」フラグを受信し得る。たとえば、フラグが0値に設定されている場合、ビデオデコーダ30は、ブロックレベルしきい値がデフォルトのしきい値レベルまたはデフォルト値に設定されていると決定し得る。ブロックレベルしきい値がデフォルト値に設定されている場合には、ビデオデコーダ30は、(PPS、SPS、またはVPSの中などの)より上位の構造レベルにおいてブロックレベルしきい値を随意に受信し得る。一方、存在フラグの値が1という値に設定されている場合、ビデオデコーダ30は、ブロックレベルしきい値が直接シグナリングされるまたはされることになる(is or will be signaled)と決定し得る。
【０１５１】
ビデオデコーダ30がフラグを受信しない場合、ビデオデコーダ30は、フラグの値が0であると推測してよい。すなわち、ブロックに関してフラグが受信されない場合は、ビデオデコーダ30は、ブロックレベルしきい値がデフォルト値に設定されていると決定してよく、したがって、関連するコーディングツールをブロックに適用することに関するしきい値ブロックレベルとして、デフォルト値を使用してよい。いくつかの事例では、ビデオデコーダ30は、シグナリングされる値が、レベルがデフォルト値に等しい任意の場合を除外するような、調整された値を受信し得る。いくつかの事例では、ビデオデコーダ30は、シグナリングが、レベルがデフォルト値に等しい任意の場合を除外するような、調整されたブロックレベルしきい値を受信し得る。
【０１５２】
いくつかの例では、ビデオデコーダ30は、符号化ブロックを含むスライスに対するスライスタイプ、たとえば、スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのかに依存する値として、ブロックレベルしきい値を受信し得る。ブロックレベルしきい値は、いくつかの事前定義された固定値のうちの1つであってよいが、ビデオデコーダ30は、異なるコーディング構成または画像成分に対して異なる値を適用してよい。たとえば、ビデオデコーダ30は、現在スライスがイントラスライスであるのか、Pスライスであるのか、それともBスライスであるのか、および/または現在の符号化ブロックがルーマ成分を表すのか、それともクロマ成分を表すのかなどの、いくつかのファクタに応じて、ブロックレベルしきい値に対して異なる値を適用してよい。
【０１５３】
いくつかの事例では、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックに対するイントラコーディングとインターコーディングとの間での選択に対して、1つまたは複数の例外を実施し得る。すなわち、(イントラのみまたはインターのみのブロックのためのブロックレベルしきい値処理に対する例外を形成する)いくつかのシナリオでは、ビデオデコーダ30は、ブロックレベルしきい値以下にあるブロックの符号化サブブロックを再構成するために、イントラコーディングとインターコーディングの両方を使用し得る。いくつかのそのようなシナリオでは、ビデオデコーダ30がインターのみまたはイントラのみの選択に対して例外を設けるように構成される場合、ビデオデコーダ30は、ブロックレベルしきい値以内にあるブロック用のシグナリングされたフラグを受信し得る。ビデオデコーダ30は、フラグの値を復元して、ブロックのそれぞれのサブブロックに対してイントラコーディングとインターコーディングとの混合が許容されるかどうかを決定し得る。たとえば、フラグが0という値に設定されている場合、ビデオデコーダ30は、対応するブロックの再構成においてイントラコーディングとインターコーディングとの混合が許容されないと決定し得る。一方、フラグが1という値に設定されている場合、ビデオデコーダ30は、対応するブロックのサブブロックのコーディングに関してインターコーディングとイントラコーディングとの混合が許容されると決定し得る。ブロックに関してイントラコーディングとインターコーディングとの混合が許可されるか否かを決定するためにビデオデコーダ30が受信および復元し得るフラグは、そのフラグがH.264および/またはHEVCなどの既存のビデオコーディング規格において指定されるシンタックス要素に対して追加のシンタックス要素を表すという点で、新たなフラグを表し得る。
【０１５４】
いくつかの例では、ビデオデコーダ30は、1つまたは複数のコーディングツールの最適化に対してブロックレベル制約を実施し得るが、しきい値を満たすかまたはしきい値を上回るブロックがイントラコード化サブブロックとインターコード化サブブロックとの混合を含む場合は、制約を除去してよい。たとえば、PDPCやNSSTなどのいくつかのコーディングツールは、HEVCによるイントラコーディングのみに対して最適化される。EMTは、インターコーディングとイントラコーディングの両方に対して最適化され、したがって、EMTインターおよび/またはEMTイントラとして実施され得る。いくつかのコーディングツールは、HEVCによるインターコーディングのみに対して最適化される。したがって、コーディング最適化に対するブロックレベル制約の除去は、イントラコード化サブブロックとインターコード化サブブロックの両方を含むブロックの場合には、任意のそのようなコーディングツールに適用可能である。
【０１５５】
たとえば、EMTコーディングツールが、所与のブロックに対してEMTイントラまたはEMTインターのいずれかとして実施されるので、ブロックレベルしきい値は、EMTコーディングツールがEMTイントラまたはEMTインターのいずれかとして適用されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてEMTコーディングツールの使用を妨害し得る。同様に、ブロックレベル制約は、PDPCツールおよびNSSTツールの各々がイントラコード化ブロックに対して最適化されるので、ブロックがイントラコード化サブブロックとインターコード化サブブロックの両方を含む事例においてPDPCツールまたはNSSTツールの使用を妨害し得る。このようにして、ビデオデコーダ30は、コーディングツールを適用してQTBT区分構造に対応するためにブロックレベル制約を実施し得るが、コーディングツールのイントラのみまたはインターのみの最適化を活用するために、インターコード化サブブロックとイントラコード化サブブロックとの混合を含むブロックの場合に制約を除去し得る。
【０１５６】
本開示のいくつかの技法によれば、ビデオデコーダ30は、1つまたは複数のコーディングツール用の情報を受信し得、ここで、情報のシグナリングは、ブロックレベルしきい値に依存する。一実装形態では、ビデオデコーダ30は、ビデオデコーダ30によって適用されるか、またはビデオデコーダ30にとって利用可能な、すべてのコーディングツール用の情報を受信し得、ここで、すべてのそのようなコーディングツール用の情報のシグナリングは、単一のブロックレベルしきい値に依存する。たとえば、ビデオデコーダ30は、少なくともしきい値ブロックレベルにあるブロックのみに対して、単一のEMTフラグ、または単一のPDPCフラグ、または単一のNSSTフラグを受信し得る。すなわち、この実装形態では、ブロックレベルしきい値は、符号化ブロックを再構成するためにビデオデコーダ30がどのコーディングツールを使用するのかにかかわらず、静的な値を有する。
【０１５７】
コーディングツールシグナリングのためのブロックレベルしきい値処理の別の実装形態では、ブロックレベルしきい値は、コーディングツールごとに変化してよい。たとえば、ビデオデコーダ30は、第1のしきい値レベルを満たすブロックのみに対してEMTフラグを、第2のしきい値レベルを満たすブロックのみに対してPDPCフラグを、また第3のしきい値レベルを満たすブロックのみに対してNSSTフラグを受信し得る。
【０１５８】
本開示のいくつかの例によれば、ビデオデコーダ30は、任意の所与の時間において、単一の符号化ブロックを再構成するための単一のコーディングツールに対して、固有のブロックレベルしきい値を適用し得る。たとえば、ブロックレベルしきい値(シンタックスシグナリングがそこで実行され得る最小ブロックレベルを表すしきい値)を満たすかまたはそれを上回るブロックは、オーバーラップなしにピクチャフレームを構成し得る。たとえば、この実装形態によれば、ビデオデコーダ30は、区分が、ブロックレベルしきい値よりも小さい少なくとも1つのサブブロックをもたらすことになる場合、いかなるブロックもこれ以上区分しなくてよい。すなわち、ビデオデコーダ30は、しきい値レベルサイズを有する2つ以上のブロックの中に、より小さいサブブロックを含めなくてよい。
【０１５９】
ビデオデコーダ30は、いくつかのシナリオでは、符号化ビデオビットストリームの中でいわゆる「仮想ブロック」を受信し得る。より詳細には、仮想ブロックに関して、ビデオデコーダ30は、ブロックを形成する符号化データのサブセットのみを受信し得る。たとえば、仮想ブロックに対して、ビデオデコーダ30は、ブロックの符号化ビデオデータに関するいくつかのシンタックス要素のグループ化を受信し得る。仮想ブロックとは対照的に、「実ブロック」とは、ビデオデコーダ30が符号化情報の完全なセットをそれに対して受信する、ビデオデータの符号化ブロックを表す。
【０１６０】
本開示のいくつかの技法によれば、仮想ブロックが実ブロックとして適格である(すなわち、仮想ブロックおよび対応する実ブロックが同じ単一のブロックである)場合、ビデオデコーダ30は、通例、仮想ブロックに関して実行される情報の、延期されたシグナリングを受信し得る。すなわち、ビデオデコーダ30は、代わりに実ブロックに関する仮想ブロック情報を受信し得る。
【０１６１】
いくつかのシナリオにおいて代わりに実ブロックに関する仮想ブロック情報を受信することによって、ビデオデコーダ30は、いくつかの場合において、ビデオエンコーダ22および相互接続データトランスポートインフラストラクチャに課されたビットレート要件を低減し得る。たとえば、いくつかの予測モードのみに対してシンタックスシグナリングが行われる場合は、実ブロックがこれ以上分割されず、かつ実ブロックのサイズが少なくともしきい値サイズに等しい場合、実ブロックは最終ブロックを表し得る。したがって、通例、仮想ブロックの一部としてシグナリングされる、シンタックス要素のシグナリングは、(たとえば、ビデオエンコーダ22において)後で実行されてよく、ビデオデコーダ30は、実ブロックに関するこれらのシンタックス要素を単に受信し得る。
【０１６２】
ビデオデコーダ30は、シグナリングされる情報が、(互いに区別される)得られたサブブロックの組合せが仮想ブロックのサイズにおいて可能であるかどうかに依存するように、実ブロックに関する仮想ブロック情報を後で受信し得る。たとえば、ビデオデコーダ30は、サブブロックがイントラ予測モードおよびインター予測モードを使用して符号化されていることに基づいて区別される場合、シグナリングがスライスタイプに依存するような、実ブロックに関する情報を受信しても受信しなくてもよい。符号化ブロックがIスライスの中に含まれる場合には、インター予測は符号化ブロックの再構成のためのオプションでない。したがって、ブロックがIスライスの中に含まれる場合には、ビデオエンコーダ22は、条件付きシグナリングが必要とされないと決定し得る。
【０１６３】
本開示の条件付きシグナリング技法の一例が、PDPCコーディングツールに関して本明細書で説明される。いくつかの事例では、ビデオデコーダ30は、境界において明示的にシグナリングされた分割フラグが受信されないことに基づいて、ピクチャ境界における分割フラグを推測し得る。そのような場合、ビデオデコーダ30は、ブロックがピクチャ境界において分割されると推測し得る。すなわち、ビデオデコーダ30は、ブロックがピクチャ境界を越えることに基づいて、ピクチャ境界におけるブロック分割を推測するように構成され得る。
【０１６４】
符号化ブロックに対して有効状態に設定されたPDPCフラグを受信すると、ビデオデコーダ30は、(サブブロックを取得するために使用される区分方式にかかわらず)しきい値サイズのブロックのあらゆるサブブロックがPDPCコーディングツールを使用して再構成されるべきであると推測し得る。すなわち、ビデオデコーダ30は、より小さいサブブロックに対するPDPCフラグ値が、しきい値レベル以上にあるもっと大きいブロックに対して受信された単一のPDPCフラグ値に等しいと推測し得る。一例では、ビデオデコーダ30は、PDPCコーディングツールを使用して符号化および復号されるべきルーマ成分ブロックのために、64サンプルに等しいしきい値レベルを使用し得る。
【０１６５】
上記で説明したように、PDPCは、イントラ予測モードに対して最適化されているコーディングツールである。したがって、ビデオデコーダ30は、インター予測されるいかなる符号化ブロックまたはサブブロックの再構成のためにも、PDPCコーディングツールを適用しなくてよい。ビデオエンコーダ22が条件付きシグナリングを実施しない場合は、ビデオデコーダ30は、符号化ブロックがこれ以上分割されず、したがって、いかなるインターコード化サブブロックも含まないという条件で、しきい値サイズに等しいかまたはそれよりも大きい符号化ブロック用のPDPC情報を受信し得る。再び、ブロックがインターコード化サブブロックを含む場合、PDPC情報は必要とされなくてよく、したがって、サブブロックレベルのPDPC情報のシグナリングは、不必要なビットがシグナリングされることに起因するビットレート消耗を引き起こすことがある。このようにして、PDPC情報が明示的にシグナリングされる必要があるインスタンスを低減することによって、ビデオデコーダ30は、PDPCコーディングツール適用に対するビットレート要件を低減し得る。
【０１６６】
ビデオデコーダ30はまた、予測パラメータを決定するために2つ以上のフラグを使用するバージョンのPDPCを復元する事例に、本開示の条件付きシグナリングベースの再構成技法を拡張し得る。そのような一例は、ブロック形状ごとかつ予測モードごとの、パラメータの4つのセットを利用するPDPCバージョンである。ビデオデコーダ30は、受信および復元されるべき、または代替として、継承および復元されるべきフラグの数を規定するために、ブロックサイズに対して異なるしきい値を実施し得る。このようにして、ビデオデコーダ30は、フラグ復元オーバーヘッドが比較的小さくてよいもっと高いツリーレベルにおいて、より多数のPDPCパラメータオプションを利用し得る。一方、ビデオデコーダ30は、フラグ当りのレベルにおける相対的なフラグ復元オーバーヘッドがより大きいもっと低いツリーレベルにおいて、より少数のPDPCパラメータオプション(できる限り単一オプションと同じくらい少ない)しか使用しなくてよい。
【０１６７】
いくつかの例では、ビデオデコーダ30は、上記で説明したようなコーディングツールのためのブロックレベルしきい値処理の代替として、ブロック分解プロセスにおける実際のブロックに対応しないブロックレベルしきい値を代わりに実施し得る。これらの例では、ブロックを分割することが、ブロックレベルしきい値未満である2つのサブブロック(BT区分)または4つのサブブロック(QT区分)サブブロックをもたらす場合、ビデオデコーダ30は、得られたサブブロックサイズにおいてコーディングツール関連シンタックス要素を受信し得る。そのようなサブブロックベースのブロックレベルしきい値の一例は392、すなわち、2のべき乗でない任意のしきい値サイズである。いくつかの事例では、ビデオデコーダ30は、浮動小数点値であるサブブロックベースのブロックレベルしきい値を使用してもよい。
【０１６８】
本開示のいくつかの例によれば、ビデオデコーダ30は、ブロックサイズがブロックレベルしきい値と同じかまたはそれよりも小さいことをビデオデコーダ30が検出できるまさに最初のインスタンスにおいて、コーディングツール関連シンタックス要素(たとえば、EMTフラグ)を受信し得る。ブロックに対してコーディングツール関連シンタックス要素がシグナリングされると、ビデオデコーダ30は、ブロックのさらなる分割から得られるいかなるサブブロックに対しても、対応するコーディングツール関連シンタックス要素を受信しなくてよい。すなわち、これらの例によれば、ビデオデコーダ30は、得られたブロックがそこにおいて所定のブロックレベルしきい値以下にある接合を区分すると、ブロックの最初のサブブロックに関するコーディングツール関連シンタックス要素(たとえば、EMTフラグ)を受信し得る。
【０１６９】
図8は、本開示の1つまたは複数の技法を実施するためにビデオデコーダ30および/またはその様々な構成要素が実行し得る、例示的なプロセス180を示すフローチャートである。プロセス180は、ビデオデコーダ30が符号化ビデオデータに対するブロックレベルしきい値を決定すると開始し得る(182)。たとえば、ビデオデコーダ30は、ビデオデコーダ30の1つもしくは複数の記憶媒体に記憶されているか、または別の方法でビデオデコーダ30にとってアクセス可能である、符号化ビデオデータの一部分に対するブロックレベルしきい値を決定し得る。
【０１７０】
次に、ビデオデコーダ30は、符号化ビデオデータの符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し得る(184)。様々な例では、ブロックレベルしきい値は、ブロックエリアなどの様々なサイズベースの観点で表現される。したがって、ビデオデコーダ30は、ブロックのエリアがブロックレベルしきい値によって表されるエリアに等しいかまたはそれよりも大きいと決定し得る。ビデオデコーダ30は、しきい値を満たす符号化ブロックの一部分がコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し得る(186)。シンタックス要素の一例はEMTフラグであり、EMTフラグは、符号化ブロックの少なくとも一部分がEMTコーディングツールを使用して再構成されるべきであることを示す。
【０１７１】
符号化ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、ビデオデコーダ30は、受信されたシンタックス要素が符号化ブロックのすべてのサンプルに適用されると決定し得る(188)。すなわち、符号化ブロックが少なくともしきい値サイズを有することに基づいて、ビデオデコーダ30は、受信されたシンタックス要素が符号化ブロックの全体に適用されると決定し得る。次に、ビデオデコーダ30は、コーディングツールを使用して符号化ブロックを再構成し得る(190)。
【０１７２】
いくつかの例では、ブロックレベルしきい値は最小エリアを表し、ビデオデコーダ30は、符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定し得る。いくつかの例では、符号化ブロックが最小エリアに等しいかまたはそれよりも大きいサイズを有することに基づいて、ビデオデコーダ30は、受信されたシンタックス要素が符号化ブロックの各サブブロックに適用されると決定し得る。
【０１７３】
いくつかの例では、受信されたシンタックス要素は拡張多重変換(EMT)フラグを備え、ビデオデコーダ30は、EMTフラグが有効状態に設定されていると決定し得る。EMTフラグが有効状態に設定されていることに基づいて、ビデオデコーダ30は、符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号し得、EMTコーディングツールを使用して符号化ブロックを再構成し得る。
【０１７４】
いくつかの例では、符号化ブロックは、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され得、ブロックレベルしきい値は、最大サブブロックエリアを表し得、コーディングツールは、イントラコーディングまたはインターコーディングのうちの少なくとも一方を含み得る。ビデオデコーダ30は、1つまたは複数のサブブロックのいずれかが最大サブブロックエリアよりも小さいことに基づいて、サブブロックがイントラコーディングまたはインターコーディングのうちの一方のみを使用して再構成されるべきであると決定し得る。いくつかの例では、ビデオデコーダ30は、シンタックス要素がそれに対して受信されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、ブロックレベルしきい値を適用し得る。複数のコーディングツールは、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含み得る。様々な例では、イントラ予測ツールは、イントラコーディングツールまたはイントラ予測コーディングツールと呼ばれることがある。様々な例では、インター予測ツールは、インターコーディングツールまたはインター予測コーディングツールと呼ばれることがある。
【０１７５】
いくつかの例では、ブロックレベルしきい値は、複数のブロックレベルしきい値の中に含まれ、ビデオデコーダ30は、シンタックス要素がそれに対して受信されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用し得る。
【０１７６】
図9は、本開示の1つまたは複数の技法を実施するためにビデオエンコーダ22および/またはその様々な構成要素が実行し得る、例示的なプロセス210を示すフローチャートである。プロセス210は、ビデオエンコーダ22がビデオデータに対するブロックレベルしきい値を決定すると開始し得る(212)。たとえば、ビデオエンコーダ22は、ビデオエンコーダ22の1つもしくは複数の記憶媒体に記憶されているか、または別の方法でビデオエンコーダ22にとってアクセス可能である、ビデオデータの一部分に対するブロックレベルしきい値を決定し得る。
【０１７７】
次に、ビデオエンコーダ22は、ビデオデータのブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し得る(214)。様々な例では、ブロックレベルしきい値は、ブロックエリアなどの様々なサイズベースの観点で表現される。したがって、ビデオエンコーダ22は、ブロックのエリアがブロックレベルしきい値によって表されるエリアに等しいかまたはそれよりも大きいと決定し得る。
【０１７８】
ビデオエンコーダ22は、コーディングツールを使用してブロックを符号化し得る(218)。そのようなコーディングツールの例は、EMTコーディングツール、PDPCコーディングツール、NSSTコーディングツール、インターコーディング、またはイントラコーディングを含む。ブロックがブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有することに基づいて、ビデオエンコーダ22は、しきい値を満たす符号化ブロックのすべてのサンプルが符号化ブロックを形成するためにコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化し得る(220)。すなわち、符号化ブロックが少なくともしきい値サイズを有することに基づいて、ビデオエンコーダ22は、シンタックス要素が符号化ブロックの全体に適用されるようなシンタックス要素を符号化し得る。そのような一例では、ビデオエンコーダ22は、符号化ブロック全体に対してEMTフラグを有効状態において符号化し得る。
【０１７９】
いくつかの例では、ブロックレベルしきい値は、最小サブブロックエリアを表し、ビデオエンコーダ22は、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って符号化ブロックを複数のサブブロックに区分し得る。いくつかの例では、ビデオエンコーダ22は、符号化ブロックが最小サブブロックエリアに等しいかまたはそれよりも大きいサイズを有することに基づいて、符号化シンタックス要素が符号化ブロックの各サブブロックに適用されると決定し得る。いくつかの例では、符号化シンタックス要素は拡張多重変換(EMT)フラグを備え、ビデオエンコーダ22は、EMTフラグを有効状態に設定し得る。これらの例のうちのいくつかでは、ビデオエンコーダ22は、符号化ブロックのそれぞれのサブブロックごとにそれぞれのEMTインデックスを符号化し得る。
【０１８０】
いくつかの例では、符号化ブロックは、4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分され、ブロックレベルしきい値は、最大サブブロックエリアを表し、コーディングツールは、イントラコーディングまたはインターコーディングのうちの少なくとも一方である。これらの例では、ビデオエンコーダ22は、1つまたは複数のサブブロックのうちのそれぞれの任意のサブブロックが最大サブブロックエリアよりも小さいことに基づいて、イントラコーディングまたはインターコーディングのうちの一方のみを使用してそれぞれのサブブロックを符号化し得る。いくつかの例では、ビデオエンコーダ22は、シンタックス要素がそれに対して符号化されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、ブロックレベルしきい値を適用し得る。
【０１８１】
いくつかの例では、複数のコーディングツールは、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール(イントラ予測ツールはイントラコーディングツールまたはイントラ予測コーディングツールと呼ばれることがある)、またはインター予測ツールのうちの2つ以上を含む。いくつかの例では、ブロックレベルしきい値は、複数のブロックレベルしきい値の中に含まれ、ビデオエンコーダ22は、シンタックス要素がそれに対して符号化されるコーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用し得る。
【０１８２】
いくつかの例では、符号化ブロックは、記憶媒体に記憶された符号化ビデオデータの一部分の実ブロックを備え、ビデオエンコーダ22は、実ブロックに対応する仮想ブロックがブロックレベルしきい値を満たすと決定し得る。これらの例では、ビデオエンコーダ22は、仮想ブロックがブロックレベルしきい値を満たすことに基づいて、実ブロックに対応する仮想ブロックに関する符号化シンタックス要素をシグナリングする代わりに、実ブロックに関する符号化シンタックス要素をシグナリングし得る。
【０１８３】
いくつかの例では、ビデオエンコーダ22は、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で符号化シンタックス要素をシグナリングし得る。いくつかの例では、ビデオエンコーダ22は、符号化ブロックのエリア、符号化ブロックの幅、または符号化ブロックの高さのうちの1つまたは複数に基づいて、ブロックレベルしきい値を決定し得る。いくつかの例では、ビデオエンコーダ22は、少なくとも部分的にはコーディングツールおよびブロックの一部分に関してビットレート最適化を実行することによって、ブロックを符号化する際にコーディングツールを適用すべきかどうかを決定し得る。いくつかの例では、ビデオエンコーダ22は、符号化ブロックの個々のサンプルを再構成するために使用されるコーディングツールを示すシンタックス要素をシグナリングすることを回避し得る。
【０１８４】
本開示のいくつかの態様は、例示のためのHEVC規格、HEVC規格の拡張、または開発中の次世代ビデオコーディング規格に関して説明されている。しかしながら、本開示で説明する技法は、まだ開発されていない他の標準的またはプロプライエタリなビデオコーディングプロセスを含む、他のビデオコーディングプロセスにとって有用であり得る。
【０１８５】
本開示で説明するようなビデオコーダは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、適用可能な場合、ビデオ符号化またはビデオ復号を指すことがある。
【０１８６】
例に応じて、本明細書で説明した技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行されてよく、一緒に追加され、統合され、または除外されてよい(たとえば、説明したすべての行為またはイベントが技法の実践にとって必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて並行して実行されてよい。
【０１８７】
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてよく、またはコンピュータ可読媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード、および/またはデータ構造を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含んでよい。
【０１８８】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１８９】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、処理回路構成(たとえば、プログラマブル処理回路構成、固定機能回路構成、またはプログラマブル処理回路構成と固定機能回路構成の組合せ)、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積論理回路構成もしくは個別論理回路構成などの、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明した機能性は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で提供されてよく、または複合コーデックに組み込まれてもよい。また、技法は、1つまたは複数の回路または論理要素の中に完全に実装され得る。
【０１９０】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置の中に実装され得る。開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示で説明されるが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせられてよく、または好適なソフトウェアおよび/もしくはファームウェアとともに、上記で説明したような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
【０１９１】
様々な例が説明されている。これらおよび他の例は、以下の特許請求の範囲内に入る。
【符号の説明】
【０１９２】
10  ビデオ符号化および復号システム
12  ソースデバイス
14  宛先デバイス
16  コンピュータ可読媒体
18  ビデオソース
20  記憶媒体
22  ビデオエンコーダ
24  出力インターフェース
26  入力インターフェース
28  記憶媒体
30  ビデオデコーダ
32  ディスプレイデバイス
40  コーディングツリーユニット
100  予測処理ユニット
101  ビデオデータメモリ
102  残差生成ユニット
104  変換処理ユニット
106  量子化ユニット
108  逆量子化ユニット
110  逆変換処理ユニット
112  再構成ユニット
114  フィルタユニット
116  復号ピクチャバッファ
118  エントロピー符号化ユニット
120  インター予測処理ユニット
126  イントラ予測処理ユニット
150  エントロピー復号ユニット
151  ビデオデータメモリ
152  予測処理ユニット
154  逆量子化ユニット
156  逆変換処理ユニット
158  再構成ユニット
160  フィルタユニット
162  復号ピクチャバッファ
164  動き補償ユニット
166  イントラ予測処理ユニット
【図１】
2019512965.tif 000005
【図２】
2019512965.tif 000006
【図３】
2019512965.tif 000007
【図４Ａ】
2019512965.tif 000008
【図４Ｂ】
2019512965.tif 000009
【図５】
2019512965.tif 000010
【図６】
2019512965.tif 000011
【図７】
2019512965.tif 000012
【図８】
2019512965.tif 000013
【図９】
2019512965.tif 000014
【手続補正書】
【提出日】平成30年9月26日(2018.9.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化ビデオデータを復号するためのデバイスであって、
前記符号化ビデオデータの少なくとも一部分を記憶するように構成された記憶媒体と、
前記記憶媒体と通信している処理回路構成とを備え、前記処理回路構成が、
前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分に対するブロックレベルしきい値を決定し、
前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、
前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定し、
前記符号化ブロックの前記複数のサブブロックのうちの最初のサブブロックがコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信し、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定し、
前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを、前記コーディングツールを使用して再構成するように構成される、
デバイス。
【請求項２】
前記ブロックレベルしきい値が最小エリアを表す、請求項1に記載のデバイス。
【請求項３】
前記受信されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記処理回路構成が、
前記EMTフラグが有効状態に設定されていると決定し、
前記EMTフラグが前記有効状態に設定されていることに基づいて、前記符号化ブロックの前記複数のサブブロックのうちのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号するようにさらに構成され、
前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを再構成するために、前記処理回路構成が、前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを、EMTコーディングツールを使用して再構成するように構成される、
請求項1に記載のデバイス。
【請求項４】
前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラ予測またはインター予測のうちの少なくとも一方を備え、前記処理回路構成が、
前記複数のサブブロックのうちの前記最初のサブブロックが前記最大サブブロックエリアよりも小さいことに基づいて、前記最初のサブブロックがイントラ予測またはインター予測のうちの一方のみを使用して再構成されるべきであると決定するようにさらに構成される、
請求項1に記載のデバイス。
【請求項５】
前記処理回路構成が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するようにさらに構成される、請求項1に記載のデバイス。
【請求項６】
前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項5に記載のデバイス。
【請求項７】
前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記処理回路構成が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するようにさらに構成される、請求項1に記載のデバイス。
【請求項８】
前記符号化ブロックが、前記記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記処理回路構成が、
前記実ブロックに対応する仮想ブロックに関する前記シンタックス要素を受信する代わりに、前記実ブロックに関する前記シンタックス要素を受信するようにさらに構成される、
請求項1に記載のデバイス。
【請求項９】
前記ブロックレベルしきい値を決定するために、前記処理回路構成が、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で前記ブロックレベルしきい値を示すデータを受信するように構成される、請求項1に記載のデバイス。
【請求項１０】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータの少なくとも一部分を記憶するように構成された記憶媒体と、
前記記憶媒体と通信している処理回路構成とを備え、前記処理回路構成が、
前記記憶媒体に記憶された前記ビデオデータの前記一部分に対するブロックレベルしきい値を決定し、
前記記憶媒体に記憶された前記ビデオデータの前記一部分のブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定し、
4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って符号化ブロックを複数のサブブロックに区分し、
前記ブロックから区分された前記複数のサブブロックのうちの最初のサブブロックのすべてのサンプルを、コーディングツールを使用して符号化し、
符号化ブロックを形成するために、前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記ブロックから区分された前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる複数のサンプルのうちのすべてのサンプルを、前記コーディングツールを使用して符号化し、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックから区分された前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルが前記コーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を符号化するように構成される、
デバイス。
【請求項１１】
前記ブロックレベルしきい値が最小サブブロックエリアを表す、請求項10に記載のデバイス。
【請求項１２】
前記符号化されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記処理回路構成が、
前記EMTフラグを有効状態に設定し、
前記符号化ブロックの前記複数のサブブロックのうちのそれぞれのサブブロックごとにそれぞれのEMTインデックスを符号化するようにさらに構成される、
請求項10に記載のデバイス。
【請求項１３】
前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラコーディングまたはインターコーディングのうちの少なくとも一方を備え、前記処理回路構成が、
1つまたは複数の前記サブブロックのうちの前記最初のサブブロックが前記最大サブブロックエリアよりも小さいことに基づいて、イントラコーディングまたはインターコーディングのうちの一方のみを使用して前記最初のサブブロックを符号化するようにさらに構成される、
請求項10に記載のデバイス。
【請求項１４】
前記処理回路構成が、前記シンタックス要素がそれに対して符号化される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するようにさらに構成される、請求項10に記載のデバイス。
【請求項１５】
前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項14に記載のデバイス。
【請求項１６】
前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記処理回路構成が、前記シンタックス要素がそれに対して符号化される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するようにさらに構成される、請求項10に記載のデバイス。
【請求項１７】
前記ブロックが、前記記憶媒体に記憶された前記ビデオデータの前記一部分の実ブロックを備え、前記処理回路構成が、
前記実ブロックに対応する仮想ブロックが前記ブロックレベルしきい値を満たすと決定し、
前記仮想ブロックが前記ブロックレベルしきい値を満たすことに基づいて、前記実ブロックに対応する前記仮想ブロックに関する前記符号化されたシンタックス要素をシグナリングする代わりに、前記実ブロックに関する前記符号化されたシンタックス要素をシグナリングするようにさらに構成される、
請求項10に記載のデバイス。
【請求項１８】
前記処理回路構成が、符号化ビデオビットストリームのピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)のうちの1つの中で前記ブロックレベルしきい値を示すデータをシグナリングするようにさらに構成される、請求項10に記載のデバイス。
【請求項１９】
前記処理回路構成が、前記ブロックのエリア、前記ブロックの幅、または前記ブロックの高さのうちの1つまたは複数に基づいて前記ブロックレベルしきい値を決定するようにさらに構成される、請求項10に記載のデバイス。
【請求項２０】
前記処理回路構成が、少なくとも部分的には、前記コーディングツールおよび前記ブロックの複数の部分のうちのそれぞれの部分に関してビットレート最適化を実行することによって、前記ブロックを符号化する際に前記コーディングツールを適用すべきかどうかを決定するようにさらに構成される、請求項10に記載のデバイス。
【請求項２１】
前記処理回路構成が、前記符号化ブロックの個々のサンプルを再構成するために使用される前記コーディングツールを示すシンタックス要素を、前記デバイスのインターフェースを介してシグナリングされるべき符号化ビデオビットストリームから除外するようにさらに構成される、請求項10に記載のデバイス。
【請求項２２】
符号化ビデオデータを復号する方法であって、
前記符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するステップと、
前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するステップと、
前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定するステップと、
前記符号化ブロックの前記複数のサブブロックのうちの最初のサブブロックがコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するステップと、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定するステップと、
前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを、前記コーディングツールを使用して再構成するステップと
を備える方法。
【請求項２３】
前記ブロックレベルしきい値が最小エリアを表す、請求項22に記載の方法。
【請求項２４】
前記受信されたシンタックス要素が拡張多重変換(EMT)フラグを備え、前記方法が、
前記EMTフラグが有効状態に設定されていると決定するステップと、
前記EMTフラグが前記有効状態に設定されていることに基づいて、前記符号化ブロックの前記複数のサブブロックのうちのそれぞれのサブブロックごとにそれぞれのEMTインデックスを復号するステップとをさらに備え、
前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを再構成するステップが、前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを、EMTコーディングツールを使用して再構成するステップを備える、
請求項22に記載の方法。
【請求項２５】
前記ブロックレベルしきい値が、最大サブブロックエリアを表し、前記コーディングツールが、イントラ予測またはインター予測のうちの少なくとも一方を備え、前記方法が、
前記複数のサブブロックのうちの前記最初のサブブロックが前記最大サブブロックエリアよりも小さいことに基づいて、前記最初のサブブロックがイントラ予測またはインター予測のうちの一方のみを使用して再構成されるべきであると決定するステップをさらに備える、
請求項22に記載の方法。
【請求項２６】
前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記ブロックレベルしきい値を適用するステップをさらに備える、請求項22に記載の方法。
【請求項２７】
前記複数のコーディングツールが、拡張多重変換(EMT)コーディングツール、位置依存型予測合成(PDPC)コーディングツール、非分離可能2次変換(NSST)コーディングツール、イントラ予測ツール、またはインター予測ツールのうちの2つ以上を含む、請求項26に記載の方法。
【請求項２８】
前記ブロックレベルしきい値が、複数のブロックレベルしきい値の中に含まれ、前記方法が、前記シンタックス要素がそれに対して受信される前記コーディングツールを含む複数のコーディングツールのうちの各それぞれのコーディングツールに、前記複数のブロックレベルしきい値のうちのそれぞれのブロックレベルしきい値を適用するステップをさらに備える、請求項22に記載の方法。
【請求項２９】
前記符号化ブロックが、記憶媒体に記憶された前記符号化ビデオデータの前記一部分の実ブロックを備え、前記方法が、
前記実ブロックに対応する仮想ブロックに関する前記シンタックス要素を受信する代わりに、前記実ブロックに関する前記シンタックス要素を受信するステップをさらに備える、
請求項22に記載の方法。
【請求項３０】
符号化ビデオデータを復号するための装置であって、
前記符号化ビデオデータの一部分に対するブロックレベルしきい値を決定するための手段と、
記憶媒体に記憶された前記符号化ビデオデータの前記一部分の符号化ブロックが、前記ブロックレベルしきい値に等しいかまたはそれよりも大きいサイズを有すると決定するための手段と、
前記符号化ブロックが4分木ベース区分方式または4分木+2分木ベース区分方式のうちの一方に従って複数のサブブロックに区分されていると決定するための手段と、
前記符号化ブロックの前記複数のサブブロックのうちの最初のサブブロックがコーディングツールを使用して再構成されるべきであることを示す、シンタックス要素を受信するための手段と、
前記符号化ブロックが前記ブロックレベルしきい値に等しいかまたはそれよりも大きい前記サイズを有することに基づいて、前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる複数のサンプルのうちのすべてのサンプルに前記シンタックス要素が適用されると決定するための手段と、
前記符号化ブロックの前記複数のサブブロックのうちのすべてのサブブロックの中に含まれる前記複数のサンプルのうちのすべてのサンプルを、前記コーディングツールを使用して再構成するための手段と
を備える装置。
【国際調査報告】
2019512965.tif 000015
2019512965.tif 000016
2019512965.tif 000017
2019512965.tif 000018
2019512965.tif 000019
2019512965.tif 000020