(57)【特許請求の範囲】
【請求項１】
アクセスユニットと関連付けられるビデオコーディング情報をマルチレイヤビットストリームのレイヤのセットまたはオペレーションポイントのセットと関連付けるためのデバイスであって、
前記マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するように構成されるメモリであって、前記記憶されるビデオ情報がsupplemental enhancement information(SEI)メッセージを備える、メモリと、
前記メモリに動作可能に結合されたプロセッサとを備え、前記プロセッサが、
前記SEIメッセージ中の識別子に基づいて、前記SEIメッセージが、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージを含む第1のSEIメッセージカテゴリと、前記第1のSEIメッセージカテゴリのものとは異なるSEIメッセージを含む第2のSEIメッセージカテゴリとのうちの1つに属するかどうかを決定することと、
前記SEIメッセージがいつオペレーションポイントの前記セットに適用されるか、および、前記SEIメッセージがいつレイヤの前記セットに適用されるかを決定することと、
前記第1のSEIメッセージカテゴリに属するとともにオペレーションポイントの前記セットに適用される第1のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるオペレーションポイントの前記セットの各オペレーションポイントへ独立に適用することと、
前記第1のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第2のSEIメッセージについて、前記SEIメッセージの前記セマンティクスを、前記SEIメッセージの1つまたは複数のインジケータに従ってレイヤの前記セットへ適用することと、
前記第2のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第3のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるレイヤの前記セットの各レイヤのセットへ独立に適用することと
を行うように構成される、デバイス。
【請求項２】
オペレーションポイントの前記セットの中の各オペレーションポイントが、前記マルチレイヤビットストリームのビットストリームのサブセットを備えるアクセスユニットと関連付けられ、ビットストリームの前記サブセットが各オペレーションポイントによって示されるような前記レイヤの少なくとも1つを備える、請求項1に記載のデバイス。
【請求項３】
オペレーションポイントの前記セットの中の各オペレーションポイントが、1つまたは複数のアクセスユニットを備える符号化ビデオシーケンス(CVS)と関連付けられ、前記1つまたは複数のアクセスユニットが、前記マルチレイヤビットストリームのビットストリームのサブセットを備え、ビットストリームの前記サブセットが、前記CVSによって示されるような前記レイヤの少なくとも1つを備える、請求項1に記載のデバイス。
【請求項４】
プロセッサがさらに、前記SEIメッセージの前記識別子に少なくとも一部基づいて、オペレーションポイントの前記セットまたはレイヤの前記セットの前記ビデオコーディング情報をコーディングするように構成される、請求項1に記載のデバイス。
【請求項５】
前記第1のSEIメッセージカテゴリに属する前記第1および第2のSEIメッセージが、前記SEIメッセージが適用される前記アクセスユニットの少なくとも1つのピクチャが別のピクチャの復号可能性に影響を与えることなく意図的に廃棄され得ない場合、前記バッファリング期間SEIメッセージを含む、請求項1に記載のデバイス。
【請求項６】
前記第2のSEIメッセージカテゴリに属する前記第3のSEIメッセージが、欠けているコーディングされたピクチャをコーダが検出するのを支援するための情報を提供し、前記SEIメッセージのシンタックスの値が、前記第3のSEIメッセージと関連付けられるピクチャが別のピクチャの復号可能性に影響を与えることなく意図的に廃棄され得ないアンカーピクチャであるときにだけ増やされる、請求項1に記載のデバイス。
【請求項７】
前記第2のSEIメッセージカテゴリが、パンスキャン矩形SEIメッセージ、プログレッシブ高画質化セグメント開始SEIメッセージ、フィルム粒度特性SEIメッセージ、トーンマッピング情報SEIメッセージ、フレームパッキング構成SEIメッセージ、および表示方向SEIメッセージを含む、請求項1に記載のデバイス。
【請求項８】
前記第2のSEIメッセージカテゴリに属する前記SEIメッセージの持続性セマンティクスが、前記第2のSEIメッセージカテゴリの前記SEIメッセージが適用されるレイヤと関連付けられる、請求項5に記載のデバイス。
【請求項９】
前記第2のSEIメッセージカテゴリに属する前記第3のSEIメッセージが、時間的サブレイヤゼロインデックスSEIメッセージを備え、前記時間的サブレイヤゼロインデックスSEIメッセージが、ピクチャが欠けているかどうかを決定するときにピクチャが廃棄可能かどうかを考慮するように構成される、請求項1に記載のデバイス。
【請求項１０】
前記第2のSEIメッセージカテゴリに属する前記第3のSEIメッセージが、2つ以上のシーケンスパラメータセット(SPS)を備えるように構成される、請求項1に記載のデバイス。
【請求項１１】
前記2つ以上のSPSの各SPSがレイヤの前記セットの少なくとも1つと関連付けられる、請求項10に記載のデバイス。
【請求項１２】
前記第1のSEIメッセージカテゴリに属する前記第1および第2のSEIメッセージが、有効パラメータセットSEIメッセージであり、前記有効パラメータセットSEIメッセージがさらに、前記2つ以上のSPSの各SPSをレイヤの前記セットの少なくとも1つにマッピングするための機構を備える、請求項11に記載のデバイス。
【請求項１３】
前記有効パラメータセットSEIメッセージがさらに、前記SPSと関連付けられるレイヤの前記セットの中のレイヤを指定するセマンティクスを備える、請求項12に記載のデバイス。
【請求項１４】
アクセスユニットと関連付けられるビデオコーディング情報をマルチレイヤビットストリームのレイヤのセットまたはオペレーションポイントのセットと関連付けるための方法であって、
前記マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するステップであって、前記記憶されるビデオ情報がsupplemental enhancement information(SEI)メッセージを備える、ステップと、
前記SEIメッセージ中の識別子に基づいて、前記SEIメッセージが、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージを含む第1のSEIメッセージカテゴリと、前記第1のSEIメッセージカテゴリのものとは異なるSEIメッセージを含む第2のSEIメッセージカテゴリとのうちの1つに属するかどうかを決定するステップと、
前記SEIメッセージがいつオペレーションポイントの前記セットに適用されるか、および、前記SEIメッセージがいつレイヤの前記セットに適用されるかを決定するステップと、
前記第1のSEIメッセージカテゴリに属するとともにオペレーションポイントの前記セットに適用される第1のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるオペレーションポイントの前記セットの各オペレーションポイントへ独立に適用するステップと、
前記第1のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第2のSEIメッセージについて、前記SEIメッセージの前記セマンティクスを、前記SEIメッセージの1つまたは複数のインジケータに従ってレイヤの前記セットへ適用するステップと、
前記第2のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第3のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるレイヤの前記セットの各レイヤへ独立に適用するステップとを備える、方法。
【請求項１５】
オペレーションポイントの前記セットの各オペレーションポイントを、前記マルチレイヤビットストリームのビットストリームのサブセットを備えるアクセスユニットであって、ビットストリームの前記サブセットが各オペレーションポイントによって示されるような前記レイヤの少なくとも1つを備える、アクセスユニットと関連付けるステップをさらに備える、請求項14に記載の方法。
【請求項１６】
オペレーションポイントの前記セットの各オペレーションポイントを、1つまたは複数のアクセスユニットを備える符号化ビデオシーケンス(CVS)であって、前記1つまたは複数のアクセスユニットが、前記マルチレイヤビットストリームのビットストリームのサブセットを備え、ビットストリームの前記サブセットが、前記CVSによって示されるような前記レイヤの少なくとも1つを備える、符号化ビデオシーケンス(CVS)と関連付けるステップをさらに備える、請求項14に記載の方法。
【請求項１７】
前記SEIメッセージ中の前記識別子に少なくとも一部基づいて、オペレーションポイントの前記セットまたはレイヤの前記セットの前記ビデオコーディング情報をコーディングするステップをさらに備える、請求項14に記載の方法。
【請求項１８】
他のSEIメッセージに属する前記SEIメッセージの持続性セマンティクスを、前記他のSEIメッセージが適用されるレイヤと関連付けるステップをさらに備える、請求項14に記載の方法。
【請求項１９】
アクセスユニットと関連付けられるビデオコーディング情報をマルチレイヤビットストリームのレイヤのセットまたはオペレーションポイントのセットと関連付けるためのデバイスであって、
前記マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するための手段であって、前記記憶されるビデオ情報がsupplemental enhancement information(SEI)メッセージを備える、手段と、
前記SEIメッセージ中の識別子に基づいて、前記SEIメッセージが、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージを含む第1のSEIメッセージカテゴリと、前記第1のSEIメッセージカテゴリのものとは異なるSEIメッセージを含む第2のSEIメッセージカテゴリとのうちの1つに属するかどうかを決定するための手段と、
前記SEIメッセージがいつオペレーションポイントの前記セットに適用されるか、および、前記SEIメッセージがいつレイヤの前記セットに適用されるかを決定するための手段と、
前記第1のSEIメッセージカテゴリに属するとともに前記SEIメッセージが適用されるオペレーションポイントの前記セットに適用される第1のSEIメッセージについて、前記SEIメッセージの各セマンティクスをオペレーションポイントの前記セットの各オペレーションポイントへ独立に適用するための手段と、
前記第1のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第2のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージの1つまたは複数のインジケータに従ってレイヤの前記セットへ適用するための手段と、
前記第2のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第3のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるレイヤの前記セットの各レイヤへ独立に適用するための手段とを備える、デバイス。
【請求項２０】
オペレーションポイントの前記セットの各オペレーションポイントが、前記マルチレイヤビットストリームのビットストリームのサブセットを備えるアクセスユニットと関連付けられ、ビットストリームの前記サブセットが各オペレーションポイントによって示されるような前記レイヤの少なくとも1つを備える、請求項19に記載のデバイス。
【請求項２１】
他のSEIメッセージが、時間的サブレイヤゼロインデックスSEIメッセージを備え、前記時間的サブレイヤゼロインデックスSEIメッセージが、ピクチャが欠けているかどうかを決定するときにピクチャが廃棄可能かどうかを考慮するように構成される、請求項19に記載のデバイス。
【請求項２２】
他のSEIメッセージが、2つ以上のシーケンスパラメータセット(SPS)を備えるように構成される、請求項19に記載のデバイス。
【請求項２３】
実行されると、デバイスのプロセッサに、
マルチレイヤビットストリームと関連付けられるビデオ情報を記憶することであって、前記記憶されるビデオ情報がsupplemental enhancement information(SEI)メッセージを備える、ことと、
前記SEIメッセージ中の識別子に基づいて、前記SEIメッセージが、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージを含む第1のSEIメッセージカテゴリと、前記第1のSEIメッセージカテゴリのものとは異なるSEIメッセージを含む第2のSEIメッセージカテゴリとのうちの1つに属するかどうかを決定することと、
前記SEIメッセージがいつオペレーションポイントのセットに適用されるか、および、前記SEIメッセージがいつ前記マルチレイヤビットストリームのレイヤのセットに適用されるかを決定することと、
前記第1のSEIメッセージカテゴリに属するとともにオペレーションポイントの前記セットに適用される第1のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるオペレーションポイントの前記セットの各オペレーションポイントへ独立に適用することと、
前記第1のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第2のSEIメッセージについて、前記SEIメッセージの前記セマンティクスを、前記SEIメッセージの1つまたは複数のインジケータに従ってレイヤの前記セットへ適用することと、
前記第2のSEIメッセージカテゴリに属するとともにレイヤの前記セットに適用される第3のSEIメッセージについて、前記SEIメッセージの各セマンティクスを、前記SEIメッセージが適用されるレイヤの前記セットの各レイヤへ独立に適用すること
を行わせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項２４】
オペレーションポイントの前記セットの各オペレーションポイントが、前記マルチレイヤビットストリームのビットストリームのサブセットを備えるアクセスユニットと関連付けられ、ビットストリームの前記サブセットが各オペレーションポイントによって示されるような前記レイヤの少なくとも1つを備える、請求項23に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記第2のSEIメッセージカテゴリに属する前記第3のSEIメッセージが、時間的サブレイヤゼロインデックスSEIメッセージを備え、前記時間的サブレイヤゼロインデックスSEIメッセージが、ピクチャが欠けているかどうかを決定するときにピクチャが廃棄可能かどうかを考慮するように構成される、請求項23に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオコーディングおよび圧縮の分野に関し、より具体的には、マルチレイヤコーディングのためのsupplemental enhancement information(SEI)メッセージに関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、Moving Picture Experts Group-2(MPEG-2)、MPEG-4、International Telegraph Union-Telecommunication Standardization Sector(ITU-T) H.263、ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC)、High Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および/または記憶することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】文書JCTVC-L1003、Brossら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ITU-T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJCT-VC、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示のシステム、方法、およびデバイスは、いくつかの革新的態様をそれぞれ有し、それらの態様のいずれの1つも、本明細書で開示される望ましい属性を単独では担わない。一態様では、デバイスは、マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するように構成されるメモリであって、記憶されるビデオ情報がSEIメッセージを備える、メモリと、メモリに動作可能に結合されるプロセッサとを含み得る。プロセッサは、SEIメッセージ中の識別子に基づいて、SEIメッセージが第1のSEIメッセージカテゴリに属するか第2のSEIメッセージカテゴリに属するかを決定するように構成される。プロセッサはさらに、SEIメッセージがオペレーションポイントに適用されるかレイヤに適用されるかを決定し、SEIメッセージが第1のSEIメッセージカテゴリであることおよびオペレーションポイントに適用されることに応答して、SEIメッセージの各セマンティクスをオペレーションポイントの中の各オペレーションポイントと関連付けるように構成される。
【０００５】
別の態様では、ビデオコーディング情報のセマンティクスをマルチレイヤビットストリームのレイヤまたはオペレーションポイントと関連付けるための方法は、マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するステップを備え、記憶されるビデオ情報はSEIメッセージを備える。方法はさらに、SEIメッセージ中の識別子に基づいて、SEIメッセージが第1のSEIメッセージカテゴリに属するか第2のSEIメッセージカテゴリに属するかを決定するステップと、SEIメッセージがオペレーションポイントに適用されるかレイヤに適用されるかを決定するステップとを備える。方法はさらに、SEIメッセージが第1のSEIメッセージカテゴリであることおよびオペレーションポイントに独立に適用されることに応答して、SEIメッセージの各セマンティクスをオペレーションポイントの中の各オペレーションポイントと独立に関連付けるステップを備える。
【０００６】
別の態様では、ビデオコーディング情報のセマンティクスをマルチレイヤビットストリームのレイヤまたはオペレーションポイントと関連付けるためのデバイスは、マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するための手段であって、記憶されるビデオ情報がSEIメッセージを備える、手段と、SEIメッセージ中の識別子に基づいて、SEIメッセージが第1のSEIメッセージカテゴリに属するか第2のSEIメッセージカテゴリに属するかを決定するための手段と、SEIメッセージがオペレーションポイントに適用されるかレイヤに適用されるかを決定するための手段と、SEIメッセージが第1のSEIメッセージカテゴリであることおよびオペレーションポイントに適用されることに応答して、SEIメッセージの各セマンティクスをオペレーションポイントの中の各オペレーションポイントと関連付けるための手段とを備える。
【０００７】
追加の態様では、非一時的コンピュータ可読記憶媒体は、実行されると、デバイスのプロセッサに、マルチレイヤビットストリームと関連付けられるビデオ情報を記憶させ、記憶されるビデオ情報がSEIメッセージを備え、SEIメッセージ中の識別子に基づいて、SEIメッセージが第1のSEIメッセージカテゴリに属するか第2のSEIメッセージカテゴリに属するかを決定させ、SEIメッセージがオペレーションポイントに適用されるかレイヤに適用されるかを決定させ、SEIメッセージが第1のSEIメッセージカテゴリであることおよびオペレーションポイントに適用されることに応答して、SEIメッセージの各セマンティクスをオペレーションポイントの中の各オペレーションポイントと関連付けさせる命令を記憶している。
【０００８】
上で言及された態様、さらには、本技術の他の特徴、態様、および利点が、ここで様々な実施形態に関して、添付の図面を参照して説明される。しかしながら、示される実施形態は例にすぎず、限定的であることは意図されない。図面全体で、文脈が別段規定しない限り、同様の記号は通常、同様のコンポーネントを特定する。
【図面の簡単な説明】
【０００９】
【図１Ａ】本開示において説明される態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図である。
【図１Ｂ】本開示において説明される態様による技法を実行し得る別の例示的なビデオ符号化および復号システムを示すブロック図である。
【図２Ａ】本開示において説明される態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。
【図２Ｂ】本開示において説明される態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。
【図３Ａ】本開示において説明される態様による技法を実装し得るビデオデコーダの例を示すブロック図である。
【図３Ｂ】本開示において説明される態様による技法を実装し得るビデオデコーダの例を示すブロック図である。
【図４Ａ】複数のオペレーションポイントの中の各オペレーションポイントまたは複数のレイヤの中の各レイヤとの、SEIメッセージのセマンティクスの関連を示すフローチャートである。
【図４Ｂ】本開示のある実施形態による、オペレーションポイントに適用されるSEIメッセージ間の関連を示すブロック図である。
【図４Ｃ】本開示のある実施形態による、レイヤおよび複数のピクチャに適用されるSEIメッセージ間の関連を示すブロック図である。
【図５】有効パラメータセットSEIメッセージのセマンティクスを通信するために使用され得るシンタックスを示す図である。
【図６】本開示のある実施形態による、マルチレイヤビットストリームの1つまたは複数の領域リフレッシュSEIメッセージと1つまたは複数のピクチャとの間の関連を示すブロック図である。
【図７】領域リフレッシュ情報SEIメッセージのセマンティクスを通信するために使用され得るシンタックスを示す図である。
【図８】マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するステップを備える、ビデオコーディング情報のセマンティクスをマルチレイヤビットストリームのレイヤまたはオペレーションポイントと関連付けるための方法のフローチャートを示す図である。
【図９】マルチレイヤビットストリームのビデオ情報の復号の間にランダムアクセスを開始するかどうかを決定するための方法のフローチャートを示す図である。
【発明を実施するための形態】
【００１０】
一般に、本開示は、HEVCのような高度なビデオコーデックの状況における、マルチレイヤビデオコーディングのための、SEIメッセージ、シーケンスパラメータセット(SPS)、リカバリポイントSEIメッセージ、およびリフレッシュ情報SEIメッセージに関する。より具体的には、本開示は、HEVCのマルチビュー拡張およびスケーラブル拡張、すなわちMV-HEVC(マルチビュー)およびSHVC(スケーラブル)における、SEIメッセージの範囲の明確さの改善、および、それらのSEIメッセージが参照するレイヤとの、有効パラメータセットSEIメッセージにおいてシグナリングされるSPSの関連の明確さの改善のための、システムおよび方法に関する。本開示はまた、HEVCのマルチビュー拡張およびスケーラブル拡張、すなわちMV-HEVCおよびSHVCにおける、リカバリポイントSEIメッセージと関連付けられるピクチャオーダーカウントセマンティクスを確立する際の明確さの改善、および、領域リフレッシュ情報とインター予測の制約との間の関係の明確さの改善のための、システムおよび方法に関する。
【００１１】
下の説明では、ある種の実施形態に関するH.264/AVC技法が説明され、HEVC規格および関連する技法も論じられる。具体的には、いくつかのビデオコーディング方式は、デコーダによって復号されるときに使用するための、アクセスユニット、オペレーションポイント、レイヤ、またはピクチャの1つに適用される様々なセマンティクスを提供し得る、SEIメッセージを含む。従来のシングルレイヤコーディング方式(たとえば、HEVC)では、各SEIメッセージは単一のレイヤにしか適用され得ないので、単一のアクセスユニットは一意に、所与の時間においてある単一のピクチャを含む。したがって、これらの従来の方式では、SEIメッセージのセマンティクスは、セマンティクスが適用されるものが何であるかが、それがレイヤであっても、アクセスユニットであっても、ピクチャであっても、またはオペレーションポイントであっても明確であった。しかしながら、下でより詳細に論じられるように、マルチレイヤビットストリームでは、ビットストリームが任意の所与の時間において複数のレイヤを含むので、SEIメッセージは、ある所与の時間において、1つまたは複数のピクチャ、レイヤ、オペレーションポイント、またはアクセスユニットに適用され得る。したがって、従来のシングルレイヤコーディング方式は、マルチレイヤコーディング方式に適合するビデオエンコーダ/デコーダの正確で一貫した挙動のためにSEIメッセージの範囲を定義するために必要とされるセマンティクスを有していない。
【００１２】
本開示はまた、単一の有効パラメータセットSEIメッセージにより複数のSPSをシグナリングすることと、レイヤの数とSPSの数が等しくないときにシーケンスパラメータセットの各々がどのレイヤに適用されるかについての曖昧さを解消することとに関する。いくつかの実装形態では、SPSの数を「1」に制限することについての制約は、有効パラメータセットSEIメッセージが複数のSPSを導入し、かつ、1つまたは複数のSPSをマルチレイヤビットストリームの1つまたは複数のレイヤと関連付けるための機構を提供することを可能にするために、緩められ得る。有効パラメータセットSEIメッセージと代替的なSEIメッセージのいずれかにおける追加のセマンティクスにより、マルチレイヤビットストリームのコーディングは、2つ以上のSPSを1つまたは複数の特定のレイヤと曖昧さを伴わずに関連付けることが可能になる。本開示に適合する(すなわち、本開示に従って動作する、または本開示に従って構成される)ビデオエンコーダ/ビデオデコーダの動作は、従来のコーディング方式を上回る改善された動作の一貫性を有する。
【００１３】
本開示はさらに、マルチレイヤビットストリームの1つまたは複数のピクチャに対する不正確なまたは不明確なPOC値を避けるように、POCを計算または導出することに関する。マルチレイヤビットストリームでは、ランダムアクセスイベントの後で、復号がリカバリポイントSEIメッセージを含むアクセスユニットから開始するとき、リカバリポイントSEIメッセージの1つまたは複数のセマンティクスは、現在のピクチャに対するPOCフィールドを特定する1つまたは複数の値を0にリセットする。これは、リカバリポイントSEIメッセージと関連付けられるピクチャと同じレイヤ中にピクチャpicAがあり(かつ0にリセットされたPOC値を有し)、picAが復号順序において現在のピクチャに後続し、シグナリングされたPOC関連の値を有するときに、問題を生み出し得る。したがって、従来のシングルレイヤコーディング方式は、マルチレイヤコーディング方式に適合するビデオエンコーダ/デコーダの正確で一貫した挙動のためにリカバリポイントSEIメッセージがどのように処理されるべきであるかを定義するための、必要とされるセマンティクスを有していない。リカバリポイントメッセージによるランダムアクセスの後で復号するときにPOC値をリセットすることとは対照的に、リカバリポイントSEIメッセージと関連付けられるピクチャのPOC値の導出を可能にするように、リカバリポイントSEIメッセージへの修正が提案される。加えて、アクセスユニットにおけるリカバリポイントSEIメッセージの存在、またはピクチャとのリカバリポイントSEIメッセージの関連を支配するための制約が、本明細書で開示される。
【００１４】
本開示は加えて、領域リフレッシュ情報SEIメッセージと関連付けられるあらゆる曖昧さを解消する、マルチレイヤコーディング方式のためのセマンティクスに関する。いくつかの実装形態では、領域リフレッシュ情報SEIメッセージは、参照(またはエンハンスメント)レイヤのピクチャの領域がリフレッシュされることを示す。マルチレイヤビットストリームでは、そのような領域リフレッシュ情報SEIメッセージは、第1のピクチャが完全にリフレッシュされる前にリフレッシュされることになる別のピクチャに第1のピクチャが依存するときに、そのような依存性(または対応付け)がレイヤ間の領域リフレッシュ予測において考慮されるように、レイヤ間予測の制約を考慮するように構成され得る。
【００１５】
いくつかの実施形態が、本明細書においてHEVC規格および/またはH.264規格の文脈で説明されるが、当業者は、本明細書で開示されるシステムおよび方法が、任意の適切なビデオコーディング規格に適用可能であり得ることを了解し得る。たとえば、本明細書で開示される実施形態は、以下の規格、すなわち、International Telecommunication Union(ITU) Telecommunication Standardization Sector(ITU-T) H.261、International Organization for Standardization/International Electrotechnical Commission(ISO/IEC) MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、およびスケーラブル拡張とマルチビュー拡張とを含むITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られている)のうちの1つまたは複数に適用可能であり得る。
【００１６】
HEVCは一般に、多くの点で、前のビデオコーディング規格のフレームワークに従う。HEVCにおける予測のユニットは、いくつかの前のビデオコーディング規格における予測のユニット(たとえば、マクロブロック)とは異なる。実際に、マクロブロックの概念は、いくつかの前のビデオコーディング規格において理解されているように、HEVCには存在しない。マクロブロックは、考えられる利益の中でも、高い柔軟性を与え得る、四分木方式に基づく階層構造と置き換えられる。たとえば、HEVC方式では、3つのタイプのブロック、コーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)が定義される。CUは、領域分割の基本単位を指し得る。CUはマクロブロックの概念に類似すると見なされ得るが、HEVCは、CUの最大サイズを制限せず、コンテンツ適応性を改善するために4つの等しいサイズのCUへの再帰的分割を可能にし得る。PUは、インター/イントラ予測の基本単位と見なされてよく、単一のPUは、不規則な画像パターンを効率的にコーディングするために、複数の任意の形状区分を含み得る。TUは、変換の基本単位と見なされてよい。TUは、PUとは無関係に定義され得るが、TUのサイズは、TUが属するCUのサイズに制限され得る。3つの異なる概念へのブロック構造のこの分離は、各ユニットがユニットのそれぞれの役割に従って最適化されることを可能にでき、それによりコーディング効率の改善をもたらし得る。
【００１７】
単に説明の目的で、本明細書で開示されるいくつかの実施形態は、ビデオデータの2つのレイヤ(たとえば、ベースレイヤのなどの下位レイヤおよびエンハンスメントレイヤなどの上位レイヤ)のみを含む例を用いて説明される。ビデオデータの「レイヤ」は一般に、ビュー、フレームレート、解像度などのような、少なくとも1つの共通の特性を有するピクチャのシーケンスを指し得る。たとえば、レイヤは、マルチビュービデオデータの特定のビュー(たとえば、視点)と関連付けられたビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤと関連付けられたビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤとビューを交換可能に指し得る。すなわち、ビデオデータのビューは、ビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤは、ビデオデータのビューと呼ばれることがある。加えて、マルチレイヤコーデック(マルチレイヤビデオコーダまたはマルチレイヤエンコーダデコーダとも呼ばれる)は、マルチビューコーデックまたはスケーラブルコーデック(たとえば、MV-HEVC、3D-HEVC、SHVC、または別のマルチレイヤコーディング技法を使用してビデオデータを符号化および/または復号するように構成されるコーデック)を一緒に指すことがある。ビデオ符号化およびビデオ復号は一般に、両方ともビデオコーディングと呼ばれ得る。そのような例は、複数のベースレイヤおよび/またはエンハンスメントレイヤを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態を参照して「フレーム」または「ブロック」という用語を含む。しかしながら、これらの用語は、限定的であることを意味しない。たとえば、以下で説明される技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スライス、フレームなどのような、任意の好適なビデオユニットとともに使用され得る。
【００１８】
ビデオコーディング規格
ビデオ画像、TV画像、静止画像、またはビデオレコーダもしくはコンピュータによって生成された画像のような、デジタル画像は、水平方向の線および垂直方向の線で構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は、通常、数万である。各ピクセルは、通常、ルミナンス情報とクロミナンス情報とを含む。圧縮がなければ、画像エンコーダから画像デコーダに搬送されるべき大量の情報が、リアルタイム画像送信を不可能にするであろう。送信されるべき情報の量を減らすために、JPEG、MPEGおよびH.263規格のような、いくつかの異なる圧縮方法が開発された。
【００１９】
ビデオコーディング規格は、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と、そのスケーラブル拡張とマルチビュー拡張とを含む(ISO/IEC MPEG-4 AVCとしても知られる)ITU-T H.264とを含む。
【００２０】
さらに、ビデオコーディング規格、すなわち、HEVCが、ITU-T Video Coding Experts Group(VCEG)とISO/IEC MPEGのJoint Collaboration Team on Video Coding(JCT-VC)によって開発された。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、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日である。HEVCのマルチビュー拡張すなわちMV-HEVC、およびSHVCと称されるHEVCのスケーラブル拡張も、それぞれJCT-3V(ITU-T/ISO/IEC Joint Collaborative Team on 3D Video Coding Extension Development)およびJCT-VCによって開発されている。
【００２１】
ビデオコーディングシステム
添付の図面を参照して、新規のシステム、装置、および方法の様々な態様が、以下でより十分に説明される。しかしながら、本開示は、多くの異なる形態で具現化されてよく、本開示全体にわたって提示される特定の構造または機能に限定されるものと解釈されるべきではない。そうではなく、これらの態様は、本開示が十分なものであり、完全であるように、また本開示の範囲を当業者に十分伝えるように提供される。本明細書の教示に基づいて、本開示の範囲は、本開示の任意の他の態様と無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示される新規のシステム、装置、および方法のいかなる態様をも包含するものであることを、当業者は了解されたい。たとえば、本明細書に記載される任意の数の態様を使用して装置が実装されてよく、または方法が実践されてよい。さらに、本開示の範囲は、本明細書に記載される本開示の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実践されるような装置または方法を包含するものとする。本明細書で開示される任意の態様は、特許請求の範囲の1つまたは複数の要素により具現化され得ることを理解されたい。
【００２２】
特定の態様が本明細書で説明されるが、これらの態様の多数の変形および置換が、本開示の範囲に入る。好適な態様のいくつかの利益および利点に言及するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものであり、そのうちのいくつかが例として図および好ましい態様についての以下の説明において示される。発明を実施するための形態および各図面は、限定的ではなく、本開示の例示にすぎず、本開示の範囲は、添付の特許請求の範囲およびその均等物によって定義される。
【００２３】
添付の図面は例を示す。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数の単語(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを示唆するとは限らない。むしろ、そのような序数の単語は、同じまたは同様のタイプの、異なる要素を指すために使用されるにすぎない。
【００２４】
図1Aは、本開示で説明される態様による技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用され説明される場合、「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指し得る。ビデオエンコーダおよびビデオデコーダに加えて、本出願で説明される態様は、トランスコーダ(たとえば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス)およびミドルボックス(たとえば、ビットストリームを修正し、変換し、かつ/または場合によっては操作することができるデバイス)のような、他の関連するデバイスに拡張され得る。
【００２５】
図1Aに示されるように、ビデオコーディングシステム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス12を含む。図1Aの例では、ソースデバイス12および宛先デバイス14は、別個のデバイスを構成する。しかしながら、ソースデバイス12および宛先デバイス14は、図1Bの例に示されるように、同じデバイス上にあるかまたはその一部であり得ることに留意されたい。
【００２６】
もう一度図1Aを参照すると、ソースデバイス12および宛先デバイス14は、それぞれ、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。様々な実施形態では、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
【００２７】
宛先デバイス14は、復号されるべき符号化されたビデオデータを、リンク16を介して受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。図1Aの例では、リンク16は、ソースデバイス12が符号化されたビデオデータをリアルタイムで宛先デバイス14に送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つまたは複数の物理伝送線路のような、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得る任意の他の機器を含み得る。
【００２８】
代替的に、符号化されたデータは出力インターフェース22から(任意選択で存在する)記憶デバイス31に出力され得る。同様に、符号化されたデータは、たとえば、宛先デバイス14の入力インターフェース28によって、記憶デバイス31からアクセスされ得る。記憶デバイス31は、ハードドライブ、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイス31は、ソースデバイス12によって生成された符号化されたビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイス31からの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル(たとえば、ワイヤレスローカルエリアネットワーク(WLAN)接続)、有線接続(たとえば、デジタル加入者回線(DSL)、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイス31からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００２９】
本開示の技法は、ワイヤレスの適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信(たとえば、ハイパーテキスト転送プロトコル(HTTP)上での動的適応ストリーミングなど)、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例のような、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話のような適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３０】
図1Aの例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、図1Bの例に示されているように、いわゆる「カメラ電話」または「ビデオ電話」を形成し得る。しかしながら、本開示で説明される技法は一般に、ビデオコーディングに適用可能であってよく、ワイヤレスおよび/または有線の適用例に適用され得る。
【００３１】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に送信され得る。符号化されたビデオデータは、さらに(または代替として)、復号および/または再生のための、宛先デバイス14または他のデバイスによる後のアクセスのために記憶デバイス31上に記憶され得る。図1Aおよび図1Bに示されるビデオエンコーダ20は、図2Aに示されるビデオエンコーダ20、図2Bに示されるビデオエンコーダ23、または本明細書で説明される任意の他のビデオエンコーダを備え得る。
【００３２】
図1Aの例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの場合、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して、および/または記憶デバイス31から、符号化されたビデオデータを受信し得る。リンク16を介して通信され、または記憶デバイス31上に与えられた符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30のようなビデオデコーダが使用するためのビデオエンコーダ20によって生成される種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、またはファイルサーバに記憶される、符号化されたビデオデータとともに含まれ得る。図1Aおよび図1Bに示されるビデオデコーダ30は、図3Aに示されるビデオデコーダ30、図3Bに示されるビデオデコーダ33、または本明細書で説明される任意の他のビデオデコーダを備え得る。
【００３３】
ディスプレイデバイス32は、宛先デバイス14と一体化されてよく、または宛先デバイス14の外部にあってよい。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含んでよく、外部ディスプレイデバイスとインターフェースするように構成されてもよい。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、種々のディスプレイデバイスのいずれかを備え得る。
【００３４】
関連する態様では、図1Bは例示的なビデオコーディングシステム10'を示し、ソースデバイス12および宛先デバイス14はデバイス11上にあるかまたはその一部である。デバイス11は、「スマート」フォンなどのような電話ハンドセットであり得る。デバイス11は、ソースデバイス12および宛先デバイス14と動作可能に通信している(任意選択で存在する)コントローラ/プロセッサデバイス13を含み得る。それ以外の点では、図1Bのビデオコーディングシステム10'およびそのコンポーネントは、図1Aのビデオコーディングシステム10およびそのコンポーネントと同様である。
【００３５】
ビデオエンコーダ20およびビデオデコーダ30は、HEVCなどのビデオ圧縮規格に従って動作することができ、HEVC Test Model(HM)に適合し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、Part 10、AVCと呼ばれるITU-T H.264規格のような、他のプロプライエタリ規格または業界規格、またはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG-2およびITU-T H.263がある。
【００３６】
図1Aおよび図1Bの例には示されていないが、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)のような他のプロトコルに適合し得る。
【００３７】
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダの一部として統合されてよい。
【００３８】
ビデオコーディング処理
上で簡単に述べられたように、ビデオエンコーダ20はビデオデータを符号化する。ビデオデータは、1つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20はビットストリームを生成し得る。ビットストリームは、ビデオデータのコーディングされた表現を形成する、ビットのシーケンスを含み得る。ビットストリームは、コーディングされたピクチャと関連するデータとを含み得る。コーディングされたピクチャとは、ピクチャのコーディングされた表現である。
【００３９】
ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化動作を実行し得る。ビデオエンコーダ20がピクチャに対して符号化動作を実行するとき、ビデオエンコーダ20は、一連のコーディングされたピクチャと関連するデータとを生成し得る。関連するデータは、ビデオパラメータセット(VPS)、SPS、ピクチャパラメータセット(PPS)、適合パラメータセット(APS)、および他のシンタックス構造を含み得る。SPSは、ピクチャの0個以上のシーケンスに適用可能なパラメータを含み得る。PPSは、0個以上のピクチャに適用可能なパラメータを含み得る。APSは、0個以上のピクチャに適用可能なパラメータを含み得る。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００４０】
コーディングされたピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックは、サンプルの2次元アレイであり得る。ビデオブロックの各々が、ツリーブロックと関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット(LCU)と呼ばれ得る。HEVCのツリーブロックは、H.264/AVCのような、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、特定のサイズに必ずしも限定されず、1つまたは複数のコーディングユニット(CU)を含み得る。ビデオエンコーダ20は、四分木区分を使用して、ツリーブロックのビデオブロックを、CUと関連付けられたビデオブロックに区分することができ、したがって「ツリーブロック」という名前がある。
【００４１】
いくつかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスに区分し得る。スライスの各々が、整数個のCUを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
【００４２】
ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行し得る。ビデオエンコーダ20がスライスに対して符号化動作を実行するとき、ビデオエンコーダ20は、スライスと関連付けられた符号化されたデータを生成し得る。スライスと関連付けられた符号化されたデータは、「コーディングされたスライス」と呼ばれ得る。
【００４３】
コーディングされたスライスを生成するために、ビデオエンコーダ20は、スライス中の各ツリーブロックに対して符号化動作を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化動作を実行するとき、ビデオエンコーダ20はコーディングされたツリーブロックを生成し得る。コーディングされたツリーブロックは、ツリーブロックの符号化されたバージョンを表すデータを備え得る。
【００４４】
ビデオエンコーダ20がコーディングされたスライスを生成するとき、ビデオエンコーダ20は、ラスター走査順序に従って、スライス中のツリーブロックに対して符号化動作を実行し得る(たとえば、そのツリーブロックを符号化し得る)。たとえば、ビデオエンコーダ20は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ20がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００４５】
ラスター走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることが可能ではないことがある。
【００４６】
コーディングされたツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックのビデオブロックに対して四分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々が、異なるCUと関連付けられ得る。たとえば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分することができ、サブブロックの1つまたは複数を4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。区分されたCUは、そのビデオブロックが他のCUと関連付けられたビデオブロックに区分される、CUであり得る。区分されていないCUは、そのビデオブロックが他のCUと関連付けられたビデオブロックに区分されていない、CUであり得る。
【００４７】
ビットストリーム中の1つまたは複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。CUのビデオブロックは、形状が正方形であり得る。CUのビデオブロックのサイズ(たとえば、CUのサイズ)は、8×8ピクセルから、最大で64×64以上のピクセルを有するツリーブロックのビデオブロックのサイズ(たとえば、ツリーブロックのサイズ)にまで及び得る。
【００４８】
ビデオエンコーダ20は、z走査順序に従って、ツリーブロックの各CUに対して符号化動作を実行し得る(たとえば、各CUを符号化し得る)。言い換えれば、ビデオエンコーダ20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、その順序で符号化し得る。ビデオエンコーダ20が、区分されたCUに対して符号化動作を実行するとき、ビデオエンコーダ20は、z走査順序に従って、区分されたCUのビデオブロックのサブブロックと関連付けられたCUを符号化し得る。言い換えれば、ビデオエンコーダ20は、左上のサブブロックと関連付けられたCUと、右上のサブブロックと関連付けられたCUと、左下のサブブロックと関連付けられたCUと、次いで右下のサブブロックと関連付けられたCUとを、その順序で符号化し得る。
【００４９】
z走査順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、左上、右上、左、および左下のCUは符号化されていることがある。所与のCUの下および右のCUはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接するいくつかのCUを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接する他のCUを符号化することによって生成された情報にアクセスすることが可能ではないことがある。
【００５０】
ビデオエンコーダ20が、区分されていないCUを符号化するとき、ビデオエンコーダ20は、CUのために1つまたは複数の予測ユニット(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックと関連付けられ得る。ビデオエンコーダ20は、CUの各PUのための予測されるビデオブロックを生成し得る。PUの予測されるビデオブロックは、サンプルのブロックであり得る。ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PUのための予測されるビデオブロックを生成し得る。
【００５１】
ビデオエンコーダ20がイントラ予測を使用してPUの予測されるビデオブロックを生成するとき、ビデオエンコーダ20は、PUと関連付けられたピクチャの復号サンプルに基づいて、PUの予測されるビデオブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してCUのPUの予測されるビデオブロックを生成する場合、CUはイントラ予測されたCUである。ビデオエンコーダ20がインター予測を使用してPUの予測されるビデオブロックを生成するとき、ビデオエンコーダ20は、PUと関連付けられたピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測されるビデオブロックを生成し得る。ビデオエンコーダ20がインター予測を使用してCUのPUの予測されるビデオブロックを生成する場合、CUはインター予測されたCUである。
【００５２】
さらに、ビデオエンコーダ20がインター予測を使用してPUのための予測されるビデオブロックを生成するとき、ビデオエンコーダ20はPUの動き情報を生成し得る。PUの動き情報は、PUの1つまたは複数の参照ブロックを示し得る。PUの各参照ブロックは、参照ピクチャ内のビデオブロックであり得る。参照ピクチャは、PUと関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、PUの参照ブロックは、PUの「参照サンプル」と呼ばれることもある。ビデオエンコーダ20は、PUの参照ブロックに基づいて、PUのための予測されるビデオブロックを生成し得る。
【００５３】
ビデオエンコーダ20がCUの1つまたは複数のPUのための予測されるビデオブロックを生成した後、ビデオエンコーダ20は、CUのPUのための予測されるビデオブロックに基づいて、CUの残差データを生成し得る。CUの残差データは、CUのPUのための予測されるビデオブロック中のサンプルと、CUの元のビデオブロック中のサンプルとの差分を示し得る。
【００５４】
さらに、区分されていないCUに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、CUの残差データに対して再帰的な四分木区分を実行して、CUの残差データを、CUのTUと関連付けられた残差データの1つまたは複数のブロック(たとえば、残差ビデオブロック)に区分し得る。CUの各TUは、異なる残差ビデオブロックと関連付けられ得る。
【００５５】
ビデオエンコーダ20は、TUと関連付けられた変換係数ブロック(たとえば、変換係数のブロック)を生成するために、TUと関連付けられた残差ビデオブロックに1つまたは複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
【００５６】
変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化処理を実行し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行う処理を指す。量子化処理は、変換係数の一部またはすべてと関連付けられたビット深度を低減し得る。たとえば、量子化の間にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。
【００５７】
ビデオエンコーダ20は、各CUを量子化パラメータ(QP)値と関連付け得る。CUと関連付けられたQP値は、ビデオエンコーダ20が、CUと関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ20は、CUと関連付けられたQP値を調整することによって、CUと関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００５８】
ビデオエンコーダ20が変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ20は、これらのシンタックス要素のいくつかに、コンテキスト適応型バイナリ算術コーディング(CABAC)動作のようなエントロピー符号化動作を適用し得る。コンテキスト適応型可変長コーディング(CAVLC)、確率間隔区分エントロピー(PIPE)コーディング、または他のバイナリ算術コーディングのような、他のエントロピーコーディング技法も使用され得る。
【００５９】
ビデオエンコーダ20によって生成されるビットストリームは、一連のネットワーク抽象化レイヤ(NAL)ユニットを含み得る。NALユニットの各々は、NALユニット中のデータのタイプの指示と、データを含むバイトとを含むシンタックス構造であり得る。たとえば、NALユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コーディングされたスライス、SEI、アクセスユニットデリミタ、フィラーデータ、または別のタイプのデータを表すデータを含み得る。NALユニット中のデータは、様々なシンタックス構造を含み得る。
【００６０】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコーディングされた表現を含み得る。ビデオデコーダ30がビットストリームを受信するとき、ビデオデコーダ30は、ビットストリームに対して解析動作を実行し得る。ビデオデコーダ30が解析動作を実行するとき、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構築し得る。シンタックス要素に基づいてビデオデータを再構築するための処理は、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行される処理とは逆であり得る。
【００６１】
ビデオデコーダ30がCUと関連付けられたシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、CUのPUのための予測されるビデオブロックを生成し得る。さらに、ビデオデコーダ30は、CUのTUと関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、変換係数ブロックに対して逆変換を実行して、CUのTUと関連付けられた残差ビデオブロックを再構築し得る。予測されるビデオブロックを生成し、残差ビデオブロックを再構築した後、ビデオデコーダ30は、予測されるビデオブロックと残差ビデオブロックとに基づいて、CUのビデオブロックを再構築し得る。このようにして、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構築し得る。
【００６２】
ビデオエンコーダ
図2Aは、本開示で説明される態様による技法を実装し得るビデオエンコーダ20の例を示すブロック図である。ビデオデコーダ20は、HEVCの場合のように、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオエンコーダ20は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。いくつかの例では、本開示で説明される技法は、ビデオエンコーダ20の様々なコンポーネント間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
【００６３】
説明の目的で、本開示は、HEVCコーディングの状況においてビデオエンコーダ20を説明する。しかしながら、本開示の技法は他のコーディング規格または方法に適用可能であり得る。図2Aに示される例は、シングルレイヤコーデックのためのものである。しかしながら、図2Bに関してさらに説明されるように、ビデオエンコーダ20の一部またはすべてが、マルチレイヤコーデックの処理のために複製され得る。
【００６４】
ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)のようなインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【００６５】
図2Aの例では、ビデオエンコーダ20は複数の機能コンポーネントを含む。ビデオエンコーダ20の機能コンポーネントは、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換ユニット110と、再構築ユニット112と、フィルタユニット113と、復号ピクチャバッファ114と、エントロピー符号化ユニット116とを含む。予測処理ユニット100は、インター予測ユニット121と、動き推定ユニット122と、動き補償ユニット124と、イントラ予測ユニット126と、レイヤ間予測ユニット128とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。さらに、動き推定ユニット122および動き補償ユニット124は、高度に統合され得るが、図2Aの例では、説明の目的で別々に表されている。
【００６６】
ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ20は、(たとえば、図1Aまたは図1Bに示された)ビデオソース18、または別のソースからビデオデータを受信し得る。ビデオデータは、一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化動作を実行し得る。ピクチャに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化動作を実行し得る。スライスに対して符号化動作を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化動作を実行し得る。
【００６７】
ツリーブロックに対して符号化動作を実行することの一部として、予測処理ユニット100は、ツリーブロックのビデオブロックに対して四分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々が、異なるCUと関連付けられ得る。たとえば、予測処理ユニット100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分することができ、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
【００６８】
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は非負の整数値を表す。
【００６９】
さらに、ツリーブロックに対して符号化動作を実行することの一部として、予測処理ユニット100は、ツリーブロックのための階層的な四分木データ構造を生成し得る。たとえば、ツリーブロックは、四分木データ構造のルートノードに対応し得る。予測処理ユニット100がツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、四分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックの1つと関連付けられたCUに対応する。予測処理ユニット100がサブブロックの1つを4つのサブサブブロックに区分する場合、サブブロックと関連付けられたCUに対応するノードは、サブサブブロックの1つと関連付けられたCUに各々が対応する、4つの子ノードを有し得る。
【００７０】
四分木データ構造の各ノードは、対応するツリーブロックまたはCUのシンタックスデータ(たとえば、シンタックス要素)を含み得る。たとえば、四分木の中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分(たとえば、分割)されているかどうかを示す分割フラグを含み得る。CUのためのシンタックス要素は、再帰的に定義されてよく、CUのビデオブロックがサブブロックに分割されているかどうかに依存し得る。ビデオブロックが区分されていないCUは、四分木データ構造におけるリーフノードに対応し得る。コーディングされたツリーブロックは、対応するツリーブロックのための四分木データ構造に基づくデータを含み得る。
【００７１】
ビデオエンコーダ20は、ツリーブロックの区分されていない各CUに対して符号化動作を実行し得る。ビデオエンコーダ20が、区分されていないCUに対して符号化動作を実行するとき、ビデオエンコーダ20は、区分されていないCUの符号化された表現を表すデータを生成する。
【００７２】
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のビデオブロックを区分するように、幾何学的な区分を実行し得る。
【００７３】
インター予測ユニット121は、CUの各PUに対してインター予測を実行し得る。インター予測は、時間圧縮を実現し得る。PUに対してインター予測を実行するために、動き推定ユニット122は、PUのための動き情報を生成し得る。動き補償ユニット124は、PUベースの動き情報およびCUと関連付けられたピクチャ以外のピクチャ(たとえば、参照ピクチャ)の復号されたサンプルのための、予測されるビデオブロックを生成し得る。本開示では、動き補償ユニット124によって生成される予測されるビデオブロックは、インター予測されるビデオブロックと呼ばれることがある。
【００７４】
スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定ユニット122および動き補償ユニット124は、PUがIスライス中にあるか、Pスライス中にあるか、またはBスライス中にあるかに応じて、CUのPUのために異なる動作を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、動き推定ユニット122および動き補償ユニット124は、PUに対してインター予測を実行しない。
【００７５】
PUがPスライス中にある場合、PUを含むピクチャは、「リスト0」と呼ばれる参照ピクチャのリストと関連付けられる。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含む。動き推定ユニット122が、Pスライス中のPUに関して動き推定動作を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット122は、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定するために、種々の尺度を使用し得る。たとえば、動き推定ユニット122は、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分の尺度によって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。
【００７６】
Pスライス中のPUの参照ブロックを識別した後、動き推定ユニット122は、参照ブロックを含む、リスト0中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット122は、動きベクトルを異なる精度で生成し得る。たとえば、動き推定ユニット122は、1/4サンプル精度、1/8サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって特定された参照ブロックに基づいて、PUの予測されるビデオブロックを生成し得る。
【００７７】
PUがBスライス中にある場合、PUを含むピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストと関連付けられ得る。いくつかの例では、Bスライスを含むピクチャは、リスト0とリスト1の組合せである、リストの組合せと関連付けられ得る。
【００７８】
さらに、PUがBスライス中にある場合、動き推定ユニット122は、PUのための単方向予測または双方向予測を実行し得る。動き推定ユニット122がPUのための単方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0またはリスト1の参照ピクチャを探索し得る。動き推定ユニット122は、次いで、参照ブロックを含む、リスト0またはリスト1中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト0中の参照ピクチャを示すか、またはリスト1中の参照ピクチャを示すかを示し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測されるビデオブロックを生成し得る。
【００７９】
動き推定ユニット122がPUのための双方向予測を実行するとき、動き推定ユニット122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索することができ、また、PUのための別の参照ブロックについて、リスト1中の参照ピクチャを探索することができる。動き推定ユニット122は、次いで、参照ブロックを含む、リスト0およびリスト1中の参照ピクチャを示す参照インデックスと、参照ブロックとPUとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット122は、PUの動き情報として、PUの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測されるビデオブロックを生成し得る。
【００８０】
いくつかの事例では、動き推定ユニット122は、PUのための動き情報のフルセットをエントロピー符号化ユニット116に出力しない。そうではなく、動き推定ユニット122は、別のPUの動き情報を参照して、PUの動き情報をシグナリングし得る。たとえば、動き推定ユニット122は、PUの動き情報が、隣接PUの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット122は、PUと関連付けられたシンタックス構造において、PUが隣接PUと同じ動き情報を有することをビデオデコーダ30に示す値を示し得る。別の例では、動き推定ユニット122は、PUと関連付けられたシンタックス構造において、隣接PUと動きベクトル差分(MVD)とを特定し得る。動きベクトル差分は、PUの動きベクトルと、示される隣接PUの動きベクトルとの差分を示す。ビデオデコーダ30は、示される隣接PUの動きベクトルと、動きベクトル差分とを使用して、PUの動きベクトルを決定し得る。第2のPUの動き情報をシグナリングするときに第1のPUの動き情報を参照することによって、ビデオエンコーダ20は、より少数のビットを使用して、第2のPUの動き情報をシグナリングすることが可能であり得る。
【００８１】
CUに対して符号化動作を実行することの一部として、イントラ予測ユニット126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は、空間圧縮を実現し得る。イントラ予測ユニット126がPUに対してイントラ予測を実行するとき、イントラ予測ユニット126は、同じピクチャ中の他のPUの復号されたサンプルに基づいて、PUのための予測データを生成し得る。PUのための予測データは、予測されるビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
【００８２】
PUに対してイントラ予測を実行するために、イントラ予測ユニット126は、PUのための予測データの複数のセットを生成するために、複数のイントラ予測モードを使用し得る。イントラ予測ユニット126がPUのための予測データのセットを生成するためにイントラ予測モードを使用するとき、イントラ予測ユニット126は、イントラ予測モードと関連付けられる方向および/または勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたってサンプルを延ばし得る。隣接PUは、PU、CU、およびツリーブロックについて、左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測ユニット126は、PUのサイズに応じて、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。
【００８３】
予測処理ユニット100は、PUのための動き補償ユニット124によって生成された予測データ、またはPUのためのイントラ予測ユニット126によって生成された予測データの中から、PUの予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみの尺度に基づいて、PUのための予測データを選択する。
【００８４】
予測処理ユニット100が、イントラ予測ユニット126によって生成された予測データを選択する場合、予測処理ユニット100は、PUのための予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット100は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接PUのイントラ予測モードは、現在のPUに対して最確モードであり得る。したがって、予測処理ユニット100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
【００８５】
上で論じられたように、ビデオエンコーダ20は、レイヤ間予測ユニット128を含み得る。レイヤ間予測ユニット128は、SHVCにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照/エンハンスメントレイヤ)を使用して、現在のブロック(たとえば、EL中の現在のブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれ得る。レイヤ間予測ユニット128は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソースの要件を下げる。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測を含む。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在のブロックを予測するために、ベースレイヤ中の並置されたブロックの再構築を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。
【００８６】
予測処理ユニット100がCUのPUのための予測データを選択した後、残差生成ユニット102は、CUのビデオブロックからCUのPUの予測されたビデオブロックを差し引くこと(たとえば、マイナス符号によって示される)によって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの異なるサンプル成分に対応する、2D残差ビデオブロックを含み得る。たとえば、残差データは、CUのPUの予測されるビデオブロック中のサンプルのルミナンス成分と、CUの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、CUの残差データは、CUのPUの予測されるビデオブロック中のサンプルのクロミナンス成分と、CUの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【００８７】
予測処理ユニット100は、CUの残差ビデオブロックをサブブロックに区分するために、四分木区分を実行し得る。分割されていない各残差ビデオブロックは、CUの異なるTUと関連付けられ得る。CUのTUと関連付けられる残差ビデオブロックのサイズおよび位置は、CUのPUと関連付けられたビデオブロックのサイズおよび位置に基づいてもよく、または基づかなくてもよい。「残差四分木」(RQT)と呼ばれる四分木構造は、残差ビデオブロックの各々と関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
【００８８】
変換処理ユニット104は、TUと関連付けられた残差ビデオブロックに1つまたは複数の変換を適用することによって、CUの各TUのための1つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換処理ユニット104は、TUと関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を、TUと関連付けられた残差ビデオブロックに適用し得る。
【００８９】
変換処理ユニット104が、TUと関連付けられた変換係数ブロックを生成した後、量子化ユニット106は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット106は、CUと関連付けられたQP値に基づいて、CUのTUと関連付けられた変換係数ブロックを量子化し得る。
【００９０】
ビデオエンコーダ20は、様々な方法でQP値をCUと関連付け得る。たとえば、ビデオエンコーダ20は、CUと関連付けられたツリーブロックに対してレートひずみ分析を実行し得る。レートひずみ分析では、ビデオエンコーダ20は、ツリーブロックに対して符号化動作を複数回実行することによって、ツリーブロックの複数のコーディングされた表現を生成し得る。ビデオエンコーダ20がツリーブロックの異なる符号化された表現を生成するとき、ビデオエンコーダ20は、異なるQP値をCUと関連付け得る。ビデオエンコーダ20は、最小のビットレートおよびひずみの尺度を有するツリーブロックのコーディングされた表現において所与のQP値がCUと関連付けられるとき、所与のQP値がCUと関連付けられることをシグナリングし得る。
【００９１】
逆量子化ユニット108および逆変換ユニット110は、変換係数ブロックから残差ビデオブロックを再構築するために、それぞれ、逆量子化と逆変換とを変換係数ブロックに適用し得る。再構築ユニット112は、TUと関連付けられた再構築されたビデオブロックを生成するために、再構築された残差ビデオブロックを、予測処理ユニット100によって生成された1つまたは複数の予測されるビデオブロックからの対応するサンプルに追加し得る。このようにCUの各TUのためのビデオブロックを再構築することによって、ビデオエンコーダ20は、CUのビデオブロックを再構築し得る。
【００９２】
再構築ユニット112がCUのビデオブロックを再構築した後、フィルタユニット113は、CUと関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するために、デブロッキング動作を実行し得る。1つまたは複数のデブロッキング動作を実行した後、フィルタユニット113は、CUの再構築されたビデオブロックを復号ピクチャバッファ114に記憶し得る。動き推定ユニット122および動き補償ユニット124は、後続のピクチャのPUに対してインター予測を実行するために、再構築されたビデオブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測ユニット126は、CUと同じピクチャ中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ114の中の再構築されたビデオブロックを使用し得る。
【００９３】
エントロピー符号化ユニット116は、ビデオエンコーダ20の他の機能コンポーネントからデータを受信し得る。たとえば、エントロピー符号化ユニット116は、量子化ユニット106から変換係数ブロックを受信することができ、予測処理ユニット100からシンタックス要素を受信することができる。エントロピー符号化ユニット116がデータを受信するとき、エントロピー符号化ユニット116は、1つまたは複数のエントロピー符号化動作を実行して、エントロピー符号化されたデータを生成し得る。たとえば、ビデオエンコーダ20は、CAVLC動作、CABAC動作、変数間(V2V)レングスコーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、PIPEコーディング動作、または別のタイプのエントロピー符号化動作をデータに対して実行し得る。エントロピー符号化ユニット116は、エントロピー符号化されたデータを含むビットストリームを出力することができる。
【００９４】
データに対してエントロピー符号化動作を実行することの一部として、エントロピー符号化ユニット116は、コンテキストモデルを選択し得る。エントロピー符号化ユニット116がCABAC動作を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。CABACの文脈では、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。
【００９５】
マルチレイヤビデオエンコーダ
図2Bは、本開示において説明される態様による技法を実装し得る(単にビデオエンコーダ23とも呼ばれる)マルチレイヤビデオエンコーダ23の例を示すブロック図である。ビデオエンコーダ23は、SHVCおよびMV-HEVCの場合のように、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオエンコーダ23は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
【００９６】
ビデオエンコーダ23はビデオエンコーダ20Aとビデオエンコーダ20Bとを含み、それらの各々はビデオエンコーダ20として構成されてよく、ビデオエンコーダ20に関して上で説明された機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオエンコーダ20Aおよび20Bは、ビデオエンコーダ20としてのシステムおよびサブシステムのうちの少なくともいくつかを含み得る。ビデオエンコーダ23は、2つのビデオエンコーダ20Aおよび20Bを含むように示されるが、ビデオエンコーダ23は、そのように限定されず、任意の数のビデオエンコーダ20のレイヤを含み得る。いくつかの実施形態では、ビデオエンコーダ23は、アクセスユニット中の各ピクチャまたは各フレームに対してビデオエンコーダ20を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つのエンコーダレイヤを含むビデオエンコーダによって処理または符号化され得る。いくつかの実施形態では、ビデオエンコーダ23は、アクセスユニット中のフレームよりも多くのエンコーダレイヤを含み得る。いくつかのそのような場合、ビデオエンコーダのレイヤのいくつかは、いくつかのアクセスユニットを処理するときに無効であり得る。
【００９７】
ビデオエンコーダ20Aおよび20Bに加えて、ビデオエンコーダ23は、リサンプリングユニット90を含み得る。リサンプリングユニット90は、いくつかの場合、たとえば、エンハンスメントレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。リサンプリングユニット90は、フレームの受信されたベースレイヤと関連付けられた特定の情報をアップサンプリングし得るが、他の情報をアップサンプリングしないことがある。たとえば、リサンプリングユニット90は、ベースレイヤの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャオーダーカウントは一定のままであり得る。いくつかの場合、リサンプリングユニット90は受信されたビデオを処理しないことがあり、および/または任意選択であり得る。たとえば、いくつかの場合、予測処理ユニット100がアップサンプリングを実行し得る。いくつかの実施形態では、リサンプリングユニット90は、レイヤをアップサンプリングし、スライス境界ルールおよび/またはラスター走査ルールのセットに適合するように1つまたは複数のスライスを再編成し、再定義し、修正し、または調整するように構成される。アクセスユニット中のベースレイヤまたは下位レイヤをアップサンプリングするものとして主に説明されたが、いくつかの場合、リサンプリングユニット90はレイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミングの間に帯域幅が減少した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
【００９８】
リサンプリングユニット90は、下位レイヤエンコーダ(たとえば、ビデオエンコーダ20A)の復号ピクチャバッファ114からピクチャまたはフレーム(またはピクチャと関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤエンコーダと同じアクセスユニット中のピクチャを符号化するように構成された、上位レイヤエンコーダ(たとえば、ビデオエンコーダ20B)の予測処理ユニット100に提供され得る。いくつかの場合、上位レイヤエンコーダは、下位レイヤエンコーダから除去された1つのレイヤである。他の場合には、図2Bのレイヤ0ビデオエンコーダとレイヤ1エンコーダとの間に、1つまたは複数の上位レイヤエンコーダがあり得る。
【００９９】
いくつかの場合、リサンプリングユニット90は省略またはパイパスされ得る。そのような場合、ビデオエンコーダ20Aの復号ピクチャバッファ114からのピクチャは、直接、または少なくともリサンプリングユニット90に提供されずに、ビデオエンコーダ20Bの予測処理ユニット100に提供され得る。たとえば、ビデオエンコーダ20Bに提供されたビデオデータ、およびビデオエンコーダ20Aの復号ピクチャバッファ114からの参照ピクチャが、同じサイズまたは解像度である場合、参照ピクチャは、いかなるリサンプリングも伴わずにビデオエンコーダ20Bに提供され得る。
【０１００】
いくつかの実施形態では、ビデオエンコーダ23は、ビデオエンコーダ20Aにビデオデータを提供する前に、ダウンサンプリングユニット94を使用して下位レイヤエンコーダに提供されるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット94は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能なリサンプリングユニット90であり得る。また他の実施形態では、ダウンサンプリングユニット94は省略され得る。
【０１０１】
図2Bに示されているように、ビデオエンコーダ23は、マルチプレクサ(またはmux)98をさらに含み得る。mux 98は、ビデオエンコーダ23から合成されたビットストリームを出力することができる。合成されたビットストリームは、ビデオエンコーダ20Aおよび20Bの各々からビットストリームを取り、所与の時間においてどのビットストリームが出力されるかを切り替えることによって作成され得る。いくつかの場合、2つの(または、3つ以上のビデオエンコーダレイヤの場合には、より多くの)ビットストリームからのビットが一度に1ビットずつ切り替えられ得るが、多くの場合、ビットストリームは別様に合成される。たとえば、出力ビットストリームは、選択されるビットストリームを一度に1ブロックずつ切り替えることによって作成され得る。別の例では、出力ビットストリームは、ビデオエンコーダ20Aおよび20Bの各々から1:1ではない比のブロックを出力することによって作成され得る。たとえば、ビデオエンコーダ20Aから出力された各ブロックについて、2つのブロックがビデオエンコーダ20Bから出力され得る。いくつかの実施形態では、mux 98からの出力ストリームは事前にプログラムされ得る。他の実施形態では、mux 98は、ビデオエンコーダ23の外部のシステムから、たとえばソースデバイス12を含むソースデバイス上のプロセッサから受信された制御信号に基づいて、ビデオエンコーダ20A、20Bからのビットストリームを合成し得る。制御信号は、ビデオソース18からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザと関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオエンコーダ23から望まれる解像度出力を決定するための任意の他の要因に基づいて生成され得る。
【０１０２】
ビデオデコーダ
図3Aは、本開示において説明される態様による技法を実装し得るビデオデコーダ30の例を示すブロック図である。ビデオデコーダ30は、HEVCの場合のように、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオデコーダ30は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。いくつかの例では、本開示において説明される技法は、ビデオデコーダ30の様々なコンポーネント間で共有され得る。いくつかの例では、追加または代替として、プロセッサ(図示せず)が、本開示で説明される技法のいずれかまたはすべてを実行するように構成され得る。
【０１０３】
説明の目的で、本開示は、HEVCコーディングの状況においてビデオデコーダ30を説明する。しかしながら、本開示の技法は他のコーディング規格または方法に適用可能であり得る。図3Aに示される例は、シングルレイヤコーデックのためのものである。しかしながら、図3Bに関してさらに説明されるように、ビデオデコーダ30の一部またはすべてが、マルチレイヤコーデックの処理のために複製され得る。
【０１０４】
図3Aの例では、ビデオデコーダ30は複数の機能コンポーネントを含む。ビデオデコーダ30の機能コンポーネントは、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換ユニット156と、再構築ユニット158と、フィルタユニット159と、復号ピクチャバッファ160とを含む。予測処理ユニット152は、動き補償ユニット162と、イントラ予測ユニット164と、レイヤ間予測ユニット166とを含む。いくつかの例では、ビデオデコーダ30は、図2Aのビデオエンコーダ20に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。
【０１０５】
ビデオデコーダ30は、符号化されたビデオデータを備えるビットストリームを受信し得る。ビットストリームは、複数のシンタックス要素を含み得る。ビデオデコーダ30がビットストリームを受信するとき、エントロピー復号ユニット150は、ビットストリームに対して解析動作を実行し得る。ビットストリームに対して解析動作を実行した結果として、エントロピー復号ユニット150は、ビットストリームからシンタックス要素を抽出し得る。解析動作を実行することの一部として、エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換ユニット156、再構築ユニット158、およびフィルタユニット159は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成する再構築動作を実行し得る。
【０１０６】
上で論じられたように、ビットストリームは、一連のNALユニットを備え得る。ビットストリームのNALユニットは、ビデオパラメータセットNALユニット、シーケンスパラメータセットNALユニット、ピクチャパラメータセットNALユニット、SEI NALユニットなどを含み得る。ビットストリームに対して解析動作を実行することの一部として、エントロピー復号ユニット150は、シーケンスパラメータセットNALユニットからのシーケンスパラメータセット、ピクチャパラメータセットNALユニットからのピクチャパラメータセット、SEI NALユニットからのSEIデータなどを抽出しエントロピー復号する、解析動作を実行し得る。
【０１０７】
加えて、ビットストリームのNALユニットは、コーディングされたスライスNALユニットを含み得る。ビットストリームに対して解析動作を実行することの一部として、エントロピー復号ユニット150は、コーディングされたスライスNALユニットからコーディングされたスライスを抽出しエントロピー復号する、解析動作を実行し得る。コーディングされたスライスの各々は、スライスヘッダと、スライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャと関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット150は、スライスヘッダを復元するために、コーディングされたスライスヘッダ中のシンタックス要素に対してCABAC復号動作のようなエントロピー復号動作を実行し得る。
【０１０８】
コーディングされたスライスNALユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット150は、スライスデータ中のコーディングされたCUからシンタックス要素を抽出する解析動作を実行し得る。抽出されたシンタックス要素は、変換係数ブロックと関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット150は、次いで、シンタックス要素のいくつかに対してCABAC復号動作を実行し得る。
【０１０９】
エントロピー復号ユニット150が区分されていないCUに対して解析動作を実行した後、ビデオデコーダ30は、区分されていないCUに対して再構築動作を実行し得る。区分されていないCUに対して再構築動作を実行するために、ビデオデコーダ30はCUの各TUに対して再構築動作を実行し得る。CUの各TUについて再構築動作を実行することによって、ビデオデコーダ30は、CUと関連付けられた残差ビデオブロックを再構築し得る。
【０１１０】
TUに対して再構築動作を実行することの一部として、逆量子化ユニット154は、TUと関連付けられた変換係数ブロックを逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)し得る。逆量子化ユニット154は、HEVCのために提案された、またはH.264復号規格によって定義された逆量子化処理と同様の方法で、変換係数ブロックを逆量子化し得る。逆量子化ユニット154は、量子化の程度を決定し、同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定するために、変換係数ブロックのCUのためにビデオエンコーダ20によって計算される量子化パラメータQPを使用し得る。
【０１１１】
逆量子化ユニット154が変換係数ブロックを逆量子化した後、逆変換ユニット156は、変換係数ブロックと関連付けられたTUのための残差ビデオブロックを生成し得る。逆変換ユニット156は、TUのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。たとえば、逆変換ユニット156は、変換係数ブロックに、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット156は、ビデオエンコーダ20からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット156は、変換係数ブロックと関連付けられたツリーブロックのための四分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット156は、ブロックサイズ、コーディングモードなどのような、1つまたは複数のコーディング特性から逆変換を推測し得る。いくつかの例では、逆変換ユニット156はカスケード逆変換を適用し得る。
【０１１２】
いくつかの例では、動き補償ユニット162は、補間フィルタに基づく補間を実行することによって、PUの予測されるビデオブロックを改良し得る。サブサンプル精度を有する動き補償のために使用されるべき補間フィルタ用の識別子は、シンタックス要素に含まれ得る。動き補償ユニット162は、PUの予測されるビデオブロックの生成の間にビデオエンコーダ20によって使用されたのと同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルに対する補間された値を計算し得る。動き補償ユニット162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測されるビデオブロックを生成し得る。
【０１１３】
PUが、イントラ予測を使用して符号化される場合、イントラ予測ユニット164は、イントラ予測を実行してPUのための予測されるビデオブロックを生成し得る。たとえば、イントラ予測ユニット164は、ビットストリーム中のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測ユニット164が使用し得るシンタックス要素を含み得る。
【０１１４】
いくつかの事例では、イントラ予測ユニット164が現在のPUのイントラ予測モードを決定するために別のPUのイントラ予測モードを使用するべきであることを、シンタックス要素が示し得る。たとえば、現在のPUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることが起こり得る。言い換えれば、隣接PUのイントラ予測モードは、現在のPUに対して最確モードであり得る。したがって、この例では、ビットストリームは、PUのイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット164は次いで、空間的に隣接するPUのビデオブロックに基づいてPUのための予測データ(たとえば、予測されるサンプル)を生成するために、イントラ予測モードを使用し得る。
【０１１５】
上で論じられたように、ビデオデコーダ30はレイヤ間予測ユニット166も含み得る。レイヤ間予測ユニット166は、SHVCにおいて利用可能である1つまたは複数の異なるレイヤ(たとえば、ベースレイヤまたは参照/エンハンスメントレイヤ)を使用して、現在のブロック(たとえば、エンハンスメントレイヤ中の現在のブロック)を予測するように構成される。そのような予測は、レイヤ間予測と呼ばれ得る。レイヤ間予測ユニット166は、レイヤ間冗長性を低減するための予測方法を利用し、それによって、コーディング効率を改善し、計算リソースの要件を下げる。レイヤ間予測のいくつかの例は、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測を含む。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在のブロックを予測するために、ベースレイヤ中の並置されたブロックの再構築を使用する。レイヤ間動き予測は、エンハンスメントレイヤ中の動作を予測するために、ベースレイヤの動き情報を使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。レイヤ間予測方式の各々が、以下でより詳細に論じられる。
【０１１６】
再構築ユニット158は、適用可能なとき、CUのTUと関連付けられた残差ビデオブロックとCUのPUの予測されるビデオブロックとを使用して、たとえば、イントラ予測データまたはインター予測データのいずれかを使用して、CUのビデオブロックを再構築し得る。したがって、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、予測されるビデオブロックと残差ビデオブロックとを生成することができ、予測されるビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成することができる。
【０１１７】
再構築ユニット158がCUのビデオブロックを再構築した後、フィルタユニット159は、CUと関連付けられるブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。フィルタユニット159が、CUと関連付けられたブロッキングアーティファクトを低減するためにデブロッキング動作を実行した後、ビデオデコーダ30はCUのビデオブロックを復号ピクチャバッファ160に記憶し得る。復号ピクチャバッファ160は、次の動き補償、イントラ予測、および図1Aまたは図1Bのディスプレイデバイス32のようなディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ160中のビデオブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行し得る。
【０１１８】
マルチレイヤデコーダ
図3Bは、本開示において説明される態様による技法を実装し得る(単にビデオデコーダ33とも呼ばれる)マルチレイヤビデオデコーダ33の例を示すブロック図である。ビデオデコーダ33は、SHVCおよびマルチビューコーディングの場合のように、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオデコーダ33は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。
【０１１９】
ビデオデコーダ33はビデオデコーダ30Aとビデオデコーダ30Bとを含み、それらの各々はビデオデコーダ30として構成されてよく、ビデオデコーダ30に関して上で説明された機能を実行し得る。さらに、参照番号の再利用によって示されるように、ビデオデコーダ30Aおよび30Bは、ビデオデコーダ30としてのシステムとサブシステムと少なくともいくつかを含み得る。ビデオデコーダ33は、2つのビデオデコーダ30Aおよび30Bを含むように示されるが、ビデオデコーダ33は、そのように限定されず、任意の数のビデオデコーダ30のレイヤを含み得る。いくつかの実施形態では、ビデオデコーダ33はアクセスユニット中の各ピクチャまたは各フレームに対してビデオデコーダ30を含み得る。たとえば、5つのピクチャを含むアクセスユニットは、5つのデコーダレイヤを含むビデオデコーダによって処理または復号され得る。いくつかの実施形態では、ビデオデコーダ33は、アクセスユニット中のフレームよりも多くのデコーダレイヤを含み得る。いくつかのそのような場合、ビデオデコーダのレイヤのいくつかは、いくつかのアクセスユニットを処理するときに無効であり得る。
【０１２０】
ビデオデコーダ30Aおよび30Bに加えて、ビデオデコーダ33は、アップサンプリングユニット92を含み得る。いくつかの実施形態では、アップサンプリングユニット92は、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのベースレイヤをアップサンプリングし得る。このエンハンストレイヤは、復号ピクチャバッファ160に記憶され得る。いくつかの実施形態では、アップサンプリングユニット92は、図2Aのリサンプリングユニット90に関して説明された実施形態の一部またはすべてを含み得る。いくつかの実施形態では、アップサンプリングユニット92は、レイヤをアップサンプリングし、スライス境界ルールおよび/またはラスター走査ルールのセットに適合するように1つまたは複数のスライスを再編成し、再定義し、修正し、または調整するように構成される。いくつかの場合、アップサンプリングユニット92は、受信されたビデオフレームのレイヤをアップサンプリングおよび/またはダウンサンプリングするように構成されたリサンプリングユニットであり得る。
【０１２１】
アップサンプリングユニット92は、下位レイヤデコーダ(たとえば、ビデオデコーダ30A)の復号ピクチャバッファ160からピクチャまたはフレーム(またはピクチャと関連付けられたピクチャ情報)を受信し、ピクチャ(または受信されたピクチャ情報)をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは次いで、下位レイヤデコーダと同じアクセスユニット中のピクチャを復号するように構成された上位レイヤデコーダ(たとえば、ビデオデコーダ30B)の予測処理ユニット152に提供され得る。いくつかの場合、上位レイヤデコーダは、下位レイヤデコーダから除去された1つのレイヤである。他の場合には、図3Bのレイヤ0デコーダとレイヤ1デコーダとの間に1つまたは複数の上位レイヤデコーダがあり得る。
【０１２２】
いくつかの場合、アップサンプリングユニット92は省略またはパイパスされ得る。そのような場合、ビデオデコーダ30Aの復号ピクチャバッファ160からのピクチャは、直接または少なくともアップサンプリングユニット92に与えられることなく、ビデオデコーダ30Bの予測処理ユニット152に提供され得る。たとえば、ビデオデコーダ30Bに提供されたビデオデータ、およびビデオデコーダ30Aの復号ピクチャバッファ160からの参照ピクチャが、同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングを伴わずにビデオデコーダ30Bに提供され得る。さらに、いくつかの実施形態では、アップサンプリングユニット92は、ビデオデコーダ30Aの復号ピクチャバッファ160から受信された参照ピクチャを、アップサンプリングまたはダウンサンプリングするように構成されたリサンプリングユニット90であり得る。
【０１２３】
図3Bに示されているように、ビデオデコーダ33は、デマルチプレクサ(またはdemux)99をさらに含み得る。demux 99は符号化されたビデオビットストリームを複数のビットストリームに分割することができ、demux 99によって出力された各ビットストリームは異なるビデオデコーダ30Aおよび30Bに提供される。複数のビットストリームは、ビットストリームを受信することによって作成されてよく、ビデオデコーダ30Aおよび30Bの各々は、所与の時間においてビットストリームの一部分を受信する。いくつかの場合、demux 99において受信されるビットストリームからのビットは、ビデオデコーダの各々(たとえば、図3Bの例ではビデオデコーダ30Aおよび30B)の間で、一度に1ビットずつ切り替えられ得るが、多くの場合、ビットストリームは異なるように分割される。たとえば、ビットストリームは、どのビデオデコーダがビットストリームを受信するかを一度に1ブロックずつ切り替えることによって分割され得る。別の例では、ビットストリームは、1:1の比ではないブロックによって、ビデオデコーダ30Aおよび30Bの各々に分割され得る。たとえば、2つのブロックは、ビデオデコーダ30Aに提供される各ブロックについてビデオデコーダ30Bに提供され得る。いくつかの実施形態では、demux 99によるビットストリームの分割は、事前にプログラムされ得る。他の実施形態では、demux 99は、ビデオデコーダ33の外部のシステムから、たとえば宛先モジュール14を含む宛先デバイス上のプロセッサから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース28からのビデオの解像度またはビットレートに基づいて、リンク16の帯域幅に基づいて、ユーザと関連付けられたサブスクリプション(たとえば、有料サブスクリプション対無料サブスクリプション)に基づいて、またはビデオデコーダ33によって取得可能な解像度を決定するための任意の他の要因に基づいて生成され得る。
【０１２４】
イントラランダムアクセスポイント(IRAP)ピクチャ
いくつかのビデオコーディング方式は、様々なランダムアクセスポイントを、ビットストリーム中でランダムアクセスポイントに先行するいかなるピクチャも復号する必要なくそれらのランダムアクセスポイントのいずれかからビットストリームの復号が開始され得るように、ビットストリーム全体にわたって提供し得る。そのようなビデオコーディング方式では、ランダムアクセススキップ先頭(RASL)ピクチャを除いて、復号順序においてランダムアクセスポイントに後続するすべてのピクチャは、ランダムアクセスポイントに先行するいかなるピクチャも使用することなく正確に復号され得る。たとえば、ビットストリームの一部分が送信の間または復号の間に失われても、デコーダは、次のランダムアクセスポイントからビットストリームの復号を再開することができる。ランダムアクセスのサポートは、たとえば、動的なストリーミングサービス、検索動作、チャネル切替えなどを容易にし得る。
【０１２５】
いくつかのコーディング方式では、そのようなランダムアクセスポイントは、イントラランダムアクセスポイント(IRAP)ピクチャと呼ばれるピクチャによって提供され得る。たとえば、アクセスユニット(「auA」)に含まれているエンハンスメントレイヤ(「layerA」)中のエンハンスメントレイヤIRAPピクチャと関連付けられたランダムアクセスポイントは、「layerB」中にあり復号順序においてauAに先行するアクセスユニット(「auB」)に含まれるピクチャと関連付けられたランダムアクセスポイント(または、auAに含まれているランダムアクセスポイント)を有するlayerAの各参照/エンハンスメントレイヤ(「layerB」)(たとえば、layerAを予測するために使用されるレイヤである参照レイヤ)について、復号順序においてauAに後続するlayerA中のピクチャ(auA中に位置するピクチャを含む)が、auAに先行するlayerA中のいかなるピクチャも復号する必要なく正確に復号可能であるように、レイヤ固有のランダムアクセスを提供し得る。
【０１２６】
IRAPピクチャは、イントラ予測を使用してコーディングされ(たとえば、他のピクチャを参照することなくコーディングされ)および/またはレイヤ間予測を使用してコーディングされてよく、たとえば、瞬時デコーダリフレッシュ(IDR)ピクチャと、クリーンランダムアクセス(CRA)ピクチャと、ブロークンリンクアクセス(BLA)ピクチャとを含み得る。ビットストリーム中にIDRピクチャがあるとき、復号順序においてIDRピクチャに先行するすべてのピクチャは、IDRピクチャに後続するピクチャによる予測のために使用されない。ビットストリーム中にCRAピクチャがあるとき、CRAピクチャに後続するピクチャは、復号順序においてCRAピクチャに先行するピクチャを予測のために使用することも、使用しないこともある。復号順序においてCRAピクチャに後続するが、復号順序においてCRAピクチャに先行するピクチャを使用するピクチャは、RASLピクチャと呼ばれることがある。復号順序においてIRAPピクチャに後続し、出力順序においてIRAPピクチャに先行し得る別のタイプのピクチャは、復号順序においてIRAPピクチャに先行するいかなるピクチャへの参照も含まないことがあるランダムアクセス復号可能先頭(RADL)ピクチャである。CRAピクチャに先行するピクチャが利用可能ではない場合、RASLピクチャはデコーダによって廃棄され得る。BLAピクチャは、(たとえば、2つのビットストリームが互いに接合され、BLAピクチャが復号順序において第2のビットストリームの最初のピクチャであるので)BLAピクチャに先行するピクチャがデコーダにとって利用可能ではない可能性があることを、デコーダに示す。IRAPピクチャである(たとえば、0というレイヤ識別子(ID)値を有する)ベースレイヤピクチャを含むアクセスユニット(たとえば、複数のレイヤにわたって同じ出力時間と関連付けられたすべてのコーディングされたピクチャからなるピクチャのグループ)は、IRAPアクセスユニットと呼ばれることがある。
【０１２７】
SEIメッセージ
いくつかのビデオコーディング方式は、SEIメッセージを含み得る。SEIメッセージは、ビットストリーム内のコーディングされたピクチャのデータまたは使用を強化するためにビットストリームに挿入され得る、さらなる情報を備え得る。しかしながら、SEIメッセージは任意選択であるので、SEIメッセージは、ビットストリームのコーディングされたピクチャを復号するために必要な情報を何ら含まない。たとえば、SEIメッセージは、メタデータ、復号を支援し得る情報、または、ビットストリーム中のデータをどのように最良に表示するかについてのヒントを備え得る。SEIメッセージは、プレフィックスタイプのメッセージとサフィックスタイプのメッセージのいずれかであり得る。
【０１２８】
従来のシングルレイヤコーディング方式(たとえば、HEVC)では、各アクセスユニットは、単一のレイヤに対して単一のピクチャを一意に含む。シングルレイヤコーディング方式の各アクセスユニットは単一のピクチャを含むので、「アクセスユニット」および「ピクチャ」という用語は、シングルレイヤコーディング方式の状況では交換可能に使用されることが可能であった。たとえば、SEIメッセージの利用および適用に関して、アクセスユニットと関連付けられるSEIメッセージはアクセスユニット内に含まれるピクチャとも関連付けられることが明確であった。
【０１２９】
しかしながら、マルチレイヤコーディング方式のアクセスユニット(たとえば、SHVC/MV-HEVC)は、ビットストリームの各レイヤに対して別個のピクチャを含み得る。言い換えれば、マルチレイヤビットストリームでは、単一のアクセスユニットが、同じPOC値を有する複数のピクチャを格納する(すなわち、含む、または備える)ことがある。従来のシングルレイヤコーディング方式のSEIメッセージはアクセスユニットの単一のピクチャと関連付けられるので、これらのシングルレイヤコーディング方式は、SEIメッセージがマルチレイヤコーディング方式の2つ以上のオペレーションポイントまたはレイヤにどのように厳密に適用されるかを定義するための、必要とされるセマンティクスを有しないことがある。マルチレイヤコーディング方式におけるSEIメッセージに関するこの曖昧さは、ビデオエンコーダまたはデコーダの実装が、マルチレイヤコーディング方式のアクセスユニット内の可能性のある複数のピクチャの中のピクチャとSEIメッセージを制約なく関連付けることを許容する。したがって、マルチレイヤコーディング方式におけるピクチャ、オペレーションポイント、またはレイヤとのSEIメッセージの関連は、常に正確または適切であるとは限らない。したがって、2つ以上のオペレーションポイント、レイヤ、および/またはピクチャに適用されるSEIメッセージに関するビデオエンコーダおよびデコーダの挙動は予測可能ではなく、異なる実装の間で変わることがあり、その結果、これらの異なる実装はビデオシーケンスを矛盾なく符号化/復号することができない。たとえば、いくつかの場合、SEIメッセージが1つのピクチャと関連付けられるべきか、ピクチャのサブセットと関連付けられるべきか、または対応するアクセスユニットのすべてのピクチャと関連付けられるべきかが明確ではないことがあり、適切なセマンティクスを伴わずに扱われたSEIメッセージは不適切に関連付けられることがある。
【０１３０】
代替的に、または加えて、ネストされていないSEIメッセージは、ビットストリームのための最大の時間ID(Tid)であるTidを有しビットストリームのレイヤのすべてを含むオペレーションポイントに適用され得る。
【０１３１】
したがって、本開示の1つの目的は、SEIメッセージが2つ以上のオペレーションポイントまたはレイヤに適用されるときに、SEIメッセージの範囲がマルチレイヤコーディング方式内のアクセスユニットの1つまたは複数のピクチャと曖昧さを伴わずに関連付けられ得るように、SEIメッセージのセマンティクスを明確にすることである。加えて、本開示の目的は、SEIメッセージの持続範囲を明確にすることであり、それは、シングルレイヤコーディング方式のSEIメッセージのセマンティクスを使用するSEIメッセージの持続範囲は、アクセスユニット内の複数の可能性のあるピクチャのうちのどの1つまたは複数のピクチャにある特定の持続範囲が適用されるかについて、明確に指定されないことがあるからである。
【０１３２】
本開示によれば、マルチレイヤコーディング方式において実装されるSEIメッセージは、アクセスユニットの1つまたは複数のピクチャ、1つまたは複数のオペレーションポイント、および/または1つまたは複数のレイヤと関連付けられることがあり、かつ/またはそれらに適用されることがある。SEIメッセージが2つ以上のオペレーションポイントまたはレイヤに適用されるとき、SEIメッセージのセマンティクスは、SEIメッセージがマルチレイヤコーディング方式内のアクセスユニットの特定のピクチャ、オペレーションポイント、および/またはレイヤと曖昧さを伴わずに関連付けられ得るように、修正され、または明確にされ得る。本開示に従ってセマンティクスを明確にすることにより、ビデオエンコーダ/デコーダの挙動はより予測可能になり、したがって、これらのビデオエンコーダ/デコーダの異なる実装形態の間でのSEIメッセージの処理は、シングルレイヤコーディング方式のセマンティクスを使用したマルチレイヤコーディング方式よりも一貫する。本開示の技法/方式が、シングルレイヤビデオコーディング方式を利用するレガシーデバイスによって利用され得るように、本開示の技法/方式は「後方」互換性がありまたは「下位」互換性があり得る。さらに、本開示の技法/方式は、マルチレイヤアクセスユニット内の1つまたは複数のピクチャ、1つまたは複数のオペレーションポイント、および/または1つまたは複数のレイヤに適用され得る様々なSEIメッセージとともに利用され得る。
【０１３３】
マルチレイヤコーディング方式におけるSEIメッセージは、SEIメッセージのタイプおよびSEIメッセージが何に適用されるかに応じて、アクセスユニットに異なるように適用され得る。たとえば、SEIメッセージは、レイヤのセットのうちの1つのレイヤに、またはオペレーションポイントのセットのうちの1つのオペレーションポイントに適用されるように構成され得る。オペレーションポイントは、それらのレイヤのための1つまたは複数の固有の時間IDのある範囲において、レイヤのリストを備え得る。たとえば、オペレーションポイントは、2つの時間ID(0および1というID)の範囲において3つのレイヤ(レイヤ0、1、および2)のリストを備えることがあり、3つのレイヤの各々が、時間ID0および1の各々において考慮される(コーディングされる)。したがって、オペレーションポイントは、復号/符号化されるべきビデオ情報のビットストリーム全体のビットストリームのサブセットを備え得る。
【０１３４】
たとえば、マルチレイヤビットストリームのアクセスユニットのためのSEIメッセージが、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニット情報SEIメッセージの1つであり、SEIメッセージがオペレーションポイントのセットに適用されるとき(たとえば、SEIメッセージがレイヤのセットの代わりにオペレーションポイントのセットに適用されるとき)、SEIメッセージのセマンティクスは、SEIメッセージが適用されるオペレーションポイントのセットの各オペレーションポイントに独立に適用され得る。このことは、SEIメッセージのセマンティクスの各々がオペレーションポイントのセットのうちのオペレーションポイントの各々に独立に適用されることが可能であり、オペレーションポイントのセットのうちのオペレーションポイントのサブセットの間で分割され得ないということを意味する。したがって、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニット情報SEIメッセージの1つのセマンティクスは各々、SEIメッセージが適用されるオペレーションポイントの各々のための最大の時間IDまで、レイヤのリストのうちのレイヤの各々に独立に適用され得る。たとえば、第1のSEIメッセージがオペレーションポイントのセットに適用され、0、1、または130に等しいpayloadType値を有する場合、第1のSEIメッセージのセマンティクスは、第1のSEIメッセージにおいて示されるオペレーションポイントのセットのうちの各オペレーションポイントに独立に適用される。加えて、SEIメッセージの1つまたは複数のセマンティクスは、オペレーションポイントのセットのうちの各オペレーションポイントの適切なビットストリームに適用されるように再定義され得る。
【０１３５】
SEIメッセージが関連付けられるオペレーションポイントにSEIメッセージを独立に適用することは、SEIメッセージが3つのオペレーションポイント0、1、および2(OP0、1、および2)に適用される場合に、SEIメッセージのセマンティクスがOP0、OP1、およびOP2の各々に独立に適用されることを意味する。本明細書で開示されるようにSEIメッセージのセマンティクスを修正または明確化するとき、SHVC/MV-HEVC規格における参照が同様に、修正および/または明確化され得る。たとえば、上で説明されたようにSEIメッセージがオペレーションポイントのセット中の各オペレーションポイントに独立に適用されるとき、SHVC/MV-HEVC規格の「現在のSEIメッセージ」という語句は、そのSEIメッセージに適用されるいずれのものも現在のSEIメッセージに適用されるように、利用可能なSEIメッセージの1つとして読まれるべきである。同様に、MV-HEVCの「現在のオペレーションポイント」という語句は、利用可能なオペレーションポイントの1つを意味するものとして読まれてよく、利用可能なオペレーションポイントのうちのその1つのオペレーションポイントに適用されるいずれのものも、現在のオペレーションポイントに適用される。「アクセスユニット」および「符号化ビデオシーケンス(CVS)」という用語は、現在のオペレーションポイントによって定義されるようにアクセスユニットに適用され得る(すなわち、BitstreamToDecode)。たとえば、ビットストリームが4つのレイヤ(レイヤ0、1、2、および3)を有するが、現在のオペレーションポイントが3つのレイヤ(レイヤ0、1、および3)しか含まない場合、「アクセスユニット」は、現在のオペレーションポイントのピクチャ、言い換えると、レイヤ0、1、および3のピクチャを含むアクセスユニットを指す。これは、復号が特定の動作において行われるとき、そのオペレーションポイントのレイヤセットに含まれないレイヤはBitstreamToDecodeに含まれないからである。
【０１３６】
図4Aは、例示的な実施形態による、SEIメッセージのセマンティクスをオペレーションポイントのセットの各オペレーションポイントと、またはレイヤのセットの各レイヤと独立に関連付けるための方法を示すフローチャート400である。フローチャート400のステップまたはブロックは、図1〜図3Bに関して上で説明されたコーディングおよび復号システムのコントローラ、プロセッサ、または他のコンポーネントのいずれかによって実行され得る。
【０１３７】
ブロック410において、方法は、現在のSEIメッセージが0、1、または130というペイロードタイプを有する(ネストされていないSEIメッセージがバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージであることをそれぞれ示す)ネストされていないSEIメッセージであるかどうかを決定することによって開始する。SEIメッセージが0、1、または130というペイロードタイプを有するネストされていないSEIメッセージである場合(たとえば、SEIメッセージがネストされていないバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージである場合)、方法はブロック412に進む。しかしながら、SEIメッセージが0、1、または130というペイロードタイプを有するネストされていないSEIメッセージではない場合(たとえば、ネストされていないバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージではない場合)、方法はブロック414に進む。ブロック412において、方法は、ビットストリームのための最大のTidであるTidを有しビットストリームのすべてのレイヤを含むオペレーションポイントに、SEIメッセージのセマンティクスを適用する。
【０１３８】
ブロック414において、方法は、SEIメッセージがバッファ期間メッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージの1つであるかどうかを決定する。この決定は、SEIメッセージのフィールド(またはセマンティクス)の値を特定することによって行われる。いくつかの実施形態では、このフィールドはpayloadTypeフィールドであり得る。いくつかの実施形態では、payloadTypeフィールドは、整数または他のデータタイプフィールドであってよく、このフィールドに記憶されている値は、SEIメッセージのタイプを示す。たとえば、SEIメッセージのpayloadTypeフィールドの値が0、1、または130に等しいとき、SEIメッセージは、それぞれ、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、または復号ユニット情報SEIメッセージであり得る。いくつかの実施形態では、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニットSEIメッセージは、オペレーションポイントのセットに適用されてよく、このセットは1つまたは複数のオペレーションポイントを備える。payloadTypeフィールドが{0, 1, 130}を除くいずれかに等しい値を有する場合、SEIメッセージは、1つまたは複数のオペレーションポイントまたはレイヤに適用されてよく、バッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニット情報SEIメッセージの1つではないことがある。したがって、ブロック414において、SEIメッセージのpayloadTypeが{0, 1, 130}の1つに等しい場合、方法はブロック418に進む。payloadTypeが{0, 1, 130}の1つに等しくない場合、方法はブロック416に進む。ブロック416において、{0, 1, 130}の1つのpayloadTypeを有しないSEIメッセージのセマンティクスは各々、SEIメッセージが適用されるレイヤのセットの各レイヤに独立に適用される。
【０１３９】
ブロック418において、方法は、SEIメッセージがオペレーションポイントまたはレイヤに適用されるかどうかを決定する。SEIメッセージがオペレーションポイントに適用される場合、方法はブロック420に進む。SEIメッセージがレイヤに適用される場合、方法はブロック422に進む。ブロック420において、SEIメッセージのセマンティクスは、SEIメッセージが適用されるすべてのオペレーションポイントに独立に適用される。したがって、SEIメッセージが2つのオペレーションポイントに適用されるものとして特定される場合、SEIメッセージのセマンティクスの各々は、2つのオペレーションポイント(および対応するレイヤ)の各々に独立に適用される。ブロック422において、SEIメッセージがレイヤに(たとえば、単一のオペレーションポイントに)適用されるとき、SEIメッセージのセマンティクスは、SEIメッセージおよび/またはセマンティクスに従って一緒にレイヤのセットに適用され得る。たとえば、各SEIメッセージは、SEIメッセージがどのレイヤに適用されるかを示すフィールド(またはセマンティクス)を備え得る。SEIメッセージのセマンティクスは、それらの指示に従って適用され得る。
【０１４０】
いくつかの実施形態では、特定のSEIメッセージの存在および関連付けは、様々な条件に依存し得る。たとえば、上で説明されたように、いくつかの実施形態では、SEIメッセージのシンタックスおよびセマンティクスは、1つまたは複数のSEIメッセージの関連付けを決定することができる。いくつかの実施形態では、スライスヘッダにおいて見出される情報が、SEIメッセージの存在を修正または明確化し得る。たとえば、あるオペレーションポイントに対するバッファリング期間SEIメッセージの存在は、バッファリング期間SEIメッセージが適用されるアクセスユニットに依存し得る。1つまたは複数の他のピクチャを復号するための能力に影響を与えることなく意図的に廃棄されることが可能ではない少なくとも1つのピクチャをアクセスユニットが有する場合、アクセスユニットは、それと関連付けられるバッファリング期間SEIメッセージを有し得る。そのような事例では、関連付けられるピクチャの廃棄可能性を示すdiscardable_flagフィールド(スライスヘッダ中のフィールド)は「1」に等しくてよく、関連付けられるピクチャが別のピクチャの復号可能性に影響を与えることなく廃棄可能ではないことを示す。代替的に、discardable_flagフィールドが「0」という値を含むとき、関連付けられるピクチャは、別のピクチャを復号するための能力に影響を与えることなく廃棄され得る。他のSEIメッセージは、所与のアクセスユニット、ピクチャ、オペレーションポイント、またはレイヤに関連して、SEIメッセージの存在に対して課される同様のまたは異なる条件を有し得る。
【０１４１】
図4Bは、本開示のある実施形態による、オペレーションポイントに適用されるSEIメッセージ間の関連を示すブロック図である。図4Bのマルチレイヤビットストリーム450(単にビットストリーム450とも呼ばれる)は、ベースレイヤ470A(「0」に等しい識別子「ID」を有するBL470A)、第1のエンハンスメントレイヤ470B(「1」に等しい識別子「ID」を有するEL470B)、および第2のエンハンスメントレイヤ470C(「2」に等しい識別子「ID」を有するEL470C)を含む。図4Bのビットストリーム450は、ベースレイヤBL470AならびにエンハンスメントレイヤEL470Bおよび470Cを含むものとして示されるが、ビットストリーム450は、より多数または少数のエンハンスメントレイヤを含み得る。いくつかの実施形態では、エンハンスメントレイヤは、ベースレイヤ470Aのコーディングに基づいてコーディングされ得る。いくつかの実施形態では、エンハンスメントレイヤは、ベースレイヤ470Aとは異なるビューを備え得る。マルチビュービットストリームの一例は、左眼ビューレイヤと右眼ビューレイヤとを含む3次元(3D)ビデオビットストリームである。
【０１４２】
再び図4Bを参照すると、ビットストリーム450は、複数のオペレーションポイント(OP)452〜460を含む。各オペレーションポイントは、レイヤBL470AならびにEL470Bおよび470Cのための時間的な瞬間(時間IDを有する)に対応する。いくつかの実施形態では、示されるオペレーションポイントの1つまたは複数は、ある時間的な瞬間の範囲、たとえば時間ID0および1を備えるオペレーションポイント454に対応し得る。いくつかの実施形態では、レイヤの各々が、対応するオペレーションポイントの所与の時間IDにおける1つまたは複数のピクチャを備え得る。いくつかの実施形態では、この図には示されないが、オペレーションポイントは、ある時間的な点の範囲のような、2つ以上の時間IDを備え得る。図4Bの実施形態では、SEIメッセージ451は、(たとえば、SEIメッセージがバッファリング期間SEIメッセージ、ピクチャタイミングSEIメッセージ、および復号ユニット情報SEIメッセージの1つを備えるとき)1つまたは複数のオペレーションポイントのセットに適用されるSEIメッセージを表す。上の説明に関連してSEIメッセージ451のハッチングによって示されるように、SEIメッセージ451のセマンティクスは、SEIメッセージ451が適用されるオペレーションポイントのセットの各オペレーションポイント、すなわちオペレーションポイントOP452およびOP454に独立に適用され得る。したがって、図4Bによって示されるように、SEIメッセージ451は、矢印461によって示されるようなオペレーションポイントOP452と、矢印462によって示されるようなオペレーションポイントOP454との各々に独立に適用される。
【０１４３】
上で説明されたように、SEIメッセージは、(たとえば、1つまたは複数のオペレーションポイントのセットのうちの1つまたは複数のオペレーションポイントの代わりに)レイヤのセットのうちの1つまたは複数のレイヤに適用され得る。したがって、SEIメッセージのセマンティクスは、SEIメッセージのターゲットフィールドの値に対応する識別子を有するレイヤのセットの各レイヤに適用され得る。たとえば、第2のSEIメッセージが1つまたは複数のレイヤのセットに適用される場合、第2のSEIメッセージのセマンティクスは、第2のSEIメッセージのターゲットフィールドの値に等しい識別子の値を有する各レイヤに独立に適用されてよく、各レイヤは1つまたは複数のレイヤのセットに属する。
【０１４４】
図4Cは、本開示のある実施形態による、レイヤおよび複数のピクチャに適用されるSEIメッセージ間の関連を示すブロック図である。図4Cのマルチレイヤビットストリーム480(単にビットストリーム480とも呼ばれる)は、図4Bは各レイヤと関連付けられる時間的な識別子を備えるが、図4Cは各レイヤと関連付けられるオペレーションポイントの代わりにピクチャおよびアクセスユニットを備えることを除き、図4Bのマルチレイヤビットストリームと同様である。したがって、各AU482〜488は、各レイヤからの1つのピクチャを含む。たとえば、AU482は、BL470Aピクチャ472Aと、EL470Bピクチャ472Bと、EL470Cピクチャ472Cとを含む。
【０１４５】
図4Cには2つのSEIメッセージも示されている。2つのSEIメッセージは、リカバリポイントSEIメッセージであり得るので、「6」というpayloadType値を有し得る。したがって、2つのリカバリポイントSEIメッセージは、レイヤのセットのうちの少なくとも1つのレイヤに適用されてよく、2つのリカバリポイントSEIメッセージは各々、「1」および「2」という値をそれぞれ備えるtargetLayerIdセマンティクスを含み得る。したがって、リカバリポイントSEIメッセージは各々、「1」および「2」というnuh_layer_id値を有する特定のレイヤにそれぞれ適用され得る。図4Cによって示される実施形態では、ピクチャ472Cは、targetLayerId値「2」を有するリカバリポイントSEIメッセージのリカバリポイントピクチャとして示され得るが、ピクチャ476Bは、targetLayerId値「1」を有するリカバリポイントSEIメッセージのリカバリポイントピクチャとして示され得る。
【０１４６】
いくつかの実施形態では、SEIメッセージがパンスキャン矩形SEIメッセージ、プログレッシブ高画質化セグメント開始SEIメッセージ、フィルム粒度特性SEIメッセージ、トーンマッピング情報SEIメッセージ、フレームパッキング構成SEIメッセージ、および表示方向SEIメッセージの1つであるとき、持続範囲に関するSEIメッセージのセマンティクスは、レイヤ固有となるように明確にされ得る。たとえば、上で列挙されたSEIメッセージは、現在のレイヤに対する持続性を指定するシンタックスを含み得る。各々の列挙されたSEIメッセージのためのシンタックスは、persistence_flag値(すなわち、film_grain_characteristics_persistence_flagまたはtone_map_persistence_flag)を含み得る。持続性フラグシンタックスは、新たなCVSが開始するまで、現在のビットストリームが終了するまで、または現在のレイヤに適用されるのと同じタイプの別のSEIメッセージを有する現在のレイヤ中の別のピクチャが復号され始めるまで、現在のレイヤに対する持続性を示し得る。したがって、対応するSEIメッセージのセマンティクスは、SEIメッセージによって示されるように、現在のレイヤまたは指定されたレイヤだけに適用され得る。たとえば、上で論じられたSEIメッセージを参照すると、SEIメッセージの1つが第2のレイヤに適用されるものとして示される(たとえば、targetLayerIdの値が2である)とき、そのSEIメッセージのセマンティクス(たとえば、フィルム粒度特性SEIメッセージのfilm_grain_characteristics_cancel_flagおよびフィルム粒度特性SEIメッセージのfilm_grain_characteristics_persistence_flag)は第2のレイヤに適用されてよく、したがって、関連付けられる持続性関連のセマンティクスがそのレイヤ(すなわち、レイヤ2)に適用されることを指定し得る。これらの持続性関連のセマンティクスは、新たなCVSが開始するまで、ビットストリームが終了するまで、または、レイヤ2に適用可能なフィルム粒度特性SEIメッセージを有しより大きなPOC値を有するレイヤ2中の別のピクチャが復号され始めるまで、適用され得る。
【０１４７】
いくつかの実施形態では、時間的サブレイヤゼロインデックスSEIメッセージは、欠けているコーディングされたピクチャをデコーダが検出するのを支援するために使用され得る情報を提供し得る。時間的サブレイヤゼロインデックスSEIは、0に等しいTidを有するピクチャにインデックスを与え得るので、デコーダが0に等しいTidを有するピクチャに遭遇したが、ピクチャのインデックスに、0に等しいTidを有する以前のピクチャとの差がある場合に、デコーダはそれを認識することができる。この差は通常、ピクチャの喪失がある場合に発生する。したがって、このSEIは、失われたピクチャがあることをデコーダが理解するのを助けることが可能である。しかしながら、0に等しいTidを有するピクチャが廃棄可能なピクチャでもある(すなわち、discardable_flagが0に等しい)ときに、問題があり得る。廃棄可能なピクチャが0に等しいTidを有し、デコーダに到達する前に(エンティティ、たとえばスマートルータによって)ビットストリームから廃棄される(除去される)とき、デコーダは、ピクチャが実際には失われたのではなく意図的に除去された場合に、失われたピクチャがあると誤って判断することがある。
【０１４８】
時間的サブレイヤ0インデックスSEIメッセージは、現在のピクチャが0に等しい時間ID(Tid)を有するときに、現在のピクチャのための時間的サブレイヤゼロインデックスを示すシンタックス要素temporal_sub_layer_zero_idxを含み得る。代替的に、temporal_sub_layer_zero_idxシンタックス要素は、0に等しいTidを有する、復号順序において先行する現在のレイヤ中のピクチャに対する時間的サブレイヤゼロインデックスを示し得る。いくつかの実施形態では、時間的サブレイヤゼロインデックスSEIメッセージのセマンティクスは、スライスヘッダ、たとえばピクチャのdiscardable_flag要素の値を考慮するように明確にされ得る。たとえば、現在のピクチャが別のピクチャを復号するための能力に影響を与えることなく意図的に廃棄されることが可能ではないアンカーピクチャであるときに、要素の値が増大のみするように、temporal_sub_layer_zero_idx要素は制約され得る。たとえば、現在のピクチャが0よりも大きなTidを有する場合、または現在のピクチャのdiscardable_flag値が0である場合、これは現在のピクチャが廃棄可能であることを示し、temporal_sub_layer_zero_idxの値はインクリメントされない。したがって、値をtemporal_sub_layer_zero_idx要素へと修正し、または割り当てるとき、時間的サブレイヤゼロインデックスSEIメッセージのセマンティクスは、関連するピクチャのスライスヘッダのdiscardable_flag要素の値を考慮するように修正される。
【０１４９】
シーケンスパラメータセット(SPS)
いくつかのビデオコーディング方式はさらに、SPSのようなパラメータセットを含み得る。パラメータセットは、いくつかの共通の制御パラメータをデコーダに搬送することができ、それは、それらの制御パラメータが1つまたは複数のコーディングされるスライスに関するからである。コーディングされたスライスと独立に送信されるパラメータセットに含まれるパラメータがあることで効率が向上することがあり、それは、複数のコーディングされたスライスに適用される情報が、各々のコーディングされたスライスのために個別に送信されるのとは対照的に、一回で送信され得るからである。いくつかの実施形態では、SPSは、ビデオシーケンスに共通の1つまたは複数のパラメータを備え得る。たとえば、SPSは、参照フレームの最大の数のような、ビデオフレームのサイズまたはデコーダの制約に関する情報を備え得る。加えて、各SPSは、SPS内で特定される一意な識別子を備え得る。SPSは、有効にされたPPSによって有効にされるまで「無効」なままであり得る。事実上、瞬時デコーダリフレッシュ(IDR)アクセスユニットである。SPSは、SPSが適用される符号化ビデオシーケンスの処理が完了するまで、有効なままであり得る。
【０１５０】
従来のシングルレイヤコーディング方式(たとえば、HEVC)では、ビデオシーケンスは、単一のピクチャを各々一意に含むアクセスユニットのシーケンスを含む。ビデオシーケンスの各アクセスユニットは単一のピクチャを含むので、ビデオシーケンスと関連付けられるSPSは、アクセスユニット内の単一のピクチャと関連付けられることが知られている。たとえば、SPS0は、ビデオシーケンスの始めに送信される。ビデオシーケンスは、SPS0を有効にするIDR0と、それに続く複数のスライスとを備え得る。デコーダは、後続のIDR1が続いて通信されるSPS1を有効にするまで、SPS0のパラメータを使用し得る。したがって、デコーダは、IDR0とIDR1との間の複数のスライスを復号するために、SPS0のパラメータを使用する。加えて、従来のシングルレイヤ方式では、1つのSPSしか有効なパラメータセットにおいてシグナリングされ得ない。
【０１５１】
しかしながら、上で論じられたように、マルチレイヤコーディング方式のアクセスユニットは、ビットストリームの各レイヤに対して別個のピクチャを含み得る。言い換えれば、上でやはり論じられたように、マルチレイヤビットストリームでは、単一のアクセスユニットが、複数のレイヤの中に複数のピクチャを格納する(すなわち、含む、または備える)ことがある。従来のシングルレイヤコーディング方式では、SPSは単一のピクチャを有する単一のレイヤと関連付けられるので、これらのシングルレイヤコーディング方式は、マルチレイヤコーディング方式において可能性のある複数のレイヤのうちの1つまたは複数のレイヤに1つまたは複数のSPSがどのように厳密に関係するかを定義するために必要とされるセマンティクスを有しないことがある。したがって、SPSの数がビットストリーム中のレイヤの数より少ないとき、または、SPSの数がビットストリーム中のレイヤの数より多いときには、問題または曖昧さが大きくなることがあり、それは、レイヤとのSPSの関連が不明確であり得るからである。
【０１５２】
従来の方式におけるSPSに関するこの曖昧さは、ビデオエンコーダまたはデコーダの実装が、マルチレイヤコーディング方式のアクセスユニット内の可能性のある複数のレイヤのうちのあるレイヤと複数のSPSを制約なく関連付けることを許容する。したがって、複数のSPSに対するこれらのビデオエンコーダおよびデコーダの挙動は予測可能ではなく、異なる実装の間で変わることがあり、その結果、これらの異なる実装はビデオシーケンスを矛盾なく符号化/復号することができない。したがって、本開示の1つの他の目的は、マルチレイヤコーディング方式において複数のSPSが有効パラメータセットSEIメッセージにおいて複数のレイヤと曖昧さを伴わずにどのように関連付けられるべきかを、マッピングまたはシグナリングするための機構を導入することである。加えて、有効パラメータセットSEIメッセージにおいてシグナリングされ得るSPSの数に対する制約は、2つ以上のSPSが単一の有効パラメータセットSEIメッセージにおいてシグナリングされることを許容するように緩められ得る。
【０１５３】
複数のSPSが有効パラメータセットSEIメッセージによって複数のレイヤと曖昧さを伴わずに関連付けられるべき方式をシグナリングするための機構は、各SPSが適用されるべきレイヤを示し得る。この機構は、各々の特定のSPSがある特定のレイヤと関連付けられるべきであると理解されるように、その特定のレイヤをそのSPSに割り当てることができる。いくつかの実施形態では、この機構は、各々の特定のレイヤがある特定のSPSと関連付けられるべきであると理解されるように、その特定のSPSをそのレイヤに割り当てることができる。その機構の中で、またはその機構に加えて、有効パラメータセットSEIメッセージにおいてシグナリングされるSPSの数を制限する既存の制約は、複数のSPSが単一の有効パラメータセットSEIメッセージによってシグナリングされることを許容するために、除去され得る。
【０１５４】
いくつかの実施形態では、この機構は、各々の特定のSPSに対して、特定のレイヤがそのSPSに割り当てられるように、ループ関連付けを制定することを備え得る。たとえば、上で論じられた有効パラメータセットSEIメッセージにおいて、特定のSPSが適用されるレイヤを示す値を含むフィールドを表す、新たなセマンティクスが追加され得る。有効パラメータセットSEIメッセージにおいて、識別子を有する第1のSPSは、新たなセマンティクス(すなわち、target_nuh_layer_id[i])において示されるような特定のレイヤを割り当てられる。したがって、有効パラメータセットSEIメッセージによって特定される各SPSに対して、各SPSが自身に割り当てられるレイヤを有するようになるまで、ループ関連付け方式で、特定のレイヤが関連するレイヤとして割り当てられる。代替的に、または加えて、有効パラメータセットSEIメッセージ(または新たに定義されたSEIまたは他のメッセージ)は、複数のレイヤの各レイヤを1つまたは複数のSPSと関連付けることができる。上で説明されたものと同様に、関連付けのループは、各レイヤが自身に割り当てられる1つまたは複数のSPSを有するようになるまで、ループ関連付け方式で各レイヤに1つまたは複数の特定のSPSを割り当てることができる。
【０１５５】
図5は、有効パラメータパラメータセットSEIメッセージのセマンティクスを通信するために使用され得るシンタックス500を示す。このシンタックス500は、アクセスユニットまたはピクチャのSEIメッセージにおいて通信されてよく、SEIメッセージのタイプ、SEIメッセージのサイズ、およびSEIメッセージのセマンティクスの様々な他の態様に関する必要な情報を提供することが意図され得る。現在の図5は有効パラメータセットSEIメッセージの多数の要素を示すが、シンタックス500は、図5に示されるものよりも多数または少数の構成要素を含み得る。加えて、または代替的に、シンタックス500と同一または同様のシンタックスが、他のタイプのSEIメッセージのためのSEIメッセージセマンティクス(たとえば、特にピクチャタイミングSEIメッセージ、復号ユニット情報SEIメッセージ、フィルム粒度特性SEIメッセージ、ピクチャスナップショットSEIメッセージ、およびシーン情報SEIメッセージ)を通信するために使用され得る。したがって、シンタックス500のセマンティクス(またはフィールド)のすべてが本明細書において定義されるとは限らない。そのような定義の欠如は、機能の重要性を表すものとして解釈されるべきではない。示されているように、シンタックス500は、特許請求の範囲内の実装形態の顕著な特徴を説明するために有用なフィールド(またはセマンティクス)の見本を含み、示されていない1つまたは複数の追加のフィールドを含んでよく、または、すべての実施形態において利用されるとは限らない1つまたは複数のフィールドを含んでよい。
【０１５６】
シンタックス500は、SEIメッセージのすべての他のシンタックスがそうであり得るように、セマンティクスpayloadType 502とpayloadSize 504とを含み得る。payloadType 502は1バイトの長さを有し、シンタックス500が関連付けられるSEIメッセージのタイプを示す値を含み得る。たとえば、payloadType 502は、バッファリング期間SEIメッセージまたはピクチャタイミングSEIメッセージを示す0または1という値を含み得る。1バイトのサイズにより、payloadType 502は、256個の異なるSEIメッセージの1つを示すことができる。シンタックス500はさらに、payloadSize 504というセマンティクスを含む。payloadSize 504は、バイト単位で指定される可変のサイズであってよく、SEIメッセージペイロード中のraw byte sequence payloadのバイト数に等しくてよい。
【０１５７】
シンタックス500はさらに、4ビットの長さを有するセマンティクスactive_video_parameter_set_id 506を含む。active_video_parameter_set_id 506は、SEIメッセージと関連付けられるユニットによって参照されるビデオパラメータセット(VPS)を特定する値を示し得る。いくつかの実施形態では、active_video_parameter_set_id 506の値は、両端を含めて0〜15の範囲にあり得る。シンタックス500はさらに、1ビットの長さを有するセマンティクスself_contained_cvs_flag 508と、1ビットの長さを有するno_parameter_set_update_flag 510とを含む。self_contained_cvs_flag 508は、ユニットによって参照される各パラメータセットがそのパラメータセットを参照するいずれのユニットにも先行することを示し、一方、no_parameter_set_update_flag 510は、更新される必要のあるパラメータセットがないことを示す。シンタックス500はさらに、可変のデータタイプの長さを有し、有効パラメータセットSEIメッセージと関連付けられるアクセスユニットのユニットによって参照されるSPSの数を示す、num_sps_ids_minus1 512というセマンティクスを含む。加えて、セマンティクスactive_seq_parameter_set_id[i] 514がシンタックス500に含まれる。active_seq_parameter_set_id[i] 514は、SEIメッセージと関連付けられるアクセスユニットのtarget_nuh_layer_id[i]の範囲にあるnuh_layer_idを有するユニットによって参照されるSPSを特定する値を示し得る。最後に、示されるようなシンタックス500は、active_seq_parameter_set_id[i]と関連付けられるtargetLayerIdを指定するように構成され得るtarget_nuh_layer_id[i] 516というセマンティクスを含み得る。上で言及されたこの機構は、関連付けループにおいてactive_seq_parameter_set_id[i]およびtarget_nuh_layer_id[i]を特に利用し得る。
【０１５８】
リカバリポイントSEIメッセージおよびPOCの導出
いくつかのビデオコーディング方式では、IRAPピクチャとIRAPピクチャの間でビットストリームの復号を開始することが可能であり得る。このことは、たとえば、ビットストリームの一部分が送信の間または復号の間に失われたときに適切に復号されたビデオストリームへより迅速に戻ることを、またはライブストリーミングビデオの復号のより迅速な開始を可能にし得る。しかしながら、IRAPピクチャとIRAPピクチャの間のランダムアクセスポイントにおいてビデオストリームの復号を開始するとき、復号順序においてランダムアクセスポイントに先行するピクチャに復号処理が依存することが原因で、復号されたビデオストリームは、表示に関して許容範囲にある品質を有していないことがある。
【０１５９】
前に言及されたように、いくつかのビデオコーディング方式は、表示に関して許容範囲にあるピクチャを復号処理がいつ生成するのかを決定する際にデコーダを支援し得る、リカバリポイントSEIメッセージを含む。ブロークンリンクの後、デコーダがランダムアクセスを開始し、または復号を再開するとき、デコーダは、復号されたピクチャがいつ表示に関して許容範囲にあるようになるかを、ビットストリームに含まれるリカバリポイントSEIメッセージに基づいて決定することが可能であり得る。リカバリポイントSEIメッセージは、リカバリポイントSEIメッセージを含むアクセスユニットから復号処理が開始されるとき、リカバリポイントで復号される、または出力順序においてリカバリポイントの後に復号されるすべての復号されるピクチャのコンテンツが正常またはほぼ正常であり得ることを示す、復号されるピクチャの出力順序におけるリカバリポイントを指定する。そのようなリカバリポイントSEIメッセージは、リカバリポイントの後に復号されるピクチャが正常またはほぼ正常な復号されたコンテンツを有するために、ランダムアクセスの後の、および/またはリカバリポイントと関連付けられたピクチャの前の、ビットストリームの復号に基づいて生成される復号されたピクチャが正しい順序であることを必要としない。さらに、リカバリポイントSEIメッセージは、ランダムアクセスの後の、および/またはリカバリポイントと関連付けられたピクチャの前の、ビットストリームの復号によって参照されるピクチャが利用可能であることを必要としないことがある。
【０１６０】
従来のシングルレイヤコーディング方式(たとえば、HEVC)では、各アクセスユニットは、単一のピクチャを一意に含む。各アクセスユニットが単一のピクチャを含むので、「アクセスユニット」および「ピクチャ」という用語は、たとえば、リカバリポイントSEIメッセージの利用に関するシングルレイヤコーディング方式の状況では、互換的に使用されることが可能であった。しかしながら、マルチレイヤコーディング方式のアクセスユニットは、ビットストリームの各レイヤに対して別個のピクチャを含み得る。言い換えれば、マルチレイヤビットストリームでは、単一のアクセスユニットが、複数のピクチャを格納する(すなわち、含むまたは備える)ことがある。従来のシングルレイヤコーディング方式では、リカバリポイントSEIメッセージがアクセスユニットと関連付けられるので、これらのシングルレイヤコーディング方式は、リカバリポイントSEIメッセージがマルチレイヤコーディング方式のアクセスユニット内の可能性のある複数のピクチャのうちの1つまたは複数のピクチャにどのように関係するかを正確に定義するための、必要とされるセマンティクスを有しないことがある。従来の方式におけるリカバリポイントSEIメッセージに関するこの曖昧さは、ビデオエンコーダまたはデコーダの実装が、マルチレイヤコーディング方式のアクセスユニット内の可能性のある複数のピクチャの中からのピクチャとリカバリポイントSEIメッセージを制約なく関連付けることを許容する。したがって、リカバリポイントSEIメッセージに対するこれらのビデオエンコーダおよびデコーダの挙動は予測可能ではなく、異なる実装の間で変わることがあり、その結果、これらの異なる実装はビデオシーケンスを矛盾なく符号化/復号することができない。
【０１６１】
加えて、シングルレイヤコーディング方式では、リカバリポイントSEIメッセージを備えるアクセスユニットは、リカバリポイントSEIメッセージにおいてPOCの値を0にリセットすることができる。加えて、ピクチャまたはデコーダの他の値は、リカバリポイントSEIメッセージに基づいて、指定された値へと設定されるようにリセットまたはシグナリングされ得る。たとえば、以前のピクチャオーダーカウントの値は0にリセットされてよく、または、poc_msbセマンティクス(ピクチャオーダーカウントの最上位ビット)もリカバリポイントSEIメッセージにおいて0に設定されてよい。
【０１６２】
SHVC/MV-HEVCでは、リカバリポイントSEIメッセージを有する現在のピクチャのためのPOCは、現在のピクチャのためにスライスヘッダにおいてシグナリングされるpoc_msbに基づいて計算され得る。一般に、リカバリポイントSEIメッセージによって設定されないとき、現在のピクチャのためのpoc_msb値は、以前のピクチャのpoc_msbに基づき得る。したがって、poc_msbが現在のピクチャのスライスヘッダにおいてシグナリングされるとき、現在のピクチャのpoc_msbはシグナリングされたpoc_msbに設定され得る。しかしながら、リカバリポイントSEIメッセージと関連付けられるピクチャのpoc_msbは0に設定されるので、現在のピクチャ(すなわち、0に設定されたpoc_msbを有していたリカバリポイントSEIメッセージと関連付けられ、復号順序においてピクチャに後続する)のpoc_msbがシグナリングされた値に従って設定されるとき、シグナリングされた値と導出された値が一致しないことがあるので問題がある。
【０１６３】
マルチレイヤコーディング方式では、poc_msb値をシグナリングするための機構がある。ピクチャのpoc_msb値は、スライスヘッダにおいてシグナリングされ得る。いくつかの実施形態では、そのような機構のもとで、スライスヘッダにおいてシグナリングされるpoc_msb値を有する現在のピクチャを復号するとき、現在のピクチャのためのpoc_msb値は、前のピクチャのセマンティクスに基づいて計算されるべきではなく、むしろ、スライスヘッダにおいてシグナリングされるpoc_msbの値は、現在のピクチャのためのpoc_msb値としてのみ使用されるべきである。シングルレイヤコーディング方式のもとでは、リカバリポイントSEIメッセージを有するピクチャへのランダムアクセスがpoc_msbおよびPOCをリセットする(poc_msbを0に設定する)ので問題が発生する。しかしながら、マルチレイヤコーディング方式では、現在のピクチャのためのpoc_msbが、既存のコーディング方式によって指定されるように単に0に設定されるが、後続のピクチャがスライスヘッダにおいてシグナリングされるpoc_msb値(0以外の値のような)を有する場合、矛盾が発生する。それは、後続のピクチャがシグナリングされたpoc_msb値と先行する0の値とが原因で、poc_msb値を正しく導出できないからである。たとえば、ピクチャpicAがリカバリポイントSEIメッセージと関連付けられるピクチャと同じレイヤ中にあり、復号順序においてリカバリポイントSEIメッセージ関連付けられるピクチャに後続する。picAは、シグナリングされたピクチャオーダーカウントの導出値(たとえば、poc_msb_val)を有する。したがって、picAのPOCの導出は、不明確または不正確であり得る。
【０１６４】
したがって、リカバリポイントSEIメッセージを有するピクチャを復号するとき、POCのセマンティクスは、単に0にリセットされるべきではなく、または別の値にシグナリングされるべきではない。代わりに、リカバリポイントSEIメッセージのセマンティクスは、復号処理がリカバリポイントSEIメッセージと関連付けられるレイヤから開始するとき、リカバリポイントSEIメッセージと関連付けられるピクチャのPOCの値の導出に対応するように修正されるべきである。いくつかの実施形態では、これは、1つまたは複数のPOCセマンティクスの値を推測することを伴い得る。加えて、リカバリポイントSEIメッセージのセマンティクスは、アクセスユニット中のリカバリポイントSEIメッセージの存在、またはピクチャとのリカバリポイントSEIメッセージの関連を支配する、制約を導入するように修正され得る。したがって、マルチレイヤコーディング方式では、ランダムアクセスが実行され、リカバリポイントSEIメッセージを含むアクセスユニットから復号が開始するとき、poc_msb値は0に設定されなくてよく、むしろ、poc_msb値は、poc_msbを計算するための規格において定義される機構に基づいて再計算され得る。したがって、ランダムアクセスが実行され、リカバリポイントSEIメッセージを含むアクセスユニットから復号が開始するとき、デコーダは、関連するアクセスユニットが復号順序においてビットストリーム中で最初のアクセスユニットであったかのように、動作することができる。加えて、poc_msb値が現在のピクチャに対して存在することを示すセマンティクスが1に等しい場合(現在のピクチャのpoc_msb_val_present_flag=1)、変数PicOrderCntMsbが、poc_msb_val*MaxPicOrderCntLsbとして計算され得る。poc_msb_val_present_flag=0である場合、PrevPicOrderCnt[nuh_layer_id]は0に設定される。
【０１６５】
代替的に、または加えて、アクセスユニット中のリカバリポイントSEIメッセージの存在、またはピクチャとのリカバリポイントSEIメッセージの関連を支配するために、様々な制約が課され得る。たとえば、いくつかの実施形態では、リカバリポイントSEIメッセージが現在のレイヤに適用されるために、以下の条件が満たされることが必要とされ得る。
・レイヤlayerAが、少なくとも1つの参照レイヤとlayerAに属する1つまたは複数のピクチャとを有し、特定のアクセスユニット中の少なくとも1つの参照レイヤが、0に等しいSEIヘッダ中にpoc_msb値が存在することを示すセマンティクスを有し(たとえば、0に等しいpoc_msb_val_present_flag)、POCリセットインジケータが0に等しいことを示すセマンティクスを有する(たとえば、0に等しいpoc_reset_idc)とき、その特定のアクセスユニットは、layerAとその参照レイヤだけを含むレイヤのセットに適用されるリカバリポイントSEIメッセージを含まないことがある。
・代替的に、または加えて、レイヤlayerAが、0よりも大きなレイヤidのセマンティクスを有し(たとえば、nuh_layer_id>0)、特定のアクセスユニット中のlayerAのピクチャが、0に等しいSEIヘッダ中にpoc_msb値が存在することを示すセマンティクスを有し(たとえば、0に等しいpoc_msb_val_present_flag)、POCリセットインジケータが0に等しいことを示すセマンティクスを有する(たとえば、0に等しいpoc_reset_idc)とき、そのアクセスユニットは、layerAだけに適用されるリカバリポイントSEIメッセージを含まないことがある。
・代替的に、または加えて、0に等しいレイヤidのセマンティクスを有するレイヤに属するピクチャpicA(たとえば、nuh_layer_id=0)、ならびに、復号順序においてピクチャpicAに後続し、復号順序において1に等しいNoRaslOutputFlagおよび0に等しいレイヤidを有する次のIRAPピクチャに先行する、picAおよび次のIRAPピクチャを含む任意のピクチャが0よりも大きなslice_segment_header_extension_length、0に等しいpoc_msb_val_present_flag、および0に等しいpoc_reset_idcを有するとき、picAを含むアクセスユニットは、0に等しいレイヤidを有するレイヤだけに適用されるリカバリポイントSEIメッセージを含まないことがある。
【０１６６】
代替的に、以下の条件が追加され得る。
・リカバリポイントSEIメッセージがネストされており、2つ以上のレイヤに適用される場合、現在のアクセスユニットにおいてリカバリポイントSEIメッセージが適用されるレイヤのすべてのピクチャが、SEIヘッダ中にpoc_msb値が存在することを示す1に等しいセマンティクス(たとえば、1に等しいpoc_msb_val_present_flag)を有してよく、または、POCリセットインジケータが0に等しいことを示すセマンティクス(たとえば、0に等しいpoc_reset_idc)を有してよい。
・そうではなく、リカバリポイントSEIメッセージ(ネストされている、またはネストされていない)が0よりも大きなレイヤid(nuh_layer_id>0)を有するレイヤだけに適用される場合、現在のアクセスユニットに属するレイヤのピクチャが、SEIヘッダ中にpoc_msb値が存在することを示す1に等しいセマンティクス(たとえば、1に等しいpoc_msb_val_present_flag)を有してよく、または、POCリセットインジケータが0に等しいことを示すセマンティクス(たとえば、0に等しいpoc_reset_idc)を有してよい。
・それ以外の場合(リカバリポイントSEIメッセージが0に等しいレイヤidを有するレイヤだけに適用される(nuh_layer_id=0))、復号順序において現在のピクチャに後続し、復号順序において1に等しいNoRaslOutputFlagを有する次のIRAPピクチャに先行し、現在のピクチャおよび次のIRAPピクチャを含む、0よりも大きなシンタックス要素slice_segment_header_extension_lengthの値を伴う少なくとも1つのピクチャがあるとき、現在のアクセスユニットに属するレイヤの現在のピクチャが、SEIヘッダ中にpoc_msb値が存在することを示す1に等しいセマンティクス(たとえば、1に等しいpoc_msb_val_present_flag)を有してよく、または、POCリセットインジケータが0に等しいことを示すセマンティクス(たとえば、0に等しいpoc_reset_idc)を有してよい。
【０１６７】
代替的に、以下の制約が追加され得る。
・復号順序において後続するアクセスユニットにおいて現在のSEIメッセージが適用されるレイヤのいずれかの中のいずれかのピクチャがある場合、現在のアクセスユニットは、存在するpoc_msb_val_present_flagを有し、現在のSEIメッセージが適用されるレイヤのいずれかの中の各ピクチャが、SEIヘッダ中にpoc_msb値が存在することを示す1に等しいセマンティクスを有してよく(たとえば、1に等しいpoc_msb_val_present_flag)、または、POCリセットインジケータが0に等しいことを示すセマンティクス(たとえば、0に等しいpoc_reset_idc)を有してよい。
【０１６８】
代替的に、以下の制約が適用され得る。
・復号順序において現在のアクセスユニットに後続するアクセスユニットにおいて現在のSEIメッセージが適用されるレイヤのいずれかの中のいずれかのピクチャが、presentであるpoc_msb_val_present_flagを有する場合、現在のSEIメッセージが適用されるレイヤのいずれかの中の各ピクチャが、1に等しいpoc_msb_val_present_flagを有し得る。
【０１６９】
代替的に、以下の制約が適用され得る。
・現在のSEIが0よりも大きなレイヤid(nuh_layer_id>0)を有する1つのレイヤだけに適用される場合、現在のピクチャは、poc_msb値がSEIヘッダ中に存在することを示す1に等しいセマンティクス(たとえば、1に等しいpoc_msb_val_present_flag)を有し得る。
・そうではなく、現在のSEIがベースレイヤを含む2つ以上のレイヤに適用される場合、リカバリポイントSEIが適用されるすべてのレイヤ中の現在のアクセスユニット中のすべてのピクチャは、poc_msb値がSEIヘッダ中に存在することを示す1に等しいセマンティクス(たとえば、1に等しいpoc_msb_val_present_flag)を有し得る。
・そうではなく、スライスセグメントヘッダの拡張の長さが0よりも大きく、poc_msb値がSEIヘッダ中に存在することを示すセマンティクスが現在のピクチャに対して0に等しい場合(たとえば、0に等しいpoc_msb_val_present_flag)、リカバリポイントSEIメッセージは存在しなくてよい。
【０１７０】
領域リフレッシュ情報SEIメッセージ
いくつかのビデオコーディング方式は、領域リフレッシュ情報SEIメッセージ(領域リフレッシュSEIメッセージとも呼ばれる)をさらに含む。リカバリポイントSEIメッセージと関連付けられる領域リフレッシュSEIメッセージは、現在の領域リフレッシュSEIメッセージが適用される/対応する現在のピクチャの領域(たとえば、スライスセグメント)が、現在のピクチャのリフレッシュされる領域(または、リフレッシュされない領域)に属するかどうかを示す。言い換えれば、領域リフレッシュSEIは、対応するピクチャの個々のスライスが、復号の後のコンテンツにおいて正常またはほぼ正常であるかどうかを示す情報を含む。領域リフレッシュSEIメッセージは、リカバリポイントSEIメッセージと組み合わせて使用される。領域リフレッシュSEIメッセージは、リカバリポイントSEIメッセージを有するピクチャから復号を開始する場合に、リカバリポイントSEIメッセージを有するピクチャの後の次のピクチャからリカバリポイントピクチャまで、リカバリポイントSEIメッセージピクチャとリカバリポイントピクチャとの間の各ピクチャに対して正常に復号される領域の数が、すべてのものがリカバリポイントピクチャにおいて正常に復号される(または実質的に、もしくはほぼ正常に復号される)まで変化するということを述べる。
【０１７１】
上で説明されたように、従来のビデオコーディング方式では、アクセスユニットはピクチャと一意に関連付けられる。したがって、これらの従来の方式では、領域リフレッシュ情報SEIメッセージはアクセスユニットと関連付けられ、したがって、ピクチャと一意に関連付けられる。さらに、従来のコーディング方式では、レイヤ間の制約および/または予測は、関連付けられることになるピクチャが他のレイヤ中に存在しないことがあるので、問題とはならないことがある。しかしながら、マルチレイヤコーディング方式では、アクセスユニットは2つ以上のピクチャを含み得る。さらに、リカバリポイントSEIメッセージと関連付けられる領域リフレッシュSEIメッセージ、および領域リフレッシュSEIメッセージのセマンティクスを定義するために使用される予測制約は、レイヤ間の予測制約を考慮しないことがある。これは、マルチレイヤHEVC(たとえば、SHVC/MV-HEVC)において問題を引き起こし得る。
【０１７２】
最良のレイヤではないレイヤを復号するとき、レイヤ間予測が考慮されることがあり、これは、ベースレイヤ以外のレイヤ中にあるピクチャが対応するピクチャに依存し得ることを意味し、領域がリフレッシュされるかどうかを決定する際に、その依存関係が考慮され得る。たとえば、参照レイヤ中のあるピクチャの領域は、そのあるピクチャがベースレイヤ中の対応するピクチャに依存し、ベースレイヤ中のその対応するピクチャ(または少なくとも対応するピクチャの対応する領域)とそのあるピクチャの両方がリフレッシュされているとき、リフレッシュされ得る。したがって、リフレッシュされるべきであると見なされる別のピクチャまたは領域によって参照される任意のピクチャまたは領域も、リフレッシュされている可能性がある。
【０１７３】
従来のビデオコーディング方式のセマンティクスは、そのようなレイヤ間の依存関係または予測制約を必ずしも考慮しない。したがって、本開示の別の目的は、リフレッシュされる領域を特定するときにレイヤ間の依存関係および/または予測制約が考慮されるように、領域リフレッシュ情報SEIメッセージのセマンティクスを明確にすることである。
【０１７４】
マルチレイヤコーディング方式では、参照レイヤ中のピクチャのために領域リフレッシュ情報を提供する領域リフレッシュ情報SEIメッセージ(リカバリポイントSEIメッセージと関連付けられる)は、レイヤ間およびレイヤ内の予測制約を考慮し得る。たとえば、いくつかの実施形態では、ピクチャの領域がリフレッシュされると宣言される場合、その領域はイントラ予測されているかインター予測されているかのいずれかであってよく、前者は他の領域に依存せずにその領域が復号されたことを意味し、後者はすでにリフレッシュされている他の領域に依存することによってその領域が復号されたことを意味する。
【０１７５】
たとえば、参照レイヤ(または任意のレイヤ)中の第1のピクチャを復号することは、ベースレイヤ中の1つまたは複数の第2のピクチャからの情報に依存し得る。いくつかの実施形態では、第1のピクチャが依存する第2のピクチャは、第1のピクチャと同じアクセスユニット中にあり、または異なるアクセスユニット中にある。したがって、第1のピクチャの1つまたは複数の領域がリフレッシュされるかどうかを領域リフレッシュSEIメッセージが示すとき、領域リフレッシュSEIメッセージは、第1のピクチャが1つまたは複数の第2のピクチャからの情報に依存するという事実を考慮すべきである。リフレッシュされるものとして領域リフレッシュSEIメッセージによって示される第1のピクチャの1つまたは複数の領域が、リフレッシュされていない第2のピクチャの1つまたは複数の他の領域に依存する場合、第1のピクチャの領域リフレッシュ情報は正確ではないことがある。これは、第1のピクチャが依存する情報がリフレッシュされない場合、第1のピクチャは適切にリフレッシュされると見なされないことがあるからである。
【０１７６】
いくつかの実施形態では、領域リフレッシュSEIメッセージは、それが適用されるピクチャのあらゆるレイヤ間予測または制約を考慮するように構成され得る。たとえば、領域リフレッシュSEIメッセージは、ターゲットレイヤのリスト(たとえば、領域リフレッシュSEIメッセージが適用されるレイヤのリスト)を識別することができ、領域リフレッシュSEIメッセージとリカバリポイントSEIメッセージとの間のあらゆる関係(または関連)を特定することができる。いくつかの実施形態では、領域リフレッシュSEIメッセージはまた、領域リフレッシュSEIメッセージと関連付けられるピクチャのためのレイヤ間予測の使用に関する、いくつかの適合性の制約を定義することができる。いくつかの実施形態では、領域リフレッシュSEIメッセージは、領域リフレッシュSEIメッセージのターゲットレイヤのリストに含まれるレイヤに適用されるリカバリポイントSEIメッセージと関連付けられることがあり、またはそれに関連することがある。代替的に、領域リフレッシュSEIメッセージは、ターゲットレイヤのリストに適用され任意の他のレイヤに適用されないリカバリポイントSEIメッセージと関連付けられてよく、または、領域リフレッシュSEIメッセージは、ターゲットレイヤに適用される任意のリカバリポイントSEIメッセージと関連付けられてよい。
【０１７７】
いくつかの実施形態では、上で説明されたターゲットレイヤのリストは、次のように導出され得る。すなわち、領域リフレッシュ情報SEIメッセージが現在のレイヤおよびすべての参照レイヤに適用される場合、ターゲットレイヤのリストは現在のレイヤおよび参照レイヤのすべてのレイヤid(nuh_layer_id)を含み得る。それ以外の場合、ターゲットレイヤのリストは現在のレイヤのレイヤid(nuh_layer_id)を含み得る。
【０１７８】
図6は、本開示のある実施形態による、マルチレイヤビットストリームの1つまたは複数の領域リフレッシュSEIメッセージと1つまたは複数のピクチャとの間の関連を示すブロック図である。図6は、図4Cに関するビットストリーム480と類似するマルチレイヤビットストリーム600(単に、ビットストリーム600とも呼ばれる)を含む。図6には、BL472Aと関連付けられる第1のリカバリポイントSEIメッセージが示されており、対応するリカバリポイントはBL480Aと関連付けられる。図6では、クロスハッチングは、リカバリポイントSEIメッセージの各々のための対応するピクチャがそれぞれのリカバリポイントSEIメッセージおよび1つまたは複数のそれぞれの領域リフレッシュSEIメッセージと関連付けられることを示すことが意図される。リカバリポイントSEIメッセージと関連付けられたピクチャに後続し、そのピクチャと同じレイヤの中にある複数のピクチャは、一般に、漸進的復号リフレッシュ(GDR)ピクチャと呼ばれ得る。GDRピクチャは、リカバリポイントSEIメッセージと関連付けられたピクチャからGDRピクチャセットの中の出力順序において最後のピクチャまでのピクチャを含む、GDRピクチャセットと関連付けられ得る。GDRピクチャセットは、対応するリカバリポイントSEIメッセージと関連付けられる。さらに、領域リフレッシュSEIメッセージは、GDRピクチャと関連付けられ得る。図6では、ベースレイヤ470A中のBLピクチャ472Aから480Aの各々がコンテンツの3つの別々のスライスを含むものとして示されるが、エンハンスメントレイヤ470B中のELピクチャ472Bから480Bの各々もコンテンツの3つの別々のスライスを含むものとして示されている。しかしながら、他の実施形態では、ベースレイヤBL470Aおよび/またはエンハンスメントレイヤEL470Bのピクチャはそれぞれ、図6に示されるものよりも多数または少数のスライスに分割され得る。本開示のいくつかの実装形態では、ピクチャがGDRピクチャセットに含まれるとき、領域リフレッシュSEIメッセージは、そのピクチャだけと関連付けられる。ベースレイヤ470A中のBLピクチャ472Aから480Aのスライスおよびエンハンスメントレイヤ470B中のELピクチャ472Bから480Bのスライスは、対応するスライスを図におけるそれらの向きに基づいて指すために、本明細書では上部スライス、中央スライス、および下部スライスと呼ばれる。
【０１７９】
図6のBLピクチャ474Aの領域リフレッシュSEIメッセージは、点線のハッチングによって示されるように、BLピクチャ474Aの下部スライスが、BLピクチャ474Aによる復号されたコンテンツの点で正常またはほぼ正常となることを示す。同様に、BLピクチャ476Aの領域リフレッシュSEIメッセージは、対応する中央スライス(すなわち、BLピクチャ476Aの中央スライス)がBLピクチャ476Aによるコンテンツの点で正常またはほぼ正常となることを示す。同様に、BLピクチャ480Aの領域リフレッシュSEIメッセージは、BLピクチャ480Bの上部スライスがBLピクチャ480Aによるコンテンツの点で正常またはほぼ正常となることを示す。したがって、領域リフレッシュ情報SEIメッセージは、対応するリカバリポイントSEIメッセージと関連付けられたピクチャ(たとえば、GDRピクチャセットと関連付けられたリカバリポイントSEIメッセージと関連付けられたピクチャ)において、またはそのピクチャの前にランダムアクセスが開始するとき、関連付けられたピクチャ中のスライスの各々が復号されたコンテンツの点でいつ正常またはほぼ正常となるのかをさらに定義する情報を含む。加えて、ピクチャ474A〜480AはベースレイヤBL470A上のピクチャであるので、SEIメッセージの領域リフレッシュ情報は、レイヤ間の予測制約、または他のピクチャに対するこれらのピクチャの依存を何ら考慮する必要がないことがある。したがって、領域復元SEIメッセージの領域復元情報は、正常かつ正確であるものとして容認され得る。
【０１８０】
しかしながら、下部スライスがELピクチャ476Bによるコンテンツの点で正常またはほぼ正常となることを示すELピクチャ476Bの領域リフレッシュ情報SEIメッセージは、レイヤ間の予測制約を考慮することが必要であることがあり、それは、ELピクチャ476Bの下部スライスが、ベースレイヤBL476Aの対応するピクチャの対応する領域がリフレッシュされるときにだけリフレッシュされ得るからである。したがって、図6に示されるように、対応するピクチャBL476Aの対応する下部スライスがリフレッシュされるので、ELピクチャ476Bの領域リフレッシュ情報SEIメッセージは、正しいと見なされ得る。しかしながら、上部スライスがELピクチャ474Bによるコンテンツの点で正常またはほぼ正常となることを示すELピクチャ474Bの領域リフレッシュ情報SEIメッセージは誤っていると見なされることがあり、それは、対応するピクチャBL474Aの対応する上部スライスが、BLピクチャ474Aの対応する領域リフレッシュ情報SEIメッセージによってリフレッシュされるものとして示されないからである。したがって、ELピクチャ474Bの上部スライスは、EL474Bによるコンテンツの点で正常またはほぼ正常ではないことがある。
【０１８１】
図7は、領域リフレッシュ情報SEIメッセージのセマンティクスを通信するために使用され得るシンタックス700を示す。このシンタックス700は、アクセスユニットまたはピクチャのSEIメッセージにおいて通信されてよく、SEIメッセージのタイプ、SEIメッセージのサイズ、およびSEIメッセージのセマンティクスの様々な他の態様に関する必要な情報を提供することが意図され得る。現在の図7は領域リフレッシュ情報SEIメッセージの多数の要素を示すが、シンタックス700は、図7に示されるものよりも多数または少数の構成要素を含み得る。加えて、または代替的に、シンタックス700と同一または同様のシンタックスが、他のタイプのSEIメッセージのためのSEIメッセージセマンティクス(たとえば、特にピクチャタイミングSEIメッセージ、復号ユニット情報SEIメッセージ、フィルム粒度特性SEIメッセージ、ピクチャスナップショットSEIメッセージ、およびシーン情報SEIメッセージ)を通信するために使用され得る。したがって、シンタックス700のセマンティクス(またはフィールド)のすべてが本明細書において定義されるとは限らない。そのような定義の欠如は、機能の重要性を表すものとして解釈されるべきではない。示されているように、シンタックス700は、特許請求の範囲内の実装形態の顕著な特徴を説明するために有用なフィールド(またはセマンティクス)の見本を含み、示されていない1つまたは複数の追加のフィールドを含んでよく、または、すべての実施形態において利用されるとは限らない1つまたは複数のフィールドを含んでよい。
【０１８２】
シンタックス700は、上で説明されたように、SEIメッセージのすべての他のシンタックスがそうであり得るように、セマンティクスpayloadType 702とpayloadSize 704とを含み得る。payloadType 702は1バイトの長さを有し、シンタックス700が関連付けられるSEIメッセージのタイプを示す値を含み得る。たとえば、payloadType 702は、バッファリング期間SEIメッセージまたはピクチャタイミングSEIメッセージをそれぞれ示す0または1という値を含み得る。1バイトのサイズにより、payloadType 702は、256個の異なるSEIメッセージの1つを示すことができる。シンタックス700はさらに、payloadSize 704というセマンティクスを含む。payloadSize 704は、バイト単位で指定される可変のサイズであってよく、SEIメッセージペイロード中のraw byte sequence payloadのバイト数に等しくてよい。
【０１８３】
シンタックス700はさらに、1ビットの長さを有するセマンティクスrefreshed_region_flag 706を含む。refreshed_region_flag 706は、現在のSEIメッセージと関連付けられたスライスが現在のピクチャ中のリフレッシュされる領域に属すること(すなわち、そのスライスがリフレッシュされること)を示し得る。0という値はスライスがリフレッシュされないことを示し得るが、1という値はスライスがリフレッシュされることを示し得る。シンタックス700はさらに、1バイトの長さを有するセマンティクスtargetLayerIdList 708を含む。targetLayerIdList 708は、領域リフレッシュ情報SEIの領域リフレッシュ情報が適用されるレイヤのすべてに対するすべてのレイヤid(nuh_layer_id)のリストを含み得る。加えて、領域リフレッシュSEIメッセージは、targetLayerIdList中のレイヤと等しいnuh_layer_id値を有するレイヤに適用される、リカバリポイントSEIメッセージと関連付けられ得る。
【０１８４】
表示方向SEIメッセージ
従来のHEVCシングルレイヤビットストリームでは、1つのレイヤしかないことがあり、そのレイヤが出力レイヤであると見なされ得る。しかしながら、SHVC/MV-HEVCマルチレイヤビットストリームでは、どのレイヤが出力レイヤとなりどのレイヤが出力レイヤではないかを記述する、出力レイヤのセットがあり得る。1つまたは複数のレイヤは任意の出力レイヤセットの非ターゲット出力レイヤであり得るので、あるレイヤがターゲット出力レイヤではないとき、そのレイヤ中のピクチャと関連付けられる表示方向SEIメッセージは存在しないことがある。そのような制約は、従来のHEVCのセマンティクスに欠けている。
【０１８５】
現在、SHVC/MV-HEVCマルチレイヤビットストリームは、代替的な出力処理の特徴をサポートする。その特徴によれば、出力レイヤからのピクチャがある特定のアクセスユニット中に存在しないとき、その特定のアクセスユニット中の非出力レイヤからのピクチャが出力レイヤ上で出力のための代替的なピクチャとして使用されてよく、ここで非出力レイヤは出力レイヤよりも低い(たとえば、より低いピクチャID値を有する、または出力レイヤによって参照される)。たとえば、ピクチャpicAは非出力レイヤlayerAに属し、存在することもしないこともあるピクチャpicBは出力レイヤlayerBに属する。layerBのnuh_layer_idの値は、layerAのnuh_layer_idの値よりも大きい。picAとpicBの両方が存在する場合、それらは同じアクセスユニットに含まれる。代替的な出力処理が許可されるとき、以下の問題が現れ得る。
a)2つの表示方向SEIメッセージが存在し、各表示方向SEIメッセージがそれぞれlayerAおよびlayerBに適用され、2つの表示方向SEIメッセージが同一ではなく、picBが存在しない場合、代替的な出力処理が呼び出されてpicAがpicBの代わりに出力されると、2つの表示方向SEIメッセージのいずれがpicBに適用されるかに関する曖昧さが存在し得る。
b)代替的に、または加えて、1つだけの表示方向SEIメッセージがあり、それがlayerBに適用され、picBが存在しない場合、代替的な出力処理が呼び出されpicAがpicBの代わりに出力されると、表示方向SEIメッセージがpicAに適用されるかどうかに関する曖昧さが存在し得る。
【０１８６】
マルチレイヤビットストリームにおけるそのような問題に対処するために、レイヤが任意の出力レイヤセットにおいてターゲット出力レイヤとして示されないときにそのレイヤ中のピクチャと関連付けられる表示方向SEIメッセージが存在しないように、表示方向SEIメッセージに対して制約が追加され得る。
a)したがって、現在のレイヤの中にないピクチャpicAが現在のレイヤ中のピクチャのための代替的な出力として使用されるとき、現在のレイヤに適用される表示方向SEIメッセージは、もしあれば、出力picAに適用されるものとする。
b)代替的に、または加えて、代替的な出力処理が現在のレイヤに対して許可されるときに、現在のレイヤ中のピクチャと関連付けられる表示方向SEIメッセージがないように、制約が規定され得る。
c)代替的に、または加えて、代替的な出力処理が許可され、非出力レイヤからのピクチャpicAが出力レイヤ中の非現在のピクチャの代替物として出力されるときに、出力ピクチャの表示方向が、もしあれば出力レイヤに適用される表示方向SEIメッセージに従うように、制約が規定され得る。
【０１８７】
例示的なフローチャート
図8は、マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するステップを備える、ビデオコーディング情報のセマンティクスをマルチレイヤビットストリームのレイヤまたはオペレーションポイントと関連付けるための方法800のフローチャートを示す。図8の方法800は、図1A〜図3Bのコンポーネントの1つまたは複数、たとえばビデオデコーダ30によって実行され得る。方法800はブロック805において開始し、ブロック805は、マルチレイヤビットストリームと関連付けられるビデオ情報を記憶するステップを備え、記憶されたビデオ情報はSEIメッセージを備える。たとえば、ビデオ情報は、図1Aの記憶デバイス31のようなメモリに、または同様の手段に記憶され得る。ビデオ情報が記憶されると、方法はブロック810に進む。ブロック810において、SEIメッセージ中の識別子に基づいて、SEIメッセージが第1のSEIメッセージカテゴリに属するか第2のSEIメッセージカテゴリに属するかを決定する方法が示される。いくつかの実施形態では、この決定は、図1Bのプロセッサ/コントローラデバイス13のようなプロセッサもしくはコントローラ、または、図3Aもしくは図3Bに示されないビデオデコーダ30もしくはプロセッサの1つまたは複数のコンポーネントによって行われ得る。SEIメッセージのカテゴリがブロック810において決定されると、方法800はブロック815に進み、そこで方法は、SEIメッセージがオペレーションポイントに適用されるかレイヤに適用されるかを決定する。この決定は、図1Bのプロセッサ/コントローラデバイス13のようなプロセッサもしくはコントローラ、または、図3Aもしくは図3Bに示されないビデオデコーダ30もしくはプロセッサの1つまたは複数のコンポーネントによって行われ得る。いくつかの実施形態では、ここで示されるプロセッサ/コントローラデバイス13またはプロセッサは、決定するための手段を備え得る。方法800は次いでブロック820に進み、そこで方法は、SEIメッセージが第1のSEIメッセージカテゴリであることおよびオペレーションポイントに適用されることに応答して、SEIメッセージの各セマンティクスをオペレーションポイントの中の各オペレーションポイントと関連付けるものとして示されている。この関連付けは、図1Bのプロセッサ/コントローラデバイス13のようなプロセッサもしくはコントローラ、または、図3Aもしくは図3Bに示されないビデオデコーダ30もしくはプロセッサの1つまたは複数のコンポーネントによって実行され得る。いくつかの実施形態では、ここで示されるプロセッサ/コントローラデバイス13またはプロセッサは、関連付けるための手段を備え得る。
【０１８８】
図9は、マルチレイヤビットストリームのビデオ情報の復号の間にランダムアクセスを開始するかどうかを決定するための方法900のフローチャートを示す。図9の方法900は、図1A〜図3Bのコンポーネントの1つまたは複数、たとえばビデオデコーダ30によって実行され得る。方法900はブロック905において開始し、ブロック905は少なくとも1つのリカバリポイントSEIメッセージを含むビデオ情報を記憶するステップを備える。たとえば、ビデオ情報は、図1Aの記憶デバイス31のようなメモリに、または同様の手段に記憶され得る。ビデオ情報が記憶されると、方法900はブロック910に進む。ブロック910において、方法は、少なくとも1つのリカバリポイントSEIメッセージがPOCセマンティクス値をリセットするための指示を備えるかどうかを決定するものとして示されている。いくつかの実施形態では、この決定は、図1Bのプロセッサ/コントローラデバイス13のようなプロセッサもしくはコントローラ、または、図3Aもしくは図3Bに示されないビデオデコーダ30もしくはプロセッサの1つまたは複数のコンポーネントによって行われ得る。ブロック910において少なくとも1つのリカバリポイントSEIメッセージがPOC値をリセットするための指示を備えると決定されると、方法900はブロック915に進み、そこで方法は、リカバリポイントSEIメッセージがアクセスユニット中に存在するかどうかに関する第1の制約、ピクチャとのリカバリポイントSEIメッセージの関連に関する第2の制約、または、レイヤのセットへのリカバリポイントSEIメッセージの適用に関する第3の制約の少なくとも1つを特定する。この特定は、図1Bのプロセッサ/コントローラデバイス13のようなプロセッサもしくはコントローラ、または、図3Aもしくは図3Bに示されないビデオデコーダ30もしくはプロセッサの1つまたは複数のコンポーネントによって行われ得る。いくつかの実施形態では、ここで示されるプロセッサ/コントローラデバイス13またはプロセッサは、特定するための手段を備え得る。方法900は次いでブロック920に進み、そこで方法は、第1の制約と第2の制約の少なくとも1つに基づいて、ランダムアクセスおよびアクセスユニットからの復号を開始するかどうかを決定するものとして示されている。この決定は、図1Bのプロセッサ/コントローラデバイス13のようなプロセッサもしくはコントローラ、または、図3Aもしくは図3Bに示されないビデオデコーダ30もしくはプロセッサの1つまたは複数のコンポーネントによって実行され得る。いくつかの実施形態では、ここで示されるプロセッサ/コントローラデバイス13またはプロセッサは、決定するための手段、特定するための手段、関連付けるための手段、導出するための手段、およびコーディングするための手段の1つまたは複数を備え得る。
【０１８９】
例示的な実装形態
本開示のいくつかの実施形態が、以下で要約され説明される。本明細書で説明される方法の1つまたは複数を実施するために組み込まれ得る追加と削除とを示すために、SHVC/MV-HEVC規格のいくつかの部分が転載されるとき、そのような追加は下線により示され、削除は取り消し線により示される。
【０１９０】
【表１Ａ】
0006510553.tif 000002
【０１９１】
【表１Ｂ】
0006510553.tif 000003
【０１９２】
【表１Ｃ】
0006510553.tif 000004
【０１９３】
【表１Ｄ】
0006510553.tif 000005
【０１９４】
【表１Ｅ】
0006510553.tif 000006
【０１９５】
【表１Ｆ】
0006510553.tif 000007
【０１９６】
【表１Ｇ】
0006510553.tif 000008
【０１９７】
【表１Ｈ】
0006510553.tif 000009
【０１９８】
【表１Ｉ】
0006510553.tif 000010
【０１９９】
【表１Ｊ】
0006510553.tif 000011
【０２００】
【表１Ｋ】
0006510553.tif 000012
【０２０１】
【表１Ｌ】
0006510553.tif 000013
【０２０２】
【表１Ｍ】
0006510553.tif 000014
【０２０３】
【表１Ｎ】
0006510553.tif 000015
【０２０４】
【表１Ｏ】
0006510553.tif 000016
【０２０５】
【表１Ｐ】
0006510553.tif 000017
【０２０６】
他の考慮事項
本明細書で開示される情報および信号は、種々の異なる技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表され得る。
【０２０７】
本明細書で開示された実施形態に関して説明された様々な例示的な論理ブロックおよびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、およびステップが、上では全般にその機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例およびシステム全体に対して課される設計制限に依存する。当業者は、具体的な適用例ごとに様々な方法で説明される機能を実装し得るが、そのような実装形態の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０２０８】
本明細書で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、または任意のその組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスのような、種々のデバイスのいずれかにおいて実装され得る。デバイスまたはコンポーネントとして説明される特徴は、集積論理デバイスに一緒に、またはディスクリートであるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装される場合、技法は、実行されると、上で説明された方法の1つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などのような、メモリまたはデータ記憶媒体を備え得る。技法は、追加または代替として、伝搬される信号または電波のような、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０２０９】
プログラムコードは、1つまたは複数のDSP、汎用マイクロプロセッサ、ASIC、FPGA、または他の等価な集積回路もしくはディスクリート論理回路のような、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。また、プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明される技法の実装に適した任意の他の構造もしくは装置のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のソフトウェアまたはハードウェア内で提供されてよく、または複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれてよい。また、本技法は、1つもしくは複数の回路または論理素子において完全に実装され得る。
【０２１０】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネントまたはユニットが説明されたが、それらのコンポーネントまたはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットが、適切なソフトウェアおよび/またはファームウェアとともに、上で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０２１１】
上記のことは様々な異なる実施形態に関して説明されたが、一実施形態からの特徴または要素は、本開示の教示から逸脱することなく他の実施形態と組み合わされてよい。たとえば、スケーラブルネスティングリカバリポイントSEIメッセージが1つのアクセスユニットの中の複数のピクチャと関連付けられてよく、単一のリカバリポイントSEIメッセージが同じアクセスユニットのピクチャの1つとさらに関連付けられてよい。単一のリカバリポイントSEIメッセージが、スケーラブルネスティングリカバリポイントSEIメッセージと関連付けられた同じピクチャ、または関連付けられていない異なるピクチャのうちの1つと関連付けられてよい。領域リフレッシュ情報SEIメッセージの、リカバリポイントSEIメッセージと関連付けられたピクチャへの追加を含む、特徴の類似の組合せも考えられるが、それぞれの実施形態の間での特徴の組合せは必ずしもそれに限定されない。
【０２１２】
本開示の様々な実施形態が説明された。これらおよび他の実施形態は、以下の特許請求の範囲内に入る。
【符号の説明】
【０２１３】
10  ビデオコーディングシステム
10'  ビデオコーディングシステム
11  デバイス
12  ソースデバイス
13  プロセッサ/コントローラデバイス
14  宛先デバイス
16  リンク
18  ビデオソース
20  ビデオエンコーダ
20A  レイヤ0ビデオエンコーダ
20B  レイヤ1ビデオエンコーダ
22  出力インターフェース
23  ビデオエンコーダ
28  入力インターフェース
30  ビデオデコーダ
30A  ビデオデコーダ
30B  ビデオデコーダ
31  記憶デバイス
32  ディスプレイデバイス
33  ビデオデコーダ
90  リサンプリングユニット
92  アップサンプリングユニット
94  ダウンサンプリングユニット
98  マルチプレクサ
99  デマルチプレクサ
100  予測処理ユニット
102  残差生成ユニット
104  変換処理ユニット
106  量子化ユニット
108  逆量子化ユニット
110  逆変換ユニット
112  再構築ユニット
113  フィルタユニット
114  復号ピクチャバッファ
116  エントロピー符号化ユニット
121  インター予測ユニット
122  動き推定ユニット
124  動き補償ユニット
126  イントラ予測ユニット
128  レイヤ間予測ユニット
150  エントロピー復号ユニット
152  予測処理ユニット
154  逆量子化ユニット
156  逆変換ユニット
158  再構築ユニット
159  フィルタユニット
160  復号ピクチャバッファ
162  動き補償ユニット
164  イントラ予測ユニット
166  レイヤ間予測ユニット
450  ビットストリーム
451  SEIメッセージ
452  オペレーションポイント
454  オペレーションポイント
456  オペレーションポイント
458  オペレーションポイント
460  オペレーションポイント
461  矢印
462  矢印
470A  ベースレイヤ
470B  第1のエンハンスメントレイヤ
470C  第2のエンハンスメントレイヤ
472A  ベースレイヤピクチャ
472B  エンハンスメントレイヤピクチャ
472C  エンハンスメントレイヤピクチャ
474A  ベースレイヤピクチャ
474B  エンハンスメントレイヤピクチャ
474C  エンハンスメントレイヤピクチャ
476A  ベースレイヤピクチャ
476B  エンハンスメントレイヤピクチャ
476C  エンハンスメントレイヤピクチャ
478A  ベースレイヤピクチャ
478B  エンハンスメントレイヤピクチャ
478C  エンハンスメントレイヤピクチャ
480  ビットストリーム
480A  ベースレイヤピクチャ
480B  ベースレイヤピクチャ
482  AU
484  AU
486  AU
488  AU
500  シンタックス
502  payloadType
504  payloadSize
506  active_video_parameter_set_id
508  self_contained_cvs_flag
510  no_parameter_set_update_flag
512  num_sps_ids_minus1
514  active_seq_parameter_set_id[i]
516  target_nuh_layer_id[i]
600  ビットストリーム
700  シンタックス
702  payloadType
704  payloadSize
706  refreshed_region_flag
708  targetLayerIdList
800  方法
900  方法
【図１Ａ】
0006510553.tif 000018
【図１Ｂ】
0006510553.tif 000019
【図２Ａ】
0006510553.tif 000020
【図２Ｂ】
0006510553.tif 000021
【図３Ａ】
0006510553.tif 000022
【図３Ｂ】
0006510553.tif 000023
【図４Ａ】
0006510553.tif 000024
【図４Ｂ】
0006510553.tif 000025
【図４Ｃ】
0006510553.tif 000026
【図５】
0006510553.tif 000027
【図６】
0006510553.tif 000028
【図７】
0006510553.tif 000029
【図８】
0006510553.tif 000030
【図９】
0006510553.tif 000031