【文献】
MenHuang Lee et al.,ROI slice SEI message,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6),18th Meeting: Bangkok, Thailand,2006年 1月,JVT-R024,pp.1-8
【文献】
MenHuang Lee et al.,ROI slice SEI message,Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6),19th Meeting: Geneva, Switzerland,2006年 4月,JVT-S054r1,pp.1-13
【文献】
Ye-Kui Wang et al.,Tile groups,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,8th Meeting: San Jose, CA, USA,2012年 1月,JCTVC-H0520r1,pp.1-8
【文献】
T. Schierl et al.,Slice Prefix for sub-picture and slice level HLS signalling,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,10th Meeting: Stockholm, SE,2012年 7月,JCTVC-J0255,pp.1-12
【文献】
R. Skupin, V. George and T. Schierl,Tile-based region-of-interest signalling with sub-picture SEI messages,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,11th Meeting: Shanghai, CN,2012年10月,JCTVC-K0218,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
ビデオコンテンツ(16)の画像(18)のサブポーション(24)を単位にして前記ビデオコンテンツ(16)が符号化されているビデオ・データストリームを復号化するために構成されるデコーダであって、
各サブポーション(24)は、それぞれ前記ビデオ・データストリーム(22)のパケットのシーケンス(34)の1つ以上のペイロード・パケット(32)に符号化され、前記パケットのシーケンス(34)はアクセスユニット(30)のシーケンスに分割されて、前記ビデオコンテンツ(16)のそれぞれの画像(18)に関連する前記ペイロード・パケット(32)は、各アクセスユニット(30)に属するようになっており、少なくともいくつかのアクセスユニットはROI(関心領域)パケット(64)が組み入れられたパケットのシーケンス(34)を有していて、タイミング制御パケット(64)が前記アクセスユニット(30)を復号化ユニットに再分割するようにして、少なくともいくつかのアクセスユニット(30)が前記それぞれのアクセスユニットの前記画像に関連するペイロード・パケット(32)の間に組み入れられたROIパケット(64)を有するようになっていて、前記各ROIパケットは、それぞれの前記ROIパケットに続くパケットの前記シーケンス(34)において続く1つ以上のペイロード・パケットに関連し、それぞれのROIパケットが関連する1つ以上のペイロード・パケットのいずれかに符号化される前記サブポーション(24)が前記ビデオコンテンツの関心領域を覆うかどうかについて確認するように構成される、デコーダ。
ビデオ・データストリームを符号化するために構成されるエンコーダであって、前記ビデオ・データストリームは、ビデオコンテンツ(16)の画像(18)のサブポーション(24)を単位にして前記ビデオコンテンツ(16)を有しており、
各サブポーション(24)は、それぞれ前記ビデオ・データストリーム(22)のパケットのシーケンス(34)の1つ以上のペイロード・パケット(32)に符号化され、前記パケットのシーケンス(34)はアクセスユニット(30)のシーケンスに分割されて、前記ビデオコンテンツ(16)のそれぞれの画像(18)に関連する前記ペイロード・パケット(32)は、各アクセスユニット(30)に属するようになっており、少なくともいくつかのアクセスユニットはROI(関心領域)パケット(64)が組み入れられたパケットのシーケンス(34)を有していて、タイミング制御パケット(64)が前記アクセスユニット(30)を復号化ユニットに再分割するようにして、少なくともいくつかのアクセスユニット(30)が前記それぞれのアクセスユニットの前記画像に関連するペイロード・パケット(32)の間に組み入れられたROIパケット(64)を有するようになっていて、前記各ROIパケットは、それぞれの前記ROIパケットに続くパケットの前記シーケンス(34)において続く1つ以上のペイロード・パケットに関連し、それぞれのROIパケットが関連する1つ以上のペイロード・パケットのいずれかに符号化される前記サブポーション(24)が前記ビデオコンテンツの関心領域を覆うかどうかについて確認し、前記ビデオ・データストリームは、ROIパケットに基づいて前記ビデオコンテンツの前記ROIを確認するようにネットワーク装置を有効にする、エンコーダ。
ビデオコンテンツ(16)の画像(18)のサブポーション(24)を単位にして前記ビデオコンテンツ(16)が符号化されているビデオ・データストリームを復号化するための方法であって、
各サブポーション(24)は、それぞれ前記ビデオ・データストリーム(22)のパケットのシーケンス(34)の1つ以上のペイロード・パケット(32)に符号化され、前記パケットのシーケンス(34)はアクセスユニット(30)のシーケンスに分割されて、前記ビデオコンテンツ(16)のそれぞれの画像(18)に関連する前記ペイロード・パケット(32)は、各アクセスユニット(30)に属するようになっており、少なくともいくつかのアクセスユニットはROI(関心領域)パケット(64)が組み入れられたパケットのシーケンス(34)を有していて、タイミング制御パケット(64)が前記アクセスユニット(30)を復号化ユニットに再分割するようにして、少なくともいくつかのアクセスユニット(30)が前記それぞれのアクセスユニットの前記画像に関連するペイロード・パケット(32)の間に組み入れられたROIパケット(64)を有するようになっていて、前記各ROIパケットは、それぞれの前記ROIパケットに続くパケットの前記シーケンス(34)において続く1つ以上のペイロード・パケットに関連し、それぞれのROIパケットが関連する1つ以上のペイロード・パケットのいずれかに符号化される前記サブポーション(24)が前記ビデオコンテンツの関心領域を覆うかどうかについて確認し、前記方法は、前記ビデオ・データストリームを受信し、ROIパケットに基づいて前記ビデオコンテンツの前記ROIを確認するステップを含む、方法。
ビデオ・データストリームを符号化するための方法であって、前記ビデオ・データストリームは、ビデオコンテンツ(16)の画像(18)のサブポーション(24)を単位にして前記ビデオコンテンツ(16)を有しており、
各サブポーション(24)は、それぞれ前記ビデオ・データストリーム(22)のパケットのシーケンス(34)の1つ以上のペイロード・パケット(32)に符号化され、前記パケットのシーケンス(34)はアクセスユニット(30)のシーケンスに分割されて、前記ビデオコンテンツ(16)のそれぞれの画像(18)に関連する前記ペイロード・パケット(32)は、各アクセスユニット(30)に属するようになっており、少なくともいくつかのアクセスユニットはROI(関心領域)パケット(64)が組み入れられたパケットのシーケンス(34)を有していて、タイミング制御パケット(64)が前記アクセスユニット(30)を復号化ユニットに再分割するようにして、少なくともいくつかのアクセスユニット(30)が前記それぞれのアクセスユニットの前記画像に関連するペイロード・パケット(32)の間に組み入れられたROIパケット(64)を有するようになっていて、前記各ROIパケットは、それぞれの前記ROIパケットに続くパケットの前記シーケンス(34)において続く1つ以上のペイロード・パケットに関連し、それぞれのROIパケットが関連する1つ以上のペイロード・パケットのいずれかに符号化される前記サブポーション(24)が前記ビデオコンテンツの関心領域を覆うかどうかについて確認し、前記ビデオ・データストリームは、ROIパケットに基づいて前記ビデオコンテンツの前記ROIを確認するようにネットワーク装置を有効にする、方法。
ビデオコンテンツ(16)の画像(18)のサブポーション(24)を単位にして前記ビデオコンテンツ(16)が符号化されているビデオ・データストリームを受信するために構成されるネットワークエンティティであって、
各サブポーション(24)は、それぞれ前記ビデオ・データストリーム(22)のパケットのシーケンス(34)の1つ以上のペイロード・パケット(32)に符号化され、前記パケットのシーケンス(34)はアクセスユニット(30)のシーケンスに分割されて、前記ビデオコンテンツ(16)のそれぞれの画像(18)に関連する前記ペイロード・パケット(32)は、各アクセスユニット(30)に属するようになっており、少なくともいくつかのアクセスユニットはROI(関心領域)パケット(64)が組み入れられたパケットのシーケンス(34)を有していて、タイミング制御パケット(64)が前記アクセスユニット(64)を復号化ユニットに再分割するようにして、少なくともいくつかのアクセスユニット(30)が前記それぞれのアクセスユニットの前記画像に関連するペイロード・パケット(32)の間に組み入れられたROIパケット(64)を有するようになっていて、前記各ROIパケットは、それぞれの前記ROIパケットに続くパケットの前記シーケンス(34)において続く1つ以上のペイロード・パケットに関連し、それぞれのROIパケットが関連する1つ以上のペイロード・パケットのいずれかに符号化される前記サブポーション(24)が前記ビデオコンテンツの関心領域を覆うかどうかについて確認し、前記ネットワークエンティティは、ROIパケットに基づいてビデオコンテンツのROIを確認するように構成された、ネットワークエンティティ。
前記ネットワークエンティティは、ROIパケットが関心領域の重なりがないことの信号を送る、ROIパケット、および前記それぞれのROIパケットが関連する、前記それぞれのROIパケット(72)に続く前記1つ以上のペイロード・パケットよりも、それぞれのROIパケットが関連する前記1つ以上のペイロード・パケットのいずれかに符号化された前記サブポーション(24)により前記関心領域の重なりをROIパケットの信号を送る、ROIパケット(72)、および前記それぞれのROIパケットが関連する、前記それぞれのROIパケット(72)に続く前記1つ以上のペイロード・パケットに高い優先度を割り当てることにより関心領域(70)を優先的に取り扱うように構成される、請求項7または請求項8に記載のネットワークエンティティ。
前記ネットワークエンティティは、低い優先度が割り当てられたペイロード・パケットの再伝送の要求より前に、高い優先度が割り当てられたペイロード・パケットの再伝送を要求するように構成される、請求項10に記載のネットワークエンティティ。
【背景技術】
【0002】
HEVC[2]は、アプリケーション層へのHigh Level Syntaxシグナリングの異なる手段を可能にする。この種の手段は、NALユニットヘッダ、Parameter SetsおよびSupplemental Enhancement Information(SEI)Messagesである。後者は、復号化プロセスで使用されない。High Level Syntaxシグナリングの他の手段は、例えばMPEG2 Transport Protocol[3]またはRealtime Transport Protocol[4]等のそれぞれのトランスポート・プロトコル、およびそのペイロードに特有の仕様、例えばH.264/AVC[5]のための提案、拡張性のあるビデオ符号化(SVC)[6]またはHEVC[7]等が起源である。このようなトランスポート・プロトコルは、例えばHEVC[2]のような、それぞれのアプリケーションレイヤーコーデック仕様のHigh Levelシグナリングに類似の構造および機構を使用するHigh Levelシグナリングを導入することができる。このようなシグナリングの1つの例は、補助情報をトランスポートレイヤーに提供する〔6〕にて説明されているようなPayload Content Scalability Information(PACSI)NALユニットである。
【0003】
パラメータ・セットのために、HEVCは1つのおよび中心の位置でアプリケーションレイヤーにより使用される最も重要なストリーム情報に従うVideo Parameter Set(VPS)を含む。初期の方法において、この情報は、複数のParameter SetsおよびNALユニットヘッダから集められることが必要とされていた。
【0004】
本出願に先立って、Hypothetical Reference Decoder(HRD)のCoded Picture Buffer(CPB)動作に関する標準の状態、および Picture Parameter Set(PPS)と同様にDependent Slicesのサブピクチャおよび構文を表す復号化ユニットの定義とともにSequence Parameter Set(SPS)/Video Usability Information(VUI)、Picture Timing SEI、Buffering Period SEIに存在するすべての関連した構文は、以下の通りであった。
【0005】
サブピクチャ・レベルにおける低遅延CPB動作を可能にするために、サブピクチャCPB動作が提案され、HEVCドラフト標準7JCTVC―I1003[2]に組み込まれた。ここでは特に、復号化ユニットは、以下のように〔2〕のセクション3において定められた:
復号化装置:アクセスユニットまたはアクセスユニットのサブセット。SubPicCpbFlagが0に等しいものである場合、復号化ユニットはアクセスユニットである。さもなければ、復号化ユニットは、アクセスユニットおよび関連する非VCL NALユニットにおける1つ以上のVCL NALユニットから成る。アクセスユニットにおける第1のVCL NALユニットのために、関連する非VCL NALユニットはあり、そして、フィラーNALユニットは、もしあれば、第1のVCL NALユニットにすぐに続き、第1のVCL NALユニットに先行するアクセスユニットにおけるすべての非VCL NALユニットに続く。アクセスユニットにおける第1のVCL NALユニットでないVCL NALユニットのために、関連する非VCL NALユニットは、もしあれば、VCL NALユニットに直ちに続くフィラーデータNALユニットである。
【0006】
その時間まで定められる基準において、「復号化ユニットの除去および復号化ユニットの復号化のタイミング」が記載されていて、Annex C「Hypothential
reference decoder」に加えられた。sub−picture timingを送るために、VUIにおけるHRDパラメータとともに、buffering
period SEIおよびpicture timing SEIメッセージは、サブピクチャユニットとして、復号化ユニットをサポートするまで拡張されている。
【0007】
〔2〕のBuffering period SEIメッセージ構文は、
図1に示される。
【0008】
NalHrdBpPresentFlagまたはVclHrdBpPresentFlagが1に等しいときに、buffering period SEIメッセージはビットストリームのいかなるアクセスユニットとも関連していることがありえる、そして、buffering period SEIメッセージは、各RAPアクセス装置と、および、recovery point SEIメッセージと関連する各アクセスユニットと関連する。
【0009】
いくつかの適用において、buffering period SEIメッセージのしばしば起こる存在は好ましい。
【0010】
buffering periodは、復号化順序におけるbuffering SEIメッセージの2つのインスタンス間のアクセスユニットのセットとして規定された。
【0011】
意味論は、以下の通りだった:
【0012】
seq_parameter_set_idは、シーケンスHRD属性を含むシーケンス・パラメータ・セットを規定する。seq_parameter_set_idの値は、バッファリング期間SEIメッセージと関連した主要な符号化画像によって参照される画像パラメータ・セットにおけるseq_parameter_set_idの値に等しい。seq_parameter_set_idの値は範囲0から31の範囲内に含まれる。
【0013】
1に等しいrap_cpb_params_present_flagは、initial_alt_cpb_removal_delay[SchedSelIdx]およびinitial_alt_cpb_removal_delay_offset[SchedSelIdx]構文要素の存在を規定する。存在しない場合、rap_cpb_params_present_flagの値は、0に等しいものと推測される。関連する画像がCRA画像でもBLA画像でもない場合、rap_cpb_params_present_flagの値は0に等しい。
【0014】
initial_cpb_removal_delay[SchedSelIdx]およびinitial_alt_cpb_removal_delay[SchedSelIdx]は、SchedSelIdx−th−CPBのための最初のCPB除去遅延を規定する。構文要素は、initial_cpb_removal_delay_length_minus1+1によって与えられるビットの長さを有し、90kHzクロックの単位にある。構文要素の値は、0に等しいものではなくて、90kHzクロックタイムにおけるCPBサイズの時間等価である90000*(CpbSize[SchedSelIdx]÷BitRate[SchedSelIdx])を超えるものではない。
【0015】
initial_cpb_removal_delay_offset[SchedSelIdx]およびinitial_alt_cpb_removal_delay_offset[SchedSelIdx]は、SchedSelIdx−th CPBがCPBに符号化データユニットの最初の搬送時間を規定するために使用される。構文要素は、initial_cpb_removal_delay_length_minus1+1によって与えられるビットの長さを有し、90kHzクロックの単位にある。これらの構文要素はデコーダによって使用されず、搬送スケジューラ(HSS)のためにだけ必要とされる。
【0016】
全ての符号化ビデオ・シーケンスの上に、initial_cpb_removal_delay[SchedSelIdx]およびinitial_cpb_removal_delay_offset[SchedSelIdx]の合計はSchedSelIdxの値ごとに一定であり、initial_alt_cpb_removal_delay[SchedSelIdx]およびinitial_alt_cpb_removal_delay_offset[SchedSelIdx]の合計はSchedSelIdxの値ごとに一定である。
【0017】
〔2〕の画像タイミングSEIメッセージ構文は、
図2に示される。
【0018】
画像タイミングSEIメッセージの構文は、画像タイミングSEIメッセージに関連する符号化画像のために機能しているシーケンス・パラメータ・セットの内容に依存していた。しかしながら、IDRまたはBLAアクセスユニットの画像タイミングSEIメッセージに先立ってアクセスユニットの範囲内でバッファリング期間SEIメッセージがない限り、関連するパラメータ・セット(そして、ビットストリームにおける第1の画像でないIDRまたはBLA画像のために、符号化画像がIDR画像またはBLA画像であることの決定)は、符号化画像の第1の符号化スライスNALユニットを復号化するまで発生しない。符号化画像の符号化スライスNALユニットがNALユニット順序における画像タイミングSEIメッセージに続くので、デコーダが符号化画像のために機能するシーケンス・パラメータのパラメータを決定するまで画像タイミングSEIメッセージを含んでいるRBSPを格納することが必要であるケースがあり、そうすると、画像タイミングSEIメッセージの構文解析を実行する。
【0019】
ビットストリームにおける画像タイミングSEIメッセージの存在は、以下のように規定された。
−CpbDpbDelaysPresentFlagが1に等しい場合、1つの画像タイミングSEIメッセージは、符号化ビデオ・シーケンスのあらゆるアクセスユニットに存在する。
−さもなければ(CpbDpbDelaysPresentFlagが0に等しい)、画像タイミングSEIメッセージは、符号化ビデオ・シーケンスのいかなるアクセスユニットにも存在しない。
【0020】
意味論は、以下の通りに定められた:
【0021】
cpb_removal_delayは、バッファから画像タイミングSEIメッセージに関連するアクセスユニットデータを除去する前の先行するアクセスユニットにおけるごく最近のバッファリング期間SEIメッセージに関連するアクセスユニットのCPBからの除去の後、どれくらいのクロック・ティックを待つかについて規定する。この値は、HSSのためのCPBにアクセスユニットデータの出現の最も早く可能な時間を計算するためにも用いられる。構文要素は、ビットの長さがcpb_removal_delay_length_minus1+1によって与えられる固定長コードである。cpb_removal_delayは、法としての剰余2(cpb_removal_delay_length_minus1+1)カウンタである。
【0022】
構文要素cpb_removal_delayの(ビットにおける)長さを決定するcpb_removal_delay_length_minus1の値は、画像タイミングSEIメッセージに関連する主要な符号化画像のために機能するシーケンス・パラメータ・セットにおいて符号化されるcpb_removal_delay_length_minus1の値であるが、但し、cpb_removal_delayはバッファリング期間SEIメッセージを含んでいる先行するアクセスユニットの除去時間に関連するクロック・ティックの数を規定し、それは異なる符号化ビデオ・シーケンスのアクセスユニットであってもよい。
【0023】
dpb_output_delayは、画像のDPB出力時間を計算するために使用される。それは、CPBからアクセス装置の最後の復号化装置の除去の後、復号化画像がDPBから出力される前に、どれくらいのクロック・ティックを待たせるかについて規定する。
【0024】
画像は、それがいまだに「短期参照のために使用する」または「長期参照のために使用する」ものとしてマークされているその出力時間に、DPBから取り除かれない。
【0025】
1つのdpb_output_delayだけは、復号化画像のために規定される。
【0026】
構文要素dpb_output_delayの長さは、dpb_output_delay_length_minus1+1によってビットにおいて与えられる。sps_max_dec_pic_buffering[max_temporal_layers_minus1]が0に等しいときに、dpb_output_delayは0に等しくなるであろう。
【0027】
出力タイミング同調デコーダから出力されるいくつかの画像のdpb_output_delayから得られる出力時間は、復号化順序においていくつかの次の符号化ビデオ・シーケンスにおけるすべての画像のdpb_output_delayから得られる出力時間に先行する。
【0028】
この構文要素の値によって規定される画像アウトプット順序は、PicOrderCntValの値によって規定されるのと同じ順序である。
【0029】
復号化順序において、no_output_of_prior_pics_flagが1に等しいか、または1に等しいと推測されるIDRまたはBLAに先行するため、「バンピング」プロセスによって出力されない画像のために、dpb_output_delayから得られる出力時間は、同じ符号化ビデオ・シーケンスの中ですべての画像と関連するPicOrderCntValの値の増加と共に増加している。
【0030】
num_decoding_units_minus1 plus1は、画像タイミングSEIメッセージが関連しているアクセスユニットにおける復号化ユニットの数を規定する。num_decoding_units_minus1の値は、0からPicWidthInCtbs*PicHeightInCtbs−1の範囲内において含まれている。
【0031】
num_nalus_in_du_minus1[i]plus1は、画像タイミングSEIメッセージが関連しているアクセスユニットのi番目の復号化ユニットにおけるNALユニットの数を規定する。num_nalus_in_du_minus1[i]の値は、0からPicWidthInCtbs*PicHeightInCtbs−1の範囲内に含まれている。
【0032】
アクセスユニットの第1の復号化ユニットは、アクセスユニットにおける復号化順序において第1のnum_nalus_in_du_minus1[0]の連続的なNALユニットから成る。アクセスユニットのi番目(iは0より大)の復号化ユニットは、復号化順序において、アクセスユニットの前の復号化ユニットにおける最後のNALユニットに直ちに続くnum_nalus_in_du_minus1[i]+1の連続的なNALユニットから成る。各復号化ユニットには、少なくとも1つのVCL NAL装置がある。VCL NALユニットに関連するすべての非VCL NALユニットが、同じ復号化ユニットに含まれる。
【0033】
du_cpb_removal_delay[i]は、画像タイミングSEIメッセージに関連するアクセスユニットにおけるi番目の復号化ユニットをCPBから除去する前であって前のアクセスユニットにおいてごく最近のバッファリング期間SEIメッセージに関連するアクセスユニットにおける第1の復号化ユニットのCPBからの除去の後、どれくらいのサブピクチャ・クロック・ティックを待つかについて規定する。この値は、HSSのためのCPBに復号化ユニットデータの到着の最も早い可能な時間を計算するためにも用いられる。構文要素は、ビットの長さがcpb_removal_delay_length_minus1+1によって与えられる固定長コードである。du_cpb_removal_delay[i]は、2(cpb_removal_delay_length_minus1+1)カウンタを法とする剰余である。
【0034】
構文要素du_cpb_removal_delay[i]の(ビットにおける)長さを決定するcpb_removal_delay_length_minus1の値は、画像タイミングSEIメッセージに関連する符号化画像のために機能するシーケンス・パラメータ・セットにおいて符号化されるcpb_removal_delay_length_minus1の値であるが、du_cpb_removal_delay[i]はバッファリング期間SEIメッセージを含む先行するアクセスユニットにおける第1の復号化ユニットの除去時間と関連してサブピクチャ・クロック・ティックの数を特定し、それは異なる符号化ビデオ・シーケンスのアクセスユニットでもよい。
【0035】
いくつかの情報は、〔2〕のVUI構文に含まれた。〔2〕のVUIパラメータ構文は、
図3に示される。〔2〕のHRDパラメータ構文は、
図4に示される。意味論は、以下の通りに定められた:
【0036】
1に等しいsub_pic_cpb_params_present_flagは、サブピクチャ・レベルのCPB除去遅延パラメータがあり、CPBがアクセスユニットレベルまたはサブピクチャ・レベルで作動することができることを示している。0に等しいsub_pic_cpb_params_present_flagは、サブピクチャ・レベルのCPB除去遅延パラメータがなく、CPBはアクセスユニットレベルで作動することを示している。sub_pic_cpb_params_present_flagがないとき、その値は0に等しいものであると推測される。
【0037】
num_units_in_sub_tickは、サブピクチャ・クロック・ティックカウンタの(サブピクチャ・クロック・ティックと呼ばれる)1つの増加に対応する周波数time_scale Hzで作動するクロックのタイムユニットの数である。num_units_in_sub_tickは、0より大きい。サブピクチャ・クロック・ティックは、sub_pic_cpb_params_present_flagが1に等しいときに、符号化データにおいて表されることができる時間の最小限の間隔である。
【0038】
1に等しいtiles_fixed_structure_flagは、示される場合、符号化ビデオ・シーケンスにおいて機能している各画像パラメータ・セットが、構文要素num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、column_width[i]row_height[i]およびloop_filter_across_tiles_enabled_flagと同じ値を有することを示す。0に等しいtiles_fixed_structure_flagは、異なる画像パラメータ・セットのタイル構文要素が同じ値を有することができるかまたは有することができないかを示す。tiles_fixed_structure_flag構文要素がないときに、それは0に等しいものであると推測される。
【0039】
1に等しいtiles_fixed_structure_flagの信号伝達は、符号化ビデオ・シーケンスにおける各画像がマルチスレッドの復号化の場合作業負荷配分に役立つかもしれない同一方法で分配されるタイルと同じ数を有するというデコーダへの保証である。
【0040】
〔2〕の充填材データは、
図5に示されるフィルタデータRBSP構文を使用して信号伝達された。
【0041】
ビットストリームおよびデコーダの適合をチェックするのに用いられる〔2〕の仮想参照デコーダは以下の通りに定められた:
【0042】
2種類のビットストリームは、このリコメンデーション|国際基準についてチェックしているHRDの適合に従属する。タイプIビットストリームと呼ばれている第1のこの種のタイプのビットストリームは、ビットストリームのすべてのアクセスユニットのためのVCL NALユニットおよびフィラーデータNALユニットだけを含んでいるNALユニットストリームである。タイプIIビットストリームと呼ばれている第2のタイプのビットストリームは、ビットストリームのすべてのアクセスユニットのためのVCL NALユニットおよびフィラーデータNALユニットに加えて、以下のうちの少なくとも1つを含む:
− フィラーデータNALユニット以外のさらなる非VCL NALユニット、
− NALユニットストリームからバイトストリームを形成するすべてのleading_zero_8bits、zero_byte、start_code_prefix_one_3bytesおよびtrailing_zero_8bits構文要素。
【0043】
図6は、〔2〕のHRDによってチェックされるビットストリーム適合ポイントのタイプを示す。
【0044】
2種類のHRDパラメータ・セット(NAL HRDパラメータおよびVCL HRDパラメータ)が用いられる。HRDパラメータ・セットはビデオ有用性情報によって信号が伝達され、それはシーケンス・パラメータ構文構造の一部である。
【0045】
VCL NALユニットに付託されるすべてのシーケンス・パラメータ・セットおよび画像パラメータ・セット、および対応するバッファリング期間および画像タイミングSEIメッセージは、HRDに、タイムリーな方法で、ビットストリームにおいて、または、他の手段によって伝達される。
【0046】
それらのNALユニット(またはちょうどそれらのいくつか)がこのリコメンデーション|国際基準によって規定されない他の手段によってデコーダ(またはHRDに)に伝達されるときに、非VCL NALユニットの「存在」のための仕様も満たされる。ビットを計数するために、ビットストリームに実際に存在する適当なビットだけは計数される。
【0047】
一例として、ビットストリームにおける存在以外の方法で伝達され、ビットストリームの中に存在するNALユニットを有する、非VCL NALユニットの同期は、ビットストリームの中の2つのポイントを示すことによって達成され、それらの間においてビットストリーム中に非VCL NALユニットが存在し、ビットストリーム中でそれを伝達することを決定されるエンコーダを有していた。
【0048】
非VCL NALユニットの内容がビットストリームの範囲内における存在以外のいくつかの手段によってアプリケーションのために伝達されるときに、非VCL NALユニットの内容の表現はこの添付において特定される同じ構文を使用することを必要としない。
【0049】
HRD情報がビットストリーム内に含まれるときに、単にビットストリームに含まれる情報に基づいてのみビットストリームとこの従属の要求との一致を確認することができる点に注意すべきである。HRD情報がビットストリームに存在しないときに、すべての「独立型」Type Iビットストリームの場合のように、HRDデータがこのRecommendation|International Standardにおいて特定されないいくつかの他の手段によって提供されるときに、一致は確認されることができるだけである。
【0050】
HRDは、
図7に示すように、符号化画像バッファ(CPB)、瞬間的な復号化プロセス、復号化画像バッファ(DPB)および出力クロッピングを含む。
【0051】
CPBサイズ(ビットの数)は、CpbSize[SchedSelIdx]である。時間的レイヤーXのためのDPBサイズ(画像格納バッファの数)は、0からsps_max_temporal_layers_minus1を含む範囲のXごとにsps_max_dec_pic_buffering[X]である。
【0052】
可変SubPicCpbPreferredFlagは外部手段によって規定されているか、または、外部手段によって規定されないときは、0に規定される。
【0053】
可変SubPicCpbFlagは、以下の通りに引き出される:
SubPicCpbFlag=SubPicCpbPreferredFlag&&sub_pic_cpb_params_present_flag
【0054】
SubPicCpbFlagが0に等しい場合、CPBはアクセスユニットレベルで作動し、各復号化ユニットはアクセスユニットである。さもなければ、CPBはサブピクチャ・レベルで作動し、各復号化ユニットはアクセスユニットのサブセットである。
【0055】
HRDは、次のように作動する。指定された到着スケジュールに従ってCPBに流れ込む復号化ユニットに関連するデータは、HSSによって分配される。各復号化ユニットに関連したデータは削除されて、CPB除去時間に瞬間的な復号化プロセスによって即座に復号化される。各復号化画像は、DPBに置かれる。復号化画像は、後のDPB出力時またはインター・プレディクション・リファレンスのためにもはや必要でなくなった時に、DPBから取り除かれる。
【0056】
HRDは、バッファ期間SEIによって特定されるように初期化される。CPBからの復号化ユニットの除去タイミングおよびDPBからの復号化画像の出力タイミングは、画像タイミングSEIメッセージにおいて規定される。特定の復号化ユニットに関するすべてのタイミング情報は、復号化ユニットのCPB除去時間の前に到着する。
【0057】
HRDは、ビットストリームおよびデコーダの一致をチェックするために用いられる。
【0058】
一致が、ビットストリームを生成するために用いられるすべてのフレームレイトおよびクロックが正確にビットストリームにおいて信号を送られる値に合致するという仮定の下で保証される一方、本当のシステムにおいて、これらの各々は信号を送られたか指定された値から変化することができる。
【0059】
すべての計算は本当の値によって行われ、その結果、丸め誤差は伝搬することができない。例えば、ちょうど復号化ユニットの除去より前の、または、後のCPBのビットの数が、必ずしも整数であるというわけではない。
【0060】
可変tcは、以下の通りに引き出されて、クロック・ティックと呼ばれている:
tc=num_units_in_tick time_scale
可変tc_subは、以下の通りに引き出されて、サブピクチャ・クロック・ティックと呼ばれている:
tc_sub=num_units_in_sub_tick time_scale
【0061】
以下は、制約を表すために規定される:
− アクセスユニット0である第1のアクセスニットを有する復号化順序においてアクセスユニットnをn番目のアクセスユニットとする。
− 画像nをアクセスユニットnの符号化画像または復号化画像であるとする。
− 復号化ユニット0である第1の復号化ユニットを有する復号化順序において復号化ユニットmをm番目の復号化ユニットとする。
【0062】
〔2〕において、スライス・ヘッダ構文は、いわゆる従属スライスを可能にする。
【0063】
図8は、〔2〕のスライス・ヘッダ構文を示す。
【0064】
スライス・ヘッダ意味論は、以下の通りに定められた:
【0065】
1に等しいdependent_slice_flagは、示されていない各スライス・ヘッダ構文要素の値が、符号化ツリー・ブロック・アドレスがSliceCtbAddrRSである符号化ツリー・ブロックを含んでいる前のスライスにおける対応するスライス・ヘッダの値に等しいと推測されることを示している。示されていないとき、dependent_slice_flagの値は0に等しいと推測される。dependent_slice_flagの値は、SliceCtbAddrRSが0に等しいときに、0に等しくなる。
【0066】
slice_addressは、スライスが始まるスライス粒状解像度のアドレスを規定する。slice_address構文要素の長さは、(CEil(Log2(PicWidthInCtbs*PicHeightInCtbs))+SliceGranularity)ビットである。
【0067】
可変SliceCtbAddrRSは、符号化ツリー・ブロック・ラスタ・スキャン順序においてスライスがスタートする符号化木ブロックを規定して、以下の通りに引き出される。
SliceCtbAddrRS=(slice_address>>SliceGranularity)
【0068】
可変SliceCbAddrZSは、z−スキャン順序の最小限の符号化ブロック粒度のスライスの第1の符号化ブロックのアドレスを規定して、以下の通りに引き出される。
SliceCbAddrZS=slice_address
<<((log2_diff_max_min_coding_block_size=SliceGranularity)<<1)
【0069】
スライス復号化は、スライス開始座標の可能な最大の符号化ユニットで始まる。
【0070】
first_slice_in_pic_flagは、スライスが画像の第1のスライスであるかどうかを示す。first_slice_in_pic_flagが1に等しい場合、変数SliceCbAddrZSおよびSliceCtbAddrRSは両方とも0に設定され、画像の第1の符号化ツリー・ブロックから復号化が始まる。
【0071】
pic_parameter_set_idは、組み込まれた画像パラメータを規定する。pic_parameter_set_idの値は、0から255の範囲を含んでいる。
【0072】
num_entry_point_offsetsは、スライス・ヘッダのentry_point_offset[i]構文要素の数を規定する。tiles_or_entropy_coding_sync_idcが1に等しいとき、num_entry_point_offsetsの値は、0から(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)の範囲を含んでいる。tiles_or_entropy_coding_sync_idcが2に等しいとき、num_entry_point_offsetsの値は、0からPicHeightInCtbs=1の範囲を含んでいる。示されていないとき、num_entry_point_offsetsの値は、0に等しいと推測される。
【0073】
offset_len_minus1 plus1は、ビットにおいて、entry_point_offset[i]構文要素の長さを規定する。
【0074】
entry_point_offset[i]は、i番目のエントリポイントのオフセットをバイトで規定し、offset_len_minus1 plus1ビットによって表される。スライス・ヘッダの後の符号化スライス・データは、0からnum_entry_point_offsetsの範囲を含む、num_entry_point_offsets+1サブセットから成る。サブセット0は、符号化スライス・データkの0からentry_point_offset[0]−1を含むバイトからなり、kは1からnum_entry_point_offset−1の範囲を含み、符号化スライス・データのentry_point_offset[k−1]からentry_point_offset[k]+entry_point_offset[k−1]−1を含むバイトからなり、(サブセット・インデックスがnum_entry_point_offsetsに等しい)最後のサブセットは、符号化スライス・データの残りのバイトから成る。
【0075】
tiles_or_entropy_coding_sync_idcが1に等しく、num_entry_point_offsetsが0より大きいとき、各サブセットは正確に1つのタイルのすべての符号化ビットを含み、サブセット(すなわち、num_entry_point_offsets+1の値)の数はスライスのタイルの数以下である。
tiles_or_entropy_coding_sync_idcが1に等しいとき、各スライスは(エントリポイントのケース・シグナリングは、不必要である)1つのタイルのサブセットか完全なタイルの整数値を含まなければならない。
【0076】
tiles_or_entropy_coding_sync_idcが2に等しく、num_entry_point_offsetsが0より大きいとき、0からnum_entry_point_offsets−1の範囲を含むkを有する各サブセットkは、確実に符号化ツリー・ブロックの1つの行の全ての符号化ビットを含み、(num_entry_point_offsetsに等しいサブセット・インデックスを有する)最後のサブセットは、スライスに含まれる残りの符号化ブロックの全ての符号化ビットを含み、残りの符号化ブロックは符号化ツリー・ブロックの正確に1つの行か符号化ツリー・ブロックの1つの行のサブセットのいずれかから成り、サブセットの数(すなわち、num_entry_point_offsets+1の値)はスライスの符号化ツリー・ブロックの行の数に等しく、スライスの符号化ツリー・ブロックの1つの行のサブセットも計数される。
【0077】
tiles_or_entropy_coding_sync_idcが2に等しいとき、スライスは、符号化ツリー・ブロックの多くの行および符号化ツリー・ブロックの行のサブセットを含む。例えば、スライスが符号化ツリー・ブロックの2つ半分の行を含む場合、サブセットの数(すなわち、num_entry_point_offsets+1の値)は3に等しいであろう。
【0078】
図9は、[2]の画像パラメータ・セットRBSP構文、および〔2〕の画像パラメータ・セットRBSP意味論を示し、以下のように定義される:
【0079】
1に等しいdependent_slice_enabled_flagは、画像パラメータ・セットを参照して符号化画像のためのスライス・ヘッダの構文要素dependent_slice_flagの存在を規定する。0に等しいdependent_slice_enabled_flagは画像パラメータ・セットを参照して符号化画像のためのスライス・ヘッダの構文要素dependent_slice_flagの欠如を特定する。tiles_or_entropy_coding_sync_idcが3に等しいとき、dependent_slice_enabled_flagの値は1に等しいであろう。
【0080】
0に等しいtiles_or_entropy_coding_sync_idcは、画像パラメータ・セットを参照して各画像に1つのタイルだけがあることを示し、画像パラメータ・セットの各画像における符号化ツリー・ブロックの行の第1の符号化ツリー・ブロックを復号化する前に引き起こされる文脈の変化のための特定の同期プロセスを有し、画像パラメータ・セットを参照した符号化画像のためのcabac_independent_flagおよびdependent_slice_flagの値は両方とも1に等しくないであろう。
【0081】
cabac_independent_flagおよびdepedent_slice_flagは両方ともスライスのための1に等しいとき、スライスはエントロピー・スライスである。]
【0082】
1に等しいtiles_or_entropy_coding_sync_idcは、画像パラメータ・セットを参照して、各画像に1つ以上のタイルがあることが示されており、画像パラメータ・セットを参照して各画像における符号化ツリー・ブロックの行の第1の符号化ツリーボックスを復号化する前に引き出される文脈変化のための特定の同期プロセスはないであろうし、画像パラメータ・セットを参照した符号化画像のためのcabac_independent_flagおよびdependent_slice_flagの値は、両方とも1に等しくはないであろう。
【0083】
2に等しいtiles_or_entropy_coding_sync_idcは、画像パラメータ・セットを参照して各画像に1つのタイルだけがあることを示しており、画像パラメータ・セットを参照して各画像における符号化ツリー・ブロックの行の第1の符号化ツリー・ブロックを復号化する前に文脈変化のための特定の同期プロセスが引き出され、画像パラメータ・セットを参照して各画像における符号化ツリーボックスの行の2つの符号化ツリー・ブロックを復号化した後に文脈変化のための特定の記憶プロセスが引き出され、画像パラメータを参照した符号化画像のためのcabac_independent_flagおよびdependent_slice_flagの値は両方とも1にならないであろう。
【0084】
3に等しいtiles_or_entropy_coding_sync_idcは、画像パラメータ・セットを参照して各画像に1つだけのタイルがあることを明確にし、画像パラメータ・セットを参照して各画像における符号化ツリー・ブロックの行の第1の符号化ツリー・ブロックを復号化する前に引き出される文脈変化のための特定の同期プロセスがないであろうし、画像パラメータ・セットを参照した符号化画像のためのcabac_independent_flagおよびdependent_slice_flagの値は、両方とも1に等しいであろう。
【0085】
dependent_slice_enabled_flagが0に等しいとき、tiles_or_entropy_coding_sync_idcは3に等しくないであろう。
【0086】
tiles_or_entropy_coding_sync_idcの値が符号化ビデオ・シーケンスの中で起動するすべての画像パラメータ・セットに共通することは、ビットストリーム適合の要件である。
【0087】
画像パラメータ・セットを参照して各スライスのために、tiles_or_entropy_coding_sync_idcが2に等しく、スライスの第1の符号化ブロックが符号化ツリー・ブロックの行の第1の符号化ツリー・ブロックでない場合、スライスの最後の符号化ブロックは、スライスの第1の符号化ブロックと同じ符号化ツリー・ブロックの行に属する。
【0088】
num_tile_columns_minus1プラス1は、画像を分割しているタイルの列の数を特定する。
【0089】
num_tile_rows_minus1プラス1は、画像を分割しているタイルの行の数を特定する。num_tile_columns_minus1が0に等しいとき、num_tile_rows_minus1は0に等しくないであろう。
【0090】
1に等しいuniform_spacing_flagはその列境界を規定し、同様に、行境界は画像全体に一様に分布される。0に等しいuniform_spacing_flagはその列境界を規定し、同様に、行境界は画像全体に一様に分布されないが、構文要素column_width[i]およびrow_height[i]を使用して明確に信号を送った。
【0091】
column_width[i]は、符号化ツリー・ブロックを単位とするi番目のタイルの列の幅を規定する。
【0092】
row_height[i]は、符号化ツリー・ブロックを単位にするi番目のタイルの行の高さを特定する。
【0093】
ベクトルcolWidth[i]は0からnum_tile_columns_minus1にわたっている列iを有するCTBを単位にするi番目のタイルの列の幅を規定し、含んでいる。
【0094】
ベクトルCtbAddrRStoTS[ctbAddrRS]は、0から(picHeightInCtbs*picWidthInCtbs)−1にわたっているインデックスctbAddrRSで、ラスタ・スキャン順序のCTBアドレスからタイルスキャン順序のCTBアドレスまでの会話を規定し、含んでいる
ベクトルCtbAddrTStoRS[ctbAddrTS]は、0から(picHeightInCtbs*picWidthInCtbs)−1にわたっているインデックスctbAddrTSで、タイルスキャン順序のCTBアドレスからラスタ・スキャン順序のCTBアドレスまでの会話を規定し、含んでいる
【0095】
ベクトルTileId[ctbAddrTS]は、0から(picHeightInCtbs*picWidthInCtbs)−1にわたっているctbAddrTSで、タイルスキャン順序のCTBアドレスからタイルidへの会話を規定し、含んでいる
【0096】
colWidth、CtbAddrRStoTS、CtbAddrTStoRSおよびTileIdの値は、入力として、サブクローズ6.5.1において規定されたように、CTBラスタおよびタイルスキャニングを呼び出すことによって引き出され、出力は、colWidth、CtbAddrRStoTSおよびTileIdに割り当てられる。
【0097】
lumaサンプルを単位にするi番目のタイルの列の幅を規定する、ColumnWidthInLumaSamples[i]の値は、colWidth[i]<<Log2CtbSizeに等しく設定される。
【0098】
0からpicWidthInMinCbs−1にわたっているx、および0からpicHeightInMinCbs−1にわたっているyで、z−スキャン順序における最小限のCBsを単位にするロケーション(x,y)から最小限のCBアドレスへの会話を規定するアレイMinCbAddrZS[x][y]は、入力および出力がMinCbAddrZSに割り当てられるように、Log2MinCbSize、Log2CtbSize、PicHeightInCtbs、PicWidthInCtbs、およびベクトルCtbAddrRStoTSで、サブクローズ6.5.2に規定されるようなZスキャニング順序アレイ初期化プロセスを呼び出すことによって得られる。
【0099】
1に等しいloop_filter_across_tiles_enabled_flagは、インループフィルタリング動作がタイル境界全体に実行されることを示している。0に等しいloop_filter_across_tiles_enabled_flagは、インループフィルタリング動作がタイル境界全体に実行されないことを示している。インループフィルタリング動作は、デブロッキング・フィルタ、サンプル適応オフセットおよび適応ループ・フィルタ動作を含む。ないときには、loop_filter_across_tiles_enabled_flagの値は1に等しいものと推測される。
【0100】
1に等しいcabac_independent_flagは、スライスの符号化ブロックのCABAC復号化が前に復号化されたスライスのいかなる様相からも独立していることを示している。0に等しいcabac_independent_flagは、スライスの符号化ブロックのCABAC復号化が前に復号化されたスライスの様相に依存していることを示している。ないときには、cabac_independent_flagの値は0に等しいものであると推測される。
【0101】
最小限の符号化ブロック・アドレスを有する符号化ブロックの入手可能性のための派生プロセスは、以下の通りに説明されていた:
このプロセスへの入力は、次のようなものである。
−z−スキャン順序の最小限の符号化ブロック・アドレスminCbAddrZS
−z−スキャン順序の現在の最小限の符号化ブロック・アドレスcurrMinCBAddrZS
【0102】
このプロセスの出力は、z−スキャン順序cbAvailableにおける最小限の符号化ブロック・アドレスcbAddrZSを有する符号化ブロックの入手可能性である。
【0103】
このプロセスが呼び出されるときに、有効性の意味が決定されることに注意されたい。
【0104】
そのサイズに関係なく、いかなる符号化ブロックも、z−スキャン順序の最小限の符号化ブロック・サイズを有する符号化ブロックのアドレスである最小限の符号化ブロック・アドレスと関係していることに注意されたい。
【0105】
−以下の状況の1つ以上が真である場合、cbAvailableはFALSEにセットされる。
−minCbAddrZSは、0未満である
−minCbAddrZSは、currMinCBAddrZSより大きい
−最小限の符号化ブロック・アドレスminCbAddrZSを有する符号化ブロックは、現在の最小限の符号化ブロック・アドレスcurrMinCBAddrZSを有する符号化ブロックに属し、現在の最小限の符号化ブロック・アドレスcurrMinCBAddrZSを有する符号化ブロックを含んでいるスライスのdependent_slice_flagと異なるスライスは0に等しい。
−最小限の符号化ブロック・アドレスminCbAddrZSを有する符号化ブロックは、現在の最小限の符号化ブロック・アドレスcurrMinCBAddrZSを有する符号化ブロックとは異なるタイルに含まれる。
−さもなければ、cbAvailableは、TRUEにセットされる。
【0106】
〔2〕のスライス・データのためのCABAC構文解析プロセスは、以下の通りだった:
記述子ae(v)を有する構文要素を解析するときに、このプロセスは呼び出される。
【0107】
このプロセスへの入力は、構文要素の値および前に解析された構文要素の値の要求である。
【0108】
このプロセスの出力は、構文要素の値である。
【0109】
スライスのスライス・データの構文解析を始めるときに、CABAC構文解析プロセスの初期化プロセスは呼び出される。
【0110】
空間隣接ブロックT(
図10a)を含んでいる符号化ツリー・ブロックの最小限の符号化ブロック・アドレス、ctbMinCbAddrTは、以下のように現在の符号化ツリー・ブロックの左上lumaサンプルのロケーション(x0,y0)を使用して引き出される。
x=x0+2<<Log2CtbSize-1
y=y0-1
ctbMinCbAddrT=MinCbAddrZS[x>>Log2MinCbSize][y>>Log2MinCbSize]
【0111】
可変availableFlagTは、入力としてctbMinCbAddrTを有する符号化ブロック有効性派生プロセスを呼び出すことによって得られる。
【0112】
符号化ツリーの構文解析を始めるときに、以下の手順が適用される。
1.算術復号化エンジンは、以下のように初期化される。
−CtbAddrRSがslice_addressに等しい場合、dependent_slice_flagは1に等しく、entropy_coding_reset_flagは0に等しく、以下が適用される。
−CABAC構文解析プロセスの同期化プロセスは、入力としてのTableStateIdxDSおよびTableMPSValDSによって呼び出される。
−終了の前のバイナリの決定のための復号化プロセスは呼び出され、算術復号化のための初期化プロセスが続く。
−さもなければ、tiles_or_entropy_coding_sync_idcが2に等しく、CtbAddrRS%PicWidthInCtbsが0に等しい場合、以下が適用される。
−availableFlagTが1に等しいとき、CABAC構文解析プロセスの同期化プロセスは、入力としてのTableStateIdxWPPおよびTableMPSValWPPによって呼び出される。
−終了の前のバイナリの決定のための復号プロセスは呼び出され、算術復号化エンジンのための初期化プロセスが続く。
【0113】
2.cabac_independent_flagが0に等しく、dependent_slice_flagが1に等しいとき、または、tiles_or_entropy_coding_sync_idcが2に等しいとき、記憶プロセスは以下のように適用される。
−tiles_or_entropy_coding_sync_idcが2に等しく、CtbAddrRS%PicWidthInCtbsが2に等しいとき、CABAC構文解析プロセスの記憶プロセスは出力としてTableStateIdxWPPおよびTableMPSValWPPによって呼び出される。
−cabac_independent_flagが0に等しく、dependent_slice_flagが1に等しく、end_of_slice_flagが1に等しいとき、CABAC構文分析プロセスの記憶プロセスは出力としてTableStateIdxDSおよびTableMPSValDSによって呼び出される。
【0114】
構文要素の構文解析は、以下の通りに進行する:
【0115】
構文要素の要求された値ごとに、2値化が得られる。
【0116】
構文要素のための2値化および構文解析されたビン(bin)のシーケンスは、復号化プロセスフローを決定する。
【0117】
可変binIdxによってインデックスを付けられる構文要素の2値化のビンごとに、文脈インデックスctxIdxが得られる。
【0118】
ctxIdxごとに、算術復号化プロセスが起動する。
【0119】
構文解析されたビンの結果として生じるシーケンス(b0・・・bbinIdx)は、各ビンの復号化の後、2値化プロセスによって与えられるビンストリングのセットと比較される。与えられたセットにおいてシーケンスがビンに一致するときに、対応する値は構文要素に割り当てられる。
【0120】
構文要素の値の要求が構文要素pcm−flagおよびpcm_flagの復号化値が1に等しい場合、復号化エンジンはいかなるpcm_alignment_zero_bitも、num_subsequent_pcmおよびすべてのpcm_sample_lumaおよびpcm_sample_chromaデータを復号化した後に初期化される。
【0121】
今までに記載されている設計フレームワークにおいて、以下の課題が発生した。
【0122】
復号化ユニットのタイミングは、低遅延シナリオでデータを符号化し送信する前に知られている必要があり、NALユニットはすでにエンコーダによって送られ、その一方で、エンコーダは画像、すなわち、他のサブピクチャ復号化ユニットをまだ符号化している。これは、アクセスユニットにおけるNALユニット順序が、アクセスユニットにおけるVCL(ビデオ符号化NALユニット)に先行するSEIメッセージを許しているだけであって、そのような低遅延シナリオにおいて、エンコーダが復号化ユニットの符号化を開始している場合、非VCL NALユニットはすでに通信、すなわち送信されている必要があるためである。
図10bは、〔2〕に記載のアクセスユニットの構造を例示する。〔2〕はまだシーケンスまたはストリームの端部を特定しておらず、そのため、アクセスユニットのそれらの存在は暫定的であった。
【0123】
また、サブピクチャに関連するNALユニットの数が低遅延シナリオにおいて予め知られていなければならず、それは、画像タイミングSEIがこの情報を含み、従わなければならず、エンコーダが実際の画像を符号化し始める前に送信しなければならないためである。アプリケーションデザイナーは、NALユニットナンバーに適合するフィルタデータが潜在的に存在しないフィルタデータNALユニットをしぶしぶ挿入するが、それは、画像タイミングSEIの復号化ユニットごとに送信され、サブピクチャ・レベル上のこの情報を送信する手段を必要とするからである。それは、タイミングSEIメッセージにおいて与えられるパラメータによってアクセスユニットの存在で現在確定されるサブピクチャ・タイミングのために保持する。
【0124】
さらに、仕様書案[2]の更なる欠点は、例えばROIシグナリングまたはタイル次元シグナリングのように、特殊利用のために必要とされるサブピクチャ・レベルの多数のシグナリングを含む。
【発明を実施するための形態】
【0136】
図12に関して、本出願およびその作動モードの実施例に従うエンコーダ10が記載されている。エンコーダ10は、ビデオ内容16をビデオ・データストリーム22に符号化するように構成される。エンコーダは、ビデオ内容16のフレーム/画像18のサブポーションを単位にしてこれをするように構成され、サブポーションは、例えば、画像18が分割されるスライス24、または例えばタイル26またはWPPサブストリーム28のようないくつかの他の空間部分でもよく、その全ては、エンコーダ10が、例えば、タイルまたはWPP並列処理をサポートすることが可能なことを必要とする、または、サブポーションがスライスであることを必要とすることを示唆しているというよりはむしろ、図示する目的だけのために単に
図12において例示される。
【0137】
サブポーション24を単位にするビデオ内容16を符号化することにおいて、エンコーダ10は、復号化順序に沿ってそのようなブロックの連続運転を示すサブポーションをもって、画像18がラスタ・スキャン順序に従って分配される、例えば、画像18の間で規定される再現順序20と必ずしも一致せず、および各画像18ブロック内で妨害される、例えば、画像復号化順序に従ってビデオ16の画像18を妨害するサブポーション24内で定められる復号化順序−あるいは符号化順序−に従うことができる。特に、エンコーダ10は、例えば、予測および/またはエントロピー文脈を決定するように、予測符号化および/またはエントロピー符号化におけるそのような隣接部分を示す特性を用いるために符号化させるべき現在の部分に空間的および/または時間的に隣接する部分の有用性を決定するこの復号化順序に従うように構成される:単にビデオの前に訪れる(符号化/復号化)だけだった部分は利用可能である。さもなければ、ちょうど言及された特性はデフォルト値に設定され、または、いくつかの他の代替手段がとられる。
【0138】
一方では、エンコーダ10は、復号化順序に沿って連続的にサブポーション24を符号化する必要はない。むしろ、エンコーダ10は符号化プロセスのスピードアップを図るため並行処理を行ったり、リアルタイムでより複合的な符号化を実行することが可能である。同様に、エンコーダ10は、復号化順序に沿ってサブポーションを符号化しているデータを伝えるかまたは送るように構成されてもよいし、構成されなくてもよい。たとえば、エンコーダ10は、サブポーションの符号化が、並列処理により、例えば、ちょうど言及される復号化順序から逸脱することができるエンコーダ10によって終了する順序に従うような、いくつかの他の順序で符号化されたデータを出力/送信することができる。
【0139】
サブポーション24の符号化されたバージョンをネットワーク上の伝送に適するようにするために、エンコーダ10は、ビデオストリーム22のパケットのシーケンスの1つ以上のペイロード・パケットに各サブポーション24を符号化する。サブポーション24がスライスである場合、エンコーダ10は、例えば、各スライス・データ、例えば、各符号化データをNALユニットなどの1つのペイロード・パケットに置き換えるように構成される。このパケット化は、ネットワークを介してビデオ・データストリーム22が伝送に適するようになるのに役立つことができる。したがって、パケットは、ビデオ・データストリーム22が起こる、すなわち受取人に対するネットワークを経て伝送用のエンコーダ10によって個々に送られる最も小型のユニットを表す。
【0140】
さらに、それらの間に分散するペイロード・パケットおよびタイミング制御パケットや、以下で述べる他のパケット、例えば、まれに変化する構文要素またはEOF(ファイルの終わり)またはAUE(アクセスユニット端)パケット等の伝達するためのフィルデータ・パケット、画像またはシーケンス・パラメータのような他のタイプのパケットが存在する。
【0141】
パケットのシーケンスがアクセスユニット30のシーケンスに分けられ、各アクセスユニットがビデオ内容16の1つの画像18に関するペイロード・パケット32を集めるように、エンコーダはペイロード・パケットへの符号化を実行する。すなわち、ビデオ・データストリーム22を形成しているパケットのシーケンス34は、それぞれが画像18のそれぞれの1つに関連している、アクセスユニット30と呼ばれる重なり合わない部分に再分割される。アクセスユニット30のシーケンスは、アクセスユニット30が関連する画像18の復号化順序に従う。
図12は、例えば、図示されたデータストリーム22の部分の中央に配置されるアクセスユニット30が、画像18が再分割されるサブポーション24につき1つのペイロード・パケット32を含む。すなわち、各ペイロード・パケット32は、対応するサブポーション24を担持する。エンコーダ10は、パケットタイミング制御パケット36のシーケンス34に分散され、それによりタイミング制御パケットがアクセスユニット30を復号化ユニット38に細分割し、それにより
図12の中央部に示されているように、少なくともいくつかのアクセスユニット30は2つ以上の復号化ユニット38に細分割され、各タイミングコントロールパケットは、そのペイロード・パケット32がパケットのシーケンス34におけるそれぞれのタイミング制御パケットに続く復号化ユニット38のためのデコーダバッファ検索時間に信号を送る。換言すれば、エンコーダ10は、それぞれのタイミング制御パケット36によって前に置かれ、復号化ユニット38、デコーダバッファ検索時間を形成するペイロード・パケットのそれぞれのサブシーケンスのために信号を送るそれぞれのタイミング制御パケット36で1つのアクセスユニット30内のペイロード・パケット32のシーケンスのサブシーケンスの前に置く。
図12は、例えば、あらゆる第2のパケット32がアクセスユニット30の復号化ユニット38の第1のペイロード・パケットを表すケースを例示する。
図12に示すように、データの量または復号化ユニット38ごとに費やされるビットレートは変化し、そして、復号化ユニット38のデコーダバッファ検索時間がこの直ちに前の復号化ユニット38に費やされるビットレートに対応する時間間隔に加えて直ちに前の復号化ユニット38のタイミング制御パケット36によって信号を送られるデコーダバッファ検索時間に続くことができるという点で、デコーダバッファ検索時間は復号化ユニット38の中のこのビットレートのバリエーションと相関することができる。
【0142】
すなわち、エンコーダ10は、
図13に示すように作動することができる。特に、上述したように、エンコーダ10は、ステップ40において、現在の画像18の現在のサブポーション24を符号化させることができる。すでに述べたように、エンコーダ10は、矢印42で示すように、上述の復号化順序のサブポーション24によって順次循環することができ、または、エンコーダ10は並行していくつかの「現在のサブポーション」24を同時に符号化するためにWPPおよび/またはタイル処理のようないくらかの並列処理を使用することができる。並列処理の使用の有無にかかわりなく、エンコーダ10は、ステップ40およびそれに続くステップ44において符号化される1つまたはいくつかのサブポーションから復号化ユニットを形成し、エンコーダ10は、デコーダバッファ検索時間をこの復号化ユニットに設定して伝送し、前に置かれたこの復号化ユニットは時間制御パケットで復号化ユニットのために設定された復号化バッファ検索時間の信号を送る。たとえば、エンコーダ10は、もしあれば、この復号化ユニット内の全ての更なる中間パケット、すなわち「接頭辞パケット」を含む現在の復号化ユニットを形成するペイロード・パケットに符号化されたサブポーションを符号化するのに費やされるビットレートに基づいてステップ44におけるデコーダバッファ検索時間を決定する。
【0143】
それから、ステップ46において、エンコーダ10は、ちょうど今ステップ44において送信されていた復号化装置に費やされるビットレートに基づいて、利用できるビットレートを適応させることができる。例えば、ステップ44においてちょうど送信される復号化ユニット内の画像内容が圧縮率に関して非常に複雑である場合、エンコーダ10は、例えば、ビデオ・データストリーム22を送信しているネットワークと関連して直面される現在の帯域幅状況に基づいて、決定されていたいくつかの外部的に設定された目標ビットレートに従うように、次の復号化ユニットのために利用できるビットレートを減らすことができる。ステップ40〜46は、それから繰り返される。この計測によって、画像18は符号化されて送信される、すなわち、各々対応するタイミング制御パケットによって前に置かれた、復号化ユニットを単位にして送信される。
【0144】
換言すれば、エンコーダ10は、ビデオ内容16の現在の画像18を符号化する間、現在の画像18の現在のサブポーション24を現在の復号化ユニット28の現在のペイロード・パケット32に符号化40し、最初の瞬間、データストリームの中で、現在のタイミング制御パケット(36)によって信号を送られるデコーダバッファ検索時間で現在のタイミング制御パケット36で前に置かれる現在の復号化ユニット38をデータストリーム内で伝送44し、ステップ46から40に回帰することにより、第1の時間的瞬間−第1の時間訪問ステップ44より遅い第2の時間的瞬間−第2の時間訪問ステップに現在の画像18の更なるサブポーション24を符号化44する。
【0145】
エンコーダはこの復号化ユニットが属する現在の画像の残りの符号化に先立って復号化ユニットを伝送することができるので、エンコーダ10は端子間遅延を少なくすることができる。一方では、エンコーダ10が現在の画像の内容および複雑さのその空間分布の特定の性質に反応することが可能であるため、エンコーダ10は利用できるビットレートを浪費する必要がない。
【0146】
一方において、更にエンコーダからデコーダにビデオ・データストリームの伝送に対して重要な中間ネットワークエンティティは、エンコーダ10による復号化ユニット的な符号化および伝送の利益を得るように、ビデオ・データストリーム22を受信するいくつかのデコーダが時間内に復号化ユニットを受信することを保証するように、タイミング制御パケット36を使用することができる。たとえば、ビデオ・データストリーム22を復号化するためのデコーダを示す
図14を参照されたい。デコーダ12は、エンコーダ10がデコーダ12にビデオ・データストリーム22を伝送したネットワークを経由して符号化画像バッファCPB48でビデオ・データストリーム22を受信する。特に、ネットワーク14は低遅延アプリケーションをサポートすることができるものと見なされるため、ネットワーク10はデコーダ12の符号化画像バッファ48にビデオ・データストリーム22のパケットのシーケンス34を送るようにデコーダバッファ検索時間を検査し、それにより、各復号化ユニットはそれぞれの復号化ユニットの前におかれるタイミング制御パケットによって信号を送られるデコーダバッファ検索時間に先立って符号化画像バッファ48内に存在する。この計測によって、デコーダは、行き詰まることなく、すなわち、符号化画像バッファ48内で利用できるペイロード・パケットが尽きることなく、完全なアクセスユニットよりむしろ復号化ユニットを単位にするデコーダの符号化ピクチャ・バッファ48を空にするために、タイミング制御パケットのデコーダバッファ検索時間を使用する。
図14は、例えば、符号化画像バッファ48の出力に接続され、その入力がビデオ・データストリーム22を受信するような処理ユニット50を例示的に示している。エンコーダ10と同様に、デコーダ12は、例えばタイル並列処理/復号化および/またはWPP並列処理/復号化を用いて並列処理を実行することができる。
【0147】
以下において詳述するように、デコーダバッファ検索時間は、デコーダ12の符号化ピクチャ・バッファ48に関する検索時間に必ずしも関連するというわけではない。むしろ、タイミング制御パケットは、加えて、あるいは、デコーダ12の対応する復号化ピクチャ・バッファのすでに復号化された画像データの検索を進めることができる。
図14は、例えば、処理ユニット50によりビデオ・データストリーム22を復号化することによって得られるビデオ内容の復号化バージョンがバッファリングされる、したがって、復号化ユニットの復号化バージョンを単位にして格納され、出力されるデコーダピクチャバッファを含むデコーダ12を示す。デコーダの復号化ピクチャ・バッファ22は、このようにデコーダ12の出力および処理ユニット50の出力の間に接続される。復号化ピクチャ・バッファ52からユニットを復号化する復号化バージョンを出力するための検索時間を設定する能力を有することによって、エンコーダ10は、臨機応変に、すなわち、現在の画像を符号化する間、再現を制御し、または端末間で、画像率またはフレーム率より小さい粒度でさえ復号化側のビデオ内容の再現の遅延を得る機会を与えられる。明らかに、符号化側で各画像18を大量のサブポーション24に過度に分割することはビデオ・データストリーム22を送信するためのビットレートに負の影響を及ぼすが、その一方で、このような復号化ユニットを符号化し、送信し、復号化し、出力するために必要な時間が最小化されるため、端末間の遅延は最小化されることができる。一方では、サブポーション24のサイズを増加させることは、端末間の遅延を増加させる。したがって、妥協は見つけられなければならない。復号化ユニットを単位とするサブポーション24の復号化バージョンの出力タイミングを誘導するように言及したデコーダバッファ検索時間を使用することは、エンコーダ10または符号化側のいくつかの他のユニットに現在の画像の内容を空間的に超えてこの妥協を適用することを可能にする。この手段によって、それが現在の画像内容全体で空間的に変化させるそのような方法における端末間遅延を制御することは可能である。
【0148】
上述のような実施例を実行する際に、タイミング制御パケットとして、除去可能なパケット・タイプのパケットを使用することが可能である。除去可能なパケット・タイプのパケットは、復号側でビデオ内容を回復するために必要でない。以下に、この種のパケットは、SEIパケットと呼ばれている。さらに、除去可能なパケット・タイプのパケット、すなわち、ストリームにおいて伝送される場合に、冗長パケットのような別のタイプの除去可能なパケットが同様に存在する。他の方法として、タイミング制御パケットは特定の除去可能なパケット・タイプのパケットでもよいが、加えて、特定のSEIパケット・タイプフィールドを担持する。たとえば、タイミング制御パケットは、1つまたはいくつかのSEIメッセージを担持している各SEIパケットを有するSEIパケットであり、特定のタイプのSEIメッセージを含むこれらのSEIパケットだけが前述のタイミング制御パケットを形成する。
【0149】
このように、
図12〜14に関して今までに記載されている実施例は、更なる実施例に従って、HEVC基準に適用され、それによって、より低い端末間遅延においてより効果的なHEVCを提供するための可能なコンセプトを形成する。この際、上述したパケットはNALユニットによって形成され、そして、上述したペイロード・パケットは上述したサブポーションを形成するスライスを有するNALユニットストリームのVCL NALユニットである。
【0150】
より詳細な実施例の説明の前に、分散されたパケットが効率的な方法でビデオ・データストリームを示している情報を伝送するために用いられるという点で上述の概説された実施例と一致する更なる実施例が示されるが、情報の分類が、タイミング制御パケットがデコーダバッファ検索タイミング情報に伝送された上述の実施例と異なる。さらに以下に記載されている実施例において、アクセスユニットに属しているペイロード・パケットに分散する分散パケットを介して移される情報の種類は、関心領域(ROI)情報および/またはタイル識別情報に関する。さらに以下で記載される実施例は、
図12〜14に関して記載されている実施例と結合されることができるかまたは結合されることができない。
【0151】
図15は、
図15のエンコーダ10に対してオプションとなる、
図13に関して上述されたタイミング制御パケットおよび機能の分散を除いて、
図12に関して上で説明したものに類似の動作をするエンコーダ10を示す。しかしながら、
図15のエンコーダ10は、
図11に関連して上で説明したように、ビデオ内容16の画像18のサブポーション24を単位とするビデオ・データストリーム22にビデオ内容16を符号化するように構成される。ビデオ内容16を符号化する際に、エンコーダ10は、ビデオ・データストリーム22とともに、復号化側に関心領域ROI 60に関する情報を伝達することに興味を持っている。ROI 60は、デコーダが、例えば、特別に注意を払わなければならない、現在の画像18の空間サブエリアである。ROI 60の空間位置は、現在の画像18の符号化の間、ユーザーの入力などのような、点線62で示されるような外部からエンコーダ10に入力することができ、または、エンコーダ10または臨機応変にいくつかの他の存在により自動的に決定されることができる。いずれにせよ、エンコーダ10は、以下の課題に直面する:ROI 60の位置の表示は、原則としてエンコーダ10にとって問題ではない。そのために、エンコーダ10は、データストリーム22の中でROI 60の位置を容易に示すことができる。しかしながら、容易にアクセスできるこの情報を示すために、
図15のエンコーダ10はアクセスユニットのペイロード・パケットの間にROIパケットの分散を使用し、それにより、エンコーダ10は、サブポーション24および/またはサブポーション24がパケット化され、ROI 60の空間的に外側および空間的に内側にあるペイロード・パケットの数に自由に、継続的に、現在の画像18の区分を選択する。分散型のROIパケットを用いて、いかなるネットワークエンティティも、ROIに属するペイロード・パケットを容易に確認することができる。一方では、これらのROIパケットのための除去可能なパケット・タイプを使用する場合、それはいかなるネットワークエンティティによっても容易に無視されることができる。
【0152】
図15は、アクセスユニット30のペイロード・パケット32の間にROIパケット64を分散させるための実施例を示す。ROIパケット64は、ビデオ・データストリーム22内でROI 60に関連する、すなわち符号化する符号化データが含まれるところを示す。ROIパケット64がROI 60の位置を示す方法は、多種多様な方法で行うことができる。たとえば、ROIパケット64の純粋な存在/発生は、シーケンス34の順次的な順序において続く、すなわち前に置かれたペイロード・パケットに属する、以下のペイロード・パケット32の1つ以上の範囲内でROI 60に関する符号化データの編入を示す。あるいは、ROIパケット64内部の構文要素は、1つ以上の次のペイロード・パケット32がROI 60に関連するかどうか、すなわち少なくとも部分的に符号化するかどうかを示す。変化の多さも、それぞれのROIパケット64の「スコープ」に関して可能なバリエーション、すなわち1つのROIパケット64によって前に置かれる前に置かれたペイロード・パケットの数から生じる。たとえば、1つのROIパケット内でROI 60に関するいくらか符号化データの編入または非編入の示唆は、次のROIパケット64の発生までシーケンス34の順次的な順序に続き、または、単にすぐに続くペイロード・パケット32、すなわちシーケンス34の順次的な順序におけるそれぞれのROIパケット64に続くペイロード・パケット32に関連する。
図15において、グラフ66は見本として、次のROIパケット64の発生までそれぞれのROIパケット64のダウンストリームを発生させる全てのペイロード・パケット32、またはパケットのシーケンス34に沿って早く発生するものは何でも現在のアクセスユニット30の終わりと関連して、ROIパケット64がROIの関連、すなわちROI 60に関するいかなる符号化されたデータの編入、またはROIの非関連、すなわちROI 60に関連するいかなる符号化データの欠如を示すケースを例示する。特に、
図15はROIパケット64が構文要素を中で備えているケースを例示し、それはいずれにせよパケット・シーケンス34の順次的な順序において続いているペイロード・パケット32が中のROI 60に関する符号化されたデータを有するか否かを示す。このような実施例も、以下に記載する。しかしながら、他の可能性は、今述べたように、各ROIパケット64が、それぞれのROIパケット64の「スコープ」に属するペイロード・パケット32がデータ内部に関連するROI60、すなわちROI60に関連するデータを有しているパケット・シーケンス34に存在することにより示すことである。更に詳細に以下に記載する実施例によれば、ROIパケット64は、その「スコープ」に属しているペイロード・パケット32に符号化されるROI 60の部分の位置さえ示す。
【0153】
たとえば、パケットのシーケンス34のROI関連部分をパケット・シーケンス34の他の部分より高い優先度で扱うためにROIパケット64を用いて理解されるように、ビデオ・データストリーム22を受信しているいかなるネットワークエンティティ68もROI関連の指し示すことを利用することができる。あるいは、ネットワークエンティティ68は、例えば、ビデオ・データストリーム22の伝送に関する他の作業を遂行するために、ROI関連情報を使用することができる。ネットワークエンティティ68は、例えば、ビデオ・データストリーム22、28を介して伝送されるようなビデオ内容60の復号化および再生のためのMANEまたはデコーダである。換言すれば、ネットワークの素材68は、ビデオ・データストリームに関連している伝送作業を決定するために、ROIパケットの識別の結果を使用することができる。伝送作業は、欠陥パケットに関して再伝送要請を含むことができる。ネットワークエンティティ68は、増加した優先度を有する関心領域70を扱って、より高い優先権をROIパケット72およびそれらの付随するペイロード・パケット、すなわちそれによって前に置かれるものに割り当てるように構成されることができ、それは、ROIを覆わないように信号を送られるROIパケットおよびそれらの付随するペイロード・パケットと比較して、関心領域を覆うように信号を送られる。それに対して割り当てられる下の優先度を有するペイロード・パケットのいくつかの転送を要請する前に、ネットワークエンティティ68は、それに対して割り当てられるより高い優先度を有するペイロード・パケットの転送を最初に要請することができる。
【0154】
図15の実施例は、
図12〜14に関して以前に記載されている実施例と、容易に結合されることができる。たとえば、上述のROIパケット64は、そこにおいて、含まれる特定のタイプのSEIメッセージ、すなわちROI SEIメッセージを有するSEIパケットであってもよい。すなわち、SEIパケットは、例えば、タイミング制御パケットおよび同時にROIパケットであってもよく、すなわち、それぞれのSEIパケットが両方のタイミングから成る場合、ROI表示情報と同様に情報を制御する。あるいは、SEIパケットは、他の1つであるよりもむしろ、タイミング制御パケットおよびROIパケットのうちの1つでもよく、ROIパケットかタイミング制御パケットでなくてもよい。
【0155】
図16において図示した実施例に従って、アクセスユニットのペイロード・パケット間へのパケットの分散は、現在のアクセスユニット30が関連している、現在の画像18のタイルである、ビデオ・データストリーム22を取り扱うネットワークエンティティ68に容易にアクセスできる方法で示すように用いられ、それぞれのパケットが接頭辞として役立つペイロード・パケット32のいくつかに符号化されるいくつかのサブポーションによって覆われる。
図16において、例えば、見本としてここでは現在の画像18の4つの四半部によって形成されて、現在の画像18は4つのタイル70に再分割されることを示す。また、例えば、パケットのシーケンス34に分散されるVPSまたはSPSパケットで、タイル70への現在の画像18の細別は、例えば、画像のシーケンスから成るユニットのビデオ・データストリームの中で信号を送られることができる。以下において更に詳細に説明するように、現在の画像18のタイル再分割はタイルの列および行における画像18の規則的な再分割でもよい。タイルの列の幅および行の高さと同様に列の数および行の数は変化していてもよい。特に、タイルの列/行の幅と高さは、異なる行および異なる列でそれぞれ異なっていてもよい。
図16は、加えて、サブポーション24が画像18のスライスである実施例を示す。スライス24は、画像18を再分割する。以下において更に詳細に概説されるように、スライス24への画像の18の再分割は、各スライス24が1つのタイル70の範囲内に完全に含まれることができるか、または完全に2つ以上のタイル70をカバーすることができるという制約に従属される。
図16は、画像18が5つのスライス24に再分割されるケースを例示する。上述した復号化順序におけるこれらの最初の4つのスライス24は最初の2つのタイル70をカバーするが、その一方で、5番目のスライスは完全に第3および第4のタイル70をカバーする。さらに、
図16は、各スライス24がそれぞれのペイロード・パケット32に個々に符号化されるケースを例示する。さらに、
図16は、見本として、各ペイロード・パケット32が先行するタイル識別パケット72によって前に置かれるケースを例示する。各タイル識別パケット72は、次に、このペイロード・パケット32に符号化されるサブポーション24がタイル70のいずれを覆うかについてその直ちに続くペイロード・パケット32のために指示する。したがって、現在の画像18に関するアクセスユニット30の範囲内の最初の2つのタイル識別パケット72が第1のタイルを示すと共に、第3および第4のタイル識別パケット72は画像18の第2のタイル70を示し、第5のタイル識別パケット72は第3および第4のタイル70を示す。
図16の実施例に関して、例えば、同じバリエーションは、
図15に関して上述したように可能である。すなわち、タイル識別パケット72の「スコープ」は、例えば、単に次のタイル識別パケットの発生まで、第1の直ちに続くペイロード・パケット32または直ちに続くペイロード・パケット32を含むことができるだけである。
【0156】
タイルに関して、タイル境界全体に、空間予測または前後関係選択が起こらないように、エンコーダ10は各タイル70を符号化するように構成されることができる。エンコーダ10は、例えば、並行してタイル70を符号化することができる。同様に、ネットワークエンティティ68のようないかなるデコーダも、並行してタイル70を復号化することができる。
【0157】
ネットワークエンティティ68はエンコーダ10およびデコーダとの間におけるMANEまたはデコーダまたはいくつかの他の装置でもよく、特定の伝送作業を決定するためにタイル識別パケット72によって伝達される情報を使用するように構成することができる。たとえば、ネットワークエンティティ68は、より高い優先度でビデオ16の現在の画像18の特定のタイルを扱うことができ、すなわち以前にこのようなタイルに関するかまたはより安全なFEC保護等を使用するとして示されるそれぞれのペイロード・パケットを進めることができる。換言すれば、ネットワークエンティティ68は、ビデオ・データストリームに関係している伝送作業を決定するために、識別の結果を使用することができる。伝送作業は欠陥状態において−すなわち、もしあれば、ビデオのいかなるFEC保護も上回ることで、受け取られるパケットに関して再伝送要請を含むことができる。ネットワークエンティティは、例えば、異なる優先度で異なるタイル70を扱うことができる。この目的で、ネットワークエンティティは識別パケット72よびそれらのペイロード・パケット72により高い優先度を割り当てることができる、すなわち、低い優先度に関連するタイル識別パケット72およびそれらのペイロード・パケットよりも、前に置かれそれにより高い優先度に関連する。それに対して割り当てられる低い優先度を有するペイロード・パケットのいかなる転送を要請する前に、ネットワークエンティティ68は、例えば、それに対して割り当てられるより高い優先度を有するペイロード・パケットの転送を最初に要請することができる。
【0158】
今までに記載されている実施例は、以下に説明するように、本出願の前置き部分にて説明したようなHEVCフレームワークに組み込まれることができる。
【0159】
特に、SEIメッセージは、サブピクチャCPB/HRDケースの復号化ユニットのスライスに割り当てられることができる。すなわち、バッファリング期間およびタイミングSEIメッセージは、復号化ユニットのスライスを含んでいるNALユニットに割り当てられることができる。これは、直接復号化装置の1つ以上のスライス/VCL NALユニットに先行することができる非VCL NALユニットである新しいNALユニットタイプによって達成されることができる。この新規なNALユニットは、スライス接頭辞NALユニットと呼ばれることができる。
図17は、シーケンスおよびストリームの端部のためのいかなる一時的なNALユニットも省略したアクセスユニットの構造を例示する。
【0160】
図17によれば、アクセスユニット30は、以下の通りに構成される:パケットのシーケンス34のパケットの順次的な順序で、アクセスユニット30は、特別なタイプのパケット、すなわち、アクセスユニットデリミタ80の発生から始めることができる。それから、全てのアクセスユニットに関するSEIパケット・タイプの1つ以上のSEIパケット82は、アクセスユニット30内で続くことができる。両方のパケット・タイプ80および82は、任意である。すなわち、このタイプのパケットは、アクセスユニット30内で発生することができない。それから、復号化ユニット38のシーケンスは続く。各復号化ユニット38は、例えばタイミング制御情報を含み、または
図15または16の実施例によれば、ROI情報またはタイル情報または、より一般的には、それぞれのサブピクチャSEIメッセージ86を含む、スライス接頭辞NALユニット84で任意に始まる。それから、それぞれのペイロード・パケットまたはVCL NALユニットの実際のスライス・データ88は、88に示すように続く。このように、各復号化ユニット38は、それぞれのスライス・データNALユニット88が続くスライス接頭辞NALユニット84のシーケンスを含む。スライス接頭辞NALユニットを回避する
図17のバイパス矢印90は、現在のアクセスユニット30の非復号化ユニット再分割の場合には、スライス接頭辞NALユニット84がないことを示す。
【0161】
すでに上述したように、スライス接頭辞で信号を送ったすべての情報および付随するサブピクチャSEIメッセージは、スライス接頭辞NALユニットにおいて伝えられるフラグに応じて、アクセスユニットの、または、第2の接頭辞NALユニットの発生までのすべてのVCL NALユニットのために、または、復号化順序において以下のVCL−NALユニットのために効果的であってもよい。
【0162】
スライス接頭辞で信号を送られる情報が有効であるスライスVCL NALユニットは、以下において接頭辞スライスと呼ばれる。前に置かれる単一のスライスと関連する接頭辞スライスは、完全な復号化ユニットを必ずしも構成する必要はないが、それの一部であり得る。しかしながら、単一のスライス接頭辞は並列の復号化ユニット(サブピクチャ)に有効であることができず、復号化ユニットの始まりはスライス接頭辞で信号を送られる。信号を送るための手段がスライス接頭辞構文(以下に示す「単純な構文」/バージョンのような)によって与えられない場合、スライス接頭辞NALユニットの発生は復号化ユニットの始まりの信号を送る。特定のSEIメッセージ(以下の構文説明のペイロードタイプを介して確認される)だけはスライス接頭辞NALユニットの範囲内でサブピクチャ・レベルで送られることができ、その一方で、いくらかのSEIメッセージはサブピクチャ・レベルでスライス接頭辞NALユニットにおいて、または、アクセスユニットレベルで通常のSEIメッセージとして送られることができる。
【0163】
図16に関して上述したように、さらに、または、あるいは、タイルID SEIメッセージ/タイルIDシグナリングは、高水準構文において理解されることができる。HEVCの以前のデザインにおいて、スライス・ヘッダ/スライス・データは、それぞれのスライスに含まれるタイルのための識別子を含んだ。例えば、スライス・データ意味論は示す:
【0164】
tile_idx_minus_1は、ラスタ・スキャン順序のTileIDを規定する。画像の第1のタイルは、0のTileIDを有する。tile_idx_minus_1の値は、0から(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)−1の範囲内にある。
【0165】
tiles_or_entropy_coding_sync_idcが1に等しい場合、このIDがスライスアドレスから、および画像パラメータ・セットにおいて信号を送られるようなスライスディメンジョンから容易に引き出されるため、このパラメータは役立つとは認められない。
【0166】
タイルIDが暗に復号化プロセスの中で引き出されることができるにもかかわらず、異なるタイルがプレイバックに対して異なる優先度を有する(これらのタイルが典型的には会話形式を用いる話者を含む関心領域を形成する)ビデオ会議シナリオが別のタイルより高い優先度をもっているように、アプリケーションレイヤーにおけるこのパラメータの知識は異なる使用の場合に重要である。複数のタイルの伝送のネットワーク・パケットを失う場合には、関心領域を表しているタイルを含んでいるそれらのネットワーク・パケットは、いかなる優先度順序もない再送信タイルの場合よりも高いレシーバ端末に経験品質を保つために、より高い優先度で再送信されることができる。寸法およびそれらの位置が公知である場合、例えばテレビ会議シナリオのように、異なるスクリーンに、他の使用ケースはタイルを割り当てることができる。
【0167】
このようなアプリケーションレイヤーが伝送シナリオにおいて特定の優先度を有するタイルを扱うことができるために、tile_idは、サブピクチャまたはスライスに特有のSEIメッセージとして、または、タイルの1つ以上のNALユニットの前の特別なNALユニットにおいて、または、タイルに属しているNALユニットの特別なヘッダ部分において設けられることができる。
【0168】
図15に関して上述したように、関心SEIメッセージの領域は、さらに、または、代わりに設けられていることもできる。このようなSEIメッセージは、関心領域(ROI)の信号を送ることを可能にし、特に、特定のtile_id/タイルが属するROIのシグナリングにおいて感心領域(ROI)のシグナリングを可能にすることができる。メッセージは、関心領域IDに加えて関心領域の優先度を与えることを可能にすることができる。
【0169】
図18は、関心領域シグナリングのタイルの使用を例示する。
【0170】
上で記載されていたことに加えて、スライス・ヘッダ・シグナリングが実行されることができる。スライス接頭辞NALユニットは、以下の従属するスライス、すなわち、それぞれのスライス接頭辞によって前に置かれるスライスのためのスライス・ヘッダを含むこともできる。スライス・ヘッダがスライス接頭辞NALユニットにおいて提供されるだけである場合、それぞれの従属するスライスを含んでいるNALユニットのNALユニットタイプによって、または次のスライス・データがランダムアクセスポイントとして働くスライスタイプに属するかどうかの信号を送るスライス接頭辞におけるフラグによって、実際のスライスタイプが引き出される。
【0171】
さらに、スライス接頭辞NALユニットは、例えばサブピクチャ・タイミングまたはタイル識別子のような任意の情報を伝達するために、スライスまたはサブピクチャに特定のSEIメッセージを持たせることができる。任意のサブピクチャの特定のメッセージ発信は、本出願の紹介の部分に記載されているHEVCの明細書においてサポートされていないが、特定のアプリケーションのために重要である。
【0172】
次に、スライスの接頭辞付加の上述の概念を実行するための可能な構文が説明される。特に、基本として本出願の明細書の紹介部分で概説されるHEVC状況を使用するときに、どの変化がスライス・レベルに十分でありえるかが説明される。
【0173】
特に、以下において、可能なスライス接頭辞構文の2つのバージョンが与えられ、1つはSEIメッセージ発信だけの機能をもつものであり、1つは次のスライスのためにスライス・ヘッダの一部の信号を送る拡張した機能をもつものである。第1の単純な構文/バージョン1は、
図19に示される。
【0174】
予備的な注釈として、
図19は、このように、
図11〜16に関して上記の実施例のいずれかを実行するためのありうる実行を示す。その中で示される分散型のパケットは
図19に示すように解釈されることができ、以下にいて、これは特定の実施例によって更に詳細に記載されている。
【0175】
SEIメッセージ概念から離れたtile_idシグナリング、復号化ユニットスタート識別子、スライス接頭辞IDおよびスライス・ヘッダデータを含む拡張した構文/バージョン2は、
図20の表において与えられる。
【0176】
意味論は、以下の通りに定められることができる:
1の値を有するrap_flagは、スライス接頭辞を含むアクセスユニットがRAP画像であることを示す。0の値を有するrap_flagはスライス接頭辞を含まないアクセスユニットがRAP画像でないことを示す。
【0177】
decoding_unit_start_flagは、アクセスユニットの範囲内で復号化ユニットの始まりを示し、したがって、次にくるスライスは、アクセスユニットの終端まで、または同じ復号化ユニットに属する他の復号化ユニットの始まりまで続く。
【0178】
0の値を有するsingle_slice_flagは、接頭辞スライスNALユニットおよび付随するサブピクチャSEIメッセージの範囲内で与えられる情報が次のアクセスユニット、他のスライス接頭辞の発生または他の完全なスライス・ヘッダの始まりまですべての以下のVCL−NALユニットにあてはまることを示す。値1を有するsingle_slice_flagは、スライス接頭辞NALユニットおよび付随するサブピクチャSEIメッセージに示されるすべての情報が順序を復号化する際の次のVCL―NALユニットのためにだけ有効なことを示す。
【0179】
tile_idcは、以下のスライスに存在するタイルの量を示す。0に等しいtile_idcは、タイルが以下のスライスにおいて用いられないことを示す。1に等しいtile_idcは、単一のタイルが以下のスライスにおいて用いられることを示し、したがってそのタイル識別子は信号を送られる。2の値を有するtile_idcは、複数のタイルが以下のスライスの範囲内で用いられることを示し、したがって、タイルの数および第1のタイル識別子は信号を送られる。
【0180】
prefix_slice_header_data_present_flagは、復号化順序において続くスライスに対応するスライス・ヘッダのデータが与えられたスライス接頭辞で信号を送られることを示す。
【0181】
slice_header_data()は、テキストの後期に定められる。それは関連したスライス・ヘッダ情報を含み、dependent_slice_flagが1に等しく設定された場合、それはスライス・ヘッダによってカバーされない。
【0182】
スライス・ヘッダおよび実際のスライス・データを切り離すことがヘッダおよびスライス・データのより柔軟な伝送方式を可能にすることに注意されたい。
【0183】
num_tiles_in_prefixed_slices_minus1は、1なしで次の復号化ユニットマイナス1において使用されるタイルの数を示す。
【0184】
first_tile_id_in_prefixed_slicesは、次の復号化ユニットにおける第1のタイルのタイル識別子を示す。
【0185】
スライス接頭辞の単純な構文/バージョン1のために、ないときには、以下の構文要素は、以下の通りにデフォルト値に設定されることができる:
−decoding_unit_startは1に等しい、すなわち、スライス接頭辞は、常に復号化ニットのスタートを示す。
−single_slice_flagは0に等しい、すなわち、スライス接頭辞は、復号化ユニットのすべてのスライスにあてはまる。
【0186】
スライス接頭辞NALユニットは、24のNALユニットタイプを有し、NALユニットは
図21に従って延長されるテーブルを概観する。
【0187】
すなわち、簡単に
図19〜21を要約すると、ここで見られる構文の詳細は、特定のパケット・タイプが上記の確認された分散型のパケットに起因している、ここでは見本としてNALユニットタイプ24を公開する。さらに、特に、
図20の構文例は、分散型のパケットの「スコープ」、これらの分散型のパケット自身の範囲内でそれぞれの構文要素によって制御されるスイッチングメカニズム、ここではsingle_slice_flagがこのスコープを制御するために用いられること、すなわち、それぞれ、このスコープの定義のための異なる選択肢の間のスイッチングをすることの上述の選択肢が明らかにされる。さらに、それぞれの分散型のパケットの分散型のパケットの「スコープ」に属しているパケットに含まれるスライス24のための共通のスライス・ヘッダデータを含むという点で、
図1〜16の上述した実施例が延長されることができることが明らかにされた。すなわち、共通のスライス・ヘッダデータがそれぞれの分散型のパケットの範囲内で含まれるかどうかを示すこれらの分散型のパケットの範囲内でそれぞれのフラグによって制御される機構があることができる。
【0188】
もちろん、HEVCの現在バージョンにおいて特定されるように、スライス・ヘッダデータのどの一部がスライス・ヘッダ接頭辞に移されるかについてちょうど提示される概念がスライス・ヘッダに変化を必要とする。
図22の表は、このようなスライス・ヘッダのための可能な構文を示し、現在のバージョンに従ってスライス・ヘッダに存在する確かな構文要素がslice_header_data()と呼ばれる下の階層にシフトされる。スライス・ヘッダおよびスライス・ヘッダデータのこの構文は、拡張したスライス・ヘッダ接頭辞NALユニット概念が使われるオプションに適用されるだけである。
【0189】
図22において、slice_header_data_present_flagは、現在のスライスのためのスライス・ヘッダデータがアクセスユニット、すなわち最も最近発生しているスライス接頭辞NALユニットの最後のスライス接頭辞NALユニットにおいて信号を送られる値から予測されることを示す。
【0190】
スライス・ヘッダから離れたすべての構文要素は、
図23の表において与えられるように、構文要素スライス・ヘッダデータによって信号を送られる。
【0191】
すなわち、
図22および
図23の概念を
図12〜16の実施例に移転して、その中で記載されている分散型のパケットは、これらの分散型のパケットに組み込む概念、ペイロード・パケットに符号化されるスライスのスライス・ヘッダ構文の一部(サブポーション)24、すなわちVCL NALユニットによって延長されることができる。編入は、任意でもよい。すなわち、分散型のパケットのそれぞれの構文要素は、このようなスライス・ヘッダ構文がそれぞれの分散型のパケットに含まれるかどうか示すことができる。組み込まれる場合、それぞれの分散型のパケットに組み込まれるそれぞれのスライス・ヘッダデータはそれぞれの分散型のパケットの「スコープ」に属しているパケットに含まれるすべてのスライスに適用されることができる。分散型のパケットに含まれるスライス・ヘッダデータがこの分散型のパケットのスコープに属するペイロード・パケットのいずれかに符号化されるスライスによって採用されるかどうかは、例えば
図22のslice_header_data_present_flagによって信号を送られることができる。この計測によって、それぞれの分散型のパケットの「スコープ」に属しているパケットに符号化されるスライスのスライス・ヘッダが小型化され、したがって、スライス内のちょうど言及したフラグを用いて、上述の
図12〜16に見られるネットワークエンティティのようなスライス・ヘッダおよびビデオ・データストリームを受信するいずれかのデコーダは、スライスのスライス・ヘッダ内のちょうど言及したフラグに応答し、分散型のパケットに組み込まれたスライス・ヘッダデータを、スライス接頭辞へのスライス・ヘッダデータの移動の信号を送るスライスの範囲内のそれぞれのフラグ、すなわちそれぞれの分散型のパケットの場合、この分散型のパケットのスコープに属するペイロード・パケットに符号化されるスライスのスライス・ヘッダにコピーするようにしている。
【0192】
さらに、
図12〜16の実施例を実施するための構文例を続行して、SEIメッセージ構文が、
図24に示すようにすることができる。スライスまたはサブピクチャSEIメッセージタイプを導入するために、SEIペイロード構文は
図25の表に示されるように構成されることができる。180〜184の範囲のpayloadTypeを有するSEIメッセージだけは、スライス接頭辞NALユニットの範囲内で、サブピクチャ・レベルだけ独占的に送られることができる。さらに、140に等しいpayloadTypeを有する関心領域SEIメッセージは、サブピクチャ・レベル上のスライス接頭辞NALユニットまたはアクセスユニットレベル上の定期的なSEIメッセージのどちらでも送信されることができる。
【0193】
すなわち、
図12〜16に関して上述された実施例上に
図25および24に示される詳細を移す中で、
図12〜16のこれらの実施例に示される分散型のパケットは、スライス接頭辞NALユニットの範囲内で、例えば、各SEIメッセージの始めにpayloadTypeによって信号が送られる特定のタイプのSEIメッセージを含む特定のNALユニットタイプ、例えば24、を有するスライス接頭辞NALユニットを用いて実現されることができる。現在記載されている特定の構文例において、payloadType=180およびpayloadType=181は
図11〜14の実施例に従うタイミング制御パケットという結果になり、その一方で、payloadType=140は
図15の実施例に従うROIパケットという結果になり、payloadType=182は
図16の実施例に従うタイル識別パケットという結果になる。以下において本願明細書に記載されている特定の構文例は、1つのまたはちょうど言及されたpayloadTypeオプションのサブセットを含むことができる。これを越えて、
図25は、
図11〜16の上述の実施例のいずれかが各々と結合されることができることを明らかにする。さらに、
図25は
図12〜16の実施例またはそれらの組み合わせも分散型のパケットによって延長されることができることを明らかにし、その後、payloadType=184によって説明される。すでに上述したように、payloadType=183に関して後述する拡張はいかなる分散型のパケットもそのスコープに属しているいかなるペイロード・パケットにも符号化されるスライスのスライス・ヘッダのための共通のスライス・ヘッダデータを組み込むことができたという可能性において終わる。
【0194】
以下の表は、スライスまたはサブピクチャ・レベルに使われることができるSEIメッセージを定める。サブピクチャおよびアクセスユニットレベルに使われることができる関心のあるSEIメッセージの領域も示される。
【0195】
NALユニットタイプ24のスライス接頭辞NALユニットが、そこに含まれるSEIメッセージタイプ180を有するときはいつでも、
図26は、例えば、発生しているサブピクチャ・バッファSEIメッセージのための実施例を示し、このように、タイミング制御パケットを形成する。
【0196】
意味論は、以下の通りに定められることができる:
seq_parameter_set_idは、シーケンスHRD属性を含むシーケンス・パラメータ・セットを特定する。seq_parameter_set_idの値は、バッファリングピリオドSEIメッセージと関連した主要な符号化画像によって参照されてセットされる画像パラメータのseq_parameter_set_idの値に等しい。seq_parameter_set_idの値は範囲は0から31においてあり、次を含んでいる。
【0197】
initial_cpb_removal_delay[SchedSelIdx]
そして、initial_alt_cpb_removal_delay[SchedSelIdx]は、復号化ユニット(サブピクチャ)のSchedSelIdx―th CPBのための最初のCPB除去遅延を特定する。構文要素は、initial_cpb_removal_delay_length_minus1+1によって与えられるビットの長さを有し、90kHzクロックを単位にする。構文要素の値は、0ではなく、90000*(CpbSize[SchedSelIdx]÷BitRate[SchedSelIdx])、90kHzクロックユニットのCPBサイズの時間相当を上回らない。
【0198】
全ての符号化ビデオ・シーケンスの上に、initial_cpb_removal_delay[SchedSelIdx]の合計および復号化ユニット(サブピクチャ)につきinitial_cpb_removal_delay_offset[SchedSelIdx]はSchedSelIdxの値ごとに一定であり、そして、initial_alt_cpb_removal_delay[SchedSelIdx]およびinitial_alt_cpb_removal_delay_offset[SchedSelIdx]の合計はSchedSelIdxの値ごとに一定である。
【0199】
図27は、同様にサブピクチャ・タイミングSEIメッセージのための例を示し、意味論は、以下の通りに記載されることができる:
【0200】
もしあるならば、同じ復号化ユニット(サブピクチャ)における先行するアクセスユニットの最近のサブピクチャ・バッファリングピリオドSEIメッセージと関連し、さもなければ、サブピクチャ・タイミングSEIメッセージと関連する復号化ユニット(サブピクチャ)データをバッファから除去する前に、先行するアクセスユニットにおける最近のバッファリングピリオドSEIメッセージと関連する復号化ユニット(サブピクチャ)のCPBからの除去の後、どれくらいのクロックが待つために刻んだかを特定する。この値は、HSS(仮定的なStream Scheduler[2]0)のためのCPBへの復号化ユニット(サブピクチャ)データの到着の最も早い可能な時間を計算するためにも用いる。構文要素は、ビットの長さがcpb_removal_delay_length_minus1+1によって与えられる固定長符号である。cpb_removal_delayは、逆にmodulo2(cpb_removal_delay_length_minus1+1)カウンタの剰余である。
【0201】
du_dpb_output_delayは、復号化ユニット(サブピクチャ)のDPB出力時間を計算するために用いられる。それは、画像の復号化ユニット(サブピクチャ)がDPBから出力される前にCPBから復号化された復号化ユニット(サブピクチャ)の除去の後、どれくらいのクロックが待つために刻むかについて特定する。
【0202】
これがサブピクチャのアップデートを可能にすることに注意されたい。このようなシナリオにおいて、アップデートしていない復号化ユニットは、最後の復号化画像の中で不変のままであり、それらは、見えるままである。
【0203】
図26および27を要約して、そこに含まれる具体的な詳細を
図12〜14の実施例に転移すると、復号化ユニットのためのデコーダバッファ検索時間が、すなわち付加的に復号化バッファ検索時間と関連して、差別的に符号化方法の関連するタイミング制御パケットにおいて信号を送られることができるということができる。すなわち、特定の復号化ユニットのための復号器バッファ検索時間を得るために、ビデオ・データストリームを受信するデコーダは、特定の復号化ユニットの前に置かれるタイミング制御パケットから得られるデコーダ検索時間を直ちに先行する復号化ユニットのデコーダ検索時間、すなわち特定の復号化ユニットに先行するものおよび復号化ユニットが続くようなこの方法の手続に加える。各々いくつかの画像またはそのパーツの符号化ビデオ・シーケンスの始まりで、タイミング制御パケットは、さらに、または、代わりに、先行する復号化ユニットのデコーダバッファ検索時間と差別的に比べたよりも完全に符号化されたデコーダバッファ検索時間を含む。
【0204】
図28は、サブピクチャスライス情報SEIメッセージがどのように見えるかを示す。意味論は、以下の通りに定められることができる:
【0205】
1の値を有するslice_header_data_flagは、スライス・ヘッダデータがSEIメッセージに存在することを示す。SEIにおいて与えられているスライス・ヘッダデータは、アクセス装置、他のSEIメッセージのスライス・データの発生、スライスNAL装置またはスライス接頭辞NAL装置の端まで復号化順序を受け継ぐすべてのスライスに有効である。
【0206】
図29は、サブピクチャ・タイル情報SEIメッセージのための実施例を示す、意味論は、以下の通りに定められることができる:
【0207】
tile_priorityは、復号化順序を引き継ぐ前に置かれたスライスのすべてのタイルの優先度を示す。tile_priorityの値はすべてこみで範囲0〜7の範囲にあり、7は最高優先度を示す。
【0208】
1の値を有するmultiple_tiles_in_prefixed_slices_flagは、復号化順序を引き継ぐために接頭辞スライスにおける1以上のタイルを有することを示す。0の値を有するmultiple_tiles_in_prefixed_slices_flagは、次の接頭辞スライスが1つのタイルだけを含むことを示す。
【0209】
num_tiles_in_prefixed_slices_minus1は、復号化順序を受け継ぐ接頭辞スライスのタイルの数を示す。
【0210】
first_tile_id_in_prefixed_slicesは、復号化順序を受け継ぐ接頭辞スライスの第1のタイルのtile_idを示す。
【0211】
すなわち、
図16の実施例は、
図16において言及されるタイル識別パケットを実現するための
図29の構文を使用して実施されることができる。そこに示されるように、特定のフラグ、ここでは、multiple_tiles_in_prefixed_slices_flagは、単に1つのタイルだけか複数のタイルがそれぞれの分散型のタイル識別パケットの範囲に属しているペイロード・パケットのいずれかに符号化される現在の画像18のサブポーションによってカバーされるかどうか分散型のタイル識別パケットの範囲内で示すために用いてもよい。フラグが複数のタイルを覆うことの信号を送る場合、更なる構文要素がそれぞれの分散型のパケット、ここでは見本として、それぞれの分散型のタイル識別パケットの範囲に属するいかなるペイロード・パケットのいかなるサブポーションによって終われるタイルの数を示すnum_tiles_in_prefixed_slices_minus1に含まれる。最後に、更なる構文要素、ここでは見本として、first_tile_id_in_prefixed_slicesは、現在の分散型のタイル識別パケットによって示されるタイルの数の中のタイルのIDを示し、それは復号化順序に従って第1のものである。
図29の構文を
図16の実施例に転移して、第5のペイロード・パケット32を前に置いているタイル識別パケット72は、例えば、1にセットされているmultiple_tiles_in_prefixed_slices_flag、1にセットされているnum_tiles_in_prefixed_slices_minus1を有するすべての3つのちょうど述べられた構文要素を備え、それによって、2つのタイルが現在のスコープに属する2つのタイル、および3にセットされるfirst_tile_id_in_prefixed_slicesに属することを示し、そして、現在のタイル識別パケット72のスコープに属している復号化順序のタイルの進行が3つ目のタイル(tile_id=2を有する)で始まることを示す。
【0212】
図29も、タイル識別パケット72がおそらくtile_priority、すなわちそのスコープに属しているタイルの優先度を示すこともできることを明らかにする。ROI態様と同様に、ネットワークエンティティ68は、例えば特定のペイロード・パケットの転送の要請のような伝送作業を制御するためにこのような優先度情報を使用することができる。
【0213】
図30は、サブピクチャ・タイル範囲情報SEIメッセージのための構文例を示し、意味論は、以下として定義されることができる:
【0214】
1の値を有するmultiple_tiles_in_prefixed_slices_flagは、復号化順序を受け継ぐために、接頭辞スライスに1つ以上のタイルがあることを示す。0の値を有するmultiple_tiles_in_prefixed_slices_flagは、以下の接頭辞スライスが1つのタイルだけを含むことを示す。
【0215】
num_tiles_in_prefixed_slices_minus1は、復号化順序を受け継ぐための接頭辞スライスのタイルの数を示す。
【0216】
tile_horz_start[i]は、画像の範囲内でピクセルのi番目のタイルの水平方向の始まりを示す。
【0217】
tile_width[i]は、画像の範囲内でピクセルのi番目のタイルの幅を示す。
【0218】
tile_vert_start[i]は、画像の範囲内でピクセルのi番目のタイルの水平方向の始まりを示す。
【0219】
tile_height[i]は、画像の範囲内でピクセルのi番目のタイルの高さを示す。
【0220】
タイル範囲SEIメッセージは表示操作、例えばタイルを複数の画面表示シナリオのスクリーンに割り当てるために用いられることに注意されたい。
【0221】
図30は、このように、それぞれのタイル識別パケットのスコープに属しているタイルがそれらのタイルIDよりむしろ現在の画像18の範囲内でそれらの場所によって示されるという点で、
図16のタイル識別パケットに関する
図29の実施構文例が変化に富んでもよいことを明らかにする。すなわち、それぞれの分散型のタイル識別パケットのスコープに属しているペイロード・パケットのいずれかに符号化されるそれぞれのサブポーションによってカバーされる復号化順序における第1のタイルのタイルIDの信号を送るよりはむしろ、現在のタイル識別パケットに属しているタイルごとに、その位置は、例えば各タイルiの上左コーナー位置、ここでは見本としてtile_horz_startおよびtile_vert_start、およびタイルiの幅および高さ、ここでは見本としてtile_widthおよびtile_heightによって信号を送られることができる。
【0222】
関心領域SEIメッセージのための構文例は
図31に示される。さらに正確であるために、
図32は、第1の変形を示す。特に、関心領域SEIメッセージが、例えば、1つ以上の関心領域の信号を送るために、アクセスユニットレベルまたはサブピクチャ・レベルで使われることができる。
図32の第1の変形によれば、複数のROIが現在のスコープの中にある場合、個々のROIは、1つのROI SEIメッセージの範囲内のそれぞれのROIパケットのスコープのすべてのROIの信号を送ることよりむしろ、ROI SEIメッセージごとに一度信号を送られる。
【0223】
図31によれば、関心領域SEIメッセージは、個々に各ROIの信号を送る。意味論は、以下の通りに定められることができる:
【0224】
roi_idは、関心領域の識別子を示す。
【0225】
roi_priorityは、復号化順序を受け継ぐために、SEIメッセージがサブピクチャ・レベルかアクセスユニットレベルのどちらで送られるかによって、接頭辞スライスにおいて関心領域またはすべてのスライスに属するすべてのタイルの優先度を示す。roi_priorityの値は、包括的に0〜7の範囲であり、7は、最高優先度を示す。両方とも、roi情報SEIメッセージのroi_priorityおよびサブピクチャ・タイル情報SEIメッセージのtile_priorityが与えられる場合、両方の最も高い値は個々のタイルの優先度にあてはまる。
【0226】
num_tiles_in_roi_minus1は、関心領域に属する復号化順序を受け継ぐ接頭辞スライスにおけるタイルの数を示す。
【0227】
roi_tile_id[i]は、復号化順序を受け継ぐ接頭辞スライスに対する関心領域に属するi番目のタイルのtile_idを示す。
【0228】
すなわち、
図31は、
図15で示すようなROIパケットが、それぞれのROIパケットおよびスコープに属するペイロード・パケットが参照する関心領域のIDの信号を送ることができることを示す。任意には、ROI優先度インデックスは、ROI IDとともに信号を送られることができる。しかしながら、両方の構文要素は、任意である。それから、構文要素num_tiles_in_roi_minus1は、それぞれのROI 60に属しているそれぞれのROIパケットのスコープにおけるタイルの数を示すことができる。それから、roi_tile_idは、ROI 60に属しているi番目のタイルのタイル−IDを示す。例えば、画像18が
図16に示された方法でタイル70に再分割されることを想像すると、
図15のROI 60が画像18の左側の半分に対応する画像に対応することは復号化順序における第1および第3のタイルによって形成される。それから、ROIパケットは
図16のアクセスユニット30の第1のペイロード・パケット32の前に配置されることができ、そして、このアクセスユニット30の第4のおよび第5のペイロード・パケット32の間に更なるROIパケットが続く。それから、第1のROIパケットは、num_tile_in_roi_minus1が0にセットされるとともにroi_tile_id[0]が0にセットされ、(このことにより、復号化順序において第1のタイルに注意を向ける)、第5のペイロード・パケット32の前の第2のROIパケットは、2にセットされているroi_tile_id[0]とともに0にセットされているnum_tiles_in_roi_minus1を有する(このことにより、画像18の左側の底の四半期で復号化順序の第3のタイルを意味している)。
【0229】
第2の変形によれば、関心SEIメッセージの領域の構文は、
図32に示すようにすることができる。ここで、単一のSEIメッセージのすべてのROIは、信号を送られる。特に、上述のように
図31に関するのと同じ構文が使われるが、構文要素、ここでは見本としてnum_rois_minus1により信号を送られる数で、それぞれのROI SEIメッセージまたはROIパケットが参照する多数のROIのそれぞれのROIのための構文要素を乗算する。任意に、更なる構文要素、ここでは見本として、roi_presentation_on_separate_screenは、それぞれのROIが別々のスクリーンに示されることに適しているかどうかROIごとに示すことができる。
【0230】
意味論的なものは、以下の通りとすることができる:
【0231】
num_rois_minus1は、接頭辞スライスのROIまたは復号化順序を受け継ぐ規則的なスライスの数を示す。
【0232】
roi_id[i]は、i番目の関心領域の識別子を示す。
【0233】
roi_priority[i]は、復号化順序を受け継ぐために、SEIメッセージがサブピクチャ・レベルかアクセスユニットレベルのどちらで送られるかによって、接頭辞スライスにおいてi番目の関心領域またはすべてのスライスに属するすべてのタイルの優先度を示す。roi_priorityの値は、包括的に0〜7の範囲であり、7は、最高優先度を示す。両方とも、roi情報SEIメッセージのroi_priorityおよびサブピクチャ・タイル情報SEIメッセージのtile_priorityが与えられる場合、両方の最も高い値は個々のタイルの優先度にあてはまる。
【0234】
num_tiles_in_roi_minus1[i]は、i番目の関心領域に属する復号化順序を受け継ぐ接頭辞スライスのタイルの数を示す。
【0235】
roi_tile_id[i][n]は、復号化順序を受け継ぐ接頭辞スライスに対する関心のi番目の領域に属するn番目のタイルのtile_idを示す。
【0236】
roi_presentation_on_seperate_screen[i]は、i番目のroi_idに関連した関心領域が別々のスクリーン上のプレゼンテーションに適していることを示す。
【0237】
かくして、一時的に、今までに記載されている各種実施形態を要約すると、スライス・レベル当たりのNALユニットヘッダに含まれるものを越えた更なる高水準構文アイテムと同様にSEIメッセージを適用できるようにする更なる高レベルの構文シグナル伝達戦略が提示された。したがって、我々は、スライス接頭辞NALユニットを解説した。スライス接頭辞およびslice_level/サブピクチャSEIメッセージの構文および意味論は、低い遅延/サブピクチャCPB動作、タイル・シグナリングおよびROIシグナリングのための使用事例とともに記載されていた。拡張した構文は、加えて、スライス接頭辞の以下のスライスのスライス・ヘッダの信号部分に提示された。
【0238】
完全性のために、
図33は、
図12〜14の実施例に従ってタイミング制御パケットのために使われることができる構文のための更なる実施例を示す。意味論は以下の通りでありえる:
【0239】
現在のアクセスユニットの復号化順序の最後の復号化ユニットおよび復号化ユニット情報SEIメッセージと関連した復号化ユニットの名目上のCPB時間との間に、クロックサブティックを単位にして、du_spt_cpb_removal_delay_incrementは、期間を特定する。アネックスCで特定されるように、この値はHSSのためのCPBに復号化ユニットデータの到着の最も早い可能な時間を計算するためにも用いられる。構文要素は、ビットの長さがdu_cpb_removal_delay_increment_length_minus1+1によって与えられる固定長コードによって表される。復号化ユニット情報SEIメッセージと関連した復号化ユニットが現在のアクセスユニットの最後の復号化ユニットであるときに、du_spt_cpb_removal_delay_incrementの値は0に等しい。
【0240】
1に等しいdpb_output_du_delay_present_flagは復号化ユニット情報SEIメッセージのpic_spt_dpb_output_du_delay構文要素の存在を特定する。0に等しいdpb_output_du_delay_present_flagは復号化ユニット情報SEIメッセージのpic_spt_dpb_output_du_delay構文要素の欠如を特定する。
【0241】
SubPicHrdFlagが1に等しいときに、pic_spt_dpb_output_du_delayは画像のDPB出力時間を計算するために用いられる。それは、CPBからアクセスユニットの最後の復号化ユニットの除去の後復号化画像がDPBから出力される前に、どれくらいのサブクロックティックを待つかについて特定する。ないときには、pic_spt_dpb_output_du_delayの値はpic_dpb_output_du_delayに等しいと推測される。構文要素pic_spt_dpb_output_du_delayの長さは、dpb_output_delay_du_length_minus1+1によってビットにおいて与えられる。
【0242】
同じアクセスユニットと関連する全ての復号化ユニット情報SEIメッセージが同じ動作点に適用され、1に等しいdpb_output_du_delay_present_flagがpic_spt_dpb_output_du_delayと同じ値を有することが、ビットストリーム一致の要件である。出力タイミング同調デコーダから出力されるいかなる画像のpic_spt_dpb_output_du_delayにも由来する出力時間は、復号化順序におけるいかなる次のCVSのすべての画像のpic_spt_dpb_output_du_delayにも由来する出力時間に先行する。
【0243】
この構文要素の値によって決められる画像アウトプット順序は、PicOrderCntValの値によって確立するのと同じ順序である。
【0244】
復号化順序において、no_output_of_prior_pics_flagが1に等しいか1に等しいと認められるIRAP画像に先行するため「バンピング」プロセスによって出力されない画像のために、pic_spt_dpb_output_du_delayに由来する出力時間は、同じCVS内の全ての画像に対してPicOrderCntValの値の増加と共に増加している。CVSのいかなる2つの画像のためにも、SubPicHrdFlagが1に等しいときの2つの画像の出力時間の差は、SubPicHrdFlagが0に等しいときの差と同一である。
【0245】
さらに、
図34は、ROIパケットを用いてROI領域の信号を送るための更なる実施例を示す。
図34によれば、ROIパケットの構文は、そのスコープに属するいくつかのペイロード・パケット32に符号化された画像の全てのサブポーションがROIに属するかどうかを示す1つのフラグのみを含む。「スコープ」は、ROIパケットまたはregion_refresh_info SEIメッセージの発生まで伸びる。フラグが1である場合、領域はそれぞれの次のペイロード・パケットに符号化され、0である場合、逆のものが適用される、すなわち、画像18のそれぞれのサブポーションはROI 60に属しない。
【0246】
上述の実施例のいくつかを再度議論する前に、言い換えればタイル、スライス、WPP、サブストリーム、サブディビジョニングのような上で使用されているいくつかの言葉を説明する前に、前記実施例のHigh Levelシグナリングがあるいは、例えば[3−7]のような輸送仕様において定められることができる点に留意する必要がある。換言すれば、前述のパケットおよび形成シーケンス34は、いくらかがスライスのようなアプリケーションレイヤーのサブポーションを有する転送パケットであり、全体的にまたは断片化されてそこにパケット化されるように包含され、いくらかは方法において後者と上述のような目的との間で分散される。換言すれば、上述の分散型のパケットは、アプリケーションレイヤーのビデオ・コーデックに定義付けられるが、その代わりに転送プロトコルに定義付けられた特別な転送パケットになることができる別のタイプのSEIメッセージとして定義付けられるように制限されない。
【0247】
換言すれば、本願明細書の一態様によれば、前記実施例でビデオ内容の画像のサブポーション(符号化木ブロックまたはスライスを参照)を単位にしてその中で符号化されるビデオ内容を有するビデオ・データストリームがみられ、そして、各サブポーションがビデオ・データストリームのパケットのシーケンス(NALユニット)の1つ以上のペイロード・パケット(VCL NALユニットを参照)にそれぞれ符号化され、パケットのシーケンスはアクセスユニットのシーケンスに分割され、それにより、各アクセスユニットはビデオ内容のそれぞれの画像に関するペイロード・パケットを集めて、パケットのシーケンスがタイミング制御パケット(スライス接頭辞)をその中に分散し、それによりタイミング制御パケットがアクセスユニットを復号化ユニットに再分割し、それにより少なくともいくつかのアクセスユニットは2つ以上の復号化ユニットに再分割され、各タイミング制御パケットは復号化ユニットのためのデコーダバッファ検索時間、パケットのシーケンスのそれぞれのタイミング制御パケットが続くペイロード・パケットの信号を送る。
【0248】
上述の通り、ビデオ内容が画像のサブポーションを単位にするデータストリームに符号化される領域は、例えば符号化モード(例えばイントラ・モード、インターモード、細別情報など)のような前兆となる符号化、予測パラメータ(例えば、動きベクトル、外挿方向等)および/または残余のデータ(例えば、変換係数等)に関する構文要素をカバーすることができ、これらの構文要素は、例えば、それぞれ、符号化ツリー・ブロック、予測ブロックおよび残余の(例えば、変換等)ブロックのような画像のローカルポーションと関係している。
【0249】
上述の通り、ペイロード・パケットは、1つ以上のスライス(完全に、それぞれ)を各々含むことができる。スライスは、それぞれに復号化可能でもよいかまたはその独立復号化を妨げる相互関係を示すことができる。たとえば、エントロピー・スライスはそれぞれにエントロピー復号化可能であるが、スライス境界を越えた予測は禁止されることができる。従属するスライスは、WPP処理、すなわち重なり合う時間に従属するスライスを並列に符号化/復号化する能力をもってスライス境界を越えてエントロピーおよび予測符号化を用いるが、個々の従属するスライスおよび従属するスライスによって呼ばれるスライスの符号化/復号化の交互の開始の符号化/復号化を可能にすることができる。アクセスユニットのペイロード・パケットがそれぞれのアクセス装置の範囲内で配置される経時的な命令は、前もってデコーダに知られていることができる。
【0250】
アクセスユニットのペイロード・パケットがそれぞれのアクセスユニットの範囲内に配置されている順序は、前もってデコーダに知られている。たとえば、符号化/復号化順序は、例えば上記例の符号化ツリー・ブロックの中のスキャン順序などのようなサブポーションの中で定められることができる。
【0251】
例えば、以下の図を参照していただきたい。現在符号化/復号化画像100は、
図35および36において、見本として画像110の四半部に対応し、参照符号112a〜112dで示されるタイルに分けられることができる。すなわち、全部の画像110は、
図37の場合のような1つのタイルを形成することができるかまたは複数のタイルに分割されることができる。タイル分割は、タイルが列および行だけに配置される規則的なものに制限されることができる。異なる実施例は、以下に示される。
【0252】
見られるように、画像110は、更に符号化(ツリー)ブロック(図中の小さい箱で上記でCTBと呼ばれている)114に再分割され、その中で、符号化順序116が定められる(ここでは、ラスタ・スキャン順序であるが、異なるものであってもよい)。タイル112a〜dへのブロック114の画像の再分割は、タイルがブロック114の互いに素であるように制限されることができる。さらに、ブロック114およびタイル112a〜dは、列および行の規則的配列となるように制限されることができる。
【0253】
タイル(すなわち1以上の)がある場合、符号化(復号化)順序116のラスタを最初に完全なタイルをスキャンし、それから−ラスタ・スキャンタイル順序で−次のタイルにタイル順序で推移する。
【0254】
タイルは空間的な隣接から推測される空間予測および文脈選択によりタイル境界の非交差のため互いに独立している符号化/復号化であるので、エンコーダ10およびデコーダ12は、例えばタイル境界の交差が許されているインループまたはポストフィルタリングを除いて、タイル112(元は70で示された)に再分割された画像を互いに独立して並列に符号化/復号化することができる。
【0255】
画像110は、スライス118a〜d、180−元は参照符号24で示されていた−に更に再分割されることができる。スライスは、タイルの部分だけ、1つの完全なタイルまたは複数のタイルを完全に含むことができる。このように、スライスへの分割は、
図35のケースのようにタイルを再分割することもできる。各スライスは、完全に1つの符号化ブロック114を含み、符号化順序116で連続的な符号化ブロック114から成り、その結果、順序は図のインデックスが割り当てられたスライス118a〜dの中で定められる。
図35〜37のスライス分割は、説明の便宜上選ばれたものである。タイル境界は、データストリームにおいて信号を送った。画像110は、
図37に図示するように、単一のタイルを形成することができる。
【0256】
空間予測がタイル境界を横断して適用されないという点で、エンコーダ10およびデコーダ12はタイル境界に従うように構成されることができる。文脈適応、すなわちさまざまなエントロピー(算術的)文脈の確率適応は、全てのスライスを通じて続けることができる。しかしながら、スライス118a,bに関して
図36に示すように、スライスは−符号化順序116に沿って−タイル境界線(スライスで内側にある場合)を横切るときはいつでも、スライスは、次に、各サブセクションの始まりを示しているポインタ(c.p.entry_point_offset)を含むスライスを有するサブセクション(サブストリームまたはタイル)に再分割される。デコーダ―ループにおいて、フィルタは、タイル境界を横切ることができる。このようなフィルタは、デブロッキング・フィルタ、Sample Adaptive Offset(SAO)フィルタおよびAdaptive loopフィルタ(ALF)の1つ以上を含むことができる。起動する場合、後者はタイル/スライス境界を通じて適用されることができる。
【0257】
各任意の第2のおよび以下のサブセクションは、次のサブセクションに始めに1つのサブセクションの始まりからオフセットを示しているポインタを有するスライスの範囲内でバイト整列されて配置されるそれらの始まりを有することができる。サブセクションは、スキャン順序116のスライスの範囲内で配置される。
図38は、見本としてサブセクション119iに再分割されている
図37のスライス180cを有する実施例を示す。
【0258】
図に関して、タイルのサブパートを形成しているスライスがタイル112aの行を有する端部でなければならないということではないことに注意されたい。例えば、
図37および
図38のスライス118aを参照。
【0259】
以下の図は、上記の
図38の画像110と関連したアクセスユニットに関するデータストリームの典型的な部分を示す。ここで、各ペイロード・パケット122a〜d−以前参照符号32によって示された−は、見本として、単に1つのスライス118aだけに適応する。2つのタイミング制御パケット124a,b−以前示されたそばに参照記号36−は、説明の便宜上アクセスユニット120に分散するとして示される:124aはパケット順序126(復号化/符号化時間軸に対応する)のパケット122aに先行し、124bはパケット122cに先行する。したがって、アクセスユニット120は2つの復号化ユニット128a,b−以前参照符号38によって示された−に分けられ、それの第1の1つはパケット122a,b(任意のフィルタデータパケット(それぞれ、第1および第2のパケット122a,bに続く)およびSEIパケットに続く任意のアクセスユニット(第1のパケット122aに先行する))から成り、それの第2の1つはパケット118c,d(任意のフィルタデータパケット(それぞれ、パケット122c,dに続く))から成る。
【0260】
上述のように、パケットのシーケンスの各パケットは、複数のパケット・タイプ(nal_unit_type)から、正確に1つのパケット・タイプに割り当てられることができる。ペイロード・パケットおよびタイミング制御パケット(および、任意のフィルタデータおよびSEIパケット)は、例えば、異なるパケット・タイプのものである。パケットのシーケンスの特定のパケット・タイプのパケットのインスタンス化は、特定の限界に従属してもよい。これらの限界は、アクセス装置境界130a,bが検出可能であるように、各アクセスユニットの範囲内でパケットによって従われることになっているパケット・タイプ(
図17を参照)の中の順序を定めることができ、いかなる除去可能なパケット・タイプのパケットがビデオ・データストリームから除去される場合であっても、パケットのシーケンス内の同じ位置に残る。たとえば、ペイロード・パケットは、除去不可能なパケット・タイプのものである。しかしながら、タイミング制御パケット、フィルタデータパケットおよびSEIパケットは、上述のように、除去可能なパケット・タイプのものでもよい、すなわち、それらは、非VCL NALユニットでもよい。
【0261】
上記の実施例において、タイミング制御パケットは、slice_prefix_rbsp0の構文によって、上で明確に例証された。
【0262】
このようなタイミング制御パケットの分散を用いて、エンコーダは、ビデオ内容の個々の画像を符号化する過程でデコーダ側でバッファ・スケジューリングを調整することを可能にされる。たとえば、エンコーダは、端末間の遅延を最小化するためにバッファ・スケジューリングを最適化することを可能にされる。この点に関しては、エンコーダは、ビデオ内容の個々の画像のためのビデオ内容の画像領域全体の符号化複合性の個々の配布を考慮に入れることを可能にされる。特に、エンコーダは、パケットごとに(すなわち、現在のパケットが終了するとすぐにそれは出力される)、パケット122、122a−d、122a−d1-3のシーケンスを連続的に出力することができる。タイミング制御パケットを用いて、エンコーダは、現在の画像のサブポーションのいくつかが残りのサブポーションを有するそれぞれのペイロード・パケットにすでに符号化されたが、まだ符号化されなかった場合には、復号化側で時々バッファ・スケジューリングを調整することが可能である。
【0263】
したがって、パケットのシーケンスがアクセスユニットのシーケンスに分割され、各アクセスユニットがビデオ内容のそれぞれの画像に関連するペイロード・パケットを集めるように、ビデオ・データストリームのパケットのシーケンス(NALユニット)の1つ以上のペイロード・パケット(VCL NALユニット)にそれぞれ各サブポーションを符号化することで、ビデオ内容の画像のサブポーションのユニット(符号化ツリー・ブロック、タイルまたはスライスを参照)のビデオ・データストリームのビデオ内容に符号化するためのエンコーダは、パケットのシーケンスにタイミング制御パケット(スパイス接頭辞)を分散させるように構成され、それにより、タイミング制御パケットはアクセスユニットを復号化ユニットに再分割し、それにより、少なくともいくつかのアクセスユニットは複数の復号化ユニットに再分割され、各タイミング制御パケットは復号化ユニットのために復号化バッファ検索時間の信号を送り、そのペイロード・パケットはパケットのシーケンスにおけるそれぞれのタイミング制御パケットに続く。
【0264】
ちょうど概説されたビデオ・データストリームを受信しているいかなるデコーダも、タイミング制御パケットに含まれるスケジュール情報を利用するかどうかは自由である。しかしながら、デコーダが情報を利用することができる間、コーデック・レベルに従っているデコーダは示されたタイミングの後にデータを復号化することが可能でなければならない。利用される場合、デコーダはそのデコーダバッファを供給して、復号化ユニットを単位にするそのデコーダバッファを空にする。「デコーダバッファ」は、上述のように、復号化ピクチャ・バッファおよび/または符号化ピクチャ・バッファを含むことができる。
【0265】
したがって、各アクセスユニットがビデオ内容のそれぞれの画像に関連するペイロード・パケットを集めるように、ビデオ内容の画像のサブポーション(符号化ツリー・ブロック、タイルまたはスライスを参照)を単位にしてそこに符号化されるビデオ内容を有し、各サブポーションがそれぞれビデオ・データストリームのパケットのシーケンス(NALユニット)の1つ以上のペイロード・パケット(VCL NALユニットを参照)に符号化されるビデオ・データストリームを復号化するためのデコーダは、アクセスユニットをタイミング制御パケットで復号化ユニットに再分割したパケットのシーケンスに分散されたタイミング制御パケットを探すように構成され、それにより、少なくともいくつかのアクセスユニットは複数の復号化ユニットに分割され、各タイミング制御パケットから復号化ユニットのためにデコーダバッファ検索時間を引き出し、そのペイロード・パケットはパケットのシーケンスのそれぞれのタイミング制御パケットに続き、復号化ユニットのためのデコーダバッファ検索時間によって規定された時間で予定されたデコーダのバッファから復号化ユニットを検索する。
【0266】
タイミング制御パケットを探すことは、このことにより含まれるNALユニットヘッダおよび構文要素を検査しているデコーダを含むことができる、すなわちnal_unit_typeである。後のフラグの値がいくつかの値に等しい場合、すなわち、上述の例では、124である場合、現在検査されるパケットはタイミング制御パケットである。すなわち、タイミング制御パケットは、subpic_timingと同様に疑似コードsubpic_bufferingに関して上で説明される情報を含むかまたは伝達する。すなわち、タイミング制御パケットは、デコーダのための最初のCPB除去遅延を伝達するか特定し、またはそれぞれのデコーダユニットのCPBからの除去の後、どれくらいのクロックが経過するかについて特定することができる。
【0267】
意図せずに更にアクセスユニットを復号化ユニットに分割することなくタイミング制御パケットの反復伝送を可能にするために、タイミング制御パケットの範囲内のフラグは、現在のタイミング制御パケットがアクセスユニット内において符号化ユニットに再分割されるかどうかの信号を明確に送る(復号化ユニットの始まりを示しているdecoding_unit_start_flag=1および逆の状況の信号を送っているdecoding_unit_start_flag=0を比較)。
【0268】
タイル識別パケットがデータストリームに分散するという点で、分散型の復号化ユニット関連のタイル識別情報を使用する態様は分散型の復号化ユニット関連のタイミング制御パケットを使用する態様と異なる。上述のタイミング制御パケットは加えて、データストリームに分散することができ、または、デコーダバッファ検索時間は共通に同じパケットの範囲内で下に説明されたタイル識別情報とともに伝達される。したがって、上述のセクションにおいて前方に持ってこられる詳細が、以下の説明における問題を明らかにするために使用されることができる。
【0269】
上記の実施例から導き出せる本願明細書の更なる態様は、そこにおいて符号化されるビデオ内容を有するビデオ・データストリームを明らかにし、ビデオ内容の画像が空間的に再分割するスライスを単位にして予測およびエントロピー符号化を用い、ビデオ内容の画像が空間的に再分割されるタイルの内部に予測符号化および/またはエントロピー符号化を制限するスライスの間で符号化順序を使用して、符号化順序におけるスライスのシーケンスは符号化順序における符号化ビデオ・データストリームのスライスのシーケンスは、符号化順序のビデオ・データストリームにおけるパケットのシーケンス(NALユニット)のパケットをペイロードにパケット化し、パケットのシーケンスはアクセスユニットのシーケンスに分割され、その結果、各アクセスユニットはビデオ内容のそれぞれの画像に関するスライスがパケット化されたペイロード・パケットを集め、パケットのシーケンスは、パケットのシーケンスのそれぞれのタイル識別パケットの後に1つ以上のペイロード・パケットにパケット化されたスライス(潜在的にたった1つの)によってすぐ覆われるタイル(潜在的にたった1つの)を確認してそこへ分散するタイル識別パケットを有する。
【0270】
たとえば、すぐ前の図がデータストリームを示していることを参照されたい。パケット124aおよび124bは、現在タイル識別パケットを表す。明確なシグナリング(single_slice_flag=1を比較)によって、または、慣例につき、タイル識別パケットは、直ちに続くペイロード・パケット122aにパケット化されたスライスによって覆われるタイルを確認することができるだけである。あるいは、明確なシグナリングによって、または、慣例につき、タイル識別パケット124aは、現在のアクセスユニット120の端部130bのより初期のものまでパケットのシーケンスのそれぞれのタイル識別パケット124aの後に1つ以上のペイロード・パケットにパケット化されたスライスによって覆われるタイルおよび、それぞれ、次の復号化ユニット128bを始めることを確認することができる。例えば、
図35を参照:各スライス118a−d1-3が別にそれぞれのパケット122a−d1-3へのパケット化である場合、復号化ユニットへの再分割は、パケットが{122a1-3}および{122b1-3}に従って3つの復号化ユニットにグループ化されるようにされ、第3の復号化ユニットのパケット{122c1-3、122d1―3}にパケット化されるスライス{118c1-3、118d1-3}は例えばタイル112cおよび112dを覆い、対応するスライス接頭辞は例えば完全な復号化ユニットに言及するとき“c”および“d”、すなわちこれらのタイル112cおよび112dを示す。
【0271】
このように、更に下に記載のネットワークエンティティは、パケットのシーケンスの識別パケットの直後の1つ以上のペイロード・パケットと各タイル識別パケットを関連させるために、この明確なシグナリングまたは慣例を使用することができる。識別が信号を送られることができる方法は、疑似コードsubpic_tile_infoを経由して上で見本として記載されていた。関連するペイロード・パケットは、「接頭辞スライス」として前述していた。当然、実施例は、変更されることができる。例えば、構文要素「tile_priority」は、外されることができる。さらに、構文要素の中の順序は切替えられることができ、そして、可能なビット長に関する記述子および構文要素の原則の符号化は単に図示するだけである。
【0272】
ビデオ・データストリームを受信するネットワークエンティティ(すなわち、そこにおいて符号化されるビデオ内容を有するビデオ・データストリームを明らかにし、ビデオ内容の画像が空間的に再分割するスライスを単位にして予測およびエントロピー符号化を用い、ビデオ内容の画像が空間的に再分割されるタイルの内部に予測符号化および/またはエントロピー符号化を制限するスライスの間で符号化順序を使用して、符号化順序におけるスライスのシーケンスは、符号化順序のビデオ・データストリームにおけるパケットのシーケンス(NALユニット)のパケットをペイロードにパケット化し、パケットのシーケンスはアクセスユニットのシーケンスに分割され、その結果、各アクセスユニットはビデオ内容のそれぞれの画像に関するスライスがパケット化されたペイロード・パケットを集め、パケットのシーケンスは、その中に分散するタイル識別パケットを有する)は、タイル識別パケットに基づいて、パケットのシーケンスのそれぞれのタイル識別パケットの後に1つ以上のペイロード・パケットにスライス・パケット化によって覆われるタイルを確認するように構成することができる。ネットワークエンティティは、伝送作業を決定するために、識別結果を使用することができる。たとえば、ネットワークエンティティは、再生のための異なる優先度を有する異なるタイルを扱うことができる。たとえば、パケット損失の場合には、より高い優先度のタイルに関するそれらのペイロード・パケットは、低い優先度のタイルに関するペイロード・パケット上を再伝送されることが好ましい。すなわち、ネットワークエンティティは、より高い優先度のタイルに関する失われたペイロード・パケットの再伝送を最初に要請することができる。単に(転送率に応じて)十分な時間が残されているだけの場合には、ネットワークエンティティは、低い優先度のタイルに関する失われたペイロード・パケットの再伝送を要請することに移る。しかしながら、ネットワークエンティティは、特定のタイルに関するタイルまたはペイロード・パケットを異なるスクリーンに割り当てることが可能であるプレイバックユニットでもよい。
【0273】
分散型の関心領域情報を使用する態様に関して、以下のROIパケットが上述したタイミング制御パケットおよび/またはタイル識別パケットによって、スライス接頭辞に関して上述したように共通のパケットの範囲内でその情報内容を結合することによっても、または、別々のパケットの形で共存することができる点に留意する必要がある。
【0274】
上記の通りに分散型の関心領域情報を使用する態様で、換言すれば、ビデオ・データストリームはそこにおいて予測およびエントロピー符号化を用いて符号化されるビデオ内容を有し、スライスの間の符号化順序を用いて、ビデオ内容の画像が空間的に分割され、ビデオ内容の画像が分割されるタイルの内部への予測符号化の予測および/またはエントロピー符号化を制限し、符号化順序のスライスのシーケンスが、符号化順序のビデオ・データストリームのパケットのシーケンス(NALユニット)のペイロード・パケットにパケット化され、各アクセスユニットがビデオ内容のそれぞれの画像に関するスライスをそこへパケット化されたペイロード・パケットを集めるようにパケットのシーケンスはアクセスユニットのシーケンスに分割され、パケットのシーケンスは、それぞれ、画像のROIに属する画像のタイルを確認してそこに分散するROIパケットを有する。
【0275】
ROIパケットに関して、類似のコメントは、タイル識別パケットに関して以前に与えられているそれらとして有効である:ROIパケットは、単にそれぞれのROIパケットがそれが「接頭辞スライス」に関して上述したように1つ以上のペイロード・パケットに直ちに先行するために関連する1つ以上のペイロード・パケットに含まれるスライスによって覆われるそれらのタイルの中だけの画像のROIに属する画像のタイルを確認することができる。
【0276】
ROIパケットは、これらのROI(c.p.num_rois_minus1)の各々のための関連するタイルを確認することに関する前に置かれたスライスにつき複数のROIを確認することを可能にすることができる。それから、ROIごとに、優先度(c.p.roi_priority[i])に関してROIをランク付けすることを可能にする優先度が送信されることができる。ビデオの画像シーケンスの間、時間とともにROIの「追跡」を可能にするために、ROIパケットに示されるROIが画像の境界を越えて/全域で、すなわち時間とともに(c.p.roi_id[i])、互いに関連するように、各ROIは、ROIインデックスによってインデックスを付けられるようにすることができる。
【0277】
ビデオ・データストリームを受信するネットワークエンティティ(すなわち、ビデオ・データストリームはそこにおいて予測およびエントロピー符号化を用いて符号化されるビデオ内容を有し、スライスの間の符号化順序を用いて、ビデオ内容の画像が空間的に分割され、ビデオ内容の画像が分割されるタイルの内部への予測符号化の予測を制限し、符号化順序のスライスのシーケンスが、符号化順序のビデオ・データストリームのパケットのシーケンス(NALユニット)のペイロード・パケットにパケット化され、各アクセスユニットがビデオ内容のそれぞれの画像に関するスライスをそこへパケット化されたペイロード・パケットを集めるようにパケットのシーケンスはアクセスユニットのシーケンスに分割される)は、タイル識別パケットに基づいて、画像のROIに属するタイルを覆うスライスをパケット化しているパケットを確認するように構成される。
【0278】
ネットワークエンティティは、タイル識別パケットに関して前述したように前のセクションにおいて同様の方法のROIパケットによって伝達される情報を利用することができる。以前のセクションと同様に現在のセクションに関して、上述のようにデータストリームにおいて明確に信号を送り、または慣例によりエンコーダまたはデコーダに知られる画像におけるタイルの位置に関して、単に、画像のスライスのスライス順序を調査することにより、およびこれらのスライスが覆う現在の画像の部分の進捗を調査することにより、単に以下によって、例えばMANEまたはデコーダなどのようないかなるネットワークエンティティもどのタイルが現在検査されるペイロード・パケットのスライスによって覆われるかについて確認することが可能な点に留意する必要がある。あるいは、各スライス(スキャン順序の画像で第1のものを除いて)は、デコーダがスライス順序の方向へのこの第1の符号化ブロックから各スライス(その再建)を画像に配置することができるように、それが(同じ符号)を参照する第1の符号化ブロック(例えばCTB)の表示/インデックス(符号化ツリー・ブロックを単位にして測定されるslice_address)を備えていることができる。したがって、後のタイル識別パケットによって伝達されるインデックスが1以上の差で以前のものと異なる場合、それらの2つのタイル識別パケット間のペイロード・パケットがその間でタイル・インデックスを有するタイルをカバーすることに従って次のタイル識別パケットに遭遇すると、即座に、ネットワークエンティティに対して明らかになるので、上述したタイル情報パケットが単にそれぞれのタイル識別パケットの後に付随する1つ以上のペイロード・パケットのスライスを含む第1のタイル(first_tile_id_in_prefixed_slices)のインデックスから成るだけである場合、それは十分でありえる。スライスが符号化ブロックの中のこのラスタ・スキャン順序に沿ってスライス順序に従って各々に続くので、上記したように、細別および符号化ブロック細別が、例えば、ラスタ・スキャン順序を有する行/列−型の細別に基づいてある両方のタイルがいずれが、例えばタイルおよび符号化ブロック行型、すなわちこのラスタ・スキャン順序のタイル・インデックス増加であるかについてそれらの間で定められる場合、これは真である。
【0279】
上述の実施例から導き出される上述の信号を送るパケット化された分散型のスライス・ヘッダの態様は、記載した前記実施例から導き出せる上述した態様またはいかなるそれらの組み合わせのいずれか1つとでも結合可能である。前に明確に記載されたスライス接頭辞は、例えば、バージョン2によってすべてのこれらの態様を統一する。現在の態様の効果は、それらが前に置かれたスライス/ペイロード・パケットに対して外の自己充足的なパケットにおいて伝えられるように、より容易にスライス・ヘッダデータをネットワークエンティティに利用できるようにする可能性であり、そして、スライス・ヘッダデータの反復伝送は可能にされる。
【0280】
したがって、本願明細書の更なる態様はパケット化および分散型のスライス・ヘッダ・シグナリングの態様であって、換言すれば、ビデオ内容の画像のサブポーション(符号化ツリー・ブロックまたはスライスを参照)を単位にしてその中で符号化されるビデオ内容を有するビデオ・データストリームを公開するとみなされることができ、各サブポーションがビデオ・データストリームのパケットのシーケンス(NALユニット)の1つ以上のペイロード・パケット(VCL NALユニットを参照)に符号化され、パケットのシーケンスは各アクセスユニットがビデオ内容のそれぞれの画像に関するペイロード・パケットを集めるようにアクセスユニットのシーケンスに分割され、パケットのシーケンスは、そこへ、パケットのシーケンスのそれぞれのスライス・ヘッダ・パケットに続く1つ以上のペイロード・パケット間の、および欠けているスライス・ヘッダデータを伝達しているスライス・ヘッダ・パケット(スライス接頭辞)を分散させた。
【0281】
ビデオ・データストリーム(すなわち、ビデオ内容の画像のサブポーション(符号化ツリー・ブロックまたはスライスを参照)を単位にしてその中で符号化されるビデオ内容を有するビデオ・データストリームを公開するとみなされることができ、各サブポーションがビデオ・データストリームのパケットのシーケンス(NALユニット)の1つ以上のペイロード・パケット(VCL NALユニットを参照)に符号化され、パケットのシーケンスは各アクセスユニットがビデオ内容のそれぞれの画像に関するペイロード・パケットを集めるようにアクセスユニットのシーケンスに分割され、パケットのシーケンスは、そこへスライス・ヘッダ・パケットを分散させた)を受信するネットワークエンティティは、スライス・ヘッダ・パケットのスライス・ヘッダデータから引き出されるパケットのスライスのためのペイロードデータに沿って、およびパケットのシーケンスのそれぞれのスライス・ヘッダ・パケットに続くが、1つ以上のペイロード・パケットが続くスライス・ヘッダ・パケットから引き出されるスライス・ヘッダを適用する1つ以上のペイロード・パケットのためのスライス・ヘッダをスキッピング、読み込みを行って、スライス・ヘッダを読むように構成される。
【0282】
上述した態様に関して本当であったので、パケットここではスライス・ヘッダ・パケットは、MANEまたはデコーダのようないかなるネットワークエンティティも、復号化ユニットの始まりまたはそれぞれのパケットによって前に置かれる1つ以上のペイロード・パケットの実行の始まりに指示する機能を有することもできる。したがって、現在の態様に従うネットワークエンティティは、スライス・ヘッダを読むことがdecoding_unit_start_flagと結合してこのパケット、すなわち、single_slice_flagの上述した構文要素に基づいて、例えば、スキップされなければならないペイロード・パケットを確認することができ、その中で、後のフラグは、上述のように、復号化ユニットの範囲内で特定のスライス・ヘッダ・パケットのコピーの再伝送を可能にする。たとえば、1つの復号化ユニットの範囲内のスライスのスライス・ヘッダがスライスのシーケンスに沿って変化することができるので、これは役立ち、したがって、復号化ユニットの初めのスライス・ヘッダ・パケットが(1に等しく)設定されるdecoding_unit_start_flagを有することができると共に、その間に配置されるスライス・ヘッダ・パケットは設定されないこのフラグを有することができ、いかなるネットワークエンティティも新しい復号化ユニットを始めることとして不正にこのスライス・ヘッダ・パケットの発生を読み取ることを防止する。
【0283】
いくつかの態様が装置の前後関係に記載されていたにもかかわらず、これらの態様も対応する方法の説明を表すことは明らかであり、ブロックまたは装置は、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの前後関係に記載されている態様は、対応する装置の対応するブロックまたは部材または特徴の説明を表す。いくつかのまたは全ての方法のステップは、ハードウェア装置、例えばマイクロプロセッサ、プログラム可能なコンピュータまたは電子回路(を用いること)によって実行されることができる。いくつかの実施形態では、最も重要な方法ステップの一つ以上は、この種の装置によって実行されることができる。
【0284】
発明のビデオ・データストリームは、デジタル記憶媒体に保存されることができ、またはワイヤレス伝送媒体またはインターネットなどの有線の伝送媒体のような伝送媒体上に送信されることができる。
【0285】
特定の実施要件に応じて、本発明の実施例は、ハードウェアにおいて、または、ソフトウェアで実施されることができる。実施はその上に格納される電子的に読み込み可能な制御信号を有するデジタル記憶媒体、例えばフレキシブルディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行されることができ、それぞれの方法が実行されるように、それはプログラム可能なコンピュータシステムと協働する(または協働することができる)。したがって、デジタル記憶媒体は、計算機可読でもよい。
【0286】
本発明によるいくつかの実施例は、本願明細書において記載されている方法のうちの1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる、電子的に読み込み可能な制御を有するデータキャリアは信号を有するデータキャリアを含む。
【0287】
通常、本発明の実施例は、コンピュータ・プログラム製品がコンピュータで動くときに、プログラムコードが方法のうちの1つを実行するための実施プログラムコードを有するコンピュータ・プログラム製品として実施されることができる。プログラムコードは、例えば、機械読み取り可読キャリアに格納されることができる。
【0288】
他の実施例は、本願明細書において記載されていて、機械読み取り可読キャリアに格納される方法のうちの1つを実行するためのコンピュータプログラムを含む。
【0289】
換言すれば、発明の方法の実施例は、従って、コンピュータプログラムがコンピュータで動くとき、本願明細書において記載されている方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0290】
発明の方法の更なる実施例は、従って、その上に記録されて、本願明細書において記載されている方法のうちの1つを実行するためのコンピュータプログラムから成っているデータキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体または記録媒体は、典型的には有形でおよび/または非移行である。
【0291】
発明の方法の更なる実施例は、従って、本願明細書において記載されている方法のうちの1つを実行するためのコンピュータプログラムを表しているデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、データ通信接続、例えばインターネットを介して転送されるように構成されることができる。
【0292】
更なる実施例は、本願明細書の方法の1つを実行するために適用されるように構成される処理手段、例えばコンピュータまたはプログラム可能な論理装置を含む。
【0293】
更なる実施例は、本願明細書において記載されている方法のうちの1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【0294】
本発明による更なる実施例は、レシーバに本願明細書において記載されている方法のうちの1つを実行するためのコンピュータプログラムを伝達する(例えば、電子的に、または、光学的に)ように構成される装置またはシステムを含む。レシーバは、例えば、コンピュータ、モバイル機器、メモリデバイス等でもよい。装置またはシステムは、例えば、コンピュータプログラムを受取人に譲渡するためのファイル・サーバを含む。
【0295】
いくつかの実施形態では、プログラム可能な論理装置(例えばフィールド・プログラム可能なゲート・アレイ)は、本願明細書において記載されている方法の機能のいくらかまたは全てを実行するために用いることができる。いくつかの実施形態では、フィールド・プログラム可能なゲート・アレイは、本願明細書において記載されている方法のうちの1つを実行するために、マイクロプロセッサと協働することができる。通常、方法は、いかなるハードウェア装置によっても好ましくは実行される。
【0296】
上記した実施例は、本発明の原理のために、単に図示するだけである。
配置の修正変更および本願明細書において記載されている詳細が他の当業者にとって明らかであるものと理解される。
したがって、間近に迫った特許クレームの範囲だけによって制限されることが意図するところであり、本願明細書において実施例の説明および説明として示される具体的な詳細だけによって制限されることは意図していないところである。
【0297】
参照
[1] Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, Ajay Luthra, "Overview of the H.264/AVC Video Coding Standard", IEEE Trans. Circuits Syst. Video Technol., vol. 13, N7, July 2003.
[2] JCT-VC, "High-Efficiency Video Coding (HEVC) text specification Working Draft 7", JCTVC-I1003, May 2012.
[3] ISO/IEC 13818-1: MPEG-2 Systems specification.
[4] IETF RFC 3550 − Real-time Transport Protocol.
[5] Y.-K. Wang et al. ,"RTP Payload Format for H.264 Video", IETF RFC6184, http://tools.ietf.org/html/
[6] S. Wenger et al., "RTP Payload Format for Scalable Video Coding", IETF RFC6190, http://tools.ietf.org/html/rfc6190
[6] T. Schierl et al., "RTP Payload Format for High Efficiency Video Coding", IETF internet draft, http://datatracker.ietf.org/doc/draft-schierl-payload-rtp-h265/