(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-08
(45)【発行日】2023-09-19
(54)【発明の名称】仮想参照デコーダ
(51)【国際特許分類】
H04N 19/70 20140101AFI20230911BHJP
【FI】
H04N19/70
(21)【出願番号】P 2021551746
(86)(22)【出願日】2020-02-27
(86)【国際出願番号】 EP2020055122
(87)【国際公開番号】W WO2020178126
(87)【国際公開日】2020-09-10
【審査請求日】2021-10-29
(32)【優先日】2019-03-01
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(74)【代理人】
【識別番号】100134119
【氏名又は名称】奥町 哲行
(72)【発明者】
【氏名】スクピン・ロバート
(72)【発明者】
【氏名】サンチェスデラフエンテ・ヤゴ
(72)【発明者】
【氏名】ヘルゲ・コーネリアス
(72)【発明者】
【氏名】シエル・トーマス
(72)【発明者】
【氏名】ズーリング・カルステン
(72)【発明者】
【氏名】ヴィーガンド・トーマス
【審査官】坂東 大五郎
(56)【参考文献】
【文献】特表2015-533048(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
データストリームにビデオを符号化するビデオ
エンコーダであって、
前
記データストリーム(14)の完全バージョン(15)をバッファリングする場合にデコーダ側に適用される第1の符号化画像バッファ(CPB)除去時間(t
rm
(1))に関する第1のタイミング情報(16)
を前記データストリームに符号化し、
前記完全バージョンから
の部分(24)の除去(22)によ
り前記
完全バージョンとは異なる、前
記データストリーム(14)の縮小バージョン(20)をバッファリングするためにデコーダ側に適用される第2のCPB除去時間(t
rm
(2))に関する第2のタイミング情報(18)
を前記データストリームに符号化する
ように構成され、
前記第2のタイミング情報(18)は、前記第2のCPB除去時間(t
rm
(2)
)を生成するために前記第1のCPB除去時間(t
rm
(1)
)を修正するための、画像タイミングSEIメッセージ内のタイミング修正情報によって、前記第2のCPB除去時間(t
rm
(2)
)を指示する
ビデオ
エンコーダ。
【請求項2】
前記第1のタイミング情報(16)は、画像ごとに、
前記データストリーム内のバッファリング期間メッセージによってマークされ、復号順(26)で先行する
、マーク画像に対する増分によって、前記第1のCPB除去時間(t
rm
(1))をシグナリングする
請求項
1に記載のビデオ
エンコーダ。
【請求項3】
前記
タイミング修正情報(19)は、前記データストリーム内で部分(24’)に先行する、
第1の画像部分(CRA)に関する第1のタイミング修正情報
を含む
請求項
1に記載のビデオ
エンコーダ。
【請求項4】
前
記タイミング修正情報(19
)は、前
記データストリームの前記部分(24’)に続
く第2
の画像
部分(TRAIL
1)に関連する
第2のタイミング修正情報を備える
請求項
3に記載のビデオ
エンコーダ。
【請求項5】
前記第1
の画像
部分は
バッファリング期間SEIメッセージによってマーク
される
請求項
3に記載のビデオ
エンコーダ。
【請求項6】
前記第2
の画像
部分は、通常のトレイリング画像
(TRAIL
)、または従属ランダムアクセスポイント
(DRAP
)画像
に対応する
請求項
4に記載のビデオ
エンコーダ。
【請求項7】
前記部分が1つ以上のRASL画像のシーケンスに関す
る、または
前記部分がDRAPに先行する画像のシーケンスに関する
場合、
前記第2のタイミング情報は、前記第2のCPB除去時間を定義する
請求項
1に記載のビデオ
エンコーダ。
【請求項8】
前
記データストリームは、前記部分が除去されているか否かを示す信号化(32,35)を備える
請求項
1に記載のビデオ
エンコーダ。
【請求項9】
前
記データストリームは、前記ビデオ
の画像(12)が、各階層レベルについて、
当該階層レベルの全ての画像が単に
当該階層レベルまたは下位の階層レベルの画像に依存する
ように、
それぞれの階層レベル(50
i)
に割り当てられるように、時間的にスケーラブルな方法で、時間インター予測を使用し
て符号化され、
前記部分(24)は、
1つ以上の最上位階層レベ
ルの画像で構成される
請求項
1に記載のビデオ
エンコーダ。
【請求項10】
前
記タイミング
修正情
報は、
それぞれの階層レベルに割り当てられる
請求項
9に記載のビデオ
エンコーダ。
【請求項11】
前記
タイミング修正情報は、復号される最上位階層レベルに依存するオフセットである
請求項
10に記載のビデオ
エンコーダ。
【請求項12】
ビデオデコー
ダの符号化画像バッファ(CPB
)を管理するための装置(46)であって、前記装置は、
データストリーム(14)の完全バージョン(15)をバッファリングする場合に適用される第1の符号化画像バッファ(CPB)除去時間(t
rm
(1)
)に関する第1のタイミング情報(16)を前記データストリームから復号し、
前記完全バージョンからの部分(24)の除去(22)により前記完全バージョンとは異なる、前記データストリーム(14)の縮小バージョン(20)をバッファリング場合に適用される第2のCPB除去時間(t
rm
(2)
)に関する第2のタイミング情報(18)を前記データストリームから復号する
ように構成され、
前記第2のタイミング情報(18)は、前記第2のCPB除去時間(t
rm
(2)
)を生成するために前記第1のCPB除去時間(t
rm
(1)
)を修正するための、画像タイミングSEIメッセージ内のタイミング修正情報によって、前記第2のCPB除去時間(t
rm
(2)
)を指示する
装置(46)。
【請求項13】
ビデオ(12)
をデータストリームに符号化する方法であって
、
データストリーム(14)の完全バージョン(15)をバッファリングする場合にデコーダ側に適用される第1の符号化画像バッファ(CPB)除去時間(t
rm
(1))に関する第1のタイミング情報(16)
を前記データストリームに符号化するステップと、
前記完全バージョンから
の部分(24)の除去(22)によ
り前記
完全バージョンとは異なる、前
記データストリーム(14)の縮小バージョン(20)をバッファリングするためにデコーダ側に適用される第2のCPB除去時間(t
rm
(2))に関する第2のタイミング情報(18)
を前記データストリームに符号化するステップと
を備え
、
前記第2のタイミング情報(18)は、前記第2のCPB除去時間(t
rm
(2)
)を生成するために前記第1のCPB除去時間(t
rm
(1)
)を修正するための、画像タイミングSEIメッセージ内のタイミング修正情報によって、前記第2のCPB除去時間(t
rm
(2)
)を指示する
方法。
【請求項14】
ビデオデコーダの符号化画像バッファ(CPB)を管理するための方法(48)であって、
データストリーム(14)の完全バージョン(15)をバッファリングする場合
に適用される第1のCPB除去時間(t
rm
(1))に関する第1のタイミング情報(16)
をデータストリームから復号するステップと、
前記完全バージョンから
の一部分(24)の除去(22)によ
り前記
完全バージョンとは異なる、前
記データストリーム(14)の縮小バージョン(20)をバッファリングする
場合に適用される第2のCPB除去時間(t
rm
(2))に関する第2のタイミング情報(18)
を前記データストリームから復号するステップと
を備え、
前記第2のタイミング情報(18)は、前記第2のCPB除去時間(t
rm
(2)
)を生成するために前記第1のCPB除去時間(t
rm
(1)
)を修正するための、画像タイミングSEIメッセージ内のタイミング修正情報によって、前記第2のCPB除去時間(t
rm
(2)
)を指示する
方法。
【発明の詳細な説明】
【技術分野】
【0001】
仮想参照デコーダHRD、ならびにビットストリームおよびデコーダの適合性をチェックするためのその使用は、通常、AVC(アドバンストビデオコーデック)およびHEVC(高効率ビデオコーディング)などのビデオ符号化規格で指定される。
【0002】
本発明による実施形態は、ビデオストリーム、ビデオエンコーダ、ビデオデコーダ、ネットワークノード、ビデオデコーダの符号化画像バッファ(CPB)を管理するための装置、およびビデオデータストリームを互いにスプライスするための装置に関する。
【背景技術】
【0003】
以下、本発明の背景の序章が提供される。
これを行うために、
図2に示されるように、仮想ストリームスケジューラ(HSS)、符号化画像バッファ(CPB)、復号プロセス(瞬時と見なされる)、復号画像バッファ(DPB)、および出力クロッピングプロセスからなるHRDバッファモデルが指定される。
【0004】
モデルは、ビットストリームが符号化画像バッファに供給されるタイミングおよびビットレート、その復号ユニット(低遅延動作モードの場合、AU、アクセスユニット、またはVCL NAL(VCL:ビデオ符号化層、NAL:ネットワーク抽象化層)ユニットのいずれか)がCPBから除去されて瞬時に復号される時間、ならびに画像がDPBから出力される出力時間を定義する。
【0005】
そうすることにより、デコーダがバッファオーバーフロー(CPB内に維持できるよりも多くのデータがデコーダに送信される)または(必要とされるより低いビットレートで)より少ないデータがデコーダに送信され、必要な復号ユニットが復号のためにデコーダにおいて適切な時間ではない、アンダーランを回避するために必要なCPBサイズを定義することも可能である。
【0006】
最先端の符号化規格は、ビットストリームおよびHRD要件ならびにバッファモデルを記述するために異なるパラメータを指定する。
【0007】
たとえば、副層ごとにHEVC内で定義されたhrd_parameterは、Bitrate(i)およびCPBsize(i)の1つ以上のペアからなり、これらは、ストリームスケジューラがサイズCPBsize(i)のCPBにBitrate(i)のビットレートを供給する場合、オーバーフローまたはアンダーフローが発生しないことを示す。
【0008】
hrd_parameterの構文要素と併せて、その画像に属するVCL NALユニットがいつ復号のために送信されるかを示すCPBからの画像の除去時間を指定するビットストリーム内に追加のタイミング情報が存在する。
理解を容易にするために、サブ画像処理は説明から省略される。
【0009】
関連情報は、InitialCPBRemovalDelay(i)、InitialCPBRemovalOffset(i)、およびAuCPBRemovalDelayを有するバッファリング期間SEI(補足強化情報)メッセージ内、およびAuCPBRemovalDelayを有する画像タイミングSEIメッセージ内に存在する。
最も基本的な動作では、InitialCPBRemovalDelay(i)およびAuCPBRemovalDelayのみが使用される。
【0010】
その場合、復号される最初のアクセスユニットは、ランダムアクセスポイントRAPであり、その対応するバッファリング期間SEIメッセージおよび時間0は、ランダムアクセスポイントの最初のビットがCPBに入る時間として定義される。次に、時間InitialCPBRemovalDelay(i)において、ランダムアクセスポイントに対応する画像がCPBから除去され、さらに非RAP画像のCPBからの除去がInitialCPBRevovalDelay(i)+AuCPBRemovalDelayにおいて行われる(HEVCは、遅延を時間に変換するためのいくつかのパラメータ、すなわちClockTickを定義するが、これは簡略化のためにここでは無視される)。
【0011】
次のRAPが来ると、非RAP画像について除去時間が以前と同様に計算され、すなわち
InitialCPBRevovalDelay(i)+AuCPBRemovalDelay
そしてこの新しい値は、別のRAPまでのさらなるデルタのアンカーとして使用され、すなわち
anchorTime=InitialCPBRemovalDelay(i)+AuCPBRemovalDelay
【0012】
その後、画像の除去はanchorTime+AuCPBRemovalDelayとなり、anchorTimeは、次のRAPにおいてバッファリングSEIメッセージで更新され、
anchorTime=anchorTime+AuCPBRemovalDelayなどである。
記載された動作モードは、最も単純なものである。考慮される必要があるさらなるケースがある。
現在の状況では、本発明が克服するいくつかの欠点がある。詳細は、以下の通りである。
【発明の概要】
【0013】
本発明による一実施形態は、ビデオが符号化され、ビデオデータストリームの完全バージョンをバッファリングする場合にデコーダ側に適用される第1の符号化画像バッファ(CPB)除去時間に関する第1のタイミング情報と、ビデオデータストリームの完全バージョンからのビデオデータストリームの一部分の除去によるビデオデータストリームとは異なる、ビデオデータストリームの縮小バージョンをバッファリングするためにデコーダ側に適用される第2のCPB除去時間に関する第2のタイミング情報とを備える、ビデオデータストリームに関する。
【0014】
本発明による別の実施形態は、ビデオが符号化され、最小CPB供給ビットレートに関する第1のHRDタイミング情報データと、最大CPB供給ビットレートに関する第2のHRDタイミング情報データとを備えるビデオデータストリームであって、第1のHRDタイミング情報データおよび第2のHRDタイミング情報データは、第1および第2のHRDタイミング情報データ間を線形補間することによって、実際のCPB供給ビットレートの第3のHRDタイミング情報の決定を可能にする、ビデオデータストリームに関する。
【0015】
本発明による別の実施形態は、ビデオデータストリームであって、ビデオデータストリームは、画像部分のシーケンスであって、各画像部分は符号化されたビデオの画像を有し、画像部分は、CPB除去時間基準として機能する第1のタイプの画像部分および第2のタイプの画像部分を備える、画像部分のシーケンスと、それぞれの画像部分の第1のCPB除去時間に関する各画像部分の第1のタイミング情報であって、第1のCPB除去時間は、先行する第1のタイプの画像部分の除去からの経過時間を測定する、第1のタイミング情報と、それぞれの所定の第1のタイプの画像部分以降のビデオデータストリームの復号を再開する場合のそれぞれの所定の第1のタイプの画像部分の第2のCPB除去時間に関する所定の第1のタイプの画像部分の各々の第2のタイミング情報であって、第2のCPB除去時間は、それぞれの所定の第1のタイプの画像部分の最初のビットのCPB到着からの経過時間を測定する、第2のタイミング情報と、別のビデオデータストリームを有するスプライスポイントの前の最後の画像部分として機能し得るように、その最終CPB到着とそのCPB除去との間の時間差が所定の閾値を超える画像部分を示すスプライスポイント表示とを備える、ビデオデータストリームに関する。
【0016】
本発明による別の実施形態は、ビデオをビデオデータストリームに符号化し、ビデオデータストリームに、ビデオデータストリームの完全バージョンをバッファリングする場合にデコーダ側に適用される第1のCPB除去時間に関する第1のタイミング情報と、ビデオデータストリームの完全バージョンからのビデオデータストリームの一部分の除去によるビデオデータストリームとは異なる、ビデオデータストリームの縮小バージョンをバッファリングするためにデコーダ側に適用される第2のCPB除去時間に関する第2のタイミング情報とを提供するための、ビデオエンコーダに関する。
【0017】
本発明による別の実施形態は、ビデオをビデオデータストリームに符号化し、ビデオデータストリームに、最小CPB供給ビットレートに関する第1のHRDタイミング情報と、最大CPB供給ビットレートに関する第2のHRDタイミング情報とを提供するためのビデオエンコーダであって、第1のHRDタイミング情報および第2のHRDタイミング情報は、第1および第2のHRDタイミング情報間を線形補間することによって、実際のCPB供給ビットレートの第3のHRDタイミング情報の決定を可能にする、ビデオエンコーダに関する。
【0018】
本発明による別の実施形態は、ビデオデータストリームが画像部分のシーケンスを備えるようにビデオをビデオデータストリームに符号化するためのビデオエンコーダであって、各画像部分は符号化されたビデオの画像を有し、ビデオエンコーダは、画像部分をCPB除去時間基準として機能する第1のタイプの画像部分および第2のタイプの画像部分に分類し、ビデオデータストリームに、それぞれの画像部分の第1のCPB除去時間に関する各画像部分の第1のタイミング情報であって、第1のCPB除去時間は、先行する第1のタイプの画像部分の除去からの経過時間を測定する、第1のタイミング情報と、それぞれの所定の第1のタイプの画像部分以降のビデオデータストリームの復号を再開する場合のそれぞれの所定の第1のタイプの画像部分の第2のCPB除去時間に関する所定の第1のタイプの画像部分の各々の第2のタイミング情報であって、第2のCPB除去時間は、それぞれの所定の第1のタイプの画像部分の最初のビットのCPB到着からの経過時間を測定する、第2のタイミング情報とを提供し、別のビデオデータストリームを有するスプライスポイントの前に最後の画像部分として機能するように、その最終CPB到着とそのCPB除去との間の時間差が所定の閾値を超えるか否かについて、所定の画像部分の各々をチェックし、ビデオデータストリームに、その最終CPB到着とそのCPB除去との間の時間差が所定の閾値を超えるこれらの所定の画像部分を示すためのスプライスポイント表示を提供する、ビデオエンコーダに関する。
【0019】
本発明による別の実施形態は、ビデオデータストリームからビデオデータストリームの一部分を除去するためにビデオデータストリームを転送するためのネットワークノードに関する。
【0020】
本発明による別の実施形態は、CPBによってバッファリングされる方法でビデオデータストリームを復号するビデオデコーダのCPBを管理するための装置であって、装置は、部分がビデオデータストリームによって構成される場合に第1のタイミング情報、部分が除去されている場合には第2のタイミング情報に従ってCPBを管理する、装置に関する。
【0021】
本発明による別の実施形態は、ビデオが符号化されたビデオデータストリームを復号するビデオデコーダのCPBを管理するための装置であって、装置は、ビデオデータストリームから、最小CPB供給ビットレートに関する第1のHRDタイミング情報を導出し、最大CPB供給ビットレートに関する第2のHRDタイミング情報を導出し、第1および第2のHRDタイミング情報間を線形補間することによって実際のCPB供給ビットレートの第3のHRDタイミング情報を決定し、第3のHRDタイミング情報を使用してCPBを管理する、装置に関する。
【0022】
本発明による別の実施形態は、CPBによってバッファリングされる方法でビデオデータストリームを復号するビデオデコーダのCPBを管理するための装置であって、装置は、最初の所定の第1のタイプの画像部分の連結フラグが、スプライスインが最初の所定の第1のタイプの画像部分で行われたことを示すか否かについてチェックし、CPBから最初の所定の第1のタイプの画像部分を除去する時間を決定する、装置に関する。ここで、決定は、最初の所定の第1のタイプの画像部分の連結フラグが、スプライスインが最初の所定の第1のタイプの画像部分で行われなかったことを示す場合には、最初の所定の第1のタイプの画像部分の第1のタイミング情報に基づき、最初の所定の第1のタイプの画像部分の連結フラグが、スプライスインが最初の所定の第1のタイプの画像部分で行われたことを示す場合には、最初の所定の第1のタイプの画像部分の第2および第3のタイミング情報に基づく。
【0023】
本発明による別の実施形態は、第1のビデオデータストリームおよび第2のビデオデータストリームを互いにスプライスするための装置であって、これらの各々は、画像部分のシーケンスであって、各画像部分は符号化されたビデオの画像を有し、画像部分は、CPB除去時間基準として機能する第1のタイプの画像部分および第2のタイプの画像部分を備える、画像部分のシーケンスと、それぞれの画像部分の第1のCPB除去時間に関する各画像部分の第1のタイミング情報であって、第1のCPB除去時間は、先行する第1のタイプの画像部分の除去からの経過時間を測定する、第1のタイミング情報と、それぞれの所定の第1のタイプの画像部分以降のビデオデータストリーム復号を再開する場合のそれぞれの所定の第1のタイプの画像部分の第2のCPB除去時間に関する所定の第1のタイプの画像部分の各々の第2のタイミング情報とを備え、第2のCPB除去時間は、それぞれの所定の第1のタイプの画像部分の最初のビットのCPB到着からの経過時間を測定し、第2のビデオデータストリームは、最初の所定の第1のタイプの画像部分に連結フラグおよび第3のタイミング情報を備え、連結フラグは、最初の所定の第1のタイプの画像部分が第2のビデオデータストリームを継続する第2のビデオデータストリームを示す第2の状態に設定され、第3のタイミング情報は、最初の所定の第1のタイプの画像部分で第2のビデオデータストリームをスプライスインするときのCPB除去時間を決定するのに役立つ最初の所定の第1のタイプの画像部分の第3のCPB除去時間を示し、第3のCPB除去時間は、廃棄不可能な画像部分の直近のCPB除去からの経過時間を測定する、装置に関する。本発明の装置は、第1のビデオデータストリームが第2のビデオデータストリームとスプライスされる前の最後の画像部分として機能し得るように、第1のビデオデータストリームのスプライスポイント表示が、所定の画像部分について、そのCPB到着とそのCPB除去との間の時間差が所定の閾値を超えることを示すか否かをチェックし、そうであれば、第2のビデオデータストリームの最初の所定の第1のタイプの画像部分の連結フラグを、第2のビデオデータストリームが最初の所定の第1のタイプの画像部分でスプライスインされたことを示す第1の状態に設定し、スプライスされたビデオデータストリームを取得するように、所定の画像部分および最初の所定の第1のタイプの画像部分で第1および第2のデータストリームをそれぞれ連結する。
【0024】
上記の概念は、本発明の実施形態による方法によって実施されることが可能である。これらの方法は、上記のデコーダ、エンコーダ、装置、およびデータストリームと同じ考察に基づいている。しかしながら、方法は、本明細書に記載される特徴、機能、および詳細のいずれかによって補足されることが可能であり、デコーダ、エンコーダ、装置、およびデータストリームに関しても同様であることに、留意すべきである。また、方法は、個別でも組み合わせても、デコーダ、エンコーダ、装置、およびデータストリームの特徴、機能、および詳細によって補足されることが可能である。
【0025】
最後に、概念は、本発明の実施形態による符号化データストリームを生成するためにも使用されることが可能である。データストリームは、個別でも組み合わせても、デコーダ、エンコーダ、装置、および方法の特徴、機能、および詳細によって補足されることも可能である。
本発明による実施形態は、以下の添付図面を参照して、引き続き説明される。
【図面の簡単な説明】
【0026】
【
図1】本出願の一実施形態による符号化データストリームを示す図である。
【
図2】本出願の一実施形態による仮想参照デコーダのフローチャートである。
【
図3】本出願の一実施形態による除去時間を含む符号化画像バッファの状態を示す図である。
【
図4】本出願の一実施形態による除去時間を含む符号化画像バッファの状態を示す図である。
【
図5】本出願の一実施形態による除去時間を含む符号化画像バッファの状態を示す図である。
【
図6】本出願の一実施形態による除去時間を含む符号化画像バッファの状態を示す図である。
【
図7】本出願の一実施形態による除去時間を含む符号化画像バッファの状態を示す図である。
【
図9】本出願の一実施形態による除去時間を含む符号化画像バッファの状態を示す図である。
【
図8】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図10】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図11】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図20】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図21】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図22】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図23】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図24】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図26】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図27】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図28】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図29】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図30】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図31】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図32】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図33】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図34】本出願の実施形態による例示的なシグナリング構文を示す図である。
【
図12】本出願の実施形態による異なるフレームレートのデータストリーム構造を示す図である。
【
図13】本出願の実施形態による異なるフレームレートのデータストリーム構造を示す図である。
【
図14】本出願の実施形態による異なるフレームレートのデータストリーム構造を示す図である。
【
図16】本出願の実施形態による異なるフレームレートのデータストリーム構造を示す図である。
【
図18】本出願の実施形態による異なるフレームレートのデータストリーム構造を示す図である。
【
図15】本出願の実施形態による、異なるフレームレートが同じビットストリームで提供されるときの例示的な除去時間値を示す図である。
【
図17】本出願の実施形態による、異なるフレームレートが同じビットストリームで提供されるときの例示的な除去時間値を示す図である。
【
図19】本出願の実施形態による、異なるフレームレートが同じビットストリームで提供されるときの例示的な除去時間値を示す図である。
【
図25】本出願の一実施形態による、互いにステッチされている符号化データストリームを示す図である。
【
図35】本出願の実施形態によるCPBサイズの計算の値の表を示す図である。
【
図36】本出願の実施形態によるCPBサイズの計算の値の表を示す図である。
【
図37】本出願の実施形態によるCPBサイズの計算の値の表を示す図である。
【
図38】本出願の実施形態による例示的なCPBフィルレベルのグラフである。
【発明を実施するための形態】
【0027】
図中、同様の参照符号は、同様の要素および特徴を示す。
【0028】
以下、本発明の根底にある考察が論じられ、いくつかの解決策が記載される。特に、いくつかの詳細が開示され、これらは本明細書に開示される実施形態のいずれかに、任意選択的に導入されることが可能である。具体的には、以下の説明は、様々な送信条件でのスプライシング、ストリーム抽出、スケーラブルビットストリームのストリッピング、およびビットストリーム供給に対処するときに発生し、直面する問題の簡単な提示から始まる。次に、問題の特定の修正が提示され、続いて対応する修正を利用する実施形態が提示される。
以下の問題が、検査および対処される。
【0029】
スプライシング:画像のCPBの除去時間が使用されるようにAuCPBRemovalDelayを追加するために、バッファリングSEIを有する以前のRAPの除去時間がアンカーとして使用される。
【0030】
しかしながら、スプライシングが発生すると、スプライシングポイントにおいて、anchorTimeの以前の値が何であったかを容易に知ることはできない。したがって、このような場合、スプライスされたバッファリングSEIを有するRAPのCPB除去時間の導出は、異なる方法で実行される。
【0031】
この問題を解決するために、HEVCは2つの追加のパラメータを含み、これらは、バッファリング期間SEIメッセージを含むRAPでスプライシングが発生したか否かを示すconcatenation_flag、およびバッファリング期間SEIメッセージを有する以前のRAPを参照する代わりに以前の廃棄不可能な画像までの時間内のデルタを参照するAuCPBRemovalDelta時間である。したがって、これにより、任意の値を計算し、スプライシングポイントにおいてバッファリング期間SEIメッセージを書き換える必要がなくなる。すると、スプライシングが発生するRAPからのCPB除去時間は以下のようになる。
Removal(previousNonDiscardable)+AuCPBRemovalDelta
【0032】
これは、シームレスなスプライシングシナリオを想定している。しかしながら、元のビットストリームのスプライシングポイント(スプライシングのバッファリング期間SEIメッセージ結果を有するRAPがスプライスされず、その元のビットストリーム内にあるとき)とスプライスするときとでCPBステータスが同じであることを保証することはできない。より具体的には、
図3は記載された問題を示しており、フレーム#3における上部のビットストリームは、フレーム#2以降の底部のビットストリームとスプライスされる。
【0033】
したがって、(フレームがtaf3に到着したときよりも早くなるであろう)上述のような
Removal(previousNonDiscardable)+AuCPBRemovalDelta
の除去時間を有する代わりに、
Removal(previousNonDiscardable)+InitialCPBRevovalDelay(i)+taf2-trm2
の除去時間が代わりに使用される。
【0034】
つまり、スプライスされたRAPの除去時間は、
Removal(previousNonDiscardable)+SplicingDelta
であり、ここでSplicingDeltaはAuCPBRemovalDetaおよびInitialCPBRevovalDelay(i)+t
af2-t
rm2の最大値に設定される。
たとえば
図3に示されるように、たまたま第2の値が第1の値よりも大きい場合、シームレスではないスプライシングが発生する。
【0035】
AuFinalArrivalTimeおよびNonDiscardable画像に続く別の画像の除去時間が不明であり、したがって、両方の値tafXおよびtrmXの差がNonDiscardable画像の場合と同じではない場合に導出された除去時間が誤りである(InitialCPBRemovalDelay(i)+tafX-trmX)可能性があるため、このスプライシング動作は、最初のビットストリームが対応するNonDiscardable画像で終了する場合にのみ機能する。
【0036】
CPBフルネスおよび遅延:HRDモデルで発生する別の問題は、CPBバッファを利用するために、第1のアクセスユニットの除去のための時間遅延が必要とされることである。
【0037】
スプライシング後の最初のRAPがCPBに入ると、そのAUの除去は、既に論じられたように、InitialCPBRemovalDelay(i)時間後まで遅延される。InitialCPBRemovalDelay(i)の間にBitrate(i)でCPBを供給することにより、所与のCPBフルネス、たとえばCPBAが達成される。その後、バッファリング期間SEIメッセージを有するさらなるRAPにおいて、CPBAよりも大きいCPBBを達成することは不可能である。その理由は、AUがCPBに入ることができる最も早い時間を数学的にチェックすることでわかる。
【0038】
initArrivalTime[n]=Max(AuFinalArrivalTime[n-1],initArrivalEarliestTime[n])、ここで
initArrivalEarliestTime[n]=RemovalTime[n]-InitCpbRemovalDelay(i)
【0039】
これは、バッファリング期間SEIメッセージに続くAUがその除去時間のInitialCPBRemovalDelay(i)よりも早くCPBに入ることができない場合、InitialCPBRemovalDelay(i)の間にCPBにBitrate(i)を供給することはCPBAのCPBフルネスを達成するのみであるため、CPBAよりも大きいCPBBを達成することができないことを意味する。
【0040】
この問題を解決するために、
図4に示されるように、仮想送信者(または図中のHSS)が、所与の時間オフセットInitialCPBRemovalOffset(i)でバッファリングSEIメッセージを有する最初のRAPのスケジューリングを遅延させることが考えられる。
これはVBRでのみ機能し、以下のCBRのようにCBRでは機能しないことに言及することが重要である。
initArrivalTime[n]=AuFinalArrivalTime[n-1]
これにより、スケジューリングは、以下のように変更される。
【0041】
initArrivalEarliestTime[n]=RemovalTime[n]InitCpbRemovalDelay(i)-InitialCPBRemovalOffset(i)
【0042】
これは、CPBBのCPBサイズが、InitCpbRemovalDelay(i)+InitialCPBRemovalOffset(i)のためにCPBにBitrate(i)を供給することによって達成されるサイズに対応することができることを意味する。
【0043】
AUのドロップ:HEVCのHRDモデルは、いくつかのNALユニットのドロップもサポートする。より具体的には、RAP画像に関連付けられた「廃棄可能な」画像がドロップされることが可能である。「廃棄可能な」画像とは、RASL(ランダムアクセススキップリーディング)画像、すなわちオープンGOP(画像のグループ)構造において、提示順ではRAP画像に先行するが、復号順では後続し、復号順でRAPに先行する画像も参照する画像を意味する。したがって、対応するRAP画像でランダムアクセスするとき、RASL画像は復号されることが不可能である。このため、このようなビットストリームを別のビットストリームとスプライスするとき、またはそのRAP位置でセッションを開始するとき、RASL画像を送信することはリソースの浪費であり、場合によっては、これらの画像は送信前にドロップされる。
明らかに、ビットストリームが修正されると、タイミング情報、すなわち画像の初期到着時間および除去時間が変化する。
【0044】
したがって、バッファリング期間SEIメッセージは、バッファリング期間SEIメッセージを有するRAPに関連付けられたRASL画像がドロップされる場合の代替タイミングを含む。
・AltInitCpbRemovalDelay(i)
・AltInitialCPBRemovalOffset(i)
【0045】
時間スケーラビリティ:副層をドロップするとき、タイミング情報も変化する。たとえば、元のビットストリームが60Hzを有する場合、復号順で2つの連続する画像間の公称除去時間の距離は1/60秒であると予想される。1つおきに画像をドロップすると、距離は1/30秒となる。これは、画像タイミングSEIメッセージが置換される必要があることを意味する。さらに、InitCpbRemovalDelay(i)およびInitialCPBRemovalOffset(i)も変更される必要がある。そのため、バッファリング期間SEIメッセージは置換される必要がある。このような動作のために、典型的には追加の画像タイミングSEIメッセージおよびバッファリング期間SEIメッセージがいわゆるネスティングSEIメッセージに含まれる。ミドルウェアが副層ビットストリーム抽出(たとえば、60Hzビットストリームから30Hzビットストリームを得るために1つおきのフレームをドロップする)を実行するとき、元の画像タイミングSEIメッセージおよびバッファリング期間SEIメッセージは、ネスティングSEIメッセージからの対応する画像タイミングSEIメッセージおよびバッファリング期間SEIメッセージで置換される。
【0046】
ビットレート変形例:initial_removal_delayおよびinitial_removal_delay_offset、ならびにビットレートおよびCPB_sizeなどのHRDパラメータは、通常、いくつかの値に対して提供される。所与のビットストリームがCPB内に供給されるビットレートは変動する可能性があり、したがって有効なHRDモデルをもたらすいくつかの値が提供されると考えられる。
【0047】
しかしながら、適切に考慮されていないいくつかの態様がある。
・CBRをもたらすビットレートのみが存在する可能性がある。
・適切なBitrateが先験的に知られていない場合、ビットストリームは有効なHRDモデル(そのためのパラメータ)を提供することができない。
【0048】
上記で概説されたように、nonDiscardableポイントをスプライスすることは、現時点では達成することが困難なタスクであり、したがって、以下に記載される実施形態は、nonDiscardableポイントであってもスプライシングが可能となる可能性を正確に達成することを目的とする。最初の簡単な修正は、廃棄不可能な画像をアンカーとして常に使用せず、スプライシングの後に受信した最後の画像を使用するように、式を訂正することである。すなわち、
Removal(previousNonDiscardable)+SplicingDelta
【0049】
ここで、SplicingDeltaは、AuCPBRemovalDeltaおよびInitialCPBRevovalDelay(i)+taf2-trm2の最大値に設定される
から、
-Removal(previousNonDiscardable)+AuCPBRemovalDelta
【0050】
-Removal(lastPictureBeforeSplicing)+InitialCPBRevovalDelay(i)+taf2-trm2、ここでRemoval(lastPictureBeforeSplicing)は実際にはtrm2
のうちの最大値への変更。(上記の例において)
【0051】
依然として、式に見られるように、スプライサが以前の画像をスプライシング前の最後の画像、たとえばtrm1と見なすことに決定した場合、両方の場合のうちの最大値は常にRemoval(previousNonDiscardable)+AuCPBRemovalDeltaとなる。これは、スプライサがAuCPBRemovalDeltaの値を相応に変更し、(taf2-trm2)の差がシームレスな切り替えを可能にするようになっていることを確実にするのでなければ、任意のAUでのシームレスなスプライシングを防止することになる。
【0052】
バッファリング期間SEIにAuCPBRemovalDeltaの値を変更することは、実現可能である。しかしながら、(tafXおよびtrmX)を追跡することはそれほど簡単ではないので、スプライサが(tafXおよびtrmX)の値を追跡することは簡単ではない。
【0053】
異なるポイントでのシームレスなスプライシングが望ましいので、所与の画像がこれを可能にするか否かをスプライサに示すための何らかのシグナリングが望ましいだろう。これは、エンコーダ側で(t
afXおよびt
rmX)値をチェックし、差(t
rmX-t
afX)が所与の値よりも小さくならないことを確認することによって、達成されることが可能である。シグナリングは、たとえば、スプライシングポイントの前の最後のものとして使用され得る画像に関連付けられた画像タイミングSEIで行われることが可能である。一例が
図26に見られる。
または、約束としてのnonDiscardable画像であっても、後続の廃棄可能な画像は要件を満たす。一例が
図27に見られる。
【0054】
(t
rmX-t
afX)が満たさなければならない最小値に対する要件は、スプライスされたビットストリームのinitial_removal_delayに関連している。バッファリング期間SEIには、どの値で画像がシームレスなスプライシングのために使用され得るかに関する何らかの表示があるはずである。一例が
図28に見られる。
したがって、ちょうど概説された可能な修正の考察の結果として、以下の実施形態を評価した。
【0055】
図25、ならびに
図26、
図27、および
図28のシグナリング例では、ビデオデータストリームが、アクセスユニットなどの画像部分23aのシーケンスを備えることができ、各画像部分は符号化されたビデオ12aの画像10aを有することができることがわかる。
図25は、2つのデータストリーム14aおよび14bを描写し、スプライシングポイント92に先行する、すなわちその左のストリーム14aの部分の後端が、スプライシングポイント92に続く、すなわちその右のストリーム14bの部分の前端に当接するような、スプライシングポイント92でのストリーム14aおよび14bのスプライシングを示す。サーバ、ビデオ会議システム、またはクライアント-サーバストリーミングシステムなどのスプライシング装置によって実行されるスプライシングの結果、すなわちスプライスされたデータストリームは、14cで示されている。
【0056】
画像部分は第1のタイプの画像部分を備えることができ、これらはクロスハッチング、またはいくつかの図では単純にハッチングされて示されており、上記ではマーク画像と呼ばれる。そのための例は、バッファリング期間SEIを有する、または備えるAUである。これらの第1のタイプの画像部分はCPB除去時間基準として機能し、つまり、これらのCPB除去は、AuCPBRemovalDelayなどの時間オフセットとして与えられるその他のタイミングのための基準anchorTimeとして使用される。
【0057】
画像部分は、バッファリング期間SEIを備えない画像など、いくつかの図ではハッチングなしで示されている、第2のタイプの画像部分をさらに備えることがでる。
【0058】
データストリーム14aおよび14bは、第1のタイミング情報95を追加で備え、各画像部分においてAuCPBRemovalDelayまたはau_cpb_removal_delay_minus1を比較し、それぞれの画像部分の第1のCPB除去時間について通知する。第1のCPB除去時間は、先行する第1のタイプの画像部分、すなわち
図25に描写される符号化またはビットストリーム順で先行するもの、具体的には直前のものの除去からの経過時間を測定する。
【0059】
データストリーム14aおよび14bは、第2のタイミング情報をさらに備え、所定の第1のタイプの画像部分の各々において、たとえば以下で論じられるスプライスポイント表示の前など、バッファリング期間SEIの画像タイミング構文内に存在し得るinitial_removal_delayを比較する。これらの所定の第1のタイプの画像部分は、単純にハッチングされて示され、たとえばRAPであるように示されるバッファリング期間SEIを有するAU、または言い換えると、バッファリング期間SEIを備えてRAPであるように示されるAUなど、特定の第1のタイプの画像部分である、別の第1のタイプの画像部分と区別するために、
図25ではクロスハッチングで示されている。第2のタイミング情報は、それぞれの所定の第1のタイプの画像部分以降のビデオデータストリームの復号を再開する場合に、それぞれの所定の第1のタイプの画像部分の第2のCPB除去時間について通知する。第2のCPB除去時間は、それぞれの所定の第1のタイプの画像部分の最初のビットのCPB到着、すなわちデコーダのCPBの到着からの経過時間を測定する。
【0060】
データストリームのうちの少なくとも1つ、
図25ではその14a、すなわちそのスプライシングポイント92に追加された、別のストリーム、ここでは14bを取得するために分割すべき、または分離すべきものは、スプライスポイント表示94、94’、たとえばspliceable_flagまたはfollowing_pic_spliceable_flagをさらに備えることができ、これは、別のビデオデータストリーム14bを有するスプライスポイント92の前の最後の画像部分として機能し得るように、すなわちスプライシングを可能にするのに適するように、その最終CPB到着とそのCPB除去との間の、上記で示されたt
rm#-t
af#などの時間差が所定の閾値を超える、たとえばRAPのない画像部分を示す。
閾値は、たとえば、以下のように計算されることが可能であることに留意すべきである。
【0061】
除去時間は等距離であり、1/フレームレートに等しいと想定される。
図25のAU23b’など、新たにスプライスされたAUの望ましい除去時間はt
rm#+1/フレームレートとなるべきであり、t
rm#は直前のAUまたは画像部分の除去時間であり、23’aが指している。
【0062】
trm#+1/フレームレートは、taf#+initial_removal_delay以上でなければならず、taf#は、それぞれのAU23b’のCPB最終到着時間である。したがって、「所定の閾値」はinitial_removal_delay-1/フレームレートということになる。
【0063】
そして、max_val_initial_removal_delay_for_seamless_splicingの変形例、すなわちこの閾値が、たとえば別のストリーム14bが追加差あれるデータストリーム14aなど、データストリームのうちの少なくとも1つに明示的に示される変形例では、trm#+1/フレームレートは、taf#+max_val_initial_removal_delay_for_ _seamless_splicing以上である。すると、「所定の閾値」は、max_val_initial_removal_delay_for_seamless_splicing-1/フレームレートということになる。
【0064】
つまり、ビデオデータストリーム14aは、最大の第2のCPB除去時間値の表示99も備えることができ、これは、別のビデオデータストリーム14bがスプライスポイント92でビデオデータストリーム14aと連結される別のビデオデータストリーム14bの開始の第1のタイプの画像部分23b’の第2のCPB除去時間が最大の第2のCPB除去時間値を下回る限り、その最終CPB到着とそのCPB除去との間の時間差trm#-taf#がスプライスポイント表示によって所定の閾値を超えるように示される画像部分のいずれかと別のビデオデータストリーム14bを連結することがシームレスなスプライシングをもたらすことを示す。
【0065】
上記で示されたバッファリング期間SEIの例は、表示99、連結フラグ95、および第3のCPB除去時間98を含むことに留意されたい。これは、ストリーム14aおよび14bの両方が同じ種類の情報データを搬送する例を示す。別の例では、これは異なる可能性がある。
【0066】
スプライスポイント表示94、94’は、それぞれの画像部分についてその最終CPB到着とそのCPB除去との間の時間差trm#-taf#が所定の閾値を超えるか否かを示す、たとえばRAPなしの、画像部分の各々または画像部分のセットの各々に存在するフラグ94をさらに備えることができる。
【0067】
代替的にまたは追加的に、スプライスポイント表示94、94’は、画像部分の各々または画像部分のセットの各々に、たとえばRAPではないこれらの画像部分に存在するフラグ94’をさらに備えることができ、このフラグは、各々についてそれぞれの画像部分以降次の第1のタイプの画像部分まで、その最終CPB到着とそのCPB除去との間の時間差trm#-taf#が所定の閾値を超えるか否かを示す。
【0068】
画像部分のシーケンスは、画像部分が、
図25などのいくつかの図では下線なしで示されている廃棄不可能な画像部分と、その中で下線が引かれて示されている廃棄可能な画像部分とを備えるように、動き補償予測などの時間インター予測90を使用して符号化されたビデオ12aの画像をさらに有することができる。
【0069】
これらの廃棄不可能な画像部分は、スタンドアロン方式で復号可能であり、その一方で廃棄可能な画像部分は、廃棄不可能な画像部分を復号するために必要とされないが、それ自体復号可能であるために廃棄不可能な画像部分を必要とする可能性がある。廃棄可能な画像部分が復号されなければ、将来、問題なくビデオを復号することができることに留意されたい。
【0070】
つまり、廃棄可能な画像部分は、たとえば、時間インター予測のための参照画像として機能せず、その一方で廃棄不可能な画像は、時間インター予測のための参照画像として機能し得る。階層的時間スケーラビリティを使用して符号化されたデータストリームは、このような画像部分の一例を表し、最下位(ベース)時間層の画像部分は廃棄不可能であってもよいが、他のものは廃棄可能であってもよい。別の例は、RASL画像が廃棄不可能であり得るオープンGOP符号化データストリームである。
【0071】
ビデオデータストリーム14cは、その最終CPB到着とそのCPB除去との間の時間差trm#-taf#が所定の閾値を超えることをスプライスポイント表示94;94’が示す所定の画像部分23a’に、スプライスインビデオデータストリーム14bに由来する最初の所定の第1のタイプの画像部分23b’が続き、これに当接するように、スプライスポイント92でスプライスされる。
【0072】
ビデオデータストリーム14cは、最初の所定の第1のタイプの画像部分に連結フラグ96および第3のタイミング情報98を備え、AuCPBRemovalDeltaまたはau_cp_removal_delay_delta_minus1を比較する。連結フラグ96および第3のタイミング情報98は、スプライシングの前に既にスプライスインデータストリーム14bに存在していた可能性があるが、スプライシング装置は、非スプライシングを示す状態からスプライシングを示す状態にフラグ96をリセットしていてもよく、および/または第3のタイミング情報98を設定していてもよい。つまり、連結フラグ96は、ビデオデータストリームが最初の所定の第1のタイプの画像部分でスプライスされていることを示す第1の状態に設定され、第3のタイミング情報は、最初の所定の第1のタイプの画像部分23b’でスプライスする場合のCPB除去時間を決定するのに役立つ最初の所定の第1のタイプの画像部分23b’の第3のCPB除去時間を示す。第3のCPB除去時間は、廃棄不可能な画像部分の直近のCPB除去からの経過時間を測定する。たとえば、スプライスされたデータストリーム14cに符号化されているビデオデータストリームの直近の廃棄不可能な画像部分の除去以来である。
【0073】
任意選択的に、いくつかの図ではハッチングで示されている所定の第1のタイプの画像部分の各々は、連結フラグ96および第3のタイミング情報98を備え、連結フラグは第1および第2の状態に設定可能であり、第2の状態は、ビデオデータストリームがそれぞれの所定の第1のタイプの画像部分でスプライスされていないことを示すということがあり得る。
【0074】
この実施形態によるビデオエンコーダは、以下の方法でビデオをビデオデータストリームに符号化することができる。たとえば、このようなエンコーダはエンコーダデータストリーム14aであると仮定する。これはまた、上述のように、同じように解釈され得るデータストリーム14bを符号化するように構成されることも可能である。エンコーダは、ビデオデータストリーム14aが画像部分23aのシーケンスを備え、各画像部分が符号化されたビデオ12aの画像10aを有するように、符号化を実行する。次に、ビデオエンコーダは、画像部分を、CPB除去時間基準として機能する第1のタイプの画像部分および上述の第2のタイプの画像部分に分類することができる。エンコーダは、ビデオデータストリームに第1および第2のタイミング情報を提供し、所定の画像部分(たとえばこれらは、たとえば廃棄可能な画像部分を含むことができる)の各々について、その最終CPB到着とそのCPB除去との間の時間差が所定の閾値を超えるか否かをチェックすることができる。そうである場合、それぞれの所定の画像部分は、別のビデオデータストリーム14bとのスプライスポイント92の前の最後の画像部分として機能し得ること。
ビデオエンコーダは、ビデオデータストリーム14aにスプライスポイント表示94、94’をさらに提供することができる。
【0075】
ビデオエンコーダは、各所定の画像部分について、所定の閾値として、それぞれの所定の画像部分、たとえば23a’に先行する図のいくつかで単純にハッチングされたものの前の直近の第1のタイプの所定の画像の第2のCPB除去時間に基づいて決定された値をさらに使用することができる。
【0076】
ビデオエンコーダはまた、各所定の画像部分について、所定の閾値として、最大の第2のCPB除去時間値に基づいて決定された値を使用し、それぞれの所定の画像部分、たとえば23a’に先行する図で単純にハッチングされたものの前の直近の第1のタイプの所定の画像に、最大の第2のCPB除去時間値の表示99を書き込むこともできる。
【0077】
以下は、上述のスプライスされたデータストリームがデコーダ内で、その中のHRD46などによって、または言い換えればビデオデコーダ44のCPB48を管理するための装置46によってどのように処理され得るかを対象とし、ビデオデコーダ44は、CPBによってバッファリングされるように、すなわち除去時間にCPBを介して画像部分を受信し、画像部分は前述の最終到着時間において完全にCPBに到達するように、ビデオデータストリーム14cを復号する。この装置は、最初の所定の第1のタイプの画像部分23b’の連結フラグ96が、最初の所定の第1のタイプの画像部分でスプライスインが行われたことを示すか否かをチェックすることができる。次に、装置は、CPBから最初の所定の第1のタイプの画像部分23b’を除去する時間を決定することができる。
【0078】
除去すべき時間は、最初の所定の第1のタイプの画像部分の連結フラグが、最初の所定の第1のタイプの画像部分でスプライスインが行われなかったことを示す場合、最初の所定の第1のタイプの画像部分23b’の第1のタイミング情報95に基づいて決定されることが可能である。
【0079】
そして除去すべき時間は、最初の所定の第1のタイプの画像部分の連結フラグ96が、最初の所定の第1のタイプの画像部分でスプライスインが行われたことを示す場合、最初の所定の第1のタイプの画像部分23b’の第2のタイミング情報、たとえばinitial_removal_delay、および最初の所定の第1のタイプの画像部分の第3のタイミング情報98に基づいて決定されることが可能である。
【0080】
任意選択的に、装置は、廃棄不可能な画像部分の直近のCPB除去プラス最初の所定の第1のタイプの画像部分の第3のCPB除去時間と、最初の所定の第1のタイプの画像部分が続いてこれに当接する所定の画像部分23a’のCPB除去プラス第2のCPB時間マイナス所定の画像部分23a’の最終CPB到着とCPB除去との間の時間差trm#-taf#との間の最大値を決定することによって、これを行うことができる。この時間はその後、CPBから最初の所定の第1のタイプの画像部分23b’を除去するために使用される。
【0081】
やはりこの実施形態によれば、2つのビデオデータストリーム、ここでは14cを生成するための14aおよび14bを互いにスプライスするための装置、すなわち
図25に描写されるものが説明される。各々は、上記で記載された通り、各々が画像部分23a、bのシーケンスを備え、各画像部分が符号化されたビデオ12a、bの画像12a、bを有するようになっている。
画像部分もまた上記で記載された通り、第1および第2のタイプの画像部分、ならびに第1および第2のタイミング情報を備えている。
【0082】
次に、第2のビデオデータストリームは、最初の所定の第1のタイプの画像部分に連結フラグ96および第3のタイミング情報98を備える。連結フラグ96は、第2のビデオデータストリームを示す第2の状態に設定され、最初の所定の第1のタイプの画像部分は第2のビデオデータストリームを継続し、第3のタイミング情報は、最初の所定の第1のタイプの画像部分で第2のビデオデータストリームをスプライスインするときにCPB除去時間を決定するのに役立つ最初の所定の第1のタイプの画像部分の第3のCPB除去時間を示し、第3のCPB除去時間は、廃棄不可能な画像部分の直近のCPB除去からの経過時間を測定する。
【0083】
装置はその後、第1のビデオデータストリームが第2のビデオデータストリームとスプライスされる前の最後の画像部分として機能し得るように、第1のビデオデータストリームのスプライスポイント表示94;94’が、たとえばRAPのない所定の画像部分について、そのCPB到着とそのCPB除去との間の時間差が所定の閾値を超えることを示すか否かをチェックすることができる。
【0084】
たとえば、一変形例では、所定の閾値は、第1のストリーム14aのバッファリングSEIのintial_removal_delayに基づいて、またはmax_val_initial_removal_delay_for_seamless_splicing]に基づいて決定されている。
【0085】
このチェックの結果が肯定、すなわち「はい」である場合、装置は、第2のビデオデータストリームの最初の所定の第1のタイプの画像部分の連結フラグ96を、第2のビデオデータストリームが最初の所定の第1のタイプの画像部分でスプライスインされたことを示す第1の状態に設定し、スプライスされたビデオデータストリームを取得するように、所定の画像部分26a’の第1および第2のデータストリームおよび最初の所定の第1のタイプの画像部分26b’をそれぞれ連結することができる。
【0086】
また、そうである場合、装置は、第2のビデオデータストリーム内の代わりにスプライスされたビデオデータストリーム内の第1のビデオデータストリームの廃棄不可能な画像部分の直近のCPB除去からの経過時間を測定するように、第3のタイミング情報98を書き換えることができる。
【0087】
また、そうである場合、装置は、第2のビデオデータストリームと比較してスプライスされたビデオデータストリームを考慮するときに、最初の所定の第1のタイプの画像部分の前の廃棄不可能な画像部分の直近のCPB除去からの経過時間が変化したか否かをさらにチェックすることができ、そうである場合、スプライスされたビデオデータストリーム内の第1のビデオデータストリームの廃棄不可能な画像部分の直近のCPB除去からの経過時間を測定するように、第3のタイミング情報98を書き換えることができる。
一般に、装置は、以下のチェックをチェックし、両方のチェックが肯定となった場合に設定および連結を実行することもできる。
【0088】
まず、それぞれの所定の画像部分の前の第1のビデオデータストリーム14aの直近の第1のタイプの所定の画像部分の第2のCPB除去時間に等しい、またはそこから決定された上限が、第2のビデオデータストリームの最初の所定の第1のタイプの画像部分23b’の第2のCPB除去時間よりも大きいか否か。
第1のストリーム14aの直近の第1のタイプの所定の画像部分は、いくつかの図では単純にハッチングされて示されている。
【0089】
直近の第1のタイプの所定の画像部分の第2のCPB除去時間は、直近の第1のタイプの所定の画像部分の追加のCPB供給延期時間を有することもできる。これは、直近の第1のタイプの所定の画像部分の最初のビットのCPB到着が遅延される経過時間を測定する。
それぞれの所定の画像部分は、たとえば、23a’に先行する、図のいくつかで単純にハッチングされたものである。
【0090】
第2のチェックは、直近の第1のタイプの所定の画像部分に示される最大の第2のCPB除去時間値99が、第2のビデオデータストリームの最初の所定の第1のタイプの画像部分23b’の第2のCPB除去時間よりも大きいか否かである。
【0091】
たとえば、一変形例では、所定の閾値は、第1のストリームのバッファリングSEIのintial_removal_delayのみであり得る。あるいは、閾値は、initial_removal_delay+initial_removal_delay_offset、すなわちCPB供給延期時間である。さらに代替的に、第2の選択肢で記載されたように、最大値max_val_initial_removal_delay_for_seamless_splicingが送信されることが可能である。
【0092】
たとえば、AuCPBRemovalDeltaは、元の第2のビットストリーム14bの廃棄不可能な画像までの距離である元の値がスプライスされたビットストリーム14cでの距離と異なる場合にのみ、書き換えられる必要がある。
【0093】
たとえば、両方のビットストリームは同じフレームレートを有し、復号順で示される以下のビットストリームは、連結、すなわちスプライスされると想定され得る。
第2のビットストリーム:RAP1、B0、B1(廃棄不可能)、B2、RAP2(splicing_point)
第1のビットストリーム:rap1、b0(廃棄不可能)、b1、b2、b3、b4
互いにスプライス:
rap1、b0(廃棄不可能)、b1、b2、b3、RAP2(splicing_point)
【0094】
本来、RAP2のバッファリング期間SEIは、0に設定されたconcatenation_flagおよび2/フレームレートに等しいAuCPBRemovalDeltaを含む。
【0095】
スプライスされたビットストリームでは、concatenation_flagは1に設定され、AuCPBRemovalDeltaは4/フレームレートに等しくなる。
【0096】
しかしながら、スプライスされたビットストリームがrap1、b0(廃棄不可能)、b1、RAP2(splicing_point)である場合、concatenation_flagは1に設定され、AuCPBRemovalDeltaは2/フレームレートに等しい。
したがって、第1のケースではAuCPBRemovalDeltaを書き換える必要があるが、第2のケースでは必要ない。
【0097】
スプライスされ、max_val_initial_removal_delay_for_seamless_splicingよりも小さい初期除去遅延を含むストリームでは、画像タイミングSEIでのフラグがそのように指示する場合に、シームレスなスプライスが達成され得る。スプライスされたストリームの初期除去遅延の方が高い場合には、スプライス可能であるか否かを知ることは、明らかに実現不可能である。
【0098】
上記の実施形態は、廃棄不可能なポイントでのスプライシングを可能にするという問題に関連していたが、以下の説明は、どのようにして利用可能な除去時間をDRAPなどの除去可能な画像部分にも利用可能にできるかという問題を対象とする。特に、後続の実施形態は、ランダムアクセスが実行されるかまたはスプライシング走査が実行されるときのオープンGOP構造のRASL画像の場合など、いくつかのAUのドロップが実行される場合のタイミング情報(除去時間)を提供することに関する。言い換えると、除去時間が従属ランダムアクセスポイント、DRAP、画像でも適用可能か否かである。
【0099】
ここでの考え方は、RAPのバッファリング期間SEIのinitial_removal時間を修正することである。以下では異なるケースが論じられ、AUの除去時間の例が示される。
【0100】
図1は、本出願による発明の概念を示す。ビデオ12が符号化され、ビデオデータストリーム14の完全バージョン15をバッファリングする場合にデコーダ側に適用される第1のCPB除去時間t
rm
(1)に関する第1のタイミング情報16と、ビデオデータストリームの完全バージョンからのビデオデータストリームの一部分24の除去22によるビデオデータストリームとは異なる、ビデオデータストリーム14の縮小バージョン20をバッファリングするためにデコーダ側に適用される第2のCPB除去時間t
rm
(2)に関する第2のタイミング情報18とを有するビデオデータストリームが描写されている。
【0101】
任意選択的に、第2のタイミング情報18は、第2のCPB除去時間trm
(2)を生成するために第1のCPB除去時間trm
(1)を修正する方法に関するタイミング修正情報によって、第2のCPB除去時間trm
(2)を定義する。このようなタイミング修正情報の例は、たとえば、init_removal_delay_correction_offsetである。
【0102】
さらに、第1のタイミング情報16は、画像ごとに、復号順26で先行するマーク画像に対する増分によって、画像に対する第1のCPB除去時間trm
(1)をシグナリングすることができる。
【0103】
増分は、AuCPBRemovalDelayまたはau_cpb_removal_delay_minus1によって例示的にシグナリングされることが可能である。マーク画像は、たとえば、クリーンランダムアクセスポイントCRAにあってもよく、バッファリング期間SEIを含む画像である。これらは、典型的にはRAP画像であるが、たとえば時間層0画像など、他の必須の画像であってもよい。
【0104】
言い換えると、ビデオデータストリームの各画像部分23は、その画像部分23が符号化順26に沿ってその画像部分に先行するRAP画像に対するCPB48からのその除去の遅延を測定する増分を備える。画像部分23は、HEVCの場合など、アクセスユニットAUとも呼ばれる。
任意選択的に、マーク画像は、マーク画像に関連する画像部分内のビデオデータストリームのバッファリング期間メッセージによってマークされる。
【0105】
さらに、ビデオデータストリームを復号するビデオデコーダ44のCPB48を管理するための装置46は、その部分がビデオデータストリームによって構成される場合には第1のタイミング情報16に従って、部分24が除去されている場合には第2のタイミング情報18に従って、CPBを管理することができる。
図5は、完全なビットストリームを示す。クリーンランダムアクセスポイントCRAの初期除去時間は8である。
【0106】
図7では、RASL画が除去されている。CRAの初期除去時間は7である。後続の画像の除去時間は、以前のケースと比較して、4のデルタオフセットを有する。
【0107】
図6は、除去されたRASL画像と、DRAPであるTRAIL
4までの(ただしこれを除く)TRAIL(通常のトレイリング)画像を示す。CRAの初期除去は、ビットストリームが最初からあった場合とCPBレベルが同じになるように、この時点で11である。
【0108】
1つの選択肢は、フレームをドロップする様々な可能性の代替タイミングを追加することであろう。すなわち、RASL画像を除去するためのもの、第1のDRAPを除去するためのもの、第2のDRAPを除去するためのものなどである。
【0109】
しかしながら、これは、バッファリング期間SEIのサイズを増加させ、これがどのケースに該当するか、すなわちRASLが除去されるのか、第1のDRAPまでの全てのAUか、第2のDRAPまでの全てのAUかなどを受信機に示す必要がある。これはSEIで行われることが可能である。
【0110】
しかしながら、バッファリングSEIが適切に書き込まれ得るように、全てのDRAPの符号化が行われることも必要であり、これにより、エンコーダ/送信機側で追加の遅延を引き起こす。
【0111】
あるいは、バッファリングSEIメッセージにおいて単一の値が示され、これは後続のSEI、たとえば次の除去されていないAUの画像タイミングSEIメッセージによって修正されることが可能である。次いでAUの除去が実行されると、フラグaus_since_rap_removed_flagを設定するだけでよい。その一例が
図8に見られる。
【0112】
ここでは、上述の図と組み合わせて、第2のタイミング情報18は、第1の画像部分28’に対する第2のCPB除去時間trm
(2)を生成するために、第1の所定の画像CRAに関するビデオデータストリームの第1の画像部分28’に対して第1のタイミング情報によって示され、ビデオデータストリームの部分24’に先行する、第1のCPB除去時間trm
(1)を修正する方法に関する第1のタイミング修正情報19によって、またはこの第1のCPB除去時間trm
(1)を置換するための第1のタイミング置換情報によって、第2のCPB除去時間trm
(2)を定義できることがわかる。
【0113】
第1のタイミング修正情報19は、たとえば、init_removal_delay_correction_offsetによってシグナリングされることが可能である。
【0114】
さらに、第1のタイミング修正情報19または第1のタイミング置換情報は、ビデオデータストリームの部分24’に続き、第2の所定の画像TRAIL1に関連する、ビデオデータストリームの第2の画像部分30’内のビデオデータストリームでシグナリングされる。
【0115】
SEIメッセージは、CPBでもバッファリングされているものとして処理されることが可能であり、したがって、第1および第2のタイミング情報を決定する際に考慮される必要があるかも知れないことに留意されたい。第1および第2のタイミング情報は、含まれている第1および第2のタイミング情報を伝達するSEIメッセージについて1回、およびドロップされているSEIメッセージについて1回、計算および伝達され得る。
また、任意選択的に、第2の画像部分は、その部分が除去されているか否かを示す信号化32を備えることができる。
【0116】
そして第1のタイミング修正情報19または第1のタイミング置換情報は、その部分が除去されていることを示す信号化32またはその部分が除去されていないことを示す信号化32に関係なく、ビデオデータストリームでシグナリングされることが可能である。
【0117】
第1の所定の画像は、マーク画像、たとえばイントラランダムアクセスポイントIRAPまたは従属ランダムアクセスポイントDRAP、画像、すなわち上記で詳述されたように、タイミング基準として機能するものであり得る。
また、第2の所定の画像は、TRAILまたはDRAP画像であり得る。
【0118】
さらに、第2のタイミング情報18は、1つ以上の第3の画像部分30’のセットに対して第2のCPB除去時間trm
(2)を生成するために、第3の所定の画像に関連し、ビデオデータストリームの部分24’に従い、第2の画像部分28’を備えるビデオデータストリームの1つ以上の第3の画像部分31’のセットに対して第1のタイミング情報によって示された第1のCPB除去時間trm
(1)を修正する方法に関する第2のタイミング修正情報21によってさらに第2のCPB除去時間trm
(2)を定義することができ、第2のタイミング修正情報21は、第2の画像部分30’内のビデオデータストリームでシグナリングされることが可能である。
第2のタイミング修正情報21は、たとえばcpb_removal_delay_offsetによってシグナリングされることが可能である。
【0119】
第2の画像部分はまた、その部分が除去されているか否かを示す信号化32を備えることもでき、第2のタイミング修正情報21は、その部分が除去されていることを示す信号化32またはその部分が除去されていないことを示す信号化32に関係なく、ビデオデータストリームでシグナリングされることが可能である。
【0120】
ビデオデータストリームの1つ以上の第3の画像部分31’のセットがマーク画像に関する第4の画像部分まで拡張することは、1つの選択肢である。ここでは、マーク画像は、タイミング基準の開始点として機能することができる。
最後に、マーク画像は、マーク画像に関連する画像部分内のビデオデータストリームのバッファリング期間メッセージによってマークされることが可能である。
【0121】
DRAPについて示されるケースでは、CRAの初期除去は、フルビットストリームが考慮され、そのためCPBフィルレベルが元のケースよりも高いときのように、8ではなく11であることに留意されたい。これは、潜在的な問題およびバッファオーバーフローをもたらす可能性がある。
【0122】
別の選択肢は、(DRAPの場合)CPBからの除去時間が全てのフレームについて等距離ではないことを許容することであろう。より具体的には、RAPおよびDRAPでは、等距離ではない距離を有することができ、他の全てのAUではそうである。
【0123】
その場合、RAPのバッファリング期間SEIメッセージは、ビットストリーム全体の、またはRASLが除去されたときのもの、およびDRAPの場合のものの2つのタイミングを有することができる。第2のケースでは、RAPは出力されないので、RAPの除去時間は、RAPの最終到着時間がその除去時間に等しくなるようになり得る。次に、DRAP AUは、バッファを所望のレベルまで蓄積する第2の除去時間を有する。このような場合、RAPの最終到着時間は、CBRおよびVBRの両方のケースのDRAPの最も早い到着時間である。記載された解決策は、
図9に示されている。
例示的なシグナリング構文は、
図10および
図11に示されている。
【0124】
一実施形態では、第2のタイミング情報18は、修正方法に関しては第3のタイミング修正情報33および/または第4のタイミング修正情報35によって、もしくは第3のタイミング置換情報33または第4のタイミング置換情報35によって、第2のCPB除去時間trm
(2)を定義することができる。
【0125】
第3のタイミング修正/置換情報33は、第1の画像部分28’に対する第2のCPB除去時間trm
(2)を生成するために、第1の所定の画像CRAに関連してビデオデータストリームの部分24’’に先行するビデオデータストリームの第1の画像部分28’に対する第1のタイミング情報によって示される第1のCPB除去時間trm
(1)を修正または置換する方法に関する。
【0126】
第3のタイミング修正/置換情報33は、たとえば、drap_operation_initial_removal_delayによってシグナリングされることが可能である。cpb_drap_operation_removal_offsetは、到着時間、すなわち、特定の画像部分、すなわちバッファリングSEIメッセージによってマークされたマーク画像がCPBに入るかまたは供給される時間に関係することにも、留意すべきである。供給は、本出願に記載されるようなCPBを管理するための装置とは異なる装置の責任になり得る。到着時間の遵守は、送信中間ネットワークノード次第であり得る。
【0127】
第4のタイミング修正/置換情報35は、1つ以上の第3の画像部分30’’のセットに対する第2のCPB除去時間trm
(2)を生成するために、第3の所定の画像に関連してビデオデータストリームの部分24’’に続くビデオデータストリームの1つ以上の第3の画像部分31’’のセットに対する第1のタイミング情報によって示される第1のCPB除去時間trm
(1)を修正または置換する方法に関する。
【0128】
第4のタイミング修正/置換情報35は、たとえば、cpb_drap_operation_removal_delay_offsetによってシグナリングされることが可能である。
一般に、ビデオデコーダのCPB48を管理するための装置46もまた、上記で詳述された修正または置換を実行することができる。
【0129】
任意選択的に、第3のタイミング修正/置換情報33は、ビデオデータストリームの第1の画像部分28’内のビデオデータストリームでシグナリングされることが可能であり、第4のタイミング修正/置換情報35は、1つ以上の第3の画像部分のセットのうちの符号化順26に関して先行するビデオデータストリームの第2の画像部分30’’内のビデオデータストリームでシグナリングされることが可能である。
【0130】
さらに、第1の画像部分28’は、第1および第2の画像部分の第2のCPB除去時間の間の距離が第2および第3の画像部分の連続するペアの第2のCPB除去時間の間の距離から逸脱できるか否かを示す信号化36を備えることができ、第3のタイミング修正情報33または第3のタイミング置換情報33は、第1および第2の画像部分の第2のCPB除去時間の間の距離が第2および第3の画像部分の連続するペアの第2のCPB除去時間の間の距離から逸脱できることを示す信号化36を条件として、ビデオデータストリームの第1の画像部分28’内のビデオデータストリームでシグナリングされることが可能である。
【0131】
ビデオエンコーダは、第2の所定の画像がRAPである第1の所定の画像を参照するDRAPであるか否かをチェックし、第2の所定の画像がRAPである第1の所定の画像を参照するDRAPであるか否かを示すように信号化36を設定し、第2の所定の画像がRAPである第1の所定の画像を参照するDRAPである場合に、ビデオデータストリームの第1の画像部分28’内のビデオデータストリームで第3のタイミング修正/置換情報33を符号化することができる。
【0132】
通常、pic_timing SEIメッセージ内のau_cpb_removal_delay_minus1は、連続する画像部分の間で恒常的に増加し、すなわち同じ距離で恒常的に増加することに留意されたい。しかし、第1の画像部分28’に符号化された画像から離れるか、または提示もしくは出力しない場合には、実際に出力される画像があるので、通常の時間的距離がDRAPまで中断され、それ以降有効であれば、許容可能である。言い換えると、例では、pic_timing SEIメッセージのau_cpb_removal_delay_minus1は、同じ距離で恒常的に増加する。通常はこれが該当するが、そうでないことも禁止されていない。例は、これが元々何も除去しないフルビットストリームのケースである場合を示している。しかしながら、RAPとDRAPとの間の全てを除去するとき、これはもはや該当しないが、DRAP機能を使用する場合にはRAPは全く出力も表示もされないので、問題ない。
さらに、第2の画像部分30’’は、部分24’が除去されているか否かを示す信号化38を備えることができる。
【0133】
本発明によるビデオデコーダ44のCPB48を管理するための装置46は、信号化32;38の検査後に、ビデオデータストリームの第1の画像部分の除去を延期することができる。
【0134】
あるいは、本発明によるビデオデータストリームを転送するためのネットワークノード42は、その部分がビデオデータストリームから除去されることを示すように、信号化32;36を設定することができる。
ネットワークノード42はまた、ビデオデータストリームからビデオデータストリームの部分24を除去、すなわちドロップすることもできる。
【0135】
図5に見られるように、任意選択的に、第2のタイミング情報は、ビデオデータストリームの部分に先行するビデオデータストリームの第1の画像部分をバッファリングした後にデコーダ側に出現するデコーダ側の第1のCPBフィルレベル39a’;39a’’であって、ビデオデータストリームの部分および第2の画像部分が第1のCPB除去時間に従って第2の画像部分のバッファ除去を実行するときにビデオデータストリームの部分に続く、第1のCPBフィルレベル39a’;39a’’が、バッファリングされていない部分を有する第2のCPBバッファ時間に従って第2の画像部分のバッファ除去を実行するときにビデオデータストリームの第1および第2の画像部分をバッファリングした後にデコーダ側に出現するデコーダ側の第2のCPBフィルレベル39b’;39b’’に等しくなるように、第2のCPB除去時間を定義することができる。
ビデオエンコーダは、ビデオデータストリームが上記に従うように、第1および第2のタイミング情報を設定することができる。
【0136】
より一般的には、第2のタイミング情報は、1つ以上のRASL画像のシーケンスに関する部分、または特定のDRAPに先行する画像のシーケンスに関する部分のいずれかについて、第2のCPB除去時間を定義することができる。
また、ビデオデータストリームは、その部分が除去されているか否かを示す信号化32、35を備えることができる。
【0137】
ランダムアクセスに使用されるDRAPのオフセットは、後続のAUの除去時間の計算に使用される。明らかに、画像タイミングSEIメッセージにオフセットを表示する代わりに、DRAPがバッファリング期間SEIメッセージを含むこと、およびこれらのオフセットがバッファリング期間SEIメッセージに表示されることが、義務づけられる。
【0138】
続いて記載される実施形態が対象とする問題は、時間スケーラビリティと、画像タイミングSEIおよびバッファリング期間SEIメッセージの画像バッファタイミングに関する情報をこのような符号化環境でどのように表示するかという問題である。したがって、画像タイミングSEIメッセージおよびバッファリング期間SEIメッセージにおける時間スケーラビリティについて画像内の代替情報を参照する実施形態が記載される。まず、画像タイミングSEIメッセージおよびバッファリング期間SEIメッセージにおける時間スケーラビリティについて画像内の代替情報を参照する実施形態、すなわち画像タイミングSEIメッセージにおけるタイミングのためにオフセットを利用する実施形態の提示から始まる。
【0139】
図12から
図14は、同じビットストリームで異なるフレームレートが提供されるときの除去時間値のいくつかの例を示す(すなわち、時間スケーラビリティ)。
【0140】
図17の表は、フレーム「青色」のdeltaTimeが0、1/60、3/120、2/60、および6/120であることを示している。「赤色フレーム」では、3/120および6/120である。青色フレームは、30、60、および120fpsの値を含む、表のこれらの行によって参照される。赤色フレームは、60および120fpsの値のみを含み、30fpsの値は含まない、表のこれらの行によって参照される。
【0141】
最も高いフレームレートが
図16に示されているオープンGOPのケースでは、
図15にも示される、以下が適用される。
図15の表では、フレーム「青色」のdeltaTimeが0、1/60、および3/120であることがわかる。「赤色フレーム」では、1/120および2/120である。ここでも、青色フレームは、30、60、および120fpsの値を含む、表のこれらの行によって参照される。赤色フレームは、60および120fpsの値のみを含み、30fpsの値は含まない、表のこれらの行によって参照される。
【0142】
要約すると、異なるフレームレートの除去時間のdeltaTimeにおいて、符号化されたビットストリームのGOP構造に起因して繰り返されるいくつかのパターンがある。
【0143】
考慮すべき別の態様は、記載されたパターンが中断されるため、シーンカットである。シーンカットのための異なる位置は、異なる値をもたらす。簡略化のため、
図18には1つの位置のみが示されている。
図19の表からわかるように、明らかに、シーンカットの影響を受けるGOPはパターンに従わない。
【0144】
図20は、異なるフレームレートの異なる値を含む画像タイミングSEIメッセージを参照する例示的なシグナリング構造を示す(すなわち目標TemporalId)。
【0145】
図14に示される実施形態では、ビデオデータストリームは、ビデオの画像12が、各階層レベルについて、それぞれの階層レベルの全ての画像が単にそれぞれのレベルまたはより下位の階層レベルの画像に依存する、異なる階層レベル50
iの画像にグループ化されるように、時間的にスケーラブルな方法で、時間インター予測を使用して画像のグループ50の単位で符号化される。図では、1つのGOPの開始部分のみが示されている。
【0146】
また、部分24は、最上位階層レベル503に、または最上位階層レベル503および階層順52で最上位階層レベル503のすぐ下の最下位階層レベル501を除く1つ以上の階層レベル502に属する画像で構成される。
【0147】
次に、第1のタイミング情報16は、画像ごとに、復号順で現在のグループの先行するマーク画像53に対する増分によって、画像に対する第1のCPB除去時間trm
(1)をシグナリングする。この順序は、画像がラベル付けされる際に使用される小数値の順番によって示される。
【0148】
ここでも、増分は、AuCPBRemovalDelayまたはau_cpb_removal_delay_minus1によって例示的にシグナリングされることが可能である。現在のGOPは、それぞれの画像がその一部であるGOPの先行する画像に関する画像である。
さらに、マーク画像は、マーク画像に関連する画像部分内のビデオデータストリームのバッファリング期間メッセージによってマークされることが可能である。
【0149】
一実施形態では、第2のタイミング情報18は、最上位階層レベル以外の1つ以上の階層レベルに関連付けられた第5の画像54に関するビデオデータストリームの第5の画像部分23の各々の中のビデオデータストリームでシグナリングされる、第5のタイミング修正情報19または置換のための第5のタイミング置換情報19によって、第2のCPB除去時間trm
(2)を定義することができる。
【0150】
第5のタイミング修正情報19は、たとえばau_cpb_removal_pattern_offsetによってシグナリングされることが可能であり、第5のタイミング置換情報19は、たとえばau_cpb_removal_delay_minus1[i]によってシグナリングされることが可能であり、iは、pic_timingが送信される画像が属する現在の階層レベルに等しくない。
【0151】
第5のタイミング修正/置換情報19は、第5の画像部分23に対する第2のCPB除去時間trm
(2)を生成するために、それぞれの第5の画像部分23に関する第1のタイミング情報によって示される第1のCPB除去時間trm
(1)を修正または置換する方法に関する。
【0152】
第1のタイミング情報は、たとえば、iが、pic_timingが送信される画像が属する現在の階層レベルに等しい、au_cpb_removal_delay_minus1[i]、またはu_cpb_removal_delay_minus1によって、シグナリングされることが可能である。
【0153】
部分24がそれぞれの階層レベルの上のそれぞれの階層レベルまでの最上位階層レベルを備える場合、第5のタイミング修正/置換情報19は、最上位と最下位階層レベルの間、すなわち図示される例の501と502との間の階層レベルごとに、およびそれぞれの階層レベルの上の最上位と最下位階層レベルの間、すなわち図示される例の502の503と501の503および502との間の階層レベルについて、シグナリングされる。一例として、数値は、buffering_period_pattern_flagが1である場合にはnum_sub_layer_cpb_removal_delays_minus1、およびbuffering_period_pattern_flagがゼロである場合にはnum_sub_layer_cpb_removal_delays_minus1+1によって示される。
【0154】
図21および
図22は、代替的に、パターンが各バッファリング期間SEI内で定義されることが可能であり、これらが画像タイミングSEIメッセージ内に示されることが可能な、例示的なシグナリング構造を示す。上述のように、たとえばシーンカットのため、パターンが適用されないとき、値は明示的に(または何らかのオフセットの形態で)シグナリングされることが可能である
【0155】
この実施形態によれば、第2のタイミング情報18は、第5のタイミング修正情報19、たとえばau_cpb_removal_pattern_offsetによって、第2のCPB除去時間trm
(2)を定義する。第5のタイミング修正情報19は、オフセット値によって第1のCPB除去時間を修正する方法を示し、ビデオデータストリームは、画像の1つ以上のグループ内の第1のCPB除去時間を修正するための第5の修正情報によって示されるオフセット値によって想定される代表的なオフセット値のリストを示すデータ60を備える。次いで、第5のタイミング修正情報19は、代表的なオフセット値のリスト内を指し示すポインタによって、オフセット値をシグナリングする。
【0156】
より一般的には、上記の実施形態では、ビデオデータストリームは、部分24だけ縮小され、すなわちその結果として縮小バージョン20となり、ビデオデータストリームは、第1および第2のタイミング情報18を備える。言い換えると、第2のタイミング情報は、何らかの中間ネットワークデバイスにおいて特定の階層レベルをドロップする場合に入れ子にならずに対応する第1のタイミング情報を置換するように、入れ子になっていない。むしろ、第1および第2のタイミング情報は変更されずにデコーダ側のままであり、正確なタイミング情報は、ビデオデータストリーム内で送信されたシグナリングに応じて処理するCPBに使用されるように選択され、どの部分が除去されたか、またはより正確には、以前のどの最上位階層レベルが除去/ドロップされたかを説明する中間ネットワークデバイスとなるように設定されている。
【0157】
画像タイミングSEIメッセージおよびバッファリング期間SEIメッセージにおける時間スケーラビリティについて画像内の代替情報を参照する実施形態の別の例は、バッファリング期間SEIメッセージにおけるデルタである。
【0158】
図23に見られるように、vcl_initial_cpb_removal_delay[i]およびvcl_initial_cpb_removal_offset[i]の異なる値もまた明らかに、全ての可能なフレームレートには1つでは不十分なので、バッファリング期間SEIメッセージ内に示されるべきである。
【0159】
別の実施形態は、複数のビットレートの考察を参照する。上述のように、異なる伝送率またはCPB供給率をサポートする現在の方法は、ビットレート、CPBsize、ならびにそれぞれの初期除去時間およびオフセットのいくつかの値を示すことである。
【0160】
この現在の解決策に関する問題は、全ての潜在的なCPB供給ビットレートが予め知られている必要があり、提供された情報が有効であることを保証するために、エンコーダにおけるレート制御がその全てを考慮する必要があることである。
【0161】
これは、言及されたパラメータが多くの方法で変更され得る高い柔軟性をある程度可能にするものの、いくつかの実際のシナリオでは、多くの潜在的なCPB供給率を考慮に入れることは、送信側からは望ましい可能性があるが、エンコーダ側では実施するのが困難である。このような状況下では、HRDモデルの何らかのパラメータ化が行われる「かなり」限定的なレート制御が役に立つ可能性があり、これは、最大ビットレートおよび最小ビットレートの2つの極値が考慮され、その間のものは全て線形補間され得ることを意味する。このような解決策は、HRDモデリングに関して柔軟な解決策よりも限定的であるが、送信側で最大ビットレートと最小ビットレートとの間の任意のレートを使用できるようにし、最大値および最小値について送信された値に基づいて計算され得るCPBsizeおよび初期除去時間を有するアンダーフローまたはオーバーフローがないことを依然として保証する。
hrd_parametersは、3つの部分に分割される。
・cbr_parameters_present_flag
・vbr_min_parameter_present_flag
・vbr_max_parameter_present_flag
【0162】
vbr_min_parameter_present_flagおよびvbr_max_parameter_present_flagに与えられた2つの間の任意の他のビットレートが計算されることが可能である。例示的なシグナリングは、
図24a、
図29、および
図30に示されている。
【0163】
同様に、バッファリング期間SEIメッセージは、
図24bおよび
図31に示されるように、hrd_parametersにもあれば、CBR、最小値、および最大値の値も含む。
【0164】
これによれば、HRDタイミング情報データ、たとえば第1のHRDタイミング情報データ、第2のHRDタイミング情報データ、または複数のHRDタイミング情報データのいずれか、および各HRDタイミング情報データは、以下のうちの1つ以上を備える。
-それぞれのHRDタイミング情報が関連するCPB供給ビットレートの表示104、
-それぞれのHRDタイミング情報が関連するそれぞれのCPB供給ビットレートに必要なCPBサイズの表示106、
【0165】
-それぞれのHRDタイミング情報が関連するそれぞれのCPB供給ビットレートについてそれぞれのマーク画像部分の最初のビットのCPB到着からの経過時間を測定する、ビデオデータストリームのマーク画像部分の各々のCPB除去時間の表示108-ここでマーク画像部分は、RAPなどのバッファリング期間SEIを有するものであり、それぞれ、これらは別の適切な図ではクロスハッチングで示されているが、別の画像は別の適切な図では単純なハッチングなどで示されている、表示108、
【0166】
-それぞれのHRDタイミング情報が関連するそれぞれのCPB供給ビットレートについてそれぞれのマーク画像部分の最初のビットのCPB到着が遅延する経過時間を測定する、ビデオデータストリームのマーク画像部分の各々のCPB供給延期時間の表示110。
最小値および最大値がある場合、その間の任意の値は、たとえば、最小値および最大値の線形補間をもたらす。
【0167】
それでもなお、場合によっては、HRDモデルを線形補間モデルに限定しないさらなる柔軟性が望ましいだろう(たとえば、線形的ではなくinitial_removal_delayを減少させ、ビットレートを増加させる)。したがって、シナリオに応じて、エンコーダは、線形補間を有するものかまたは複数の値を有するもののどちらのモードを使用するか選択することを選ぶことができる。例示的なシグナリングは、
図32、
図33、および
図34に示されている。
【0168】
図24、
図29、
図31、
図32、および
図34に示されるように、ビデオストリームは、最小CPB供給ビットレートに関する第1のHRDタイミング情報データ70a、bと、最大CPB供給ビットレートに関する第2のHRDタイミング情報データ72a、bとを備えることができる。第1のHRDタイミング情報データ70a、bならびに第2のHRDタイミング情報データ72a、bはその後、第1および第2のHRDタイミング情報データ間を線形補間することによって、実際のCPB供給ビットレートの第3のHRDタイミング情報の決定を可能にする。実際のCPB供給ビットレートは、たとえば、ビデオデータストリームが実際にCPBに供給されるビットレートである。
【0169】
ビデオデータストリームは、第1のHRDタイミング情報データ70a、bならびに第2のHRDタイミング情報データ72a、bが存在するか、またはCPB供給ビットレートの求められるセットの各々に関する複数のHRDタイミング情報データ76が存在するかを示すフラグ74、たとえばhrd_interpolation-mode_flagをさらに備えることができる。
【0170】
次に、ビデオエンコーダは、ビデオデータストリームに第1のHRDタイミング情報70および第2のHRDタイミング情報72を提供するか、またはビデオデータストリームにCPB供給ビットレートの求められるセットの各々に関する複数のHRDタイミング情報データ76を提供するように決定することができる。
【0171】
ビデオエンコーダは任意選択的に、第1および第2のHRDタイミング情報の間の線形補間が最小および最大CPB供給ビットレートの間の全てのCPB供給ビットレートにCPBオーバーフローおよびアンダーフローのない状況をもたらすか否かの実現可能性チェックに基づく決定を実行することができる。
ビデオデコーダ44のCPB48を管理するための装置46はその後、第3のHRDタイミング情報を使用してCPBを管理することができる。
【0172】
同様に、装置は、ビデオデータストリーム内のフラグ74、たとえばhrd_interpolation-mode_flagを検査し、フラグに応じて、ビデオデータストリームからの第1のHRDタイミング情報データ70a、bならびに第2のHRDタイミング情報データ72a、bの導出を実行するか、またはビデオデータストリームからCPB供給ビットレートの求められるセットの各々に関する複数のHRDタイミング情報データ76を導出することができる。
図38は、3つの動作点の例を示す。
補間されるケースは、以下の線形補間式を使用する。
-BR
interpolated=BR
min+(BR
max-BR
min)*alpha
-IND
interpolated=IND
min+(IND
max-IND
min)*alpha(ここでIND=InitialRemovalDelay)
なお、IND
min(最小ビットレートの場合)はIND
max(最高ビットレートの場合)よりも大きいことに留意されたい。
図37はIND
minを参照し、以下の略語が使用される。
RmD=除去遅延
Afinal=最終到着時間
ArrivalEar=フレームレートに起因する画像の最初のビットの可能な限り最も早い到達時間
ArrivalInit=画像の最初のビットの実際の到着時間
最大CPBサイズは15であることがわかる。
図36はIND
maxを参照する。そしてこの第2のケースに必要とされるCPBサイズは、12,1125である。
【0173】
アルファを0.3として線形に計算された初期除去遅延およびビットレートについて、
図35は、この場合に必要とされるCPBサイズが13,87912であることを示している。線形補間が実行される場合、計算されたCPBサイズは12,97875に対応することになる。見てわかるように、この値は異なっている。
【0174】
したがって、関与するHRDパラメータが最大値および最小値の範囲内で完全な柔軟性を持って線形に導出されるという制約にエンコーダが従おうとする場合、エンコーダにおけるレート制御は、補間時のCPBサイズ制限が満たされるように、画像のサイズを決定するときにこれを考慮に入れるべきである。
【0175】
これは常に可能ではないため、1つの選択肢は、エンコーダが処理する場合にのみ補間が可能であることをシグナリングし、そうでなければ離散数の動作点で使用された実際の値を全てシグナリングすることであろう。
【0176】
前述のように、上記の概念は、ビデオストリーム、ビデオエンコーダ、ビデオデコーダ、ネットワークノード、ビデオデコーダの符号化画像バッファ(CPB)を管理するための装置、およびビデオデータストリームを互いにスプライスするための装置によって採用されることが可能である。
【0177】
同様に、概念は、本発明の実施形態による対応する方法によって実施されることが可能である。これらの方法は、上記のビデオストリーム、ビデオエンコーダ、ビデオデコーダ、ネットワークノード、ビデオデコーダの符号化画像バッファ(CPB)を管理するための装置、および/またはビデオデータストリームを互いにスプライスするための装置と同じ考察に基づく。しかしながら、方法は、やはりビデオストリーム、ビデオエンコーダ、ビデオデコーダ、ネットワークノード、ビデオデコーダの符号化画像バッファ(CPB)を管理するための装置、および/またはビデオデータストリームを互いにスプライスするための装置に関して、本明細書に記載された特徴、機能、および詳細のいずれかによって補足され得ることに留意すべきである。また、方法は、個別でも組み合わせても、ビデオストリーム、ビデオエンコーダ、ビデオデコーダ、ネットワークノード、ビデオデコーダの符号化画像バッファ(CPB)を管理するための装置、および/またはビデオデータストリームを互いにスプライスするための装置の特徴、機能、および詳細によって補足されることが可能である。
【0178】
最後に、概念は、本発明の実施形態による符号化データストリームを生成するためにも使用されることが可能である。データストリームもまた、個別でも組み合わせても、方法、ビデオエンコーダ、ビデオデコーダ、ネットワークノード、ビデオデコーダの符号化画像バッファ(CPB)を管理するための装置、および/またはビデオデータストリームを互いにスプライスするための装置の特徴、機能、および詳細によって補足されることが可能である。
【0179】
結論として、本明細書に記載された実施形態は、本明細書に記載された重要な点または態のいずれかによって任意選択的に補足されることが可能である。しかしながら、本明細書に記載された重要な点および態様は、個別にまたは組み合わせて使用されることが可能であり、個別でも組み合わせても本明細書に記載された実施形態のいずれかに導入され得ることに留意されたい。
【0180】
いくつかの態様は装置の文脈で説明されてきたが、これらの態様が対応する方法の説明も表すことは明らかであり、デバイスまたはその部分は、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明された態様は、対応する装置またはその部分もしくは対応する装置のアイテムまたは特徴の説明も表す。方法ステップの一部または全ては、たとえば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって(またはこれを使用して)実行されてもよい。いくつかの実施形態では、最も重要な方法ステップのうちの1つ以上が、このような装置によって実行されてもよい。
【0181】
特定の実施要件に応じて、本発明の実装形態は、ハードウェアまたはソフトウェアで実装され得る。本実装形態は、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働可能な)、電子可読制御信号が記憶された、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリなどのデジタル記憶媒体を使用して実行され得る。したがって、デジタル記憶媒体はコンピュータ読み取り可能であり得る。
【0182】
本発明によるいくつかの実施形態は、本明細書に記載された方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することが可能な電子的可読制御信号を有するデータキャリアを含む。
【0183】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装されることが可能であり、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されたときに方法の1つを実行するように動作する。プログラムコードは、たとえば、機械可読キャリア上に記憶されてもよい。
別の実施形態は、機械可読キャリア上に記憶された、本明細書に記載される方法の1つを実行するためのコンピュータプログラムを含む。
【0184】
したがって、言い換えると、本発明の方法の一実施形態は、コンピュータプログラムがコンピュータ上で実行されたときに、本明細書に記載される方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0185】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムを含み、それが記録された、データキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録媒体は、典型的には有形および/または非一時的である。
【0186】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスはたとえば、データ通信接続を介して、たとえばインターネットを介して転送されるように構成されてもよい。
【0187】
さらなる実施形態は、本明細書に記載される方法の1つを実行するように構成または適合された、たとえばコンピュータまたはプログラマブル論理デバイスなどの処理手段を含む。
さらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
【0188】
本発明によるさらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムを受信機に(たとえば、電子的または光学的に)送信するように構成された、装置またはシステムを含む。受信機は、たとえば、コンピュータ、モバイルデバイス、メモリデバイスなどであり得る。装置またはシステムは、たとえば、コンピュータプログラムを受信機に転送するためのファイルサーバを含んでもよい。
【0189】
いくつかの実施形態では、プログラマブル論理デバイス(たとえばフィールドプログラマブルゲートアレイ)は、本明細書に記載される方法の機能の一部または全てを実行するために使用され得る。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載される方法の1つを実行するためにマイクロプロセッサと協働し得る。一般に、方法は、好ましくはいずれかのハードウェア装置によって実行される。
【0190】
本明細書に記載される装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置およびコンピュータの組み合わせを使用して、実装され得る。
【0191】
本明細書に記載される装置、または本明細書に記載される装置の任意の構成要素は、少なくとも部分的にハードウェアおよび/またはソフトウェアで実装され得る。
【0192】
本明細書に記載される方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置およびコンピュータの組み合わせを使用して、実行され得る。
【0193】
本明細書に記載される方法、または本明細書に記載される方法の任意の部分は、少なくとも部分的にハードウェアおよび/またはソフトウェアによって実行され得る。
【0194】
上記の実施形態は、本発明の原理を単に例示するものである。本明細書に記載される配置および詳細の修正および変形は、当業者にとって明らかとなることが理解される。したがって、喫緊の請求項の範囲によってのみ限定され、本明細書の実施形態の記載および説明によって提示される具体的詳細によっては限定されないことが意図される。