【文献】
Recommendation ITU-T H.222.0(2012) - Amendment 3,ITU-T,2014年 1月,URL,https://www.itu.int/rec/T-REC-H.222.0-201401-S!Amd3/en
(58)【調査した分野】(Int.Cl.,DB名)
動画像データを構成する各ピクチャの画像データが階層符号化されて得られた各階層のピクチャの符号化画像データと共に、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と最大階層を示す情報を受信する受信部を備え、
上記符号化画像データには階層識別情報が付加されており、
上記複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値は、それぞれの階層範囲における上記最大階層以下の全ての階層のピクチャの符号化画像データを持つビットストリームのレベル指定値であり、
上記情報に基づいて、上記符号化画像データから所定階層以下の階層のピクチャの符号化画像データを取り出して復号化する処理部をさらに備える
受信装置。
動画像データを構成する各ピクチャの画像データが階層符号化されて得られた各階層のピクチャの符号化画像データと共に、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と最大階層を示す情報を受信する手順を有し、
上記符号化画像データには階層識別情報が付加されており、
上記複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値は、それぞれの階層範囲における上記最大階層以下の全ての階層のピクチャの符号化画像データを持つビットストリームのレベル指定値であり、
上記情報に基づいて、上記符号化画像データから所定階層以下の階層のピクチャの符号化画像データを取り出して復号化する手順をさらに有する
受信方法。
【発明を実施するための形態】
【0018】
以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
【0019】
<1.実施の形態>
[送受信システム]
図1は、実施の形態としての送受信システム10の構成例を示している。この送受信システム10は、送信装置100と、受信装置200とを有する構成となっている。
【0020】
送信装置100は、コンテナとしてのトランスポートストリームTSを放送波に載せて送信する。このトランスポートストリームTSには、動画像データを構成する各ピクチャの画像データが複数の階層に分類され、各階層のピクチャの画像データの符号化データを持つビデオデータが含まれる。この場合、例えば、H.264/AVC、H.265/HEVCなどの符号化が施され、被参照ピクチャが自己階層および/または自己階層よりも低い階層に所属するように符号化される。
【0021】
各階層のピクチャの符号化画像データに、ピクチャ毎に、所属階層を識別するための階層識別情報が付加される。この実施の形態においては、各ピクチャのNALユニット(nal_unit)のヘッダ部分に、階層識別情報(temporal_idを意味する“nuh_temporal_id_plus1”)が配置される。このように階層識別情報が付加されることで、受信側では、所定階層以下の階層の符号化画像データを選択的に取り出してデコード処理を行うことが可能となる。
【0022】
図2(a)は、NALユニットヘッダの構造例(Syntax)を示し、
図2(b)は、その構造例における主要なパラメータの内容(Semantics)を示している。「Forbidden_zero_bit」の1ビットフィールドは、0が必須である。「Nal_unit_type」の6ビットフィールドは、NALユニットタイプを示す。「Nuh_layer_id」の6ビットフィールドは、0を前提とする。「Nuh_temporal_id_plus1」の3ビットフィールドは、temporal_idを示し、1を加えた値(1〜7)をとる。
【0023】
トランスポートストリームTSには、単一のビデオストリームが含まれる。また、このトランスポートストリームTSには、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報が挿入される。この情報は、例えば、プログラムマップテーブル(PMT:Program Map Table)の配下に挿入される。
【0024】
図3は、階層符号化の一例を示し、矩形枠のそれぞれがピクチャを示している。
図3(a)は、最上位階層が3とされた例である。例えば、最大階層を階層3とする階層範囲のビットストリームのレベル指定値は2160/100Pのサービスに対応する“level5.2”とされ、階層範囲の情報は0〜3を示すものとされる。また、例えば、最大階層を階層2とする階層範囲のビットストリームのレベル指定値は2160/50Pのサービスに対応する“level5.1”とされ、階層範囲の情報は0〜2を示すものとされる。
【0025】
図3(b)は、最上位階層が3とされた例である。例えば、最大階層を階層3とする階層範囲のビットストリームのレベル指定値は2160/100Pのサービスに対応する“level5.2”とされ、階層範囲の情報は0〜3を示すものとされる。また、例えば、最大階層を階層2とする階層範囲のビットストリームのレベル指定値は2160/50Pのサービスに対応する“level5.1”とされ、階層範囲の情報は0〜2を示すものとされる。
【0026】
図3(c)は、最上位階層が4とされた例である。例えば、最大階層を階層4とする階層範囲のビットストリームのレベル指定値は2160/100Pのサービスに対応する“level5.2”とされ、階層範囲の情報は0〜4を示すものとされる。また、例えば、最大階層を階層3とする階層範囲のビットストリームのレベル指定値は2160/50Pのサービスに対応する“level5.1”とされ、階層範囲の情報は0〜3を示すものとされる。また、例えば、最大階層を階層2とする階層範囲のビットストリームのレベル指定値は2160/25Pのサービスに対応する“level5”とされ、階層範囲の情報は0〜2を示すものとされる。
【0027】
ここで、「level_idc」の値について説明する。
図4は、「level_idc」と、その値の一例を示している。例えば、1080/50Pのサービスに対応する「level_idc」は“level4.1”であり、その値は10進数で“123”、16進数で“0x7b”である。この“level4.1”を表すために、後述するHEVCデスクリプタに「ls4b_sublayer_level_idc」として記載されるのは下位4ビットの“b”である。また、例えば、1080/100Pのサービスに対応する「level_idc」は“level4.2”であり、その値は10進数で“126”、16進数で“0x7e”である。
【0028】
また、例えば、2160/50Pのサービスに対応する「level_idc」は“level5.1”であり、その値は10進数で“153”、16進数で“0x99”である。この“level5.1”を表すために、後述するHEVCデスクリプタに「ls4b_sublayer_level_idc」として記載されるのは下位4ビットの“9”である。また、例えば、2160/100Pのサービスに対応する「level_idc」は“level5.2”であり、その値は10進数で“156”、16進数で“0x9c”である。
【0029】
また、例えば、4320/50Pのサービスに対応する「level_idc」は“level6.1”であり、その値は10進数で“183”、16進数で“0xb7”である。この“level6.1”を表すために、後述するHEVCデスクリプタに「ls4b_sublayer_level_idc」として記載されるのは下位4ビットの“7”である。また、例えば、4320/100Pのサービスに対応する「level_idc」は“level6.2”であり、その値は10進数で“186”、16進数で“0xba”である。
【0030】
受信装置200は、送信装置100から放送波あるいはネットのパケットに載せて送られてくる上述のトランスポートストリームTSを受信する。受信装置200は、このトランスポートストリームTSに含まれるビデオデータから、自身のデコード能力に合わせて、所定階層以下の階層のピクチャの符号化画像データを取り出して復号化する。この際、受信装置200は、上述したようにトランスポートストリームTSに挿入されている、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報に基づいて行う。
【0031】
「送信装置の構成」
図5は、送信装置100の構成例を示している。この送信装置100は、CPU(Central Processing Unit)101と、エンコーダ102と、圧縮データバッファ(cpb:coded picture buffer)103と、マルチプレクサ104と、送信部105を有している。CPU101は、制御部であり、送信装置100の各部の動作を制御する。
【0032】
エンコーダ102は、非圧縮の動画像データVDを入力して、階層符号化を行う。エンコーダ102は、この動画像データVDを構成する各ピクチャの画像データを複数の階層に分類する。そして、エンコーダ102は、この分類された各階層のピクチャの画像データを符号化し、各階層のピクチャの符号化画像データを持つビデオストリーム(ビデオデータ)を生成する。
【0033】
エンコーダ102は、例えば、H.264/AVC、H.265/HEVCなどの符号化を行う。この際、エンコーダ102は、参照するピクチャ(被参照ピクチャ)が、自己階層および/または自己階層よりも下位の階層に所属するように、符号化する。圧縮データバッファ(cpb)103は、エンコーダ102で生成された、各階層のピクチャの符号化画像データを含むビデオストリームを、一時的に蓄積する。
【0034】
マルチプレクサ104は、圧縮データバッファ103に蓄積されているビデオストリームを読み出し、PESパケット化し、さらにトランスポートパケット化して多重し、多重化ストリームとしてのトランスポートストリームTSを得る。このトランスポートストリームTSには、上述したように、単一のビデオストリームが含まれる。マルチプレクサ104は、コンテナのレイヤに、最大階層を異にする複数の階層範囲(レベルレイヤ)におけるビットストリームのレベル指定値と階層範囲の情報を挿入する。送信部105は、マルチプレクサ104で得られたトランスポートストリームTSを、放送波あるいはネットのパケットに載せて、受信装置200に送信する。
【0035】
[情報の挿入について]
マルチプレクサ104における情報の挿入についてさらに説明する。この情報の挿入には、既存のHEVCデスクリプタ(HEVC_descriptor)あるいは新規定義するレイヤ・シグナリング・デスクリプタ(Layer_signaling descriptor)が用いられる。
【0036】
図6は、従来のHEVCデスクリプタに要素を追加した場合の構造例(Syntax)を示している。「descriptor_tag」の8ビットフィールドは、デスクリプタタイプを示し、ここでは、HEVCデスクリプタであることを示す。「descriptor_length」の8ビットフィールドは、デスクリプタの長さ(サイズ)を示し、デスクリプタの長さとして、以降のバイト数を示す。
【0037】
「profile_idc」の8ビットフィールドは、ビットストリームのプロファイルを示す。「level_idc」の8ビットフィールドは、最上位階層におけるビットストリームのレベル指定値を示す。「ls4b_sublayer_level_idc」の4ビットフィールドは、最上位階層より低い階層(例えば、最上位階層の1つ下の階層)におけるビットストリームのレベル指定値を示す。この場合、16進数の表現で下位4ビットが配置される。
【0038】
また、「temporal_layer_subset_flag = 1」であるとき、「temporal_id_min」、「temporal_id_max」、「temporal_id_sublayer_min」、「temporal_id_sublayer_max」のそれぞれ3ビットフィールドが存在する。「temporal_id_max」は、最大階層を最上位階層とする階層範囲の最も高い階層、つまり最上位階層のtemporal_idの値を示し、「temporal_id_min」はその階層範囲の最も低い階層のtemporal_idの値を示す。また、「temporal_id_sublayer_max」は、最大階層を、最上位階層より低い階層(通常は、最上位階層の1つ下の階層)とする階層範囲の最も高い階層のtemporal_idの値を示し、「temporal_id_sublayer_min」その階層範囲の最も低い階層のtemporal_idの値を示す。
【0039】
例えば、
図3(a)に示す階層符号化例における各フィールドの記述の具体例を説明する。「level_idc」の8ビットフィールドには、“level5.2”の値である“0x9c”が記述される。「ls4b_sublayer_level_idc」の4ビットフィールドには、“level5.1”の値である“0x99”のうち“9”が記述される。
【0040】
「temporal_id_max」の3ビットフィールドにはtemporal_id =3を示す“011”が記述され、「temporal_id_min」の3ビットフィールドにはt temporal_id =0を示す“000”が記述される。また、「temporal_id_sublayer_max」の3ビットフィールドにはtemporal_id =2を示す“010”が記述され、「temporal_id_min」の3ビットフィールドにはtemporal_id =0を示す“000”が記述される。
【0041】
図7は、レイヤ・シグナリング・デスクリプタ(Layer_signaling descriptor)の構造例(Syntax)を示している。また、
図8は、その構造例における主要な情報の内容(Semantics)を示している。上述したHEVCデスクリプタ(
図6参照)では、2つの階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報が送信されるが、このレイヤ・シグナリング・デスクリプタでは、3つ以上の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を送信することも可能である。
【0042】
「descriptor_tag」の8ビットフィールドは、デスクリプタタイプを示し、ここでは、レイヤ・シグナリング・デスクリプタであることを示す。「descriptor_length」の8ビットフィールドは、デスクリプタの長さ(サイズ)を示し、デスクリプタの長さとして、以降のバイト数を示す。
【0043】
「overall_profile_idc」の8ビットフィールドは、スケーラブルな符号化ツール関係の最大範囲のプロファイル(profile)を示す。「highest_level_idc」の8ビットフィールドは、スケーラブルな範囲の最大レベルを示す。「number_of_profile_layers」の8ビットフィールドは、スケーラブルな機能を持つプロファイルレイヤ(profile layer)の数を示す。「number_of_level_layers」は、レベルレイヤ(level layer)の数を示す。
【0044】
「layer_profile_idc[i]」の8ビットフィールドは、各プロファイルレイヤ(profile layer)のプロファイルを示す。「layer_level_idc[i][j]」の8ビットフィールドは、各レベルレイヤ(level layer)のレベルを示す。「temporal_id_layer_min[i][j]」の8ビットフィールドは、各レベルレイヤの最小のtemporal_idの値を示す。「temporal_id_layer_max[i][j]」の8ビットフィールドは、各レベルレイヤの最大のtemporal_idの値を示す。
【0045】
例えば、
図3(c)に示す階層符号化例における、レベルに係る各フィールドの記述の具体例を説明する。「highest_level_idc」の8ビットフィールドには、“level5.2”の値である“0x9c”が記述される。「number_of_level_layers」の8ビットフィールドには、階層4,3,2をそれぞれ最大階層とする3つの階層範囲を設定する場合には、レベルレイヤの数が3つであるとして、「3」が記述される。
【0046】
そして、1番目のレベルレイヤに関し、「layer_level_idc[i][j]」の8ビットフィールドには、“level5.2”の値である“0x9c”が記述され、「temporal_id_layer_max[i][j]」の8ビットフィールドには、temporal_id =4を示す“100”が記述され、「temporal_id_layer_min[i][j]」の8ビットフィールドには、temporal_id =0を示す“000”が記述される。
【0047】
また、2番目のレベルレイヤに関し、「layer_level_idc[i][j]」の8ビットフィールドには、“level5.1”の値である“0x99”が記述され、「temporal_id_layer_max[i][j]」の8ビットフィールドには、temporal_id =3を示す“011”が記述され、「temporal_id_layer_min[i][j]」の8ビットフィールドには、temporal_id =0を示す“000”が記述される。
【0048】
また、3番目のレベルレイヤに関し、「layer_level_idc[i][j]」の8ビットフィールドには、“level5”の値である“0x96”が記述され、「temporal_id_layer_max[i][j]」の8ビットフィールドには、temporal_id =2を示す“010”が記述され、「temporal_id_layer_min[i][j]」の8ビットフィールドには、temporal_id =0を示す“000”が記述される。
【0049】
ここで、
図9を参照して、プロファイルレイヤの構成例を説明する。
図9(a)は、「Profile_layering_id = 0」のメインプロファイル(Main Profile)のベースストリームに、「Profile_layering_id = 1」のスケーラブルメインプロファイル(Scalable Main Profile)の拡張ストリームとして、差分データを符号化することで、2つのストリームによって、ベースストリームだけの場合と比較して、 画質が向上した8ビット画像を符号化する例である。
【0050】
図9(b)は、「Profile_layering_id = 0」のメイン10プロファイル(Main Profile)のベースストリームに、「Profile_layering_id = 1」のスケーラブルメイン10プロファイル(Scalable Main10 Profile )の拡張ストリームとして、差分データを符号化することで、2つのストリームによって、ベースストリームだけの場合と比較して、 画質が向上した10ビット画像を符号化する例である。
【0051】
図9(c)は、「Profile_layering_id = 0」のメインプロファイル(Main Profile)のベースストリームに、「Profile_layering_id = 1」のスケーラブルメインプロファイル(Scalable Main Profile)の拡張ストリーム1として、差分データを符号化することで、2つのストリームによって、ベースストリームだけの場合と比較して、 画質が向上した8ビット画像を符号化する例である。さらに、「Profile_layering_id = 2」のスケーラブルメインプロファイル(Scalable Main Profile)の拡張ストリーム2として、10ビット、8ビットの間の差分データを符号化することで、10ビットの精度を持つ画像を符号化する。
【0052】
なお、スケーラブル拡張のストリームによる表示の付加価値は、上述のような画質向上のみでなく、空間解像度の増加、色域の拡大、輝度レベルの拡大に関してのスケーラブル拡張にも適用できる。これらの各ストリームに関し、受信機のデコーダ入力バッファからのパケットを解析することで、適宜読み分けを行って、所望のデコードが可能になる。
【0053】
[トランスポートストリームTSの構成]
図10は、トランスポートストリームTSの構成例を示している。このトランスポートストリームTSには、1つのビデオストリームが含まれている。すなわち、この構成例では、複数の階層のピクチャの例えばHEVCによる符号化画像データを持つビデオストリームのPESパケット「video PES1」が存在する。
【0054】
各ピクチャの符号化画像データには、VPS、SPS、PPS、SLICE、SEIなどのNALユニットが存在する。上述したように、NALユニットのヘッダには、そのピクチャの階層識別情報(temporal_idを意味する“nuh_temporal_id_plus1”)が配置されている。SPSには、ビットストリームのレベル指定値である「general_level_idc」が挿入されている
【0055】
また、トランスポートストリームTSには、PSI(Program Specific Information)として、PMT(Program Map Table)が含まれている。このPSIは、トランスポートストリームに含まれる各エレメンタリストリームがどのプログラムに属しているかを記した情報である。
【0056】
PMTには、プログラム全体に関連する情報を記述するプログラム・ループ(Program loop)が存在する。また、PMTには、各エレメンタリストリームに関連した情報を持つエレメンタリ・ループが存在する。この構成例では、ビデオエレメンタリ・ループ(video ES1 loop)が存在する。
【0057】
ビデオエレメンタリ・ループには、ビデオストリーム(video PES1)に対応して、ストリームタイプ、パケット識別子(PID)等の情報が配置されると共に、そのビデオストリームに関連する情報を記述するデスクリプタも配置される。このデスクリプタの一つとして、上述したHEVCデスクリプタ(HEVC_descriptor)、レイヤ・シグナリング・デスクリプタ(Layer_signaling descriptor)が挿入される。なお、レイヤ・シグナリング・デスクリプタは、
図6に示すような、要素を追加したHEVCデスクリプタが用いられる場合には、挿入されない。
【0058】
図5に示す送信装置100の動作を簡単に説明する。エンコーダ102には、非圧縮の動画像データVDが入力される。エンコーダ102では、この動画像データVDに対して、階層符号化が行われる。すなわち、エンコーダ102では、この動画像データVDを構成する各ピクチャの画像データが複数の階層に分類されて符号化され、各階層のピクチャの符号化画像データを持つビデオストリーム(ビデオデータ)が生成される。この場合、参照するピクチャが、自己階層および/または自己階層よりも下位の階層に所属するように、符号化される。
【0059】
エンコーダ102で生成された、各階層のピクチャの符号化データを含むビデオストリームは、圧縮データバッファ(cpb)103に供給され、一時的に蓄積される。マルチプレクサ104では、圧縮データバッファ103に蓄積されているビデオストリームが読み出され、PESパケット化され、さらにトランスポートパケット化されて多重され、多重化ストリームとしてのトランスポートストリームTSが得られる。このトランスポートストリームTSには、単一のビデオストリームが含まれる。
【0060】
このようにマルチプレクサ104でトランスポートストリームTSが生成されるとき、コンテナのレイヤに、最大階層を異にする複数の階層範囲におけるビットストリームのレベル指定値と階層範囲の情報が挿入される。例えば、プログラムマップテーブル(PMT)の配下に、要素を追加したHEVCデスクリプタ(
図6参照)あるいはレイヤ・シグナリング・デスクリプタ(
図7参照)が挿入される。マルチプレクサ104で生成されたトランスポートストリームTSは、送信部105に送られる。送信部105では、このトランスポートストリームTSが、放送波あるいはネットのパケットに載せて、受信装置200に送信される。
【0061】
「受信装置の構成」
図11は、受信装置200の構成例を示している。この受信装置200は、CPU(Central Processing Unit)201と、受信部202と、デマルチプレクサ203と、圧縮データバッファ(cpb:coded picture buffer)204を有している。また、この受信装置200は、デコーダ205と、非圧縮データバッファ(dpb:decoded picture buffer)206と、ポスト処理部207と、表示部208を有している。CPU201は、制御部を構成し、受信装置200の各部の動作を制御する。
【0062】
受信部202は、送信装置100から放送波あるいはネットのパケットに載せて送られてくるトランスポートストリームTSを受信する。デマルチプレクサ203は、トランスポートストリームTSから、それに含まれるビデオストリームを構成するTSパケットをPIDフィルタでフィルタリングして取り出し、圧縮データバッファ(cpb:coded picture buffer)204に送る。
【0063】
また、デマルチプレクサ203は、トランスポートストリームTSから、セクションデータデータを取り出し、CPU201に送る。このセクションデータには、上述したHEVCデスクリプタ(HEVC_descriptor)、レイヤ・シグナリング・デスクリプタ(Layer_signaling descriptor)も含まれる。CPU201は、これらのデスクリプタにビットストリームのレベル指定値と階層範囲の情報を伴って示された複数の階層範囲から、デコーダ205がデコード可能な階層範囲を決定し、その階層範囲のテンポラルID(temporal_id)の情報をデコーダ205に送る。
【0064】
また、デマルチプレクサ203は、PCR(Program Clock Reference)が含まれるTSパケットからPCRを抽出し、CPU201に送る。また、デマルチプレクサ203は、ピクチャ毎にPESヘッダに挿入されているタイムスタンプ(DTS、PTS)を抽出し、CPU201に送る。
【0065】
圧縮データバッファ(cpb)204は、デマルチプレクサ203から転送されるTSパケット、従って各ピクチャの符号化画像データを、一時的に蓄積する。デコーダ205は、圧縮データバッファ204に蓄積されている各ピクチャの符号化画像データを、それぞれ、そのピクチャのDTS(Decoding Time stamp)で与えられるデコードタイミングで読み出してデコードし、非圧縮データバッファ(dpb)206に送る。この際、デコーダ205は、CPU201から与えられるデコード可能な階層範囲のテンポラルID(temporal_id)の情報に基づいて、デコード可能な階層範囲に含まれるピクチャの符号化画像データのみを選択的にデコードする。
【0066】
図12は、デマルチプレクサ203およびデコーダ205の構成例を概略的に示している。デマルチプレクサ203は、ビデオ多重化バッファ203aと、セクションデータバッファ203bを有している。トランスポートストリームTSからPIDフィルタで取り出された、放送サービスチャネルに相当するプログラムナンバー(program number)に対応したTSパケットは、ビデオ多重化バッファ203aに一時的に蓄積された後に、圧縮データバッファ204に転送される。また、トランスポートストリームTSからPIDフィルタで取り出されたセクションデータは、セクションデータバッファ203b一時的に蓄積された後に、CPU201に送られる。
【0067】
また、デコーダ205は、テンポラルID解析部205aと、デコード処理部205bを有している。テンポラルID解析部205aは、圧縮データバッファ204に蓄積されている各ピクチャの符号化データをデコードタイミングで順次読み出し、NALユニットヘッダに挿入されているテンポラルID(temporal_id)の情報を解析する。そして、テンポラルID解析部205aは、デコード可能な階層範囲にあればデコード処理部205bに転送し、デコード可能な階層範囲になければデコード処理部205bに転送せずに捨てる。なお、テンポラルID解析部205aには、CPU201から、デコード可能な階層範囲のテンポラルID(temporal_id)の情報が与えられる。
【0068】
例えば、
図3(a)の階層符号化例の場合を考えてみる。例えば、デコーダ205が100pデコーダである場合、CPU201からテンポラルID解析部205aには、デコード可能な階層範囲のテンポラルID情報として「0〜3」が与えられる。そのため、テンポラルID解析部205aは、階層0〜3のピクチャの符号化画像データをデコード処理部205bに送る。
【0069】
一方、デコーダ205が50pデコーダである場合、CPU201からテンポラルID解析部205aには、デコード可能な階層範囲のテンポラルID情報として「0〜2」が与えられる。そのため、テンポラルID解析部205aは、階層0〜2のピクチャの符号化画像データをデコード処理部205bに送る。一方、テンポラルID解析部205aは、階層3のピクチャの符号化画像データをデコード処理部205bに送ることなく捨てる。
図13は、このようなテンポラルID解析部205aの振舞を、概略的に示している。なお、「tid = high」は、階層3を示し、「tid = low」は、階層0〜2を示している。
【0070】
図11に戻って、非圧縮データバッファ(dpb)206は、デコーダ205でデコードされた各ピクチャの画像データを、一時的に蓄積する。ポスト処理部207は、非圧縮データバッファ(dpb)206からPTS(Presentation Time stamp)で与えられる表示タイミングで順次読み出された各ピクチャの画像データに対して、そのフレームレートを、表示能力に合わせる処理を行う。
【0071】
例えば、デコード後の各ピクチャの画像データのフレームレートが50fpsであって、表示能力が100fpsであるとき、ポスト処理部207は、デコード後の各ピクチャの画像データに対して時間方向解像度が2倍となるように補間処理を施し、100fpsの画像データとして表示部208に送る。
【0072】
表示部208は、例えば、LCD(Liquid Crystal Display)、有機EL(Organic Electro-Luminescence)パネル等で構成されている。なお、この表示部208は、受信装置200に接続される外部機器であってもよい。
【0073】
図14は、デコーダ205、ポスト処理部207の処理フローの一例を示している。ステップST1において、処理を開始し、その後に、ステップST2の処理に移る。このステップST2において、デコーダ205は、圧縮データバッファ(cpb)204からデコードタイミングでデコード対象のビデオストリーム(デコード対象のピクチャの符号化画像データ)を読み出し、テンポラルID(temporal_id)を検知する。
【0074】
次に、デコーダ205は、ステップST3において、ステップST2で検知されたテンポラルID(temporal_id)がデコード可能範囲に含まれるか判断する。含まれないとき、デコーダ205は、デコード処理を行うことなく、ステップST2の処理に戻る。一方、含まれるとき、デコーダ205は、ステップST4の処理に移る。このステップST4において、デコーダ205は、デコード処理を行って、デコード後のピクチャの画像データを非圧縮データバッファ(dpb)206に転送する。
【0075】
次に、ポスト処理部207は、ステップST5において、非圧縮データバッファ(dpb)206から表示タイミングで表示対象のピクチャの画像データの画像データを読み出す。次に、ポスト処理部207は、ステップST6において、ディスプレイ表示周波数と非圧縮データバッファ(dpb)206からの読み出し周波数が異なるか判断する。異なっているとき、ポスト処理部207は、ステップST7において、ピクチャのフレーム補間あるいは間引きを行うことで、ディスプレイ表示周波数に合わせる。ステップST7の処理の後、ステップST8において、処理を終了する。また、ステップST6で異なっていないとき、直ちに、ステップST8において、処理を終了する。
【0076】
図11に示す受信装置200の動作を簡単に説明する。受信部202では、送信装置100から放送波あるいはネットのパケットに載せて送られてくるトランスポートストリームTSが受信される。このトランスポートストリームTSは、デマルチプレクサ203に送られる。デマルチプレクサ203では、トランスポートストリームTSから、PMTに含まれるPID情報に基づいて、サービスに対応したTSパケットが取り出される。このTSパケットは、圧縮データバッファ(cpb)204に送られ、一時的に蓄積される。
【0077】
また、デマルチプレクサ203では、トランスポートストリームTSから、セクションデータが取り出され、CPU201に送られる。CPU201では、HEVCデスクリプタやレイヤ・シグナリング・デスクリプタに、ビットストリームのレベル指定値と階層範囲の情報を伴って示された複数の階層範囲から、デコーダ205がデコード可能な階層範囲が決定され、その階層範囲のテンポラルID(temporal_id)の情報がデコーダ205に送られる。
【0078】
デコーダ205では、圧縮データバッファ204に蓄積されている各ピクチャの符号化画像データが、それぞれ、そのピクチャのデコードタイミングでデコードされ、非圧縮データバッファ(dpb)206に送られ、一時的に蓄積される。この場合、デコーダ205では、CPU201から与えられるデコード可能な階層範囲のテンポラルID(temporal_id)の情報に基づいて、デコード可能な階層範囲に含まれるピクチャの符号化画像データのみが選択的にデコードされる。
【0079】
非圧縮データバッファ(dpb)206に蓄積された各ピクチャの画像データは、表示タイミングで順次読み出されて、ポスト処理部207に送られる。ポスト処理部207では、各ピクチャの画像データに対して、そのフレームレートを、表示能力に合わせるための補間またはサブサンプル、あるいは間引きが行われる。このポスト処理部207で処理された各ピクチャの画像データは、表示部208に供給され、各ピクチャの画像データによる動画像の表示が行われる。
【0080】
以上説明したように、
図1に示す送受信システム10において、送信装置100では、トランスポートストリームTSのコンテナのレイヤに、要素を追加したHEVCデスクリプタ(
図6参照)、あるいはレイヤ・シグナリング・デスクリプタ(
図7参照)が挿入される。これらのデスクリプタは、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を持つものである。そのため、例えば、受信側では、この情報に基づいて、デコード性能に応じた階層範囲のピクチャの符号化画像データをデコードすることが容易に可能となる。
【0081】
<2.変形例>
[MPEG−DASHベースのストリーム配信システムへの適用]
なお、上述実施の形態においては、コンテナがトランスポートストリーム(MPEG−2 TS)である例を示した。しかし、本技術は、インターネット等のネットワークを利用して受信端末に配信される構成のシステムにも同様に適用できる。インターネットの配信では、MP4やそれ以外のフォーマットのコンテナで配信されることが多い。
【0082】
図15(a)は、MPEG−DASHベースのストリーム配信システム30の構成例を示している。このストリーム配信システム30は、DASHストリームファイルサーバ31およびDASH MPDサーバ32に、N個の受信機33-1,33-2,・・・,33-Nが、CDN(Content Delivery Network)34を介して、接続された構成となっている。
【0083】
DASHストリームファイルサーバ31は、所定のコンテンツのメディアデータ(ビデオデータ、オーディオデータ、字幕データなど)に基づいて、DASH仕様のストリームセグメント(以下、適宜、「DASHセグメント」という)を生成し、受信機からのHTTP要求に応じてセグメントを送出する。このDASHストリームファイルサーバ31は、ストリーミング専用のサーバであってもよいし、また、ウェブ(Web)サーバで兼用されることもある。
【0084】
また、DASHストリームファイルサーバ31は、受信機33(33-1,33-2,・・・,33-N)からCDN34を介して送られてくる所定ストリームのセグメントの要求に対応して、そのストリームのセグメントを、CDN34を介して、要求元の受信機に送信する。この場合、受信機33は、MPD(Media Presentation Description)ファイルに記載されているレートの値を参照して、クライアントの置かれているネットワーク環境の状態に応じて、最適なレートのストリームを選択して要求を行う。
【0085】
DASH MPDサーバ32は、DASHストリームファイルサーバ31において生成されるDASHセグメントを取得するためのMPDファイルを生成するサーバである。コンテンツマネジメントサーバ(図示せず)からのコンテンツメタデータと、DASHストリームファイルサーバ31において生成されたセグメントのアドレス(url)をもとに、MPDファイルを生成する。
【0086】
MPDのフォーマットでは、ビデオやオーディオなどのそれぞれのストリーム毎にリプレゼンテーション(Representation)という要素を利用して、それぞれの属性が記述される。例えば、MPDファイルには、レートの異なる複数のビデオデータストリーム毎に、リプレゼンテーションを分けてそれぞれのレートが記述される。受信機33では、そのレートの値を参考にして、上述したように、受信機33の置かれているネットワーク環境の状態に応じて、最適なストリームを選択できる。
【0087】
図15(b)も、MPEG−DASHベースのストリーム配信システム30Aの構成例を示している。このストリーム配信システム30Aは、DASHストリームファイルサーバ31およびDASH MPDサーバ32が接続された放送送出システム36と、M個の受信機35-1,35-2,・・・,35-Mとで構成されている。このストリーム配信システム30Aの場合、放送送出システム36は、DASHストリームファイルサーバ31で生成されるDASH仕様のストリームセグメント(DASHセグメント)およびDASH MPDサーバ32で生成されるMPDファイルを、放送波に載せて送信する。
【0088】
図16は、上述のMPDファイルに階層的に配置されている各構造体の関係の一例を示している。
図16(a)に示すように、MPDファイル全体としてのメディア・プレゼンテーション(Media Presentation)には、時間間隔で区切られた複数のピリオド(Period)が存在する。例えば、最初のピリオドはスタートが0秒から、次のピリオドはスタートが100秒から、などとなっている。
【0089】
図16(b)に示すように、ピリオドには、複数のリプレゼンテーション(Representation)が存在する。この複数のリプレゼンテーションには、アダプテーションセット(AdaptationSet)でグルーピングされる、ストリーム属性、例えばレートの異なる同一内容のビデオデータストリームに係るリプレゼンテーション群が存在する。
【0090】
図16(c)に示すように、リプレゼンテーションには、セグメントインフォ(SegmentInfo)が含まれている。このセグメントインフォには、
図16(d)に示すように、イニシャライゼーション・セグメント(Initialization Segment)と、ピリオドをさらに細かく区切ったセグメント(Segment)毎の情報が記述される複数のメディア・セグメント(Media Segment)が存在する。メディア・セグメントには、ビデオやオーディオなどのセグメントデータを実際に取得するためのアドレス(url)の情報等が存在する。
【0091】
なお、アダプテーションセットでグルーピングされている複数のリプレゼンテーションの間では、ストリームのスイッチングを自由に行うことができる。これにより、IPTVクライアントの置かれているネットワーク環境の状態に応じて、最適なレートのストリームを選択でき、途切れのない動画配信が可能となる。
【0092】
図17は、FragmentedMP4ストリームの構成例を、MPDファイルに対応付けて、示している。FragmentedMP4ストリームには、ビデオストリームをパケット化して得られたFragmentedMP4が含まれている。FragmentedMP4の「mdat」の部分にビデオストリームの所定ピクチャ分、例えば1GOP分の符号化ビデオデータが挿入される。
【0093】
図15(a),(b)に示すストリーム配信システム30,30Aにも、本技術を適用できる。この場合、ビデオストリームは、上述の実施の形態と同様に階層符号化されたものとされる。また、MPDファイルに、例えば、上述のレイヤ・シグナリング・デスクリプタ(
図7参照)の記述内容と同等の内容が挿入されて、受信側に送られる。
図18は、MPDファイルの実現例を示している。
【0094】
また、上述実施の形態においては、送信装置100と受信装置200からなる送受信システム10を示したが、本技術を適用し得る送受信システムの構成は、これに限定されるものではない。例えば、受信装置200の部分が、例えば、HDMI(High-Definition Multimedia Interface)などのデジタルインタフェースで接続されたセットトップボックスおよびモニタの構成などであってもよい。なお、「HDMI」は、登録商標である。
【0095】
また、本技術は、以下のような構成を取ることもできる。
(1)動画像データを構成する各ピクチャの画像データを複数の階層に分類し、該分類された各階層のピクチャの画像データを符号化し、該符号化された各階層のピクチャの画像データを持つビデオデータを生成する画像符号化部と、
上記ビデオデータを送信するデータ送信部と、
最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を送信する情報送信部とを備える
送信装置。
(2)上記情報送信部は、
上記情報を、上記ビデオデータを含むコンテナのレイヤに挿入して送信する
前記(1)に記載の送信装置。
(3)上記コンテナは、MPEG2−TSであり、
上記情報送信部は、上記情報をプログラムマップテーブルの配下に挿入して送信する
前記(2)に記載の送信装置。
(4)上記情報送信部は、
上記情報を、上記ビデオデータに関するメタ情報を持つメタファイルに挿入して送信する
前記(1)に記載の送信装置。
(5)上記メタファイルは、MPDファイルである
前記(4)に記載の送信装置。
(6)上記情報送信部は、プロファイルの情報と共に、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を送信する
前記(1)から(5)のいずれかに記載の送信装置。
(7)動画像データを構成する各ピクチャの画像データを複数の階層に分類し、該分類された各階層のピクチャの画像データを符号化し、該符号化された各階層のピクチャの画像データを持つビデオデータを生成する画像符号化ステップと、
上記ビデオデータを送信するデータ送信ステップと、
最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を送信する情報送信ステップとを備える
送信方法。
(8)動画像データを構成する各ピクチャの画像データが複数の階層に分類されて符号化されることで得られた各階層のピクチャの符号化画像データを持つビデオデータを受信するデータ受信部と、
最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を受信する情報受信部と、
上記情報に基づいて、上記ビデオデータから所定階層以下の階層のピクチャの符号化画像データを取り出して復号化する処理部を備える
受信装置。
(9)上記情報受信部は、
上記ビデオデータを含むコンテナのレイヤから上記情報を取得する
前記(8)に記載の受信装置。
(10)上記情報受信部は、
上記ビデオデータに関するメタ情報を持つメタファイルから上記情報を取得する
前記(8)に記載の受信装置。
(11)動画像データを構成する各ピクチャの画像データが複数の階層に分類されて符号化されることで得られた各階層のピクチャの符号化画像データを持つビデオデータを受信するデータ受信ステップと、
最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報を受信する情報受信ステップと、
上記情報に基づいて、上記ビデオデータから所定階層以下の階層のピクチャの符号化画像データを取り出して復号化する処理ステップを備える
受信方法。
【0096】
本技術の主な特徴は、階層符号化されたビデオデータを送信する際に、最大階層を異にする複数の階層範囲のそれぞれにおけるビットストリームのレベル指定値と階層範囲の情報をも送信することで、受信側において、デコード性能に応じた階層範囲のピクチャの符号化画像データをデコードすることを容易としたことである(
図10、
図6、
図7参照)。
【0097】
10・・・送受信システム
30,30A・・・MPEG−DASHベースのストリーム配信システム
31・・・DASHストリームファイルサーバ
32・・・DASH MPDサーバ
33-1,33-2,・・・,33-N,35-1,35-2,・・・,35-M・・・受信機
34・・・CDN(Content Delivery Network)
36・・・放送送出システム
100・・・送信装置
101・・・CPU
102・・・エンコーダ
103・・・圧縮データバッファ(cpb)
104・・・マルチプレクサ
105・・・送信部
200・・・受信装置
201・・・CPU
202・・・受信部
203・・・デマルチプレクサ
203a・・・ビデオ多重化バッファ
203b・・・セクションデータバッファ
204・・・圧縮データバッファ(cpb)
205・・・デコーダ
205a・・・テンポラルID解析部
205b・・・デコード処理部
206・・・非圧縮データバッファ(dpb)
207・・・ポスト処理部
208・・・表示部