(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
少なくとも第1のレイヤと前記第1のレイヤの参照レイヤとを備える第1のアクセスユニットを符号化するステップと、
前記第1のレイヤに対して、以下の条件のすべてが満たされるかどうかを決定するステップであって、前記条件が、
-  前記第1のレイヤの参照レイヤ内にある、第1のアクセスユニット内のすべてのピクチャは、0に等しいpoc_msb_cycle_val_present_flagとpoc_reset_idcの両方を有することと、
-  後続のアクセスユニット内に1に等しいpoc_msb_cycle_val_present_flagを有する少なくとも1つのピクチャがあること、
-  復号順序において前記第1のアクセスユニットに後続して第2のアクセスユニットに先行するアクセスユニットが、復号順序において存在すること、および、
-  前記第2のアクセスユニットが存在し、0に等しいレイヤ識別子を有する第2のアクセスユニット内のピクチャは、1に等しいNoClrasOutputFlagを有するIRAPピクチャでないことを含む、ステップと、
前記条件のうちの少なくとも1つが満たされていないとの決定に応答して、少なくとも前記第1のレイヤと前記第1のレイヤの前記参照レイヤとに適用される回復点SEIメッセージを前記第1のアクセスユニット内に含めるステップと、
前記SEIメッセージを有する前記第1のアクセスユニットを生成するステップとを含む、方法。
【請求項２】
少なくとも第2のレイヤと前記第2のレイヤの参照レイヤとを備える第2のアクセスユニットを符号化するステップと、
前記第2のアクセスユニットが、POCリセッティングアクセスユニットであるかどうかを決定するステップと、
前記第2のアクセスユニットが前記POCリセッティングアクセスユニットであることに応答して、少なくとも前記第2のレイヤと前記第2のレイヤの前記参照レイヤとに適用される第2の回復点SEIメッセージを前記第2のアクセスユニット内に含めるステップとをさらに含む、請求項１に記載の方法。
【請求項３】
少なくとも第2のレイヤと前記第2のレイヤの参照レイヤとを備える第2のアクセスユニットを符号化するステップと、
前記第2のアクセスユニットが、シグナリングされたPOC最上位ビット(MSB)情報を含む1つまたは複数のピクチャを備えるかどうかを決定するステップと、
前記第2のアクセスユニットが前記POC MSB情報を含む前記1つまたは複数のピクチャを備えることに応答して、少なくとも前記第2のレイヤと前記第2のレイヤの前記参照レイヤとに適用される第2の回復点SEIメッセージを前記第2のアクセスユニット内に含めるステップとをさらに含む、請求項１に記載の方法。
【請求項４】
ワイヤレス通信デバイスのメモリに前記ビデオデータを記憶するステップと、
前記ワイヤレス通信デバイスの1つまたは複数のプロセッサ上で前記ビデオデータを処理するステップと、
前記ワイヤレス通信デバイスの送信機においてに前記ビデオデータを送信するステップとをさらに含む、請求項１に記載の方法。
【請求項５】
前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記ワイヤレス通信デバイスの前記送信機において前記ビデオデータを送信するステップが、前記ビデオデータを含む信号を、ワイヤレス通信規格に従って変調するステップを含む、請求項４に記載の方法。
【請求項６】
マルチレイヤビデオデータをビデオ符号化するためのデバイスであって、
ビデオデータのマルチレイヤビットストリームの少なくとも一部を記憶するように構成されたメモリと、
1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
少なくとも第1のレイヤと前記第1のレイヤの参照レイヤとを備える第1のアクセスユニットを符号化することと、
前記第1のレイヤに対して、以下の条件のすべてが満たされるかどうかを決定することであって、前記条件が、
-  前記第1のレイヤの参照レイヤ内にある、第1のアクセスユニット内のすべてのピクチャは、0に等しいpoc_msb_cycle_val_present_flagとpoc_reset_idcの両方を有すること、
-  後続のアクセスユニット内に1に等しいpoc_msb_cycle_val_present_flagを有する少なくとも1つのピクチャがあること、
-  復号順序において前記第1のアクセスユニットに後続して第2のアクセスユニットに先行するアクセスユニットが、復号順序において存在すること、および、
-  前記第2のアクセスユニットが存在し、0に等しいレイヤ識別子を有する第2のアクセスユニット内のピクチャは、1に等しいNoClrasOutputFlagを有するIRAPピクチャでないことを含む、ことと、
前記条件のうちの少なくとも1つが満たされていないとの決定に応答して、少なくとも前記第1のレイヤと前記第1のレイヤの前記参照レイヤとに適用される回復点SEIメッセージを前記第1のアクセスユニット内に含めることと、
前記SEIメッセージを有する前記第1のアクセスユニットを生成することとを行うように構成される、デバイス。
【請求項７】
前記1つまたは複数のプロセッサが、
少なくとも第2のレイヤと前記第2のレイヤの参照レイヤとを備える第2のアクセスユニットを符号化することと、
前記第2のアクセスユニットが、POCリセッティングアクセスユニットであるかどうかを決定することと、
前記第2のアクセスユニットが前記POCリセッティングアクセスユニットであることに応答して、少なくとも前記第2のレイヤと前記第2のレイヤの前記参照レイヤとに適用される第2の回復点SEIメッセージを前記第2のアクセスユニット内に含めることとを行うようにさらに構成される、請求項６に記載のデバイス。
【請求項８】
前記1つまたは複数のプロセッサが、
少なくとも第2のレイヤと前記第2のレイヤの参照レイヤとを備える第2のアクセスユニットを符号化することと、
前記第2のアクセスユニットが、シグナリングされたPOC最上位ビット(MSB)情報を含む1つまたは複数のピクチャを備えるかどうかを決定することと、
前記第2のアクセスユニットが前記POC MSB情報を含む前記1つまたは複数のピクチャを備えることに応答して、少なくとも前記第2のレイヤと前記第2のレイヤの前記参照レイヤとに適用される第2の回復点SEIメッセージを前記第2のアクセスユニット内に含めることとを行うようにさらに構成される、請求項６に記載のデバイス。
【請求項９】
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイスのうちの少なくとも1つを備える、請求項６に記載のデバイス。
【請求項１０】
符号化ビデオデータを送信するように構成された送信機を備えるワイヤレス通信デバイスをさらに備える、請求項６に記載のデバイス。
【請求項１１】
前記ワイヤレス通信デバイスが電話ハンドセットを備え、前記送信機が、前記符号化ビデオデータを含む信号を、ワイヤレス通信規格に従って変調するように構成される、請求項１０に記載のデバイス。
【請求項１２】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
少なくとも第1のレイヤと前記第1のレイヤの参照レイヤとを備える第1のアクセスユニットを符号化することと、
前記第1のレイヤに対して、以下の条件のすべてが満たされるかどうかを決定することであって、前記条件が、
-  前記第1のレイヤの参照レイヤ内にある、第1のアクセスユニット内のすべてのピクチャは、0に等しいpoc_msb_cycle_val_present_flagとpoc_reset_idcの両方を有すること、
-  後続のアクセスユニット内に1に等しいpoc_msb_cycle_val_present_flagを有する少なくとも1つのピクチャがあること、
-  復号順序において前記第1のアクセスユニットに後続して第2のアクセスユニットに先行するアクセスユニットが、復号順序において存在すること、および、
-  前記第2のアクセスユニットが存在し、0に等しいレイヤ識別子を有する第2のアクセスユニット内のピクチャは、1に等しいNoClrasOutputFlagを有するIRAPピクチャでないことを含む、ことと、
前記条件のうちの少なくとも1つが満たされていないとの決定に応答して、少なくとも前記第1のレイヤと前記第1のレイヤの前記参照レイヤとに適用される回復点SEIメッセージを前記第1のアクセスユニット内に含めることと、
前記SEIメッセージを有する前記第1のアクセスユニットを生成することとを行わせる、コンピュータ可読記憶媒体。
【請求項１３】
ビデオデータを符号化するための装置であって、
少なくとも第1のレイヤと前記第1のレイヤの参照レイヤとを備える第1のアクセスユニットを符号化するための手段と、
前記第1のレイヤに対して、以下の条件のすべてが満たされるかどうかを決定するための手段であって、前記条件が、
-  前記第1のレイヤの参照レイヤ内にある、第1のアクセスユニット内のすべてのピクチャは、0に等しいpoc_msb_cycle_val_present_flagとpoc_reset_idcの両方を有すること、
-  後続のアクセスユニット内に1に等しいpoc_msb_cycle_val_present_flagを有する少なくとも1つのピクチャがあること、
-  復号順序において前記第1のアクセスユニットに後続して第2のアクセスユニットに先行するアクセスユニットが、復号順序において存在すること、および
-  前記第2のアクセスユニットが存在し、0に等しいレイヤ識別子を有する第2のアクセスユニット内のピクチャは、1に等しいNoClrasOutputFlagを有するIRAPピクチャでないことを含む、手段と、
前記条件のうちの少なくとも1つが満たされていないとの決定に応答して、少なくとも前記第1のレイヤと前記第1のレイヤの前記参照レイヤとに適用される回復点SEIメッセージを前記第1のアクセスユニット内に含めるための手段と、
前記SEIメッセージを有する前記第1のアクセスユニットを生成するための手段とを含む、装置。
【請求項１４】
少なくとも第2のレイヤと前記第2のレイヤの参照レイヤとを備える第2のアクセスユニットを符号化するための手段と、
前記第2のアクセスユニットが、POCリセッティングアクセスユニットであるかどうかを決定するための手段と、
前記第2のアクセスユニットが前記POCリセッティングアクセスユニットであることに応答して、少なくとも前記第2のレイヤと前記第2のレイヤの前記参照レイヤとに適用される第2の回復点SEIメッセージを前記第2のアクセスユニット内に含めるための手段とをさらに含む、請求項１３に記載の装置。
【請求項１５】
少なくとも第2のレイヤと前記第2のレイヤの参照レイヤとを備える第2のアクセスユニットを符号化するための手段と、
前記第2のアクセスユニットが、シグナリングされたPOC最上位ビット(MSB)情報を含む1つまたは複数のピクチャを備えるかどうかを決定するための手段と、
前記第2のアクセスユニットが前記POC MSB情報を含む前記1つまたは複数のピクチャを備えることに応答して、少なくとも前記第2のレイヤと前記第2のレイヤの前記参照レイヤとに適用される第2の回復点SEIメッセージを前記第2のアクセスユニット内に含めるための手段とをさらに含む、請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれている、2014年6月25日に出願した米国仮出願第62/017,238号の利益を主張するものである。
【０００２】
本開示は、ビデオコーディングおよび圧縮、ならびにビットストリーム内の圧縮されたビデオと関連付けられたデータのシグナリングに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタル直接放送システム、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれることが可能である。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC)、High Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技術を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することがある。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を実行する。ブロックベースのビデオコーディングのために、ビデオスライス(すなわち、ビデオフレーム、またはビデオフレームの一部)は、ビデオブロックに区分されてもよく、ビデオブロックはまた、ツリーブロック、コーディング単位(CU:coding unit)、および/またはコーディングノードと呼ばれることがある。ピクチャのイントラコード化(I)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測を用いて符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測、または他の参照ピクチャ内の参照サンプルに対する時間予測を使用してもよい。ピクチャは、フレームと呼ばれることがあり、参照ピクチャは、参照フレームと呼ばれることがある。
【０００５】
空間または時間予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されてもよく、次いで量子化されてもよい残差変換係数をもたらす。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために、走査されてもよく、エントロピーコーディングが、さらに多くの圧縮を達成するために適用されてもよい。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Chenら、「High Efficiency Video Coding (HEVC) scalable extension draft 5」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT-VC)、文書JCTVC-P1008_v4、第16回会議、サンノゼ、2014年1月
【非特許文献２】Techら、「MV-HEVC Draft Text 7」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT-VC)、文書JCTVC-G1004_v7、第16回会議、サンノゼ、2014年1月
【発明の概要】
【課題を解決するための手段】
【０００７】
本開示は、マルチビュービデオコーディングに関し、より詳細には、マルチレイヤビデオ内に回復点SEIメッセージを含むことに関する。
【０００８】
一例では、ビデオデータを符号化する方法は、少なくともレイヤとそのレイヤの参照レイヤとを備える第1のアクセスユニットを符号化するステップと、第1のアクセスユニットが回復点であるかどうかを決定するステップと、第1のアクセスユニットが回復点であることに応答して、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを第1のアクセスユニットに含めるステップと、SEIメッセージを有する第1のアクセスユニットを生成するステップとを含む。
【０００９】
別の例では、マルチレイヤビデオデータをビデオ符号化するためのデバイスは、ビデオデータのマルチレイヤビットストリームの少なくとも一部を記憶するように構成されたメモリ、ならびに少なくともレイヤとそのレイヤの参照レイヤとを備える第1のアクセスユニットを符号化することと、第1のアクセスユニットが回復点であるかどうかを決定することと、第1のアクセスユニットが回復点であることに応答して、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを第1のアクセスユニット内に含めることと、SEIメッセージを有する第1のアクセスユニットを生成することとを行うように構成された1つまたは複数のプロセッサを含む。
【００１０】
別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、少なくともレイヤとそのレイヤの参照レイヤとを備える第1のアクセスユニットを符号化することと、第1のアクセスユニットが回復点であるかどうかを決定することと、第1のアクセスユニットが回復点であることに応答して、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを第1のアクセスユニット内に含めることと、SEIメッセージを有する第1のアクセスユニットを生成することとを行わせる命令を記憶する。
【００１１】
別の例では、ビデオデータを符号化するための装置は、少なくともレイヤとそのレイヤの参照レイヤとを備える第1のアクセスユニットを符号化するための手段と、第1のアクセスユニットが回復点であるかどうかを決定するための手段と、第1のアクセスユニットが回復点であることに応答して、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを第1のアクセスユニットに含めるための手段と、SEIメッセージを有する第1のアクセスユニットを生成するための手段とを含む。
【００１２】
本開示の1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】複数のアクセスユニットを含むビットストリームの一例を示す図である。
【図３】複数のアクセスユニットを含むビットストリームの一例を示す図である。
【図４】本開示に記載の技法を実装してもよい例示的なビデオエンコーダを示すブロック図である。
【図５】本開示に記載の技法を実装してもよい例示的なビデオデコーダを示すブロック図である。
【図６】本開示の1つまたは複数の態様が実装され得るカプセル化ユニットの一例を示すブロック図である。
【図７】本開示の1つまたは複数の態様が実装され得る例示的なネットワークを示すブロック図である。
【図８】本開示の技法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本開示は、マルチレイヤコンテキストにおける高効率ビデオコーディング(HEVC)規格において定義される補足エンハンスメント情報(SEI)メッセージを適用するための技法を含む。いくつかの例では、技法は、後述するように、HEVCに対するマルチビュービデオコーディング拡張(MV-HEVC)またはHEVCに対するスケーラブルビデオコーディング(SVC)拡張(SHVC)など、HEVC規格に対するマルチレイヤ拡張を用いて実行されてよい。本開示の技法は一般にHEVCの用語を使用して説明されることになるが、本開示の技法は、必ずしも特定のビデオコーディング規格に限定されるとは限らず、追加または代替として、HEVCに対する他の拡張、他のマルチビューコーディング規格および/または他のマルチレイヤビデオコーディング規格を用いて使用されてもよい。加えて、別段に記載されていない限り、以下で説明する本開示の技法は、単独でまたは組み合わせて適用されてよいことが想定されるべきである。
【００１５】
ビデオデータの「レイヤ」は、一般に、ビュー、フレームレート、解像度など、少なくとも1つの共通の特性を有するピクチャのシーケンスを指し得る。たとえば、レイヤは、マルチビュービデオデータの特定のビュー(たとえば、視点)と関連付けられたビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤと関連付けられたビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤおよびビューに交換可能に言及することがある。すなわち、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、その逆も同様であり、複数のビューまたは複数のスケーラブルレイヤは、同様にして、たとえばマルチレイヤコーディングシステムにおいてマルチプルレイヤと呼ばれることがある。加えて、マルチレイヤコーデック(マルチレイヤビデオコーダまたはマルチレイヤエンコーダデコーダとも呼ばれる)は、マルチビューコーデックまたはスケーラブルコーデック(たとえば、MV-HEVC、SHVC、または別のマルチレイヤコーディング技法を使用してビデオデータを符号化および/または復号するように構成されるコーデック)を指すことがある。
【００１６】
HEVC規格は、一般に、すべてがnuh_layer_idの特定の値を有するネットワーク抽象レイヤ(NAL)ユニットおよび関連する非ビデオコーディングレイヤ(VCL)NALユニットのセットとして、または階層関係を有する構文構造のセットのうちの1つとしてレイヤを定義する。HEVC規格は、一般に、NALユニット内に含まれるデータのタイプの指示を含む構文構造、およびローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとしてNALユニットを定義する。構文要素「nuh_layer_id」は、NALユニットが属するレイヤを識別する。
【００１７】
マルチレイヤビットストリームは、たとえばSHVCにおけるベースレイヤおよび1つまたは複数の非ベースレイヤ、または、たとえばMV-HEVCにおける複数のビューを含んでよい。スケーラブルビットストリーム内で、ベースレイヤは、一般に、ゼロに等しいレイヤ識別子(たとえば、nuh_layer_id)を有してよい。非ベースレイヤは、ゼロより大きいレイヤ識別子を有してよく、ベースレイヤ内に含まれない追加のビデオデータを与えてもよい。たとえば、マルチビュービデオデータの非ベースレイヤは、ビデオデータの追加のビューを含んでもよい。スケーラブルビデオデータの非ベースレイヤは、スケーラブルビデオデータの追加のレイヤを含んでもよい。非ベースレイヤは、互換的に、エンハンスメントレイヤと呼ばれることがある。
【００１８】
マルチレイヤビットストリームのアクセスユニット(AUと短縮されるときもある)は、一般に、共通の時間インスタンスに対するすべてのレイヤ構成要素(たとえば、すべてのNALユニット)を含むデータのユニットである。アクセスユニットのレイヤ構成要素は、一般に、一緒に出力される(すなわち、実質的に同時に出力される)ように意図され、ピクチャを出力することは、一般に、復号されたピクチャバッファ(DPB)からピクチャを転送すること(たとえば、DPBからのピクチャを外部メモリに記憶すること、DPBからのピクチャをディスプレイに送ること、など)を伴う。HEVC規格は、一般に、指定された分類規則に従って互いに関連付けられ、復号順序において連続しており、正確に1つのコード化ピクチャを含むNALユニットのセットとしてアクセスユニットを定義する。コード化ピクチャのVCL NALユニットを含むことに加えて、アクセスユニットはまた、非VCL NALユニットを含むことがある。アクセスユニットの復号は、復号ピクチャを結果としてもたらす。
【００１９】
ビデオデータの符号化表現を含むビットストリームは、一連のNALユニットを含んでよい。NALユニットは、VCL NALユニットと非VCL NALユニットとを含んでよい。VCL NALユニットは、ピクチャのコード化スライスを含んでよい。たとえば、非VCL NALユニットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、1つまたは複数のSEIメッセージ、または他のタイプのデータなど、他の情報をカプセル化してよい。
【００２０】
ビットストリームのNALユニットは、ビットストリームの異なるレイヤと関連付けられてよい。SHVCにおいて、上述のように、ベースレイヤ以外のレイヤは、「エンハンスメントレイヤ」と呼ばれることがあり、ビデオデータのプレイバックの品質を改善するデータを含んでよい。MV-HEVCなど、マルチビューコーディングおよび3次元ビデオ(3DV)コーディングでは、レイヤは、異なるビューと関連付けられたデータを含んでよい。ビットストリームの各レイヤは、異なるレイヤ識別子と関連付けられる。
【００２１】
加えて、NALユニットは、時間識別子を含んでよい。ビットストリームの各動作点は、レイヤ識別子および時間識別子のセットを有する。NALユニットが、動作点に対するレイヤ識別子のセット内のレイヤ識別子を指定し、NALユニットの時間識別子が動作点の時間識別子以下である場合、NALユニットは、動作点と関連付けられる。
【００２２】
H.264/AVCとHEVCの両方でサポートされるSEI機構は、出力ピクチャのサンプル値の、ビデオデコーダまたは他のデバイスによる正しい復号を必要としないビットストリーム内のメタデータをビデオエンコーダが含むことを可能にするが、ピクチャ出力タイミング、ディスプレイング、ならびにロスの検出および隠蔽など、様々な他の目的に使用され得る。1つまたは複数のSEIメッセージをカプセル化するNALユニットは、本明細書ではSEI NALユニットと呼ばれる。1つのタイプのSEIメッセージは、スケーラブルネスティングSEIメッセージである。スケーラブルネスティングSEIメッセージは、1つまたは複数の追加のSEIメッセージを含むSEIメッセージである。スケーラブルネスティングSEIメッセージは、SEIメッセージが、マルチレイヤビットストリームの特定のレイヤまたは時間的サブレイヤに適用されるかどうかを示すために使用されてよい。スケーラブルネスティングSEIメッセージに含まれないSEIメッセージは、本明細書では非ネスト化SEIメッセージと呼ばれる。
【００２３】
いくつかのタイプのSEIメッセージは、特定の動作点にのみ適用可能な情報を含む。ビットストリームの動作点は、レイヤ識別子および時間識別子のセットと関連付けられる。動作点表示は、動作点と関連付けられた各NALユニットを含んでよい。動作点表示は、元のビットストリームとは異なるフレームレートおよび/またはビットレートを有してよい。これは、動作点表示が、元のビットストリームのいくつかのピクチャおよび/またはいくつかのデータを含まないことがあるからである。
【００２４】
符号化ビデオデータのビットストリームは、回復点を含むように符号化される。HEVC規格は、一般に、ビットストリームによって表される復号ピクチャの正確な表示または近似的表示の回復がランダムアクセスまたはリンク切れの後で達成され得る、ビットストリーム内のポイントとして回復点を定義する。ランダムアクセスは、ストリームの始端以外のポイントにおいてビットストリームに対する復号プロセスを開始する行為を指し、リンク切れは、復号順序においていくつかの後続のピクチャが、ビットストリームの生成において実行された不特定動作による重大な視覚的アーティファクトを含む可能性があることが示されるビットストリーム内のロケーションを指す。
【００２５】
回復点を実施するために、ビデオエンコーダは、回復点SEIメッセージを生成する。HEVCにおいて、回復点SEIメッセージは、デコーダがランダムアクセスを開始した後、またはエンコーダがコード化ビデオシーケンス(CVS)内のリンク切れを示した後、表示のために許容できるピクチャを復号プロセスがいつ作成するかを決定することにおいて、デコーダを支援する。復号プロセスが、回復点SEIメッセージと関連付けられた復号順序においてアクセスユニットから開始されると、このSEIメッセージ内で指定された出力順序において回復点におけるかまたは回復点に続くすべての復号ピクチャは、コンテンツにおいて正確または近似的に正確であることを示される。回復点SEIメッセージと関連付けられたピクチャにおいてまたはそのピクチャの前にランダムアクセスによって作成された復号ピクチャは、示された回復点までコンテンツが正確である必要はなく、回復点SEIメッセージと関連付けられたピクチャにおいて開始する復号プロセスの動作は、復号ピクチャバッファ内で利用不可能なピクチャに対する参照を含んでよい。
【００２６】
HEVCおよび他のビデオコーディング規格において、ピクチャが出力される順序は、必ずしも、ピクチャが復号される順序と同じである必要はない。言い換えれば、第1のピクチャは、第2のピクチャの前にビットストリーム内に受信されてよいが、第2のピクチャが、実際には第1のピクチャの前に出力されてもよい。ビデオデコーダが、復号ピクチャの出力順序を管理し得るように、復号ピクチャは、関連するピクチャ順序カウント(POC)値を有する。ピクチャのPOCは、各ピクチャと関連付けられ、コード化ビデオシーケンス内のすべてのピクチャの中で関連するピクチャを一意に識別し、同じコード化ビデオシーケンス(CVS)内の他のピクチャの出力順序位置に対する出力順序で関連するピクチャの位置を示す変数である。
【００２７】
回復点SEIメッセージをコード化ビデオシーケンス内に実装するための既存の技法は、コード化ビデオシーケンスの復号が回復点において開始するとき、潜在的に問題を発生する。以下でより詳細に説明するように、シグナリングオーバーヘッドを低減するために、アクセスユニット内のピクチャのすべてのPOC値が、常にシグナリングされるとは限らず、代わりに推測されることがある。しかしながら、いくつかのコーディングシナリオの下で、POC値を推測するためのこれらの技法は、推測されるPOC値と予期されるPOC値との間で不一致を生じることがある。この不一致は、たとえば、実際には、ピクチャが、ビデオデコーダによって予期されるPOC値と異なるPOC値を有するときに、ピクチャが失われているものとビデオデコーダに推断させることがある。
【００２８】
図1は、本開示で説明する技法を利用し得る、例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後の時間に復号されるべき符号化ビデオデータを生成する、ソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどのワイヤレス/セルラー電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、などを含む、広い範囲のデバイスのうちのいずれかを含んでもよい。いくつかの場合には、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備されてもよい。いくつかの実装形態では、ソースデバイス12および宛先デバイス14は、モバイルネットワークを介して通信するように構成されたモバイルネットワークデバイスであってもよい。
【００２９】
宛先デバイス14は、リンク16を介して、復号されるべき符号化ビデオデータを受信してもよい。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えてもよい。一例では、リンク16は、ソースデバイス12が符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にする通信媒体を備えてもよい。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトルなどの任意のワイヤレスもしくはワイヤード通信媒体、または、1つもしくは複数の物理的伝送線を備えてもよい。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であってもよい任意の他の機器を含んでもよい。通信媒体はまた、セルラーネットワークまたはモバイルネットワークの一部を形成してよく、ソースデバイス12および宛先デバイス14は、GSM（登録商標）ネットワーク、CDMAネットワーク、LTEネットワーク、または他のそのようなネットワークなど、時にはセルラー通信規格と呼ばれることもあるモバイル通信規格を使用して通信するように構成されてもよい。
【００３０】
代替的には、符号化データは、出力インターフェース22からストレージデバイス32に出力されてもよい。同様に、符号化データは、入力インターフェースによってストレージデバイス32からアクセスされてもよい。ストレージデバイス32は、ハードドライブ、Blu-ray（登録商標）ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または、符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちのいずれかを含んでもよい。さらなる例では、ストレージデバイス32は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応してもよい。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス32から記憶されたビデオデータにアクセスしてもよい。ファイルサーバは、符号化ビデオデータを記憶し、宛先デバイス14にその符号化ビデオデータを送信することが可能な任意のタイプのサーバであってもよい。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して符号化ビデオデータにアクセスしてもよい。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含んでもよい。ストレージデバイス32からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。
【００３１】
本開示の技法は、必ずしもワイヤレス用途または設定に限定されない。技法は、空中テレビ放送、ケーブルテレビ送信、衛星テレビ送信、たとえばインターネットを介するストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用されてもよい。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向ビデオ送信をサポートするように構成されてもよい。
【００３２】
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、カプセル化ユニット21と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含んでもよい。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せ、などのソースを含んでもよい。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはテレビ電話を形成してもよい。しかしながら、本開示で説明する技術は、一般にビデオコーディングに適用可能であってもよく、ワイヤレス用途および/またはワイヤード用途に適用されてもよい。
【００３３】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。カプセル化ユニット21は、マルチメディアコンテンツの1つまたは複数の表示を形成してよく、表示の各々は、1つまたは複数のレイヤを含んでよい。いくつかの例では、ビデオエンコーダ20は、各レイヤを異なる方法で、たとえば異なるフレームレート、異なるビットレート、異なる解像度、または他のそのような差異で符号化してもよい。したがって、カプセル化ユニット21は、様々な特徴、たとえばビットレート、フレームレート、解像度などを有する様々な表示を形成してよい。
【００３４】
表示の各々は、宛先デバイス14によって取り出され得るそれぞれのビットストリームに対応してよい。カプセル化ユニット21は、各表示の中、たとえばマルチメディアコンテンツに対するメディアプレゼンテーション記述(MPD)データ構造の中に含まれるビューに対するビュー識別子(view_ids)の範囲の指示を与えてよい。たとえば、カプセル化ユニット21は、表示のビューに対する最大ビュー識別子および最小ビュー識別子の指示を与えてよい。MPDは、さらに、マルチメディアコンテンツの複数の表示の各々に対する出力の対象とされるビューの最大数の指示を与えてよい。いくつかの例では、MPDまたはそれらのデータは、表示のためにマニフェスト内に記憶されてよい。
【００３５】
符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信されてもよい。符号化ビデオデータはまた(または代替的に)、復号および/または再生するために、宛先デバイス14または他のデバイスによって後にアクセスするためのストレージデバイス32に記憶されてもよい。
【００３６】
宛先デバイス14は、入力インターフェース28と、カプセル化解除ユニット29と、ビデオデコーダ30と、表示デバイス31とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含んでもよい。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信された、またはストレージデバイス32上に提供された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダによって使用するための、ビデオエンコーダ20によって生成された様々な構文要素を含んでもよい。そのような構文要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ上に記憶された符号化ビデオデータとともに含まれてもよい。
【００３７】
宛先デバイス14のカプセル化解除ユニット29は、ビットストリーム(またはビットストリームのサブセット、マルチレイヤコーディングのコンテンツ内の動作点と呼ばれる)からSEIメッセージをカプセル化解除するユニットを表してよい。カプセル化解除ユニット29は、SEIメッセージなど、カプセル化された符号化ビットストリームからのデータをカプセル化解除するために、カプセル化ユニット21によって実行される順序と反対の順序で動作を実行してもよい。
【００３８】
ディスプレイデバイス31は、宛先デバイス14と一体であってもよく、または宛先デバイス14の外部にあってもよい。いくつかの例では、宛先デバイス14は、集積ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス31は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３９】
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な適切なエンコーダ回路のうちのいずれかとして実装され得る。本技法が部分的にソフトウェアにおいて実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体内にソフトウェアのための命令を記憶してよく、本開示の技法を実行するために、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてもよく、そのいずれかは、それぞれのデバイス内に、組み合わされたエンコーダ/デコーダ(コーデック)の一部として組み込まれてもよい。
【００４０】
図1には示していないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々、オーディオエンコーダおよびデコーダと一体化されてもよく、共通データストリームまたは別々のデータストリームにおけるオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニットまたは他のハードウェアおよびソフトウェアを含んでもよい。該当する場合、いくつかの例では、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、または、ユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠してもよい。
【００４１】
本開示は、一般に、ビデオデコーダ30などの別のデバイスに特定の情報を「合図する」ビデオエンコーダ20を参照することがある。「シグナリングすること」という用語は、概して、構文要素、および/または圧縮ビデオデータを復号するために使用される他のデータの通信を指すことがある。そのような通信は、リアルタイムで、またはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化の時点において符号化ビットストリームの中の構文要素をコンピュータ可読記憶媒体に記憶し、次いで、構文要素が、この媒体に記憶された後の任意の時点において復号デバイスによって取り出され得るときに発生し得るような、時間の範囲にわたって発生することもある。
【００４２】
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、そのスケーラブルビデオコーディング(SVC)拡張、マルチビュービデオコーディング(MVC)拡張、およびMVCベース3DV拡張を含むISO/IEC MPEG-4ビジュアルおよびITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られている)などのビデオ圧縮規格に従って動作する。他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU-T H.265(HEVC)シリーズH:オーディオビジュアルおよびマルチメディアシステム、オーディオビジュアルサービスのインフラストラクチャ-動画のコーディング、高効率ビデオコーディング、国際電気通信連合、2014年10月、ITU-Tビデオコーディング専門家グループ(VCEG)およびISO/IEC動画専門家グループ(MPEG)のビデオコーディング共同研究部会(JCT-VC)が開発、に従って動作してもよい。
【００４３】
さらに、スケーラブルビデオコーディング、マルチビューコーディング、およびHEVCに対する3DV拡張を作成するための努力がなされつつある。HEVCのスケーラブルビデオコーディング拡張は、SHVCと呼ばれることがある。SHVCの作業草案(WD)(以後、SHVC WD5または現在のSHVC WDと呼ぶ)は、Chenら、「High Efficiency Video Coding (HEVC) scalable extension draft 5」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT-VC)、文書JCTVC-P1008_v4、第16回会議、サンノゼ、2014年1月、に記載されている。MV-HEVCの作業草案(WD)(以後、MV-HEVC WD7または現在のMV-HEVC WDと呼ぶ)は、Techら、「MV-HEVC Draft Text 7」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT-VC)、文書JCTVC-G1004_v7、第16回会議、サンノゼ、2014年1月、に記載されている。
【００４４】
HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書で「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロであってよく、ルーマサンプルのアレイだけを含んでよい。
【００４５】
ピクチャの符号化表現を生成するために、ビデオエンコーダ20が、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、輝度サンプルのコーディングツリーブロックと、彩度サンプルの2つの対応するコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用される構文構造とを備えてもよい。白黒ピクチャ、または3つの別個の色平面を有するピクチャでは、CTUは、単一のコーディングツリーブロックと、コーディングツリーブロックのサンプルをコーディングするために使用される構文構造とを備えてもよい。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックと概して類似であり得る。しかしながら、CTUは、必ずしも特定のサイズに限定されず、1つまたは複数のコーディングユニット(CU)を含んでよい。スライスは、ラスタ走査順序において連続的に順序付けられた整数個のCTUを含み得る。
【００４６】
コード化CTUを生成するために、ビデオエンコーダ20がCTUのコーディングツリーブロック上で4分木区分を再帰的に実行してコーディングツリーブロックをコーディングブロックに分割してよく、したがって、「コーディングツリーユニット」という名前である。コーディングブロックは、サンプルのN×Nブロックであり得る。CUは、輝度サンプルアレイと、CbサンプルアレイおよびCrサンプルアレイと、コーディングブロックのサンプルをコーディングするために使用される構文構造とを有するピクチャの輝度サンプルのコーディングブロックと、彩度サンプルの2つの対応するコーディングブロックとを備えてもよい。白黒ピクチャ、または3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用される構文構造とを含んでよい。
【００４７】
ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。CUの予測ユニット(PU)は、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用される構文構造を含んでよい。白黒ピクチャ、または3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、予測ブロックを予測するために使用される構文構造とを含んでよい。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックに対して、予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成し得る。
【００４８】
ビデオエンコーダ20は、PUに関する予測ブロックを生成するために、イントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUと関連したピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUと関連したピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。
【００４９】
ビデオエンコーダ20がCUの1つまたは複数のPUに対して予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後、ビデオエンコーダ20は、CUに関するルーマ残差ブロックを生成し得る。CUのルーマ残差ブロックの中の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロックの中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CUに関するCb残差ブロックを生成し得る。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルとCUの元のCbコーディングブロックの中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUに関するCr残差ブロックを生成し得る。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルとCUの元のCrコーディングブロックの中の対応するサンプルとの間の差分を示し得る。
【００５０】
さらに、ビデオエンコーダ20は、4分木区分を使用して、CUの、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。CUの変換単位(TU:transform unit)は、輝度サンプルの変換ブロックと、彩度サンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用される構文構造とを備えてもよい。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。白黒ピクチャ、または3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するために使用される構文構造とを含んでもよい。
【００５１】
ビデオエンコーダ20は、1つまたは複数の変換をTUのルーマ変換ブロックに適用して、TUに関するルーマ係数ブロックを生成し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ20は、1つまたは複数の変換をTUのCb変換ブロックに適用して、TUに関するCb係数ブロックを生成し得る。ビデオエンコーダ20は、1つまたは複数の変換をTUのCr変換ブロックに適用して、TUに関するCr係数ブロックを生成し得る。
【００５２】
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化とは、概して、変換係数が量子化されて、場合によっては、変換係数を表すために使用されるデータの量を低減し、さらなる圧縮をもたらすプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数を示す構文要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化変換係数を示す構文要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。
【００５３】
ビデオエンコーダ20は、コード化ピクチャおよび関連したデータの表示を形成するビットのシーケンスを含むビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、NALユニットのシーケンスを含み得る。NALユニットは、NALユニット内のデータのタイプの指示を含む構文構造、および必要に応じてエミュレーション防止ビットを組み入れられたRBSPの形態でそのデータを含むバイトである。NALユニットの各々は、NALユニットヘッダを含み、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示す構文要素を含み得る。NALユニットのNALユニットヘッダによって規定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含む構文構造であり得る。いくつかの事例では、RBSPは、0個のビットを含む。
【００５４】
異なるタイプのNALユニットが、異なるタイプのRBSPをカプセル化してよい。たとえば、第1のタイプのNALユニットがPPS用のRBSPをカプセル化してよく、第2のタイプのNALユニットがコード化スライス用のRBSPをカプセル化してよく、第3のタイプのNALユニットがSEIメッセージ用のRBSPをカプセル化してよく、以下同様である。ビデオコーディングデータ用のRBSP(パラメータセット用およびSEIメッセージ用のRBSPではない)をカプセル化するNALユニットは、VCL NALユニットと呼ばれることがある。
【００５５】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、構文要素をビットストリームから取得するために、ビットストリームを構文解析し得る。ビデオデコーダ30は、ビットストリームから取得された構文要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって実行されるプロセスと相反であり得る。加えて、ビデオデコーダ30は、現在CUのTUと関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在CUのTUと関連付けられた変換ブロックを再構成し得る。ビデオデコーダ30は、現在CUのPUに関する予測ブロックのサンプルを、現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUのコーディングブロックを再構成し得る。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
【００５６】
マルチビューコーディングでは、異なるビューポイントから同じシーンの複数のビューが存在することがある。上記のように、アクセスユニットは、同じ時間インスタンスに対応するピクチャのセットを含む。したがって、ビデオデータは、経時的に発生する一連のアクセスユニットとして概念化されてよい。「ビュー構成要素」は、単一のアクセスユニット内のビューのコード化表示であってよい。本開示では、「ビュー」は、同じビュー識別子と関連付けられたビュー構成要素のシーケンスを指すことがある。ビュー構成要素の例示的なタイプは、テクスチャビュー構成要素と深度ビュー構成要素とを含む。
【００５７】
マルチビューコーディングは、ビュー間予測をサポートする。ビュー間予測は、HEVC内で使用されるインター予測に類似しており、同じ構文要素を使用してよい。しかしながら、ビデオコーダが、現在のビデオユニット(PUなど)上でビュー間予測を実行するとき、ビデオエンコーダ20は、現在のビデオユニットと同じアクセスユニット内にあるが異なるビュー内にあるピクチャを、参照ピクチャとして使用してよい。対照的に、従来のインター予測は、単に、異なるアクセスユニット内のピクチャを参照ピクチャとして使用する。
【００５８】
マルチビューコーディングでは、ビデオデコーダ(たとえば、ビデオデコーダ30)が、任意の他のビュー内のピクチャを参照することなくビュー内のピクチャを復号し得る場合、ビューは、「ベースビュー」と呼ばれることがある。非ベースビューのうちの1つのビュー内のピクチャをコーディングするとき、ピクチャが、異なるビュー内にあるが、ビデオコーダが現在コーディングしているピクチャと同じ時間インスタンス(すなわち、アクセスユニット)内にある場合、ビデオコーダ(ビデオエンコーダ20またはビデオデコーダ30など)は、ピクチャを参照ピクチャリスト内に追加してもよい。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置に、ビュー間予測参照ピクチャを挿入してもよい。
【００５９】
H.264/AVCとHEVCの両方においてサポートされるSEI機構は、出力ピクチャのサンプル値の正しい復号を必要としないビットストリーム内に、ビデオエンコーダ(たとえば、ビデオエンコーダ20)がそのようなメタデータを含むことを可能にするが、ピクチャ出力タイミング、表示、ならびにロスの検出および隠蔽など、様々な他の目的に使用され得る。ビデオエンコーダ20は、ピクチャのサンプル値の正しい復号を必要としないメタデータをビットストリーム内に含めるために、SEIメッセージを使用してもよい。しかしながら、ビデオデコーダ30または他のデバイスは、様々な他の目的のためにSEIメッセージ内に含まれるメタデータを使用してもよい。たとえば、ビデオデコーダ30または別のデバイスは、ピクチャ出力タイミング、ピクチャ表示、ロス検出、およびエラー隠蔽のために、SEIメッセージ内のメタデータを使用してもよい。
【００６０】
ビデオエンコーダ20は、アクセスユニット内に含めるために1つまたは複数のSEI NALユニットを生成してもよい。言い換えれば、任意の数のSEI NALユニットが、アクセスユニットと関連付けられてもよい。さらに、各SEI NALユニットは、1つまたは複数のSEIメッセージを含んでもよい。すなわち、ビデオエンコーダは、1つのアクセスユニット内に任意の数のSEI NALユニットを含むことができ、各SEI NALユニットは、1つまたは複数のSEIメッセージを含んでもよい。SEI NALユニットは、NALユニットヘッダおよびペイロードを含んでもよい。SEI NALユニットのNALユニットヘッダは、少なくとも第1の構文要素および第2の構文要素を含む。第1の構文要素は、SEI NALユニットのレイヤ識別子を指定する。第2の構文要素は、SEI NALユニットの時間識別子を指定する。
【００６１】
ネスト化SEIメッセージは、スケーラブルネスティングSEIメッセージ内に含まれるSEIメッセージを指す。非ネスト化SEIメッセージは、スケーラブルネスティングSEIメッセージ内に含まれないSEIメッセージを指す。SEI NALユニットのペイロードは、ネスト化SEIメッセージまたは非ネスト化SEIメッセージを含んでよい。
【００６２】
HEVC規格は、様々なタイプのSEIメッセージに対する構文および意味論を記述する。しかしながら、HEVC規格は、SEIメッセージの取り扱いを記載していない。なぜならば、SEIメッセージは、規範的な復号プロセスに影響を及ぼさないからである。HEVC規格においてSEIメッセージを有することの1つの理由は、補足データが、HEVCを使用する異なるシステム内で同等に解釈されることを可能にするためである。HEVCを使用する仕様およびシステムは、いくつかのSEIメッセージを生成するためにビデオエンコーダを必要とすることがあるか、または特定のタイプの受信されたSEIメッセージに対する特定の取り扱いを定義することがある。
【００６３】
下記のTable 1(表1)は、HEVCにおいて指定されたSEIメッセージを表にしており、SEIメッセージの目的を簡潔に説明している。
【００６４】
【表１Ａ】
0006701100.tif 000002
【００６５】
【表１Ｂ】
0006701100.tif 000003
【００６６】
本開示は、SEIメッセージに関する技法を紹介しており、より具体的には回復点SEIメッセージに関する技法を紹介している。回復点SEIメッセージを実装するための既存の技法は、いくつかの潜在的な欠点を有する。たとえば、レイヤのセット(layerIdList)に適用される回復点SEIメッセージを含むアクセスユニット(auA)において復号が開始するとき、layerIdListに属するレイヤ内のピクチャのピクチャ順序カウント(POC)の最上位ビット(MSB)は、0に等しいものと推測される。いくつかの状況では、POCのMSBがゼロに等しいというこの推測は、ピクチャのPOCの正しくない参照をもたらすことがある。たとえば、ビデオデコーダ30は、前のピクチャのランダムアクセスまたは喪失によって、アクセスユニットauAにおいてビットストリームの復号を開始することがある。
【００６７】
ビデオデコーダ30は、POCの最下位ビット部(すなわち、POC LSB)およびPOCの最上位ビット部(すなわち、POC MSB)である2つの構成要素に基づいてPOCを計算する。ビデオデコーダ30は、ピクチャの各スライスに対するヘッダ内のPOC LSB値を受信する一方で、POC MSBは、シグナリングされるのではなく、定義された規則のセットに基づいて推測される。たとえば、単一レイヤのビデオでは、POCの値は、ピクチャがIDRピクチャであるときに0に設定される。マルチレイヤビデオに対して、より複雑な規則のセットが実装される。AU内のピクチャタイプが同じでない(たとえば、1つのレイヤ内にIRAPピクチャはあるが、別のレイヤ内に非IRAPピクチャがある)とき、POCリセットが必要である可能性がある。POC MSBを0にリセットすることと、POC MSBとPOC LSBの両方を0にリセットすることとの、2つのタイプのPOCリセットがある。POCリセットが必要なピクチャは、POCリセッティングピクチャと呼ばれる。このピクチャに対して、スライスヘッダ拡張は、POCリセットに対してシグナリングすること(すなわち、どのタイプのリセットか、ピクチャの元のPOC MSB値、などを通告すること)を含む。この情報に基づいて、デコーダ30は、POCリセットを実行する。
【００６８】
図2および図3は、アクセスユニット0〜512を有するビットストリームの一部の例を示す。簡単のためおよび説明を容易にするために、図2および図3は、AU 0、AU 256、AU 511およびAU 512だけを示す。図2および図3においてアクセスユニットと関連付けられた番号(たとえば、0、256、511および512)は、元のビットストリーム内のアクセスユニットのPOC値を表す。図2および図3は、2つのレイヤ(LAYER 0およびLAYER 1)を示すが、図2および図3に関して説明される技法および特徴はまた、3つ以上のレイヤを有するビデオデータにも潜在的に適用可能であることを理解されたい。図2および図3の例では、AU 256は、回復点SEIメッセージを含む。加えて、図2および図3の例では、AU 511内のピクチャに対するPOCのMSBはシグナリングされないが、その代わりに、時間IDがゼロに等しい、復号順序において前のピクチャであるアンカーピクチャのPOC MSBに基づいて推測されてよい。図2および図3の例では、AU 512は、MSBリセットのみを有するPOCリセッティングAUである。
【００６９】
POCリセッティングAUは、POCリセッティングピクチャであるピクチャを有するAUである。POCリセッティングピクチャは、それのPOC値がリセットされるピクチャである。リセットには、たとえば、POC MSBを0にリセットすることと、POC MSBとPOC LSBの両方を0にリセットすることとの2つのタイプがあり得る。POCリセットは、たとえば、少なくとも1つのIRAPピクチャがAU内に存在し、AU内の残りのピクチャがIRAPでないときに発生することがある。
【００７０】
図2の元のビットストリームにおいて、AU 256は、両レイヤに適用される回復点SEIメッセージを含み、AU 512は、POCリセッティングAUである。AU 512内のピクチャは、-1のPOC差を有するAU 511内のピクチャを指す。この値(-1)は、参照ピクチャに対して差分(delta)POCとしてシグナリングされる。AU 256内のピクチャのPOC MSB値は、シグナリングされない。復号がAU 256において開始すると、デコーダ30は、AU 256内のピクチャのPOC値が0に等しくなるように導出する(なぜならば、シグナリングされるLSBは0に等しいからである)。AU 511内のピクチャのPOC値は、255に等しくなるように導出され、POCがAU 512においてリセットされた後、AU 511内のピクチャの更新されたPOCは、-257(255-512)に等しいPOC値を有する。AU 512内のピクチャが-1のPOC差を有するピクチャを指すとき、ビデオデコーダは、そのPOC値を有する参照ピクチャを発見できないことになる。なぜならば、AU 512内のピクチャのPOC値とAU 511内のピクチャのPOC値との間の差は、今や-257であるからである。このことは、ピクチャが失われたものとデコーダが結論付けることを誘発することがある。
【００７１】
本開示の第1の技法によれば、ビデオエンコーダ20は、回復点SEIメッセージが0より大きいnuh_layer_idを有する任意のレイヤに適用されるとき、回復点SEIメッセージを含むAU内のピクチャのPOCのMSB部をシグナリングしてもよい。MSBビットは、回復点SEIメッセージの中で、スライスセグメントヘッダ拡張の中で、または外部手段を介してシグナリングされてもよい。追加または代替として、回復点SEIメッセージを含むアクセスユニット内のピクチャのPOCのMSBが、どの手段によってシグナリングされるかを示すために、1つの値が回復点SEIメッセージ内でシグナリングされてもよい。追加または代替として、回復点SEIメッセージを含むアクセスユニット内のピクチャのPOCのMSBビットは、回復点SEIメッセージが適用されるレイヤに関係なくシグナリングされる。
【００７２】
本開示の別の技法によれば、(1)auAがPOCリセッティングAUである、または(2)auA内の1つまたは複数のピクチャがシグナリングされたPOC MSB(たとえば、poc_msb_val)を含む、または(3)以下の、
-  picAは、復号順序においてauB(存在するとき)、auC(存在するとき)、およびauD(存在するとき)のうちの最初のアクセスユニットに、復号順序において先行する。したがって、auB、auCおよびauDのいずれかが存在するとき、picAは、復号順序においてauAとauB、auCおよびauDとの間(すなわち、auAの後ろでかつauB、auCおよびauDの前)のアクセスユニット内に存在する。
-  picAは、復号順序においてauB(存在するとき)、auC(存在するとき)、およびauD(存在するとき)のうちの最初のアクセスユニットがauBまたはauCであるとき、それぞれauBまたはauCに属する。
-  auB、auCおよびauDがいずれも、ビットストリーム内に存在しない。
という条件のいずれかを満足するピクチャpicAが(auAに続くアクセスユニット内に)存在しない、という場合を除いて、少なくともレイヤとそれの参照レイヤとに適用される回復点SEIメッセージが、アクセスユニット(auA)内に存在することを許容されないような制約に従って、ビデオエンコーダ20はビデオデータを符号化してもよい。
【００７３】
auBが、存在するとき、復号順序においてauAに後続し、すべてのピクチャがIDRピクチャまたはBLAピクチャであるピクチャを含む最初のアクセスユニットである場合、auCは、存在するとき、復号順序においてauAに後続し、POCリセッティング期間の開始である最初のアクセスユニットであり、auDは、存在するとき、復号順序においてauAに後続し、1に等しいNoClrasOutputFlagを有するベースレイヤ内にIRAPピクチャを含む最初のアクセスユニットである。ビデオエンコーダ20は、第1のアクセスユニット(たとえば、auA)を符号化し、第1のアクセスユニットが回復点であるかどうかを決定してよい。第1のアクセスユニットが回復点であることに応答して、ビデオエンコーダ20は、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含んでよい。ビデオエンコーダ20は、SEIメッセージを有する第1のアクセスユニットを生成してよい。追加または代替として、ビデオエンコーダ20は、第1のアクセスユニットがピクチャ順序カウント(POC)リセッティングアクセスユニットであるかどうかを決定し、第1のアクセスユニットがPOCリセッティングアクセスユニットであることに応答して、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを含んでよい。追加または代替として、ビデオエンコーダ20は、第1のアクセスユニットがPOC MSBを含む1つまたは複数のピクチャを備えるかどうかを決定し、第1のアクセスユニットがPOC MSBを含む1つまたは複数のピクチャを含むことに応答して、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含んでもよい。
【００７４】
追加または代替として、ビデオエンコーダ20は、復号順序において、第2のアクセスユニット(たとえば、auB)、第3のアクセスユニット(たとえば、auC)、または第4のアクセスユニット(たとえば、auD)のうちの最初のピクチャに先行するピクチャ(たとえば、picA)が存在するかどうかを決定してよい。この例では、第2のアクセスユニットは、すべてのIDRピクチャまたはBLAピクチャを含み、第3のアクセスユニットは、復号順序において第1のアクセスユニットに後続し、POCリセッティング期間の開始である最初のアクセスユニットを備える。第4のアクセスユニットは、復号順序において第1のアクセスユニットに後続し、1に等しいNoClrasOutputFlagを有するベースレイヤ内にIRAPピクチャを含む最初のアクセスユニットである。復号順序において第2のアクセスユニット、第3のアクセスユニット、または第4のアクセスユニットのうちの最初のピクチャに先行するピクチャが存在しないものと決定することに応答して、ビデオエンコーダ20は、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含める。
【００７５】
追加または代替として、ビデオエンコーダ20は、第2のアクセスユニット(たとえば、auB)または第3のアクセスユニット(たとえば、auC)のうちの1つに属するピクチャ(たとえば、picA)が存在するかどうかを決定する。この例では、復号順序において、第2のアクセスユニットおよび第3のアクセスユニットのうちの1つが第4のアクセスユニット(たとえば、auD)に先行し、第2のアクセスユニットは、すべてのIDRピクチャまたはBLAピクチャを含む。第3のアクセスユニットは、復号順序において第1のアクセスユニットに後続し、POCリセッティング期間の開始である最初のアクセスユニットを含み、第4のアクセスユニットは、復号順序において第1のアクセスユニットに後続し、1に等しいNoClrasOutputFlagを有するベースレイヤ内にIRAPピクチャを含む最初のアクセスユニットである。復号順序において第2のアクセスユニット(たとえば、auB)、第3のアクセスユニット(たとえば、auC)、または第4のアクセスユニット(たとえば、auD)のうちの最初のピクチャに先行するピクチャ(たとえば、picA)が存在しないものと決定することに応答して、ビデオエンコーダ20は、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含める。
【００７６】
言い方を変えれば、特定のアクセスユニットauAに対して、auB内のピクチャのPOC値が、復号順序においてauBに先行するピクチャのPOC値を使用することなく導出され得るように、auBを、復号順序においてauAに続く最初のアクセスユニットとする。特定のレイヤlayerAに対して、以下の条件、
-  layerAが存在する場合、layerAの参照レイヤ内にあるauA内のすべてのピクチャは、0に等しいpoc_msb_cycle_val_present_flagとpoc_reset_idcの両方を有する。
-  後続のアクセスユニット内に1に等しいpoc_msb_cycle_val_present_flagを有する少なくとも1つのピクチャpicAがある。
-  復号順序においてauAに後続してauBに先行するアクセスユニットが、復号順序において存在する。
-  アクセスユニットauBが存在し、0に等しいnuh_layer_idを有するauB内のピクチャは、1に等しいNoClrasOutputFlagを有するIRAPピクチャでない、
のすべてが真であるとき、auAは、少なくともlayerAとlayerAのすべての参照レイヤとを備えるレイヤのセットに適用される回復点SEIメッセージを含むことを許容されない。
【００７７】
HEVC規格は、一般に、コード化ピクチャが瞬時復号リフレッシュ(IDR)ピクチャであり、一般に、各VCL NALユニットがIDR_W_RADLまたはIDR_N_LPに等しいnal_unit_typeを有するIRAPピクチャとしてIDRピクチャを定義するアクセスユニットとしてIDRアクセスユニットを定義する。HEVC仕様において説明されるように、IDRピクチャはIスライスのみを含み、復号順序においてビットストリーム内で第1のピクチャであってよく、またはビットストリーム内に後で現れてもよい。各IDRピクチャは、復号順序においてCVSの第1のピクチャである。IDRピクチャに対して、各VCL NALユニットが、IDR_W_RADLに等しいnal_unit_typeを有するとき、IDRピクチャは、関連するRADLピクチャを有してもよい。IDRピクチャに対して、各VCL NALユニットが、IDR_N_LPに等しいnal_unit_typeを有するとき、IDRピクチャは、関連する先行のピクチャを持たない。IDRピクチャは、関連するRASLピクチャを持たない。
【００７８】
HEVC規格は、一般に、コード化ピクチャがIRAPピクチャであり、各VCL NALユニットが、両端を含むBLA_W_LP〜RSV_IRAP_VCL23の範囲内にあるnal_unit_typeを有するコード化ピクチャとしてイントラランダムアクセスポイント(IRAP)ピクチャを定義するアクセスユニットとして、イントラランダムアクセスポイント(IRAP)アクセスユニットを定義する。HEVC仕様において説明されるように、IRAPピクチャはIスライスのみを含み、BLAピクチャ、CRAピクチャまたはIDRピクチャであってもよい。復号順序においてビットストリーム内の第1のピクチャは、IRAPピクチャでなければならない。必須のパラメータセットが、それらがアクティブにされる必要があるときに利用可能である場合、IRAPピクチャおよび復号順序において後続するすべての非RASLピクチャは、復号順序においてIRAPピクチャに先行するピクチャの復号プロセスを実行することなく、正しく復号され得る。IRAPピクチャでないIスライスのみを含むビットストリーム内に、ピクチャが存在することがある。
【００７９】
HEVCにおいて、現在のピクチャが、0に等しいnuh_layer_idを有するIRAPピクチャであり、NoClrasOutputFlagが1に等しいとき、現在、復号ピクチャバッファ内にあるnuh_layer_idの任意の値を有するすべての参照ピクチャは、「参照用に使用されていない」としてマークされる。NoClrasOutputFlagフラグは、クロスレイヤがクロスレイヤランダムアクセスピクチャを含むかどうかを示す。一例として、アクセスユニットは、ベースレイヤ内にIRAPを含んでよいが、他のレイヤ内に非IRAPピクチャを含んでもよい。ビデオデコーダが非ベースレイヤに対するIRAPを受信するまで、ビデオデコーダは、非ベースレイヤのピクチャを出力しない。1に設定されたフラグNoClrasOutputFlagは、クロスレイヤランダムアクセスピクチャが出力されないことを示す。
【００８０】
本開示の別の技法によれば、ビデオエンコーダ20は、現在のレイヤ内のピクチャの復号が現在のピクチャにおいて開始したとき、現在のピクチャのPOCのMSBを、同じアクセスユニット内の任意の他のピクチャのPOCのMSBに等しくなるように設定してよい。
【００８１】
代替として、現在のピクチャのPOCのMSBは、現在のピクチャのPicOrderCntが、同じアクセスユニット内の他のピクチャのPOCに等しくなるように導出される。
【００８２】
本開示の別の技法によれば、アクセスユニットがレイヤlayerAにおいてピクチャを含まないとき、アクセスユニットは、layerAに適用されるネスト化または非ネスト化回復点SEIメッセージを含まないような制約に従って、ビデオエンコーダ20は、ビデオデータを符号化してもよい。
【００８３】
本開示の別の技法によれば、poc_msb_valが、現在のアクセスユニット内でシグナリングされないが、復号順序においてアクセスユニットauAに後続し、auAに後続する最初のアクセスユニットに先行し、1に等しいNoClrasOutputFlagを有するベースレイヤ内にIRAPピクチャを含む任意のピクチャに対してシグナリングされるとき、auAが、ネスト化または非ネスト化回復点SEIメッセージを含まないような制約に従って、ビデオエンコーダ20は、ビデオデータを符号化してもよい。
【００８４】
図4は、本開示で説明する技術を実施してもよい例示的なビデオエンコーダ20を示すブロック図である。図4は説明のために提供され、広く例示されるとともに本開示で説明されるような技法の限定と見なされるべきでない。説明のために、本開示は、HEVCコーディングのコンテキストにおけるビデオエンコーダ20を説明する。ただし、本開示の技法は他のコーディング規格または方法に適用可能であり得る。
【００８５】
ビデオエンコーダ20は、本開示で説明する技法を実装してよい別の例示的なデバイスである、後処理エンティティ27にビデオを出力するように構成されてよい。後処理エンティティ27は、メディアアウェアネットワーク要素(MANE)、スプライシング/エディティングデバイス、またはビデオエンコーダ20からの符号化されたビデオデータを処理してよい別の中間デバイスなど、ビデオエンティティの一例を表すように意図されている。いくつかの例では、後処理エンティティ27は、ネットワークエンティティの一例であってよい。いくつかのビデオ符号化システムでは、後処理エンティティ27およびビデオエンコーダ20は、別々のデバイスの部分であってよいが、他の例では、後処理エンティティ27に関して説明される機能は、ビデオエンコーダ20を備える同じデバイスによって実行されてもよい。
【００８６】
ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行してもよい。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちのいずれかを指してもよい。片方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのうちのいずれかを指してもよい。
【００８７】
図4の例では、ビデオエンコーダ20は、ビデオデータメモリ33と、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、復号ピクチャバッファ(DPB)64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すことを意図している。フィルタユニット63は、ループフィルタであるように図4に示されているが、他の構成では、フィルタユニット63は、ポストループフィルタとして実装されてもよい。
【００８８】
図4に示すように、ビデオエンコーダ20はビデオデータを受信し、受信されたビデオデータをビデオデータメモリ33内に記憶する。ビデオデータメモリ33は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶してもよい。ビデオデータメモリ33に記憶されるビデオデータは、たとえば、ビデオソース18から取得されてもよい。DPB64は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ33およびDPB64は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM（登録商標）)、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ33およびDPB66は、同じメモリデバイスまたは別個のメモリデバイスによって備えられてよい。様々な例では、ビデオデータメモリ33は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
【００８９】
図4に示すように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット35はビデオデータメモリ33からビデオデータを取り出して、ビデオデータをビデオブロックに区分する。この区分はまた、スライス、タイル、または他のより大きい単位への区分、ならびに、たとえば、LCUおよびCUの4分木構造によるビデオブロック区分を含んでもよい。ビデオエンコーダ20は、全体的に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、あるいは、タイルと呼ばれるビデオブロックのセットに)分割されてもよい。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよび歪のレベル)に基づいて、現在のビデオブロックのための、複数のイントラコーディングモードのうちの1つまたは複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択してもよい。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、および、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に、得られたイントラまたはインターコード化ブロックを提供してもよい。
【００９０】
予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行してもよい。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を提供するために、1つまたは複数の参照ピクチャ内の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
【００９１】
動き推定ユニット42は、ビデオシーケンスのための所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成されてもよい。所定のパターンは、PスライスまたはBスライスとしてシーケンス内のビデオスライスを指定してもよい。動き推定ユニット42および動き補償ユニット44は、高度に統合されてもよいが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示してもよい。
【００９２】
予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定されてもよいピクセル差の観点で、コーディングされるべきビデオブロックのPUと密接に一致することが見出されたブロックである。いくつかの例では、ビデオエンコーダ20は、DPB64内に記憶された参照ピクチャのサブ整数ピクセル位置のための値を計算してもよい。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置の値、8分の1ピクセル位置の値、または他の分数ピクセル位置の値を補間してもよい。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力してもよい。
【００９３】
動き推定ユニット42は、参照ピクチャの予測ブロックの位置とPUの位置とを比較することによって、インターコード化スライス内のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、その各々がDPB64内に記憶された1つまたは複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてもよい。動き推定ユニット42は、エントロピー符号化ユニット56および動き補償ユニット44に計算された動きベクトルを送信する。
【００９４】
動き補償ユニット44によって実行される動き補償は、あるいはサブピクセル精度で補間を行う動き推定によって決定された動きベクトルに基づいて、予測ブロックを取得または生成することを伴ってもよい。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定してもよい。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセルピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックのための残差データを形成し、輝度差成分と彩度差成分の両方を含んでもよい。加算器50は、この減算演算を実行する1つまたは複数の成分を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられた構文要素を生成してもよい。
【００９５】
イントラ予測処理ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測してもよい。具体的には、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別々の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化してもよく、イントラ予測処理ユニット46(または、いくつかの例ではモード選択ユニット40)は、試験されたモードから使用する適切なイントラ予測モードを選択してもよい。たとえば、イントラ予測処理ユニット46は、様々な試験されたイントラ予測モードに対してレート-歪み分析を使用してレート-歪み値を計算し、試験されたモードの中から最良のレート-歪み特性を有するイントラ予測モードを選択してもよい。レート-歪み分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の非符号化ブロックとの間の歪(またはエラー)、ならびに、符号化ブロックを生成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックのための最良のレート-歪み値を示すのかを決定するために、様々な符号化ブロックに関する歪みおよびレートから比を計算してもよい。
【００９６】
いずれの場合でも、ブロックのためのイントラ予測処理モードを選択した後、イントラ予測ユニット46は、エントロピー符号化ユニット56にブロックのための選択されたイントラ予測モードを示す情報を提供してもよい。エントロピー符号化ユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化してもよい。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含んでもよい、送信されたビットストリーム構成データ内に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最もあり得るイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、変更されたイントラ予測モードインデックステーブルとを含んでもよい。
【００９７】
予測処理ユニット41が、インター予測またはイントラ予測のいずれかによって現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTU内に含まれ、変換処理ユニット52に適用されてもよい。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換してもよい。
【００９８】
変換処理ユニット52は、結果として生じた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減してもよい。量子化の程度は、量子化パラメータを調整することによって変更されてもよい。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行してもよい。代替的には、エントロピー符号化ユニット56は、走査を実行してもよい。
【００９９】
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応2値算術コーディング(CABAC)、構文ベースコンテキスト適応2値算術コーディング(SBAC)、確率インターバル区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技術を実行してもよい。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化ビットストリームは、ビデオデコーダ30に送信されてもよく、または、ビデオデコーダ30による後の送信または検索のためにアーカイブされてもよい。エントロピー符号化ユニット56は、コーディングされている現在のビデオスライスに関する動きベクトルおよび他の構文要素を符号化してもよい。
【０１００】
逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後に使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算してもよい。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用してもよい。加算器62は、DPB64内に記憶するための参照ブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構成された残差ブロックを加算する。参照ブロックは、後続のビデオフレームまたはピクチャ内のブロックをインター予測するために、参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用されてもよい。
【０１０１】
本開示の態様によれば、ビデオエンコーダ20は、マルチレイヤコーデックに対するSEIメッセージを含む、上記で説明したSEIメッセージと関連付けられた構文要素など、いくつかの構文要素を生成するように構成されてもよい。たとえば、ビデオエンコーダ20は、本開示で説明する技法に従って構文要素を生成するように構成されてもよい。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化ユニット56またはデータを符号化し、符号化されたビットストリームを生成する役目を果たす別のユニットを使用して、そのような構文要素を符号化してもよい。さらに、図4のポスト処理エンティティ27は、マルチレイヤコーデックに対するSEIメッセージを含む、SEIメッセージに関して本開示で説明する技法のうちのいくつかを実装してもよい別の例示的なデバイスである。
【０１０２】
ビデオエンコーダ20は、第1のアクセスユニットがPOCリセッティングアクセスユニットであるかどうかを決定し、第1のアクセスユニットがPOCリセッティングアクセスユニットであることに応答して、さらに、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを第1のアクセスユニットの中に含むようにさらに構成されてもよい。ビデオエンコーダ20は、第1のアクセスユニットがPOC MSB値を決定するための情報を含む1つまたは複数のピクチャを備えるかどうかを決定し、第1のアクセスユニットがPOC MSB値を含む1つまたは複数のピクチャを備えることに応答して、さらに、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含めるようにさらに構成されてもよい。
【０１０３】
ビデオエンコーダ20は、第2のアクセスユニット、第3のアクセスユニットおよび第4のアクセスユニットのうちの最初のアクセスユニットに復号順序において先行する第1のアクセスユニットに、復号順序において後続するアクセスユニット内にピクチャが存在するかどうかを決定することであって、第2のアクセスユニットがすべてのIDRピクチャまたはBLAピクチャを含み、第3のアクセスユニットがPOCリセッティング期間の開始であり、第4のアクセスユニットがベースレイヤ内のIRAPピクチャおよび少なくとも1つの非出力クロスレイヤランダムアクセスピクチャを含む、決定することと、第2のアクセスユニット、第3のアクセスユニットおよび第4のアクセスユニットのうちの最初のアクセスユニットに復号順序において先行する後続のアクセスユニット内にピクチャが存在しないものと決定することに応答して、さらに、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含めることとを行うようにさらに構成されてもよい。
【０１０４】
ビデオエンコーダ20は、第2のアクセスユニットまたは第3のアクセスユニットのうちの1つに属するピクチャが存在するかどうかを決定することであって、第2のアクセスユニットおよび第3のアクセスユニットのうちの1つが復号順序において第4のアクセスユニットに先行し、第2のアクセスユニットが、復号順序において第1のアクセスユニットに後続してすべてのIDRピクチャまたはBLAピクチャを含む最初のアクセスユニットであり、第3のアクセスユニットが、復号順序において第1のアクセスユニットに後続してPOCリセッティング期間の開始である最初のアクセスユニットであり、第4のアクセスユニットが、復号順序において第1のアクセスユニットに後続してベースレイヤ内のIRAPピクチャおよび少なくとも1つの非出力クロスレイヤランダムアクセスピクチャを含む最初のアクセスユニットである、決定することを行うようにさらに構成されてよく、少なくともレイヤとそのレイヤの参照レイヤとに適用される回復点SEIメッセージを第1のアクセスユニット内に含めることがさらに、第2のアクセスユニットまたは第3のアクセスユニットのうちの1つに属するピクチャが存在しないものと決定することに応答する。
【０１０５】
図5は、本開示に記載の技法を実装してもよい例示的なビデオデコーダ30を示すブロック図である。図5は説明のために提供され、広く例示されるとともに本開示で説明されるような技法の限定でない。説明のために、本開示は、HEVCコーディングのコンテキストにおけるビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１０６】
図5の例では、ビデオデコーダ30は、ビデオデータメモリ79と、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化処理ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、復号ピクチャバッファ(DPB)92とを含む。予測処理ユニット81は、動き補償ユニット82とイントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図4からのビデオエンコーダ20に関連して説明した符号化パスと全体的に相互的な復号パスを実行してもよい。
【０１０７】
復号プロセスの間、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連する構文要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30は、ネットワークエンティティ78から符号化ビデオビットストリームを受信してもよい。たとえば、ネットワークエンティティ78は、上記で説明した技法のうちの1つまたは複数を実装するように構成されたサーバ、MANE、ビデオエディタ/スライサ、または他のそのようなデバイスであってよい。ネットワークエンティティ78は、ビデオエンコーダ20のようなビデオエンコーダを含んでもよく、含まなくてもよい。本開示で説明する技法のうちのいくつかは、ネットワークエンティティ78が符号化ビデオビットストリームをビデオデコーダ30に送信する前に、ネットワークエンティティ78によって実装されてもよい。いくつかのビデオ復号システムでは、ネットワークエンティティ78およびビデオデコーダ30は、別々のデバイスの部分であってよいが、他の例では、ネットワークエンティティ78に関して説明される機能は、ビデオデコーダ30を備える同じデバイスによって実行されてもよい。
【０１０８】
復号プロセスの間、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連する構文要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30は、受信された符号化ビデオビットストリームをビデオデータメモリ79内に記憶する。ビデオデータメモリ79は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶してもよい。ビデオデータメモリ79に記憶されたビデオデータは、たとえば、記憶デバイス26から、またはカメラなどのローカルビデオソースから、または物理的データ記憶媒体にアクセスすることによって、リンク16を介して取得されてよい。ビデオデータメモリ79は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成してもよい。DPB93は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ79およびDPB92は、DRAM、SDRAM、MRAM、RRAM（登録商標）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。ビデオデータメモリ79およびDPB92は、同じメモリデバイスまたは別個のメモリデバイスによって備えられてよい。様々な例では、ビデオデータメモリ79は、ビデオデコーダ30の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
【０１０９】
ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他の構文要素とを生成するために、ビデオデータメモリ79に記憶されたビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測処理ユニット81に動きベクトルと他の構文要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいて構文要素を受信してもよい。
【０１１０】
ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、合図されたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成してもよい。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとしてコーディングされたとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信した動きベクトルと他の構文要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成されてもよい。ビデオデコーダ30は、DPB92内に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、リスト0およびリスト1を構成してもよい。
【０１１１】
動き補償ユニット82は、動きベクトルと他の構文要素とを構文解析することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライスのための1つまたは複数の参照ピクチャリストのための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコーディングビデオブロックのためのインター予測状態と、現在のビデオスライス内のビデオブロックを復号するための他の情報とを決定するために、受信した構文要素のうちのいくつかを使用する。
【０１１２】
動き補償ユニット82はまた、補間フィルタに基づいて補間を実行してもよい。動き補償ユニット82は、参照ブロックのサブ整数ピクセルに関する補間値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるように補間フィルタを使用してもよい。この場合には、動き補償ユニット82は、受信した構文要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用してもよい。
【０１１３】
逆量子化ユニット86は、ビットストリーム内で提供され、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化する(inverse quantize)、すなわち逆量子化する(de-quantize)。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス内の各ビデオブロックのための、ビデオエンコーダ20によって計算された量子化パラメータの使用を含んでもよい。逆変換処理ユニット88は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを適用する。
【０１１４】
動き補償ユニット82が、動きベクトルと他の構文要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の成分を表す。必要に応じて、(コーディングループ内またはコーディングループ後のいずれかの)ループフィルタもまた、ピクセル遷移を平滑化するため、またはさもなければビデオ品質を改善するために使用されてよい。
【０１１５】
フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すことを意図している。フィルタユニット91は、ループフィルタであるように図5に示されているが、他の構成では、フィルタユニット91は、ポストループフィルタとして実装されてもよい。次いで、所与のフレームまたはピクチャ中の復号ビデオブロックは、DPB92内に記憶され、DPB92は、後続の動き補償のために使用される参照ピクチャを記憶する。DPB92はまた、図1の表示デバイス31などの表示デバイス上で後に提示するための復号ビデオを記憶する。
【０１１６】
本開示の態様によれば、ビデオデコーダ30は、マルチレイヤコーデックに対するSEIメッセージを含む、上記で説明したSEIメッセージと関連付けられた構文要素など、いくつかの構文要素を構文解析して復号するように構成されてもよい。いくつかの例では、ビデオデコーダ30は、エントロピー復号ユニット80または符号化されたビットストリームからデータを復号する役目を果たす別のユニットを使用して、そのような構文要素を復号してもよい。さらに、図5のネットワークエンティティ78(メディアアウェアネットワーク要素であってよい)は、マルチレイヤコーデックに対するSEIメッセージを含む、SEIメッセージに関して本開示で説明する技法を実装してもよい別の例示的なデバイスである。
【０１１７】
図6は、カプセル化ユニット21をより詳細に示すブロック図である。図6の例では、カプセル化ユニット21は、ビデオ入力インターフェース100と、オーディオ入力インターフェース102と、ビデオファイル作成ユニット104と、ビデオファイル出力インターフェース106とを含む。本例では、ビデオファイル作成ユニット104は、SEIメッセージ生成ユニット108と、ビュー識別子(ID)割り当てユニット110と、表示生成ユニット112と、動作点生成ユニット114とを含む。
【０１１８】
ビデオ入力インターフェース100およびオーディオ入力インターフェース102は、それぞれ、符号化ビデオおよびオーディオデータを受信する。図1の例に示していないが、ソースデバイス12はまた、それぞれ、オーディオデータを生成してオーディオデータを符号化するためのオーディオソースおよびオーディオエンコーダを含んでよい。次いで、カプセル化ユニット21は、ビデオファイルを形成するために符号化オーディオデータおよび符号化ビデオデータをカプセル化してよい。ビデオ入力インターフェース100およびオーディオ入力インターフェース102は、データが符号化されるときに符号化されたビデオデータおよびオーディオデータを受信してよく、またはコンピュータ可読媒体から符号化されたビデオデータおよびオーディオデータを取り出してもよい。符号化されたビデオデータおよびオーディオデータを受信すると、ビデオ入力インターフェース100およびオーディオ入力インターフェース102は、ビデオファイル内に収集するために符号化されたビデオデータおよびオーディオデータをビデオファイル生成ユニット104に送る。
【０１１９】
ビデオファイル生成ユニット104は、機能を実行するように構成されたハードウェア、ソフトウェア、および/またはファームウェアと、これらに属するプロシージャとを含む制御ユニットに対応してもよい。さらに、制御ユニットは、一般にカプセル化ユニット21に属する機能を実行してもよい。たとえば、ビデオファイル生成ユニット104が、ソフトウェアおよび/またはファームウェア内に埋め込まれる場合、カプセル化ユニット21は、ビデオファイル生成ユニット104に対する命令を含むコンピュータ可読媒体と、その命令を実行するための処理ユニットとを含んでよい。ビデオファイル生成ユニット104のサブユニット(本例では、SEIメッセージ生成ユニット108、ビューID割り当てユニット110、表示生成ユニット112、および動作点生成ユニット114)の各々は、個別のハードウェアユニットおよび/またはソフトウェアモジュールとして実装されてよく、機能的に統合されてよく、または追加のサブユニットにさらに分離されてもよい。
【０１２０】
ビデオファイル生成ユニット104は、たとえば、1つまたは複数のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、またはそれらの組合せなど、任意の適切な処理ユニットまたは処理回路に対応してもよい。ビデオファイル生成ユニット104は、SEIメッセージ生成ユニット108、ビューID割り当てユニット110、表示生成ユニット112、および動作点生成ユニット114のうちのいずれかまたはすべてに対する命令を記憶する非一時的コンピュータ可読媒体、ならびにその命令を実行するためのプロセッサをさらに含んでよい。
【０１２１】
概して、ビデオファイル生成ユニット104は、受信されたオーディオデータおよびビデオデータを含む1つまたは複数のビデオファイルを生成してよい。ビデオファイル生成ユニット104は、2つ以上のビューを含むマルチメディアコンテンツに対するメディアメディアプレゼンテーション記述(MPD)を構築してもよい。他の例では、ビデオファイル生成ユニット104は、マルチメディアコンテンツに対するMPDのデータに類似するマニフェスト記憶データを生成してもよい。
【０１２２】
SEIメッセージ生成ユニット108は、SEIメッセージを生成するユニットを表してよい。SEIメッセージ生成ユニット108は、本開示で説明する技法に従って、マルチレイヤコーデックに対するSEIメッセージを含む、上記で説明したSEIメッセージと関連付けられた構文要素など、いくつかの構文要素を生成するように構成されてもよい。
【０１２３】
ビューID割り当てユニット110は、マルチメディアコンテンツのビューの各々にビュー識別子を割り当ててもよい。表示生成ユニット112は、マルチメディアコンテンツに対する1つまたは複数の表示を構築してよく、表示の各々は、マルチメディアコンテンツに対するビューのうちの1つまたは複数を含んでよい。いくつかの例では、ビューID割り当てユニット110は、MPD内のデータおよび/または表示の中に含まれるビューに対する最大および最小のビュー識別子を示す表示(たとえば、表示に対するヘッダデータ)を含んでよい。加えて、表示生成ユニット112は、より大きいビューIDが、より小さいビューIDを有するビューに対するカメラ視野の右方のカメラ視野を有するビューに対応するのか、または左方のカメラ視野を有するビューに対応するのかを示すMPD内の情報を提供してもよい。
【０１２４】
いくつかの例では、同じレイヤが、異なるフレームレート、異なるビットレート、異なる符号化方式、または他の差異など、様々な符号化特性を使用して符号化されてもよい。表示生成ユニット112は、共通の表示内に含まれる各レイヤが、同じ符号化特性に従って符号化されることを確実にしてよい。このようにして、表示に対するMPDおよび/またはヘッダデータは、表示内のすべてのレイヤに適用される表示に対する特性(または属性)のセットをシグナリングしてもよい。その上、表示生成ユニット112は、同じレイヤを含むが、潜在的に異なる符号化特性を有する複数の表示を生成してもよい。いくつかの例では、表示生成ユニット112は、マルチメディアコンテンツの各レイヤを個別の表示内にカプセル化してもよい。そのような例では、2つ以上のレイヤを出力するために、宛先デバイス14は、マルチメディアコンテンツの2つ以上の表示を要求してもよい。
【０１２５】
動作点生成ユニット114は、マルチメディアコンテンツの1つまたは複数の表示に対する動作点を生成してもよい。概して、動作点は、出力をターゲットとされる表示内のビューのサブセットに対応し、ここにおいて、ビューの各々は、共通の時間レベルを共有する。一例として、動作点は、ターゲット時間レベルを表すtemporal_id値と、ターゲット出力ビューを表すview_id値のセットとによって識別されてよい。1つの動作点は、ビットストリームサブセットと関連付けられてよく、ビットストリームサブセットは、ターゲット出力ビューと、ターゲット出力ビューが依存するすべての他のビューとから成る。
【０１２６】
ビデオファイル出力インターフェース106は、生成されたビデオファイルを出力してよい。たとえば、ビデオファイル出力インターフェース106は、図1に関して上記で説明したように、生成されたビデオファイルを出力インターフェース22に供給するように構成されてよい。
【０１２７】
図6の技法は、例としてカプセル化ユニット21を用いて説明されたが、同様の技法が、カプセル化解除ユニット29(図1)、ビデオエンコーダ20、またはビデオデコーダ30など、他のビデオ処理ユニットによって実行されてもよいことを理解されたい。たとえば、カプセル化解除ユニット29は、マルチレイヤビットストリームを受信し、マルチレイヤビットストリームから上述の構文を構文解析/復号するように構成されてよい。
【０１２８】
図7は、ネットワーク120の一部を形成するデバイスの例示的なセットを示すブロック図である。この例では、ネットワーク120は、ルーティングデバイス124A、124B(ルーティングデバイス124)およびトランスコーディングデバイス126を含む。ルーティングデバイス124およびトランスコーディングデバイス126は、ネットワーク120の一部を形成してよい少数のデバイスを表すことが意図される。スイッチ、ハブ、ゲートウェイ、ファイヤウォール、ブリッジ、および他のそのようなデバイスのような、他のネットワークデバイスも、ネットワーク120内に含まれ得る。その上、追加のネットワークデバイスが、サーバデバイス122とクライアントデバイス128との間のネットワーク経路に沿って設けられ得る。いくつかの例では、サーバデバイス122がソースデバイス12(図1)に対応してよく、一方で、クライアントデバイス128が宛先デバイス14(図1)に対応してよい。
【０１２９】
一般に、ルーティングデバイス124は、1つまたは複数のルーティングプロトコルを実装して、ネットワーク120を通じてネットワークデータを交換することができる。いくつかの例では、ルーティングデバイス124は、プロキシ動作またはキャッシュ動作を実行するように構成されてもよい。したがって、いくつかの例では、ルーティングデバイス124は、プロキシデバイスと呼ばれることがある。一般に、ルーティングデバイス124はルーティングプロトコルを実行して、ネットワーク120を通るルートを発見する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス124Bは、ルーティングデバイス124Aを介した、ルーティングデバイス124Bからサーバデバイス122へのネットワークルートを発見することができる。ルーティングデバイス124のうちの1つまたは複数は、本開示の1つまたは複数の態様を使用するMANEを含んでよい。
【０１３０】
本開示の技法は、ルーティングデバイス124およびトランスコーディングデバイス126などのネットワークデバイスによって実装されてよいが、同じく、クライアントデバイス128によって実装されてもよい。このようにして、ルーティングデバイス124、トランスコーディングデバイス126、およびクライアントデバイス128は、本開示の技法を実行するように構成されたデバイスの例を表す。その上、図1のデバイス、ならびに図4に示すエンコーダ20および図5に示すデコーダ30は、同じく、本開示の技法を実行するように構成され得る例示的なデバイスである。
【０１３１】
ビデオエンコーダ20、ビデオデコーダ30、カプセル化ユニット21、およびカプセル化解除ユニット29が、上記で紹介された技法をどのように実装し得るかの態様が、次により詳細に説明される。以下の例は、上記で紹介されたいくつかの技法の実装形態を説明する。
【０１３２】
例示的な一実装形態では、ピクチャのPOC MSB値が、回復点SEIメッセージを含むアクセスユニット内でシグナリングされる。TABLE 2(表2)は、本開示の技法による回復点SEI構文の一例を示す。
【０１３３】
【表２】
0006701100.tif 000004
【０１３４】
既存の実装形態に対する回復点SEIメッセージへの変更が、次のように説明される。回復点SEIメッセージは、デコーダがランダムアクセスもしくはレイヤアップスイッチングを開始した後、またはエンコーダがリンク切れを示した後、復号プロセスが、表示のために現在のレイヤ内に許容できるピクチャをいつ作成するかを決定することにおいて、デコーダを支援する。
【０１３５】
復号順序において現在のアクセスユニットに先行するアクセスユニット内のすべての復号ピクチャが、ビットストリームから除去されると、回復点ピクチャ(以下で定義される)および現在のレイヤ内の出力順序におけるすべての後続のピクチャは、正しくまたはほぼ正しく復号され得、現在のピクチャは、レイヤランダムアクセシングピクチャと呼ばれる。現在のレイヤの参照レイヤに属し、復号順序において現在のピクチャまたは後続のピクチャによって参照用に使用されてよいすべてのピクチャが、正しく復号されるとき、ならびに回復点ピクチャおよび現在のレイヤ内の出力順序において後続するすべてのピクチャが、現在のレイヤ内の復号順序において現在のピクチャより前のピクチャがビットストリーム内に存在しないときに正しくまたはほぼ正しく復号され得るとき、現在のピクチャは、レイヤアップスイッチングピクチャと呼ばれる。
【０１３６】
回復点SEIメッセージが、現在のレイヤと現在のレイヤのすべての参照レイヤとに適用されるとき、現在のピクチャは、レイヤランダムアクセシングピクチャとして示される。回復点SEIメッセージが、現在のレイヤに適用されるが、現在のレイヤのすべての参照レイヤに適用されるとは限らないとき、現在のピクチャは、レイヤアップスイッチングピクチャとして示される。
【０１３７】
現在のアクセスユニットにおいてまたはその前にランダムアクセスまたはレイヤアップスイッチングによって作成された現在のレイヤ内の復号ピクチャは、示された回復点まではコンテンツが正確である必要はなく、現在のピクチャにおいて開始する現在のレイヤ内のピクチャに対する復号プロセスの動作は、復号ピクチャバッファ内で利用不可能なピクチャに対する参照を含んでもよい。
【０１３８】
加えて、broken_link_flagの使用によって、回復点SEIメッセージは、すべてのレイヤ内にIRAPピクチャを含んだ復号順序において前のTRAPアクセスユニットのロケーションにおいて復号プロセスが開始されたときでさえ、表示されると重大なビジュアルアーティファクトをもたらし得る、ビットストリーム内の現在のレイヤ内のいくつかのピクチャのロケーションを、デコーダに示すことができる。
注1-  broken_link_flagは、あるポイントのロケーションを示すためにエンコーダによって使用され得、そのポイントの後で、現在のレイヤ内のいくつかのピクチャの復号のための復号プロセスが、復号プロセスにおける使用に利用可能ではあるが、(たとえば、ビットストリームを生成する間に実行されるスプライシング動作によって)ビットストリームが当初符号化されたときに参照のために使用されたピクチャでないピクチャに対する参照を生じることがある。
【０１３９】
現在のピクチャが、レイヤランダムアクセス-アクセシングピクチャであり、ランダムアクセスが復号を現在のアクセスユニットから開始するように実行されるとき、デコーダは、現在のアクセスユニットが復号順序においてビットストリーム内の第1のアクセスユニットであるかのように動作し、以下のことが適用される。
-  poc_msb_sei_valが存在しない場合、アクセスユニット内の各ピクチャに対してPicOrderCntValの導出に使用される変数PrevPicOrderCnt[nuh_layer_id]は、0に等しく設定される。
-  さもなければ(poc_msb_sei_valが存在する)、現在のピクチャのPicOrderCntは、あたかもpoc_msb_valが存在し、poc_msb_sei_valに等しいかのように導出され、現在のアクセスユニット内の他のピクチャの各々のPicOrderCntが、同じく、あたかもpoc_msb_valが存在し、poc_msb_sei_valに等しいかのように導出される。
【０１４０】
現在のピクチャが、レイヤランダムアクセシングピクチャまたはレイヤアップスイッチングピクチャのいずれかであり、レイヤアップスイッチングが、現在のレイヤの復号を現在のアクセスから開始するように実行される(一方、現在のレイヤの参照レイヤの復号は前に開始しており、現在のアクセスユニット内のそれらのレイヤのピクチャは正確に復号される)とき、デコーダは、現在のピクチャが、復号順序においてビットストリーム内の現在のレイヤの第1のピクチャであるかのように動作し、現在のピクチャのPicOrderCntValは、現在のアクセスユニット内の任意の他の復号ピクチャのPicOrderCntValに等しく設定される。
注2-  仮想参照デコーダ(HRD:hypothetical reference decoder)情報が、ビットストリーム内に存在するとき、バッファリング期間SEIメッセージは、ランダムアクセスの後にHRDバッファモデルの初期化を達成するために、回復点SEIメッセージと関連付けられたアクセスユニットと関連付けられなければならない。
【０１４１】
回復点SEIメッセージを含むアクセスユニットのピクチャによって、または復号順序において後続するアクセスユニット内の任意のピクチャによって参照される任意のSPS RBSPまたはPPS RBSPは、復号プロセスがビットストリームの始端において、または復号順序において回復点SEIメッセージを含むアクセスユニットから、開始されるか否かにかかわらず、SPS RBSPまたはPPS RBSPのアクティブ化の前に復号プロセスに対して利用可能である。
【０１４２】
構文要素recovery_poc_cntは、出力順序において現在のレイヤ内の復号ピクチャの回復点を指定する。ピクチャpicBが現在のレイヤ内に存在し、現在のレイヤは、現在のピクチャpicAに後続するが復号順序において現在のレイヤ内のIRAPピクチャを含むアクセスユニットに先行し、PicOrderCnt(picB)がPicOrderCnt(picA)とrecovery_poc_cntの値との和に等しく、ここで、PicOrderCnt(picA)およびPicOrderCnt(picB)はそれぞれ、picBに対するピクチャ順序カウントに対する復号プロセスの起動の直後の、picAおよびpicBのPicOrderCntVal値である場合、ピクチャpicBは、回復点ピクチャと呼ばれる。さもなければ、PicOrderCnt(picC)がPicOrderCnt(picA)とrecovery_poc_cntの値との和より大きい出力順序において現在のレイヤ内の第1のピクチャpicCは、回復点ピクチャと呼ばれ、ここで、PicOrderCnt(picA)およびPicOrderCnt(picC)はそれぞれ、picCに対するピクチャ順序カウントに対する復号プロセスの起動の直後の、picAおよびpicCのPicOrderCntVal値である。回復点ピクチャは、復号順序において現在のピクチャに先行しない。出力順序において現在のレイヤ内のすべての復号ピクチャは、回復点ピクチャの出力順序位置において開始するコンテンツが正しいかまたはほぼ正しいことが示される。recovery_poc_cntの値は、両端値を含む-MaxPicOrderCntLsb/2〜MaxPicOrderCntLsb/2-1の範囲内にある。
【０１４３】
構文要素exact_match_flagは、回復点SEIメッセージを含むアクセスユニットにおいて復号プロセスを開始することによって導出される出力順序において指定される回復点における、およびそれに後続する現在のレイヤ内の復号ピクチャが、現在のレイヤ内のレイヤのピクチャおよびすべての直接的および間接的参照レイヤのピクチャは、存在する場合、ビットストリーム内のIRAPピクチャである前のアクセスユニットのロケーションにおいて復号プロセスを開始することによって作成される現在のレイヤ内のピクチャに正確に適合することになるかどうかを示す。値0は、適合は正確ではないことを示し、値1は、適合が正確になることを示す。exact_match_flagが1に等しいとき、回復点SEIメッセージを含むアクセスユニットにおいて復号プロセスを開始することによって導出される出力順序において指定される回復点における、およびそれに後続する現在のレイヤ内の復号ピクチャが、現在のレイヤ内のレイヤのピクチャおよびすべての直接的および間接的参照レイヤのピクチャが、存在する場合、ビットストリーム内のIRAPピクチャである前のアクセスユニットのロケーションにおいて復号プロセスを開始することによって作成される現在のレイヤ内のピクチャに正確に適合することが、ビットストリーム適合の要件である。
注3-  ランダムアクセスを実行するとき、デコーダは、exact_match_flagの値にかかわらず、利用不可能なピクチャに対するすべての参照を、イントラコーディングブロックのみを含み、(1<<(BitDepthY-1))に等しいY、(1<<(BitDepthC-1))(mid-levelグレー)にともに等しいCbおよびCrによって与えられるサンプル値を有するピクチャへの参照として推測すべきである。
【０１４４】
exact_match_flagが0に等しいとき、回復点における近似の品質が、符号化プロセスによって選択され、指定されない。
【０１４５】
構文要素broken_link_flagは、回復点SEIメッセージのロケーションにおける現在のレイヤ内のレイヤ内のリンク切れの存在または不在を示し、以下ようにさらなる意味論を割り当てられる。
-  broken_link_flagが1に等しい場合、現在のレイヤ内のレイヤのピクチャおよびすべての直接的および間接的参照レイヤのピクチャがIRAPピクチャである前のアクセスユニットのロケーションにおいて復号プロセスを開始することによって作成された現在のレイヤ内のピクチャは、復号順序において回復点SEIメッセージを含むアクセスユニットにおけるおよびそれに後続する現在のレイヤ内の復号ピクチャが、出力順序において指定された回復点まで表示されるべきでない程度の望ましくないビジュアルアーティファクトを含むことがある。
-  さもなければ(broken_link_flagは0に等しい)、ビジュアルアーティファクトの潜在的な存在に関する指示は与えられない。
【０１４６】
現在のピクチャがBLAピクチャであるとき、broken_link_flagの値は1に等しい。
【０１４７】
broken_link_flagの値にかかわらず、出力順序において指定された回復点に後続する現在のレイヤ内のピクチャは、コンテンツが正しく、またはほぼ正しくなるように指定される。
【０１４８】
構文要素poc_msb_sei_valは、現在のアクセスユニット内のピクチャのピクチャ順序カウント値の最上位ビットの値を示す。poc_msb_sei_valの値は、両端値を含む0〜232-log2_max_pic_order_cnt_lsb_minus4-4の範囲内にある。存在しないとき、poc_msb_sei_valの値は、0に等しいものと推測される。
【０１４９】
別の例示的な実装形態では、POC MSB値は、SEIメッセージ内でシグナリングされないが、SEIメッセージが適用されるレイヤ内のピクチャに対してPOC MSBがシグナリングされず、アクセスユニットにおいて開始するピクチャの復号プロセスが正しくない参照ピクチャまたは正しくないPOCのデクリメントにつながる可能性があるアクセスユニット内に、回復点SEIメッセージが存在することが許容されないように、1つまたは複数の制約が追加されてもよい。
【０１５０】
回復点SEIメッセージの意味論に追加される制約は、以下で与えられる。
特定のアクセスユニットauAおよび特定のレイヤlayerAに対して、以下の条件が両方とも真であるとき、auAは、少なくともlayerAとlayerAのすべての参照レイヤとを含むレイヤのセットに適用される回復点SEIメッセージを含まず、ここでauBは、存在するとき、復号順序においてauAに後続し、すべてのピクチャがIDRピクチャまたはBLAピクチャであるピクチャを含む最初のアクセスユニットであり、auCは、存在するとき、復号順序においてauAに後続し、POCリセッティング期間の開始である最初のアクセスユニットであり、auDは、存在するとき、復号順序においてauAに後続し、1に等しいNoClrasOutputFlagを有するベースレイヤ内のIRAPピクチャを含む最初のアクセスユニットであり、
-  layerAが存在する場合、layerAの参照レイヤ内にあるauA内のすべてのピクチャは、0に等しいpoc_msb_val_present_flagとpoc_reset_idcの両方を有する。
-  復号順序においてauAに後続する、1に等しいpoc_msb_val_present_flagを有する少なくとも1つのピクチャpicAが存在し、以下の条件のうちの1つが真である。
-  picAが、復号順序においてauB(存在するとき)、auC(存在するとき)、およびauD(存在するとき)のうちの最初のアクセスユニットに、復号順序において先行する。
-  picAが、復号順序においてauB(存在するとき)、auC(存在するとき)、およびauD(存在するとき)のうちの最初のアクセスユニットがauBまたはauCであるとき、それぞれauBまたはauCに属する。
-  auB、auCおよびauDがいずれも、ビットストリーム内に存在しない。
【０１５１】
一例では、以下の、
現在のピクチャが、レイヤランダムアクセス-アクセシングピクチャであり、ランダムアクセスが復号を現在のアクセスユニットから開始するように実行されるとき、デコーダは、現在のアクセスユニットが復号順序においてビットストリーム内の第1のアクセスユニットであるかのように動作し、以下のことが適用される。
-  poc_msb_sei_valが存在しない場合、アクセスユニット内の各ピクチャに対してPicOrderCntValの導出に使用される変数PrevPicOrderCnt[nuh_layer_id]は、0に等しく設定される。
-  さもなければ(poc_msb_sei_valが存在する)、現在のピクチャのPicOrderCntは、あたかもpoc_msb_valが存在し、poc_msb_sei_valに等しいかのように導出され、現在のアクセスユニット内の他のピクチャの各々のPicOrderCntが、同じく、あたかもpoc_msb_valが存在し、poc_msb_sei_valに等しいかのように導出される。
という段落は、
現在のピクチャが、レイヤランダム-アクセシングピクチャであり、ランダムアクセスが復号を現在のアクセスユニットから開始するように実行されるとき、デコーダは、あたかも現在のアクセスユニットが復号順序においてビットストリーム内の第1のアクセスユニットであるかのように動作し、アクセスユニット内の各ピクチャに対してPicOrderCntValの導出に使用される変数PrevPicOrderCnt[nuh_layer_id]は、0に等しく設定される、
によって置き換えられる。
【０１５２】
図8は、本開示の技法によるマルチレイヤビデオデータを符号化する方法を示すフローチャートである。図8の技法について、上記で説明したビデオエンコーダ20に関して説明する。ビデオエンコーダは、少なくともレイヤとそのレイヤの参照レイヤとを備える第1のアクセスユニットを符号化する(130)。ビデオエンコーダ20は、第1のアクセスユニットが回復点であるかどうかを決定する(132)。第1のアクセスユニットが回復点である(132、YES)ことに応答して、ビデオエンコーダ20は、少なくともレイヤとその参照レイヤとに適用される回復点SEIメッセージを、第1のアクセスユニット内に含め(134)、SEI回復点メッセージを有する第1のアクセスユニットを生成する(136)。第1のアクセスユニットが回復点でない(132、NO)ことに応答して、ビデオエンコーダ20は、回復点SEIメッセージなしに第1のアクセスユニットを生成する(138)。
【０１５３】
1つまたは複数の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてもよい。ソフトウェアにおいて実装された場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶またはコンピュータ可読媒体を介して送信されてもよく、ハードウェアベースの処理ユニットによって実行されてもよい。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従うある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応する場合がある。データ記憶媒体は、本開示で説明する技法を実装するための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【０１５４】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされてもよい任意の他の媒体を含むことができる。また、任意の接続も厳密にはコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびBlu-ray（登録商標）ディスクを含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)はレーザーを用いてデータを光学的に再生する。上記のものの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１５５】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくは離散論理回路のような、1つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に適した任意の他の構造のいずれかを指す場合がある。さらに、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられてよく、あるいは複合コーデックに組み込まれてよい。また、技法は、1つまたは複数の回路または論理要素において完全に実装されてもよい。
【０１５６】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装されてもよい。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて結合されてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
【０１５７】
様々な例を説明してきた。これらおよび他の例は以下の特許請求の範囲内に入る。
【符号の説明】
【０１５８】
10  復号システム
12  ソースデバイス
14  宛先デバイス
16  リンク
18  ビデオソース
20  ビデオエンコーダ
21  カプセル化ユニット
22  出力インターフェース
27  後処理エンティティ
28  入力インターフェース
29  カプセル化解除ユニット
30  ビデオデコーダ
31  表示デバイス
32  ストレージデバイス
33  ビデオデータメモリ
35  区分ユニット
41  予測処理ユニット
42  動き推定ユニット
44  動き補償ユニット
46  イントラ予測処理ユニット
50  加算器
52  変換処理ユニット
54  量子化ユニット
56  エントロピー符号化ユニット
58  逆量子化ユニット
60  逆変換処理ユニット
62  加算器
63  フィルタユニット
64  復号ピクチャバッファ(DPB)
78  ネットワークエンティティ
79  ビデオデータメモリ
80  エントロピー復号ユニット
81  予測処理ユニット
82  動き補償ユニット
84  イントラ予測処理ユニット
86  逆量子化処理ユニット
88  逆変換処理ユニット
90  加算器
91  フィルタユニット
92  復号ピクチャバッファ(DPB)
100  ビデオ入力インターフェース
102  オーディオ入力インターフェース
104  ビデオファイル作成ユニット
106  ビデオファイル出力インターフェース
108  SEIメッセージ生成ユニット
110  ビュー識別子(ID)割り当てユニット
112  表示生成ユニット
114  動作点生成ユニット
122  サーバデバイス
124A  ルーティングデバイス
124B  ルーティングデバイス
126  トランスコーディングデバイス
128  クライアントデバイス
【図１】
0006701100.tif 000005
【図２】
0006701100.tif 000006
【図３】
0006701100.tif 000007
【図４】
0006701100.tif 000008
【図５】
0006701100.tif 000009
【図６】
0006701100.tif 000010
【図７】
0006701100.tif 000011
【図８】
0006701100.tif 000012