ビデオコーディングのための復号ピクチャバッファ動作

 

復号ピクチャバッファ(DPB)を複数のサブDPBに区分することと、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、少なくとも1つの指示に基づいて複数のサブDPBのためのメモリスペースを割り振ることとを備えるビデオデータを復号する方法。
【選択図】図9

 

 

優先権の主張
本出願は、その内容全体が参照により本明細書に組み込まれる、2013年7月15日に出願された米国仮特許出願第61/846,576号の利益を主張する。
本開示は、ビデオコーディングのための技法に関し、より詳細には、マルチレイヤビデオコーディングのための技法に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,アドバンストビデオコーディング(AVC:Advanced Video Coding)によって定義された規格、高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0004]H.264/AVCを含む、上述の規格のうちのいくつかの拡張が、マルチレイヤビデオコーディングのための技法を提供する。マルチレイヤビデオコーディング技法は、スケーラブルビデオコーディング技法と、マルチビュービデオコーディング技法と、マルチビュー+深度(multi-view plus depth)ビデオコーディング技法とを含み得る。ステレオビデオまたは3次元(「3D」)ビデオを生成するために、たとえば、マルチビューコーディングのための技法が、(H.264/AVCに対するスケーラブル拡張である)スケーラブルビデオコーディング(SVC:scalable video coding)規格、および(H.264/AVCに対するマルチビュー拡張になっている)マルチビュービデオコーディング(MVC:multi-view video coding)規格とともに、AVCにおいて使用するために提案されている。
[0005]概して、本開示では、マルチレイヤビデオコーディングのための技法について説明する。特に、本開示は、マルチレイヤビデオコーディングのための復号ピクチャバッファ(DPB:decoded picture buffer)管理に関する。
[0006]本開示の一例では、ビデオデータを復号する方法は、復号ピクチャバッファ(DPB)を複数のサブDPBに区分することと、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイント(operation point)のための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することとを備える。
[0007]本開示の別の例では、ビデオデータを復号するように構成された装置は、ビデオデータを記憶するように構成されたDPBと、DPBを複数のサブDPBに区分することと、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することとを行うように構成されたビデオデコーダとを備える。
[0008]本開示の別の例では、ビデオデータを復号するように構成された装置は、DPBを複数のサブDPBに区分するための手段と、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信するための手段とを備える。
[0009]別の例では、本開示では、実行されたとき、ビデオデータを復号するように構成されたデバイス1つまたは複数のプロセッサに、DPBを複数のサブDPBに区分することと、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することとを行わせる命令を記憶するコンピュータ可読記憶媒体について説明する。
[0010]本開示の別の例では、ビデオデータを符号化する方法は、複数の異なるレイヤタイプの複数のピクチャを再構成することと、複数のピクチャをDPBに記憶することと、ここにおいて、DPBが複数のサブDPBに区分される、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することとを備える。
[0011]本開示の別の例では、ビデオデータを符号化するように構成された装置は、ビデオデータを記憶するように構成されたDBPと、複数の異なるレイヤタイプの複数のピクチャを再構成することと、複数のピクチャをDPBに記憶することと、ここにおいて、DPBが複数のサブDPBに区分される、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することとを行うように構成されたビデオエンコーダとを備える。
[0012]本開示の別の例では、ビデオデータを符号化するように構成された装置は、複数の異なるレイヤタイプの複数のピクチャを再構成するための手段と、複数のピクチャをDPBに記憶するための手段と、ここにおいて、DPBが複数のサブDPBに区分される、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成するための手段とを備える。
[0013]別の例では、本開示では、実行されたとき、ビデオデータを符号化するように構成されたデバイスの1つまたは複数のプロセッサに、複数の異なるレイヤタイプの複数のピクチャを再構成することと、複数のレイヤピクチャをDPBに記憶することと、ここにおいて、DPBが複数のサブDPBに区分される、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することとを行わせる命令を記憶するコンピュータ可読媒体について説明する。
[0014]1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 例示的なマルチビュー復号順序を示す概念図。 マルチビューコーディングのための例示的な予測構造を示す概念図。 例示的なスケーラブルビデオコーディングレイヤを示す概念図。 本開示の例による例示的なDPBを示す概念図。 本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。 本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。 本開示の技法による例示的な符号化方法を示すフローチャート。 本開示の技法による例示的な復号方法を示すフローチャート。
[0024]概して、本開示では、マルチレイヤビデオコーディングにおける復号ピクチャバッファ(DPB)の管理のための技法について説明する。特に、本開示では、(サブDPBとも呼ばれる)DPBのサブユニットの管理のための様々な技法について説明する。以下でより詳細に説明するように、本開示の様々な例では、DBPは複数のサブDPBに区分され得、各サブDPBは、復号ビデオデータのレイヤの1つのタイプのピクチャを保持するように構成され得る。
[0025]本開示のコンテキストでは、レイヤは、スケーラブルビデオコーディングプロセスにおけるベースレイヤあるいは1つまたは複数のエンハンスメントレイヤであり得る。例示的なスケーラブルビデオコーディングプロセスは、H.264/SVC(スケーラブルビデオコーディング)、およびスケーラブルHEVC(SHVC)など、高効率ビデオコーディング(HEVC)規格のスケーラブル拡張を含む。さらに、レイヤは、マルチビューまたは3Dビデオコーディングにおける1つまたは複数のテクスチャビューを指し得る。さらに、3Dビデオコーディングにおける深度ビューもレイヤと見なされ得る。別の例として、レイヤは、テクスチャビューコンポーネントと深度ビューコンポーネントの両方を含むシングルビューに対応し得る。例示的なマルチビューコーディングプロセスは、H.264/MVC(マルチビューコーディング)、およびマルチビューHEVC(MV−HEVC)など、HEVC規格のマルチビュー拡張を含む。
[0026]したがって、「レイヤ」という用語は、本開示では、概して、スケーラブルビデオコーディングの意味ではベースレイヤおよび/またはエンハンスメントレイヤを指し、3Dおよびマルチビュービデオコーディングの意味ではテクスチャはビューおよび/または深度ビューを指すために使用される。したがって、マルチレイヤビデオコーディングという用語は、概して、スケーラブルビデオコーディング技法と、マルチビュービデオコーディング技法と、マルチビュー+深度コーディングを含む3Dビデオコーディング技法とを指す。本開示の技法は、マルチビュー拡張、3Dビデオ拡張、ならびにHEVCおよび/またはH.264/AVCのスケーラブル拡張を含む、そのようなビデオコーディングシナリオに適用され得る。
[0027]以下で説明する技法は、深度マップを用いたピクチャの2つまたはそれ以上のビューのコーディングを含む、アドバンストコーデックに基づく、スケーラブル、マルチビューおよび3Dビデオコーディング技法に適用され得る。ビデオコーディング規格は、ITU−T H.261と、ISO/IEC MPEG−1 Visualと、ITU−T H.262またはISO/IEC MPEG−2 Visualと、ITU−T H.263と、ISO/IEC MPEG−4 Visualと、それのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264とを含む。さらに、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)が、ITU−Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコーディング(JCT−VC:Joint Collaboration Team on Video Coding)によって開発された。HEVC規格は、ITU−T H.265、SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS、Infrastructure of Audiovisual Services−Coding of Moving Video、「High Efficiency Video Coding」、2013年4月(以下、「HEVC」)に記載されている。
[0028]HEVCに対する様々な拡張が提案されている。1つのそのような拡張はHEVC範囲拡張であり、HEVC範囲拡張は、「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4」、JCTVC−N1005_v1、2013年4月(以下、「JCTVC−N1005」)に記載されている。「 High efficiency video coding (HEVC) scalable extension draft 3」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオンビデオコーディング(JCT−VC:Joint Collaborative Team on Video Coding)、第14回会議:Vienna、AT、2013年7月25日〜8月2日と題し、以下でSHVC WD3と呼ばれる、スケーラブルHEVC(SHVC)規格の最近のワーキングドラフト(WD)は、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1008-v3.zipから入手可能である。また、HEVCに対するマルチビュー拡張、すなわちMV−HEVCがJCT−3Vによって開発されている。MV−HEVCの1つのワーキングドラフト(以下WD4)は、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/4_Incheon/wg11/JCT3V-D1004-v3.zipから入手可能である。「MV-HEVC Draft Text 8」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張、第8回会議:Valencia、ES、2014年3月29日〜4月4日と題する、MV−HEVCのより最近のワーキングドラフトは、http://phenix.it-sudparis.eu/jct3v/doc_end_user/documents/8_Valencia/wg11/JCT3V-H0002-v1.zip.から入手可能である。
[0029]図1は、本開示で説明するマルチレイヤビデオコーディングにおける復号ピクチャバッファ管理のための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0030]宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、ソースデバイス12が、符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0031]代替的に、符号化データは、出力インターフェース22からストレージデバイス34に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス34からアクセスされ得る。ストレージデバイス34は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス34は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス34から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス34からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0032]マルチレイヤビデオ復号における復号ピクチャバッファ管理のための本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0033]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0034]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス34上に記憶され得る。
[0035]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信され、またはストレージデバイス34上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30など、ビデオデコーダが使用するためのビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
[0036]ディスプレイデバイス32は、宛先デバイス14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0037]ビデオエンコーダ20およびビデオデコーダ30は、高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM:HEVC Test Model)に準拠し得る。特に、いくつかの例では、ビデオエンコーダ20およびビデオデコーダは、スケーラブル、マルチビュー、および/またはマルチビュー+深度ビデオコーディングをサポートする、HEVCの拡張に従って動作し得る。他の例では、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part10,アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいは、H.264/SVCを含む、そのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としてはMPEG−2およびITU−T H.263がある。特に、本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、スケーラブル(たとえば、SHVC)および/またはマルチビュー符号化(たとえば、MV−HEVC)が可能なビデオコーディング規格に従って動作し得る。
[0038]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0039]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0040]本開示の以下のセクションでは、HEVC規格の背景を与える。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づいていた。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを与えるが、HMは33個ものイントラ予測符号化モードを与え得る。
[0041]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む(コーディングツリーブロック(CTB:coding tree block)または最大コーディングユニット(LCU:largest coding unit)とも呼ばれる)一連のツリーブロックに分割され得ることを記載している。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木(quadtree)に従ってコーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
[0042]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、概して、コーディングノードのサイズに対応し、一般に、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルをもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含んでいることがある。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
[0043]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
[0044]概して、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、予測方向によって示され得る、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0045]概して、TUは、変換プロセスと量子化プロセスとのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)をも含み得る。予測に続いて、ビデオエンコーダ20は、PUに従ってコーディングノードによって識別されたビデオブロックから残差値を計算し得る。コーディングノードは、次いで、元のビデオブロックではなく、残差値を参照するように更新される。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するためにTU中で指定された変換と他の変換情報とを使用して変換係数に変換され、量子化され、走査され得る。コーディングノードは、これらのシリアル化変換係数を参照するように、もう一度更新され得る。本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードならびにPUおよびTUを含む、ツリーブロック、すなわち、CTB、LCU、またはCUを指すためも「ビデオブロック」という用語を使用し得る。
[0046]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP:group of picture)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
[0047]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0048]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
[0049]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUによって指定された変換が適用される残差データを計算し得る。残差データは、符号化されていないピクチャのピクセルと、CUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを形成し、次いで、残差データを変換して、変換係数を生成し得る。
[0050]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0051]いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0052]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0053]また、HEVC拡張がJCT−3VおよびJCT−VCにおいて現在開発中である。JCT−3Vでは、2つのマルチビュー関係HEVC拡張、マルチビュー拡張(MV−HEVC)と3Dビデオ拡張(3D−HEVC)とが開発されている。さらに、2つのAVC拡張、MVC+Dと3D−AVCとが開発されている。
[0054]進行中の規格の例示的なバージョンは次のように記載されている。
− http://phenix.int-evry.fr/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1001-v3.zipにおいて入手可能である、T.Suzuki、M.M.Hannuksela、Y.Chen、S.Hattori、G.Sullivan、「MVC Extension for Inclusion of Depth Maps Draft Text 6」、JCT3V−C1001、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、第4回会議。
− http://phenix.int-evry.fr/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1002-v3.zipにおいて入手可能である、M.M.Hannuksela、Y.Chen、T.Suzuki、J.−R.Ohm、G.Sullivan、「3D-AVC Draft Text 8」、JCT3V−F1002、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、第6回会議。
− http://phenix.int-evry.fr/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1004-v6.zipにおいて入手可能である、JCT3V−F1004、「MV-HEVC Draft Text 6」、G.Tech、K.Wegner、Y.Chen、M.Hannuksela、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、第6回会議。
− http://phenix.int-evry.fr/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1001-v2において入手可能である、Gerhard Tech、Krzysztof Wenger、Ying Chen、Sehoon Yea、「3D-HEVC Draft Text 2」、JCT3V−F1001、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、第6回会議。
[0055]次に、H.264/アドバンストビデオコーディング(AVC)規格の拡張のマルチビュービデオコーディング技法について説明する。ただし、本開示の技法は、新生のHEVC規格(たとえば、MV−HEVCおよび3D−HEVC)のためのマルチビューコーディングおよび/または3Dコーディングマルチビュー提案をサポートする任意のビデオコーディング規格とともに適用可能であり得る。
[0056]マルチビュービデオコーディング(MVC)はH.264/AVCの拡張である。典型的なMVC復号順序(すなわち、ビットストリーム順序)を図2に示す。復号順序構成は時間優先(time-first)コーディングと呼ばれる。アクセスユニットの復号順序はアクセスユニットの出力順序または表示順序と同じでないことがあることに留意されたい。図2では、S0〜S7はそれぞれ、マルチビュービデオの異なるビューを指す。T1〜T9はそれぞれ、1つの出力時間インスタンスを表す。アクセスユニットは、1つの出力時間インスタンスについてのすべてのビューのコード化ピクチャを含み得る。たとえば、第1のアクセスユニットは時間インスタンスT1についてのビューS0〜S7のすべてを含み得、第2のアクセスユニットは時間インスタンスT2についてのビューS0〜S7のすべてを含み得、以下同様である。
[0057]簡潔のために、本開示では、以下の定義を使用し得る。
ビューコンポーネント:単一のアクセスユニット中のビューのコード化表現。ビューがコード化テクスチャ表現と深度表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネントと深度ビューコンポーネントとを含み得る。
テクスチャビューコンポーネント:単一のアクセスユニット中のビューのテクスチャのコード化表現。
深度ビューコンポーネント:単一のアクセスユニット中のビューの深度のコード化表現。
[0058]上記で説明したように、本開示のコンテキストでは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントの各々は一般にレイヤと呼ばれることがある。図2では、ビューの各々はピクチャのセットを含む。たとえば、ビューS0はピクチャ0、8、16、24、32、40、48、56、および64のセットを含み、ビューS1はピクチャ1、9、17、25、33、41、49、57、および65のセットを含み、以下同様である。各セットは2つのタイプのピクチャを含み、一方のピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントと深度ビューコンポーネントは、互いに対応すると見なされ得る。たとえば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の深度ビューコンポーネントに対応すると見なされ、その逆も同様である(すなわち、深度ビューコンポーネントはセット中のそれのテクスチャビューコンポーネントに対応し、その逆も同様である)。本開示で使用する、深度ビューコンポーネントに対応するテクスチャビューコンポーネントは、単一のアクセスユニット中の深度コンポーネントと同じビューの一部であると見なされ得る。
[0059]テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。たとえば、テクスチャビューコンポーネントは、ルーマ(Y)成分と、クロマ(CbおよびCr)成分とを含み得る。深度ビューコンポーネントは、深度ビューコンポーネントの対応するテクスチャビューコンポーネント中のピクセルの相対深度を示し得る。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビューコンポーネントは、画像コンテンツを搬送するのではなく、対応するテクスチャビューコンポーネント中のピクセルの相対深度の測度を与え得る。
[0060]たとえば、深度ビューコンポーネント中の純白のピクセルは、対応するテクスチャビューコンポーネント中のそれの対応する1つまたは複数のピクセルが閲覧者から見てより近いことを示し、深度ビューコンポーネント中の純黒のピクセルは、対応するテクスチャビューコンポーネント中のそれの対応する1つまたは複数のピクセルが閲覧者から見てより遠いことを示す。黒と白の中間のグレーの様々な色合いは、深度ビュー中のピクセルのグレーの色合いの暗さの増加が、テクスチャビュー中の対応するピクセルに関連する深度のレベルの増加を示すように、異なる深度レベルを示す。たとえば、深度ビューコンポーネント中の濃いグレーのピクセルは、テクスチャビューコンポーネント中のそれの対応するピクセルが、深度ビューコンポーネント中のより薄いグレーのピクセルよりも遠いことを示す。ピクセルの深度を識別するためにグレースケールのみが必要とされるので、深度ビューコンポーネントの色値がいかなる目的も果たし得ないことから、深度ビューコンポーネントはクロマ成分を含む必要がない。
[0061]深度を識別するためにルーマ値(たとえば、強度値)のみを使用する深度ビューコンポーネントが説明のために与えられ、限定するものと見なされるべきではない。他の例では、テクスチャビューコンポーネント中のピクセルの相対深度を示すために任意の技法が利用され得る。
[0062]マルチビュービデオコーディングのための(各ビュー内のピクチャ間予測とビュー間予測の両方を含む)典型的なMVC予測構造を図3に示す。予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。MVCでは、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にするディスパリティ(disparity)動き補償により、ビュー間予測がサポートされる。
[0063]図3の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、各ビューについて12個の時間ロケーション(「T0」〜「T11」)が示されている。すなわち、図3中の各行はビューに対応し、各列は時間ロケーションを示す。
[0064]MVCがH.264/AVCデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがMVCによってサポートされ得るが、MVCの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートすることができることである。MVCデコーダを有するクライアントのレンダラ(renderer)は、複数のビューをもつ3Dビデオコンテンツを予想し得る。
[0065]図3中のピクチャは、各行と各列との交点に示されている。H.264/AVC規格は、ビデオの一部分を表すためにフレームという用語を使用し得る。本開示では、ピクチャという用語とフレームという用語とを互換的に使用し得る。
[0066]図3中のピクチャは、対応するピクチャがイントラコーディングされる(すなわち、Iピクチャである)か、あるいは一方向に(すなわち、Pピクチャとして)または複数の方向に(すなわち、Bピクチャとして)インターコーディングされるかを指定する、文字を含むブロックを使用して示されている。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。たとえば、時間ロケーションT0にあるビューS2のPピクチャは、時間ロケーションT0にあるビューS0のIピクチャから予測される。
[0067]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのピクチャは、異なる時間ロケーションにあるピクチャに対して予測符号化され得る。たとえば、時間ロケーションT1にあるビューS0のbピクチャは、時間ロケーションT0にあるビューS0のIピクチャからそのbピクチャに向けられた矢印を有し、その矢印は、bピクチャがIピクチャから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。MVCでは、たとえば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS:Sequence Parameter Set)MVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。ビュー間予測は、3D−HEVC(マルチビュー+深度)を含むHEVCの提案されたマルチビュー拡張の機能でもある。
[0068]図3は、ビュー間予測の様々な例を与える。図3の例では、ビューS1のピクチャは、ビューS1の異なる時間ロケーションにあるピクチャから予測されるものとして、ならびに同じ時間ロケーションにあるビューS0およびS2のピクチャからビュー間予測されるものとして示されている。たとえば、時間ロケーションT1にあるビューS1のbピクチャは、時間ロケーションT0およびT2にあるビューS1のBピクチャの各々、ならびに時間ロケーションT1にあるビューS0およびビューS2のbピクチャから予測される。
[0069]いくつかの例では、図3は、テクスチャビューコンポーネントを示すものとして見られ得る。たとえば、図3に示されているIピクチャ、Pピクチャ、Bピクチャ、およびbピクチャは、ビューの各々のためのテクスチャビューコンポーネントと見なされ得る。本開示で説明する技法によれば、図3に示されているテクスチャビューコンポーネントの各々について、対応する深度ビューコンポーネントがある。いくつかの例では、深度ビューコンポーネントは、対応するテクスチャビューコンポーネントについて図3に示されている様式と同様の様式で予測され得る。
[0070]2つのビューのコーディングもMVCによってサポートされ得る。MVCの利点のうちの1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとり得、MVCデコーダがそのようなマルチビュー表現を復号し得ることである。したがって、MVCデコーダをもつどんなレンダラも、3つ以上のビューをもつ3Dビデオコンテンツを復号し得る。
[0071]上記で説明したように、MVCでは、(いくつかの事例では、同じ時間インスタンスをもつことを意味する)同じアクセスユニット中のピクチャ間でビュー間予測が可能になる。非ベースビューのうちの1つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測の参照ピクチャは、任意のインター予測の参照ピクチャとまったく同様に、参照ピクチャリストの任意の位置に置かれ得る。図3に示されているように、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。MVCでは、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
[0072]図3に示されているように、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。これはビュー間予測と呼ばれる。MVCでは、別のビュー中のビューコンポーネントがインター予測の参照であるかのように、ビュー間予測が実現される。しかしながら、潜在的なビュー間参照は、(表1に示すように)シーケンスパラメータセット(SPS)MVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。
[0073]


[0074]SPS MVC拡張では、ビューごとに、参照ピクチャリスト0と参照ピクチャリスト1とを形成するために使用され得るビューの数がシグナリングされる。SPS MVC拡張においてシグナリングされるアンカーピクチャについての予測関係は、同じビューの(SPS MVC拡張においてシグナリングされる)非アンカーピクチャについての予測関係とは異なり得る。
[0075]次のセクションでは、HEVCに関するマルチビューおよび3Dビデオコーディングについて説明する。特に、本開示の例示的な技法は、2つまたはそれ以上のビューをコーディングするときに適用可能である。各ビューについての複数のビデオピクチャはテクスチャビューコンポーネントと呼ばれることがある。3D−HEVCでは、各テクスチャビューコンポーネントは、対応する深度ビューコンポーネントを有し得る。MV−HEVCは深度ビューコンポーネントを使用しない。テクスチャビューコンポーネントはビデオコンテンツ(たとえば、ピクセル値のルーマ成分およびクロマ成分)を含み、深度ビューコンポーネントはテクスチャビューコンポーネント内のピクセルの相対深度を示し得る。
[0076]本開示の例示的な技法は、テクスチャデータ、またはテクスチャデータおよび深度データをコーディングすることによって3Dビデオデータをコーディングすることに関する。概して、「テクスチャ」という用語は、画像のルミナンス(すなわち、輝度または「ルーマ」)値と画像のクロミナンス(すなわち、色または「クロマ」)値とを表すために使用される。いくつかの例では、テクスチャ画像は、1セットのルミナンスデータと、青色相(Cb)および赤色相(Cr)のための2セットのクロミナンスデータとを含み得る。4:2:2または4:2:0などの特定のクロマフォーマットでは、クロマデータは、ルーマデータに関してダウンサンプリングされる。すなわち、クロミナンス成分の空間解像度は、対応するルミナンス成分の空間解像度よりも低く、たとえば、ルミナンス解像度の1/2または1/4である。
[0077]深度データは、概して、対応するテクスチャデータの深度値を表す。たとえば、深度画像は、各々が対応するテクスチャデータの深度を表す深度ピクセルのセットを含み得る。深度データは、対応するテクスチャデータの水平ディスパリティを決定するために使用され得る。したがって、テクスチャデータと深度データとを受信するデバイスは、一方のビュー(たとえば、左眼ビュー)のための第1のテクスチャ画像を表示し、深度値に基づいて決定された水平ディスパリティ値だけ第1の画像のピクセル値をオフセットすることによって、他方のビュー(たとえば、右眼ビュー)のための第2のテクスチャ画像を生成するように第1のテクスチャ画像を変更するために深度データを使用し得る。概して、水平ディスパリティ(または単に「ディスパリティ」)は、第2のビュー中の対応するピクセルに対する第1のビュー中のピクセルの水平空間オフセットを表し、2つのピクセルは、2つのビュー中で表される同じオブジェクトの同じ部分に対応する。
[0078]さらに他の例では、画像について定義されたゼロディスパリティ平面に対して所与のピクセルに関連する深度が定義されるように、画像平面に直交するz次元におけるピクセルについて深度データが定義され得る。そのような深度は、ピクセルを表示するための水平ディスパリティを作成するために使用され得、その結果として、ピクセルは、ゼロディスパリティ平面に対するピクセルのz次元深度値に応じて、左眼と右眼とで異なるように表示される。ゼロディスパリティ平面は、ビデオシーケンスの異なる部分に対して変化し得、ゼロディスパリティ平面に対する深度の量も変化し得る。ゼロディスパリティ平面上に位置するピクセルは、左眼と右眼とに対して同様に定義され得る。ゼロディスパリティ平面の前に位置するピクセルは、ピクセルが画像平面に直交するz方向の画像から出てくるように見える知覚を作成するように、(たとえば、水平ディスパリティを用いて)左眼と右眼とに対して異なるロケーションで表示され得る。ゼロディスパリティ平面の後に位置するピクセルは、深度のわずかな知覚を提示するために、わずかなぼかしとともに表示され得るか、または(たとえば、ゼロディスパリティ平面の前に位置するピクセルの水平ディスパリティとは反対の水平ディスパリティを用いて)左眼と右眼とに対して異なるロケーションで表示され得る。他の多くの技法も、画像の深度データを伝達または定義するために使用され得る。
[0079]深度ビューコンポーネント中の各ピクセルについて、テクスチャビューコンポーネント中の1つまたは複数の対応するピクセルがあり得る。たとえば、深度ビューコンポーネントの空間解像度とテクスチャビューコンポーネントの空間解像度が同じである場合、深度ビューコンポーネント中の各ピクセルはテクスチャビューコンポーネント中の1つのピクセルに対応する。深度ビューコンポーネントの空間解像度がテクスチャビューコンポーネントの空間解像度よりも小さい場合、深度ビューコンポーネント中の各ピクセルは、テクスチャビューコンポーネント中の複数のピクセルに対応する。深度ビューコンポーネント中のピクセルの値は、テクスチャビュー中の対応する1つまたは複数のピクセルの相対深度を示し得る。
[0080]いくつかの例では、ビデオエンコーダは、ビューの各々についてのテクスチャビューコンポーネントと対応する深度ビューコンポーネントとのビデオデータをシグナリングする。ビデオデコーダは、テクスチャビューコンポーネントと深度ビューコンポーネントとの両方のビデオデータを利用して、表示のためにビューのビデオコンテンツを復号する。次いで、ディスプレイは、マルチビュービデオを表示して、3Dビデオを生成する。
[0081]また、HEVCのスケーラブル拡張がJCT−VCによって開発されている。図4は、スケーラブルビデオコーディングの一例を示す概念図である。図4について、H.264/AVCおよびSVCに関して説明するが、同様のレイヤは、HEVCのスケーラブル拡張を含む、他のマルチレイヤビデオコーディング方式を使用してコーディングされ得ることを理解されたい。図4の例は、同じコーデックを使用してコーディングされるレイヤを示す。他の例では、レイヤは、マルチスタンダードコーデックを使用してコーディングされ得る。たとえば、ベースレイヤは、H.264/AVCを使用してコーディングされ得るが、エンハンスメントレイヤは、HEVCに対するスケーラブル拡張を使用してコーディングされ得る。したがって、以下のSVCへの参照は、概してスケーラブルビデオコーディングに適用され得、H.264/SVCに限定されない。
[0082]SVCでは、スケーラビリティは、たとえば、(ビットレートまたは信号対雑音比(SNR)として表される)空間次元、時間次元、および品質次元を含む3次元において可能になり得る。概して、通常、任意の次元における表現を追加することによって、より良い表現が達成され得る。たとえば、図4の例では、レイヤ0は、7.5Hzのフレームレートと64キロバイト毎秒(KBPS)のビットレートとを有する1/4共通中間フォーマット(QCIF:Quarter Common Intermediate Format)においてコーディングされる。さらに、レイヤ1は、15Hzのフレームレートと64KBPSのビットレートとを有するQCIFにおいてコーディングされ、レイヤ2は、15Hzのフレームレートと256KBPSのビットレートとを有するCIFにおいてコーディングされ、レイヤ3は、7.5Hzのフレームレートと512KBPSのビットレートとを有するQCIFにおいてコーディングされ、レイヤ4は、30Hzのフレームレートとメガバイト毎秒(MBPS)のビットレートとを有する4CIFにおいてコーディングされる。図4に示されているレイヤの特定の数、コンテンツおよび構成は例として与えたものにすぎないことを理解されたい。
[0083]いずれの場合も、ビデオエンコーダ(ビデオエンコーダ20など)がそのようなスケーラブルな方法でコンテンツを符号化すると、ビデオデコーダ(ビデオデコーダ30など)は、抽出器ツールを使用して、たとえば、クライアントまたは送信チャネルに依存し得るアプリケーション要件に従って実際の配信されたコンテンツを適応させ得る。
[0084]SVCでは、最低空間と品質レイヤとを有するピクチャは、通常、H.264/AVCに適合する。図4の例では、最低空間と品質レイヤとをもつピクチャ(たとえば、QCIF解像度をもつ、レイヤ0およびレイヤ1中のピクチャ)は、H.264/AVCに適合し得る。それらの中で、最低時間レベルのピクチャは時間ベースレイヤ(たとえば、レイヤ0)を形成する。この時間ベースレイヤ(たとえば、レイヤ0)は、より高い時間レベル(たとえば、レイヤ1)のピクチャを用いて拡張され得る。
[0085]H.264/AVC適合レイヤに加えて、空間スケーラビリティおよび/または品質スケーラビリティを実現するために、いくつかの空間エンハンスメントレイヤおよび/または品質エンハンスメントレイヤが追加され得る。各空間または品質エンハンスメントレイヤ自体は、H.264/AVC適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。
[0086]上記で説明した、「レイヤ」という用語は、本開示では、概して、スケーラブルビデオコーディングの意味では個々のベースレイヤまたは個々のエンハンスメントレイヤを指し、3Dおよびマルチビュービデオコーディングの意味ではテクスチャはビューおよび/または深度ビューを指すために使用される。レイヤ(たとえば、MV−HEVCレイヤまたはSHVCレイヤ)の各々のためのピクチャが、たとえば、ビデオデコーダ30、またはビデオエンコーダ20の再構成ループによって復号されると、復号レイヤのためのピクチャはDPBに記憶される。DPBは、ピクチャ、および、本開示内では、マルチレイヤビデオコーディング技法を使用するときの復号レイヤのピクチャを記憶するために使用されるバッファまたはメモリである。DPBに記憶された復号レイヤのピクチャは、出力並べ替え、および出力遅延のために、(動き補償、ビュー間予測およびレイヤ間予測を含む)インター予測のための参照として使用され得る。
[0087]本開示の様々な例によれば、DPBは、(たとえば、サブDPBと呼ばれる)サブユニットに区分され得る。各サブDPBは、次いで、特定のレイヤタイプのための(1つまたは複数の)ピクチャ、またはより一般的には、ピクチャ情報を記憶するように構成され得る。たとえば、DPBは、1つのサブDPBがスケーラブルビデオコーディングプロセスのためのベースレイヤのピクチャを記憶するように構成されるように区分され得る。別のサブDPBは、スケーラブルビデオコーディングプロセスの第1のエンハンスメントレイヤのピクチャを記憶するように構成され得る。また別のサブDPBは、スケーラブルビデオコーディングプロセスの第2のエンハンスメントレイヤのピクチャを記憶するように構成され得、以下同様である。
[0088]図5は、異なる復号レイヤコンポーネント(たとえば、異なるレイヤタイプのためのピクチャ)を異なるサブユニットに記憶するように構成されたDPB900を示す概念図である。DPB900はビデオデコーダおよび/またはビデオエンコーダ(たとえば、ビデオエンコーダ20およびビデオデコーダ30)の一部を形成し得る。サブDPB910A〜Dの各々は、異なるタイプの復号レイヤの(1つまたは複数の)ピクチャのための記憶ロケーションを表す。たとえば、サブDPB910Aは、MV−HEVC適合ビデオビットストリームのためのベースビューの1つまたは複数のテクスチャピクチャを記憶するように構成され得、サブDPB910Bは、MV−HEVC適合ビデオビットストリームのための依存ビューのテクスチャピクチャを記憶するために使用され得る。同様に、サブDPB910Cは、スケーラブルビデオコーディングプロセス(たとえば、SHVC)においてベースレイヤのピクチャを記憶するために使用され得、サブDPB910Dは、スケーラブルビデオコーディングプロセスにおけるエンハンスメントレイヤのためのピクチャの1つのレベルを記憶するために使用され得る。追加のサブDPBは、エンハンスメントレイヤの追加のレベルのピクチャまたは追加のテクスチャ依存ビューのピクチャを記憶するように構成され得る。サブDPB910A〜Dの各々は、サブDPBに関連する特定のレイヤタイプのための復号レイヤの1つまたは複数のピクチャを記憶するように構成された別個のユニットを含んでいる。
[0089]ビデオデコーダ30は、複数のサブDPB910A〜Dから復号レイヤのピクチャを削除するようにさらに構成され得る。いくつかの例では、各所与のサブDPB(たとえば、サブDPB910A)からのピクチャの削除は別個に管理され得る。他の例では、ピクチャは、オペレーションポイントに基づいて1つまたは複数のサブDPBから削除され得る。特定のオペレーションポイントが、出力されるべき特定のピクチャのために復号される特定の数のレイヤに関連する。たとえば、SHVCでは、1つのオペレーションポイントは、復号されるべきベースレイヤのピクチャのみを必要とし得る。SHVCのための別のオペレーションポイントでは、出力ピクチャを生成するために、ベースレイヤのピクチャおよび1つまたは複数のエンハンスメントレイヤのピクチャが復号され得る。ベースレイヤのピクチャと1つまたは複数のエンハンスメントレイヤのピクチャの両方を必要とするオペレーションポイントでは、ピクチャの削除は、そのオペレーションポイントのために使用されるあらゆるサブDPB(すなわち、出力されるべきピクチャのために使用されるレイヤのためのピクチャを記憶するあらゆるサブDPB)について実行され得る。すなわち、所与のオペレーションポイントに関連する、ベースレイヤのピクチャおよび1つまたは複数のエンハンスメントレイヤの対応するピクチャは、それらのそれぞれのサブDPBから同時に削除され得る。
[0090] ビデオエンコーダ20およびビデオデコーダ30は、複数のサブDPB910A〜D中の復号レイヤコンポーネント(たとえば、レイヤのピクチャ)を、参照のために使用されないとマークするか、または参照のために使用されるとマークするようにさらに構成され得る。この場合も、ピクチャを参照のために使用されないとマークするためのプロセスは各サブDPBについて別個に実行され得る。すなわち、ビデオエンコーダ20およびビデオデコーダ30は、複数のサブDPBの各々中のピクチャに対してマーキングプロセスを独立して実行するように構成され得、ここにおいて、マーキングプロセスは、ピクチャを参照のために使用されるとマークするか、またはピクチャを参照のために使用されないとマークする。別の例では、マーキングプロセスは、特定のオペレーションポイントに関係する特定の数のレイヤのためのピクチャを記憶するすべてのサブDPBについて実行され得る。
[0091]HEVC、および他のビデオコーディング規格では、DPB900の動作は、しばしば、仮想参照デコーダ(HRD:hypothetical reference decoder)に関して指定される。ビデオエンコーダ20およびビデオデコーダ30は、DPB900に記憶された復号ピクチャを、「参照のために使用されない」(すなわち、インター予測プロセスのために参照ピクチャとして使用されることができない)とマークすることと、(たとえば、ディスプレイデバイス32への)出力のために復号ピクチャをマークすることと、(「バンピング」としても知られる)DPB900からの削除のためにピクチャをマークすることとを含む、様々なアクションを実行するためにDPB900を管理するように構成され得る。ピクチャが、インター予測のために参照ピクチャとしてもはや必要とされず、出力のためにもはや必要とされないとき、ピクチャは、一般に、DPB900から削除される(すなわち、バンプされる)。
[0092]ビットストリームのコンフォーマンスは、HRDの挙動を定義することによって指定される。DPB900は、HRDの構成要素であると見なされ得る。上記で説明したように、DPB900は、再構成されたピクチャをビデオエンコーダ(たとえば、ビデオエンコーダ20)に記憶するか、または復号ピクチャをビデオデコーダ(たとえば、ビデオデコーダ30)に記憶するように構成された1つまたは複数のメモリユニットとして実装され得る。SHVCおよびMV−HEVCのためのいくつかの提案では、DPB動作は明確に指定されていないが、単純な仮定は、同じ出力時間をもつすべてのピクチャが同じ時刻にDPB900に到着する(すなわち、DPB900に記憶される)ということである。DPB900からのピクチャの出力は、HRDパラメータがどのように定義されるかに基づいて決定される。
[0093]たとえば、HRDパラメータは出力順序コンフォーマンスのために定義され得る。一例として、復号レイヤピクチャの出力順序は、それの値が、特定のレイヤのために存在するピクチャの数を指定する、1つまたは複数のシンタックス要素によって指定され得る。別の例として、出力時間コンフォーマンスでは、出力時間は、それの値がピクチャ出力時間を示す1つまたは複数のシンタックス要素によって指定され得る。ビデオデコーダ30は、符号化ビデオビットストリーム中でシグナリングされるパラメータの値からHRD設定を導出するように構成され得る。HRDパラメータは、(たとえば、hrd_parameters( )と呼ばれる)データフォーマット構造中でシグナリングされ得る。例示的なパラメータは、バッファリング期間補足エンハンスメント情報(SEI:supplemental enhancement information)メッセージとピクチャタイミングSEIメッセージとを含み得る。いくつかの例では、サブピクチャ復号SEIメッセージも定義され得る。いくつかの例では、DPB900中のピクチャの出力は、同じ出力時間に関連するすべてのピクチャが同時に出力されるように行われる。本開示の例では、異なるサブDPB中のピクチャは、各サブDPBが同じ出力時間に関連する場合、同時に出力され得る。
[0094]HEVCのためのいくつかの例示的な提案では、DPB動作に関係するパラメータは、シーケンスパラメータセット(SPS)および/またはビデオパラメータセット(VPS:video parameter set)のうちの1つまたは複数の中でシグナリングされる。SPSは、ピクチャパラメータセット(PPS:picture parameter set)および/またはスライスヘッダ中で見つけられるシンタックス要素の値によって示される0個またはそれ以上のコード化ビデオシーケンス(CVS:coded video sequence)全体に適用されるシンタックス要素を含んでいるシンタックス構造である。VPSは、SPS、PPS、および/またはスライスヘッダ中で見つけられるシンタックス要素の値によって決定される0個またはそれ以上のCVS全体に適用されるシンタックス要素を含んでいるシンタックス構造である。概して、VPS中でシグナリングされるシンタックス要素は、SPS中でシグナリングされるシンタックス要素が適用されるピクチャの数よりも大きいピクチャの数に適用される。CVSは、復号順序では、ランダムアクセスピクチャを含んでいるアクセスユニット(AU)と、その後に続く、ランダムアクセスピクチャを含まない0個またはそれ以上の他のAUとからなる、アクセスユニットのシーケンスである。アクセスユニットは、復号順序で連続しており、ちょうど1つのコード化ピクチャを含んでいる、ネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットのセットである。
[0095]DPB動作に関係する例示的なシンタックス要素は、限定はしないが、それぞれがSPSおよび/またはVPS中でシグナリングされ得る、max_dec_pic_buffering_minus1シンタックス要素、max_num_reorder_picsシンタックス要素、およびmax_latency_increase_plus1シンタックス要素を含む。max_dec_pic_buffering_minus1シンタックス要素の値は、ピクチャバッファの単位でのCVSのためのDPBの最大所要サイズを指定する。すなわち、DPBまたはサブDPBは1つまたは複数のピクチャバッファに区分され得、ここで、各ピクチャバッファはピクチャ(たとえば、復号レイヤピクチャ)を記憶する。いくつかの例では、max_dec_pic_buffering_minus1の値は、0からある所定の最大DPBサイズの範囲に制限される。max_num_reorder_picsシンタックス要素の値は、復号順序でCVS中の任意のピクチャに先行し、出力順序でその同じピクチャに後続することができるピクチャの最大許容数を指定する。max_latency_increase_plus1シンタックス要素の値は、0に等しくないとき、出力順序でCVS中の任意のピクチャに先行し、復号順序でその同じピクチャに後続することができるピクチャの最大数を決定するために使用される。
[0096]HEVCのためのいくつかの例示的な提案は、たとえば、sub_layer_ordering_info_present_flagの値が1に等しい場合、各サブレイヤのための上述のDPBパラメータのシグナリングを可能にする。サブレイヤは、時間スケーラブルビットストリームの時間スケーラブルレイヤ(たとえば、SHVCビットストリームのベースレイヤまたはエンハンスメントレイヤ)である。この例示的な提案によれば、サブレイヤシグナリングが可能にされたとき、ただ1つの値がシンタックス要素の各々についてシグナリングされ、これらのシンタックス要素の各々のシグナリングされた値(すなわち、max_dec_pic_buffering_minus1シンタックス要素、max_num_reorder_picsシンタックス要素、およびmax_latency_increase_plus1シンタックス要素)は、すべての時間サブレイヤについて同じであると推論される(すなわち、明示的シグナリングの受信なしに決定される)。そうではなく、サブレイヤシグナリングが可能にされない(たとえば、シンタックス要素sub_layer_ordering_info_present_flagの値が0に等しい)とき、DPBシンタックス要素の値は各サブレイヤについて明示的にシグナリングされる。SPS中のこれらのパラメータのシグナリングは、以下の表2でイタリック体で強調される。同様のシグナリングがVPS中で使用され得る。
[0097]


[0098](HEVC1と呼ばれることがある)HEVCのベースバージョンでは、(たとえば、0に等しい値を有するシンタックス要素nuh_layer_idによって示されるように)単一のレイヤのみが存在し、したがって、復号されるレイヤセットと出力されるレイヤセットとが同じである。マルチレイヤビデオコーディング(たとえばSHVCまたはMV−HEVC)のコンテキストでは、レイヤセットの総数がすべて、あらゆるオペレーションポイントのために出力されるとは限らないので、レイヤセットと出力レイヤセットとの数が必ずしも同じであるとは限らない。すなわち、SHVCオペレーションポイントは、しばしば、ベースレイヤおよび1つまたは複数のエンハンスメントレイヤの復号を含む。同様に、MV−HEVCオペレーションポイントは、しばしば、2つまたはそれ以上のビューの復号を含む。しかしながら、すべてのレイヤまたはビューが所与のピクチャを出力するために使用されるとは限らない。この特徴に鑑みて、本開示は、DPBサイズがクロスレイヤ特性であるので、VPS中でDPBおよび/またはサブDPBサイズをシグナリングすることを提案する。すなわち、互いに復号され、出力されるレイヤの数は、異なるDPBサイズを必要とし得る。1つまたは複数のオペレーションポイントのために必要とされるレイヤセットがVPSレベルでシグナリングされるので、VPSレベルで1つまたは複数のオペレーションポイントのためのサブDPBサイズの少なくとも1つの指示をもシグナリングすることによって、シグナリング効率が達成され得る。サブDPBサイズの指示がオペレーションポイントのためにシグナリングされるので、下位レベルシンタックス構造(たとえば、SPS、PPS、またはスライスヘッダ)においてそのような指示をシグナリングすることにより、オペレーションポイントのためのレイヤセットのみがVPSレベルで変化するので、サブDPBサイズの冗長シグナリングが生じ得る。
[0099]次に、DPBからのピクチャの削除のための技法について説明する。HEVCのための例技法は、DPBからのピクチャの削除を指定する2つの方法を伴う。それらはピクチャベースのDPB削除プロセスとAUベースのDPB削除プロセスとを含む。ピクチャベースのDPB削除プロセスでは、1つのAU中のピクチャが異なる時間に個々に削除され得る。AUベースのDPB削除ピクチャでは、AU中のすべてのピクチャが同時に削除される。SHVCおよびMV−HEVCのためのDPB削除動作のための現在の提案は、ピクチャがどのように削除されるべきであるかを明確に指定しない。
[0100]MV−HEVCおよびSHVCのためのDPBシグナリングおよび動作のための現在の提案は以下の問題を呈する。初めに、DPB動作の多くの態様は、特に、多数の異なる可能なオペレーションポイントを与えられるマルチレイヤビデオコーディングプロセスにおけるDPB動作のための異なる要件の可能性に鑑みて、明確に指定されていない。
[0101]さらに、マルチレイヤコーディングプロセスにおけるDPB動作のための現在の提案は、すべてのオペレーションポイントについて柔軟性がなく、準最適であり得る、レイヤ固有様式で定義される。たとえば、DPB動作のためのいくつかの提案では、ピクチャは、同じレイヤ中のまたは同じAU中のピクチャのためにのみ「参照のために使用されない」とマークされ得る。別の例として、MV−HEVCのための1つの提案のためのバンピングプロセスでは、ビデオデコーダは、シグナリングされた現在レイヤのための復号ピクチャサイズを決定するように要求され、現在復号されたピクチャの同じレイヤ中のピクチャのためのバンピングプロセスのみを適用し得る。
[0102]別の欠点として、DPBサイズは、現在、SPS中でシグナリングされている。しかしながら、DPBサイズがあるオペレーションポイントに固有であり得るので、SPS中でDPBサイズをシグナリングすることは重複し、非効率的である。いくつかの例では、オペレーションポイントはVPSレベルで定義される。上記で説明したように、本開示の技法は、1つまたは複数のオペレーションポイントのためのサブDPBサイズの少なくとも1つの指示をシグナリングすることを含む。オペレーションポイントのためのレイヤセットがVPSレベルで定義されるので、サブDPBサイズの指示が下位レベルシンタックス構造中で(たとえば、SPS中で)シグナリングされた場合、サブDPBサイズの同じ指示の複数の発生は、VPSにおいて定義される各レイヤセットについてシグナリングされるであろう。したがって、この例では、オペレーションポイントのためのサブDPBサイズの指示をシグナリングすることは、そのような指示がVPSよりも低いレベルでシグナリングされる場合に冗長であり得る。
[0103]また別の欠点として、マルチレイヤビデオコーディングにおけるDPB動作のための現在の提案は、異なる空間解像度、ビット深度およびカラーフォーマットをもつピクチャを区別しない。これは、一般に、ワーストケースシナリオをサポートするために、ビデオデコーダの設計者が各ピクチャ記憶バッファのためのサイズを割り振る必要があるので、これは非効率的であり得る(すなわち、各ピクチャバッファは、最大可能サイズをもつピクチャを記憶するのに十分に大きくなければならない)。
[0104]さらに、H.264/SVCは、シングルループコーディングを使用し、単一のDPBのみを使用する。H.264/MVCはマルチループコーディングを採用するが、依然として、すべてのレイヤのためのピクチャを記憶するために単一のDPBを使用する。概して、従来のマルチレイヤコーディング技法は、異なるレイヤタイプを記憶するように構成されたサブDPBに区分されたDPBを処理するためのDPB管理シグナリングおよび動作を含まない。
[0105]これらの欠点に鑑みて、本開示は、マルチレイヤビデオコーディングプロセスにおけるDPB動作をシグナリングおよび実行するためのシステム、方法、および技法を提案する。特に、開示の様々な例は、サブDPBに区分されたDPBに対してDPB動作を実行するためのシステム、方法、および技法に関し、各サブDPBは、図5を参照しながら上記で説明したように、レイヤの1つのタイプのためのピクチャを記憶するように構成される。
[0106]以下でより詳細に説明するように、本開示の様々な例示的な技法は、マルチレイヤビデオコーディングプロセスの各オペレーションポイントのための少なくとも1つのサブDPBサイズをシグナリングすることおよび/または概してそれを示すことを含む。本開示の例示的な技法はまた、オペレーションポイントごとのサブDPB動作のための技法を含む。本開示の技法を使用することによって、マルチレイヤビデオコーディングプロセスにおけるDPB管理はより効率的に処理され得る。特に、すべてのサブDPBのための最大可能容量を使用する代わりに、サブDPBサイズをシグナリングおよび/または推論することがメモリスペースのより効率的な割振りを可能にし得る。
[0107]以下で説明する例によれば、ビデオエンコーダ20およびビデオデコーダ30は、マルチレイヤビデオコーディングプロセスにおけるサブDPBレベルDPB動作をサポートするための機構を提供する技法を実行するように構成され得る。本開示の例示的な技法は、たとえば、1つまたは複数のシンタックス要素を生成し、シグナリングすることによって、マルチレイヤビデオコーディングプロセスの様々なオペレーションポイントのためのサブDPBサイズを示すための技法を含む。
[0108]本開示の一例では、ビデオエンコーダ20は、それのそれぞれの値がサブDPBのそれぞれのサイズを示すシンタックス要素を生成するように構成され得る。特定の例では、ビデオエンコーダ20は、マルチレイヤビデオコーディングプロセスの各オペレーションポイントのための、ビデオデコーダ30によって使用されるべきであるそれぞれのサブDPBサイズを示す少なくとも1つのシンタックス要素を生成するように構成され得る。ビデオデコーダ30は、ビデオエンコーダ20によって生成された少なくとも1つのサブDPBサイズシンタックス要素を受信し、サブDBPサイズシンタックス要素の値に従って所与のオペレーションポイントのための各サブDPBのためのメモリスペースを割り振るように構成され得る。
[0109]図5を参照しながら上記で説明したように、DPBは複数のサブDPBに区分され得、各サブDPBは、特定のタイプのレイヤのピクチャを記憶するように構成される。たとえば、あるサブDPBは、スケーラブルビデオコーディングプロセス(たとえば、SHVC)のためのベースレイヤのピクチャを記憶するように構成され得、別のサブDPBは、スケーラブルビデオコーディングプロセスのためのエンハンスメントレイヤの第1のレベルのピクチャを記憶するように構成され得る。追加のサブDPBは、エンハンスメントレイヤピクチャの追加のレベルのピクチャを記憶するように区分され得る。同様に、あるサブDPBは、マルチビュービデオコーディングプロセス(たとえば、MV−HEVC)のためのベースビューのピクチャを記憶するように構成され得、別のサブDPBは、マルチビュービューコーディングプロセスの参照ビューのピクチャを記憶するように構成され得る。追加のサブDPBは、追加の参照ビューのピクチャを記憶するように区分され得る。
[0110]本開示の他の例では、ビデオデコーダ30は、DPBを、他の基準に従ってピクチャを記憶するように構成されたサブDPBに区分するように構成され得る。たとえば、ビデオデコーダ30はDPBを複数のサブDPBに区分し得、ここにおいて、各サブDPBは、同じカラーフォーマット、解像度、またはビット深度を有するピクチャを保持するように構成される。たとえば、ビデオデコーダ30は、レイヤタイプによってDPBをサブDBPに区分するように構成され得、すなわち、ここで、各サブDPBは複数のレイヤタイプのうちの1つに対応する。その点において、ビデオデコーダ30は、空間解像度、ビット深度、またはカラーフォーマットのうちの少なくとも1つによってレイヤタイプを決定するように構成され得る。空間解像度、ビット深度、および/またはカラーフォーマットは、符号化ビデオビットストリーム中で受信されたシンタックス要素の値によって示され得る。空間解像度、ビット深度、および/またはカラーフォーマットのための受信されたシンタックス要素は、ビデオデコーダ30によって決定された特定のレイヤタイプを記憶するように構成された特定のサブDPBを識別するインデックスを導出するために使用され得る。
[0111]本開示の一例では、ビデオエンコーダ20は、それの値が、特定のサブDPBが記憶することを可能にされるピクチャの数に関してサブDPBのサイズを示す、少なくとも1つのシンタックス要素を生成するように構成される。すなわち、ビデオエンコーダ20は、いくつのピクチャバッファが各サブDPBのために必要とされるかを示す少なくとも1つのシンタックス要素を生成する。一例では、シンタックス要素の値はピクチャバッファの数を直接示し得る。別の例では、シンタックス要素の値は、それの値がピクチャバッファの数を示す複数のエントリを含むルックアップテーブルへのインデックスであり得る。他の例では、ビデオエンコーダ20は、どのくらいのメモリ(たとえば、メガバイト単位)が各サブDPBのために必要とされるかを示すシンタックス要素を生成し得る。
[0112]本開示の特定の例では、ビデオエンコーダ20は、それの値がサブDPBのサイズを示す少なくとも1つのシンタックス要素を生成し、VPS中で少なくともシンタックス要素をシグナリングするように構成される。本開示の一例では、ビデオエンコーダ20は、各オペレーションポイントのための各サブDPBのためのそれぞれのシンタックス要素を生成し得る。本開示の別の例では、ビデオエンコーダ20は、それの値が1つまたは複数のサブDPBによって共有される1つまたは複数のサブDBPサイズシンタックス要素を生成し得る。
[0113]ビデオエンコーダ20は、それの値が各サブDPBのためのサポートされるサブDPBサイズの数を示す、VPS中に含めるための少なくとも1つのシンタックス要素を生成するようにさらに構成され得る。すなわち、ビデオエンコーダ20は、各サブDPBのための異なるサブDPBサイズの総数を示す少なくとも1つのシンタックス要素、ならびにそれらのサイズが何であるかを示す1つまたは複数のシンタックス要素を生成し得る。このようにして、ビデオエンコーダ20は、サブDPBサイズのうちの特定の1つへのインデックスとして働く各オペレーションポイントのためのシンタックス要素をさらに含み得る。この場合も、上記で説明したように、マルチレイヤビデオコーディングプロセスにおけるオペレーションポイントは、いくつのレイヤが復号され、出力されるべきであるかを示す。すなわち、オペレーションポイントは、出力レイヤセット(すなわち、出力されるべきピクチャ)を生成するために時間サブセット(すなわち、コーディングされるべきセットレイヤ)を識別する。
[0114]本開示の別の例では、ビデオエンコーダ20は、各オペレーションポイントのためのサブDPBサイズを示すシンタックス要素をシグナリングするための予測技法を使用するように構成され得る。すなわち、いくつかのVPSでは、ビデオエンコーダ20は、各オペレーションポイントのためのサブDPBサイズを明示的にシグナリングするように構成され得る。すなわち、シンタックス要素の値はサブDPBサイズを直接的におよび明示的に示す。他のVPSでは、サブDPBサイズを明示的にシグナリングするのではなく、ビデオエンコーダ20は、前にシグナリングされたサブDPBサイズからサブDPBサイズを予測するために使用され得るシンタックス要素をシグナリングし得る。一例として、ビデオエンコーダ20は、それの値が、現在のVPSに関係するピクチャのために使用されるべきサブDPBサイズと、前にシグナリングされたVPS中の前のオペレーションポイントのためにシグナリングされたサブDPBサイズとの間の差(すなわち、デルタ値)を表す、シンタックス要素をシグナリングし得る。この例では、ビデオデコーダ30は、シグナリングされたデルタ値を(明示的シグナリングによるか、予測シグナリングによるかにかかわらず)あらかじめ決定されたサブDPBサイズに加算することによって現在のVPSのためのサブDPBサイズ導出得る。
[0115]本開示の別の例では、ビデオエンコーダ20は、最も近い前のオペレーションポイントに対する予測シグナリングを使用することによって、それの値が各レイヤセットの各時間サブセットのためのサブDPBの数を示すシンタックス要素をシグナリングするように構成され得る。たとえば、ビデオエンコーダ20は、現在のオペレーションポイントのためのサブDPBサイズと、現在のオペレーションポイントのレイヤの数に最も近いレイヤの数(この例では、3つのレイヤ)を使用した前のオペレーションポイントのためのサブDPBサイズとの間の差をシグナリングすることによって、オペレーションポイント(たとえば、1つのベースレイヤと2つのエンハンスメントレイヤとを含むオペレーションポイント)のためのサブDPBサイズを示すシンタックス要素を生成し、シグナリングし得る。
[0116]この例の別の態様では、ビデオエンコーダ20は、VPS中でシグナリングされた各レイヤセットについて、前にシグナリングされたレイヤセットと比較して、常に増加する(または少なくとも減少しない)様式でサブDPBの数を配置するように構成され得る。このようにして、サブDPBの数も各オペレーションポイントについて増加している。別の例として、ビデオエンコーダ20は、現在のオペレーションポイントのために明示的にシグナリングされる異なるオペレーションポイントからの予測シグナリングを使用するように構成され得る。
[0117]本開示の別の例では、ビデオエンコーダ20は、それの値が、(たとえば、TemporalIDシンタックス要素の値によって示される)いくつかのレイヤのためのオペレーションポイントの存在が無効にされることを示し得る、シンタックス要素を生成し、シグナリングするように構成され得る。たとえば、ビデオエンコーダ20は、出力レイヤセット中の1つのレイヤの最高temporalIDがある値よりも小さい場合、ある出力レイヤセットのためにサブDBPサイズ情報が存在しないということを示す、フラグを生成し、シグナリングするように構成され得る。別の例として、ビデオエンコーダ20は、サブDPBサイズ(または他のオペレーションポイント/レイヤセット情報)がシグナリングされない様々な適用可能な時間レベル(たとえば、TemporlID値)をシグナリングするように構成され得る。
[0118]上記で説明したように、ビデオデコーダ30は、各オペレーションポイントのためのサブDPBの数および/またはサブDPBのサイズを示す、ビデオエンコーダ20によって生成され、シグナリングされたシンタックス要素のうちの1つまたは複数を受信するように構成され得る。一例では、そのようなシンタックス要素はVPS中でシグナリングされる。
[0119]ビデオデコーダ30は、VPS中での明示的シグナリングによるか、VPS中での予測シグナリングによるかにかかわらず、特定のオペレーションポイントのために必要とされるサブDPB数を決定するように構成され得る。サブDPBの数の決定に基づいて、ビデオデコーダ30は、DPBを複数のサブDPBに区分するように構成され得る。
[0120]同様に、ビデオデコーダ30は、VPS中での明示的シグナリングによるか、VPS中での予測シグナリングによるかにかかわらず、各オペレーションポイントのためのサブDPBサイズを決定するように構成され得る。決定されたサブDPBサイズに基づいて、ビデオデコーダ30は、1つまたは複数のサブDPBのためのメモリスペースを割り振るように構成され得る。
[0121]ビデオデコーダ30は、各サブDPBのフルネス(fullness)または容量を独立して維持するようにさらに構成され得る。すなわち、ビデオデコーダ30は、サブDPBの示されたサイズに基づいて各サブDPBからのバンピングプロセス(すなわち、ピクチャ削除プロセス)を実装するように構成され得る。ビデオデコーダ30は、各オペレーションポイントのために必要とされるレイヤピクチャの数が各サブDPBの記憶容量を超えないように各サブDPBからピクチャを削除するように構成され得る。
[0122]ビデオエンコーダ20およびビデオデコーダ30はまた、各サブDPBのためのレイヤピクチャを、「参照のために使用されない」または「参照のために使用される」と独立してマークするように構成され得る。すなわち、ビデオエンコーダ20およびビデオデコーダ30は、複数のサブDPBの各々中のピクチャに対してマーキングプロセスを独立して実行するように構成され得(すなわち、各サブDPBについてマーキングプロセスが実行される)、ここにおいて、マーキングプロセスは、ピクチャを参照のために使用されるとマークするか、またはピクチャを参照のために使用されないとマークする。
[0123]しかしながら、ビデオデコーダ30は、HRD設定に示されているように、出力時間と順序時間とに基づいてピクチャを出力し、ピクチャを削除するように構成され得る。ピクチャの出力および削除はいくつかのサブDPBにわたって実行され得る。本開示の例では、異なるサブDPB中のピクチャは、各サブDPBがHRD設定における同じ出力時間に関連する場合、同時に出力され得る。出力されると、サブDPB中のピクチャは、「出力のために必要とされない」と(たとえば、シンタックス要素によって)マークされ得る。同様に、異なるサブDBP中のピクチャは、それらが「参照のために使用されない」と「出力のために必要とされない」の両方とマークされた場合、サブDPBから同時に削除され得る。
[0124]図6は、本開示で説明するDPB管理のための技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、HEVCおよびH.264/AVC、ならびに、そのような規格のスケーラブル拡張、マルチビュー拡張および3D拡張を含む、ビデオ符号化技法に従ってビデオデータを符号化するように構成され得る。図6の例についてHEVCに関して説明する。この点について、図6に示されているビデオ符号化ループは、スケーラブルビデオ符号化プロセスの各レイヤ(すなわち、ベースレイヤおよびエンハンスメントレイヤ)に適用されるか、マルチビュービデオコーディングプロセスの各ビューに適用されるか、または3Dビデオコーディングプロセスのテクスチャビューと深度ビューの両方に適用され得る。
[0125]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラ(I)モードは、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。さらに、ビデオエンコーダ20は、上記で説明したように、異なるビューまたはレイヤ間でビュー間予測および/またはレイヤ間予測を実行し得る。
[0126]図6の例では、ビデオエンコーダ20は、ビデオデータメモリ40と、予測処理ユニット41と、DPB64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動きおよびディスパリティ推定ユニット42と、動きおよびディスパリティ補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図6に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。追加のループフィルタ(ループ内またはループ後)もデブロッキングフィルタに加えて使用され得る。
[0127]ビデオデータメモリ40は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ40に記憶されるビデオデータは、たとえば、ビデオソース18から得られ得る。DPB64は、(たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで)ビデオエンコーダ20によってビデオデータを符号化する際に使用する参照ビデオデータを記憶する復号ピクチャバッファ(DPBの一例である。ビデオデータメモリ40およびDPB64は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ40およびDPB64は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ40は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
[0128]図6に示されているように、ビデオエンコーダ20は、ビデオデータを受信し、データをビデオブロックに区分するように構成され得る。この区分は、たとえば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示している。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つ、あるいは複数のインターコーディングモードまたはビュー間コーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
[0129]予測処理ユニット41内のイントラ予測処理ユニット46は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動きおよびディスパリティ推定ユニット42ならびに動きおよびディスパリティ補償ユニット44は、時間的予測およびビュー間予測を行うために、1つまたは複数の参照ピクチャ、参照ピクチャレイヤ、および/または参照ビュー中の1つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングおよび/またはビュー間コーディングを実行する。
[0130]動きおよびディスパリティ推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードおよび/またはビュー間予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライスまたはBスライスに指定し得る。動きおよびディスパリティ推定ユニット42と動きおよびディスパリティ補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動きおよびディスパリティ推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。動きおよびディスパリティ推定ユニット42によって実行されるディスパリティ推定は、異なるビュー中のブロックから現在コーディングされているブロックを予測するために使用され得るディスパリティベクトルを生成するプロセスである。
[0131]予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、DPB64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0132]動きおよびディスパリティ推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライスまたはビュー間予測スライスにおけるビデオブロックのPUのための(動き補償予測のための)動きベクトルおよび/または(ディスパリティ補償予測のための)ディスパリティベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、DPB64に記憶された1つまたは複数の参照ピクチャを識別する。ビュー間予測の場合、参照ピクチャは異なるビュー中にある。動きおよびディスパリティ推定ユニット42は、計算された動きベクトルおよび/またはディスパリティベクトルをエントロピー符号化ユニット56と動きおよびディスパリティ補償ユニット44とに送る。
[0133]動きおよびディスパリティ補償ユニット44によって実行される動き補償および/またはディスパリティ補償は、動き推定および/またはディスパリティ推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックのPUのための動きベクトルおよび/またはディスパリティを受信すると、動きおよびディスパリティ補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルおよび/またはディスパリティベクトルが指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動きおよびディスパリティ補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0134]イントラ予測処理ユニット46は、上記で説明したように、動きおよびディスパリティ推定ユニット42と動きおよびディスパリティ補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット46(またはいくつかの例では、モード選択ユニット)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
[0135]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含め得る。
[0136]予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0137]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0138]量子化の後に、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングあるいは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ30に送信されるか、あるいはビデオデコーダ30が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0139]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。ビデオエンコーダ20のこの部分は、再構成ループと呼ばれることがあり、インター予測において参照ピクチャとして使用するために符号化ビデオブロックを効果的に復号する。再構成されたピクチャおよび/または再構成されたレイヤピクチャはDPB64に記憶される。
[0140]動きおよびディスパリティ補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動きおよびディスパリティ補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、DPB64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動きおよびディスパリティ推定ユニット42と動きおよびディスパリティ補償ユニット44とによって参照ブロックとして使用され得る。
[0141]図5を参照しながら上記で説明したように、DPB64は複数のサブDPBに区分され得、ここで、各サブDPBは、マルチレイヤビデオコーディングプロセスにおけるレイヤの異なるタイプのためのピクチャを記憶するように構成される。上記で説明したように、および図8を参照しながら以下でより詳細に説明するように、ビデオエンコーダ20は、マルチレイヤビデオコーディングプロセスの各オペレーションポイントのためのサブDPBサイズを示すシンタックス要素を生成することを含む本開示のDPB管理技法を実行するように構成され得る。
[0142]図7は、本開示で説明するDPB管理技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図7の例では、ビデオデコーダ30は、ビデオデータメモリ69と、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、DPB92とを含む。予測処理ユニット81は、動きおよびディスパリティ補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図6からのビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0143]ビデオデータメモリ69は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ69に記憶されたビデオデータは、たとえば、ストレージデバイス34から、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって得られ得る。ビデオデータメモリ69は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。
[0144]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、ディスパリティベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと、ディスパリティベクトルと、他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0145]ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、またはP)スライスまたはビュー間予測スライスとしてコーディングされたとき、予測処理ユニット81の動きおよびディスパリティ補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルと、ディスパリティベクトルと、他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、DPB92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構成し得る。
[0146]動きおよびディスパリティ補償ユニット82は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動きおよびディスパリティ補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測またはビュー間予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルおよび/またはディスパリティベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0147]動きおよびディスパリティ補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動きおよびディスパリティ補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動きおよびディスパリティ補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0148]逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0149]動きおよびディスパリティ補償ユニット82が、動きベクトルおよび/またはディスパリティベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。
[0150]所与のフレームまたはピクチャ中の復号ビデオは、次いで、その後の動き補償のために使用される参照ピクチャブロック(またはマルチレイヤビデオコーディングプロセスにおけるレイヤピクチャ)を記憶するDPB92に記憶される。DPB92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での表示のために、復号ビデオを記憶する。
[0151]図5を参照しながら上記で説明したように、DPB92は複数のサブDPBに区分され得、ここで、各サブDPBは、マルチレイヤビデオコーディングプロセスにおけるレイヤの異なるタイプのためのピクチャを記憶するように構成される。上記で説明したように、および図9を参照しながら以下でより詳細に説明するように、ビデオデコーダ300は、マルチレイヤビデオコーディングプロセスの各オペレーションポイントのためのサブDPBサイズを示すシンタックス要素を受信することと、受信された指示に基づいてサブDBPのためのメモリスペースを割り振ることとを含む本開示のDPB管理技法を実行するように構成され得る。
[0152]図8は、本開示の技法による例示的な符号化方法を示すフローチャートである。図8の技法は、たとえば、DPB64を含む、ビデオエンコーダ20の1つまたは複数の機能ユニットによって実行され得る。
[0153]本開示の一例では、ビデオエンコーダ20は、複数の異なるレイヤタイプの複数のピクチャを再構成すること(800)と、複数のピクチャをDPBに記憶することと、ここにおいて、DPBが複数のサブDPBに区分される(802)、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成すること(804)とを行うように構成される。本開示の一例では、マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである。
[0154]本開示の別の例では、複数のサブDPBの各々は、マルチレイヤビデオコーディングプロセスにおける1つのレイヤタイプのためのピクチャを記憶するように構成される。この例では、ビデオエンコーダ20は、それぞれのピクチャのレイヤタイプに従って複数のレイヤの各々のためのピクチャを特定のサブDPBに記憶するようにさらに構成され得る。
[0155]本開示の別の例では、ビデオエンコーダ20は、ビデオパラメータセット(VPS)中でサブDPBサイズの少なくとも1つの指示を生成するように構成される。一例では、少なくとも1つの指示は、サブDPBサイズを明示的に示す値を有するシンタックス要素であり、サブDPBサイズはピクチャの数である。本開示の別の例では、少なくとも1つの指示は、1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である。
[0156]本開示の別の例では、ビデオエンコーダ20は、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBの各々のためのサブDPBサイズのそれぞれの指示を生成するように構成される。
[0157]図9は、本開示の技法による例示的な復号方法を示すフローチャートである。図9の技法は、たとえば、DPB92を含む、ビデオデコーダ30の1つまたは複数の機能ユニットによって実行され得る。
[0158]本開示の一例では、ビデオデコーダ30は、DPBを複数のサブDPBに区分すること(850)と、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信すること(852)と、少なくとも1つの指示に基づいて複数のサブDPBのためのメモリスペースを割り振ること(854)とを行うように構成される。本開示の一例では、マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである。
[0159]本開示の別の例では、複数のサブDPBの各々は、マルチレイヤビデオコーディングプロセスにおける1つのレイヤタイプのためのピクチャを記憶するように構成される。この例では、ビデオデコーダ30は、それぞれのピクチャのレイヤタイプに従って複数のレイヤの各々のためのピクチャを特定のサブDPBに記憶するようにさらに構成され得る。
[0160]本開示の別の例では、ビデオデコーダ30は、出力時間に従って複数のサブDPBに記憶されたピクチャを出力することと、ここにおいて、同じ出力時間を有するサブDPB中のピクチャが同時に出力される、複数のサブDPBの各々中のピクチャに対してマーキングプロセスを独立して実行することと、ここにおいて、マーキングプロセスが、ピクチャを参照のために使用されるとマークするか、またはピクチャを参照のために使用されないとマークする、複数のサブDPBから、出力のためにもはや必要とされず、参照のために使用されないとマークされたピクチャを削除することとを行うようにさらに構成される。
[0161]本開示の別の例では、ビデオデコーダ30は、空間解像度、ビット深度、またはカラーフォーマットのうちの少なくとも1つによってレイヤタイプを決定するようにさらに構成される。
[0162]本開示の別の例では、ビデオデコーダ30は、複数のピクチャを復号することと、複数のピクチャを複数のサブDPBに記憶することと、1つまたは複数のピクチャをディスプレイに出力することとを行うようにさらに構成される。
[0163]本開示の別の例では、ビデオデコーダ30は、ビデオパラメータセット中でサブDPBサイズの少なくとも1つの指示を受信するようにさらに構成される。一例では、少なくとも1つの指示は、サブDPBサイズを明示的に示す値を有するシンタックス要素であり、ここにおいて、サブDPBサイズはピクチャの数である。別の例では、少なくとも1つの指示は、1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である。
[0164]本開示の別の例では、ビデオデコーダ30は、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための複数のサブDPBの各々のためのサブDPBサイズのそれぞれの指示を受信するようにさらに構成される。
[0165]本開示の別の例では、ビデオデコーダ30は、サブDPBの数の指示を受信するようにさらに構成され、ここにおいて、DPBを複数のサブDPBに区分することは、サブDPBの数の指示に基づいてDPBを複数のサブDPBに区分することを備える。ビデオデコーダ30は、レイヤタイプに従って複数のサブDPBの各々を識別するインデックスを導出するようにさらに構成され得る。
[0166]以下のセクションに、HEVC規格(たとえば、HEVCバージョン1、SHEVC、および/またはMV−HEVC)への追加およびそれからの削除に関して本開示の技法の例示的な実装形態を示す。HEVC仕様への追加は下線で示され、HEVC仕様からの削除は取消し線で示されている。以下で明確に説明しないシンタックス要素のセマンティクスは、上記の例示的なHEVC、SHVC、および/またはMV−HEVC仕様において見つけられ得る。
[0167]第1のセクションに、max_dpb_size_tableによって示されるように、各オペレーションポイントのためのDPBサイズの追加を含むVPS拡張シンタックスを示す。max_dpb_size_table含まれているシンタックス要素のための意味論的定義を以下に示す。この例では、max_dpb_size_tableは、VPS中に示されるすべての出力レイヤセットのためのサブDPBの最大数(num_sub_dpb_capcity_minus1)と、シグナリングされたサブDPBサイズの数(num_sub_dpb_size_minus1)と、差分値としての各サブDPBのサイズ(delta_sub_dpb_size_minus1)とを示すシンタックス要素を含む。
[0168]





[0169]DPBサイズテーブルセマンティクス
num_sub_dpb_capacity_minus1+1は、VPS中に示されるすべての出力レイヤセットのためのサブDPBの最大数を指定する。各サブDPBは、復号ピクチャバッファの各ユニットの全体的特性に関して同じ容量を有する。
注:たとえば、同じ解像度を有するすべてのピクチャが同じサブDPBに属し、異なるオペレーションポイントは、異なるオペレーションポイントにおいて同じ解像度をもつレイヤの数の差により、サブDPB中に異なる数のピクチャを含んでいることがある。
num_sub_dpb_size_minus1[i]+1は、ビデオパラメータセット中でシグナリングされたi番目のサブDPBのためのシグナリングされるサイズの数を指定する。
delta_sub_dpb_size_minus1[i][j]+1は、ビデオパラメータセット中でシグナリングされたi番目のサブDPBのj番目のサイズを指定する。
subDpbSize[i][j]によって示される、i番目のサブDPBのj番目のサイズは、0からnum_sub_dpb_size_minus1[i]までのjについて、次のように導出される。
subDpbSize[i][j]=delta_sub_dpb_size_minus1[i][j]+1+(j > 0 ? subDpbSize[i][j-1]:0)
1に等しいsub_dpb_info_present_flag[i][k]は、i番目のレイヤセットのk番目の時間サブセットのための情報が存在することを示し、0に等しいsub_dpb_info_present_flag[i][k]は、i番目のレイヤセットのk番目の時間サブセットのための情報が存在しないことを示す。存在しないとき、sub_dpb_info_present_flag[i][k]は0に等しいと推論される。
1に等しいsame_num_sub_dpbs_flag[i][k]は、i番目の出力レイヤセットのk番目の時間サブセットのためのサブDPBの数が(i−1)番目の出力レイヤセットのk番目の時間サブセットのためのサブDPBの数に等しいことを指定する。0に等しいsame_num_sub_dpbs_flag[i][k]は、i番目の出力レイヤセットのk番目の時間サブセットのためのサブDPBの数が(i−1)番目の出力レイヤセットのk番目の時間サブセットのためのサブDPBの数に等しくないことを指定する。存在しないとき、same_num_sub_dpbs_flag[i][k]は0に等しいと推論される。
delta_num_sub_dpbs_minus1[i][k]は、i番目の出力レイヤセットのk番目の時間サブセットのためのサブDPBの数を指定する。
i番目のレイヤセットおよびk番目の時間サブセットのためのサブDPBの数、NumSubDpbs[i][k]は、次のように導出される。
− sub_dpb_info_present_flag[i][k]が0に等しい場合、NumSubDpbs[i][k]は0に等しくなるように設定される。
− そうではなく、sub_dpb_info_present_flag[i][k]が1に等しく、num_sub_dpb_capacity_minus1が0に等しい場合、NumSubDpbs[i][k]は1に等しくなるように設定される。
− 他の場合(sub_dpb_info_present_flag[i][k]もnum_sub_dpb_capacity_minus1も0に等しくない)、NumSubDpbs[i][k]は次のように導出される。
NumSubDpbs[i][k]=(!same_num_sub_dpbs_flag[i][k])?
(delta_num_sub_dpbs_minus1[i][k]+1+NumSubDPBs[i-1][k])
NumSubDpbs[i-1][k]
i番目の出力レイヤセットおよびk番目の時間サブセットのための変数NumSubDpbsInOptLayerSet[i][k]は次のように導出される。
NumSubDpbsInOptLayerSet[i][k]=
NumSubDpbs[output_layer_set_idx_minus1[i]][k]
i番目の出力レイヤセットおよびk番目の時間サブセットのための変数SubDpbInfoPresentFlag[i][k]は次のように導出される。
SubDpbInfoPresentFlag[i][k]=
sub_dpb_info_present_flag[output_layer_set_idx_minus1[i]][k]
sub_dpb_capacity_idx[i][k][j]はサブDPBへのインデックスを指定する。i番目の出力レイヤセットのk番目の時間サブセットのj番目のサブDPBは、sub_dpb_capacity_idxを用いてシグナリングされたsub_dpb_capacity_idx[j]番目のサブDPBである。sub_dpb_capacity_idx[i][k][j]は、両端値を含む、0〜num_sub_dpb_capacity_minus1の範囲内にある。存在しないとき、sub_dpb_capacity_idx[i][k][j]は0に等しいと推論される。
sub_dpb_size_idx[i][k][j]はsub_dpb_capacity_idx[i][k][j]番目のサブDPBのサイズへのインデックスを指定する。sub_dpb_size_idx[i][k][j]は、両端値を含む、0〜num_sub_dpb_size_minus1[sub_dpb_capacity_idx[j]]の範囲内にある。VpsSubDpbMaxDecPicBuf[i][k][j]はsubDpbSize[sub_dpb_capacity_idx[i][k][j]][sub_dpb_size_idx[i][k][j]]に等しい。
VpsSubDpbMaxDecPicBuf[i][k][j]は、HighestTIdがkに等しいときのピクチャ記憶バッファの単位でのi番目の出力レイヤセットのためのCVSのためのj番目のサブDPBの最大所要サイズを指定する。kが0よりも大きいとき、VpsSubDpbMaxDecPicBuf[i][k][j]はVpsSubDpbMaxDecPicBuf[i][k][j−1]よりも大きいかまたはそれに等しいものとする。
[0170]8.1 一般的な復号プロセス
[0171]このプロセスへの入力はビットストリームである。このプロセスの出力は復号ピクチャのリストである。
[0172]ターゲット出力レイヤセットの、VPSによって指定された出力レイヤセットのリストへのインデックスを指定する、変数OutputLayerSetIdxは、次のように指定される。
− 本仕様書において指定されていない何らかの外部手段が、OutputLayerSetIdxを設定するために利用可能である場合、OutputLayerSetIdxは外部手段によって設定される。
− そうではなく、復号プロセスが、従属節C.1において指定されているようにビットストリームコンフォーマンステストにおいて呼び出される場合、OutputLayerSetIdxは、従属節C.1において指定されているように設定される。
− 他の場合、OutputLayerSetIdxは0に等しく設定される。
[0173]変数DecLayerSetIdxはoutput_layer_set_idx_minus1[OutputLayerSetIdx]+1に等しく設定される。
[0174]出力されるべきピクチャのnuh_layer_id値のリストをnuh_layer_id値の昇順で指定するレイヤ識別子リストTargetOptLayerIdList、および復号されるべきNALユニットのnuh_layer_id値のリストをnuh_layer_id値の昇順で指定するレイヤ識別子リストTargetDecLayerIdListは次のように指定される。

[0175]復号されるべき最高時間サブレイヤを識別する変数HighestTidは次のように指定される。
[0176]...
[0177]8.1.1 0に等しいnuh_layer_idをもつコード化ピクチャのための復号プロセス
[0178]現在ピクチャが、BLA_W_LPに等しいnal_unit_typeを有するBLAピクチャであるか、またはCRAピクチャであるとき、以下が適用される。
− 本仕様書において指定されていない何らかの外部手段が、変数UseAltCpbParamsFlagをある値に設定するために利用可能である場合、UseAltCpbParamsFlagは、外部手段によって与えられた値に等しく設定される。
− 他の場合、UseAltCpbParamsFlagの値は0に等しく設定される。
[0179]separate_colour_plane_flagの値に応じて、復号プロセスは次のように構築される。
− separate_colour_plane_flagが0に等しい場合、復号プロセスは単一回呼び出され、現在ピクチャは出力である。
− 他の場合(separate_colour_plane_flagが1に等しい)、復号プロセスは3回呼び出される。復号プロセスへの入力は、colour_plane_idの同じ値をもつコード化ピクチャのすべてのNALユニットである。colour_plane_idの特定の値をもつNALユニットの復号プロセスは、colour_plane_idのその特定の値をもつモノクロームカラーフォーマットをもつCVSのみがビットストリーム中に存在するかのように指定される。3つの復号プロセスの各々の出力は、現在ピクチャの3つのサンプルアレイのうちの1つに割り当てられ、0、1、および2に等しいcolour_plane_idをもつNALユニットは、それぞれSL、SCb、およびSCrに割り当てられる。
注− separate_colour_plane_flagが1に等しく、chroma_format_idcが3に等しいとき、変数ChromaArrayTypeが0に等しいものとして導出される。復号プロセスでは、この変数の値が評価され、(chroma_format_idc0に等しいとき)モノクロームピクチャの動作と同じ動作を生じる。
[0180]復号プロセスは、現在ピクチャCurrPicについて次のように動作する。
1.NALユニットの復号は従属節8.2において指定されている。
2.従属節8.3におけるプロセスは、スライスセグメントレイヤおよびそれ以上におけるシンタックス要素を使用した以下の復号プロセスを指定する。
− ピクチャ順序カウントに関係する変数および関数は従属節8.3.1において導出される。これは、ピクチャの第1のスライスセグメントのためにのみ呼び出される必要がある。
− 従属節8.3.2におけるRPSのための復号プロセスが呼び出され、ここにおいて、参照ピクチャは、「参照のために使用されない」または「長期参照のために使用される」とマークされ得る。これは、ピクチャの第1のスライスセグメントのためにのみ呼び出される必要がある。
− 現在ピクチャがBLAピクチャであるか、または1に等しいNoRaslOutputFlagをもつCRAピクチャであるとき、従属節8.3.3において指定されている利用不可能な参照ピクチャを生成するための復号プロセスが呼び出され、これは、ピクチャの第1のスライスセグメントのためにのみ呼び出される必要がある。
− PicOutputFlagは次のように設定される。
− 現在ピクチャがRASLピクチャであり、関連するIRAPピクチャのNoRaslOutputFlagが1に等しい場合、PicOutputFlagは0に等しく設定される。
そうではなく、0に等しいnuh_layer_idがTargetOptLayerIdList中に存在しない場合、PicOutputFlagは0に等しく設定される。
− 他の場合、PicOutputFlagはpic_output_flagに等しく設定される。
− 各PまたはBスライスのための復号プロセスの最初に、従属節8.3.4に指定されている参照ピクチャリスト構成のための復号プロセスは、参照ピクチャリスト0(RefPicList0)の導出のために、およびBスライスを復号するとき、参照ピクチャリスト1(RefPicList1)の導出のために呼び出される。
3.従属節8.4、8.5、8.6、および8.7におけるプロセスは、すべてのシンタックス構造レイヤにおけるシンタックス要素を使用した復号プロセスを指定する。ピクチャのスライスへの分割、スライスセグメントへのスライスの分割、およびコーディングツリーユニットへのスライスセグメントの分割はそれぞれ、ピクチャの区分を形成するように、ピクチャのコード化スライスがピクチャのコーディングツリーユニットごとにスライスセグメントデータを含んでいるものとすることがビットストリームコンフォーマンスの要件である。
4.現在ピクチャのすべてのスライスが復号された後、復号ピクチャは「短期参照のために使用される」とマークされる。
[0181]F.3 定義
...
F.3.16 オペレーションポイント:入力として別のビットストリーム、ターゲット最高TemporalId、およびターゲットレイヤ識別子リストを用いたサブビットストリーム抽出プロセスの動作によって別のビットストリームから作成され、ターゲット出力レイヤのセットに関連するビットストリーム。
注14−□オペレーションポイントのターゲット最高TemporalIdが、ターゲットレイヤ識別リストに関連するレイヤセット中のTemporalIdの最大値に等しい場合、オペレーションポイントはレイヤセットと同じである。他の場合、それはレイヤセットのサブセットである。
F.3.17 出力レイヤセット:ターゲット出力レイヤのセットに関連するレイヤセット。
[0182]F.8.1.2 0よりも大きいnuh_layer_idをもつコード化ピクチャの復号を終了するための復号プロセス
PicOutputFlagは次のように設定される。
− 現在ピクチャがRASLピクチャであり、関連するIRAPピクチャのNoRaslOutputFlagが1に等しい場合、PicOutputFlagは0に等しく設定される。
− そうではなく、nuh_layer_idがTargetOptLayerIdList中に存在しない場合、PicOutputFlagは0に等しく設定される。
− 他の場合、PicOutputFlagはpic_output_flagに等しく設定される。
以下が適用される。
− discardable_flagが1に等しい場合、復号ピクチャは「参照のために使用されない」とマークされる。
− 他の場合、復号ピクチャは「短期参照のために使用される」とマークされる。
TemporalIdがHighestTidに等しいとき、従属節F.8.1.2.1において指定されているレイヤ間予測のために必要とされないサブレイヤ非参照ピクチャのためのマーキングプロセスが、入力としてnuh_layer_idに等しいlatestDecLayerIdを用いて呼び出される。
[0183]F.13 仮想参照デコーダ
F.13.1 一般
従属節C.1における仕様は、以下の修正および追加とともに適用される。
「TargetOpとして示される、テスト中のオペレーションポイントが選択される。TargetOpのレイヤ識別子リストOpLayerIdListは、nuh_layer_id値の昇順で、TargetOpに関連するビットストリームサブセット中に存在する、nuh_layer_id値のリストからなり、このサブセットは、テスト中のビットストリーム中に存在するnuh_layer_id値のサブセットである。TargetOpのOpTidは、TargetOpに関連するビットストリームサブセット中に存在する最高TemporalIdに等しい。」を「OutputLayerSetIdxと、ターゲット最高TemporalId値、HighestTidとによって識別された、ターゲット出力レイヤセットが選択される。OutputLayerSetIdxの値は、両端値を含む、0〜NumOutputLayerSets−1の範囲内にあるものとする。HighestTidの値は、両端値を含む、0〜vps_max_sub_layers_minus1の範囲内にあるものとする。次いで、TargetOptLayerIdListおよびTargetDecLayerIdListが、式8−1において指定されているように導出される。テスト中のオペレーションポイントは、TargetOptLayerIdListに等しいOptLayerIdListと、TargetDecLayerIdListに等しいOpLayerIdListと、HighestTidに等しいOpTidとを有する。」と差し替える
「TargetDecLayerIdListはTargetOpのOpLayerIdListに等しく設定され、HighestTidはTargetOpのOpTidに等しく設定され、節10において指定されているサブビットストリーム抽出プロセスは、入力としてテスト中のビットストリーム、HighestTid、およびTargetDecLayerIdListを用いて呼び出され、出力がBitstreamToDecodeに割り当てられる。」を「節10において指定されているサブビットストリーム抽出プロセスは、入力としてテスト中のビットストリーム、HighestTid、およびTargetDecLayerIdListを用いて呼び出され、出力はBitstreamToDecodeに割り当てられる。」と差し替える
各レイヤについて、各レイヤへのサブDPBの割当ては以下のプロセスにおいて導出される。
− numLayersInIdList[DecLayerSetIdx]に等しくなるようにnumTargetDecLayerIdListを設定する。両端値を含む、0からnumTargetDecLayerIdList−1までのiについて、アレイspatRes、colourFormat、およびbitDepthIdは次のように定義される。
− spatRes[i][0]およびspatRes[i][1]は、ターゲットレイヤセット中のi番目のレイヤのアクティブレイヤSPSの、それぞれpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値に等しく設定される。
− colourFormat[i]は、ターゲットレイヤセット中のi番目のレイヤのアクティブレイヤSPSのchroma_format_idc[i]の値に等しく設定される。
− bitDepthId[i][0]およびbitDepthId[i][1]は、ターゲットレイヤセット中のi番目のレイヤのアクティブレイヤSPSの、それぞれbit_depth_luma_minus8およびbit_depth_chroma_minus8の値に等しく設定される。
− 以下が適用される。

レイヤID nuh_layer_idをもつ各ピクチャについて、インデックスSubDpbAssigned[DecLayerSetIdx][LayerIdInVps[nuh_layer_id]]をもつサブDPBは、そのピクチャに関連すると言われ、そのレイヤに関連するとも言われる。
[0184]F.13.3 復号ピクチャバッファ(DPB)の動作
F.13.3.1 一般
この従属節における仕様は、従属節C.1において指定されているように、選択されたDPBパラメータの各セットに独立して適用される。
復号ピクチャバッファはサブDPBに区分され、各サブDPBはピクチャ記憶バッファを含んでいる。ピクチャ記憶バッファの各々は、「参照のために使用される」とマークされたか、または将来の出力のために保持された復号ピクチャを含んでいることがある。サブDPBの数はNumSubDpbs[TargetDecLayerId]に等しく、VpsSubDpbMaxDecPicBufのアレイの場合のように、各サブDPB中のピクチャ記憶バッファの数はアクティブVPSから推論される。従属節F.13.3.2、F.13.3.3およびF.13.3.4において指定されているプロセスは、以下で指定されているように連続的に適用される。
ターゲット出力レイヤ中に含まれないピクチャのためのPicOutputFlagは0に等しく設定される。
同じDPB出力時間をもつ復号ピクチャおよび1に等しいPicOutputFlagをもつ復号ピクチャは、これらの復号ピクチャのnuh_layer_id値の昇順で出力される。
ピクチャnをnuh_layer_idの特定の値のためのアクセスユニットnのコード化ピクチャまたは復号ピクチャとし、ここにおいて、nは非負整数である。
[0185]F.13.3.2 DPBからのピクチャの削除
従属節C.3.2における仕様は、以下の修正とともに、nuh_layer_idの特定の値をもつ復号ピクチャの各セットのために別個に適用される。
− 「現在ピクチャの復号の前の(ただし、現在ピクチャの第1のスライスのスライスヘッダをパースした後の)DPBからのピクチャの削除は、(現在ピクチャを含んでいる)アクセスユニットnの第1の復号ユニットのCPB削除時間に瞬時に起こり、次のように進む。」を「現在ピクチャの復号の前の(ただし、現在ピクチャの第1のスライスのスライスヘッダをパースした後の)DPBからのピクチャの削除は、ピクチャnの第1の復号ユニットのCPB削除時間に瞬時に起こり、次のように進む。」と差し替える。
− 「...およびDPBフルネスは0に等しく設定される。」を「およびサブDPBフルネスはすべてのサブDPBについて0に等しく設定される。」と差し替える
− 「...先行するピクチャのためにアクティブなSPSから導出された...」を「...現在ピクチャと同じnuh_layer_id値をもつ、復号順序で先行するピクチャのためにアクティブなSPSから導出された、...」と差し替える
− 「DPBから削除される各ピクチャについて、DPBフルネスは1だけ減分される。」を「サブDPBから削除される各ピクチャについて、サブDPBフルネスは1だけ減分される。」と差し替える
[0186]F.14.3 ビットストリームコンフォーマンス
本仕様書に準拠するコード化データのビットストリームは、この従属節において指定されているすべての要件を満たすものとする。
ビットストリームは、この付属書類のほかに本仕様書において指定されているシンタックス、セマンティクス、および制約に従って構成されるものとする。
ビットストリーム中の第1のアクセスユニットは、IRAPアクセスユニット、すなわちIDRアクセスユニット、CRAアクセスユニットまたはBLAアクセスユニットであるものとする。
ビットストリームは、従属節C.1において指定されているコンフォーマンスのためにHRDによってテストされる。
現在ピクチャのnuh_layer_idをcurrPicLayerIdとする。
変数AssociatedSubDpbSize[layerId][HighestTid]はVpsSubDpbMaxDecPicBuf[TargetOutputLayerId][HighestTid][subDpbId]に等しく設定され、ここで、subDpbIdはTargetDecLayerIdList中の各layerIdのためのSubDpbAssigned[TargetOutputLayerId][LayerIdInList[layerId]]に等しい。
...
ビットストリームコンフォーマンステストの各々について、以下の条件のすべてが満たされるものとする。
1.nが0よりも大きく、バッファリング期間SEIメッセージに関連する、各アクセスユニットnについて、変数deltaTime90k[n]を次のように指定する。
deltaTime90k[n]=90000*(AuNominalRemovalTime[n]-
AuFinalArrivalTime[n-1]) (F-5)
InitCpbRemovalDelay[SchedSelIdx]の値は次のように制約される。
− cbr_flag[SchedSelIdx]が0に等しい場合、以下の条件が真であるものとする。
InitCpbRemovalDelay[SchedSelIdx] <=Ceil(deltaTime90k[n]))
(F-6)
− 他の場合(cbr_flag[SchedSelIdx]が1に等しい)、以下の条件が真であるものとする。
Floor(deltaTime90k[n]) <=
InitCpbRemovalDelay[SchedSelIdx] <= Ceil(deltaTime90k[n]))
(F-7)
注1− 各ピクチャの削除時間におけるCPB中の正確なビット数は、HRDを初期化するためにどのバッファリング期間SEIメッセージが選択されるかに依存し得る。エンコーダは、HRDがバッファリング期間SEIメッセージのうちのいずれか1つにおいて初期化され得るので、HRDを初期化するためにどのバッファリング期間SEIメッセージが選択されるかにかかわらず、すべての指定された制約が順守されなければならないということを保証するために、これを考慮に入れなければならない。
2.CPBオーバーフローは、CPB中のビット総数がCPBサイズよりも大きい状態として指定される。CPBは決してオーバーフローしないものとする。
3.CPBアンダーフローは、復号ユニットmの公称CPB削除時間DuNominalRemovalTime(m)が、mの少なくとも1つの値について、復号ユニットmの最終CPB到達時間DuFinalArrivalTime(m)よりも小さい状態として指定される。low_delay_hrd_flag[HighestTid]が0に等しいとき、CPBは決してアンダーフローしないものとする。
4.SubPicHrdFlagが1に等しく、low_delay_hrd_flag[HighestTid]が1に等しく、アクセスユニットnの復号ユニットmの公称削除時間が復号ユニットmの最終CPB到達時間よりも小さいとき(すなわちDuNominalRemovalTime[m]<DuFinalArrivalTime[m])、アクセスユニットnの公称削除時間はアクセスユニットnの最終CPB到達時間よりも小さいものとする(すなわちAuNominalRemovalTime[n]<AuFinalArrivalTime[n])。
5.(復号順序で第2のアクセスユニットから開始する)CPBからのアクセスユニットの公称削除時間は、従属節A.4.1〜A.4.2において表されるAuNominalRemovalTime[n]およびAuCpbRemovalTime[n]に関する制約を満たすものとする。
6.各現在ピクチャについて、従属節C.3.2において指定されているDPBからのピクチャの削除のためのプロセスの呼出しの後、「参照のために使用される」とマークされるか、または1に等しいPicOutputFlagと、AuCpbRemovalTime[currPic]よりも小さいAuCpbRemovalTime[n]とを有し、ここでcurrPicが現在ピクチャである、すべてのピクチャnを含む、関連するサブDPB中の復号ピクチャの数は、vps_max_layers_minus1が0に等しいとき、sps_max_dec_pic_buffering_minus1[HighestTid]よりも小さいかまたはそれに等しく、vps_max_layers_minus1が0よりも大きいとき、AssociatedSubDpbSize[currLayerId][HighestTid]よりも小さいかまたはそれに等しいものとする。...
[0187]F.13.5.2.2 DPBからのピクチャの出力および削除
現在ピクチャの復号の前の(ただし、現在ピクチャの第1のスライスのスライスヘッダをパースした後の)DPBからのピクチャの出力および削除は、現在ピクチャの第1の復号ユニットがCPBから削除されたときに瞬時に起こり、次のように進む。
従属節8.3.2において指定されているRPSのための復号プロセスが呼び出される。
− 現在ピクチャが、ピクチャ0でない、1に等しいNoRaslOutputFlagをもち、0に等しいnuh_layer_idをもつIRAPピクチャである場合、以下の順序付きステップが適用される。
1.変数NoOutputOfPriorPicsFlagは、次のようにテスト中のデコーダのために導出される。
− 現在ピクチャがCRAピクチャである場合、NoOutputOfPriorPicsFlagは(no_output_of_prior_pics_flagの値にかかわらず)1に等しく設定される。
− そうではなく、アクティブSPSから導出されたpic_width_in_luma_samples、pic_height_in_luma_samples、またはsps_max_dec_pic_buffering_minus1[HighestTid]の値が、現在ピクチャと同じnuh_layer_id値もつ、復号順序で先行するピクチャのためにアクティブなSPSから導出された、それぞれpic_width_in_luma_samples、pic_height_in_luma_samples、またはsps_max_dec_pic_buffering_minus1[HighestTid]の値とは異なる場合、NoOutputOfPriorPicsFlagは、no_output_of_prior_pics_flagの値にかかわらず、テスト中のデコーダによって1に設定され得る(ただし、それに設定されるべきではない)。
注6− NoOutputOfPriorPicsFlagをno_output_of_prior_pics_flagに等しく設定することがこれらの条件下で選好されるが、テスト中のデコーダは、この場合、NoOutputOfPriorPicsFlagを1に設定することを可能にされる。
− 他の場合、NoOutputOfPriorPicsFlagはno_output_of_prior_pics_flagに等しく設定される。
2.テスト中のデコーダのために導出されたNoOutputOfPriorPicsFlagの値は、次のようにHRDのために適用される。
− NoOutputOfPriorPicsFlagが1に等しい場合、DPB中のすべてのサブDPB中のすべてのピクチャ記憶バッファが、それらが含んでいるピクチャの出力なしに空にされ、すべてのサブDPBについて、サブDPBフルネスが0に等しく設定される。
− 他の場合(NoOutputOfPriorPicsFlagが0に等しい)、「出力のために必要とされない」および「参照のために使用されない」とマークされたピクチャを含んでいるすべてのピクチャ記憶バッファが(出力なしに)空にされ、従属節F.13.5.2.4において指定されている「バンピング」プロセスを繰り返し呼び出すことによって、DPB中のすべての空でないピクチャ記憶バッファが空にされ、DPBフルネスが0に等しく設定される。
− 他の場合(現在ピクチャが、1に等しいNoRaslOutputFlagをもつか、または0に等しくないnuh_layer_idをもつIRAPピクチャではない)、「出力のために必要とされない」および「参照のために使用されない」とマークされたピクチャを含んでいるすべてのピクチャ記憶バッファが(出力なしに)空にされる。空にされた各ピクチャ記憶バッファについて、そのピクチャ記憶バッファに関連するサブDPBのサブDPBフルネスは1だけ減分される。変数currLayerIdは現在復号ピクチャのnuh_layer_idに等しく設定され、以下の条件のうちの1つまたは複数が真であるとき、従属節F.13.5.2.4において指定されている「バンピング」プロセスは、以下の条件のいずれも真でなくなるまで、空にされた各追加のピクチャ記憶バッファについてDPBフルネスを1だけさらに減分しながら、繰り返し呼び出される。
− 「出力のために必要とされる」とマークされた現在ピクチャに関連するサブDPB中のcurrLayerIdに等しいnuh_layer_idをもつピクチャの数は、(currLayerIdが0に等しいとき)アクティブSPSからの、または(currLayerIdが0に等しくないとき)currLayerIdの値のためのアクティブレイヤSPSからのsps_max_num_reorder_pics[HighestTid]よりも大きい。
− (currLayerIdが0に等しいとき)アクティブSPSの、またはcurrLayerIdの値のためのアクティブレイヤSPSのsps_max_latency_increase_plus1[HighestTid]は0に等しくなく、関連する変数PicLatencyCount[currLayerId]が、(currLayerIdが0に等しいとき)アクティブSPSから導出された、またはcurrLayerIdの値のためのアクティブレイヤSPSから導出されたSpsMaxLatencyPictures[HighestTid]よりも大きいかまたはそれに等しい、「出力のために必要とされる」とマークされたDPBの中のcurrLayerIdに等しいnuh_layer_idをもつ少なくとも1つのピクチャがある。

[0188]F.13.5.2.2 ピクチャ復号、マーキング、追加のバンピング、および記憶
この従属節において指定されているプロセスは、現在ピクチャを含んでいるアクセスユニットnの最後の復号ユニットがCPBから削除されたときに瞬時に起こる。
変数currLayerIdは現在復号ピクチャのnuh_layer_idに等しく設定される。
「出力のために必要とされる」とマークされ、currLayerIdに等しいnuh_layer_id値を有する、関連するサブDPB中の各ピクチャについて、関連する変数PicLatencyCount[currLayerId]はPicLatencyCount[currLayerId]+1に等しく設定される。
現在ピクチャは、ピクチャの最後の復号ユニットが復号された後に復号されると見なされる。現在復号ピクチャは、DPB中の空のピクチャ記憶バッファに記憶され、以下が適用される。
− 現在復号ピクチャが、1に等しいPicOutputFlagを有する場合、それは「出力のために必要とされる」とマークされ、それの関連する変数PicLatencyCount[currLayerId]は0に等しく設定される。
− 他の場合(現在復号ピクチャが、0に等しいPicOutputFlagを有する)、それは「出力のために必要とされない」とマークされる。
現在復号ピクチャは「短期参照のために使用される」とマークされる。
以下の条件のうちの1つまたは複数が真であるとき、従属節F.13.5.2.4において指定されている「バンピング」プロセスは、以下の条件のいずれも真でなくなるまで、繰り返し呼び出される。
− 「出力のために必要とされる」とマークされた関連するサブDPB中のcurrLayerIdに等しいnuh_layer_idをもつピクチャの数は、(currLayerIdが0に等しいとき)アクティブSPSからの、または、0に等しくない場合、currLayerIdの値のためのアクティブレイヤSPSからのsps_max_num_reorder_pics[HighestTid]よりも大きい。
− sps_max_latency_increase_plus1[HighestTid]は0に等しくなく、関連する変数PicLatencyCount[currLayerId]が、(currLayerIdが0に等しいとき)アクティブSPSから導出された、または(currLayerIdが0に等しくないとき)currLayerIdの値のためのアクティブレイヤSPSから導出されたSpsMaxLatencyPictures[HighestTid]よりも大きいかまたはそれに等しい、「出力のために必要とされる」とマークされた関連するサブDPB中のcurrLayerIdに等しいnuh_layer_idをもつ少なくとも1つのピクチャがある。
[0189]以下のセクションに、HEVC仕様(たとえば、HEVCバージョン1、SHEVC、および/またはMV−HEVC)からの追加および削除に関して本開示の技法の別の例示的な実装形態を示す。この場合も、HEVC仕様への追加は下線で示され、HEVC仕様からの削除は取消し線で示されている。以下の例示的な実装形態は、上記で示した実装形態と同様であるが、サブDPBの最大サイズを示すシンタックス要素(VpsSubDpbMaxDecPicBuf)は別様にシグナリングされる。特に、表5に示されている以下の例示的な実装形態は、いくつかのサブDPBサイズがいくつかのオペレーションポイントについて同じであることを示す追加のシンタックス要素(overlap_sub_dpb_sizes_flag)を使用する。
[0190]

[0191]F.1.1.1.1.1 最大dpbサイズテーブルセマンティクス
...
1に等しいoverlap_sub_dpb_sizes_flag[j]は、vpsSubDpbMaxDPB[i][k][j]の第1のいくつかのエントリがvpsSubDpbMaxDPB[i−1][k][j]のすべてのエントリと同じであり、したがって、vpsSubDpbMaxDPB[i][k][jの追加のエントリのみが存在することを指定する。1に等しいoverlap_sub_dpb_sizes_flag[j]は、vpsSubDpbMaxDPB[i][k][jのすべてのエントリが存在することを指定する。
vps_sub_dpb_max_dec_pic_buffering_values[i][k][j]はvpsSubDpbMaxDPB[i][k][j]の値を指定する。それは0〜vpsSubDpbMaxDPB[i][k][j]の範囲内にあり、次のように導出される。
signaledSize[i][k][j]=vps_sub_dpb_max_dec_pic_buffering_value[i][k][j]

derivedSize[i][k][j]=(j
vpsSubDpbMaxDPB[i][k][j]=(overlap_sub_dpb_sizes_flag[j])?
derivedSize[i][k][j]: signaledSize[i][k][j]

[0192]以下のセクションに、HEVCにおけるサブDPBサイズをシグナリングするための別の例示的な実装形態を示す。この例では、(たとえば、TemporalIDによって示されるように)特定のレイヤを顧慮せずにサブDPBサイズ。
[0193]

[0194]別の例では、レイヤセットをシグナリングするとき、レイヤの数が減少していないことが要求されない。したがって、シンタックス要素delta_num_sub_dpbs_minus1[i][j]の代わりに、各レイヤセットについて直接的にサブDPBの数を示すシンタックス要素num_sub_dpbs_minus1[i][j]がシグナリングされる。別の例では、レイヤの数は、ビデオエンコーダ20によってシグナリングされないが、代わりに、ビデオデコーダ30において導出される。
[0195]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0196]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0197]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において十分に実装され得る。
[0198]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0199]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
[0199]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
復号ピクチャバッファ(DPB)を複数のサブDPBに区分することと、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、
を備える方法。
[C2]
前記少なくとも1つの指示に基づいて前記複数のサブDPBのためのメモリスペースを割り振ることと、
複数のレイヤのためのピクチャを復号することと、
前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することと、
をさらに備える、C1に記載の方法。
[C3]
前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することは、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤの各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶することを備える、C2に記載の方法。
[C4]
出力時間に従って前記複数のサブDPBに記憶された前記ピクチャを出力することと、ここにおいて、同じ出力時間を有するサブDPB中のピクチャが同時に出力され、
前記複数のサブDPBの各々中の前記ピクチャに対してマーキングプロセスを独立して実行することと、ここにおいて、前記マーキングプロセスは、ピクチャを参照のために使用されるとマークするか、または前記ピクチャを参照のために使用されないとマークし、
前記複数のサブDPBから、出力のためにもはや必要とされず、参照のために使用されないとマークされたピクチャを削除することと、
をさらに備える、C3に記載の方法。
[C5]
空間解像度、ビット深度、またはカラーフォーマットのうちの少なくとも1つによって前記レイヤタイプを決定すること、
をさらに備える、C3に記載の方法。
[C6]
前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、C3に記載の方法。
[C7]
前記サブDPBサイズの前記少なくとも1つの指示を受信することは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を受信することを備える、C1に記載の方法。
[C8]
前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズはピクチャの数である、C7に記載の方法。
[C9]
前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのための前記サブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、C7に記載の方法。
[C10]
前記サブDPBサイズの前記少なくとも1つの指示を受信することは、前記マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のためのサブDPBサイズのそれぞれの指示を受信することを備える、C1に記載の方法。
[C11]
前記サブDPBの数の指示を受信することと、
サブDPBの前記数の前記指示に基づいて前記DPBを複数のサブDPBに区分することと、
をさらに備える、C1に記載の方法。
[C12]
レイヤタイプに従って前記複数のサブDPBの各々を識別するインデックスを導出すること、
をさらに備える、C11に記載の方法。
[C13]
ビデオデータを復号するように構成された装置であって、
ビデオデータを記憶するように構成された復号ピクチャバッファ(DPB)と、
前記DPBを複数のサブDPBに区分することと、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、
を行うように構成されたビデオデコーダと、
を備える、装置。
[C14]
前記ビデオデコーダは、
前記少なくとも1つの指示に基づいて前記複数のサブDPBのためのメモリスペースを割り振ることと、
複数のレイヤのためのピクチャを復号することと、
前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することと、
を行うようにさらに構成された、C13に記載の装置。
[C15]
前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記ビデオデコーダは、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤ各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶するようにさらに構成された、C14に記載の装置。
[C16]
前記ビデオデコーダは、
出力時間に従って前記複数のサブDPBに記憶された前記ピクチャを出力することと、ここにおいて、同じ出力時間を有するサブDPB中のピクチャは同時に出力され、
前記複数のサブDPBの各々中の前記ピクチャに対してマーキングプロセスを独立して実行することと、ここにおいて、前記マーキングプロセスは、ピクチャを参照のために使用されるとマークするか、または前記ピクチャを参照のために使用されないとマークし、
前記複数のサブDPBから、出力のためにもはや必要とされず、参照のために使用されないとマークされたピクチャを削除することと、
を行うようにさらに構成された、C15に記載の装置。
[C17]
前記ビデオデコーダは、
空間解像度、ビット深度、またはカラーフォーマットのうちの少なくとも1つによって前記レイヤタイプを決定すること、
を行うようにさらに構成された、C15に記載の装置。
[C18]
前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、C15に記載の装置。
[C19]
前記ビデオデコーダは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を受信するようにさらに構成された、C13に記載の装置。
[C20]
前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズはピクチャの数である、C19に記載の装置。
[C21]
前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、C19に記載の装置。
[C22]
前記ビデオデコーダは、前記マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のための前記サブDPBサイズのそれぞれの指示を受信するようにさらに構成された、C13に記載の装置。
[C23]
前記ビデオデコーダは、
サブDPBの数の指示を受信することと、
サブDPBの前記数の前記指示に基づいて前記DPBを複数のサブDPBに区分することと、
を行うようにさらに構成された、C22に記載の装置。
[C24]
前記ビデオデコーダは、
レイヤタイプに従って前記複数のサブDPBの各々を識別するインデックスを導出すること、
を行うようにさらに構成された、C23に記載の装置。
[C25]
ビデオデータを復号するように構成された装置であって、
復号ピクチャバッファ(DPB)を複数のサブDPBに区分するための手段と、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信するための手段と、
を備える、装置。
[C26]
実行されたとき、ビデオデータを復号するように構成されたデバイス1つまたは複数のプロセッサに、
復号ピクチャバッファ(DPB)を複数のサブDPBに区分することと、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
[C27]
ビデオデータを符号化する方法であって、
複数の異なるレイヤタイプの複数のピクチャを再構成することと、
前記複数のピクチャを復号ピクチャバッファ(DPB)に記憶することと、ここにおいて、前記DPBは複数のサブDPBに区分され、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することと、
を備える方法。
[C28]
前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することは、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤの各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶することを備える、C27に記載の方法。
[C29]
前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、C28に記載の方法。
[C30]
前記サブDPBサイズの前記少なくとも1つの指示を生成することは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を生成することを備える、C27に記載の方法。
[C31]
前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズがピクチャの数である、C30に記載の方法。
[C32]
前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、C30に記載の方法。
[C33]
前記サブDPBサイズの前記少なくとも1つの指示を生成することは、前記マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のための前記サブDPBサイズのそれぞれの指示を生成することを備える、C27に記載の方法。
[C34]
ビデオデータを符号化するように構成された装置であって、
ビデオデータを記憶するように構成された復号ピクチャバッファ(DBP)と、
複数の異なるレイヤタイプの複数のピクチャを再構成することと、
前記複数のピクチャを前記DPBに記憶することと、ここにおいて、前記DPBは複数のサブDPBに区分され、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することと
を行うように構成されたビデオエンコーダと、
を備える装置。
[C35]
前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することが、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤの各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶することを備える、C34に記載の装置。
[C36]
前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、C35に記載の装置。
[C37]
前記ビデオエンコーダは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を生成するようにさらに構成された、C34に記載の装置。
[C38]
前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズがピクチャの数である、C37に記載の装置。
[C39]
前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、C37に記載の装置。
[C40]
前記ビデオエンコーダは、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のための前記サブDPBサイズのそれぞれの指示を生成するようにさらに構成された、C34に記載の装置。
[C41]
ビデオデータを符号化するように構成された装置であって、
複数の異なるレイヤタイプの複数のピクチャを再構成するための手段と、
前記複数のピクチャを復号ピクチャバッファ(DPB)に記憶するための手段と、ここにおいて、前記DPBは複数のサブDPBに区分され、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成するための手段と、
を備える装置。
[C42]
実行されたとき、ビデオデータを符号化するように構成されたデバイスの1つまたは複数のプロセッサに、
複数の異なるレイヤタイプの複数のピクチャを再構成することと、
前記複数のレイヤピクチャを前記DPBに記憶することと、ここにおいて、前記DPBは複数のサブDPBに区分され、
マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することと、
を行わせる命令を記憶するコンピュータ可読媒体。




  1. ビデオデータを復号する方法であって、
    復号ピクチャバッファ(DPB)を複数のサブDPBに区分することと、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、
    を備える方法。

  2. 前記少なくとも1つの指示に基づいて前記複数のサブDPBのためのメモリスペースを割り振ることと、
    複数のレイヤのためのピクチャを復号することと、
    前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することと、
    をさらに備える、請求項1に記載の方法。

  3. 前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することは、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤの各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶することを備える、請求項2に記載の方法。

  4. 出力時間に従って前記複数のサブDPBに記憶された前記ピクチャを出力することと、ここにおいて、同じ出力時間を有するサブDPB中のピクチャが同時に出力され、
    前記複数のサブDPBの各々中の前記ピクチャに対してマーキングプロセスを独立して実行することと、ここにおいて、前記マーキングプロセスは、ピクチャを参照のために使用されるとマークするか、または前記ピクチャを参照のために使用されないとマークし、
    前記複数のサブDPBから、出力のためにもはや必要とされず、参照のために使用されないとマークされたピクチャを削除することと、
    をさらに備える、請求項3に記載の方法。

  5. 空間解像度、ビット深度、またはカラーフォーマットのうちの少なくとも1つによって前記レイヤタイプを決定すること、
    をさらに備える、請求項3に記載の方法。

  6. 前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、請求項3に記載の方法。

  7. 前記サブDPBサイズの前記少なくとも1つの指示を受信することは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を受信することを備える、請求項1に記載の方法。

  8. 前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズはピクチャの数である、請求項7に記載の方法。

  9. 前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのための前記サブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、請求項7に記載の方法。

  10. 前記サブDPBサイズの前記少なくとも1つの指示を受信することは、前記マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のためのサブDPBサイズのそれぞれの指示を受信することを備える、請求項1に記載の方法。

  11. 前記サブDPBの数の指示を受信することと、
    サブDPBの前記数の前記指示に基づいて前記DPBを複数のサブDPBに区分することと、
    をさらに備える、請求項1に記載の方法。

  12. レイヤタイプに従って前記複数のサブDPBの各々を識別するインデックスを導出すること、
    をさらに備える、請求項11に記載の方法。

  13. ビデオデータを復号するように構成された装置であって、
    ビデオデータを記憶するように構成された復号ピクチャバッファ(DPB)と、
    前記DPBを複数のサブDPBに区分することと、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、
    を行うように構成されたビデオデコーダと、
    を備える、装置。

  14. 前記ビデオデコーダは、
    前記少なくとも1つの指示に基づいて前記複数のサブDPBのためのメモリスペースを割り振ることと、
    複数のレイヤのためのピクチャを復号することと、
    前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することと、
    を行うようにさらに構成された、請求項13に記載の装置。

  15. 前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記ビデオデコーダは、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤ各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶するようにさらに構成された、請求項14に記載の装置。

  16. 前記ビデオデコーダは、
    出力時間に従って前記複数のサブDPBに記憶された前記ピクチャを出力することと、ここにおいて、同じ出力時間を有するサブDPB中のピクチャは同時に出力され、
    前記複数のサブDPBの各々中の前記ピクチャに対してマーキングプロセスを独立して実行することと、ここにおいて、前記マーキングプロセスは、ピクチャを参照のために使用されるとマークするか、または前記ピクチャを参照のために使用されないとマークし、
    前記複数のサブDPBから、出力のためにもはや必要とされず、参照のために使用されないとマークされたピクチャを削除することと、
    を行うようにさらに構成された、請求項15に記載の装置。

  17. 前記ビデオデコーダは、
    空間解像度、ビット深度、またはカラーフォーマットのうちの少なくとも1つによって前記レイヤタイプを決定すること、
    を行うようにさらに構成された、請求項15に記載の装置。

  18. 前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、請求項15に記載の装置。

  19. 前記ビデオデコーダは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を受信するようにさらに構成された、請求項13に記載の装置。

  20. 前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズはピクチャの数である、請求項19に記載の装置。

  21. 前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、請求項19に記載の装置。

  22. 前記ビデオデコーダは、前記マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のための前記サブDPBサイズのそれぞれの指示を受信するようにさらに構成された、請求項13に記載の装置。

  23. 前記ビデオデコーダは、
    サブDPBの数の指示を受信することと、
    サブDPBの前記数の前記指示に基づいて前記DPBを複数のサブDPBに区分することと、
    を行うようにさらに構成された、請求項22に記載の装置。

  24. 前記ビデオデコーダは、
    レイヤタイプに従って前記複数のサブDPBの各々を識別するインデックスを導出すること、
    を行うようにさらに構成された、請求項23に記載の装置。

  25. ビデオデータを復号するように構成された装置であって、
    復号ピクチャバッファ(DPB)を複数のサブDPBに区分するための手段と、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信するための手段と、
    を備える、装置。

  26. 実行されたとき、ビデオデータを復号するように構成されたデバイス1つまたは複数のプロセッサに、
    復号ピクチャバッファ(DPB)を複数のサブDPBに区分することと、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を受信することと、
    を行わせる命令を記憶するコンピュータ可読記憶媒体。

  27. ビデオデータを符号化する方法であって、
    複数の異なるレイヤタイプの複数のピクチャを再構成することと、
    前記複数のピクチャを復号ピクチャバッファ(DPB)に記憶することと、ここにおいて、前記DPBは複数のサブDPBに区分され、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することと、
    を備える方法。

  28. 前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することは、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤの各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶することを備える、請求項27に記載の方法。

  29. 前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、請求項28に記載の方法。

  30. 前記サブDPBサイズの前記少なくとも1つの指示を生成することは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を生成することを備える、請求項27に記載の方法。

  31. 前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズがピクチャの数である、請求項30に記載の方法。

  32. 前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、請求項30に記載の方法。

  33. 前記サブDPBサイズの前記少なくとも1つの指示を生成することは、前記マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のための前記サブDPBサイズのそれぞれの指示を生成することを備える、請求項27に記載の方法。

  34. ビデオデータを符号化するように構成された装置であって、
    ビデオデータを記憶するように構成された復号ピクチャバッファ(DBP)と、
    複数の異なるレイヤタイプの複数のピクチャを再構成することと、
    前記複数のピクチャを前記DPBに記憶することと、ここにおいて、前記DPBは複数のサブDPBに区分され、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することと
    を行うように構成されたビデオエンコーダと、
    を備える装置。

  35. 前記複数のサブDPBの各々は、前記マルチレイヤビデオコーディングプロセスにおける複数の異なるレイヤタイプのうちの1つのためのピクチャを記憶するように構成され、前記複数のレイヤのための前記ピクチャを前記複数のサブDPBに記憶することが、前記それぞれのピクチャのレイヤタイプに従って前記複数のレイヤの各々のためのピクチャを前記サブDPBのうちの特定の1つに記憶することを備える、請求項34に記載の装置。

  36. 前記マルチレイヤビデオコーディングプロセスはマルチビュービデオコーディングプロセスまたはスケーラブルビデオコーディングプロセスのうちの1つである、請求項35に記載の装置。

  37. 前記ビデオエンコーダは、ビデオパラメータセット中で前記サブDPBサイズの前記少なくとも1つの指示を生成するようにさらに構成された、請求項34に記載の装置。

  38. 前記少なくとも1つの指示は、前記サブDPBサイズを明示的に示す値を有するシンタックス要素であり、前記サブDPBサイズがピクチャの数である、請求項37に記載の装置。

  39. 前記少なくとも1つの指示は、前記1つまたは複数のオペレーションポイントのためのサブDPBサイズと前にシグナリングされたオペレーションポイントのためのサブDPBサイズとの間の差を表す値を有するシンタックス要素である、請求項37に記載の装置。

  40. 前記ビデオエンコーダは、マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBの各々のための前記サブDPBサイズのそれぞれの指示を生成するようにさらに構成された、請求項34に記載の装置。

  41. ビデオデータを符号化するように構成された装置であって、
    複数の異なるレイヤタイプの複数のピクチャを再構成するための手段と、
    前記複数のピクチャを復号ピクチャバッファ(DPB)に記憶するための手段と、ここにおいて、前記DPBは複数のサブDPBに区分され、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成するための手段と、
    を備える装置。

  42. 実行されたとき、ビデオデータを符号化するように構成されたデバイスの1つまたは複数のプロセッサに、
    複数の異なるレイヤタイプの複数のピクチャを再構成することと、
    前記複数のレイヤピクチャを前記DPBに記憶することと、ここにおいて、前記DPBは複数のサブDPBに区分され、
    マルチレイヤビデオコーディングプロセスの1つまたは複数のオペレーションポイントのための前記複数のサブDPBのためのサブDPBサイズの少なくとも1つの指示を生成することと、
    を行わせる命令を記憶するコンピュータ可読媒体。

 

 

Patent trol of patentswamp
類似の特許
ビデオ処理デバイスは、ビデオデータを記憶するメモリと、アクセスユニットの第1のピクチャを備える第1のネットワークアブストラクションレイヤ(NAL)ユニットを受信することと、第1のNALユニットがイントラランダムアクセスポイント(IRAP)ピクチャを備えると決定したことに応答して、および、いかなる関連するリーディングピクチャも有しない瞬時復号リフレッシュ(IDR)ピクチャの存在を示す第1のNALユニットのためのNALユニットタイプに応答して、別のIRAPピクチャを備えるアクセスユニットの第2のNALユニットについて、いかなる関連するリーディングピクチャも有しないIDRピクチャの存在を示すNALユニットタイプとなるべき第2のNALユニットのためのNALユニットタイプを決定することと、第2のNALユニットのためのNALユニットタイプに基づいて、第1のNALユニットと第2のNALユニットとを処理することとを行うように構成された1つまたは複数のプロセッサとを含む。
ビデオ情報をコーディングするように構成された装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、現在レイヤとエンハンスメントレイヤとに関連付けられたビデオ情報を記憶するように構成され、現在レイヤは現在ピクチャを有する。プロセッサは、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得るかどうかを決定することと、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有するかどうかを決定することと、エンハンスメントレイヤからの情報を使用して現在レイヤがコーディングされ得、エンハンスメントレイヤが、現在ピクチャに対応するエンハンスメントレイヤピクチャを有すると決定したことに応答して、エンハンスメントレイヤピクチャに基づいて現在ピクチャをコーディングすることとを行うように構成される。プロセッサはビデオ情報を符号化または復号し得る。
【選択図】図4
特定の態様によるビデオ情報を符号化するための装置は、メモリとコンピューティングハードウェアとを含む。メモリは、ビデオ情報を記憶するように構成されている。コンピューティングハードウェアは、シグナリングするための1つまたは複数のビュー識別子のビット深度を決定するように構成されており、ここにおいて、1つまたは複数のビュー識別子のそれぞれは符号化されるべきレイヤに関連付けられている。コンピューティングハードウェアは、ビットストリーム内で1つまたは複数のビュー識別子のビット深度をシグナリングするようにさらに構成されている。
パケット損失に起因してマイナスの影響を受ける(正しく受信される)パケットの数は、パケット配列の1つ以上の失われたパケットの実行の各々のために、パケットのシーケンスのパケット内の誤り耐性および識別することを提供して、それを解析することによって低減され得ることが、本出願の知見である。1つ以上の失われたパケットのそれぞれの実行の後のパケットのシーケンス内のパケットは、ビデオデータストリームのタイルのいずれかの始まりをもたらし、また、並行してスライスをもたらす。そして、パケットのシーケンスのパケットのいずれかに含まれるスライスヘッダは、失われていない。特に、誤り耐性のデータを送信するためのサイド情報オーバーヘッドは、パケット損失に悪影響を及ぼすパケットの減少に比べて比較的低いものである。
【選択図】図1
本発明は、クライアントの装置に対してストリーミングされるパーティション化されたタイムドメディアデータをカプセル化することに関し、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、前記タイムドサンプルの各々は複数のサブサンプルを備える。サブサンプルの少なくとも一部が一つのサブサンプルのグループに属するように、少なくとも1つのグループを形成するようにサブサンプルのいくつかをグループ化した後、同一グループの少なくとも2つのサブサンプルがタイムドサンプルの1つの複数のサブサンプルの中から選択され、選択されたサブサンプルを備える少なくとも1つのトラックが作成される。次に、前記少なくとも1つの作成されたトラックに対して、前記少なくとも1つのトラックを作成するように選択された前記サブサンプルの各々に対して、1つのサブトラックボックスが作成され、前記作成されたサブトラックボックスの少なくとも1つは、選択されたサブサンプルに共通の定義およびプロパティを備える。前記作成されたトラックの各々は、少なくとも1つのメディアファイル内で独立してカプセル化される。
【選択図】 図15
多層ビデオ信号の層に対して最低1つの特徴(例えば、個々の層に対して、個々の層が相互層予測を介して直接に関連する依存層の標示など)の信号、または、前述の第2相互依存構文構造の信号が説明される。最大構文要素は、多層ビデオ信号のパケットの拡張層IDフィールドの最大限に使われた値を示すために、多層ビデオ信号内で信号で伝えられる。例えば、最大構文要素の範囲は、多層ビデオ信号のいくつかの部分を横切って拡張している、多層ビデオ信号の予め決められた部分である。従って、多層ビデオ信号の相対的に大きい予め決められた部分に対して、拡張層IDフィールドによって信号化できる可能な値の可能なドメインの実際に消費された部分についての知識を得ることは、多層ビデオ信号を受信するデコーダやネットワーク要素などの装置に対して適当である。最低1つの特徴が、ベース層IDフィールド値と拡張層IDフィールド値とのそれぞれの結合に対して信号で伝えられる必要はないけれども、むしろ、最大限に仮定された値に基づいて決定された層の最大値のための最低1つの特徴を信号で伝えることは重要である。従って、最低1つの特徴は、層IDを持つ層のために送信/信号することは必要でない。その拡張層IDは、多層ビデオ信号の予め決められた部分内で起こらない。これを越えて、別の実施の形態に従って、最大限に仮定された値の知識は、個々の部分の層IDを信号で伝えるためのサイド情報オーバーヘッドを減らすために、すなわち、多層ビデオ信号のパケット内の拡張層IDフィールドを信号で伝えるために必要なビットを減らすために使用される。
【選択図】図11
多層データストリームの層間の相互層依存の信号化が説明される。一方の相互層依存の潜在的な多様性の非常に集中的な制限と他方の相互層依存の非常に複雑な信号との間の良好な妥協案は、ベース層IDによって表現できる異なる値のペア間に相互依存を示している第1相互依存構文構造と、多層データストリームの部分が関連する層に索引を付ける拡張層ID、又は、ベース層IDおよび拡張層IDによって表現できる異なる値のペア間の相互依存を標示している第2相互依存構文構造との方法によって、相互層依存を説明することによって見つけられる。この概念に従って、強調が、一方の信号化できる相互層依存の増大した多様性と他方の相互層依存を信号で伝えるための減少したサイド情報オーバーヘッドとの間にシフトされる。例えば、共通のベース層IDを持つ層のセットは、それぞれ、「クラスタ」と呼ぶ。同じ第2相互依存構文構造が、全てのクラスタ内の相互依存と第1相互依存構文構造を介して互いに関連した全てのクラスタ間の相互依存とを調節するために別々に使用される。代わりに、第2相互依存構文構造の2つの実例が、一方のクラスタ内の層の相互依存と他方の異なるクラスタの層間の相互依存とを説明するために用いられる。増大した多様性または減少したサイド情報オーバーヘッドに置かれた強調とは無関係に、概念を信号で伝えている相互依存は、信号オーバーヘッドを低く保持することを生じる。
【選択図】図3
【課題】ビデオ符号化のサンプル適応オフセット処理の方法を提供する。
【解決手段】ビデオ符号化システムにおける再構成ピクチャのパフォーマンスを改善する修正されたSAO処理の方法を提供する。一実施態様において、SAO−サインスレショルドが導入されて、現在の再構成画素と隣接再構成画素間の差異のサインを決定する。負のSAO−サインスレショルドより大きく、正のSAO−サインスレショルドより小さい差分値の範囲が割り当てられて、0のサイン値を有する。別の態様において、SAO−オフセット値は、SAO−ビット−シフト値を、SAO−オフセット絶対値に左方移動させることによる結果により、SAO−オフセットサインを増加させることにより生成される。さらに別の実施態様において、SAO−オフセット絶対値は、トランケーティドライス(TR)コードにより符号化され、最大TR値は構文要素により示される。
【選択図】 図9
ビデオデータをコーディングする方法は、ビデオ情報の1つまたは複数のレイヤを受け取ることを含む。各レイヤは、少なくとも1つのピクチャを含むことができる。この方法は、1つまたは複数のレイヤの少なくとも1つのピクチャに関連付けられたアクティブ参照レイヤピクチャの個数を決定することを含むことができる。この方法は、1つまたは複数のレイヤのうちの少なくとも1つに関連付けられた直接参照レイヤの個数を決定することをさらに含むことができる。直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライス内でレイヤ間参照ピクチャ情報をさらにシグナリングすることを控えることをさらに含むことができる。それに加えてまたはその代わりに、直接参照レイヤの個数がアクティブ参照レイヤピクチャの個数と等しいことに基づいて、この方法は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)のうちの少なくとも1つに関連付けられた任意のビデオスライスに関するすべての直接参照レイヤピクチャをレイヤ間参照ピクチャセットに追加することを含むことができる。
例示的なビデオコーディングデバイスは、ビュー間予測された動きベクトル候補(IPMVC)を動きベクトル継承(MVI)候補と比較するように構成され、IPMVCとMVI候補は各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、IPMVCはベース深度ビュー中のビデオデータの対応するブロックから生成される。ビデオコーディングデバイスはさらに、IPMVCがMVI候補と異なることに基づいてIPMVCを統合候補リストに追加すること、または、IPMVCがMVI候補と同一であることに基づいて統合候補リストからIPMVCを除外することの1つを実行するように構成され得る。
To top