(58)【調査した分野】(Int.Cl.,DB名)
ピクチャが分割されることにより得られた複数の領域が、独立して復号が可能なように符号化されることで得られた複数の符号化データがパケット化されることで得られた複数のパケット
を受信する受信部と、
前記複数の符号化データを並列に復号する複数の復号部とを備え、
前記複数の符号化データの各々は、1以上のパケットに格納されるデータの単位である基本データ単位と一対一で対応付けられており、
前記複数の符号化データの各々は、前記1以上のパケットに格納され、
各前記パケットのヘッダ情報は、(1)前記基本データ単位に当該パケットのみが含まれる、(2)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の先頭のパケットである、(3)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の先頭及び最後以外のパケットである、及び、(4)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の最後のパケットである、のいずれであるかを示す識別情報を含み、
前記ピクチャ内の復号単位に用いられる制御情報は、前記複数の符号化データが格納される複数のパケットとは異なる1つのパケットに格納されており、当該パケットのヘッダ情報は、前記基本データ単位に当該パケットのみが含まれることを示す識別情報を含む、
受信装置。
【発明を実施するための形態】
【0013】
(本発明の基礎となった知見)
近年、TV、スマートフォン、又はタブレット端末などのディスプレイの高解像度化が進んでいる。特に日本国内の放送においては2020年に8K4K(解像度が8K×4K)のサービスが予定されている。8K4Kなどの超高解像度の動画像においては、単一の復号器では実時間での復号が困難であるため、複数の復号器を用いて並列に復号処理を行う手法が検討されている。
【0014】
MPEGとITUにより規格化されたH.264及びH.265などの動画像符号化方式においては、送信装置は、ピクチャをスライス又はスライスセグメントと呼ばれる複数の領域に分割し、分割したそれぞれの領域を独立に復号できるように符号化することができる。従って、例えば、H.265の場合には、放送を受信する受信装置は、受信データからスライスセグメント毎のデータを分離し、各スライスセグメントのデータを別々の復号器に出力することで、復号処理の並列化を実現できる。
【0015】
図1は、HEVCにおいて、1つのピクチャを4つのスライスセグメントに分割する例を示す図である。例えば、受信装置は4つの復号器を備え、各復号器が4つのスライスセグメントのうちいずれかを復号する。
【0016】
従来の放送においては、送信装置は、1枚のピクチャ(MPEGシステム規格におけるアクセスユニット)を1つのPESパケットに格納し、PESパケットをTSパケット列に多重化する。このため、受信装置は、PESパケットのペイロードを分離したうえで、ペイロードに格納されたアクセスユニットのデータを解析することで、各スライスセグメントを分離し、分離された各スライスセグメントのデータを復号器に出力する必要があった。
【0017】
しかしながら、アクセスユニットのデータを解析してスライスセグメントを分離する際の処理量が大きいため、この処理を実時間で行うことが困難であるという課題があることを本発明者は見出した。
【0018】
図2は、スライスセグメントに分割されたピクチャのデータが、PESパケットのペイロードに格納される例を示す図である。
【0019】
図2に示すように、例えば、複数のスライスセグメント(スライスセグメント1〜4)のデータが1つのPESパケットのペイロードに格納される。また、PESパケットはTSパケット列に多重化される。
【0020】
本発明の一態様に係る送信方法は、ピクチャを複数の領域に分割する分割ステップと、前記複数の領域の各々を独立して復号が可能なように符号化することで、前記複数の領域の各々に対応する符号化データを生成する符号化ステップと、生成された複数の前記符号化データを、複数のパケットに格納するパケット化ステップと、前記複数のパケットを送信する送信ステップとを含み、前記パケット化ステップでは、一つの前記パケットに、異なる前記領域に対応する前記符号化データが格納されないように、前記複数の符号化データを前記複数のパケットに格納する。
【0021】
これによれば、各領域の符号化データが異なるパケットに格納されるので、受信装置は、パケットのペイロードに格納された符号化データを解析することなく、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。これにより、受信装置は、各復号部の復号対象データの生成処理を少ない処理量で行うことができる。このように、受信装置における復号対象データの生成に係る処理量が低減される。
【0022】
例えば、前記パケット化ステップでは、前記ピクチャ内の全ての復号単位に対して共通に用いられる制御情報を、前記複数の符号化データが格納される複数のパケットとは異なるパケットに格納してもよい。
【0023】
これによれは、受信装置は、パケットのペイロードに格納された符号化データを解析することなく、制御情報が格納されているパケットを判定できる。これにより、受信装置における復号対象データの生成に係る処理量を低減できる。
【0024】
また、本発明の一態様に係る受信方法は、複数の復号部を備える受信装置における受信方法であって、ピクチャが分割されることにより得られた複数の領域が、独立して復号が可能なように符号化されることで得られた複数の符号化データが、異なる前記領域の前記符号化データが一つのパケットに格納されないようにパケット化されることで得られた複数のパケットを受信する受信ステップと、前記複数のパケットのいずれかに含まれる、前記ピクチャ内の全ての復号単位に対して共通に用いられる制御情報と、前記複数の領域の前記複数の符号化データの各々とを結合することで、複数の結合データを生成する結合ステップと、前記複数の復号部が、前記複数の結合データを並列に復号する復号ステップとを含む。
【0025】
これによれば、各領域の符号化データが異なるパケットに格納されるので、受信装置は、パケットのペイロードに格納された符号化データを解析することなく、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。これにより、受信装置は、各復号部の復号対象データの生成処理を少ない処理量で行うことができる。このように、受信装置における復号対象データの生成に係る処理量が低減される。
【0026】
例えば、前記制御情報は、前記複数の符号化データが格納される複数のパケットとは異なるパケットに格納されていてもよい。
【0027】
これによれは、受信装置は、パケットのペイロードに格納された符号化データを解析することなく、制御情報が格納されているパケットを判定できる。これにより、受信装置における復号対象データの生成に係る処理量を低減できる。
【0028】
例えば、前記結合ステップでは、前記パケットのヘッダ情報を用いて、前記パケットに格納されているデータが、前記複数の領域のうちいずれの領域の符号化データであるかを判定してもよい。
【0029】
これによれば、受信装置は、パケットのヘッダ情報を用いて、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。
【0030】
例えば、前記複数の符号化データの各々は、1以上のパケットに格納されるデータの単位である基本データ単位と一対一で対応付けられており、前記複数の符号化データの各々は、前記1以上のパケットに格納され、各前記パケットの前記ヘッダ情報は、(1)前記基本データ単位に当該パケットのみが含まれる、(2)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の先頭のパケットである、(3)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の先頭及び最後以外のパケットである、及び、(4)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の最後のパケットである、のいずれであるかを示す識別情報を含み、前記結合ステップでは、(1)前記基本データ単位に当該パケットのみが含まれる、又は、(2)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の先頭のパケットである、ことを示す前記識別情報が含まれる前記ヘッダ情報を有する前記パケットに含まれるペイロードデータの先頭を、前記各領域の前記符号化データの先頭であると判定してもよい。
【0031】
これによれば、受信装置は、パケットのヘッダ情報を用いて、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。
【0032】
例えば、前記パケットの前記ヘッダ情報は、さらに、前記複数の符号化データを含む前記ピクチャの符号化データの先頭から、当該パケットに含まれる符号化データの先頭までのビット長を示すオフセット情報を含み、前記結合ステップでは、(1)前記基本データ単位に当該パケットのみが含まれる、又は、(2)前記基本データ単位に複数のパケットが含まれ、かつ、当該パケットが前記基本データ単位の先頭のパケットである、ことを示す前記識別情報と、ゼロでない前記ビット長を示す前記オフセット情報と、が含まれる前記ヘッダ情報を有する前記パケットに含まれるペイロードデータの先頭を、前記各領域の前記符号化データの先頭であると判定してもよい。
【0033】
これによれば、受信装置は、パケットのヘッダ情報を用いて、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。
【0034】
例えば、前記受信方法は、さらに、前記ピクチャの解像度、前記ピクチャの前記複数の領域への分割方法、及び、前記複数の復号部の処理能力の少なくとも一つに基づき、前記複数の結合データの各々を復号する前記復号部を決定する決定ステップを含んでもよい。
【0035】
これによれば、受信装置は、各領域の符号化データを複数の復号部に適切に割り当てることができる。
【0036】
また、本発明の一態様に係る送信装置は、ピクチャを複数の領域に分割する分割部と、前記複数の領域の各々を独立して復号が可能なように符号化することで、前記複数の領域の各々に対応する符号化データを生成する符号化部と、生成された複数の前記符号化データを、複数のパケットに格納するパケット化部と、前記複数のパケットを送信する送信部とを備え、前記パケット化部は、一つの前記パケットに、異なる前記領域に対応する前記符号化データが格納されないように、前記複数の符号化データを前記複数のパケットに格納する。
【0037】
これによれば、各領域の符号化データが異なるパケットに格納されるので、受信装置は、パケットのペイロードに格納された符号化データを解析することなく、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。これにより、受信装置は、各復号部の復号対象データの生成処理を少ない処理量で行うことができる。このように、受信装置における復号対象データの生成に係る処理量が低減される。
【0038】
また、本発明の一態様に係る受信装置は、ピクチャが分割されることにより得られた複数の領域が、独立して復号が可能なように符号化されることで得られた複数の符号化データが、異なる前記領域の前記符号化データが一つのパケットに格納されないようにパケット化されることで得られた複数のパケットを受信する受信部と、前記複数のパケットのいずれかに含まれる、前記ピクチャ内の全ての復号単位に対して共通に用いられる制御情報と、前記複数の領域の前記複数の符号化データの各々とを結合することで、複数の結合データを生成する結合部と、前記複数の結合データを並列に復号する複数の復号部とを備える。
【0039】
これによれば、各領域の符号化データが異なるパケットに格納されるので、受信装置は、パケットのペイロードに格納された符号化データを解析することなく、当該パケットに格納されているデータが、どの領域の符号化データであるかを判定できる。これにより、受信装置は、各復号部の復号対象データの生成処理を少ない処理量で行うことができる。このように、受信装置における復号対象データの生成に係る処理量が低減される。
【0040】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0041】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0042】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0043】
(実施の形態)
以下では、動画像の符号化方式としてH.265を用いる場合を例に説明するが、H.264など他の符号化方式を用いる場合にも本実施の形態を適用できる。
【0044】
図3は、本実施の形態におけるアクセスユニット(ピクチャ)を分割単位に分割した例を示す図である。アクセスユニットは、H.265によって導入されたタイルと呼ばれる機能により、水平及び垂直方向にそれぞれ2等分され、合計4つのタイルに分割される。また、スライスセグメントとタイルは1対1に対応付けられる。
【0045】
このように水平及び垂直方向に2等分する理由について説明する。まず、復号時には、一般的に水平1ラインのデータを格納するラインメモリが必要となるが、8K4Kなどの超高解像度になると、水平方向のサイズが大きくなるためラインメモリのサイズが増加する。受信装置の実装においては、ラインメモリのサイズを低減できることが望ましい。ラインメモリのサイズを低減するためには垂直方向の分割が必要となる。垂直方向の分割にはタイルというデータ構造が必要である。これらの理由により、タイルが用いられる。
【0046】
一方で、画像は一般的に水平方向の相関が高いため、水平方向に広い範囲を参照できるほうが符号化効率は向上する。従って、符号化効率の観点ではアクセスユニットが水平方向に分割されることが望ましい。
【0047】
アクセスユニットが水平及び垂直方向に2等分されることで、これら2つの特性を両立させ、実装面、及び符号化効率の両面を考慮できる。単一の復号器が4K2Kの動画像を実時間での復号が可能の場合には、8K4Kの画像が4等分され、各々のスライスセグメントが4K2Kとなるように分割されることで、受信装置は、8K4Kの画像を実時間で復号できる。
【0048】
次に、アクセスユニットが水平及び垂直方向に分割されることで得られたタイルとスライスセグメントとを1対1に対応付ける理由について説明する。H.265においては、アクセスユニットは複数のNAL(Network Adaptation Layer)ユニットと呼ばれる単位から構成される。
【0049】
NALユニットのペイロードは、アクセスユニットの開始位置を示すアクセスユニットデリミタ、シーケンス単位で共通に用いられる復号時の初期化情報であるSPS(Sequence Parameter Set)、ピクチャ内で共通に用いられる復号時の初期化情報であるPPS(Picture Parameter Set)、復号処理自体には不要であるが復号結果の処理及び表示などにおいて必要となるSEI(Supplemental Enhancement Information)、並びに、スライスセグメントの符号化データなどのいずれかを格納する。NALユニットのヘッダは、ペイロードに格納されるデータを識別するためのタイプ情報を含む。
【0050】
ここで、送信装置は、符号化データをMPEG−2 TS、MMT(MPEG Media Transport)、MPEG DASH(Dynamic Adaptive
Streaming over HTTP)、又は、RTP(Real−time Transport Protocol)などの多重化フォーマットによって多重化する際には、基本単位をNALユニットに設定できる。1つのスライスセグメントを1つのNALユニットに格納するためには、アクセスユニットを領域に分割する際に、スライスセグメント単位に分割することが望ましい。このような理由から、送信装置は、タイルとスライスセグメントとを1対1に対応付ける。
【0051】
なお、
図4に示すように、送信装置は、タイル1からタイル4までをまとめて1つのスライスセグメントに設定することも可能である。しかし、この場合には、1つのNALユニットに全てのタイルが格納されることになり、受信装置が、多重化レイヤにおいてタイルを分離することが困難である。
【0052】
なお、スライスセグメントには独立に復号可能な独立スライスセグメントと、独立スライスセグメントを参照する参照スライスセグメントとが存在するが、ここでは独立スライスセグメントが用いられる場合を説明する。
【0053】
図5は、
図3に示すようにタイルとスライスセグメントとの境界が一致するように分割されたアクセスユニットのデータの例を示す図である。アクセスユニットのデータは、先頭に配置されたアクセスユニットデリミタが格納されるNALユニットと、その後に配置されるSPS、PPS、及びSEIのNALユニットと、その後に配置されるタイル1からタイル4までのデータが格納されたスライスセグメントのデータとを含む。なお、アクセスユニットのデータは、SPS、PPS及びSEIのNALユニットの一部又は全てを含まなくてもよい。
【0054】
次に、本実施の形態に係る送信装置100の構成を説明する。
図6は、本実施の形態に係る送信装置100の構成例を示すブロック図である。この送信装置100は、符号化部101と、多重化部102と、変調部103と、送信部104とを備える。
【0055】
符号化部101は、入力画像を、例えば、H.265に従い符号化することで符号化データを生成する。また、符号化部101は、例えば、
図3に示すように、アクセスユニットを4つのスライスセグメント(タイル)に分割し、各スライスセグメントを符号化する。
【0056】
多重化部102は、符号化部101により生成された符号化データを多重化する。変調部103は、多重化により得られたデータを変調する。送信部104は、変調後のデータを放送信号として送信する。
【0057】
次に、本実施の形態に係る受信装置200の構成を説明する。
図7は、本実施の形態に係る受信装置200の構成例を示すブロック図である。この受信装置200は、チューナー201と、復調部202と、逆多重化部203と、複数の復号部204A〜204Dと、表示部205とを備える。
【0058】
チューナー201は、放送信号を受信する。復調部202は、受信された放送信号を復調する。復調後のデータは逆多重化部203に入力される。
【0059】
逆多重化部203は、復調後のデータを分割単位に分離し、分割単位毎のデータを復号部204A〜204Dに出力する。ここで、分割単位とは、アクセスユニットが分割されることで得られた分割領域であり、例えば、H.265におけるスライスセグメントである。また、ここでは、8K4Kの画像が4つの4K2Kの画像に分割される。よって、4つの復号部204A〜204Dが存在する。
【0060】
複数の復号部204A〜204Dは、所定の基準クロックに基づいて互いに同期して動作する。各復号部は、アクセスユニットのDTS(Decoding Time Stamp)に従って分割単位の符号化データを復号し、復号結果を表示部205に出力する。
【0061】
表示部205は、複数の復号部204A〜204Dから出力された複数の復号結果を統合することで8K4Kの出力画像を生成する。表示部205は、別途取得したアクセスユニットのPTS(Presentation Time Stamp)に従って、生成された出力画像を表示する。なお、表示部205は、復号結果を統合する際に、タイルの境界など、互いに隣接する分割単位の境界領域において、当該境界が視覚的に目立たなくなるようにデブロックフィルタなどのフィルタ処理を行ってもよい。
【0062】
なお、上記では、放送の送信又は受信を行う送信装置100及び受信装置200を例に説明したが、コンテンツは通信ネットワーク経由で送信及び受信されてもよい。受信装置200が、通信ネットワーク経由でコンテンツを受信する場合には、受信装置200は、イーサーネットなどのネットワークにより受信したIPパケットから多重化データを分離する。
【0063】
放送においては、放送信号が送信されてから受信装置200に届くまでの間の伝送路遅延は一定である。一方、インターネットなどの通信ネットワークにおいては輻輳の影響により、サーバーから送信されたデータが受信装置200に届くまでの伝送路遅延は一定でない。従って、受信装置200は、放送のMPEG−2 TSにおけるPCRのような基準クロックに基づいた厳密な同期再生を行わないことが多い。そのため、受信装置200は、各復号部を厳密に同期させることはせずに、表示部において8K4Kの出力画像をPTSに従って表示してもよい。
【0064】
また、通信ネットワークの輻輳などにより、全ての分割単位の復号処理がアクセスユニットのPTSで示される時刻において完了していない場合がある。この場合には、受信装置200は、アクセスユニットの表示をスキップする、又は、少なくとも4つの分割単位の復号が終了し、8K4Kの画像の生成が完了するまで表示を遅延させる。
【0065】
なお、放送と通信とを併用してコンテンツが送信及び受信されてもよい。また、ハードディスク又はメモリなどの記録媒体に格納された多重化データを再生する際にも本手法を適用可能である。
【0066】
次に、多重化方式としてMMTが用いられる場合の、スライスセグメントに分割されたアクセスユニットの多重化方法にについて説明する。
【0067】
図8は、HEVCのアクセスユニットのデータを、MMTにパケット化する際の例を示す図である。SPS、PPS及びSEIなどはアクセスユニットに必ずしも含まれる必要はないが、ここでは存在する場合について例示する。
【0068】
アクセスユニットデリミタ、SPS、PPS、及びSEIなどのアクセスユニット内で先頭のスライスセグメントよりも前に配置されるNALユニットは一纏めにしてMMTパケット#1に格納される。後続のスライスセグメントは、スライスセグメント毎に別々のMMTパケットに格納される。
【0069】
なお、
図9に示すように、アクセスユニット内で先頭のスライスセグメントよりも前に配置されるNALユニットが、先頭のスライスセグメントと同一のMMTパケットに格納されてもよい。
【0070】
また、シーケンス又はストリームの終端を示す、End−of−Sequence又はEnd−of−BitstreamなどのNALユニットが最終スライスセグメントの後に付加される場合には、これらは、最終スライスセグメントと同一のMMTパケットに格納される。ただし、End−of−Sequence又はEnd−of−BitstreamなどのNALユニットは、復号処理の終了ポイント、又は2本のストリームの接続ポイントなどに挿入されるため、受信装置200が、これらのNALユニットを、多重化レイヤにおいて容易に取得できることが望ましい場合がある。この場合には、これらのNALユニットは、スライスセグメントとは別のMMTパケットに格納されてもよい。これにより、受信装置200は、多重化レイヤにおいてこれらのNALユニットを容易に分離できる。
【0071】
なお、多重化方式として、TS、DASH又はRTPなどが用いられてもよい。これらの方式においても、送信装置100は、異なるスライスセグメントをそれぞれ異なるパケットに格納する。これにより、受信装置200が多重化レイヤにおいてスライスセグメントを分離できることを保証できる。
【0072】
例えば、TSが用いられる場合、スライスセグメント単位で符号化データがPESパケット化される。RTPが用いられる場合、スライスセグメント単位で符号化データがRTPパケット化される。これらの場合においても、
図8に示すMMTパケット#1のように、スライスセグメントよりも前に配置されるNALユニットとスライスセグメントとが別々にパケット化されてもよい。
【0073】
TSが用いられる場合、送信装置100は、data alignment記述子を用いることなどにより、PESパケットに格納されるデータの単位を示す。また、DASHはセグメントと呼ばれるMP4形式のデータ単位をHTTPなどによりダウンロードする方式であるため、送信装置100は、送信にあたって符号化データのパケット化は行わない。このため、送信装置100は、受信装置200がMP4において多重化レイヤでスライスセグメントを検出できるように、スライスセグメント単位でサブサンプルを作成し、サブサンプルの格納位置を示す情報をMP4のヘッダに格納してもよい。
【0074】
以下、スライスセグメントのMMTパケット化について、詳細に説明する。
【0075】
図8に示すように、符号化データがパケット化されることで、SPS及びPPSなどのアクセスユニット内の全スライスセグメントの復号時に共通に参照されるデータがMMTパケット#1に格納される。この場合、受信装置200は、MMTパケット#1のペイロードデータと各スライスセグメントのデータとを連結し、得られたデータを復号部に出力する。このように、受信装置200は、複数のMMTパケットのペイロードを連結することで、復号部への入力データを容易に生成できる。
【0076】
図10は、
図8に示すMMTパケットから復号部204A〜204Dへの入力データが生成される例を示す図である。逆多重化部203は、MMTパケット#1とMMTパケット#2とのペイロードデータを連結させることで、復号部204Aが、スライスセグメント1を復号するために必要なデータを生成する。逆多重化部203は、復号部204Bから復号部204Dについても、同様に入力データを生成する。つまり、逆多重化部203は、MMTパケット#1とMMTパケット#3とのペイロードデータを連結させることで、復号部204Bの入力データを生成する。逆多重化部203は、MMTパケット#1とMMTパケット#4とのペイロードデータを連結させることで、復号部204Cの入力データを生成する。逆多重化部203は、MMTパケット#1とMMTパケット#5とのペイロードデータを連結させることで、復号部204Dの入力データを生成する。
【0077】
なお、逆多重化部203は、アクセスユニットデリミタ及びSEIなど、復号処理に必要ではないNALユニットを、MMTパケット#1のペイロードデータから除去し、復号処理に必要であるSPS及びPPSのNALユニットのみを分離してスライスセグメントのデータに付加してもよい。
【0078】
図9に示すように符号化データがパケット化される場合には、逆多重化部203は、多重化レイヤにおいてアクセスユニットの先頭データを含むMMTパケット#1を1番目の
復号部204Aに出力する。また、逆多重化部203は、多重化レイヤにおいてアクセスユニットの先頭データを含むMMTパケットを解析し、SPS及びPPSのNALユニットを分離し、分離したSPS及びPPSのNALユニットを2番目以降のスライスセグメントのデータの各々に付加することで2番目以降の復号部の各々に対する入力データを生成する。
【0079】
さらに、受信装置200が、MMTパケットのヘッダに含まれる情報を用いて、MMTペイロードに格納されるデータのタイプ、及び、ペイロードにスライスセグメントが格納されている場合のアクセスユニット内における当該スライスセグメントのインデックス番号を識別できることが望ましい。ここで、データのタイプとは、スライスセグメント前データ(アクセスユニット内で先頭スライスセグメントよりも前に配置されるNALユニットをまとめて、このように呼ぶことにする)、及び、スライスセグメントのデータのいずれである。MMTパケットに、スライスセグメントなどのMPUをフラグメント化した単位を格納する場合には、MFU(Media Fragment Unit)を格納するためのモードが用いられる。送信装置100は、本モードを用いる場合には、例えば、MFUにおけるデータの基本単位であるData Unitを、サンプル(MMTにおけるデータ単位であり、アクセスユニットに相当する)、又は、サブサンプル(サンプルを分割した単位)に設定できる。
【0080】
このとき、MMTパケットのヘッダは、Fragmentation indicatorと呼ばれるフィールドと、Fragment counterと呼ばれるフィールドとを含む。
【0081】
Fragmentation indicatorは、MMTパケットのペイロードに格納されるデータが、Data unitをフラグメント化したものであるかどうか、フラグメント化したものである場合には、当該フラグメントがData unitにおける先頭或いは最終のフラグメント、又は、先頭と最終とのどちらでもないフラグメントであるかを示す。言い換えると、あるパケットのヘッダに含まれるFragmentation indicatorは、(1)基本データ単位であるData unitに当該パケットのみが含まれる、(2)Data unitが複数のパケットに分割して格納され、かつ、当該パケットがData unitの先頭のパケットである、(3)Data unitが複数のパケットに分割して格納され、かつ、当該パケットがData unitの先頭及び最後以外のパケットである、及び、(4)Data unitが複数のパケットに分割して格納され、かつ、当該パケットがData unitの最後のパケットである、のいずれであるかを示す識別情報である。
【0082】
Fragment counterは、MMTパケットに格納されるデータが、Data unitにおいて何番目のフラグメントに相当するかを示すインデックス番号である。
【0083】
従って、送信装置100が、MMTにおけるサンプルをData unitに設定し、スライスセグメント前データ、及び、各スライスセグメントを、それぞれData unitのフラグメント単位に設定することで、受信装置200は、MMTパケットのヘッダに含まれる情報を用いて、ペイロードに格納されるデータのタイプが識別できる。つまり、逆多重化部203は、MMTパケットのヘッダを参照して、各復号部204A〜204Dへの入力データを生成できる。
【0084】
図11は、サンプルがData unitに設定され、スライスセグメント前データ、及び、スライスセグメントがData unitのフラグメントとしてパケット化される場合の例を示す図である。
【0085】
スライスセグメント前データ、及びスライスセグメントは、フラグメント#1からフラグメント#5までの5つのフラグメントに分割される。各フラグメントは個別のMMTパケットに格納される。このとき、MMTパケットのヘッダに含まれるFragmentation indicator及びFragment counterの値は図示する通りである。
【0086】
例えば、Fragment indicatorは、2進数の2ビット値である。Data unitの先頭であるMMTパケット#1のFragment indicator、最終であるMMTパケット#5のFragment indicator、及び、その間のパケットであるMMTパケット#2からMMTパケット#4までのFragment indicatorは、それぞれ別の値に設定される。具体的には、Data unitの先頭であるMMTパケット#1のFragment indicatorは01に設定され、最終であるMMTパケット#5のFragment indicatorは11に設定され、その間のパケットであるMMTパケット#2からMMTパケット#4までのFragment indicatorは10に設定される。なお、Data unitに一つのMMTパケットのみが含まれる場合には、Fragment indicatorは00に設定される。
【0087】
また、Fragment counterは、MMTパケット#1においてはフラグメントの総数である5から1を減算した値である4であり、後続パケットにおいては順に1ずつ減少し、最後のMMTパケット#5においては0である。
【0088】
従って、受信装置200は、スライスセグメント前データを格納するMMTパケットを、Fragment indicator、及び、Fragment counterのいずれかを用いて識別できる。また、受信装置200は、N番目のスライスセグメントを格納するMMTパケットを、Fragment counterを参照することにより識別できる。
【0089】
MMTパケットのヘッダは、別途、Data unitが属するMovie FragmentのMPU内でのシーケンス番号と、MPU自体のシーケンス番号と、Data unitが属するサンプルのMovie Fragment内におけるシーケンス番号とを含む。逆多重化部203は、これらを参照することで、Data unitが属するサンプルを一意に決定できる。
【0090】
更に、逆多重化部203は、Data unit内におけるフラグメントのインデックス番号をFragment counterなどから決定できるため、パケットロスが発生した場合にも、フラグメントに格納されるスライスセグメントを一意に特定できる。例えば、逆多重化部203は、
図11に示すフラグメント#4がパケットロスにより取得できなかった場合でも、フラグメント#3の次に受信したフラグメントがフラグメント#5であることが分かるため、フラグメント#5に格納されるスライスセグメント4を、復号部204Cではなく復号部204Dに正しく出力することができる。
【0091】
なお、パケットロスが発生しないことが保証される伝送路が使用される場合には、逆多重化部203は、MMTパケットのヘッダを参照してMMTパケットに格納されるデータのタイプ、又はスライスセグメントのインデックス番号を決定せずに、到着したパケットを周期的に処理すればよい。例えば、アクセスユニットが、スライス前データ、及び、4つのスライスセグメントの計5つのMMTパケットにより送信される場合には、受信装置200は、復号を開始するアクセスユニットのスライス前データを決定した後は、受信したMMTパケットを順に処理することで、スライス前データ、及び、4つのスライスセグメントのデータを順に取得できる。
【0092】
以下、パケット化の変形例について説明する。
【0093】
スライスセグメントは、必ずしもアクセスユニットの面内を水平方向と垂直方向との両方に分割されたものである必要はなく、
図1に示すように、アクセスユニットを水平方向のみに分割されたものでもよいし、垂直方向のみに分割されたものでもよい。
【0094】
また、水平方向のみにアクセスユニットが分割される場合には、タイルが用いられる必要はない。
【0095】
また、アクセスユニットにおける面内の分割数は任意であり、4つに限定されるものではない。但し、スライスセグメント及びタイルの領域サイズはH.265などの符号化規格の下限以上である必要がある。
【0096】
送信装置100は、アクセスユニットにおける面内の分割方法を示す識別情報を、MMTメッセージ、又はTSのデスクリプタなどに格納してもよい。例えば、面内における水平方向と垂直方向との分割数とをそれぞれ示す情報が格納されてもよい。または、
図3に示すように水平方向及び垂直方向にそれぞれ2等分されている、又は、
図1に示すように水平方向に4等分されているなど、分割方法に対して固有の識別情報が割り当てられてもよい。例えば、
図3に示すようにアクセスユニットが分割されている場合は、識別情報はモード1を示し、
図1に示すようにアクセスユニットが分割されている場合には、識別情報はモード1を示す。
【0097】
また、面内の分割方法に関連する符号化条件の制約を示す情報が、多重化レイヤに含まれてもよい。例えば、1つのスライスセグメントが1つのタイルから構成されること示す情報が用いられてもよい。または、スライスセグメント或いはタイルの復号時に動き補償を行う場合の参照ブロックが、画面内の同一位置のスライスセグメント或いはタイルに制限される、又は、隣接スライスセグメントにおける所定の範囲内のブロックに限定されることなどを示す情報が用いられてもよい。
【0098】
また、送信装置100は、動画像の解像度に応じて、アクセスユニットを複数のスライスセグメントに分割するかどうかを切替えてもよい。例えば、送信装置100は、処理対象の動画像が4K2Kの解像度の場合には面内の分割を行わずに、処理対象の動画像が8K4Kの場合にはアクセスユニットを4つに分割してもよい。8K4Kの動画像の場合の分割方法を予め規定しておくことにより、受信装置200は、受信する動画像の解像度を取得することで、面内の分割の有無、及び分割方法を決定し、復号動作を切替えることができる。
【0099】
また、受信装置200は、面内の分割の有無を、MMTパケットのヘッダを参照することにより検出できる。例えば、アクセスユニットが分割されない場合には、MMTのData unitがサンプルに設定されていれば、Data unitのフラグメントは行われない。従って、受信装置200は、MMTパケットのヘッダに含まれるFragment counterの値が常にゼロの場合には、アクセスユニットは分割されないと判定できる。または、受信装置200は、Fragmentation indicatorの値が常に01であるかどうかを検出してもよい。受信装置200は、Fragmentation indicatorの値が常に01の場合もアクセスユニットは分割されないと判定できる。
【0100】
また、受信装置200は、アクセスユニットにおける面内の分割数と復号部の数とが一致しない場合にも対応できる。例えば、受信装置200が、8K2Kの符号化データを実時間で復号できる2つの復号部204A及び204Bを備える場合には、逆多重化部203は、復号部204Aに対して、8K4Kの符号化データを構成する4つのスライスセグメントのうちの2つを出力する。
【0101】
図12は、
図8に示すようにMMTパケット化されたデータが、2つの復号部204A及び204Bに入力される場合の動作例を示す図である。ここで、受信装置200は、復号部204A及び204Bにおける復号結果を、そのまま統合して出力できることが望ましい。よって、逆多重化部203は、復号部204A及び204Bの各々の復号結果が空間的に連続するように、復号部204A及び204Bの各々に出力するスライスセグメントを選択する。
【0102】
また、逆多重化部203は、動画像の符号化データの解像度又はフレームレートなどに応じて、使用する復号部を選択してもよい。例えば、受信装置200が4K2Kの復号部を4つ備える場合には、入力画像の解像度が8K4Kであれば、受信装置200は、4つ全ての復号部を用いて復号処理を行う。また、受信装置200は、入力画像の解像度が4K2Kであれば1つの復号部のみを用いて復号処理を行う。または、逆多重化部203は、面内が4つに分割されていても、8K4Kを単一の復号部により実時間で復号できる場合には、全ての分割単位を統合して一つの復号部に出力する。
【0103】
さらに、受信装置200は、フレームレートを考慮して使用する復号部を決定してもよい。例えば、受信装置200が、解像度が8K4Kである場合に実時間で復号可能なフレームレートの上限が60fpsである復号部を2台備える場合に、8K4Kで120fpsの符号化データが入力されるケースがある。このとき、面内が4つの分割単位から構成されるとすると、
図12の例と同様に、スライスセグメント1とスライスセグメント2とが復号部204Aに入力され、スライスセグメント3とスライスセグメント4とが復号部204Bに入力される。各々の復号部204A及び204Bは、8K2K(解像度が8K4Kの半分)であれば120fpsまで実時間で復号できるため、これら2台の復号部204A及び204Bにより復号処理が行われる。
【0104】
また、解像度及びフレームレートが同一であっても、符号化方式におけるプロファイル、或いはレベル、又は、H.264或いはH.265など符号化方式自体が異なると処理量が異なる。よって、受信装置200は、これらの情報に基づいて使用する復号部を選択してもよい。なお、受信装置200は、放送又は通信により受信した符号化データを全て復号することができない場合、又は、ユーザーが選択した領域を構成する全てのスライスセグメント又はタイルが復号できない場合には、復号部の処理範囲内で復号可能なスライスセグメント又はタイルを自動的に決定してもよい。または、受信装置200は、ユーザーが復号する領域を選択するためのユーザインタフェースを提供してもよい。このとき、受信装置200は、全て領域を復号できないことを示す警告メッセージを表示してもよいし、復号可能な領域、スライスセグメント又はタイルの個数を示す情報を表示してもよい。
【0105】
また、上記方法は、同一符号化データのスライスセグメントを格納するMMTパケットが、放送及び通信など複数の伝送路を用いて送信及び受信される場合にも適用できる。
【0106】
また、送信装置100は、分割単位の境界を目立たなくするために、各スライスセグメントの領域がオーバーラップするように符号化を行ってもよい。
図13に示す例では、8K4Kのピクチャが4つのスライスセグメント1〜4に分割される。スライスセグメント1〜3の各々は、例えば、8K×1.1Kであり、スライスセグメント4は8K×1Kである。また、隣接するスライスセグメントは互いにオーバーラップする。こうすることで、点線で示す4分割した場合の境界においては、符号化時の動き補償が効率的に実行できるため、境界部分の画質が向上する。このように、境界部分の画質劣化が低減される。
【0107】
この場合、表示部205は、8K×1.1Kの領域から、8K×1Kの領域を切り出し、得られた領域を統合する。なお、送信装置100は、スライスセグメントがオーバーラップして符号化されているかどうか、及び、オーバーラップの範囲を示す情報を、多重化レイヤ、又は、符号化データ内に含めて、別途送信してもよい。
【0108】
なお、タイルが使用される場合にも、同様の手法を適用可能である。
【0109】
以下、送信装置100の動作の流れを説明する。
図14は、送信装置100の動作例を示すフローチャートである。
【0110】
まず、符号化部101は、ピクチャ(アクセスユニット)を複数の領域である複数のスライスセグメント(タイル)に分割する(S101)。次に、符号化部101は、複数のスライスセグメントの各々を独立して復号が可能なように符号化することで、複数のスライスセグメントの各々に対応する符号化データを生成する(S102)。なお、符号化部101は、複数のスライスセグメントを単一の符号化部で符号化してもよし、複数の符号化部で並列処理してもよい。
【0111】
次に、多重化部102は、符号化部101で生成された複数の符号化データを、複数のMMTパケットに格納することで、複数の符号化データを多重化する(S103)。具体的には、
図8及び
図9に示すように、多重化部102は、一つのMMTパケットに、異なるスライスセグメントに対応する符号化データが格納されないように、複数の符号化データを複数のMMTパケットに格納する。また、多重化部102は、
図8に示すように、ピクチャ内の全ての復号単位に対して共通に用いられる制御情報を、複数の符号化データが格納される複数のMMTパケット#2〜#5とは異なるMMTパケット#1に格納する。ここで制御情報は、アクセスユニットデリミタ、SPS,PPS及びSEIのうち少なくとも一つを含む。
【0112】
なお、多重化部102は、制御情報を、複数の符号化データが格納される複数のMMTパケットのいずれかと同じMMTパケットに格納してもよい。例えば、
図9に示すように、多重化部102は、制御情報を、複数の符号化データが格納される複数のMMTパケットのうちの先頭のMMTパケット(
図9のMMTパケット#1)に格納してもよい。
【0113】
最後に、送信装置100は、複数のMMTパケットを送信する。具体的には、変調部103は、多重化により得られたデータを変調し、送信部104は、変調後のデータを送信する(S104)。
【0114】
図15は、受信装置200の構成例を示すブロック図であり、
図7に示す逆多重化部203及びその後段の構成を詳細に示す図である。
図15に示すように、受信装置200は、さらに、復号命令部206を備える。また、逆多重化部203は、タイプ判別部211と、制御情報取得部212と、スライス情報取得部213と、復号データ生成部214とを備える。
【0115】
以下、受信装置200の動作の流れを説明する。
図16は、受信装置200の動作例を示すフローチャートである。ここでは、1つのアクセスユニットに対する動作を示す。複数のアクセスユニットの復号処理が実行される場合には、本フローチャートの処理が繰り返される。
【0116】
まず、受信装置200は、は、例えば、送信装置100により生成された複数のパケット(MMTパケット)を受信する(S201)。
【0117】
次に、タイプ判別部211は、受信パケットのヘッダを解析することで、受信パケットに格納されている符号化データのタイプを取得する(S202)。
【0118】
次に、タイプ判別部211は、取得された符号化データのタイプに基づき、受信パケットに格納されているデータがスライスセグメント前データであるか、スライスセグメントのデータであるかを判定する(S203)。
【0119】
受信パケットに格納されているデータがスライスセグメント前データである場合(S203でYes)、制御情報取得部212は、受信パケットのペイロードから処理対象のアクセスユニットのスライスセグメント前データを取得し、当該スライスセグメント前データをメモリに格納する(S204)。
【0120】
一方、受信パケットに格納されているデータがスライスセグメントのデータである場合(S203でNo)、受信装置200は、受信パケットのヘッダ情報を用いて、当該受信パケットに格納されているデータが、複数の領域のうちいずれの領域の符号化データであるかを判定する。具体的には、スライス情報取得部213は、受信パケットのヘッダを解析することで、受信パケットに格納されているスライスセグメントのインデックス番号Idxを取得する(S205)。具体的には、インデックス番号Idxは、アクセスユニット(MMTにおけるサンプル)のMovie Fragment内におけるインデックス番号である。
【0121】
なお、このステップS205の処理は、ステップS202においてまとめて行われてもよい。
【0122】
次に、復号データ生成部214は、当該スライスセグメントを復号する復号部を決定する(S206)。具体的には、インデックス番号Idxと複数の復号部とは予め対応付けられており、復号データ生成部214は、ステップS205で取得されたインデックス番号Idxに対応する復号部を、当該スライスセグメントを復号する復号部を決定する。
【0123】
なお、復号データ生成部214は、
図12の例において説明したように、アクセスユニット(ピクチャ)の解像度、アクセスユニットの複数のスライスセグメント(タイル)への分割方法、及び受信装置200が備える複数の復号部の処理能力の少なくとも一つに基づき、当該スライスセグメントを復号する復号部を決定してもよい。例えば、復号データ生成部214は、アクセスユニットの分割方法を、MMTのメッセージ、又はTSのセクションなどのデスクリプタにおける識別情報に基づいて判別する。
【0124】
次に、復号データ生成部214は、複数のパケットのいずれかに含まれる、ピクチャ内の全ての復号単位に対して共通に用いられる制御情報と、複数のスライスセグメントの複数の符号化データの各々とを結合することで、複数の復号部へ入力される複数の入力データ(結合データ)を生成する。具体的には、復号データ生成部214は、受信パケットのペイロードからスライスセグメントのデータを取得する。復号データ生成部214は、ステップS204でメモリに格納されたスライスセグメント前データと、取得されたスライスセグメントのデータとを結合することで、ステップS206で決定された復号部への入力データを生成する(S207)。
【0125】
ステップS204又はS207の後、受信パケットのデータがアクセスユニットの最終データでない場合(S208でNo)、ステップS201以降の処理が再度行われる。つまり、アクセスユニットに含まれる全てのスライスセグメントに対応する、複数の復号部204A〜204Dへの入力データが生成されるまで、上記処理が繰り返される。
【0126】
なお、パケットが受信されるタイミングは、
図16に示すタイミングに限らず、予め又は順次複数のパケットが受信され、メモリ等に格納されてもよい。
【0127】
一方、受信パケットのデータがアクセスユニットの最終データである場合(S208でYes)、復号命令部206は、ステップS207で生成された、複数の入力データを、対応する復号部204A〜204Dへ出力する(S209)。
【0128】
次に、複数の復号部204A〜204Dは、アクセスユニットのDTSに従い、複数の入力データを並列に復号することで、複数の復号画像を生成する(S210)。
【0129】
最後に、表示部205は、複数の復号部204A〜204Dで生成された複数の復号画像を結合することで表示画像を生成し、アクセスユニットのPTSに従い当該表示画像を表示する(S211)。
【0130】
なお、受信装置200は、アクセスユニットのDTS及びPTSを、MPUのヘッダ情報、又は、Movie Fragmentのヘッダ情報を格納するMMTパケットのペイロードデータを解析することにより取得する。また、受信装置200は、多重化方式としてTSが使用されている場合にはPESパケットのヘッダからアクセスユニットのDTS及びPTSを取得する。受信装置200は、多重化方式としてRTPが使用されている場合にはRTPパケットのヘッダからアクセスユニットのDTS及びPTSを取得する。
【0131】
また、表示部205は、複数の復号部の復号結果を統合する際に、隣接する分割単位の境界においてデブロックフィルタなどのフィルタ処理を行ってもよい。なお、単一の復号部の復号結果を表示する場合にはフィルタ処理は不要であるため、表示部205は、複数の復号部の復号結果の境界にフィルタ処理を行うかどうかに応じて処理を切替えてもよい。フィルタ処理が必要かどうかは、分割の有無などに応じて予め規定されていてもよい。または、フィルタ処理が必要かどうかを示す情報が、多重化レイヤに別途格納されてもよい。また、フィルタ係数などフィルタ処理に必要な情報は、SPS、PPS、SEI、又はスライスセグメント内に格納される場合がある。復号部204A〜204D、又は逆多重化部203がSEIを解析することによりこれらの情報を取得し、取得された情報を表示部205に出力する。表示部205は、これらの情報を用いてフィルタ処理を行う。なお、これらの情報がスライスセグメント内に格納される場合には、復号部204A〜204Dがこれらの情報を取得することが望ましい。
【0132】
なお、上記説明では、フラグメントに格納されるデータの種類がスライスセグメント前データとスライスセグメントとの2種類である場合の例を示したが、データの種類は3種類以上であってもよい。この場合には、ステップS203においてタイプに応じた場合分けが行われる。
【0133】
また、送信装置100は、スライスセグメントのデータサイズが大きい場合にスライスセグメントをフラグメント化してMMTパケットに格納してもよい。つまり、送信装置100は、スライスセグメント前データ及びスライスセグメントをフラグメント化してもよい。この場合に、
図11に示したパケット化の例のようにアクセスユニットとData unitとを等しく設定すると以下の問題が生じる。
【0134】
例えばスライスセグメント1が3つのフラグメントに分割される場合、スライスセグメント1がFragment counter値が1から3の3つのパケットに分割して送信される。また、スライスセグメント2以降では、Fragment counter値が4以上となり、Fragment counterの値とペイロードに格納されるデータとの対応付けが取れなくなる。従って、受信装置200は、MMTパケットのヘッダの情報から、スライスセグメントの先頭データを格納するパケットを特定できない。
【0135】
このような場合には、受信装置200は、MMTパケットのペイロードのデータを解析して、スライスセグメントの開始位置を特定してもよい。ここで、H.264又はH.265においてNALユニットを多重化レイヤに格納する形式として、NALユニットヘッダの直前に特定のビット列からなるスタートコードが付加されるバイトストリームフォーマットと呼ばれる形式と、NALユニットのサイズを示すフィールドが付加されるNALサイズフォーマットと呼ばれる形式との2種類がある。
【0136】
バイトストリームフォーマットは、MPEG−2システム及びRTPなどにおいて用いられる。NALサイズフォーマットは、MP4、並びにMP4を使用するDASH及びMMTなどにおいて用いられる。
【0137】
バイトストリームフォーマットが用いられる場合、受信装置200は、パケットの先頭データがスタートコードと一致するかどうかを解析する。受信装置200は、パケットの先頭データがスタートコードと一致していれば、その後に続くNALユニットヘッダからNALユニットのタイプを取得することで、当該パケットに含まれるデータがスライスセグメントのデータであるかどうかを検出できる。
【0138】
一方、NALサイズフォーマットの場合には、受信装置200は、ビット列に基づいてNALユニットの開始位置を検出できない。従って、受信装置200は、NALユニットの開始位置を取得するために、アクセスユニットの先頭NALユニットから順に、NALユニットのサイズ分だけデータの読出すことでポインタをシフトさせていく必要がある。
【0139】
但し、MMTにおけるMPU又はMovie Fragmentのヘッダにおいて、サブサンプル単位のサイズが示され、サブサンプルがスライス前データ又はスライスセグメントに対応する場合には、受信装置200は、サブサンプルのサイズ情報に基づいて各NALユニットの開始位置を特定できる。そのため、送信装置100は、サブサンプル単位の情報がMPU又はMovie Fragmentに存在するかどうかを示す情報を、MMTにおけるMPTなどの、受信装置200がデータの受信開始時に取得する情報に含めてもよい。
【0140】
なお、MPUのデータはMP4フォーマットをベースに拡張したものである。MP4においては、H.264又はH.265のSPS及びPPSなどのパラメータセットをサンプルデータとして格納可能なモードと、格納できないモードとがある。また、このモードを特定するための情報がSampleEntryのエントリ名として示される。格納可能なモードが用いられており、パラメータセットがサンプルに含まれる場合には、受信装置200は、上述した方法によりパラメータセットを取得する。
【0141】
一方、格納できないモードが用いられている場合には、パラメータセットは、SampleEntry内のDecoder Specific Informationとして格納される、又は、パラメータセット用のストリームを用いて格納される。ここで、パラメータセット用のストリームは一般的には使用されていないので、送信装置100は、Decoder Specific Informationにパラメータセットを格納することが望ましい。この場合には、受信装置200は、MMTパケットにおいてMPUのメタデータ、又は、Movie Fragmentのメタデータとしてとして送信されるSampleEntryを解析して、アクセスユニットが参照するパラメータセットを取得する。
【0142】
パラメータセットがサンプルデータとして格納される場合には、受信装置200は、SampleEntryを参照せずにサンプルデータのみを参照すれば復号に必要なパラメータセットが取得できる。このとき、送信装置100は、SampleEntryにパラメータセットを格納しなくてもよい。こうすることで、送信装置100は、異なるMPUにおいて同一のSampleEntryを用いることができるので、MPU生成時の送信装置100の処理負荷を低減できる。さらに、受信装置200がSampleEntry内のパラメータセットを参照する必要がなくなるというメリットがある。
【0143】
または、送信装置100は、SampleEntryにデフォルトのパラメータセットを1つ格納し、アクセスユニットが参照するパラメータセットをサンプルデータに格納してもよい。従来のMP4においては、SampleEntryにパラメータセットを格納するのが一般的であったため、SampleEntryにパラメータセットが存在しない場合、再生を停止する受信装置が存在する可能性がある。上記の方法を用いることで、この問題を解決できる。
【0144】
または、送信装置100は、デフォルトのパラメータセットとは異なるパラメータセットが使用される場合にのみ、サンプルデータにパラメータセットを格納してもよい。
【0145】
なお、両モード共に、パラメータセットをSampleEntryに格納することは可能であるため、送信装置100は、パラメータセットを常にVisualSampleEntryに格納し、受信装置200は常にVisualSampleEntryからパラメータセットを取得してもよい。
【0146】
なお、MMT規格においては、Moov及びMoofなどMP4のヘッダ情報はMPUメタと呼ばれるが、送信装置100は、MPUメタを必ずしも送信しなくてもよい。さらに、受信装置200は、ARIB(Association of Radio Industries and Businesses)規格のサービス、アセットのタイプ、又は、MPUメタの伝送有無などに基づいて、サンプルデータ内にSPS及びPPSが格納されるかどうかを判定することも可能である。
【0147】
図17は、スライスセグメント前データ及び各スライスセグメントが、それぞれ異なるData unitに設定される場合の例を示す図である。
【0148】
図17に示す例では、スライスセグメント前データ、及びスライスセグメント1からスライスセグメント4までのデータサイズは、それぞれLength#1からLength#5である。MMTパケットのヘッダに含まれるFragmentation indicator、Fragment counter、及び、Offsetの各フィールド値は図中に示す通りである。
【0149】
ここで、Offsetは、ペイロードデータが属するサンプル(アクセスユニット又はピクチャ)の符号化データの先頭から、当該MMTパケットに含まれるペイロードデータ(符号化データ)の先頭バイトまでのビット長(オフセット)を示すオフセット情報である。なお、Fragment counterの値はフラグメントの総数から1を減算した値から開始するとして説明するが、他の値から開始してもよい。
【0150】
図18は、Data unitがフラグメント化される場合の例を示す図である。
図18に示す例では、スライスセグメント1が3つのフラグメントに分割され、それぞれMMTパケット#2からMMTパケット#4に格納される。このときも、各フラグメントのデータサイズを、それぞれLength#2_1からLength#2_3とすると、各フィールドの値は図中に示す通りである。
【0151】
このように、スライスセグメントなどのデータ単位がData unitに設定される場合、アクセスユニットの先頭、及びスライスセグメントの先頭は、MMTパケットヘッダのフィールド値に基づいて以下のように決定できる。
【0152】
Offsetの値が0であるパケットにおけるペイロードの先頭は、アクセスユニットの先頭である。
【0153】
Offsetの値が0とは異なる値であり、かつ、Fragmentation indcatorno値が00又は01であるパケットのペイロードの先頭が、スライスセグメントの先頭である。
【0154】
また、Data unitのフラグメント化が発生せず、パケットロスも発生しない場合には、受信装置200は、アクセスユニットの先頭を検出した後に取得したスライスセグメントの数に基づいて、MMTパケットに格納されるスライスセグメントのインデックス番号を特定できる。
【0155】
また、スライスセグメント前データのData unitがフラグメント化される場合においても、同様に、受信装置200は、アクセスユニット、及びスライスセグメントの先頭を検出できる。
【0156】
また、パケットロスが発生した場合、又は、スライスセグメント前データに含まれるSPS、PPS及びSEIが別々のData unitに設定された場合においても、受信装置200は、MMTヘッダの解析結果に基づいてスライスセグメントの先頭データを格納したMMTパケットを特定し、その後、スライスセグメントのヘッダを解析することで、ピクチャ(アクセスユニット)内におけるスライスセグメント又はタイルの開始位置を特定できる。スライスヘッダの解析に係る処理量は小さく、処理負荷は問題とならない。
【0157】
このように、複数のスライスセグメントの複数の符号化データの各々は、1以上のパケットに格納されるデータの単位である基本データ単位(Data unit)と一対一で対応付けられている。また、複数の符号化データの各々は、1以上のMMTパケットに格納される。
【0158】
各MMTパケットのヘッダ情報は、Fragmentation indicator(識別情報)及びOffset(オフセット情報)を含む。
【0159】
受信装置200は、受信装置200は、値が00又は01であるFragmentation indicatorが含まれるヘッダ情報を有するパケットに含まれるペイロードデータの先頭を、各スライスセグメントの符号化データの先頭であると判定する。具体的には、値が0でないOffsetと、値が00又は01であるFragmentation indicatorとが含まれるヘッダ情報を有するパケットに含まれるペイロードデータの先頭を、各スライスセグメントの符号化データの先頭であると判定する。
【0160】
また、
図17の例では、Data unitの先頭は、アクセスユニットの先頭、又は、スライスセグメントの先頭のいずれかであり、Fragmentation indicatorの値は00又は01である。さらに、受信装置200は、NALユニットのタイプを参照して、Data Unitの先頭がアクセスユニットデリミタ、又は、スライスセグメントのどちらであるかを判定することで、Offsetを参照せずに、アクセスユニットの先頭、又は、スライスセグメントの先頭を検出することも可能である。
【0161】
このように、送信装置100が、NALユニットの先頭が必ずMMTパケットのペイロードの先頭から開始されるようにパケット化を行うことで、スライスセグメント前データが複数のData unitに分割される場合も含めて、受信装置200は、Fragmentation indicator及びNALユニットヘッダを解析することにより、アクセスユニット、又は、スライスセグメントの先頭を検出できる。NALユニットのタイプは、NALユニットヘッダの先頭バイトに存在する。従って、受信装置200は、MMTパケットのヘッダ部を解析する際に、追加で1バイト分のデータを解析することによりNALユニットのタイプが取得できる。 オーディオの場合には、受信装置200は、アクセスユニットの先頭が検出できればよく、Fragmentation indicatorの値が00又は01であるかどうかに基づいて判定すればよい。
【0162】
また、上述したように、分割復号ができるように符号化された符号化データをMPEG−2 TSのPESパケットに格納する場合には、送信装置100は、data alignment記述子を用いることが可能である。以下、符号化データのPESパケットへの格納方法の例について詳細に説明する。
【0163】
例えば、HEVCにおいては、送信装置100は、data alignment記述子を用いることにより、PESパケットに格納されるデータがアクセスユニット、スライスセグメント、及び、タイルのいずれであるかを示すことができる。HEVCにおけるアラインメントのタイプは、次のように規定されている。
【0164】
アラインメントのタイプ=8は、HEVCのスライスセグメントを示す。アラインメントのタイプ=9は、HEVCのスライスセグメント又はアクセスユニットを示す。アラインメントのタイプ=12は、HEVCのスライスセグメント又はタイルを示す。
【0165】
よって、送信装置100は、例えば、タイプ9を用いることで、PESパケットのデータがスライスセグメント又はスライスセグメント前データのいずれかであることを示すことができる。スライスセグメントではなく、スライスを示すタイプも別途規定されているため、送信装置100は、スライスセグメントではなくスライスを示すタイプを使用してもよい。
【0166】
また、PESパケットのヘッダに含まれるDTS及びPTSは、アクセスユニットの先頭データを含むPESパケットにおいてのみ設定される。従って、受信装置200は、タイプが9であり、かつ、PESパケットにDTS又はPTSのフィールドが存在すれば、PESパケットにはアクセスユニット全体、又は、アクセスユニットにおける先頭の分割単位が格納されると判定できる。
【0167】
また、送信装置100は、アクセスユニットの先頭データを含むPESパケットを格納するTSパケットの優先度を示すtransport_priorityなどのフィールドを用いて、受信装置200がパケットに含まれるデータを区別できるようにしてもよい。また、受信装置200は、PESパケットのペイロードがアクセスユニットデリミタであるかどうかを解析することでパケットに含まれるデータを判定してもよい。また、PESパケットヘッダのdata_alignment_indicatorは、これらのタイプに従ってPESパケットにデータが格納されているかどうかを示す。このフラグ(data_alignment_indicator)が1にセットされていれば、PESパケットに格納されているデータはdata alignment記述子に示されるタイプに従うことが保証される。
【0168】
また、送信装置100は、スライスセグメントなどの分割復号可能な単位でPESパケット化する場合にのみdata alignment記述子を使用してもよい。これにより、受信装置200は、data alignment記述子が存在する場合には、符号化データが分割復号可能な単位でPESパケット化されていると判断でき、data alignment記述子が存在しなければ、符号化データがアクセスユニット単位でPESパケット化されていると判断できる。なお、data_alignment_indicatorが1にセットされており、data alignment記述子が存在しない場合には、PESパケット化の単位がアクセスユニットであることはMPEG−2 TS規格において規定されている。
【0169】
受信装置200は、PMT内にdata alignment記述子が含まれていれば、分割復号可能な単位でPESパケット化されていると判定し、パケット化された単位に基づいて、各復号部への入力データを生成することができる。また、受信装置200は、PMT内にdata alignment記述子が含まれておらず、番組情報、又はその他の記述子の情報に基づいて、符号化データの並列復号が必要と判定される場合には、スライスセグメントのスライスヘッダなどを解析することにより、各復号部への入力データを生成する。また、符号化データを単一の復号部により復号可能である場合には、受信装置200は、アクセスユニット全体のデータを当該の復号部で復号する。なお、符号化データがスライスセグメント又はタイルなどの分割復号可能な単位から構成されるかどうかを示す情報が、PMTの記述子などにより別途示されている場合、受信装置200は、当該記述子の解析結果に基づいて符号化データを並列復号できるかどうかを判定してもよい。
【0170】
また、PESパケットのヘッダに含まれるDTS及びPTSは、アクセスユニットの先頭データを含むPESパケットにおいてのみ設定されるため、アクセスユニットが分割されてPESパケット化される場合には、2番目以降のPESパケットにはアクセスユニットのDTS及びPTSを示す情報は含まれない。従って、復号処理を並列に行う場合、各復号部204A〜204D及び表示部205は、アクセスユニットの先頭データを含むPESパケットのヘッダに格納されるDTS及びPTSを使用する。
【0171】
以上、実施の形態に係る送信装置、受信装置、送信方法及び受信方法ついて説明したが、本発明は、この実施の形態に限定されるものではない。
【0172】
また、上記実施の形態に係る送信装置及び受信装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
【0173】
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0174】
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0175】
言い換えると、送信装置及び受信装置は、処理回路(processing circuitry)と、当該処理回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。処理回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、処理回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。処理回路は、記憶装置を用いて、上記実施の形態に係る送信方法又は受信方法を実行する。
【0176】
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【0177】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
【0178】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0179】
また、上記の送信方法又は受信方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
【0180】
以上、本発明の一つ又は複数の態様に係る送信装置、受信装置、送信方法及び受信方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。