[0016]概して、本開示は、シングルレイヤコーディング、ならびにHEVC(高効率ビデオコーディング)など、アドバンストビデオコーデックのコンテキストにおけるスケーラブルビデオコーディングのためのレイヤ間予測に関する。より詳細には、本開示は、SHVCと呼ばれることがある、HEVCのスケーラブルビデオコーディング拡張におけるレイヤ間予測の性能の改善のためのシステムおよび方法に関する。
[0017]以下の説明では、いくつかの実施形態に関係するH.264/アドバンストビデオコーディング(AVC)技法について説明し、HEVC規格および関係する技法についても説明する。いくつかの実施形態について、HEVCおよび/またはH.264規格のコンテキストにおいて本明細書で説明するが、本明細書で開示するシステムおよび方法が任意の好適なビデオコーディング規格に適用可能であり得ることを、当業者は諒解されよう。たとえば、本明細書で開示する実施形態は、以下の規格、すなわち、国際電気通信連合(ITU)電気通信規格化セクタ(ITU−T)H.261、国際標準化機構(ISO)および国際電気標準会議(IEC)(ISO/IEC)ムービングピクチャエキスパートグループ(MPEG)1(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のうちの1つまたは複数に適用可能であり得る。
[0018]HEVCは、概して、多くの点で、前のビデオコーディング規格のフレームワークに従う。HEVCにおける予測のユニットは、いくつかの前のビデオコーディング規格における予測のユニット(たとえば、マクロブロック)とは異なる。事実上、マクロブロックの概念は、いくつかの前のビデオコーディング規格において理解されているように、HEVC中に存在しない。マクロブロックは、考えられる利益の中でも、高いフレキシビリティを提供し得る、4分木方式に基づく階層構造と置き換えられる。たとえば、HEVC方式内で、3つのタイプのブロック、コーディングユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)、および変換ユニット(TU:Transform Unit)が定義される。CUは領域分割の基本ユニットを指すことがある。CUはマクロブロックの概念に類似すると見なされ得るが、HEVCは、CUの最大サイズを制限せず、コンテンツ適応性を改善するために4つの等しいサイズのCUへの再帰的分割を可能にし得る。PUはインター/イントラ予測の基本ユニットと見なされ得、単一のPUは、不規則な画像パターンを効果的にコーディングするために、複数の任意の形状パーティションを含んでいることがある。TUは変換の基本ユニットと見なされ得る。TUは、PUとは無関係に定義され得るが、TUのサイズは、TUが属するCUのサイズに制限され得る。3つの異なる概念へのブロック構造のこの分離は、各ユニットがユニットのそれぞれの役割に従って最適化されることを可能にし得、それによりコーディング効率が改善され得る。
[0019]単に説明の目的で、本明細書で開示するいくつかの実施形態について、ビデオデータのただ2つのレイヤ(たとえば、ベースレイヤなどの下位レイヤ、およびエンハンスメントレイヤなどの上位レイヤ)を含む例を用いて説明する。ビデオデータの「レイヤ」は、概して、ビュー、フレームレート、解像度などの少なくとも1つの共通の特性を有するピクチャのシーケンスを指すことがある。たとえば、レイヤは、マルチビュービデオデータの特定のビュー(たとえば、パースペクティブ)に関連付けられたビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤに関連付けられたビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤおよびビューを互換的に指すことがある。すなわち、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤはビデオデータのビューと呼ばれることがある。さらに、(マルチレイヤビデオコーダまたはマルチレイヤ符号化器復号器とも呼ばれる)マルチレイヤコーデックは、マルチビューコーデックまたはスケーラブルコーデック(たとえば、MV−HEVC、3D−HEVC、SHVC、または別のマルチレイヤコーディング技法を使用するビデオデータを符号化および/または復号するように構成されたコーデック)を共同で指すことがある。ビデオ符号化およびビデオ復号は両方とも、概して、ビデオコーディングと呼ばれることがある。そのような例は、複数のベースレイヤおよび/またはエンハンスメントレイヤを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。ただし、これらの用語は限定的なものではない。たとえば、以下で説明する技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、フレームなど、任意の好適なビデオユニットとともに使用され得る。
ビデオコーディング規格
[0020]ビデオ画像、TV画像、静止画像、あるいはビデオレコーダまたはコンピュータによって生成された画像など、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮がなければ、画像符号化器から画像復号器に搬送されるべき情報の甚だしい量は、リアルタイム画像送信を不可能にするであろう。送信されるべき情報の量を低減するために、JPEG、MPEGおよびH.263規格など、いくつかの異なる圧縮方法が開発された。
[0021]ビデオコーディング規格は、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とを含む。
[0022]さらに、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)が、ITU−Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコーディング(JCT−VC:Joint Collaboration Team on Video Coding)によって開発されている。HEVCドラフト10についての完全引用は、文書JCTVC−L1003、Brossら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のジョイントコラボレーティブチームオンビデオコーディング(JCT−VC:Joint Collaborative Team on Video Coding)、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日である。HEVCのマルチビュー拡張すなわちMV−HEVC、およびSHVCと称されるHEVCのスケーラブル拡張も、それぞれJCT−3V(ITU−TI/SO/IECのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発)およびJCT−VCによって開発されている。
概要
[0023]イントラランダムアクセスポイント(IRAP)ピクチャは、ビットストリームを復号するためのランダムアクセスポイントを提供することができる。復号器は、IRAPピクチャに先行するピクチャを復号する必要なしに、IRAPピクチャを復号することによってビットストリームを復号することを開始し得る。IRAPピクチャを復号するときに、復号ピクチャバッファ(DPB)は、バッファ中にいくつかの復号されたピクチャを有し得る。DPB中の存在するピクチャを出力することが、復号器の性能に影響を及ぼすことになる(たとえば、復号器が出力すべきあまりに多くのピクチャがDPB中に存在する)場合、そのような存在するピクチャを、それらを出力することなしに削除する(たとえば、存在するピクチャをフラッシュする)ことが望ましいことがある。
[0024]変数NoOutputOfPriorPicsFlagは、IRAPピクチャを復号するとき、DPB中のピクチャが、DPBから削除されるより前に出力されるべきであるかどうかを示すことができる。たとえば、IRAPピクチャを復号するとき、NoOutputOfPriorPicsFlagの値は、DPB中のピクチャが、削除される前に出力されるべきでないとき、1に設定され得る。NoOutputOfPriorPicsFlagの値は、対応するシンタックス要素および/または様々な条件および情報に基づいて決定され得る。HEVC、SHVC、およびMV−HEVCの早期バージョン(たとえば、SHVCワーキングドラフト4およびMV−HEVCワーキングドラフト6)では、NoOutputOfPriorPicsFlagは、空間解像度またはピクチャストアの数が変化するとき、1に等しく設定され得る。NoOutputOfPriorPicsFlagを1に設定することによって、復号器は、適宜にDPB中のピクチャを削除することによって、DPB中で利用可能なメモリの量を制御することができる。しかしながら、DPB中で必要とされるメモリの量は、ピクチャのカラーフォーマットおよび/またはビット深度の変化によっても影響を及ぼされ得る。
[0025]これらおよび他の課題に対処するために、いくつかの態様による技法は、IRAPピクチャのためのNoOutputOfPriorPicsFlagの値を決定するとき、ピクチャのカラーフォーマットおよび/またはビット深度を考慮に入れることができる。たとえば、技法は、復号されるべき現在のレイヤにおける現在のピクチャのカラーフォーマットおよび/またはビット深度が、現在のレイヤにおける先行するピクチャのカラーフォーマットおよび/またはビット深度とは異なるかどうかを決定し得る。現在のピクチャおよび先行するピクチャのカラーフォーマットおよび/またはビット深度は、現在アクティブなシーケンスパラメータセット(SPS)、およびそれぞれ先行するピクチャが復号されたときにアクティブであったSPSから取得され得る。カラーフォーマットまたはビット深度の変化がある場合、NoOutputOfPriorPicsFlagの値は、ピクチャを出力することなしにDPB中のピクチャの削除をトリガするために、1に等しく設定され得る。
[0026]ピクチャのカラーフォーマットおよび/またはビット深度の変化を考慮に入れることによって、技法は、より正確にNoOutputOfPriorPicsFlagの値を決定することができる。たとえば、技法は、バッファ中に追加のメモリを必要とすることになる状況をより良く予期することができる。
ビデオコーディングシステム
[0027]添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために提供されるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するどの態様も請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0028]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
[0029]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
[0030]図1Aは、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオ符号化器とビデオ復号器の両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。ビデオ符号化器およびビデオ復号器に加えて、本出願で説明する態様は、トランスコーダ(たとえば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス)およびミドルボックス(たとえば、ビットストリームを変更、変換、および/または場合によっては操作することができるデバイス)など、他の関係するデバイスに拡張され得る。
[0031]図1Aに示されているように、ビデオコーディングシステム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。図1Aの例では、ソースデバイス12および宛先デバイス14は、別個のデバイスを構成する。ただし、ソースデバイス12および宛先デバイス14は、図1Bの例に示されているように、同じデバイス上にあるかまたはそれの一部であり得ることに留意されたい。
[0032]もう一度図1Aを参照すると、ソースデバイス12および宛先デバイス14は、それぞれ、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0033]宛先デバイス14は、復号されるべき符号化ビデオデータをリンク16を介して受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。図1Aの例では、リンク16は、ソースデバイス12が符号化ビデオデータをリアルタイムで宛先デバイス14に送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得る任意の他の機器を含み得る。
[0034]代替的に、符号化データは出力インターフェース22からオプションのストレージデバイス31に出力され得る。同様に、符号化データは、たとえば、宛先デバイス14の入力インターフェース28によってストレージデバイス31からアクセスされ得る。ストレージデバイス31は、ハードドライブ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス31は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス31から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、ワイヤレスローカルエリアネットワーク(WLAN)接続)、ワイヤード接続(たとえば、デジタル加入者線(DSL)、ケーブルモデムなど)、またはその両方の組合せを含み得る。ストレージデバイス31からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0035]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信(たとえば、ハイパーテキスト転送プロトコル(HTTP)上での動的適応ストリーミングなど)、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0036]図1Aの例では、ソースデバイス12は、ビデオソース18と、ビデオ符号化器20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、図1Bの例に示されているように、いわゆる「カメラフォン」または「ビデオフォン」を形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0037]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオ符号化器20によって符号化され得る。符号化されたビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に送信され得る。符号化ビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス31上に記憶され得る。図1Aおよび図1Bに示されているビデオ符号化器20は、図2A示されているビデオ符号化器20、図2Bに示されているビデオ符号化器23、または本明細書で説明する他のビデオ符号化器を備え得る。
[0038]図1Aの例では、宛先デバイス14は、入力インターフェース28と、ビデオ復号器30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介しておよび/またはストレージデバイス31から符号化ビデオデータを受信し得る。リンク16を介して通信され、またはストレージデバイス31上に提供された符号化ビデオデータは、ビデオデータを復号する際に、ビデオ復号器30などのビデオ復号器が使用するためのビデオ符号化器20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ記憶された符号化ビデオデータに含まれ得る。図1Aおよび図1Bに示されているビデオ復号器30は、図3A示されているビデオ復号器30、図3Bに示されているビデオ復号器33、または本明細書で説明する他のビデオ復号器を備え得る。
[0039]ディスプレイデバイス32は、宛先デバイス14と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0040]関係する態様では、図1Bは例示的なビデオ符号化および復号システム10’を示し、ここにおいて、ソースデバイス12および宛先デバイス14はデバイス11上にあるかまたはそれの一部である。デバイス11は、「スマート」フォンなどの電話ハンドセットであり得る。デバイス11は、ソースデバイス12および宛先デバイス14と動作可能に通信しているオプションのコントローラ/プロセッサデバイス13を含み得る。図1Bのシステム10’は、ビデオ符号化器20と出力インターフェース22との間のビデオ処理ユニット21をさらに含み得る。いくつかの実装形態では、図1Bに示されているように、ビデオ処理ユニット21は別個のユニットであるが、他の実装形態では、ビデオ処理ユニット21は、ビデオ符号化器20および/またはプロセッサ/コントローラデバイス13の一部分として実装され得る。システム10’はまた、ビデオシーケンス中の当該のオブジェクトを追跡することができるオプションのトラッカー29を含み得る。追跡されるべきオブジェクトまたは興味は、本開示の1つまたは複数の態様に関して説明する技法によってセグメント化され得る。関係する態様では、追跡することは、単独でまたはトラッカー29とともに、ディスプレイデバイス32によって実行され得る。図1Bのシステム10’およびそれの構成要素は、場合によっては図1Aのシステム10およびそれの構成要素と同様である。
[0041]ビデオ符号化器20およびビデオ復号器30は、HEVCなどのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオ符号化器20およびビデオ復号器30は、代替的にMPEG−4,Part10,AVCと呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としてはMPEG−2およびITU−T H.263がある。
[0042]図1Aおよび図1Bの例には示されていないが、ビデオ符号化器20およびビデオ復号器30は、それぞれオーディオ符号化器および復号器と統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0043]ビデオ符号化器20およびビデオ復号器30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適な符号化器回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオ符号化器20およびビデオ復号器30の各々は1つまたは複数の符号化器または復号器中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合符号化器/復号器(コーデック)の一部として統合され得る。
ビデオコーディングプロセス
[0044]上記で手短に述べたように、ビデオ符号化器20はビデオデータを符号化する。ビデオデータは1つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオ符号化器20がビデオデータを符号化するとき、ビデオ符号化器20はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと関連データとを含み得る。コード化ピクチャとは、ピクチャのコード化表現である。
[0045]ビットストリームを生成するために、ビデオ符号化器20は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオ符号化器20がピクチャに対して符号化演算を実行するとき、ビデオ符号化器20は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、ビデオパラメータセット(VPS)と、シーケンスパラメータセット(SPS)と、ピクチャパラメータセット(PPS)と、適応パラメータセット(APS)と、他のシンタックス構造とを含み得る。SPSは、ピクチャの0個以上のシーケンスに適用可能なパラメータを含んでいることがある。PPSは、0個以上のピクチャに適用可能なパラメータを含んでいることがある。APSは、0個以上のピクチャに適用可能なパラメータを含んでいることがある。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
[0046]コード化ピクチャを生成するために、ビデオ符号化器20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの2次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット(LCU:largest coding unit)と呼ばれることがある。HEVCのツリーブロックは、H.264/AVCなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。ビデオ符号化器20は、4分木区分(quadtree partitioning)を使用して、ツリーブロックのビデオブロックを、CUに関連付けられたビデオブロックに区分し得、したがって「ツリーブロック」という名前がある。
[0047]いくつかの例では、ビデオ符号化器20はピクチャを複数のスライスに区分し得る。スライスの各々は整数個のCUを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
[0048]ピクチャに対して符号化演算を実行することの一部として、ビデオ符号化器20は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオ符号化器20がスライスに対して符号化演算を実行するとき、ビデオ符号化器20は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
[0049]コード化スライスを生成するために、ビデオ符号化器20は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオ符号化器20がツリーブロックに対して符号化演算を実行するとき、ビデオ符号化器20はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
[0050]ビデオ符号化器20がコード化スライスを生成するとき、ビデオ符号化器20は、ラスタスキャン順序に従って、スライス中のツリーブロックに対して符号化演算を実行し得る(たとえば、そのツリーブロックを符号化し得る)。たとえば、ビデオ符号化器20は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオ符号化器20がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
[0051]ラスタスキャン順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオ符号化器20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオ符号化器20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
[0052]コード化ツリーブロックを生成するために、ビデオ符号化器20は、ツリーブロックのビデオブロックに対して4分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は、異なるCUに関連付けられ得る。たとえば、ビデオ符号化器20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたCUは、それのビデオブロックが、他のCUに関連付けられたビデオブロックに区分された、CUであり得る。区分されていないCUは、それのビデオブロックが、他のCUに関連付けられたビデオブロックに区分されていない、CUであり得る。
[0053]ビットストリーム中の1つまたは複数のシンタックス要素は、ビデオ符号化器20がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。CUのビデオブロックは形状が正方形であり得る。CUのビデオブロックのサイズ(たとえば、CUのサイズ)は、8×8ピクセルから、最大64×64以上のピクセルをもつツリーブロックのビデオブロックのサイズ(たとえば、ツリーブロックのサイズ)までに及び得る。
[0054]ビデオ符号化器20は、zスキャン順序に従って、ツリーブロックの各CUに対して符号化演算を実行し得る(たとえば、各CUを符号化し得る)。言い換えれば、ビデオ符号化器20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、その順序で符号化し得る。ビデオ符号化器20が、区分されたCUに対して符号化演算を実行するとき、ビデオ符号化器20は、zスキャン順序に従って、区分されたCUのビデオブロックのサブブロックに関連付けられたCUを符号化し得る。言い換えれば、ビデオ符号化器20は、左上のサブブロックに関連付けられたCUと、右上のサブブロックに関連付けられたCUと、左下のサブブロックに関連付けられたCUと、次いで右下のサブブロックに関連付けられたCUとを、その順序で符号化し得る。
[0055]zスキャン順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、左上、右上、左、および左下のCUは符号化されていることがある。所与のCUの下および右のCUはまだ符号化されていない。したがって、ビデオ符号化器20は、所与のCUを符号化するとき、所与のCUに隣接するいくつかのCUを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオ符号化器20は、所与のCUを符号化するとき、所与のCUに隣接する他のCUを符号化することによって生成された情報にアクセスすることができないことがある。
[0056]ビデオ符号化器20が、区分されていないCUを符号化するとき、ビデオ符号化器20は、CUのために1つまたは複数の予測ユニット(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオ符号化器20は、CUの各PUについて予測ビデオブロックを生成し得る。PUの予測ビデオブロックはサンプルのブロックであり得る。ビデオ符号化器20は、イントラ予測またはインター予測を使用して、PUのための予測ビデオブロックを生成し得る。
[0057]ビデオ符号化器20がイントラ予測を使用してPUの予測ビデオブロックを生成するとき、ビデオ符号化器20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオ符号化器20がイントラ予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはイントラ予測されたCUである。ビデオ符号化器20がインター予測を使用してPUの予測ビデオブロックを生成するとき、ビデオ符号化器20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオ符号化器20がインター予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはインター予測されたCUである。
[0058]さらに、ビデオ符号化器20がインター予測を使用してPUのための予測ビデオブロックを生成するとき、ビデオ符号化器20はPUの動き情報を生成し得る。PUの動き情報は、PUの1つまたは複数の参照ブロックを示し得る。PUの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはPUに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、PUの参照ブロックはPUの「参照サンプル」と呼ばれることもある。ビデオ符号化器20は、PUの参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0059]ビデオ符号化器20がCUの1つまたは複数のPUのための予測ビデオブロックを生成した後、ビデオ符号化器20は、CUのPUのための予測ビデオブロックに基づいて、CUの残差データを生成し得る。CUの残差データは、CUのPUのための予測ビデオブロック中のサンプルと、CUの元のビデオブロック中のサンプルとの間の差を示し得る。
[0060]さらに、区分されていないCUに対して符号化演算を実行することの一部として、ビデオ符号化器20は、CUの残差データに対して再帰的な4分木区分を実行して、CUの残差データを、CUの変換ユニット(TU)に関連付けられた残差データの1つまたは複数のブロック(たとえば、残差ビデオブロック)に区分し得る。CUの各TUは異なる残差ビデオブロックに関連付けられ得る。
[0061]ビデオ符号化器20は、TUに関連付けられた変換係数ブロック(たとえば、変換係数のブロック)を生成するために、TUに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
[0062]変換係数ブロックを生成した後、ビデオ符号化器20は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を提供するプロセスを指す。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。
[0063]ビデオ符号化器20は、各CUを量子化パラメータ(QP:quantization parameter)値に関連付け得る。CUに関連付けられたQP値は、ビデオ符号化器20が、CUに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオ符号化器20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
[0064]ビデオ符号化器20が変換係数ブロックを量子化した後、ビデオ符号化器20は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオ符号化器20は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング(CABAC:Context Adaptive Binary Arithmetic Coding)演算などのエントロピー符号化演算を適用し得る。コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、確率間隔区分エントロピー(PIPE:probability interval partitioning entropy)コーディング、または他のバイナリ算術コーディングなど、他のエントロピーコーディング技法も使用され得る。
[0065]ビデオ符号化器20によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ(NAL:Network Abstraction Layer)ユニットを含み得る。NALユニットの各々は、NALユニット中のデータのタイプのインジケーションと、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。たとえば、NALユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報(SEI:supplemental enhancement information)、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含み得る。NALユニット中のデータは様々なシンタックス構造を含み得る。
[0066]ビデオ復号器30は、ビデオ符号化器20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオ符号化器20によって符号化されたビデオデータのコード化表現を含み得る。ビデオ復号器30がビットストリームを受信するとき、ビデオ復号器30は、ビットストリームに対してパース演算を実行し得る。ビデオ復号器30がパース演算を実行するとき、ビデオ復号器30は、ビットストリームからシンタックス要素を抽出し得る。ビデオ復号器30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオ符号化器20によって実行されるプロセスとは逆であり得る。
[0067]ビデオ復号器30がCUに関連付けられたシンタックス要素を抽出した後、ビデオ復号器30は、シンタックス要素に基づいて、CUのPUのための予測ビデオブロックを生成し得る。さらに、ビデオ復号器30は、CUのTUに関連付けられた変換係数ブロックを逆量子化し得る。ビデオ復号器30は、変換係数ブロックに対して逆変換を実行して、CUのTUに関連付けられた残差ビデオブロックを再構成し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオ復号器30は、予測ビデオブロックと残差ビデオブロックとに基づいて、CUのビデオブロックを再構成し得る。このようにして、ビデオ復号器30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構成し得る。
ビデオ符号化器
[0068]図2Aは、本開示で説明する態様による技法を実装し得るビデオ符号化器20の一例を示すブロック図である。ビデオ復号器20は、HEVCの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオ符号化器20は、限定はしないが、図4および図5に関して上記および下記でより詳細に説明するNoOutputOfPriorPicsFlagを推論する方法および関係するプロセスを含む、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、予測処理ユニット100は、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。別の実施形態では、ビデオ符号化器20は、本開示で説明する技法のいずれかまたはすべてを実行するように構成されたオプションのレイヤ間予測ユニット128を含む。他の実施形態では、レイヤ間予測は予測処理ユニット100(たとえば、インター予測ユニット121および/またはイントラ予測ユニット126)によって実行され得、その場合、レイヤ間予測ユニット128は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオ符号化器20の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
[0069]説明の目的で、本開示では、HEVCコーディングのコンテキストにおいてビデオ符号化器20について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図2Aに示された例はシングルレイヤコーデックのためのものである。しかしながら、図2Bに関してさらに説明するように、ビデオ符号化器20の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
[0070]ビデオ符号化器20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオ中の時間冗長性を低減または削除するために、時間予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指すことがある。
[0071]図2Aの例では、ビデオ符号化器20は複数の機能構成要素を含む。ビデオ符号化器20の機能構成要素は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換ユニット110と、再構成ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測ユニット121と、動き推定ユニット122と、動き補償ユニット124と、イントラ予測ユニット126と、レイヤ間予測ユニット128とを含む。他の例では、ビデオ符号化器20は、より多数の、より少数の、または異なる機能構成要素を含み得る。さらに、動き推定ユニット122と動き補償ユニット124とは、高度に統合され得るが、図2Aの例では、説明の目的で別々に表されている。
[0072]ビデオ符号化器20はビデオデータを受信し得る。ビデオ符号化器20は、様々なソースからビデオデータを受信し得る。たとえば、ビデオ符号化器20は、(たとえば、図1Aまたは図1Bに示された)ビデオソース18、または別のソースからビデオデータを受信し得る。ビデオデータは一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオ符号化器20は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオ符号化器20は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオ符号化器20は、スライス中のツリーブロックに対して符号化演算を実行し得る。
[0073]ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット100は、ツリーブロックのビデオブロックに対して4分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は、異なるCUに関連付けられ得る。たとえば、予測処理ユニット100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
[0074]CUに関連付けられたビデオブロックのサイズは、8×8サンプルから、最大64×64以上のサンプルをもつツリーブロックのサイズまでに及び得る。本開示では、「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は非負整数値を表す。
[0075]さらに、ツリーブロックに対して符号化演算を実行することの一部として、予測処理ユニット100は、ツリーブロック用の階層的な4分木データ構造を生成し得る。たとえば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測処理ユニット100が、ツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックのうちの1つに関連付けられたCUに対応する。予測処理ユニット100が、サブブロックのうちの1つを4つのサブサブブロックに区分する場合、サブブロックに関連付けられたCUに対応するノードは、サブサブブロックのうちの1つに関連付けられたCUに各々が対応する、4つの子ノードを有し得る。
[0076]4分木データ構造の各ノードは、対応するツリーブロックまたはCUのシンタックスデータ(たとえば、シンタックス要素)を含み得る。たとえば、4分木の中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分される(たとえば、分割される)かどうかを示すスプリットフラグを含み得る。CUのためのシンタックス要素は、再帰的に定義され得、CUのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないCUは、4分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロック用の4分木データ構造に基づくデータを含み得る。
[0077]ビデオ符号化器20は、ツリーブロックの区分されていない各CUに対して符号化演算を実行し得る。ビデオ符号化器20が、区分されていないCUに対して符号化演算を実行するとき、ビデオ符号化器20は、区分されていないCUの符号化表現を表すデータを生成する。
[0078]CUに対して符号化演算を実行することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの中で、CUのビデオブロックを区分し得る。ビデオ符号化器20およびビデオ復号器30は、様々なPUサイズをサポートし得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオ符号化器20およびビデオ復号器30は、2N×2NまたはN×NのPUサイズと、2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N、または同様の対称PUサイズでのインター予測とをサポートし得る。ビデオ符号化器20およびビデオ復号器30は、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズに対する非対称区分をもサポートし得る。いくつかの例では、予測処理ユニット100は、CUのビデオブロックの辺に直角に接触しない境界に沿って、CUのPUの間でCUのビデオブロックを区分するように、幾何学的な区分を実行し得る。
[0079]インター予測ユニット121はCUの各PUに対してインター予測を実行し得る。インター予測は時間圧縮を提供し得る。PUに対してインター予測を実行するために、動き推定ユニット122はPUの動き情報を生成し得る。動き補償ユニット124は、動き情報と、CUに関連付けられたピクチャ以外のピクチャ(たとえば、参照ピクチャ)の復号サンプルとに基づくPUのための予測ビデオブロックを生成し得る。本開示では、動き補償ユニット124によって生成された予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
[0080]スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定ユニット122および動き補償ユニット124は、PUがIスライス中にあるか、Pスライス中にあるか、Bスライス中にあるかに応じて、CUのPUに対して異なる演算を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、動き推定ユニット122および動き補償ユニット124は、PUに対してインター予測を実行しない。
[0081]PUがPスライス中にある場合、PUを含んでいるピクチャは、「リスト0」と呼ばれる参照ピクチャのリストに関連付けられる。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定ユニット122が、Pスライス中のPUに関して動き推定演算を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット122は、様々なメトリクスを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。たとえば、動き推定ユニット122は、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。
[0082]Pスライス中のPUの参照ブロックを識別した後、動き推定ユニット122は、参照ブロックを含んでいる、リスト0中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット122は動きベクトルを異なる精度に生成し得る。たとえば、動き推定ユニット122は、1/4サンプル精度、1/8サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって識別された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0083]PUがBスライス中にある場合、PUを含んでいるピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストに関連付けられ得る。いくつかの例では、Bスライスを含んでいるピクチャは、リスト0とリスト1の組合せである、リストの組合せに関連付けられ得る。
[0084]さらに、PUがBスライス中にある場合、動き推定ユニット122は、PUについての単方向予測または双方向予測を実行し得る。動き推定ユニット122が、PUについての単方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0またはリスト1の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含んでいる、リスト0またはリスト1中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト0中の参照ピクチャを示すか、リスト1中の参照ピクチャを示すかを示し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0085]動き推定ユニット122が、PUについての双方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得、また、PUのための別の参照ブロックについて、リスト1中の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含んでいる、リスト0およびリスト1中の参照ピクチャを示す参照インデックスと、参照ブロックとPUの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報としてPUの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0086]いくつかの例では、動き推定ユニット122は、PUの動き情報のフルセットをエントロピー符号化ユニット116に出力しない。そうではなく、動き推定ユニット122は、別のPUの動き情報を参照して、PUの動き情報をシグナリングし得る。たとえば、動き推定ユニット122は、PUの動き情報が、隣接PUの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット122は、PUに関連付けられたシンタックス構造において、PUが隣接PUと同じ動き情報を有することをビデオ復号器30に示す値を示し得る。別の例では、動き推定ユニット122は、PUに関連付けられたシンタックス構造において、隣接PUと動きベクトル差分(MVD:motion vector difference)とを識別し得る。動きベクトル差分は、PUの動きベクトルと、示される隣接PUの動きベクトルとの間の差分を示す。ビデオ復号器30は、示される隣接PUの動きベクトルと、動きベクトル差分とを使用して、PUの動きベクトルを決定し得る。第2のPUの動き情報をシグナリングするときに第1のPUの動き情報を参照することによって、ビデオ符号化器20は、より少数のビットを使用して、第2のPUの動き情報をシグナリングすることが可能であり得る。
[0087]図5に関して以下でさらに説明するように、予測処理ユニット100は、図5に示されている方法を実行することによってPU(または他の参照レイヤブロックおよび/またはエンハンスメントレイヤブロックまたはビデオユニット)をコーディング(たとえば、符号化または復号)するように構成され得る。たとえば、(たとえば、動き推定ユニット122および/または動き補償ユニット124を介した)インター予測ユニット121、イントラ予測ユニット126、またはレイヤ間予測ユニット128は、一緒にまたは別々に、図5に示されている方法を実行するように構成され得る。
[0088]CUに対して符号化演算を実行することの一部として、イントラ予測ユニット126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は空間圧縮を提供し得る。イントラ予測ユニット126がPUに対してイントラ予測を実行するとき、イントラ予測ユニット126は、同じピクチャ中の他のPUの復号サンプルに基づいて、PUの予測データを生成し得る。PUの予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
[0089]PUに対してイントラ予測を実行するために、イントラ予測ユニット126は、複数のイントラ予測モードを使用して、PUの予測データの複数のセットを生成し得る。イントラ予測ユニット126が、イントラ予測モードを使用してPUの予測データのセットを生成するとき、イントラ予測ユニット126は、イントラ予測モードに関連付けられた方向および/または勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたって、サンプルを延ばし得る。隣接PUは、PU、CU、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測ユニット126は、PUのサイズに応じて、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。
[0090]予測処理ユニット100は、PUについての、動き補償ユニット124によって生成された予測データ、またはPUについての、イントラ予測ユニット126によって生成された予測データの中から、PUの予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、PUのための予測データを選択する。
[0091]予測処理ユニット100が、イントラ予測ユニット126によって生成された予測データを選択する場合、予測処理ユニット100は、PUの予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット100は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは現在PUに対して最確モードであり得る。したがって、予測処理ユニット100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
[0092]上記で説明したように、ビデオ符号化器20はレイヤ間予測ユニット128を含み得る。レイヤ間予測ユニット128は、SVCにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照レイヤ)を使用して現在ブロック(たとえば、EL中の現在ブロック)を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット128は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロックの再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
[0093]予測処理ユニット100がCUのPUの予測データを選択した後、残差生成ユニット102は、CUのビデオブロックからCUのPUの予測ビデオブロックを差し引くこと(たとえば、マイナス符号によって示される)によって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの異なるサンプル成分に対応する、2D残差ビデオブロックを含み得る。たとえば、残差データは、CUのPUの予測ビデオブロック中のサンプルのルミナンス成分と、CUの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、CUの残差データは、CUのPUの予測ビデオブロック中のサンプルのクロミナンス成分と、CUの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
[0094]予測処理ユニット100は、4分木区分を実行して、CUの残差ビデオブロックをサブブロックに区分し得る。各分割されていない残差ビデオブロックは、CUの異なるTUに関連付けられ得る。CUのTUに関連付けられた残差ビデオブロックのサイズおよび位置は、CUのPUに関連付けられたビデオブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT:residual quad tree)として知られる4分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。CUのTUはRQTのリーフノードに対応し得る。
[0095]変換処理ユニット104は、TUに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用することによって、CUの各TUのための1つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換処理ユニット104は、TUに関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を、TUに関連付けられた残差ビデオブロックに適用し得る。
[0096]変換処理ユニット104が、TUに関連付けられた変換係数ブロックを生成した後、量子化ユニット106は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット106は、CUに関連付けられたQP値に基づいて、CUのTUに関連付けられた変換係数ブロックを量子化し得る。
[0097]ビデオ符号化器20は、様々な方法でQP値をCUに関連付け得る。たとえば、ビデオ符号化器20は、CUに関連付けられたツリーブロックに対してレートひずみ分析を実行し得る。レートひずみ分析では、ビデオ符号化器20は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオ符号化器20がツリーブロックの異なる符号化表現を生成するとき、ビデオ符号化器20は、異なるQP値をCUに関連付け得る。ビデオ符号化器20は、最小のビットレートおよびひずみメトリックを有するツリーブロックのコード化表現で所与のQP値がCUに関連付けられるとき、所与のQP値がCUに関連付けられることをシグナリングし得る。
[0098]逆量子化ユニット108および逆変換ユニット110は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを再構成し得る。再構成ユニット112は、再構成された残差ビデオブロックを、予測処理ユニット100によって生成された1つまたは複数の予測ビデオブロックからの対応するサンプルに追加して、TUに関連付けられた再構成されたビデオブロックを生成し得る。このようにCUの各TUのためのビデオブロックを再構成することによって、ビデオ符号化器20は、CUのビデオブロックを再構成し得る。
[0099]再構成ユニット112がCUのビデオブロックを再構成した後、フィルタユニット113は、CUに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するためにデブロッキング演算を実行し得る。1つまたは複数のデブロッキング演算を実行した後、フィルタユニット113は、復号ピクチャバッファ114にCUの再構成されたビデオブロックを記憶し得る。動き推定ユニット122および動き補償ユニット124は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続ピクチャのPUに対してインター予測を実行し得る。さらに、イントラ予測ユニット126は、復号ピクチャバッファ114中の再構成されたビデオブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行し得る。
[00100]エントロピー符号化ユニット116は、ビデオ符号化器20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット116は、量子化ユニット106から変換係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット116がデータを受信するとき、エントロピー符号化ユニット116は、1つまたは複数のエントロピー符号化演算を実行して、エントロピー符号化されたデータを生成し得る。たとえば、ビデオ符号化器20は、コンテキスト適応型可変長コーディング(CAVLC)演算、CABAC演算、変数間(V2V:variable-to-variable)レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE)コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化ユニット116は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
[00101]データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化ユニット116は、コンテキストモデルを選択し得る。エントロピー符号化ユニット116がCABAC演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。CABACのコンテキストでは、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。
マルチレイヤビデオ符号化器
[00102]図2Bは、本開示で説明する態様による技法を実装し得る(単にビデオ符号化器23とも呼ばれる)マルチレイヤビデオ符号化器23の一例を示すブロック図である。ビデオ符号化器23は、SHVCおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオ符号化器23は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
[00103]ビデオ符号化器23はビデオ符号化器20Aとビデオ符号化器20Bとを含み、それらの各々はビデオ符号化器20として構成され得、ビデオ符号化器20に関して上記で説明した機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオ符号化器20Aおよび20Bは、ビデオ符号化器20としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオ符号化器23は、2つのビデオ符号化器20Aおよび20Bを含むものとして示されているが、ビデオ符号化器23は、そのようなものとして限定されず、任意の数のビデオ符号化器20レイヤを含み得る。いくつかの実施形態では、ビデオ符号化器23はアクセスユニット中の各ピクチャまたはフレームについてビデオ符号化器20を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つの符号化器レイヤを含むビデオ符号化器によって処理または符号化され得る。いくつかの実施形態では、ビデオ符号化器23は、アクセスユニット中のフレームよりも多くの符号化器レイヤを含み得る。いくつかのそのような場合では、ビデオ符号化器レイヤのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
[00104]ビデオ符号化器20Aおよび20Bに加えて、ビデオ符号化器23はリサンプリングユニット90を含み得る。リサンプリングユニット90は、場合によっては、たとえば、エンハンスメントレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。リサンプリングユニット90は、フレームの受信されたベースレイヤに関連付けられた特定の情報をアップサンプリングするが、他の情報をアップサンプリングしないことがある。たとえば、リサンプリングユニット90は、ベースレイヤの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャ順序カウントは定数のままであり得る。場合によっては、リサンプリングユニット90は、受信されたビデオを処理しないことがあるか、および/またはオプションであり得る。たとえば、場合によっては、予測処理ユニット100はアップサンプリングを実行し得る。いくつかの実施形態では、リサンプリングユニット90は、レイヤをアップサンプリングすることと、スライス境界ルールおよび/またはラスタスキャンルールのセットに準拠するために1つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。アクセスユニット中のベースレイヤまたは下位レイヤをアップサンプリングするものとして主に説明したが、場合によっては、リサンプリングユニット90はレイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミング中に帯域幅が減少した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
[00105]リサンプリングユニット90は、下位レイヤ符号化器(たとえば、ビデオ符号化器20A)の復号ピクチャバッファ114からピクチャまたはフレーム(またはピクチャに関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤ符号化器と同じアクセスユニット中のピクチャを符号化するように構成された上位レイヤ符号化器(たとえば、ビデオ符号化器20B)の予測処理ユニット100に提供され得る。場合によっては、上位レイヤ符号化器は、下位レイヤ符号化器から削除された1つのレイヤである。他の場合には、図2Bのレイヤ0ビデオ符号化器とレイヤ1符号化器との間に1つまたは複数の上位レイヤ符号化器があり得る。
[00106]場合によっては、リサンプリングユニット90は省略またはバイパスされ得る。そのような場合、ビデオ符号化器20Aの復号ピクチャバッファ114からのピクチャは、直接、または少なくともリサンプリングユニット90に提供されることなしに、ビデオ符号化器20Bの予測処理ユニット100に提供され得る。たとえば、ビデオ符号化器20Bに提供されたビデオデータと、ビデオ符号化器20Aの復号ピクチャバッファ114からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、リサンプリングなしにビデオ符号化器20Bに提供され得る。
[00107]いくつかの実施形態では、ビデオ符号化器23は、ビデオ符号化器20Aにビデオデータを提供される前に、ダウンサンプリングユニット94を使用して下位レイヤ符号化器に提供されるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット94は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能なリサンプリングユニット90であり得る。また他の実施形態では、ダウンサンプリングユニット94は省略され得る。
[00108]図2Bに示されているように、ビデオ符号化器23は、マルチプレクサ98、またはmuxをさらに含み得る。mux98は、ビデオ符号化器23から合成ビットストリームを出力することができる。合成ビットストリームは、ビデオ符号化器20Aおよび20Bの各々からビットストリームを取り、所与の時間において出力されるビットストリームを互い違いにすることによって作成され得る。場合によっては、2つの(または、3つ以上のビデオ符号化器レイヤの場合には、より多くの)ビットストリームからのビットが一度に1ビットずつ互い違いにされ得るが、多くの場合、ビットストリームは別様に合成され得る。たとえば、出力ビットストリームは、選択されたビットストリームを一度に1ブロックずつ互い違いにすることによって作成され得る。別の例では、出力ビットストリームは、ビデオ符号化器20Aおよび20Bの各々からブロックの非1:1比を出力することによって作成され得る。たとえば、ビデオ符号化器20Aから出力された各ブロックについて、2つのブロックがビデオ符号化器20Bから出力され得る。いくつかの実施形態では、mux98からの出力ストリームはプリプログラムされ得る。他の実施形態では、mux98は、ソースデバイス12を含むソースデバイス上のプロセッサからなど、ビデオ符号化器23の外部のシステムから受信された制御信号に基づいて、ビデオ符号化器20A、20Bからのビットストリームを合成し得る。制御信号は、ビデオソース18からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオ符号化器23から望まれる解像度出力を決定するための他のファクタに基づいて生成され得る。
ビデオ復号器
[00109]図3Aは、本開示で説明する態様による技法を実装し得るビデオ復号器30の一例を示すブロック図である。ビデオ復号器30は、HEVCの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオ復号器30は、限定はしないが、図4および図5に関して上記および下記でより詳細に説明するNoOutputOfPriorPicsFlagを推論する方法および関係するプロセスを含む、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、動き補償ユニット162および/またはイントラ予測ユニット164は、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。一実施形態では、ビデオ復号器30は、場合によっては、本開示で説明する技法のいずれかまたはすべてを実行するように構成されたレイヤ間予測ユニット166を含み得る。他の実施形態では、レイヤ間予測は予測処理ユニット152(たとえば、動き補償ユニット162および/またはイントラ予測ユニット164)によって実行され得、その場合、レイヤ間予測ユニット166は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオ復号器30の様々な構成要素間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。
[00110]説明の目的で、本開示では、HEVCコーディングのコンテキストにおいてビデオ復号器30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図3Aに示された例はシングルレイヤコーデックのためのものである。しかしながら、図3Bに関してさらに説明するように、ビデオ復号器30の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
[00111]図3Aの例では、ビデオ復号器30は複数の機能構成要素を含む。ビデオ復号器30の機能構成要素は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換ユニット156と、再構成ユニット158と、フィルタユニット159と、復号ピクチャバッファ160とを含む。予測処理ユニット152は、動き補償ユニット162と、イントラ予測ユニット164と、レイヤ間予測ユニット166とを含む。いくつかの例では、ビデオ復号器30は、図2Aのビデオ符号化器20に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオ復号器30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[00112]ビデオ復号器30は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは複数のシンタックス要素を含み得る。ビデオ復号器30がビットストリームを受信したとき、エントロピー復号ユニット150は、ビットストリームに対してパース演算を実行し得る。ビットストリームに対してパース演算を実行した結果として、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を抽出し得る。パース演算を実行することの一部として、エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換ユニット156、再構成ユニット158、およびフィルタユニット159は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実行し得る。
[00113]上記で説明したように、ビットストリームは、一連のNALユニットを備え得る。ビットストリームのNALユニットは、ビデオパラメータセットNALユニット、シーケンスパラメータセットNALユニット、ピクチャパラメータセットNALユニット、SEI NALユニットなどを含み得る。ビットストリームに対してパース演算を実行することの一部として、エントロピー復号ユニット150は、シーケンスパラメータセットNALユニットからのシーケンスパラメータセット、ピクチャパラメータセットNALユニットからのピクチャパラメータセット、SEI NALユニットからのSEIデータなどを抽出しエントロピー復号する、パース演算を実行し得る。
[00114]さらに、ビットストリームのNALユニットはコード化スライスNALユニットを含み得る。ビットストリームに対してパース演算を実行することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットからコード化スライスを抽出しエントロピー復号する、パース演算を実行し得る。コーディングされたスライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット150は、コード化されたスライスヘッダ中のシンタックス要素に対して、CABAC復号演算などのエントロピー復号演算を実行して、スライスヘッダを再構成し得る。
[00115]コード化スライスのNALユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット150は、スライスデータ中のコード化CUからシンタックス要素を抽出するパース演算を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット150は、次いで、シンタックス要素のうちのいくつかに対してCABAC復号演算を実行し得る。
[00116]エントロピー復号ユニット150が区分されていないCUに対してパース演算を実行した後、ビデオ復号器30は、区分されていないCUに対して再構成演算を実行し得る。区分されていないCUに対して再構成演算を実行するために、ビデオ復号器30はCUの各TUに対して再構成演算を実行し得る。CUの各TUについて再構成演算を実行することによって、ビデオ復号器30は、CUに関連付けられた残差ビデオブロックを再構成し得る。
[00117]TUに対して再構成演算を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた変換係数ブロックを逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)し得る。逆量子化ユニット154は、HEVC用に提案された、またはH.264復号規格によって定義された逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット154は、量子化の程度を決定し、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定するために、変換係数ブロックのCUのためにビデオ符号化器20によって計算される量子化パラメータQPを使用し得る。
[00118]逆量子化ユニット154が変換係数ブロックを逆量子化した後、逆変換ユニット156は、変換係数ブロックに関連付けられたTUのための残差ビデオブロックを生成し得る。逆変換ユニット156は、TUのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。たとえば、逆変換ユニット156は、変換係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット156は、ビデオ符号化器20からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット156は、変換係数ブロックに関連付けられたツリーブロックの4分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット156は、ブロックサイズ、コーディングモードなど、1つまたは複数のコーディング特性から逆変換を推論し得る。いくつかの例では、逆変換ユニット156はカスケード逆変換を適用し得る。
[00119]いくつかの例では、動き補償ユニット162は、補間フィルタに基づく補間を実行することによって、PUの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償のために使用されるべき補間フィルタのための識別子が、シンタックス要素中に含まれ得る。動き補償ユニット162は、PUの予測ビデオブロックの生成中にビデオ符号化器20によって使用された同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについての補間値を計算し得る。動き補償ユニット162は、受信されたシンタックス情報に従って、ビデオ符号化器20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
[00120]図5に関して以下でさらに説明するように、予測処理ユニット152は、図5に示されている方法を実行することによってPU(または他の参照レイヤブロックおよび/またはエンハンスメントレイヤブロックまたはビデオユニット)をコーディング(たとえば、符号化または復号)し得る。たとえば、動き補償ユニット162、イントラ予測ユニット164、またはレイヤ間予測ユニット166は、一緒にまたは別々に、図5に示されている方法を実行するように構成され得る。
[00121]PUが、イントラ予測を使用して符号化される場合、イントラ予測ユニット164は、PUのための予測ビデオブロックを生成するためにイントラ予測を実行し得る。たとえば、イントラ予測ユニット164は、ビットストリーム中のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測ユニット164が使用し得るシンタックス要素を含み得る。
[00122]いくつかの事例では、シンタックス要素は、イントラ予測ユニット164が別のPUのイントラ予測モードを使用して現在PUのイントラ予測モードを決定するべきであることを示し得る。たとえば、現在PUのイントラ予測モードは隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUに対して最確モードであり得る。したがって、この例では、ビットストリームは、PUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット164は、次いで、イントラ予測モードを使用して、空間的に隣接するPUのビデオブロックに基づいて、PUの予測データ(たとえば、予測サンプル)を生成し得る。
[00123]上記で説明したように、ビデオ復号器30もレイヤ間予測ユニット166を含み得る。レイヤ間予測ユニット166は、SVCにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照レイヤ)を使用して、現在ブロック(たとえば、EL中の現在ブロック)を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット166は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在ブロックを予測するために、ベースレイヤ中のコロケートブロックの再構成を使用する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
[00124]再構成ユニット158は、適用可能なとき、CUのTUに関連付けられた残差ビデオブロックとCUのPUの予測ビデオブロックとを使用して、すなわち、イントラ予測データまたはインター予測データのいずれかを使用して、CUのビデオブロックを再構成し得る。したがって、ビデオ復号器30は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
[00125]再構成ユニット158がCUのビデオブロックを再構成した後、フィルタユニット159は、デブロッキング演算を実行して、CUに関連付けられたブロッキングアーティファクトを低減し得る。フィルタユニット159が、CUに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を実行した後、ビデオ復号器30はCUのビデオブロックを復号ピクチャバッファ160に記憶し得る。復号ピクチャバッファ160は、後続の動き補償、イントラ予測、および図1Aまたは図1Bのディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオ復号器30は、復号ピクチャバッファ160中のビデオブロックに基づいて、他のCUのPUに対してイントラ予測演算またはインター予測演算を実行し得る。
マルチレイヤ復号器
[00126]図3Bは、本開示で説明する態様による技法を実装し得る(単にビデオ復号器33とも呼ばれる)マルチレイヤビデオ復号器33の一例を示すブロック図である。ビデオ復号器33は、SHVCおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオ復号器33は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
[00127]ビデオ復号器33はビデオ復号器30Aとビデオ復号器30Bとを含み、それらの各々はビデオ復号器30として構成され得、ビデオ復号器30に関して上記で説明した機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオ復号器30Aおよび30Bは、ビデオ復号器30としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオ復号器33は、2つのビデオ復号器30Aおよび30Bを含むものとして示されているが、ビデオ復号器33は、そのようなものとして限定されず、任意の数のビデオ復号器30レイヤを含み得る。いくつかの実施形態では、ビデオ復号器33はアクセスユニット中の各ピクチャまたはフレームについてビデオ復号器30を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つの復号器レイヤを含むビデオ復号器によって処理または復号され得る。いくつかの実施形態では、ビデオ復号器33は、アクセスユニット中のフレームよりも多くの復号器レイヤを含み得る。いくつかのそのような場合では、ビデオ復号器レイヤのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
[00128]ビデオ復号器30Aおよび30Bに加えて、ビデオ復号器33はアップサンプリングユニット92を含み得る。いくつかの実施形態では、アップサンプリングユニット92は、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。このエンハンストレイヤは復号ピクチャバッファ160に記憶され得る。いくつかの実施形態では、アップサンプリングユニット92は、図2Aのリサンプリングユニット90に関して説明した実施形態の一部または全部を含むことができる。いくつかの実施形態では、アップサンプリングユニット92は、レイヤをアップサンプリングすることと、スライス境界ルールおよび/またはラスタスキャンルールのセットに準拠するために1つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。場合によっては、アップサンプリングユニット92は、受信されたビデオフレームのレイヤをアップサンプリングおよび/またはダウンサンプリングするように構成されたリサンプリングユニットであり得る。
[00129]アップサンプリングユニット92は、下位レイヤ復号器(たとえば、ビデオ復号器30A)の復号ピクチャバッファ160からピクチャまたはフレーム(またはピクチャに関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤ復号器と同じアクセスユニット中のピクチャを復号するように構成された上位レイヤ復号器(たとえば、ビデオ復号器30B)の予測処理ユニット152に提供され得る。場合によっては、上位レイヤ復号器は、下位レイヤ復号器から削除された1つのレイヤである。他の場合には、図3Bのレイヤ0ビデオ復号器とレイヤ1復号器との間に1つまたは複数の上位レイヤ復号器があり得る。
[00130]場合によっては、アップサンプリングユニット92は省略またはバイパスされ得る。そのような場合、ビデオ復号器30Aの復号ピクチャバッファ160からのピクチャは、直接、または少なくともアップサンプリングユニット92に提供されることなしに、ビデオ復号器30Bの予測処理ユニット152に提供され得る。たとえば、ビデオ復号器30Bに提供されたビデオデータと、ビデオ復号器30Aの復号ピクチャバッファ160からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングなしにビデオ復号器30Bに提供され得る。さらに、いくつかの実施形態では、アップサンプリングユニット92は、ビデオ復号器30Aの復号ピクチャバッファ160から受信された参照ピクチャをアップサンプリングまたはダウンサンプリングするように構成されたリサンプリングユニット90であり得る。
[00131]図3Bに示されているように、ビデオ復号器33は、デマルチプレクサ99、またはdemuxをさらに含み得る。demux99は符号化ビデオビットストリームを複数のビットストリームにスプリットすることができ、demux99によって出力された各ビットストリームは異なるビデオ復号器30Aおよび30Bに提供される。複数のビットストリームは、ビットストリームを受信することによって作成され得、ビデオ復号器30Aおよび30Bの各々は、所与の時間においてビットストリームの一部分を受信する。場合によっては、demux99において受信されるビットストリームからのビットは、ビデオ復号器の各々(たとえば、図3Bの例ではビデオ復号器30Aおよび30B)の間で一度に1ビットずつ互い違いにされ得るが、多くの場合、ビットストリームは別様に分割される。たとえば、ビットストリームは、一度に1ブロックずつビットストリームを受信するビデオ復号器を交替することによって分割され得る。別の例では、ビットストリームは、ブロックの非1:1比によって、ビデオ復号器30Aおよび30Bの各々に分割され得る。たとえば、2つのブロックは、ビデオ復号器30Aに提供されれる各ブロックについてビデオ復号器30Bに提供され得る。いくつかの実施形態では、demux99によるビットストリームの分割はプリプログラムされ得る。他の実施形態では、demux99は、宛先モジュール14を含む宛先デバイス上のプロセッサからなど、ビデオ復号器33の外部のシステムから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース28からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオ復号器33によって取得可能な解像度を決定するための他のファクタに基づいて生成され得る。
イントラランダムアクセスポイント(IRAP)ピクチャ
[00132]いくつかのビデオコーディング方式は様々なランダムアクセスポイントを、ビットストリームが、ビットストリームの中でそれらのランダムアクセスポイントに先行するいかなるピクチャも復号する必要なしに、それらのランダムアクセスポイントのいずれかから始めて復号され得るように、ビットストリーム全体にわたって提供し得る。そのようなビデオコーディング方式では、(たとえば、ランダムアクセスポイントを提供するピクチャと同じアクセスユニット中にあるピクチャを含む)出力順序においてランダムアクセスポイントに後続するすべてのピクチャは、ランダムアクセスポイントに先行するいかなるピクチャも使用することなしに正しく復号され得る。たとえば、ビットストリームの一部分が送信の間または復号の間に失われても、復号器は、次のランダムアクセスポイントから始めてビットストリームの復号を再開することができる。ランダムアクセスのサポートは、たとえば、動的なストリーミングサービス、シーク動作、チャネル切替えなどを容易にし得る。
[00133]いくつかのコーディング方式では、そのようなランダムアクセスポイントは、イントラランダムアクセスポイント(IRAP)ピクチャと呼ばれるピクチャによって提供され得る。たとえば、アクセスユニット(「auA」)中に含まれているエンハンスメントレイヤ(「layerA」)中の(たとえば、エンハンスメントレイヤIRAPピクチャによって提供される)ランダムアクセスポイントは、各参照レイヤ(「layerB」)中にあり、復号順序においてauAに先行するアクセスユニット(「auB」)中に含まれているランダムアクセスポイント(または、auA中に含まれているランダムアクセスポイント)を有するlayerAのlayerB(たとえば、layerAを予測するために使用されるレイヤである参照レイヤ)に関して出力順序においてauBに後続する(auB中に位置するピクチャを含む)layerA中のピクチャが、auBに先行するlayerA中のいかなるピクチャも復号する必要なしに正しく復号可能であるように、レイヤ特有のランダムアクセスを提供し得る。
[00134]IRAPピクチャは、イントラ予測を使用してコーディングされ(たとえば、他のピクチャを参照することなしにコーディングされ)得、たとえば、瞬時復号リフレッシュ(IDR:instantaneous decoding refresh)ピクチャと、クリーンランダムアクセス(CRA:clean random access)ピクチャと、ブロークンリンクアクセス(BLA:broken link access)ピクチャとを含み得る。ビットストリーム中にIDRピクチャがあるとき、復号順序においてIDRピクチャに先行するすべてのピクチャは、復号順序においてIDRピクチャに後続するピクチャによる予測のために使用されない。ビットストリーム中にCRAピクチャがあるとき、CRAピクチャに後続するピクチャは、復号順序においてCRAピクチャに先行するピクチャを予測のために使用してよく、または使用しなくてもよい。復号順序においてCRAピクチャに後続するが、復号順序においてCRAピクチャに先行するピクチャを使用するピクチャは、ランダムアクセススキップリーディング(RASL:random access skipped leading)ピクチャと呼ばれることがある。復号順序においてIRAPピクチャに後続し、出力順序においてIRAPピクチャに先行する別のタイプのピクチャは、復号順序においてIRAPピクチャに先行するいかなるピクチャへの参照も含んでいないことがあるランダムアクセス復号可能リーディング(RADL:random access decodable leading)ピクチャである。CRAピクチャに先行するピクチャが利用可能でない場合、RASLピクチャは復号器によって廃棄され得る。BLAピクチャは、(たとえば、2つのビットストリームが互いにスプライスされ、BLAピクチャが復号順序において第2のビットストリームの最初のピクチャであるので)BLAピクチャに先行するピクチャが復号器にとって利用可能でないことがあることを、復号器に示す。IRAPピクチャであるベースレイヤピクチャ(たとえば、0のレイヤID値を有するピクチャ)を含んでいるアクセスユニット(たとえば、複数のレイヤにわたって同じ出力時間に関連付けられたすべてのコード化ピクチャからなるピクチャのグループ)は、IRAPアクセスユニットと呼ばれ
ることがある。
IRAPピクチャのクロスレイヤアラインメント
[00135]SVCでは、IRAPピクチャは、異なるレイヤにわたってアラインされる(たとえば、同じアクセスユニットに含まれている)ことを必要とされないことがある。たとえば、IRAPピクチャがアラインされることを必要とされる場合、少なくとも1つのIRAPピクチャを含んでいるいかなるアクセスユニットもIRAPピクチャのみを含んでいることになる。一方、IRAPピクチャが、単一のアクセスユニット中で、アラインされることを必要とされない場合、(たとえば、第1のレイヤ中の)あるピクチャがIRAPピクチャであり得、(たとえば、第2のレイヤ中の)別のピクチャが非IRAPピクチャであり得る。ビットストリーム中にそのような非アラインIRAPピクチャを有することは、いくつかの利点を提供し得る。たとえば、2レイヤビットストリーム中で、エンハンスメントレイヤ中よりも多くのIRAPピクチャがベースレイヤ中にある場合、ブロードキャストおよびマルチキャストの適用例において、小さい同調遅延および高いコーディング効率が達成され得る。
[00136]いくつかのビデオコーディング方式では、ピクチャ順序カウント(POC:picture order count)が、復号ピクチャが表示される相対的な順序を追跡するために使用され得る。そのようなコーディング方式のうちのいくつかにより、POC値は、いくつかのタイプのピクチャがビットストリーム中に出現するときはいつでもリセットされる(たとえば、0に設定されるか、またはビットストリーム中でシグナリングされた何らかの値に設定される)ことになり得る。たとえば、あるIRAPピクチャのPOC値がリセットされ得、復号順序においてそれらのIRAPピクチャに先行する他のピクチャのPOC値もリセットされることになる。IRAPピクチャが異なるレイヤにわたってアラインされることを必要とされないとき、このことが問題となり得る。たとえば、あるピクチャ(「picA」)がIRAPピクチャであり、同じアクセスユニット中の別のピクチャ(「picB」)がIRAPピクチャでないとき、picAがIRAPピクチャであることに起因してリセットされる、picAを含んでいるレイヤ中のピクチャ(「picC」)のPOC値は、picBを含んでいるレイヤ中のリセットされないピクチャ(「picD」)のPOC値と異なることがあり得、ここで、picCおよびpicDは同じアクセスユニット中にある。このことは、それらが同じアクセスユニット(たとえば、同じ出力時間)に属していても、picCおよびpicDが異なるPOC値を有することを引き起こす。したがって、この例では、picCおよびpicDのPOC値を導出するための導出プロセスは、POC値およびアクセスユニットの定義と一致するPOC値を生成するように修正され得る。
レイヤ初期化ピクチャ(LIP)
[00137]いくつかのコーディング方式では、レイヤ初期化ピクチャ(「LIPピクチャ」)は、1に設定されたNoRaslOutputFlagフラグ(たとえば、1に設定される場合はRASLピクチャが出力されないことを示し、0に設定される場合はRASLピクチャが出力されることを示すフラグ)を有するIRAPピクチャであるピクチャ、またはベースレイヤピクチャ(たとえば、0のレイヤIDまたはビットストリーム中で定義される最小のレイヤIDを有するピクチャ)が、1に設定されたNoRaslOutputFlagを有する、IRAPアクセスユニットである初期IRAPアクセスユニット含まれているピクチャとして定義され得る。
[00138]いくつかの実施形態では、SPSは、各LIPピクチャにおいてアクティブにされ得る。たとえば、1に設定されたNoRaslOutputFlagフラグを有する各IRAPピクチャ、または初期IRAPアクセスユニット中に含まれている各ピクチャ、(たとえば、異なるピクチャ解像度を指定するなど)前にアクティブにされたSPSとは異なり得る、新しいSPS。しかしながら、LIPピクチャがIRAPピクチャ(たとえば、初期IRAPアクセスユニット中に含まれている任意のピクチャ)でなく、初期IRAPアクセスユニット中のベースレイヤピクチャが、0に設定されたフラグNoClrasOutputFlagフラグ(たとえば、1に設定される場合はクロスレイヤランダムアクセススキップピクチャが出力されないことを示し、0に設定される場合はクロスレイヤランダムアクセススキップピクチャが出力されることを示すフラグ)をもつIDRピクチャである場合、LIPピクチャは新しいSPSをアクティブにすることを許容されるべきでない。そのような場合、そのようなLIPピクチャにおいて新しいSPSがアクティブにされる場合、詳細には、新しいSPSのSPS RBSPのコンテンツが初期IRAPアクセスユニットの前にあらかじめアクティブであったSPSのコンテンツとは異なるとき、異なるピクチャ解像度および誤り耐性において問題があることがある。たとえば、新しいSPSは、解像度を更新し、異なるサイズのピクチャを参照するための時間予測を使用し得る。
ピクチャのバンピングおよびフラッシング
[00139]復号されたピクチャは、(たとえば、それらが表示され、または他のピクチャを予測するために使用され得るように)復号ピクチャバッファ(DPB)に記憶される。出力されるべきであるピクチャは、「出力のために必要とされる」とマークされ得、他のピクチャを予測するために使用されるべきであるピクチャは、「参照のために使用される」とマークされ得る。「出力のために必要とされる」とも「参照のために使用される」ともマークされない復号ピクチャ(たとえば、最初に「参照のために使用される」または「出力のために必要とされる」とマークされたが、その後、「参照のために使用されない」または「出力のために必要とされない」とマークされたピクチャ)は、それらが復号プロセスによって削除されるまでDPB中に存在し得る。出力順序適合の復号器では、ピクチャをDPBから削除するプロセスが、しばしば、「出力のために必要とされる」とマークされたピクチャの出力の直後にくる。出力およびその後の削除のこのプロセスは、「バンピング」と呼ばれることがある。
[00140]これらのピクチャが「出力のために必要とされる」とマークされていても、復号器がDPB中のピクチャを出力することなく削除し得る状況もある。本明細書での説明を簡単にするために、IRAPピクチャを復号するときにDPB中に存在する復号ピクチャは、(復号ピクチャが「出力のために必要とされる」とマークされたのか「参照のために使用される」とマークされたのかにかかわらず)IRAPピクチャに関連付けられた「遅れDPBピクチャ」、またはIRAPピクチャの「関連付けられた遅れDPBピクチャ」と呼ばれる。そのような状況のいくつかの例について、HEVCのコンテキストにおいて以下に説明する。
[00141]一例では、「1」の値に等しいNoRaslOutputFlagを有するCRAピクチャがビットストリームの中間に存在する(たとえば、ビットストリーム中の最初のピクチャでない)とき、CRAピクチャに関連付けられた遅れDPBピクチャは、出力されないことになり、DPBから削除されることになる。2つのビットストリームが互いに接合され、後者のビットストリームの最初のピクチャが「1」の値に等しいNoRaslOutputFlagをもつCRAピクチャであるスプライスポイントにおいて、そのような状況が起こる可能性が高い。別の例では、「1」の値に等しいNoRaslOutputFlagを有するとともにCRAピクチャでないIRAPピクチャpicA(たとえば、IDRピクチャ)がビットストリームの中間に存在し、ピクチャの解像度が(たとえば、新しいSPSのアクティブ化とともに)picAにおいて変化するとき、picAの関連付けられた遅れDPBピクチャは、関連付けられた遅れDPBピクチャがDPBを占有し続ける場合、picAから始まるピクチャの復号が、たとえば、バッファオーバーフローに起因して問題となり得るので、それらが出力され得る前にDPBから削除され得る。この場合、picAに関連付けられたno_output_of_prior_pics_flag(たとえば、1に設定される場合は前に復号されDPBに記憶されたピクチャが出力されることなくDPBから削除されるべきであることを示し、0に設定される場合は前に復号されDPBに記憶されたピクチャが出力されることなくDPBから削除されるべきでないことを示すフラグ)の値は、符号化器またはスプライサによって「1」の値に等しく設定されるべきであり、または、NoOutputOfPriorPicsFlag(たとえば、ビットストリーム中に含まれる情報に基づいて決定され得る導出値)は、遅れピクチャをDPBの外へ出力することなくフラッシングするように、復号器によって「1」の値に等しいものとして導出され得る。スプライシング動作について、図4に関して以下でさらに説明する。
[00142]関連付けられた遅れDPBピクチャを出力することなくDPBから削除するこのプロセスは、「フラッシング」と呼ばれることがある。上述されない状況においても、復号器がIRAPピクチャの関連付けられたDPB遅れピクチャをフラッシングするように、IRAPピクチャは、no_output_of_prior_pics_flagの値を「1」の値に等しく指定し得る。
スプライスポイントを含むビットストリーム
[00143]図4を参照しながら、スプライスポイントを有する例示的なビットストリームについて説明する。図4に、スプライシングビットストリーム410および420によって作り出されたマルチレイヤビットストリーム400を示す。ビットストリーム410は、エンハンスメントレイヤ(EL)410Aとベースレイヤ(BL)410Bとを含み、ビットストリーム420は、EL420AとBL420Bとを含む。EL410AはELピクチャ412Aを含み、BL410BはBLピクチャ412Bを含む。EL420Aは、ELピクチャ422A、424A、および426Aを含み、BL420Bは、BLピクチャ422B、424B、および426Bを含む。マルチレイヤビットストリーム400は、アクセスユニット(AU)430〜460をさらに含む。AU430は、ELピクチャ412AとBLピクチャ412Bとを含み、AU440は、ELピクチャ422AとBLピクチャ422Bとを含み、AU450は、ELピクチャ424AとBLピクチャ424Bとを含み、AU460は、ELピクチャ426AとBLピクチャ426Bとを含む。図4の例では、BLピクチャ422BはIRAPピクチャであり、AU440の中の対応するELピクチャ422Aは、末尾のピクチャ(たとえば、非IRAPピクチャ)であり、したがって、AU440は非アラインIRAP AUである。また、AU440がスプライスポイント470の直後にくるアクセスユニットであることに留意されたい。
[00144]図4の例は2つの異なるビットストリームが互いに接合される場合を示すが、いくつかの実施形態では、ビットストリームの一部分が削除されるとき、スプライスポイントが存在し得る。たとえば、ビットストリームは部分A、B、およびCを有し得、部分Bは部分AとCとの間にある。部分Bがビットストリームから削除される場合、残りの部分AおよびCは互いに接合され得、それらが互いに接合される点はスプライスポイントと呼ばれることがある。より一般に、本出願で説明されるようなスプライスポイントは、1つまたは複数のシグナリングまたは導出されたパラメータまたはフラグが所定の値を有するとき、存在すると見なされ得る。たとえば、スプライスポイントが特定のロケーションにおいて存在するという特定のインジケーションを受信しなければ、復号器は、フラグ(たとえば、NoClrasOutputFlag)の値を決定し、フラグの値に基づいて本出願で説明する1つまたは複数の技法を実行し得る。
マルチレイヤコンテキストにおけるピクチャのフラッシング
[00145]ピクチャをフラッシングするプロセスは、マルチレイヤビットストリームにおいても関連する。より具体的には、それは初期IRAPアクセスユニットに属するすべてのピクチャと関連し、初期IRAPアクセスユニット中にないIRAPピクチャとも関連する。上記で説明したように、SHVCおよびMV−HEVCなどのいくつかの既存の実装形態では、IRAPアクセスユニットは、(アクセスユニット中の他のピクチャがIRAPピクチャであるかどうかにかかわらず)「0」の値に等しいnuh_layer_idを有するIRAPピクチャを含んでいるアクセスユニットとして定義され得、初期IRAPアクセスユニットは、(この場合も、アクセスユニット中の他のピクチャがIRAPピクチャであるかどうかにかかわらず)「0」の値に等しいnuh_layer_idを有し「1」の値に等しいNoRaslOutputFlagを有するIRAPピクチャを含んでいるアクセスユニットとして定義され得る。
[00146]SHVCおよびMV−HEVCにおいて、非アラインIRAPピクチャをアクセスユニット中に有する可能性がある(たとえば、アクセスユニットはIRAPピクチャと非IRAPピクチャの両方を含み得る)場合、HEVCのコンテキストにおいて前のセクションで説明した状況は、SHVC/MV−HEVCビットストリームの異なるレイヤにおいて起こり得る。たとえば、「1」の値に等しいNoRaslOutputFlagを有するCRAピクチャpicAは、エンハンスメントレイヤにおいてpicAと同じレイヤ中にCRAピクチャを有しない初期IRAPアクセスユニットを用いて開始するビットストリームの中間に(たとえば、ビットストリームの第1のアクセスユニット中でない)存在し得る。また、ピクチャの解像度変化は、ベースレイヤの解像度が変化しない場合、アクセスユニットにおけるエンハンスメントレイヤ中でIRAPピクチャにおいて発生し得、またはその逆も同様である。類似の状況が、異なるDPBサイズに対して起こり得る。
SVCおよびMVCにおけるピクチャのフラッシング
[00147]SVCの単一ループコーディング設計に起因して、いわゆる中粒度スケーラビリティ(MGS:medium-granular scalability)が使用される場合を除いて、アクセスユニットごとに1つの再構成ピクチャのみがDPB中に挿入される(その場合、DPBに記憶されるいわゆるキーピクチャアクセスユニットからの2つの復号ピクチャがあり得る)。しかしながら、各アクセスユニット中で、最上位レイヤの復号ピクチャのみが出力され得る。ピクチャのフラッシングを含む、DPBを管理するための動作は、したがって、主に、ベースレイヤの復号ピクチャはエンハンスメントレイヤを予測するためにDPB中に存在することが必要とされないので、最上位レイヤ中のピクチャのみに関係する。
[00148]MVCでは、2つ以上のビューがターゲット出力ビューであり得、復号ビューコンポーネントは、それらが同じレイヤ中のビューコンポーネントを予測するために必要とされなくても、他のレイヤ中のビューコンポーネントを予測するために維持される必要がある。したがって、2つ以上のビューからのビューコンポーネントがDPB中に存在し得る。フラグno_output_of_prior_pics_flagが、各IDRビューコンポーネントについてシグナリングされ(たとえば、非ベースビューのIDRビューコンポーネントが「0」の値に等しいnon_idr_flagを用いてシグナリングされる)、ビューコンポーネントのフラッシングはレイヤ特有(またはビュー特有)である。MVCでは、簡単のために、MVCにおけるアクセスユニット中のIDRビューコンポーネントはアラインされる。たとえば、アクセスユニット中のあるビューコンポーネントがIDRビューコンポーネントである場合、そのアクセスユニット中のすべてのビューコンポーネントもIDRビューコンポーネントである。したがって、フラッシング動作はまた、動作がビュー/レイヤ特有であり得ても、ビットストリーム中のすべてのビューにわたって実行される。
SHVCおよびMV−HEVCにおけるピクチャのフラッシング
[00149]フラッシングがSHVCおよびMV−HEVCにおける現在の設計のもとで発生すると、DPB中のすべてのピクチャは出力(たとえば、表示)されることなく削除される。(ベースレイヤのみがビットストリーム中に存在する自明な場合を除いて)ビットストリーム中の1つのレイヤのみのピクチャがフラッシングされることは可能でなく、したがって、フラッシングはレイヤ特有でない。
出力タイミング適合
[00150]SHVCワーキングドラフト(WD)3およびMV−HEVCワーキングドラフト5など、いくつかの実装形態(たとえば、SHVC、MV−HEVCなど)では、出力タイミング適合に関して、DPBからのピクチャの出力および削除は、以下に説明するように実行される。フラッシングプロセスと関連する部分は、イタリック体で示される。以下の例では、呼び出されるピクチャの削除は、HEVC仕様のセクションF.13.3.2に指定されているように各レイヤに特有である。
出力順序適合
[00151]いくつかの実装形態(たとえば、SHVC、MV−HEVCなど)では、出力順序適合に関して、DPBからのピクチャの出力および削除は、以下に説明するように実行される。フラッシングプロセスと関連する部分は、イタリック体で示される。以下の例では、ピクチャの削除は、呼び出されたとき、すべてのレイヤに対して実行される。
出力タイミング適合および出力順序適合の比較
[00152]上記で説明したように、出力タイミング適合および出力順序適合は、ともに同じフラッシングの挙動をもたらさないことがある。たとえば、出力タイミング適合復号器に関して、フラッシングは、ビットストリーム中のレイヤの最初のピクチャでなく「1」の値に等しいNoRaslOutputFlagを有する、レイヤ中の各ピクチャに対して呼び出される。フラッシングが呼び出されると、DPB中のそのレイヤのすべての復号ピクチャがフラッシングされる。一方、出力順序適合復号器に関して、フラッシングは、ビットストリーム中の最初のピクチャでなく「1」の値に等しいNoRaslOutputFlagを有する、ベースレイヤ中のピクチャのみに対して呼び出される。フラッシングが呼び出されると、DPB中のすべてのレイヤのすべての復号ピクチャがフラッシングされる。
[00153]2つのレイヤを有するビットストリームでは、IRAPピクチャでありIRAP AUに属さない、EL中のLIPピクチャが異なる解像度をアクティブにし、BLピクチャが非IRAP AU中にある(たとえば、IRAPピクチャでない)ことに起因してBLの解像度がこのAUにおいて変化することができないとき、ピクチャのレイヤ特有のフラッシングが望まれることがある。ここで、ELからのピクチャのみがフラッシングされるべきであり、BLからのピクチャはフラッシングされるべきでない。この特徴は、出力順序適合に対して利用可能でない。
[00154]2つのレイヤを有するビットストリームでは、アクセスユニットが、IDRピクチャであるBLピクチャと、非IRAPピクチャであるELピクチャとを含む場合、BLピクチャの解像度はそのアクセスユニットにおいて更新され得るが、ELピクチャの解像度は更新されない。そのような場合、フラッシングはBLからのピクチャのみに対して実行されるべきであり、ELピクチャはフラッシングされるべきでない。この特徴は、出力順序適合に対して利用可能でない。
前のピクチャの出力を示すフラグのシグナリング
[00155]いくつかの実施形態では、変数NoOutputOfPriorPicsFlag(たとえば、IRAPピクチャを復号するとき、DPBがフラッシングされる前にDPB中のピクチャを出力すべきか否かを決定するために復号器によって導出される値)は、no_output_of_prior_pics_flagおよび他の条件に基づいて導出される。たとえば、no_output_of_prior_pics_flagは、ビットストリーム中でシグナリングされる値であり得、NoOutputOfPriorPicsFlagは、ビットストリーム中に含まれる情報に基づいて符号化器によって導出される値であり得る。復号器は、no_output_of_prior_pics_flagの値および他の条件に基づいてNoOutputOfPriorPicsFlagの値を導出し、次いで、ピクチャを出力すべきか否かを決定するためにNoOutputOfPriorPicsFlagの導出された値を使用し得る。いくつかの実施形態では、フラグNoOutputOfPriorPicsFlagは、現在のアクセスユニットが、2つの異なるビットストリームが互いに縫合されるスプライスポイントを備えるかどうかを示し得る。
[00156]いくつかの実施形態では、NoClRasOutputFlagおよびNoRaslOutputFlagは、ビットストリーム中に含まれる情報に基づいて導出される変数であり得る。たとえば、NoRaslOutputFlagは、(たとえば、BLおよび/またはEL中の)あらゆるIRAPピクチャに対して導出され得、NoClRasOutputFlagは、最下位レイヤピクチャ(たとえば、BLピクチャ)のみに対して導出され得る。NoClRasOutputFlagおよびNoRaslOutputFlagの各々の値は、ビットストリーム中のいくつかのピクチャが、いくつかの参照ピクチャの非利用可能性に起因して正しく復号可能でないことがあることを示し得る。参照ピクチャのそのような非利用可能性は、ランダムアクセスポイントにおいて発生し得る。クロスレイヤランダムアクセススキップ(CL−RAS)ピクチャは、いくつかの点で、RASLピクチャのマルチレイヤ等価物である。復号器がランダムアクセスポイント(たとえば、BL IRAPピクチャを有するアクセスユニット)においてビットストリームを復号することを開始し、アクセスユニット中のELピクチャがIRAPピクチャでない場合、そのELピクチャはCL−RASピクチャである。EL中のすべてのピクチャは、IRAPピクチャがEL中に発生するまで(たとえば、復号可能であるが、正しく復号可能ではない)CL−RASピクチャであり得る。そのようなEL IRAPピクチャがビットストリーム中で提供されるとき、ELは初期化されたと言われることがある。
[00157]たとえば、図4の例では、ELピクチャ422AはIRAPピクチャでないLIPピクチャであり得、BLピクチャ422Bはそれに関連付けられたフラグNoClRasOutputFlagを有するIRAPピクチャであり得る。この例では、ELピクチャ422Aに関連付けられたNoOutputOfPriorPicsFlagの値は、BLピクチャ422Bに関連付けられたNoClRasOutputFlagの値に基づいて推論され得る。たとえば、NoClRasOutputFlagが「1」の値に等しい場合、ELピクチャ422AのためのNoOutputOfPriorPicsFlagはまた、「1」の値に設定され得、DPB中のピクチャは、それらがDPBから削除される前に出力されないことになる。一方、NoClRasOutputFlagが「0」の値に等しい場合、ELピクチャ422AのためのNoOutputOfPriorPicsFlagはまた、「0」の値に設定され得、DPB中のピクチャは、出力の後にDPBから削除されることになる。
NoOutputOfPriorPicsFlagの改善された推論
[00158]上記で説明したように、イントラランダムアクセスポイント(IRAP)ピクチャは、ビットストリームを復号するためのランダムアクセスポイントを提供することができる。復号器は、IRAPピクチャに先行するピクチャを復号する必要なしに、IRAPピクチャを復号することによってビットストリームを復号することを開始し得る。IRAPピクチャを復号するときに、復号ピクチャバッファ(DPB)は、バッファ中にいくつかの復号されたピクチャを有し得る。ビットストリームから復号されたピクチャは、DPBに記憶される。DPB中の復号ピクチャは、「出力のために必要とされる」とマークされたピクチャ、または「参照のために使用される」とマークされたピクチャを含むことができる。DPB中の復号ピクチャは、「出力のために必要とされる」とも「参照のために使用される」ともマークされていないピクチャをも含むことができ、そのような復号ピクチャは、それらが復号プロセスによって削除されるまでDPB中に存在する。DPB中の存在するピクチャを出力することが、復号器の性能に影響を及ぼすことになる(たとえば、復号器が出力すべきあまりに多くのピクチャがDPB中に存在する)場合、そのような存在するピクチャを、それらを出力することなしに削除する(たとえば、存在するピクチャをフラッシュする)ことが望ましいことがある。必要に応じてDPB中の存在するピクチャを削除しないことは、バッファのオーバーフロー、または後続のピクチャを復号および出力する際の遅延につながり得る。
[00159]変数NoOutputOfPriorPicsFlagは、IRAPピクチャを復号するとき、DPB中のピクチャが、DPBから削除されるより前に出力されるべきであるかどうかを示すことができる。IRAPピクチャを復号するとき、NoOutputOfPriorPicsFlagの値は、DPB中のピクチャが、削除される前に出力されるべきでないとき、1に設定され得る。代替的に、IRAPピクチャを復号するとき、NoOutputOfPriorPicsFlagの値は、DPB中のピクチャが、削除される前に出力されるべきであるとき、0に設定され得る。NoOutputOfPriorPicsFlagの値は、対応するシンタックス要素および/または様々な条件および情報に基づいて決定され得る。シンタックス要素no_output_of_prior_pics_flagは、ビットストリーム中で受信され得、復号器は、NoOutputOfPriorPicsFlagの値を、no_output_of_prior_pics_flagの復号された値に等しく設定することができる。または、NoOutputOfPriorPicsFlagの値は、様々な条件に基づいて導出または推論され得る。たとえば、SHVCおよびMV−HEVCの早期バージョン(たとえば、SHVCワーキングドラフト4およびMV−HEVCワーキングドラフト6)では、NoOutputOfPriorPicsFlagは、空間解像度またはピクチャストアの数が変化するとき、1に等しく設定され得る。NoOutputOfPriorPicsFlagを1に設定することによって、復号器は、適宜にDPB中のピクチャを削除することによって、DPB中で利用可能なメモリの量を制御することができる。しかしながら、DPB中で必要とされるメモリの量は、ピクチャのカラーフォーマットおよび/またはビット深度の変化によっても影響を及ぼされ得る。ワーストケースあるいは最大カラーフォーマットまたはビット深度が仮定されない限り、カラーフォーマットおよび/またはビット深度を考慮しないことは、DPBのための準最適なメモリサイズにつながり得る。
[00160]これらおよび他の課題に対処するために、いくつかの態様による技法は、IRAPピクチャのためのNoOutputOfPriorPicsFlagの値を決定するとき、ピクチャのカラーフォーマットおよび/またはビット深度を考慮に入れることができる。たとえば、技法は、復号されるべき現在のレイヤにおける現在のピクチャのカラーフォーマットおよび/またはビット深度が、現在のレイヤにおける先行するピクチャのカラーフォーマットおよび/またはビット深度とは異なるかどうかを決定し得る。現在のピクチャおよび先行するピクチャのカラーフォーマットおよび/またはビット深度は、現在アクティブなシーケンスパラメータセット(SPS)、およびそれぞれ先行するピクチャが復号されたときにアクティブであったSPSから取得され得る。ピクチャのビット深度は、ピクチャのルーマ成分のためのビット深度と、ピクチャのクロマ成分のためのビット深度とを含むことができる。カラーフォーマットまたはビット深度の変化がある場合、NoOutputOfPriorPicsFlagの値は、ピクチャを出力することなしにDPB中のピクチャの削除をトリガするために、1に等しく設定され得る。一例では、ルーマサンプルのビット深度が8ビットから16ビットに変化した場合、DPB中でより多くのメモリを利用可能にするためにDPB中のピクチャをフラッシュすることが望ましいことになる。
[00161]ピクチャのカラーフォーマットおよび/またはビット深度の変化を考慮に入れることによって、技法は、より正確にNoOutputOfPriorPicsFlagの値を決定することができ、ビットストリームの復号のために必要とされ、十分であるDPBサイズの最適値が示され得る。たとえば、技法は、バッファ中に追加のメモリを必要とすることになる状況をより良く予期することができる。ピクチャストアの数および空間解像度の変化に加えて、DPBは、カラーフォーマットまたはビット深度が変化したとき、より多くのストレージを利用可能にするためにフラッシュされる。
[00162]NoOutputOfPriorPicsFlagの推論に関係するいくつかの詳細について、以下でさらに説明する。本開示全体にわたって使用される様々な用語は、それらの通常の意味を有する広義の用語である。
例示的な実施形態
[00163]上述の技法は、以下の例に示されているように実装され得る。例は、SHVCおよびMV−HEVC(たとえば、SHVC WD4およびMV−HEVC WD6)の以前のバージョンのコンテキストにおいて提供される。SHVCおよびMV−HEVCの以前のバージョンからの変更は、イタリック体で示される。セクションC.3.2は、SHVC WD4およびMV−HEVC WD6におけるピクチャ削除に対する出力タイミングDPB動作について説明する。セクションC.5.2.2は、SHVC WD4およびMV−HEVC WD6におけるピクチャ削除に対する出力順序DPB動作について説明する。各セクション中の最初の「他の場合」分岐は、ピクチャのクロマフォーマットおよびビット深度に基づくNoOutputOfPriorPicsFlagの推論に関する。
[00164]いくつかの実施形態によれば、NoOutputOfPriorPicsFlagの推論において使用されるシンタックス要素および変数は、以下を指すことがある。
・ シンタックス要素pic_width_in_luma_samplesは、ルーマサンプルの単位のピクチャの幅を指す。
・ シンタックス要素pic_height_in_luma_samplesは、ルーマサンプルの単位のピクチャの高さを指す。
・ シンタックス要素chroma_format_idcは、ピクチャのクロマフォーマットを指す。
・ シンタックス要素bit_depth_luma_minus8は、ピクチャのルーマサンプルのビット深度−8ビットを指す。
・ シンタックス要素bit_depth_chroma_minus8は、ピクチャのクロマサンプルのビット深度−8ビットを指す。
・ シンタックス要素sps_max_dec_pic_buffering_minus1[HighestTid]は、コード化ビデオシーケンスのレイヤの復号に必要であるピクチャストアの数を指す。
[00165]上記のシンタックス要素は、復号されている現在のレイヤの現在のピクチャに関して、現在のレイヤのためのアクティブSPSから導出され得る。上記のシンタックス要素は、先行するピクチャが復号されたときに現在のレイヤのためにアクティブであったSPSから、現在のレイヤの先行するピクチャに関しても導出され得る。先行するピクチャは、復号順序において現在のピクチャに先行する現在のレイヤにおけるピクチャであり得る。
[00166]ピクチャがIRAPピクチャであり、IRAPピクチャのためにNoRaslOutputFlagの値が1に等しい場合、NoOutputOfPriorPicsFlagの値は、現在のピクチャのための上記のシンタックス要素のいずれかの値が、先行するピクチャのためのそれぞれのシンタックス要素の値とは異なる場合、1に設定され得る。変数NoRaslOutputFlagは、いずれかのランダムアクセススキップリーディング(RASL)ピクチャが、現在のピクチャに関連して出力されるかどうかを示すことができる。NoRaslOutputFlagが1に等しい場合、RASLピクチャがインター予測のために参照するいくつかの参照ピクチャは存在しないことになり、したがって、RASLピクチャは、出力/表示されるべきでない。上記で説明したように、RASLピクチャは、ビットストリームの復号が、出力/表示されるべきでないIRAPピクチャから開始する場合、そのIRAPピクチャに関連付けられたリーディングピクチャを参照し得る。復号器は、現在のピクチャの各シンタックス要素を先行するピクチャの対応するシンタックス要素と比較することができ、いずれかのシンタックス要素の値が変化した場合、NoOutputOfPriorPicsFlagは、シンタックス要素no_output_of_prior_pics_flagの値が何であるかにかかわらず、1に設定され得る。本明細書のテキストが示すように、NoOutputOfPriorPicsFlagの値をシンタックス要素no_output_of_prior_pics_flagの値に設定することが好ましいことがある。しかし、復号器は、所望される場合、NoOutputOfPriorPicsFlagの値を1に設定することを可能にされる。たとえば、場合によっては、DPBサイズは、第1のフラグの値がno_output_of_prior_pics_flagの復号された値に等しく設定された場合でも、DPBサイズオーバーフローが起こらないほど十分に大きい。そのような場合、第1のフラグの値を1に等しく設定すべきか、no_output_of_prior_pics_flagの復号された値に等しく設定すべきかを復号器が選択することを可能にすることは有益であり得る。
[00167]一実施形態では、chroma_format_idcの値は、先行するピクチャから現在のピクチャに変化する。上記で説明したように、シンタックス要素のための値は、現在のレイヤの現在のピクチャを復号するときにアクティブである現在のレイヤのためのSPS、および現在のレイヤの先行するピクチャを復号するときにアクティブであった現在のレイヤのためのSPSから導出される。現在のピクチャのchroma_format_idcの値と、先行するピクチャのchroma_format_idcの値とが異なるとき、復号器は、no_output_of_prior_pics_flagシンタックス要素の値が何であるかにかかわらず、NoOutputofPriorPicsFlagの値を1に設定する。
[00168]別の実施形態では、bit_depth_luma_minus8の値は、先行するピクチャから現在のピクチャに変化する。現在のピクチャのbit_depth_luma_minus8の値と、先行するピクチャのbit_depth_luma_minus8の値とが異なるとき、復号器は、no_output_of_prior_pics_flagシンタックス要素の値が何であるかにかかわらず、NoOutputofPriorPicsFlagの値を1に設定する。
[00169]また別の実施形態では、bit_depth_chroma_minus8の値は、先行するピクチャから現在のピクチャに変化する。現在のピクチャのbit_depth_chroma_minus8の値と、先行するピクチャのbit_depth_chroma_minus8の値とが異なるとき、復号器は、no_output_of_prior_pics_flagシンタックス要素の値が何であるかにかかわらず、NoOutputofPriorPicsFlagの値を1に設定する。
[00170]概して、先行するピクチャから現在のピクチャに、上記のシンタックス要素の値が減少するときではなく、上記のシンタックス要素の値が増加するとき、より多くのメモリがDPB中で必要とされる。しかしながら、復号器は、増加することによってか減少することによってかにかかわらず、上記のシンタックス要素の値が変化するときはいつでも、出力なしにDPB中のピクチャを削除することによって、DPB中に十分な量のメモリを取得することができる。このようにして、シンタックス要素の値が増加したのか減少したのかについて考えるための複数のステップを使用するのではなく、1つの条件ステップを使用してDPB中で追加のメモリが解放され得る。値が増加したのか減少したのかを決定するのではなく、シンタックス要素の値の変化について検査することは、NoOutputOfPriorPicsFlagのための推論プロセスをより効率的にすることができる。
NoOutputOfPriorPicsFlagの値を決定する方法
[00171]図5は、本開示の一実施形態による、ビデオ情報をコーディングする方法を示すフローチャートである。本方法は、復号ピクチャバッファ中のピクチャが出力されるべきであるかどうかを示すフラグ(たとえば、NoOutputOfPriorPicsFlag)の値を決定することに関する。プロセス500は、実施形態によっては、符号化器(たとえば、図2A、図2Bなどに示されている符号化器)、復号器(たとえば、図3A、図3Bなどに示されている復号器)、または任意の他の構成要素によって実行され得る。プロセス500のブロックについて図3B中の復号器33に関して説明するが、プロセス500は、上述のように、符号化器など、他の構成要素によって実行され得る。復号器33のレイヤ1ビデオ復号器30Bおよび/または復号器33のレイヤ0復号器30Aが、実施形態によっては、プロセス500を実行し得る。図5に関して説明するすべての実施形態は、別々に、または互いと組み合わせて実装され得る。プロセス500に関係するいくつかの詳細が、たとえば、図4に関して上記で説明されている。
[00172]プロセス500はブロック501において開始する。復号器33は、復号のための現在のレイヤに関連付けられたビデオ情報を記憶するためのメモリ(たとえば、復号ピクチャバッファ160)を含むことができる。
[00173]ブロック502において、復号器33は、復号されるべき現在のレイヤの現在のピクチャのクロマフォーマット、現在のピクチャのクロマサンプルのビット深度、および現在のピクチャのルーマサンプルのビット深度を取得する。現在のピクチャは、新しいコード化ビデオシーケンス(CVS)を開始するイントラランダムアクセスポイント(IRAP)ピクチャであり得る。現在のピクチャのクロマフォーマット、現在のピクチャのルーマサンプルのビット深度、および現在のピクチャのクロマサンプルのビット深度は、現在のピクチャを復号するときに現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され得る。
[00174]ランダムアクセススキップリーディング(RASL)ピクチャが出力されるべきでないことを示す現在のピクチャに関連付けられたフラグは、現在のピクチャが、新しいCVSを開始することを示すことができる。フラグが有効にされた場合、フラグは現在のピクチャが新しいCVSを開始することを示し、フラグが有効にされない場合、フラグは現在のピクチャが新しいCVSを開始しないことを示す。フラグは、NoRaslOutputFlagと同じであるか、またはそれと同様であり得る。たとえば、NoRaslOutputFlagは、現在のピクチャが新しいCVSを開始することを示すために、1に等しく設定され得る。
[00175]ブロック503において、復号器33は、復号された現在のレイヤの先行するピクチャのクロマフォーマット、先行するピクチャのクロマサンプルのビット深度、および先行するピクチャのルーマサンプルのビット深度を取得する。先行するピクチャのクロマフォーマット、先行するピクチャのルーマサンプルのビット深度、および先行するピクチャのクロマサンプルのビット深度が、先行するピクチャを復号するときに現在のレイヤのためにアクティブであった第2のSPSから導出され得る。
[00176]いくつかの実施形態では、現在のピクチャのルーマサンプルのビット深度、現在のピクチャのクロマサンプルのビット深度、先行するピクチャのルーマサンプルのビット深度、および先行するピクチャのクロマサンプルのビット深度のそれぞれの値は、8ビット−それぞれの実際のビット深度値として指定される。たとえば、現在のピクチャのルーマサンプルのビット深度は、シンタックス要素bit_depth_luma_minus8の値によって提供され、ここで、bit_depth_luma_minus8は、8ビット−現在のピクチャのルーマサンプルのビット深度の実際の値を表す。
[00177]ブロック504において、復号器33は、復号ピクチャバッファ(DPB)中のピクチャが出力されるべきであるかどうかを示す現在のピクチャに関連付けられた第1のフラグの値を決定する。復号器33は、(1)現在のピクチャのクロマフォーマット、および先行するピクチャのクロマフォーマット、(2)現在のピクチャのクロマサンプルのビット深度、および先行するピクチャのクロマサンプルのビット深度、または(3)現在のピクチャのルーマサンプルのビット深度、および先行するピクチャのクロマサンプルのビット深度に基づいて、第1のフラグの値を決定することができる。第1のフラグは、上記で説明したNoOutputOfPriorPicsFlagであるか、またはそれと同様であり得る。
[00178]いくつかの実施形態では、(4)現在のピクチャのクロマフォーマットと、先行するピクチャのクロマフォーマットとが異なる、(5)現在のピクチャのルーマサンプルのビット深度と、先行するピクチャのルーマサンプルのビット深度とが異なる、または(6)現在のピクチャのクロマサンプルのビット深度と、先行するピクチャのクロマサンプルのビット深度とが異なると決定したことに応答して、復号器33は、第1のフラグの値を1に等しく設定する。説明の目的で、一例として1の値が提供されるが、復号器33は、適宜に、第1のフラグが有効にされたことを示す任意の値を使用することができる。第1のフラグが有効にされたとき、DPB中のピクチャは削除されるが、出力されない。
[00179]他の実施形態では、復号器33は、DPB中のピクチャが出力されるべきであるかどうかを示すビットストリーム中の現在のピクチャに関連付けられたシンタックス要素を復号する。(4)現在のピクチャのクロマフォーマットと、先行するピクチャのクロマフォーマットとが異なる、(5)現在のピクチャのルーマサンプルのビット深度と、先行するピクチャのルーマサンプルのビット深度とが異なる、または(6)現在のピクチャのクロマサンプルのビット深度と、先行するピクチャのクロマサンプルのビット深度とが異なると決定したことに応答して、復号器33は、第1のフラグの値をシンタックス要素の復号された値に等しく設定する。たとえば、シンタックス要素はno_output_of_prior_pics_flagであり、先行するピクチャと現在のピクチャの間で、クロマフォーマット、ルーマビット深度、およびクロマビット深度に変化がある場合でも、復号器33は、第1のフラグの値をno_output_of_prior_pics_flagの復号された値に設定する。
[00180]いくつかの実施形態では、復号器33は、現在のピクチャの幅、現在のピクチャの高さ、および現在のピクチャに関連付けられたピクチャストアの数を取得する。現在のピクチャの幅および現在のピクチャの高さは、ルーマサンプルの単位で指定され、現在のピクチャに関連付けられたピクチャストアの数は、現在のピクチャから開始するコード化ビデオシーケンス中の現在のレイヤの復号に必要な最小DPBサイズを示す。ピクチャストアの数は、CVSのために指定され、SPSにおいてシグナリングされ得る。各CVSおよび特定のレイヤのために、事実上、ただ1つのSPSがあり得る。復号器33は、先行するピクチャの幅、先行するピクチャの高さ、および先行するピクチャに関連付けられたピクチャストアの数をも取得する。先行するピクチャの幅および先行するピクチャの高さは、ルーマサンプルの単位で指定され、先行するピクチャに関連付けられたピクチャストアの数は、先行するピクチャにおいて終了するコード化ビデオシーケンス中の現在のレイヤの復号に必要な最小DPBサイズを示す。現在のピクチャの幅、現在のピクチャの高さ、および現在のピクチャに関連付けられたピクチャストアの数は、現在のピクチャを復号するときに現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され得る。先行するピクチャの幅、先行するピクチャの高さ、および先行するピクチャに関連付けられたピクチャストアの数は、先行するピクチャを復号するときに現在のレイヤのためにアクティブであった第2のSPSから導出され得る。
[00181]一実施形態では、(7)現在のピクチャの幅と、先行するピクチャの幅とが異なる、(8)現在のピクチャの高さと、先行するピクチャの高さとが異なる、または(9)現在のピクチャに関連付けられたピクチャストアの数と、先行するピクチャに関連付けられたピクチャストアの数とが異なると決定したことに応答して、復号器33は、第1のフラグの値を1に等しく設定する。
[00182]別の実施形態では、復号器33は、DPB中のピクチャが出力されるべきであるかどうかを示すビットストリーム中の現在のピクチャに関連付けられたシンタックス要素(たとえば、no_output_of_prior_pics_flag)を復号する。(7)現在のピクチャの幅と、先行するピクチャの幅とが異なる、(8)現在のピクチャの高さと、先行するピクチャの高さとが異なる、または(9)現在のピクチャに関連付けられたピクチャストアの数と、先行するピクチャに関連付けられたピクチャストアの数とが異なると決定したことに応答して、復号器33は、第1のフラグの値をシンタックス要素の復号された値に等しく設定する。
[00183]プロセス500はブロック505において終了する。ブロックは、実施形態によっては、プロセス500において追加および/または省略され得、プロセス500のブロックは、実施形態によっては、異なる順序で実行され得る。
[00184]本開示におけるNoOutputOfPriorPicsFlagの推論に関して説明したいかなる特徴および/または実施形態も、別々に、またはそれらの任意の組合せで実装され得る。たとえば、図1〜図4に関して説明したいかなる特徴および/または実施形態、ならびに本開示の他の部分も、図5に関して説明した任意の特徴および/または実施形態との任意の組合せで実装され得、その逆も同様である。
[00185]本明細書で開示される情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
[00186]本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
[00187]本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたとき、上記で説明した方法のうちの1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[00188]プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価の集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明する技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に提供され得、または複合ビデオ符号化器/復号器(コーデック)に組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[00189]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって提供され得る。
[00190]本開示の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオ情報をコーディングするための装置であって、
現在のレイヤに関連付けられたビデオ情報を記憶するように構成されるメモリと、
前記メモリに動作可能に結合されるハードウェアプロセッサと
を備え、前記ハードウェアプロセッサは、
復号されるべき前記現在のレイヤの現在のピクチャのクロマフォーマット、前記現在のピクチャのルーマサンプルのビット深度、または前記現在のピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得すること、ここにおいて、前記現在のピクチャが、新しいコード化ビデオシーケンス(CVS)を開始するイントラランダムアクセスポイント(IRAP)ピクチャである、と、
復号された前記現在のレイヤの先行するピクチャのクロマフォーマット、前記先行するピクチャのルーマサンプルのビット深度、または前記先行するピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得することと、
前記現在のピクチャに関連付けられた第1のフラグの値を決定すること、前記第1のフラグは、復号ピクチャバッファ(DPB)中のピクチャが出力されるべきであるかどうかを示し、ここにおいて、前記第1のフラグの前記値の前記決定は、(1)前記現在のピクチャの前記クロマフォーマット、および前記先行するピクチャの前記クロマフォーマット、(2)前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記ルーマサンプルの前記ビット深度、または(3)前記現在のピクチャの前記クロマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度のうちの少なくとも1つに基づく、と
を行うように構成される、装置。
[C2]
前記プロセッサは、
(4)前記現在のピクチャの前記クロマフォーマットと、前記先行するピクチャの前記クロマフォーマットとが異なる、(5)前記現在のピクチャの前記ルーマサンプルの前記ビット深度と、前記先行するピクチャの前記ルーマサンプルの前記ビット深度とが異なる、または(6)前記現在のピクチャの前記クロマサンプルの前記ビット深度と、前記先行するピクチャの前記クロマサンプルの前記ビット深度とが異なると決定したことに応答して、
前記第1のフラグの前記値を1に等しく設定すること
によって前記第1のフラグの前記値を決定するように構成される、
C1に記載の装置。
[C3]
前記プロセッサは、
前記DPB中のピクチャが出力されるべきであるかどうかを示すビットストリーム中のシンタックス要素を復号すること、ここにおいて、前記シンタックス要素が前記現在のピクチャに関連付けられる、と、
(4)前記現在のピクチャの前記クロマフォーマットと、前記先行するピクチャの前記クロマフォーマットとが異なる、(5)前記現在のピクチャの前記ルーマサンプルの前記ビット深度と、前記先行するピクチャの前記ルーマサンプルの前記ビット深度とが異なる、または(6)前記現在のピクチャの前記クロマサンプルの前記ビット深度と、前記先行するピクチャの前記クロマサンプルの前記ビット深度とが異なると決定したことに応答して、
前記第1のフラグの前記値を前記シンタックス要素の復号された値に等しく設定すること
によって前記第1のフラグの前記値を決定することと
を行うようにさらに構成される、C1に記載の装置。
[C4]
前記現在のピクチャの前記クロマフォーマット、前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記現在のピクチャの前記クロマサンプルの前記ビット深度は、前記現在のピクチャを復号するときに前記現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され、
前記先行するピクチャの前記クロマフォーマット、前記先行するピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度は、前記先行するピクチャを復号するときに前記現在のレイヤのためにアクティブであった第2のSPSから導出される、
C1に記載の装置。
[C5]
前記現在のピクチャの前記ルーマサンプルの前記ビット深度、前記現在のピクチャの前記クロマサンプルの前記ビット深度、前記先行するピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度のそれぞれの値は、それぞれの実際のビット深度値−8として指定される、
C1に記載の装置。
[C6]
前記第1のフラグは、NoOutputOfPriorPicsFlagである、
C1に記載の装置。
[C7]
前記プロセッサは、
前記現在のピクチャの幅、前記現在のピクチャの高さ、および前記現在のピクチャに関連付けられたピクチャストアの数を取得すること、ここにおいて、前記現在のピクチャの前記幅および前記現在のピクチャの前記高さが、ルーマサンプルの単位で指定され、前記現在のピクチャに関連付けられたピクチャストアの前記数が、前記現在のピクチャから開始する前記コード化ビデオシーケンス中の前記現在のレイヤの復号に必要な最小DPBサイズを示す、と、
前記先行するピクチャの幅、前記先行するピクチャの高さ、および前記先行するピクチャに関連付けられたピクチャストアの数を取得すること、ここにおいて、前記先行するピクチャの前記幅および前記先行するピクチャの前記高さが、ルーマサンプルの単位で指定され、前記先行するピクチャに関連付けられたピクチャストアの前記数が、前記先行するピクチャにおいて終了するコード化ビデオシーケンス中の前記現在のレイヤの復号に必要な最小DPBサイズを示す、と
を行うようにさらに構成される、C2に記載の装置。
[C8]
前記プロセッサは、
(7)前記現在のピクチャの前記幅と、前記先行するピクチャの前記幅とが異なる、(8)前記現在のピクチャの前記高さと、前記先行するピクチャの前記高さとが異なる、または(9)前記現在のピクチャに関連付けられたピクチャストアの前記数と、前記先行するピクチャに関連付けられたピクチャストアの前記数とが異なると決定したことに応答して、
前記第1のフラグの前記値を1に等しく設定すること
によって前記第1のフラグの前記値を決定するように構成される、
C7に記載の装置。
[C9]
前記プロセッサは、
前記DPB中のピクチャが出力されるべきであるかどうかを示すビットストリーム中のシンタックス要素を復号すること、ここにおいて、前記シンタックス要素が前記現在のピクチャに関連付けられる、と、
(7)前記現在のピクチャの前記幅と、前記先行するピクチャの前記幅とが異なる、(8)前記現在のピクチャの前記高さと、前記先行するピクチャの前記高さとが異なる、または(9)前記現在のピクチャに関連付けられたピクチャストアの前記数と、前記先行するピクチャに関連付けられたピクチャストアの前記数とが異なると決定したことに応答して、
前記第1のフラグの前記値を前記シンタックス要素の復号された値に等しく設定すること
によって前記第1のフラグの前記値を決定することと
を行うようにさらに構成される、C7に記載の装置。
[C10]
前記現在のピクチャの前記幅、前記現在のピクチャの前記高さ、および前記現在のピクチャに関連付けられたピクチャストアの前記数は、前記現在のピクチャを復号するときに前記現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され、
前記先行するピクチャの前記幅、前記先行するピクチャの前記高さ、および前記先行するピクチャに関連付けられたピクチャストアの前記数が、前記先行するピクチャを復号するときに前記現在のレイヤのためにアクティブであった第2のSPSから導出される、C7に記載の装置。
[C11]
ランダムアクセススキップリーディング(RASL)ピクチャが出力されるべきでないことを示す前記現在のピクチャに関連付けられたフラグは、前記IRAPピクチャが、前記新しいCVSを開始することを示すために有効にされる、
C1に記載の装置。
[C12]
ランダムアクセススキップリーディング(RASL)ピクチャが出力されるべきでないことを示す前記現在のピクチャに関連付けられた前記フラグは、NoRaslOutputFlagである、
C1に記載の装置。
[C13]
前記装置は、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、およびビデオストリーミングデバイスのうちの1つまたは複数からなるグループから選択される、
C1に記載の装置。
[C14]
ビデオ情報を復号する方法であって、
現在のレイヤに関連付けられたビデオ情報を記憶することと、
復号されるべき前記現在のレイヤの現在のピクチャのクロマフォーマット、前記現在のピクチャのルーマサンプルのビット深度、または前記現在のピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得することと、ここにおいて、前記現在のピクチャが、新しいコード化ビデオシーケンス(CVS)を開始するイントラランダムアクセスポイント(IRAP)ピクチャである、
復号された前記現在のレイヤの先行するピクチャのクロマフォーマット、前記先行するピクチャのルーマサンプルのビット深度、または前記先行するピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得することと、
前記現在のピクチャに関連付けられた第1のフラグの値を決定すること、前記第1のフラグは、復号ピクチャバッファ(DPB)中のピクチャが出力されるべきであるかどうかを示し、ここにおいて、前記第1のフラグの前記値の前記決定は、(1)前記現在のピクチャの前記クロマフォーマット、および前記先行するピクチャの前記クロマフォーマット、(2)前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記ルーマサンプルの前記ビット深度、または(3)前記現在のピクチャの前記クロマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度のうちの少なくとも1つに基づく、と
を備える、方法。
[C15]
前記第1のフラグの前記値を前記決定することは、
(4)前記現在のピクチャの前記クロマフォーマットと、前記先行するピクチャの前記クロマフォーマットとが異なる、(5)前記現在のピクチャの前記ルーマサンプルの前記ビット深度と、前記先行するピクチャの前記ルーマサンプルの前記ビット深度とが異なる、または(6)前記現在のピクチャの前記クロマサンプルの前記ビット深度と、前記先行するピクチャの前記クロマサンプルの前記ビット深度とが異なると決定したことに応答して、
前記第1のフラグの前記値を1に等しく設定することを備える、
C14に記載の方法。
[C16]
前記DPB中のピクチャが出力されるべきであるかどうかを示すビットストリーム中のシンタックス要素を復号すること、ここにおいて、前記シンタックス要素が前記現在のピクチャに関連付けられる、と、
(4)前記現在のピクチャの前記クロマフォーマットと、前記先行するピクチャの前記クロマフォーマットとが異なる、(5)前記現在のピクチャの前記ルーマサンプルの前記ビット深度と、前記先行するピクチャの前記ルーマサンプルの前記ビット深度とが異なる、または(6)前記現在のピクチャの前記クロマサンプルの前記ビット深度と、前記先行するピクチャの前記クロマサンプルの前記ビット深度とが異なると決定したことに応答して、
前記第1のフラグの前記値を前記シンタックス要素の復号された値に等しく設定すること
によって前記第1のフラグの前記値を決定することと
をさらに備える、C14に記載の方法。
[C17]
前記現在のピクチャの前記クロマフォーマット、前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記現在のピクチャの前記クロマサンプルの前記ビット深度は、前記現在のピクチャを復号するときに前記現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され、
前記先行するピクチャの前記クロマフォーマット、前記先行するピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度は、前記先行するピクチャを復号するときに前記現在のレイヤのためにアクティブであった第2のSPSから導出される、
C14に記載の方法。
[C18]
前記現在のピクチャの前記ルーマサンプルの前記ビット深度、前記現在のピクチャの前記クロマサンプルの前記ビット深度、前記先行するピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度のそれぞれの値は、それぞれの実際のビット深度値−8として指定される、
C14に記載の方法。
[C19]
前記第1のフラグは、NoOutputOfPriorPicsFlagである、
C14に記載の方法。
[C20]
前記現在のピクチャの幅、前記現在のピクチャの高さ、および前記現在のピクチャに関連付けられたピクチャストアの数を取得すること、ここにおいて、前記現在のピクチャの前記幅および前記現在のピクチャの前記高さは、ルーマサンプルの単位で指定され、前記現在のピクチャに関連付けられたピクチャストアの前記数は、前記現在のピクチャから開始する前記コード化ビデオシーケンス中の前記現在のレイヤの復号に必要な最小DPBサイズを示す、と、
前記先行するピクチャの幅、前記先行するピクチャの高さ、および前記先行するピクチャに関連付けられたピクチャストアの数を取得すること、ここにおいて、前記先行するピクチャの前記幅および前記先行するピクチャの前記高さは、ルーマサンプルの単位で指定され、前記先行するピクチャに関連付けられたピクチャストアの前記数は、前記先行するピクチャにおいて終了するコード化ビデオシーケンス中の前記現在のレイヤの復号に必要な最小DPBサイズを示す、と
をさらに備える、C15に記載の方法。
[C21]
前記第1のフラグの前記値を前記決定することは、
(7)前記現在のピクチャの前記幅と、前記先行するピクチャの前記幅とが異なる、(8)前記現在のピクチャの前記高さと、前記先行するピクチャの前記高さとが異なる、または(9)前記現在のピクチャに関連付けられたピクチャストアの前記数と、前記先行するピクチャに関連付けられたピクチャストアの前記数とが異なると決定したことに応答して、
前記第1のフラグの前記値を1に等しく設定することを備える、
C20に記載の方法。
[C22]
前記DPB中のピクチャが出力されるべきであるかどうかを示すビットストリーム中のシンタックス要素を復号すること、ここにおいて、前記シンタックス要素が前記現在のピクチャに関連付けられる、と、
(7)前記現在のピクチャの前記幅と、前記先行するピクチャの前記幅とが異なる、(8)前記現在のピクチャの前記高さと、前記先行するピクチャの前記高さとが異なる、または(9)前記現在のピクチャに関連付けられたピクチャストアの前記数と、前記先行するピクチャに関連付けられたピクチャストアの前記数とが異なると決定したことに応答して、
前記第1のフラグの前記値を前記シンタックス要素の復号された値に等しく設定すること
によって前記第1のフラグの前記値を決定することと
をさらに備える、C20に記載の方法。
[C23]
前記現在のピクチャの前記幅、前記現在のピクチャの前記高さ、および前記現在のピクチャに関連付けられたピクチャストアの前記数は、前記現在のピクチャを復号するときに前記現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され、
前記先行するピクチャの前記幅、前記先行するピクチャの前記高さ、および前記先行するピクチャに関連付けられたピクチャストアの前記数は、前記先行するピクチャを復号するときに前記現在のレイヤのためにアクティブであった第2のSPSから導出される、
C20に記載の方法。
[C24]
コンピュータハードウェアを備えるプロセッサ上で実行されると、前記プロセッサに、
現在のレイヤに関連付けられたビデオ情報を記憶することと、
復号されるべき前記現在のレイヤの現在のピクチャのクロマフォーマット、前記現在のピクチャのルーマサンプルのビット深度、または前記現在のピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得すること、ここにおいて、前記現在のピクチャは、新しいコード化ビデオシーケンス(CVS)を開始するイントラランダムアクセスポイント(IRAP)ピクチャである、と、
復号された前記現在のレイヤの先行するピクチャのクロマフォーマット、前記先行するピクチャのルーマサンプルのビット深度、または前記先行するピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得することと、
前記現在のピクチャに関連付けられた第1のフラグの値を決定すること、前記第1のフラグは、復号ピクチャバッファ(DPB)中のピクチャが出力されるべきであるかどうかを示し、ここにおいて、前記第1のフラグの前記値の前記決定は、(1)前記現在のピクチャの前記クロマフォーマット、および前記先行するピクチャの前記クロマフォーマット、(2)前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記ルーマサンプルの前記ビット深度、または(3)前記現在のピクチャの前記クロマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度のうちの少なくとも1つに基づく、と
を行わせる命令を備える、非一時的コンピュータ可読媒体。
[C25]
前記命令は、前記プロセッサに、
(4)前記現在のピクチャの前記クロマフォーマットと、前記先行するピクチャの前記クロマフォーマットとが異なる、(5)前記現在のピクチャの前記ルーマサンプルの前記ビット深度と、前記先行するピクチャの前記ルーマサンプルの前記ビット深度とが異なる、または(6)前記現在のピクチャの前記クロマサンプルの前記ビット深度と、前記先行するピクチャの前記クロマサンプルの前記ビット深度とが異なると決定したことに応答して、
前記第1のフラグの前記値を1に等しく設定すること
によって前記第1のフラグの前記値を決定することをさらに行わせる、
C24に記載のコンピュータ可読媒体。
[C26]
前記現在のピクチャの前記クロマフォーマット、前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記現在のピクチャの前記クロマサンプルの前記ビット深度は、前記現在のピクチャを復号するときに前記現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され、
前記先行するピクチャの前記クロマフォーマット、前記先行するピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度は、前記先行するピクチャを復号するときに前記現在のレイヤのためにアクティブであった第2のSPSから導出される、
C24に記載のコンピュータ可読媒体。
[C27]
ビデオ情報を復号するための装置であって、
現在のレイヤに関連付けられたビデオ情報を記憶するための手段と、
復号されるべき前記現在のレイヤの現在のピクチャのクロマフォーマット、前記現在のピクチャのルーマサンプルのビット深度、または前記現在のピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得するための手段、ここにおいて、前記現在のピクチャが、新しいコード化ビデオシーケンス(CVS)を開始するイントラランダムアクセスポイント(IRAP)ピクチャである、と、
復号された前記現在のレイヤの先行するピクチャのクロマフォーマット、前記先行するピクチャのルーマサンプルのビット深度、または前記先行するピクチャのクロマサンプルのビット深度のうちの少なくとも1つを取得するための手段と、
前記現在のピクチャに関連付けられた第1のフラグの値を決定するための手段、前記第1のフラグは、復号ピクチャバッファ(DPB)中のピクチャが出力されるべきであるかどうかを示し、ここにおいて、前記第1のフラグの前記値の前記決定は、(1)前記現在のピクチャの前記クロマフォーマット、および前記先行するピクチャの前記クロマフォーマット、(2)前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記ルーマサンプルの前記ビット深度、または(3)前記現在のピクチャの前記クロマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度のうちの少なくとも1つに基づく、と
を備える、装置。
[C28]
前記第1のフラグの前記値を前記決定するための手段は、
(4)前記現在のピクチャの前記クロマフォーマットと、前記先行するピクチャの前記クロマフォーマットとが異なる、(5)前記現在のピクチャの前記ルーマサンプルの前記ビット深度と、前記先行するピクチャの前記ルーマサンプルの前記ビット深度とが異なる、または(6)前記現在のピクチャの前記クロマサンプルの前記ビット深度と、前記先行するピクチャの前記クロマサンプルの前記ビット深度とが異なると決定したことに応答して、
前記第1のフラグの前記値を1に等しく設定すること
によって前記第1のフラグの前記値を決定するように構成される、
C27に記載の装置。
[C29]
前記現在のピクチャの前記クロマフォーマット、前記現在のピクチャの前記ルーマサンプルの前記ビット深度、および前記現在のピクチャの前記クロマサンプルの前記ビット深度が、前記現在のピクチャを復号するときに前記現在のレイヤのためにアクティブである第1のシーケンスパラメータセット(SPS)から導出され、
前記先行するピクチャの前記クロマフォーマット、前記先行するピクチャの前記ルーマサンプルの前記ビット深度、および前記先行するピクチャの前記クロマサンプルの前記ビット深度が、前記先行するピクチャを復号するときに前記現在のレイヤのためにアクティブであった第2のSPSから導出される、
C27に記載の装置。