以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
[送受信システム]
図1は、実施の形態としての送受信システム10の構成例を示している。この送受信システム10は、送信装置100と、受信装置200とを有する構成となっている。
送信装置100は、コンテナとしてのトランスポートストリームTSを放送波に載せて送信する。このトランスポートストリームTSには、動画像データを構成する各ピクチャの画像データが複数の階層に分類され、各階層のピクチャの画像データの符号化データを持つビデオストリームが含まれる。この場合、例えば、H.264/AVC、HEVCなどの符号化が施され、被参照ピクチャが自己階層および/または自己階層よりも低い階層に所属するように符号化される。
各階層のピクチャの符号化画像データに、ピクチャ毎に、所属階層を識別するための階層識別情報が付加される。この実施の形態においては、各ピクチャのNALユニット(nal_unit)のヘッダ部分に、階層識別情報(temporal_idを意味する“nuh_temporal_id_plus1”)が配置される。このように階層識別情報が付加されることで、受信側では、NALユニットのレイヤにおいて各ピクチャの階層識別が可能となり、所定階層以下の階層の符号化画像データを選択的に取り出してデコード処理を行うことができる。
この実施の形態において、複数の階層は2以上の所定数の階層組に分割され、ビデオストリームのレイヤに、このビデオストリームが持つ各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報が挿入される。
この実施の形態において、この識別情報は、低階層側の階層組ほど高く設定される優先度情報とされ、ペイロードにピクチャ毎の符号化画像データを含むPESパケットのヘッダに挿入される。この識別情報により、受信側では、自身のデコード能力に応じた階層組のピクチャの符号化画像データのみをバッファに取り込んで処理することが可能となる。
トランスポートストリームTSには、各階層のピクチャの符号化画像データを持つ単一のビデオストリーム、あるいは上述の各階層組のピクチャの符号化画像データをそれぞれ持つ所定数のビデオストリームが含まれる。このトランスポートストリームTSには、階層符号化の階層情報と、ビデオストリームの構成情報が挿入される。この情報により、受信側では、階層構成やストリーム構成を容易に把握でき、適切なデコード処理を行うことが可能となる。
受信装置200は、送信装置100から放送波に載せて送られてくる上述のトランスポートストリームTSを受信する。受信装置200は、このトランスポートストリームTSに含まれるビデオストリームからデコード能力に応じて選択された所定階層以下の階層のピクチャの符号化画像データを選択的にバッファに取り込んでデコードし、各ピクチャの画像データを取得して、画像再生を行う。
例えば、上述したように、トランスポートストリームTSに、複数の階層のピクチャの符号化画像データを持つ単一のビデオストリームが含まれている場合がある。その場合、上述の識別情報に基づいて、デコード能力に応じた所定階層組のピクチャの符号化画像データがバッファに取り込まれて処理される。
また、例えば、上述したように、トランスポートストリームTSに、複数の階層が分割されて得られた2以上の所定数の階層組のピクチャの符号化画像データをそれぞれ持つ所定数のビデオストリームが含まれている場合がある。その場合、ストリーム識別情報に基づいて、デコード能力に応じた所定階層組のピクチャの符号化画像データがバッファに取り込まれて処理される。
また、受信装置200は、選択的にバッファに取り込まれる各ピクチャの符号化画像データのデコードタイムスタンプを書き換えて低階層ピクチャのデコード間隔を調整する処理を行う。この調整処理により、デコード能力の低いデコーダでも無理のないデコード処理が可能となる。
また、受信装置200は、上述のようにデコードして得られた各ピクチャの画像データのフレームレートを表示能力に合わせるポスト処理を行う。このポスト処理により、例えば、デコード能力が低い場合であっても、高表示能力にあったフレームレートの画像データを得ることが可能となる。
「送信装置の構成」
図2は、送信装置100の構成例を示している。この送信装置100は、CPU(Central Processing Unit)101と、エンコーダ102と、圧縮データバッファ(cpb:coded picture buffer)103と、マルチプレクサ104と、送信部105を有している。CPU101は、制御部であり、送信装置100の各部の動作を制御する。
エンコーダ102は、非圧縮の動画像データを入力して、階層符号化を行う。エンコーダ102は、この動画像データを構成する各ピクチャの画像データを複数の階層に分類する。そして、エンコーダ102は、この分類された各階層のピクチャの画像データを符号化し、各階層のピクチャの符号化画像データを持つビデオストリームを生成する。エンコーダ102は、例えば、H.264/AVC、HEVCなどの符号化を行う。この際、エンコーダ102は、参照するピクチャ(被参照ピクチャ)が、自己階層および/または自己階層よりも下位の階層に所属するように、符号化する。
図3は、エンコーダ102で行われる階層符号化の一例を示している。この例は、0から4までの5階層に分類され、各階層のピクチャの画像データに対して、例えばHEVCの符号化が施された例である。
縦軸は階層を示している。階層0から4のピクチャの符号化画像データを構成するNALユニット(nal_unit)のヘッダ部分に配置されるtemporal_id(階層識別情報)として、それぞれ、0から4が設定される。一方、横軸は表示順(POC:picture order of composition)を示し、左側は表示時刻が前で、右側は表示時刻が後になる。
図4(a)は、NALユニットヘッダの構造例(Syntax)を示し、図4(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)をとる。
図3に戻って、矩形枠のそれぞれがピクチャを示し、数字は、符号化されているピクチャの順、つまりエンコード順(受信側ではデコード順)を示している。「1」から「17」(「2」を除く)の16個のピクチャによりサブ・ピクチャグループ(Sub group of pictures)を構成しており、「1」はそのサブ・ピクチャグループの先頭ピクチャである。「2」は、次のサブ・ピクチャグループの先頭ピクチャとなる。あるいは、「1」を除いて、「2」から「17」までの16個のピクチャによりサブ・ピクチャグループを構成しており、「2」はそのサブ・ピクチャグループの先頭のピクチャとなる。
「1」のピクチャは、GOP(Group Of Pictures)の先頭のピクチャとなり得る。GOPの先頭ピクチャの符号化画像データは、図5に示すように、AUD、VPS、SPS、PPS、PSEI、SLICE、SSEI、EOSのNALユニットにより構成される。一方、GOPの先頭ピクチャ以外のピクチャは、AUD、PPS、PSEI、SLICE、SSEI、EOSのNALユニットにより構成される。VPSはSPSと共に、シーケンス(GOP)に一度、PPSはマイピクチャで伝送可能とされている。
図3に戻って、実線矢印は、符号化におけるピクチャの参照関係を示している。例えば、「1」のピクチャは、Iピクチャであり、他のピクチャを参照しない。「2」のピクチャは、Pピクチャであり、「1」のピクチャを参照して符号化される。また、「3」のピクチャは、Bピクチャであり、「1」、「3」のピクチャを参照して符号化される。以下、同様、その他のピクチャは、表示順で近くのピクチャを参照して符号化される。なお、階層4のピクチャは、他のピクチャからの参照がない。
エンコーダ102は、各階層のピクチャの符号化画像データを持つ単一のビデオストリーム(シングルストリーム)を生成するか、あるいは、複数の階層を2以上の所定数の階層組に分割し、各階層組のピクチャの符号化画像データをそれぞれ持つ所定数のビデオストリーム(マルチストリーム)を生成する。例えば、図3の階層符号化の例において、階層0から3を低階層の階層組とし、階層4を高階層の階層組として2つの階層組に分割されるとき、エンコーダ102は、各階層組のピクチャの符号化画像データをそれぞれ持つ2つのビデオストリーム(符号化ストリーム)を生成する。
エンコーダ102は、生成するビデオストリームの数によらず、上述したように、複数の階層を2以上の所定数の階層組に分割し、各階層組のピクチャの符号化画像データに、所属階層組を識別するための識別情報を付加する。この場合、例えば、識別情報として、SPSに含まれるビットストリームのレベル指定値である「general_level_idc」が利用され、高階層側の階層組ほど高い値とされる。なお、サブレイヤ(sublayer)毎に「sub_layer_level_idc」をSPSで送ることができるので、識別情報として、この「sub_layer_level_idc」を用いてもよい。以上はSPSだけでなくVPSにおいても供給される。
この場合、各階層組のレベル指定値の値は、この階層組のピクチャと、この階層組より低階層側の全ての階層組のピクチャとからなるフレームレートに対応した値とされる。例えば、図3の階層符号化の例において、階層0から3の階層組のレベル指定値は、階層0から3のピクチャのみからなるフレームレートに対応した値とされ、階層4の階層組のレベル指定値は、階層0から4の全ての階層のピクチャからなるフレームレートに対応した値とされる。
図6は、階層符号化の際のエンコード、デコード、表示順序と遅延の一例を示している。この例は、上述の図3の階層符号化例に対応している。この例は、全階層(全レイヤ)を、フル時間解像度で階層符号化する場合を示している。図6(a)はエンコーダ入力を示す。図6(b)に示すように、16ピクチャ分の遅延をもって、各ピクチャがエンコード順にエンコードされて、符号化ストリームが得られる。また、図6(b)はデコーダ入力を示し、各ピクチャがデコード順にデコードされる。そして、図6(c)に示すように、4ピクチャの遅延をもって、各ピクチャの画像データが表示順に得られる。
図7(a)は、上述の図6(b)に示す符号化ストリームと同様の符号化ストリームを、階層0から2、階層3、階層4の3段階に分けて示している。ここで、「Tid」は、temporal_idを示している。図7(b)は、階層0から2、つまりTid=0〜2の部分階層の各ピクチャを選択的にデコードする場合の表示期待(表示順)を示している。また、図7(c)は、階層0から3、つまりTid=0〜3の部分階層の各ピクチャを選択的にデコードする場合の表示期待(表示順)を示している。さらに、図7(d)は、階層0から4、つまりTid=0〜4の全階層の各ピクチャを選択的にデコードする場合の表示期待(表示順)を示している。
図7(a)の符号化ストリームをデコード能力別にデコード処理するには、時間解像度がフルレートのデコード能力が必要となる。しかし、Tid=0〜2のデコードを行う場合、符号化されたフルの時間解像度に対して、1/4のデコード能力をもつデコーダが処理可能とすべきである。また、Tid=0〜3のデコードを行う場合、符号化されたフルの時間解像度に対して、1/2のデコード能力をもつデコーダが処理可能とすべきである。
しかし、階層符号化において参照される低階層に属するピクチャが連続し、それらが時間解像度でフルなタイミングで符号化されると、部分デコードするデコーダの能力が追い付かないことになる。図7(a)のAの期間がそれに該当する。Tid=0〜2、あるいはTid=0〜3の部分的な階層をデコードするデコーダは、表示の例で示すような、時間軸が1/4あるいは1/2の能力でデコード・表示を行うため、Aの期間符号化された時間解像度がフルで連続するピクチャのデコードはできない。
TaはTid=0〜2をデコードするデコーダにおけるピクチャ毎のデコード処理に要する時間を示す。TbはTid=0〜3をデコードするデコーダにおけるピクチャ毎のデコード処理に要する時間を示す。TcはTid=0〜4(全階層)をデコードするデコーダにおけるピクチャ毎のデコード処理に要する時間を示す。これらの各時間の関係は、Ta>Tb>Tcとなる。
この実施の形態においては、後述するように、受信装置200は、デコード能力が低いデコーダを持ち、低階層ピクチャのデコードを選択的に行う場合、デコードタイムスタン(DTS:decoding Time stamp)を書き換えて低階層ピクチャのデコード間隔を調整する機能を持つようにされる。これにより、デコード能力の低いデコーダでも、無理のないデコード処理が可能となる。
図2に戻って、圧縮データバッファ(cpb)103は、エンコーダ102で生成された、各階層のピクチャの符号化データを含むビデオストリームを、一時的に蓄積する。マルチプレクサ104は、圧縮データバッファ103に蓄積されているビデオストリームを読み出し、PESパケット化し、さらにトランスポートパケット化して多重し、多重化ストリームとしてのトランスポートストリームTSを得る。
この実施の形態においては、上述したように、複数の階層は2以上の所定数の階層組に分割される。マルチプレクサ104は、PESパケットのヘッダ(PESヘッダ)に、ビデオストリームが持つ各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報を挿入する。この識別情報により、受信側では、自身のデコード能力に応じた階層組のピクチャの符号化画像データのみをバッファに取り込んで処理することが可能となる。
マルチプレクサ104は、例えば、複数の階層を低階層組と高階層組に二分する場合、PESヘッダに存在する、周知のPESプライオリティ(PES_priority)の1ビットフィールドを利用する。この1ビットフィールドは、PESペイロードに低階層側の階層組のピクチャの符号化画像データを含む場合は“1”、つまり優先度が高く設定される。一方、この1ビットフィールドは、PESペイロードに高階層側の階層組のピクチャの符号化画像データを含む場合は“0”、つまり優先度が低く設定される。
トランスポートストリームTSには、上述したように、各階層のピクチャの符号化画像データを持つ単一のビデオストリーム、あるいは上述の各階層組のピクチャの符号化画像データをそれぞれ持つ所定数のビデオストリームが含まれる。マルチプレクサ104は、トランスポートストリームTSに、階層情報、ストリーム構成情報を挿入する。
トランスポートストリームTSには、PSI(Program Specific Information)の一つとして、PMT(Program Map Table)が含まれている。このPMTには、各ビデオストリームに関連した情報を持つビデオエレメンタリ・ループ(video ES1 loop)が存在する。このビデオエレメンタリ・ループには、各ビデオストリームに対応して、ストリームタイプ、パケット識別子(PID)等の情報が配置されると共に、そのビデオストリームに関連する情報を記述するデスクリプタも配置される。
マルチプレクサ104は、このデスクリプタの一つとして、HEVCデスクリプタ(HEVC_descriptor)を挿入し、さらに、新たに定義するスケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)を挿入する。
図8は、HEVCデスクリプタ(HEVC_descriptor)の構造例(Syntax)を示している。また、図9は、その構造例における主要な情報の内容(Semantics)を示している。
「descriptor_tag」の8ビットフィールドは、デスクリプタタイプを示し、ここでは、HEVCデスクリプタであることを示す。「descriptor_length」の8ビットフィールドは、デスクリプタの長さ(サイズ)を示し、デスクリプタの長さとして、以降のバイト数を示す。
「level_idc」の8ビットフィールドは、ビットレートのレベル指定値を示す。また、「temporal_layer_subset_flag = 1」であるとき、「temporal_id_min」の5ビットフィールドと、「temporal_id_max」の5ビットフィールドが存在する。「temporal_id_min」は、対応するビデオストリームに含まれる階層符号化データの最も低い階層のtemporal_idの値を示す。「temporal_id_max」は、対応するビデオストリームが持つ階層符号化データの最も高い階層のtemporal_idの値を示す。
「level_constrained_flag」の1ビットフィールドは、新たに定義するものであり、VPSのNALユニットに含まれるビットストリームのレベル指定値(general_level_idc)がピクチャ毎に変わり得ることを示す。“1”は変わり得ることを示し、“0”は変わらないことを示す。
上述したように、例えば、“general_level_idc”は、複数の階層を2以上の所定数の階層組に分割した際の所属階層組の識別情報として利用される。そのため、複数の階層組のピクチャの符号化画像データを持つビデオストリームの場合、“general_level_idc”がピクチャ毎に変わり得ることになる。一方、単一の階層組のピクチャの符号化画像データを持つビデオストリームの場合は、“general_level_idc”がピクチャ毎に変わるということはない。あるいは、sublayerごとに“sublayer_level_idc”が付され、デコーダはデコード可能な範囲のtemporal_idのパケットを読むことによって、対応する階層のデータを処理する。
「scalability_id」の3ビットフィールドは、新たに定義するものであり、複数のビデオストリームがスケーラブルなサービスを供給する際、個々のストリームに付されるスケーラビリティを示すIDである。“0”はベースストリームを示し、“1”〜“7”はベースストリームからのスケーラビリティの度合いによって増加するIDである。
図10は、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)の構造例(Syntax)を示している。また、図11は、その構造例における主要な情報の内容(Semantics)を示している。
「scalability_extension_descriptor_tag」の8ビットフィールドは、デスクリプタタイプを示し、ここでは、スケーラビリティ・エクステンション・デスクリプタであることを示す。「scalability_extension_descriptor_length」の8ビットフィールドは、デスクリプタの長さ(サイズ)を示し、デスクリプタの長さとして、以降のバイト数を示す。「extension_stream_existing_flag」の1ビットフィールドは、別ストリームによる拡張サービスがあることを示すフラグである。“1”は拡張ストリームがあることを示し、“0”は拡張ストリームがないことを示す。
「extension_type」の3ビットフィールドは、拡張のタイプを示す。“001”は、拡張が、時間方向スケーラブルであることを示す。“010”は、拡張が、空間方向スケーラブルであることを示す。“011”は、拡張が、ビットレートスケーラブルであることを示す。
「number_of_streams」の4ビットフィールドは、配信サービスに関与するストリームの総数を示す。「scalability_id」の3ビットフィールドは、複数のビデオストリームがスケーラブルなサービスを供給する際、個々のストリームに付されるスケーラビリティを示すIDである。“0”はベースストリームを示し、“1”〜“7”はベースストリームからのスケーラビリティの度合いによって増加するIDである。
「number_of_layers」の3ビットフィールドは、当該ストリームの総階層数を示す。「sublayer_level_idcの8ビットフィールドは、temporal_idで示される該当サブレイヤが、それより下位のレイヤを含んで、デコーダが対応するlevel_idcの値を示す。「Number of layers」は、NALユニットヘッダ(NAL unit header)の「Nuh_temporal_id_plus1」のすべての値を包含するものであり、デマルチプレクサ(demuxer)がこれを検知することで、所定のlevel_idcに対応するデコーダがどの階層までデコードできるかを、「sublayer_level_idc」により事前に認識することが可能となる。
上述したように、この実施の形態において、SPSに含まれるビットレートのレベル指定値(general_level_idc)などは、複数の階層を2以上の所定数の階層組に分割した際の所属階層組の識別情報として利用される。各階層組のレベル指定値の値は、この階層組のピクチャと、この階層組より低階層側の全ての階層組のピクチャとからなるフレームレートに対応した値とされる。
図12は、マルチプレクサ104の構成例を示している。PESプライオリティ発生部141と、セクションコーディング部142と、PESパケット化部143-1〜143-Nと、スイッチ部144と、トランスポートパケット化部145を有している。
PESパケット化部143-1〜143-Nは、それぞれ、圧縮データバッファ103に蓄積されているビデオストリーム1〜Nを読み込み、PESパケットを生成する。この際、PESパケット化部143-1〜143-Nは、ビデオストリーム1〜NのHRD情報を元にDTS(Decoding Time Stamp)、PTS(Presentation Time Stamp)のタイムスタンプをPESヘッダに付与する、この場合、各ピクチャの「cpu_removal_delay」、「dpb_output_delay」が参照され、STC(System Time Clock)時刻に同期した精度で、各々DTS、PTSに変換され、PESヘッダの所定位置に配置される。
PESプライオリティ発生部141には、CPU101から、階層数(Number of layers)とストリーム数(Number of streams)の情報が供給される。PESプライオリティ発生部141は、階層数で示される複数の階層を2以上の所定数の階層組に分割した場合における、各階層組の優先度情報を発生する。例えば、2分割される場合には、PESパケットヘッダの「PES_priority」の1ビットフィールドに挿入すべき値(低階層組は“1”、高階層組は“0”)を発生する。
PESプライオリティ発生部141で発生される各階層組の優先度情報は、PESパケット化部143-1〜143-Nに供給される。PESパケット化部143-1〜143-Nは、この各階層組の優先度を、その階層組のピクチャの符号化画像データを含むPESパケットのヘッダに識別情報として挿入する。
なお、このようにピクチャ毎にPESパケットのヘッダにそのピクチャが属する階層組の優先度をヘッダ情報として挿入する処理は、エンコーダ102で単一のビデオストリーム(シングルストリーム)が生成される場合に限ってもよい。この場合は、PESパケット化部143-1でのみ処理が行われることとなる。
スイッチ部144は、PESパケット化部143-1〜143-Nで生成されたPESパケットを、パケット識別子(PID)に基づいて選択的に取り出し、トランスポートパケット化部145に送る。トランスポートパケット化部145は、PESパケットをペイロードに含むTSパケットを生成し、トランスポートストリームTSを得る。
セクションコーディング部142は、トランスポートストリームTSに挿入すべき各種のセクションデータを生成する。セクションコーディング部142には、CPU101から、階層数(Number of layers)と、ストリーム数(Number of streams)の情報が供給される。セクションコーディング部142は、この情報に基づいて、上述したHEVCデスクリプタ(HEVC_descriptor)、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)を生成する。
セクションコーディング部142は、各種セクションデータを、トランスポートパケット化部145に送る。トランスポートパケット化部145は、このセクションデータを含むTSパケットを生成し、トランスポートストリームTSに挿入する。
図13は、マルチプレクサ104の処理フローを示す。この例は、複数の階層を低階層組と高階層組の2つに分割する例である。マルチプレクサ104は、ステップST1において、処理を開始し、その後に、ステップST2の処理に移る。このステップST2において、マルチプレクサ104は、ビデオストリーム(ビデオエレメンタリストリーム)の各ピクチャのtemporal_id_と、構成する符号化ストリーム数を設定する。
次に、マルチプレクサ104は、ステップST3において、HRD情報(cpu_removal_delay、dpb_output_delay)を参照して、DTS、PTSを決め、PESヘッダの所定位置に挿入する。
次に、マルチプレクサ104は、ステップST4において、シングルストリーム(単一ビデオストリーム)か否かを判断する。シングルストリームであるとき、マルチプレクサ104は、ステップST5において、1つのPID(パケット識別子)で多重化処理を進めることとし、その後に、ステップST7の処理に移る。
このステップST7において、マルチプレクサ104は、ピクチャのそれぞれについて低階層組のピクチャ(スライス)であるか判断する。低階層組のピクチャであるとき、マルチプレクサ104は、ステップST8において、ペイロードにそのピクチャの符号化画像データを含むPESパケットのヘッダの「PES_priority」を“1”に設定する。一方、高階層組(非低階層組)のピクチャであるとき、マルチプレクサ104は、ステップST9において、ペイロードにそのピクチャの符号化画像データを含むPESパケットのヘッダの「PES_priority」を“0”に設定する。マルチプレクサ104は、ステップST8、ステップST9の処理の後、ステップST10の処理に移る。
ここで、ピクチャ(picture)とスライス(slice)の関連付けについて説明する。ピクチャは、概念で、構造定義としてはスライスと同じである。1ピクチャは、複数のスライスに分けられるが、この複数のスライスがアクセスユニットとしては同じであることは、パラメータセット(parameter set)でわかるようになっている。
上述のステップST4でシングルストリームでないとき、マルチプレクサ104は、ステップST6において、複数のパケットPID(パケット識別子)で多重化処理を進めることとし、その後に、ステップST10の処理に移る。このステップST10において、マルチプレクサ104は、符号化ストリーム(ビデオエレメンタリストリーム)をPESペイロードに挿入してPESパケット化する。
次に、マルチプレクサ104は、ステップST11において、HEVCデスクリプタ、スケーラビリティ・エクステンション・デスクリプタなどをコーディングする。そして、マルチプレクサ104は、ステップST12においてトランスポートパケット化し、トランスポートストリームTSを得る。その後、マルチプレクサ104は、ステップST13において、処理を終了する。
図14は、単一ストリームによる配信を行う場合のトランスポートストリームTSの構成例を示している。このトランスポートストリームTSには、1つのビデオストリームが含まれている。すなわち、この構成例では、複数の階層のピクチャの例えばHEVCによる符号化画像データを持つビデオストリームのPESパケット「video PES1」が存在すると共に、オーディオストリームのPESパケット「audio PES1」が存在する
各ピクチャの符号化画像データには、VPS、SPS、SEIなどのNALユニットが存在する。上述したように、各ピクチャのNALユニットのヘッダには、そのピクチャの階層を示すtemporal_idが挿入されている。また、例えば、VPSにはビットレートのレベル指定値(general_level_idc)が含まれている。また、例えば、ピクチャ・タイミング・SEI(Picture timing SEI)には、「cpb_removal_delay」と「dpb_output_delay」が含まれている。
また、PESパケットのヘッダ(PESヘッダ)に「PES_priority」の1ビットの優先度を示すフィールドが存在する。この「PES_priority」により、PESペイロードに含まれるピクチャの符号化画像データが、低階層組のピクチャのものか、あるいは高階層組のピクチャのものかが識別可能である。
また、トランスポートストリームTSには、PSI(Program Specific Information)の一つとして、PMT(Program Map Table)が含まれている。このPSIは、トランスポートストリームに含まれる各エレメンタリストリームがどのプログラムに属しているかを記した情報である。
PMTには、プログラム全体に関連する情報を記述するプログラム・ループ(Program loop)が存在する。また、PMTには、各エレメンタリストリームに関連した情報を持つエレメンタリ・ループが存在する。この構成例では、ビデオエレメンタリ・ループ(video ES1 loop)が存在すると共に、オーディオエレメンタリ・ループ(audio ES1 loop)が存在する。
ビデオエレメンタリ・ループには、ビデオストリーム(video PES1)に対応して、ストリームタイプ、パケット識別子(PID)等の情報が配置されると共に、そのビデオストリームに関連する情報を記述するデスクリプタも配置される。このデスクリプタの一つとして、上述したHEVCデスクリプタ(HEVC_descriptor)、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)が挿入される。
図2に戻って、送信部105は、トランスポートストリームTSを、例えば、QPSK/OFDM等の放送に適した変調方式で変調し、RF変調信号を送信アンテナから送信する。
図2に示す送信装置100の動作を簡単に説明する。エンコーダ102には、非圧縮の動画像データが入力される。エンコーダ102では、この動画像データに対して、階層符号化が行われる。すなわち、エンコーダ102では、この動画像データを構成する各ピクチャの画像データが複数の階層に分類されて符号化され、各階層のピクチャの符号化画像データを持つビデオストリームが生成される。この際、参照するピクチャが、自己階層および/または自己階層よりも下位の階層に所属するように、符号化される。
エンコーダ102では、各階層のピクチャの符号化画像データを持つ単一のビデオストリームが生成されるか、あるいは、複数の階層が2以上の所定数の階層組に分割され、各階層組のピクチャの符号化画像データをそれぞれ持つ所定数のビデオストリームが生成される。
また、エンコーダ102で生成された、各階層のピクチャの符号化データを含むビデオストリームは、圧縮データバッファ(cpb)103に供給され、一時的に蓄積される。マルチプレクサ104では、圧縮データバッファ103に蓄積されているビデオストリームが読み出され、PESパケット化され、さらにトランスポートパケット化されて多重され、多重化ストリームとしてのトランスポートストリームTSが得られる。
マルチプレクサ104では、例えば、単一のビデオストリーム(シングルストリーム)の場合、PESパケットのヘッダ(PESヘッダ)に、ビデオストリームが持つ各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報が挿入される。例えば、複数の階層を低階層組と高階層組に二分する場合、PESヘッダのPESプライオリティ(PES_priority)の1ビットフィールドが利用される。
また、マルチプレクサ104では、トランスポートストリームTSに、階層情報、ストリーム構成情報が挿入される。すなわち、マルチプレクサ104では、各ビデオストリームに対応したビデオエレメンタリ・ループに、HEVCデスクリプタ(HEVC_descriptor)、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)が挿入される。
マルチプレクサ104で生成されるトランスポートストリームTSは、送信部105に送られる。送信部105では、このトランスポートストリームTSが、例えば、QPSK/OFDM等の放送に適した変調方式で変調され、RF変調信号が送信アンテナから送信される。
「受信装置の構成」
図15は、受信装置200の構成例を示している。この受信装置200は、CPU(Central Processing Unit)201と、受信部202と、デマルチプレクサ203と、圧縮データバッファ(cpb:coded picture buffer)204を有している。また、この受信装置200は、デコーダ205と、非圧縮データバッファ(dpb:decoded picture buffer)206と、ポスト処理部207を有している。CPU201は、制御部を構成し、受信装置200の各部の動作を制御する。
受信部202は、受信アンテナで受信されたRF変調信号を復調し、トランスポートストリームTSを取得する。デマルチプレクサ203は、トランスポートストリームTSから、デコード能力(Decoder temporal layer capability)に応じた階層組のピクチャの符号化画像データを選択的に取り出し、圧縮データバッファ(cpb:coded picture buffer)204に送る。
図16は、デマルチプレクサ203の構成例を示している。デマルチプレクサ203は、TSアダプテーションフィールド抽出部231と、クロック情報抽出部232と、TSペイロード抽出部233と、セクション抽出部234と、PSIテーブル/デスクリプタ抽出部235と、PESパケット抽出部236を有している。また、デマルチプレクサ203は、PESヘッダ抽出部237と、タイムスタンプ抽出部238と、識別情報抽出部239と、PESペイロード抽出部240と、ストリーム構成部(ストリームコンポーザ)241を有している。
TSアダプテーションフィールド抽出部231は、トランスポートストリームTSのアダプテーションフィールドを持つTSパケットから当該アダプテーションフィールドを抽出する。クロック情報抽出部232は、PCR(Program Clock Reference)が含まれるアダプテーションフィールドから当該PCRを抽出し、CPU201に送る。
TSペイロード抽出部233は、トランスポートストリームTSのTSペイロードを持つTSパケットから当該TSペイロードを抽出する。セクション抽出部234は、セクションデータが含まれるTSペイロードから当該セクションデータを抽出する。PSIテーブル/デスクリプタ抽出部235は、セクション抽出部234で抽出されたセクションデータを解析し、PSIテーブルやデスクリプタを抽出する。そして、PSIテーブル/デスクリプタ抽出部235は、temporal_idの最小値(min)と最大値(max)を、CPU201に送ると共に、ストリーム構成部241に送る。
PESパケット抽出部236は、PESパケットが含まれるTSペイロードから当該PESパケットを抽出する。PESヘッダ抽出部237は、PESパケット抽出部236で抽出されたPESパケットからPESヘッダを抽出する。タイムスタンプ抽出部238は、ピクチャ毎にPESヘッダに挿入されているタイムスタンプ(DTS、PTS)を抽出し、CPU201に送ると共に、ストリーム構成部241に送る。
識別情報抽出部239は、ピクチャ毎にPESヘッダに挿入されている、そのピクチャが属する階層組を識別する識別情報を抽出し、ストリーム構成部241に送る。例えば、複数の階層が低階層組と高階層組に2分されている場合、PESヘッダの「PES_priority」の1ビットフィールドの優先度情報を抽出し、ストリーム構成部241に送る。なお、この識別情報は、トランスポートストリームTSに単一のビデオストリームが含まれる場合には送信側で必ず挿入されているが、トランスポートストリームTSに複数のビデオストリームが含まれる場合には送信側で挿入されないこともある。
PESペイロード抽出部240は、PESパケット抽出部236で抽出されたPESパケットからPESペイロード、つまり、各階層のピクチャの符号化画像データを抽出する。ストリーム構成部241は、PESペイロード抽出部240で取り出される各階層のピクチャの符号化画像データから、デコード能力(Decoder temporal layer capability)に応じた階層組のピクチャの符号化画像データを選択的に取り出し、圧縮データバッファ(cpb:coded picture buffer)204に送る。この場合、ストリーム構成部241は、PSIテーブル/デスクリプタ抽出部235で得られる階層情報、ストリーム構成情報、識別情報抽出部239で抽出される識別情報(優先度情報)などを参照する。
例えば、トランスポートストリームTSに含まれるビデオストリーム(符号化ストリーム)のフレームレートが120fpsである場合を考える。例えば、複数の階層が低階層側の階層組と高階層側の階層組とに2分され、各階層組のピクチャのフレームレートがそれぞれ60fpsであるとする。例えば、上述の図3に示す階層符号化例では、階層0から3は低階層側の階層組とされ、60fpsのlevel_idc対応のデコーダがデコード可能となる。また、階層4は高階層側の階層組とされ、120fpsのlevel_idc対応のデコーダがデコード可能となる。
この場合、トランスポートストリームTSに、各階層のピクチャの符号化データを持つ単一のビデオストリーム(符号化ストリーム)が含まれているか、あるいは、低階層側の階層組のピクチャの符号化画像データ持つベースストリム(B_str)と、高階層側の階層組のピクチャの符号化画像データを持つ拡張ストリーム(E_str)の2つのビデオストリーム(符号化ストリーム)が含まれている。
ストリーム構成部241は、デコード能力が、120fpsに対応している場合、全階層のピクチャの符号化画像データを取り出し、圧縮データバッファ(cpb)204に送る。一方、ストリーム構成部241は、デコード能力が、120fpsに対応していないが60fpsに対応している場合、低階層側の階層組のピクチャの符号化画像データのみを取り出し、圧縮データバッファ(cpb)204に送る。
図17は、トランスポートストリームTSに単一のビデオストリーム(符号化ストリーム)が含まれている場合におけるストリーム構成部241のピクチャ(スライス)選択の一例を示している。ここで、「High」は高階層側の階層組のピクチャを示し、「Low」は低階層側の階層組のピクチャを示す。また、「P」は「PES_priority」を示している。
デコード能力が、120fpsに対応している場合、ストリーム構成部241は、全階層のピクチャの符号化画像データを取り出し、圧縮データバッファ(cpb)204に送る。一方、デコード能力が、120fpsに対応していないが60fpsに対応している場合、ストリーム構成部241は、「PES_priority」に基づくフィルタリングを行って、P=1である低階層側の階層組のピクチャだけを取り出し、圧縮データバッファ(cpb)204に送る。
図18は、トランスポートストリームTSにベースストリームと拡張ストリームの2つのビデオストリーム(符号化ストリーム)が含まれている場合におけるストリーム構成部241のピクチャ(スライス)選択の一例を示している。ここで、「High」は高階層側の階層組のピクチャを示し、「Low」は低階層側の階層組のピクチャを示す。また、ベースストリームのパケット識別子(PID)はPID Aであり、拡張ストリームのパケット識別子(PID)はPID Bであるとする。
デコード能力が、120fpsに対応している場合、ストリーム構成部241は、全階層のピクチャの符号化画像データを取り出し、圧縮データバッファ(cpb)204に送る。この場合、ストリーム構成部241は、各ピクチャの符号化画像データをデコードタイミング情報に基づいて1つのストリームにして圧縮データバッファ(cpb)204に送る。
その場合、デコードタイミングとしてDTSの値をみて、それがピクチャ間で単調増加するようにストリームを一つにまとめる。このピクチャのまとめ処理自体は、圧縮データバッファ(cpb)204がストリーム分だけ複数存在して、その複数の圧縮データバッファ(cpb)204から読み出された複数ストリームに対して行って一つのストリームとしてデコード処理をするようにしもよい。
一方、デコード能力が、120fpsに対応していないが60fpsに対応している場合、ストリーム構成部241は、パケット識別子(PID)に基づくフィルタリングを行って、PID Aである低階層側の階層組のピクチャだけを取り出し、圧縮データバッファ(cpb)204に送る。
なお、ストリーム構成部241は、選択的に圧縮データバッファ(cpb)204に送る各ピクチャの符号化画像データのデコードタイムスタンプを書き換えて低階層ピクチャのデコード間隔を調整する機能を持つ。これにより、デコーダ205のデコード能力の低い場合であっても、無理のないデコード処理が可能となる。
図19は、図3に示す階層符号化例で、低階層側の階層組と高階層側の階層組とに2分されている場合であって、ストリーム構成部241で低階層組に属するピクチャの符号化画像データが選択的に取り出されて、圧縮データバッファ(cpb)204に送られる場合を示している。
図19(a)は、デコード間隔調整前のデコードタイミングを示している。この場合、ピクチャ間のデコード間隔にばらつきがあり、最短のデコード間隔は120fpsフル解像度のデコード間隔と等しくなる。これに対して、図19(b)は、デコード間隔調整後のデコードタイミングを示している。この場合、ピクチャ間のデコード間隔は等しくされ、デコード間隔は、フル解像度のデコード間隔の1/2となる。このように、各階層において対象デコーダの能力に応じてデコード間隔が調整される。
図20は、デマルチプレクサ203の処理フローの一例を示している。この処理フローは、トランスポートストリームTSに単一のビデオストリーム(符号化ストリーム)が含まれている場合を示している。
デマルチプレクサ203は、ステップST31において、処理を開始し、その後に、ステップST32の処理に移る。このステップST32おいて、CPU201から、デコード能力(Decoder temporal layer capability)が設定される。次に、デマルチプレクサ203は、ステップST33おいて、全階層(レイヤ)をデコードする能力があるか否かを判断する。
全階層をデコードする能力があるとき、デマルチプレクサ203は、ステップST34において、該当PIDフィルタを通過する全TSパケットをデマルチプレクスし、セクションパーシング(Section parsing)を行う。その後、デマルチプレクサ203は、ステップST35の処理に移る。
ステップST33で全階層をデコードする能力がないとき、デマルチプレクサ203は、ステップST36において、「PES_priority」が“1”のTSパケットをデマルチプレクスし、セクションパーシング(Section parsing)を行う。その後、デマルチプレクサ203は、ステップST35の処理に移る。
ステップST35において、デマルチプレクサ203は、対象となるPIDのセクションの中で、HEVCデスクリプタ(HEVC_descriptor)、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)を読み、拡張ストリームの有無、スケーラブルタイプ、ストリームの数とID、temporal_idの最大、最小値、そして、各レイヤのデコーダ対応Levelを得る。
次に、デマルチプレクサ203は、ステップST37で、PIDの対象となる符号化ストリームを圧縮データバッファ(cpb)204へ転送すると共に、DTS、PTSを、CPU201に通知する。デマルチプレクサ203は、ステップST37の処理の後、ステップST38において、処理を終了する。
図21は、デマルチプレクサ203の処理フローの一例を示している。この処理フローは、トランスポートストリームTSにベースストリームと拡張ストリームの2つのビデオストリーム(符号化ストリーム)が含まれている場合を示している。
デマルチプレクサ203は、ステップST41において、処理を開始し、その後に、ステップST42の処理に移る。このステップST42おいて、CPU201から、デコード能力(Decoder temporal layer capability)が設定される。次に、デマルチプレクサ203は、ステップST43おいて、全階層(レイヤ)をデコードする能力があるか否かを判断する。
全階層をデコードする能力があるとき、デマルチプレクサ203は、ステップST44において、PIDフィルタにより全階層を構成する複数のストリームをデマルチプレクスし、セクションパーシング(Section parsing)を行う。その後、デマルチプレクサ203は、ステップST45の処理に移る。
ステップST43で全階層をデコードする能力がないとき、デマルチプレクサ203は、ステップST46において、PID=PID Aのストリームをデマルチプレクスし、セクションパーシング(Section parsing)を行う。その後、デマルチプレクサ203は、ステップST45の処理に移る。
ステップST45において、デマルチプレクサ203は、対象となるPIDのセクションの中で、HEVCデスクリプタ(HEVC_descriptor)、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)を読み、拡張ストリームの有無、スケーラブルタイプ、ストリームの数とID、temporal_idの最大、最小値、そして、各レイヤのデコーダ対応Levelを得る。
次に、デマルチプレクサ203は、ステップST47で、PIDの対象となる符号化ストリームをDTS(無い場合はPTS)情報に基づき、1つのストリームに結合し、圧縮データバッファ(cpb)204へ転送すると共に、DTS、PTSを、CPU201に通知する。デマルチプレクサ203は、ステップST47の処理の後、ステップST48において、処理を終了する。
図15に戻って、圧縮データバッファ(cpb)204は、デマルチプレクサ203で取り出されるビデオストリーム(符号化ストリーム)を、一時的に蓄積する。デコーダ205は、圧縮データバッファ204に蓄積されているビデオストリームから、デコードすべき階層として指定された階層のピクチャの符号化画像データを取り出す。そして、デコーダ205は、取り出された各ピクチャの符号化画像データを、それぞれ、そのピクチャのデコードタイミングでデコードし、非圧縮データバッファ(dpb)206に送る。
ここで、デコーダ205には、CPU201からデコードすべき階層がtemporal_idで指定される。この指定階層は、デマルチプレクサ203で取り出されるビデオストリーム(符号化ストリーム)に含まれる全階層、あるいは低階層側の一部の階層とされ、CPU201により自動的に、あるいはユーザ操作に応じて設定される。また、デコーダ205には、CPU201から、DTS(Decoding Time stamp)に基づいて、デコードタイミングが与えられる。なお、デコーダ205は、各ピクチャの符号化画像データをデコードする際に、必要に応じて、非圧縮データバッファ206から被参照ピクチャの画像データを読み出して利用する。
図22は、デコーダ205の構成例を示している。このデコーダ205は、テンポラルID解析部251と、対象階層選択部252と、デコード部253を有している。テンポラルID解析部251は、圧縮データバッファ204に蓄積されているビデオストリーム(符号化ストリーム)を読み出し、各ピクチャの符号化画像データのNALユニットヘッダに挿入されているtemporal_idを解析する。
対象階層選択部252は、圧縮データバッファ204から読み出されたビデオストリームから、テンポラルID解析部251の解析結果に基づいて、デコードすべき階層として指定された階層のピクチャの符号化画像データを取り出す。デコード部253は、対象階層選択部252で取り出された各ピクチャの符号化画像データを、順次デコードタイミングでデコードし、非圧縮データバッファ(dpb)206に送る。
この場合、デコード部253は、VPS、SPSの解析を行って、例えば、サブレイヤごとのビットレートのレベル指定値「sublayer_level_idc」を把握し、デコード能力内でデコードし得るものかどうかを確認する。また、この場合、デコード部253は、SEIの解析を行って、例えば、「initial_cpb_removal_time」、「cpb_removal_delay」を把握し、CPU201からのデコードタイミングが適切か確認する。
デコード部253は、スライス(Slice)のデコードを行う際に、スライスヘッダ(Slice header)から、時間方向の予測先を表す情報として、「ref_idx_l0_active(ref_idx_l1_active)を取得し、時間方向の予測を行う。なお、デコード後のピクチャは、スライスヘッダ(slice header)から得られる「short_term_ref_pic_set_idx」、あるいは「it_idx_sps」が指標とされて、他のピクチャによる被参照として処理される。
図15に戻って、非圧縮データバッファ(dpb)206は、デコーダ205でデコードされた各ピクチャの画像データを、一時的に蓄積する。ポスト処理部207は、非圧縮データバッファ(dpb)206から表示タイミングで順次読み出された各ピクチャの画像データに対して、そのフレームレートを、表示能力に合わせる処理を行う。この場合、CPU201から、PTS(Presentation Time stamp)に基づいて、表示タイミングが与えられる。
例えば、デコード後の各ピクチャの画像データのフレームレートが120fpsであって、表示能力が120fpsであるとき、ポスト処理部207は、デコード後の各ピクチャの画像データをそのままディスプレイに送る。また、例えば、デコード後の各ピクチャの画像データのフレームレートが120fpsであって、表示能力が60fpsであるとき、ポスト処理部207は、デコード後の各ピクチャの画像データに対して時間方向解像度が1/2倍となるようにサブサンプル処理を施し、60fpsの画像データとしてディスプレイに送る。
また、例えば、デコード後の各ピクチャの画像データのフレームレートが60fpsであって、表示能力が120fpsであるとき、ポスト処理部207は、デコード後の各ピクチャの画像データに対して時間方向解像度が2倍となるように補間処理を施し、120fpsの画像データとしてディスプレイに送る。また、例えば、デコード後の各ピクチャの画像データのフレームレートが60fpsであって、表示能力が60fpsであるとき、ポスト処理部207は、デコード後の各ピクチャの画像データをそのままディスプレイに送る。
図23は、ポスト処理部207の構成例を示している。この例は、上述したようにデコード後の各ピクチャの画像データのフレームレートが120fpsあるいは60fpsであって、表示能力が120fpsあるいは60fpsである場合に対処可能とした例である。
ポスト処理部207は、補間部271と、サブサンプル部272と、スイッチ部273を有している。非圧縮データバッファ206からのデコード後の各ピクチャの画像データは、直接スイッチ部273に入力され、あるいは補間部271で2倍のフレームレートとされた後にスイッチ部273に入力され、あるいはサブサンプル部272で1/2倍のフレームレートとされた後にスイッチ部273に入力される。
スイッチ部273には、CPU201から、選択情報が供給される。この選択情報は、CPU201が、表示能力を参照して自動的に、あるいは、ユーザ操作に応じて発生する。スイッチ部273は、選択情報に基づいて、入力のいずれかを選択的に出力とする。これにより、非圧縮データバッファ(dpb)206から表示タイミングで順次読み出された各ピクチャの画像データのフレームレートは、表示能力に合ったものとされる。
図24は、デコーダ205、ポスト処理部207の処理フローの一例を示している。デコーダ205、ポスト処理部207は、ステップST51において、処理を開始し、その後に、ステップST52の処理に移る。このステップST52において、デコーダ205は、圧縮データバッファ(cpb)204に蓄積されているデコード対象のビデオストリームを読み出し、temporal_idに基づいて、CPU201からデコード対象として指定される階層のピクチャを選択する。
次に、デコーダ205は、ステップST53において、選択された各ピクチャの符号化画像データをデコードタイミングで順次デコードし、デコード後の各ピクチャの画像データを非圧縮データバッファ(dpb)206に転送して、一時的に蓄積する。次に、ポスト処理部207は、ステップST54において、非圧縮データバッファ(dpb)206から、表示タイミングで各ピクチャの画像データを読み出す。
次に、ポスト処理部207は、読み出された各ピクチャの画像データのフレームレートが表示能力にあっているか否かを判断する。フレームレートが表示能力に合っていないとき、ポスト処理部207は、ステップST56において、フレームレートを表示能力に合わせて、ディスプレイに送り、その後、ステップST57において、処理を終了する。一方、フレームレートが表示能力に合っているとき、ポスト処理部207は、ステップST58において、フレームレートそのままでディスプレイに送り、その後、ステップST57において、処理を終了する。
図15に示す受信装置200の動作を簡単に説明する。受信部202では、受信アンテナで受信されたRF変調信号が復調され、トランスポートストリームTSが取得される。このトランスポートストリームTSは、デマルチプレクサ203に送られる。デマルチプレクサ203では、トランスポートストリームTSから、デコード能力(Decoder temporal layer capability)に応じた階層組のピクチャの符号化画像データが選択的に取り出され、圧縮データバッファ(cpb)204に送られ、一時的に蓄積される。
デコーダ205では、圧縮データバッファ204に蓄積されているビデオストリームから、デコードすべき階層として指定された階層のピクチャの符号化画像データが取り出される。そして、デコーダ205では、取り出された各ピクチャの符号化画像データが、それぞれ、そのピクチャのデコードタイミングでデコードされ、非圧縮データバッファ(dpb)206に送られ、一時的に蓄積される。この場合、各ピクチャの符号化画像データがデコードされる際に、必要に応じて、非圧縮データバッファ206から被参照ピクチャの画像データが読み出されて利用される。
非圧縮データバッファ(dpb)206から表示タイミングで順次読み出された各ピクチャの画像データは、ポスト処理部207に送られる。ポスト処理部207では、各ピクチャの画像データに対して、そのフレームレートを、表示能力に合わせるための補間あるいはサブサンプルが行われる。このポスト処理部207で処理された各ピクチャの画像データは、ディスプレイに供給され、その各ピクチャの画像データによる動画像の表示が行われる。
以上説明したように、図1に示す送受信システム10においては、送信側において、ビデオストリームのレイヤ(PESパケットのヘッダ)に、このビデオストリームに含まれる各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報が挿入されるものである。そのため、例えば、受信側においては、この識別情報を利用することで、デコード能力に応じた所定階層以下の階層のピクチャの符号化画像データを選択的にデコードすることが容易に可能となる。
また、図1に示す送受信システム10においては、送信側において、トランスポートストリームTSのレイヤに、スケーラビリティ・エクステンション・デスクリプタ(scalability_extension_descriptor)等が挿入されるものである。そのため、例えば、受信側では、階層符号化における階層情報、トランスポートストリームTSに含まれるビデオストリームの構成情報などを容易に把握でき、適切なデコード処理を行うことが可能となる。
また、図1に示す送受信システム10においては、受信側において、受信されたビデオストリームからデコード能力(Decoder temporal layer capability)に応じた所定階層以下の階層のピクチャの符号化画像データが選択的に圧縮データバッファ204に取り込まれてデコードされるものである。そのため、例えば、デコード能力に応じた適切なデコード処理が可能となる。
また、図1に示す送受信システム10においては、受信側において、選択的に圧縮データバッファ204に取り込まれる各ピクチャの符号化画像データのデコードタイムスタンプを書き換えて低階層ピクチャのデコード間隔を調整する機能を持つものである。そのため、例えば、デコーダ205のデコード能力が低い場合であっても無理のないデコード処理が可能となる。
また、図1に示す送受信システム10においては、受信側において、復号化後の各ピクチャの画像データのフレームレートをポスト処理部207で表示能力に合わせるものである。そのため、例えば、デコード能力が低い場合であっても、高表示能力にあったフレームレートの画像データを得ることが可能となる。
<2.変形例>
なお、上述実施の形態においては、ビデオストリームに含まれる各ピクチャの符号化画像データが所定数の階層組のうちどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報を、PESパケットのヘッダ(PESヘッダ)に挿入する例を示した。しかし、この識別情報の挿入位置は、これに限定されるものではない。
例えば、マルチプレクサ104(図2参照)は、この識別情報を、アダプテーションフィールドを持つTSパケットの、当該アダプテーションフィールドに挿入してよい。マルチプレクサ104は、例えば、複数の階層を低階層組と高階層組に二分する場合、アダプテーションフィールドに存在する、周知のエレメンタリ・ストリーム・プライオリティ・インジケータ(elementary_stream_priority_indicator)の1ビットフィールドを利用する。
この1ビットフィールドは、後続するTSパケットのペイロードに、低階層側の階層組のピクチャの符号化画像データをペイロードに持つPESパケットを含む場合は“1”、つまり優先度が高く設定される。一方、この1ビットフィールドは、後続するTSパケットのペイロードに、低階層側の階層組のピクチャの符号化画像データをペイロードに持つPESパケットを含む場合“0”、つまり優先度が低く設定される。
図25は、アダプテーションフィールドの配置例を示している。この例は、複数の階層を低階層組と高階層組に二分されている場合であって、エレメンタリ・ストリーム・プライオリティ・インジケータ(elementary_stream_priority_indicator)の1ビットフィールドを利用した場合の例である。
図示の例において、1ピクチャの符号化画像データをペイロードに持つPESパケットを分割して持つ所定数のTSパケット群毎に、その直前に、アダプテーションフィールドを持つTSパケットが配置される。この場合、その1ピクチャが低階層側の階層組のピクチャであるとき、エレメンタリ・ストリーム・プライオリティ・インジケータの1ビットフィールドは“1”に設定される。一方、その1ピクチャが高階層側の階層組のピクチャであるとき、エレメンタリ・ストリーム・プライオリティ・インジケータの1ビットフィールドは“0”に設定される。
図25に示すように、アダプテーションフィールドを持つTSパケットを配置することで、受信側では、ビデオストリームに含まれるピクチャの符号化画像データ毎に、いずれの階層組に属するピクチャの符号化データであるかを容易に識別可能となる。なお、図25の配置例では、1ピクチャ毎にアダプテーションフィールドを持つTSパケットを配置するように示しているが、ピクチャが属する階層組が切り替わるごとに、その直前にアダプテーションフィールドを持つTSパケットを配置するようにされてもよい。
図26は、階層組の識別情報を上述したようにアダプテーションフィールドに挿入する場合における、送信装置100のマルチプレクサ104Aの構成例を示している。この図26において、図12と対応する部分には同一符号を付し、その詳細説明は省略する。このマルチプレクサ104Aは、図12のマルチプレクサ104におけるPESプライオリティ発生部141の代わりに、アダプテーションフィールド・プライオリティ指示部146を有するものとされる。
プライオリティ指示部146には、CPU101から、階層数(Number of layers)とストリーム数(Number of streams)の情報が供給される。プライオリティ指示部146は、階層数で示される複数の階層を2以上の所定数の階層組に分割した場合における、各階層組の優先度情報を発生する。例えば、2分割される場合には、エレメンタリ・ストリーム・プライオリティ・インジケータの1ビットフィールドに挿入すべき値(低階層組は“1”、高階層組は“0”)を発生する。
プライオリティ指示部146で発生される各階層組の優先度情報は、トランスポートパケット化部145に供給される。トランスポートパケット化部145は、1ピクチャの符号化画像データをペイロードに持つPESパケットを分割して持つ所定数のTSパケット群毎に、その直前に、アダプテーションフィールドを持つTSパケットを配置する。そして、その場合、トランスポートパケット化部145は、アダプテーションフィールドに、ピクチャが属する階層組に対応した優先度情報を識別情報として挿入する。
図27は、階層組の識別情報を上述したようにアダプテーションフィールドに挿入する場合におけるトランスポートストリームTSの構成例を示している。この構成例は、上述の図14に示す構成例とほぼ同様の構成とされている。この構成例では、アダプテーションフィールドを持つTSパケットが存在し、このアダプテーションフィールドに、各ピクチャが属する階層組を識別するための識別情報が挿入される。例えば、複数の階層が低階層組と高階層組に二分される場合には、エレメンタリ・ストリーム・プライオリティ・インジケータ(elementary_stream_priority_indicator)の1ビットフィールドが利用される。
図28は、階層組の識別情報を上述したようにアダプテーションフィールドに挿入する場合における、受信装置200のデマルチプレクサ203Aの構成例を示している。この図28において、図16と対応する部分には同一符号を付し、その詳細説明は省略する。このデマルチプレクサ203Aは、図16のデマルチプレクサ203における識別情報抽出部239の代わりに、識別情報抽出部242を有するものとされる。
この識別情報抽出部242は、アダプテーションフィールドから識別情報を抽出し、ストリーム構成部241に送る。例えば、複数の階層が低階層組と高階層組に2分されている場合、アダプテーションフィールドの「elementary_stream_priority_indicator」の1ビットフィールドの優先度情報を抽出し、ストリーム構成部241に送る。
ストリーム構成部241は、PESペイロード抽出部240で取り出される各階層のピクチャの符号化画像データから、デコード能力(Decoder temporal layer capability)に応じた階層組のピクチャの符号化画像データを選択的に取り出し、圧縮データバッファ(cpb)204に送る。この場合、ストリーム構成部241は、PSIテーブル/デスクリプタ抽出部235で得られる階層情報、ストリーム構成情報、識別情報抽出部242で抽出される識別情報(優先度情報)などを参照する。
また、上述実施の形態においては、送信装置100と受信装置200からなる送受信システム10を示したが、本技術を適用し得る送受信システムの構成は、これに限定されるものではない。例えば、受信装置200の部分が、例えば、(HDMI(High-Definition Multimedia Interface)などのデジタルインタフェースで接続されたセットトップボックスおよびモニタの構成などであってもよい。なお、「HDMI」は、登録商標である。
また、上述実施の形態においては、コンテナがトランスポートストリーム(MPEG−2 TS)である例を示した。しかし、本技術は、インターネット等のネットワークを利用して受信端末に配信される構成のシステムにも同様に適用できる。インターネットの配信では、MP4やそれ以外のフォーマットのコンテナで配信されることが多い。つまり、コンテナとしては、デジタル放送規格で採用されているトランスポートストリーム(MPEG−2 TS)、インターネット配信で使用されているMP4などの種々のフォーマットのコンテナが該当する。
例えば、図29は、MP4ストリームの構成例を示している。このMP4ストリームには、「moov
」、「moof」、「mdat」などのボックスが存在する。「mdat」のボックスに、トラックとして、ビデオの符号化ストリームであるビデオエレメンタリストリーム「track1:video ES1」が存在すると共に、オーディオの符号化ストリームであるオーディオエレメンタリストリーム「track1:audio ES1」が存在する
また、「moof」のボックスには、ヘッダ部分として「mfhd(movie fragment header」が存在し、そのデータ部分として、各トラックに対応した、「track fragment」が存在する。ビデオエレメンタリストリーム「track1:video ES1」に対応した「track1 fragment(video)」には、「Independent and disposal samples」が存在し、その中に、各ピクチャにそれぞれ対応した「SampleDependencyTypeBox」というボックスが挿入されている。
このボックスの中に、各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報を挿入できる。例えば、複数の階層を最上位層とそれ以外の下位層の2つの階層組に分割する場合、「sample_depends_on」の2ビットフィールドと、「sample_is_depended_on」の2ビットフィールドを利用して、当該識別情報の挿入が可能である。
図30は、「SampleDependencyTypeBox」の構造例(Syntax)を示している。また、図31は、その構造例における主要な情報の内容(Semantics)を示している。この場合、「sample_depends_on」を“1”として他のピクチャを参照するものでIピクチャでないことを示すと共に、「sample_is_depended_on」を“2”として他のピクチャに参照されないことを示すことで、最上位層の組に属するピクチャであるとの識別が可能となる。また、これ以外の状態では、そのピクチャは階層層の階層組に属するピクチャであるとの識別が可能となる。
なお、「SampleDependencyTypeBox」のボックスを使用する代わりに、新たに定義する、「SampleScalablePriorityBox」というボックスを使用することも考えられる。図32は、「SampleScalablePriorityBox」の構造例(Syntax)を示している。また、図33は、その構造例における主要な情報の内容(Semantics)を示している。
この場合、複数の階層を最低階層組と高階層組の2つの階層組に分割する場合、「base_and_priority」の2ビットフィールドを利用して、当該識別情報が挿入される。すなわち、「base_and_priority」を例えば“1”とすることで優先度が低く、高階層組に属するピクチャであるとの識別が可能となる。一方、「base_and_priority」を例えば“2”とすることで優先度が高く、低階層組に属するピクチャであるとの識別が可能となる。
また、本技術は、以下のような構成を取ることもできる。
(1)動画像データを構成する各ピクチャの画像データを複数の階層に分類し、該分類された各階層のピクチャの画像データを符号化し、該符号化された各階層のピクチャの画像データを持つビデオデータを生成する画像符号化部と、
上記生成されたビデオデータを含む所定フォーマットのコンテナを送信する送信部と、
上記複数の階層を2以上の所定数の階層組に分割し、上記ビデオデータをコンテナするパケットに、該ビデオデータに含まれる各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報を挿入する識別情報挿入部を備える
送信装置。
(2)上記識別情報は、低階層側の階層組ほど高く設定される優先度情報である
前記(1)に記載の送信装置。
(3)上記識別情報は、ペイロードにピクチャ毎の符号化画像データを含むPESパケットのヘッダに挿入される
前記(1)に記載の送信装置。
(4)上記識別情報は、上記ヘッダのPESプライオリティのフィールドを利用して挿入される
前記(3)に記載の送信装置。
(5)上記識別情報は、アダプテーションフィールドを持つTSパケットの、該アダプテーションフィールドに挿入される
前記(1)に記載の送信装置。
(6)上記識別情報は、上記アダプテーションフィールドのESプライオリティインジケータのフィールドを利用して挿入される
前記(5)に記載の送信装置。
(7)上記識別情報は、該当するピクチャのトラックに関連するヘッダのボックスに挿入される
前記(1)に記載の送信装置。
(8)上記画像符号化部は、
上記各階層のピクチャの符号化画像データを持つ単一のビデオストリームを生成するか、あるいは上記各階層組のピクチャの符号化画像データをそれぞれ持つ所定数のビデオデータを生成し、
上記コンテナのレイヤに、該コンテナに含まれるビデオストリームの構成情報を挿入する構成情報挿入部をさらに備える
前記(1)から(7)のいずれかに記載の送信装置。
(9)動画像データを構成する各ピクチャの画像データを複数の階層に分類し、該分類された各階層のピクチャの画像データを符号化し、該符号化された各階層のピクチャの画像データを持つビデオデータを生成する画像符号化ステップと、
送信部により、上記生成されたビデオデータを含む所定フォーマットのコンテナを送信する送信ステップと、
上記複数の階層を2以上の所定数の階層組に分割し、上記ビデオデータをコンテナするパケットに、該ビデオデータに含まれる各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報を挿入する識別情報挿入ステップを有する
送信方法。
(10)動画像データを構成する各ピクチャの画像データが複数の階層に分類されて符号化されることで得られた各階層のピクチャの符号化画像データを持つビデオデータを含む所定フォーマットのコンテナを受信する受信部と、
上記受信されたコンテナに含まれる上記ビデオデータからデコード能力に応じた所定階層以下の階層のピクチャの符号化画像データを選択的にバッファに取り込み、該バッファに取り込まれた各ピクチャの符号化画像データをデコードして、上記所定階層以下の階層のピクチャの画像データを得る画像復号化部を備える
受信装置。
(11)上記複数の階層は2以上の所定数の階層組に分割され、上記ビデオデータをコンテナするパケットに、該ビデオデータに含まれる各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報が挿入されており、
上記画像復号化部は、上記識別情報に基づいて、上記デコード能力に応じた所定階層組のピクチャの符号化画像データを上記バッファに取り込んでデコードする
前記(10)に記載の受信装置。
(12)上記識別情報は、ペイロードにピクチャ毎の符号化画像データを含むPESパケットのヘッダに挿入されている
前記(11)に記載の受信装置。
(13)上記識別情報は、アダプテーションフィールドを持つTSパケットの、該アダプテーションフィールドに挿入されている
前記(11)に記載の受信装置。
(14)上記識別情報は、該当するピクチャのトラックに関連するヘッダのボックスに挿入されている
前記(11)に記載の送信装置。
(15)上記複数の階層は2以上の所定数の階層組に分割され、上記受信されたコンテナには、上記所定数の階層組のピクチャの符号化画像データをそれぞれ持つ上記所定数のビデオストリームが含まれており、
上記画像符号化部は、ストリーム識別情報に基づいて、上記デコード能力に応じた所定階層組のピクチャの符号化画像データを上記バッファに取り込んでデコードする
前記(10)に記載の受信装置。
(16)上記画像復号化部は、
上記所定階層組のピクチャの符号化画像データが複数のビデオストリームに含まれている場合、各ピクチャの符号化画像データをデコードタイミング情報に基づいて1つのストリームにして上記バッファに取り込む
前記(15)に記載の受信装置。
(17)上記画像復号化部は、
上記選択的にバッファに取り込まれる各ピクチャの符号化画像データのデコードタイムスタンプを書き換えて低階層ピクチャのデコード間隔を調整する機能を持つ
前記(10)から(16)のいずれかに記載の受信装置。
(18)上記画像復号化部で得られる各ピクチャの画像データのフレームレートを表示能力に合わせるポスト処理部をさらに備える
前記(10)から(17)のいずれかに記載の受信装置。
(19)受信部により、動画像データを構成する各ピクチャの画像データが複数の階層に分類されて符号化されることで得られた各階層のピクチャの符号化画像データを持つビデオデータを含む所定フォーマットのコンテナを受信する受信ステップと、
上記受信されたコンテナに含まれる上記ビデオデータからデコード能力に応じた所定階層以下の階層のピクチャの符号化画像データを選択的にバッファに取り込み、該バッファに取り込まれた各ピクチャの符号化画像データをデコードして、上記所定階層以下の階層のピクチャの画像データを得る画像復号化ステップを有する
受信方法。
本技術の主な特徴は、ビデオデータをコンテナするパケットに、このビデオデータに含まれる各ピクチャの符号化画像データがそれぞれどの階層組に属するピクチャの符号化画像データであるかを識別する識別情報を挿入することで、受信側においては、この識別情報を利用して、デコード能力に応じた所定階層以下の階層のピクチャの符号化画像データを選択的にデコードすることを容易に可能としたことである(図12参照)。