特定の実施形態によれば、タイムドサンプル(例えば画像)を備えるタイル化タイムドメディアデータ(例えばビデオデータ)などのパーティション化されたタイムドメディアデータは、1セットのいくつかのタイムドメディアデータトラック、普通はベースレイヤトラックおよびいくつかのタイルトラック、およびタイムドメディアデータトラックに対する参照を備える参照または複合トラックとして送信される。各タイルトラックは、いくつかのタイムドサンプルの1つの空間的サブサンプル(例えば、いくつかのNALユニット)を備える。拡張された抽出器のタイプは、複合トラックからタイムドメディアデータトラックを参照するために規定される。タイムドメディアデータトラックは、表示することができないものとしてラベルづけされ、タイルに対してタイムドメディアデータを伝達し記述する。このようなタイムドメディアデータトラックのセットおよび複合トラックは、空間的ビデオタイルの選択、構成、および効率的なストリーミングを可能にする。各トラックは、サーバ装置からクライアント装置に対して1セットのメディアセグメントファイルとして送信することができる。イニシャライゼーションセグメントファイルは、メディアセグメントファイルを復号するのに必要なメタデータを送信するために用いられる。
図1aおよび図1bよりなる図1は、符号化ビデオビットストリーム内の符号化タイルの例を図示する。説明のために、ビデオフレームの空間的サブパート(空間的サブサンプル)に対応する独立的に復号可能なタイルから各ビデオフレーム(タイムドサンプル)が構成されると、以下の記述においては見なされる。ビデオは、異なるレベルのスケーラビリティにおいてスケーラブルで系統的であることが望ましい。図1aに図示されるように、ビデオフレーム100は、HDベースレイヤ(102)および4K2Kエンハンスメントレイヤ(104)を備えてもよい。さらに、説明のために、エンハンスメントレイヤ104は、符号a、b、cおよびdで示された4つの通常のタイルに分割されることができる。異なる形状のタイルが扱われてもよい、ということに留意するべきである。同様に、ベースレイヤ102は、いくつかのタイルに分割されることができる。このようなケースにおいて、いくつかの複合トラックは、例えば、ベースレイヤに対して1つ、およびエンハンスメントレイヤまたはエンハンスメントレイヤの各々に対して1つ、用いることができる。
また、本発明はスケーラブルビデオフォーマットに限定されない、ということに留意するべきである。それは、すべてのビデオフォーマットが独立的に復号されることを可能にするタイルに対して適用することができる。したがって、MPEG4、AVC、HEVC、SVC、または未来のSHVCのような、任意のビデオ圧縮アルゴリズムも、また、本発明の実施形態とともに用いられることができる。
図1bは、復号順序における典型的な符号化ビデオビットストリームを表現する。図示されるように、符号化ビデオビットストリームは、ここで、時間的順序で符号化された3つのビデオフレーム(110、112、および114)を備える。各ビデオフレームは、エンハンスメントレイヤのNALユニットが後続するベースレイヤ(BL)のネットワーク抽象化層(NAL)ユニットをすべて備える。例えば、第1のビデオフレーム(110)のベースレイヤ(102−1)のNALユニット(1BL、116)には、第1のビデオフレームのエンハンスメントレイヤ(104−1)のNALユニット(1common、1a、1b、1c、1d、118)が後続する。
空間的タイルをもつエンハンスメントレイヤに対応するビデオビットストリームの一部分は、各タイルのNALユニットから構成される。オプションとして、それは、また、すべてのタイルに共通で、且つ任意のタイルを復号するのに必要な、NALユニットを含んでもよい。所定のフレームのすべてのタイルに共通のNALユニットは、ビデオビットストリームの対応する部分におけるいかなる場所(すなわち、ビデオフレームのタイルのNALユニットの前、間、または後)にも設置されることができる。
図示されるように、空間的タイルa、b、c、およびdを備える第1のビデオフレーム(110)のエンハンスメントレイヤに対応するビデオビットストリームの部分は、各タイル(1a、1b、1c、および1d)のためのNALユニットと、すべてのタイルa、b、c、およびdに共通のNALユニット(1common)とから構成される。
図2は、ユーザーによって選択された表示されるべきタイルの時間的パイプを図示する。より正確には、図2は、第1のビデオフレームnおよび第2のビデオフレームn+m(ここで、nおよびmは整数値である)を表現しており、第1および第2のビデオフレームの各々は、1〜12と番号付けられた12個のタイルを備える。これら12個のタイルの中で、第3および第7のもののみが表示されるべきである(太線によって示されるように)。ビデオフレームnおよびn+mは、所定の時間期間に対応する一連の連続するフレームに属する。そのため、フレームnからフレームn+mまでの各フレームの第3および第7のタイルは、連続的に表示される。
図1に図示されるように、ビデオビットストリームのデータは、全フレームに対応する時間的サンプルとして構成される。したがって、これらのフレームの特定の空間領域が図2を参照して上記したように所定の期間の間にアクセスされる場合に、各々のフレーム毎にいくつかの小さなバイトレンジにアクセスすることが必要である。これは、生成されたリクエストの数の点から、およびデータのオーバヘッドの点から、HTTPストリーミングにおいて非効率的である。
そのため、ROIストリーミングのための圧縮されたビデオにおける効率的なアクセスを提供するために、タイムドメディアデータビットストリームは、特定のタイルのデータが所定の期間に(パイプを形成する)連続したバイトレンジ(すなわち、連続するフレームのセット)として構成されるように、インデックス付けられるか、または再構成されるべきである。
したがって、ビデオフレームの空間的サブパートのみが表示される場合、選択された空間領域に対応するタイルのパイプのみが、1パイプおよび1期間当たり1つのHTTP要求を用いてダウンロードされなければならない(例えば図2のタイル3および7)。
図3は、特定の実施形態による、メディアデータトラックを用いたイニシャライゼーションセグメントファイルのブロック図の一例を図示する。
図3に図示されたイニシャライゼーションセグメントファイル、および図4に図示されたメディアセグメントファイルは、いくつかのトラックが独立的にストリーミングされる一方で、ISOのベースメディアファイルフォーマットでビデオビットストリームを再構成しカプセル化する本発明の実施形態を図示する。説明のために、図3および図4の内容は、図1に図示されたビデオビットストリームに基づく。
いくつかのトラックが独立的にストリーミングされる一方で、ISO BMFFにおいてビデオビットストリームを再構成しカプセル化するために、タイルトラックと呼ばれる新たなタイプのトラックが規定される。タイルトラックは、定義によれば、サンプルが単一のタイムスタンプに関連付けられたデータをすべて表現するところの関連付けられたサンプルのタイムドシーケンスによる、トラックである。サンプルが普通は個々のビデオフレームである既知のビデオメディアトラック対し、タイルトラックのサンプルは、全ビデオフレームの空間的に規定されたサブパートを規定する。したがって、タイルトラックは、所定のタイルに関連するNALユニットのみを含む。このように、独立したセグメントファイル内に各トラックを保存することによって、連続したバイトレンジをもつタイルのパイプを作成することが可能である。
しかしながら、一つのタイルトラックが復号されて再生されるのに必要なNALユニットおよび情報をすべて含んでいないので、「複合トラック」と呼ばれる付加トラックが用いられる。特定の実施形態によれば、複合トラックは、完全なタイル化フレーム(すなわち、すべてのタイルの構成)を表現するメディアトラックである。複合トラックは、(復号順序のフレーム毎に)図1を参照して記載したるような、その典型的な構成において符号化されたタイムドメディアデータビットストリームの表現である。複合トラックは、それぞれのタイルトラック内のNALユニットを参照するために抽出器オブジェクトを用いる。さらに、それは、このようなNALユニットが存在するならば、すべてのタイルに共通のNALユニットを含んでもよい。
特定の実施形態によれば、イニシャライゼーションセグメントファイルは、他のメディアセグメントファイル内のカプセル化されたタイムドメディアデータビットストリームを規定するのに必要なメタデータをすべて送信するために用いられる。図3に示されるように、イニシャライゼーションセグメントファイル300は、ファイルタイプボックス「ftyp」302と、ムービーボックス「moov」304とを含む。ファイルタイプボックス302は、セグメントファイルがどのISO BMF規格に準拠するのかを識別し、その規格のバージョン番号を示すことが好ましい。ムービーボックス「moov」304は、メディアセグメントファイル内に保存されたプレゼンテーションを記述するすべてのメタデータと、特にプレゼンテーションにおいて利用可能なすべてのトラックとを提供する。
ムービーボックス「moov」304は、図1の具体例として提供されたスケーラブルビデオビットストリームに対応するトラックの各々(「トラック」ボックス306−1〜306−6)に対する定義を含む。
トラックボックス306−1は、ベースレイヤを表現し(track_ID=1)、4つのトラックボックス306−2〜306−5(トラックボックス306−3および306−4は図示せず)は、エンハンスメントレイヤの4つのタイルa、b、c、およびdを表現し(track_ID=2〜5)、トラックボックス306−6は、エンハンスメントレイヤを記述する複合トラックを表現する(track_ID=6)。
各トラックボックスは、少なくとも、トラックヘッダボックス「tkhd」総称して308と、トラックメディアボックス「mdia」総称して310を含む。トラックが他のトラックからのデータに依存するならば、トラック参照ボックス「tref」もある。図示されるように、識別子track_ID=6を有する複合トラックは、識別子track_ID=1〜6を有するトラックからのデータにトラックが依存するということを示す、トラック参照ボックス「tref」312を備える。
他のボックスがタイムドメディアデータビットストリームをカプセル化するために用いられるISO BMFF規格に必須または任意に依存することができるということに留意するべきである。しかしながら、本発明の実施形態は、適用可能にするためにこれらのボックスに依存しないので、ここでは提示されない。
トラックヘッダボックス「tkhd」308は、トラックの特性を指定する。情報のいくつかのアイテムの中で、それは、トラックの識別子(track_ID)、トラックの期間、および/またはトラックのビジュアルプレゼンテーションサイズ(すなわち、表示エリアの幅および高さ)を提供する。それは、また、トラックが再生可能か否かを示すフラグパラメータを備える。
ある実施形態によれば、タイルトラックのためのトラックヘッダフラグのデフォルト値は、タイルトラックがクライアント装置による局所的な再生およびプレビューに対して無視されるということを意味する、0(track_enabled= 0、track_in_movie=0、track_in_preview=0)である。別の実施形態において、トラックがタイルトラックであるということをシグナリングするために、新たなトラックヘッダフラグを作成することができる。
トラックメディアボックス「mdia」310は、トラック内のタイムドメディアデータのパラメータを宣言するために用いられるオブジェクトをすべて収納するコンテナとして認識することができる。それは、少なくとも、メディアヘッダボックス「mdhd」総称して314と、ハンドラ参照ボックス「hdlr」総称して316と、メディア情報ボックス「minf」総称して318とを収納する。
ハンドラ参照ボックス「hdlr」316は、プロセスを宣言し、そのプロセスによってトラックのタイムドメディアデータと、ひいてはトラックにおけるタイムドメディアデータの性質とが提示される。例えば、ビデオトラックは、(「vide」に等しいハンドラ型属性により指示される)ビデオハンドラによって扱われるだろう。ビデオサンプルは、VisualSampleEntry()タイプのオブジェクトの使用によって記述されることができる。特定の実施形態によれば、(「tile」に等しいハンドラ型属性により指示された)タイルハンドラと呼ばれる新たなハンドラタイプは、トラックが空間的サブサンプル情報を含むことを示すために規定される。符号化フォーマットによっては、VisualSampleEntry()タイプのオブジェクトがタイルトラック内のサンプルを記述することができなければ、サンプルを記述するTileSampleEntry()タイプの特定の目的を規定することが可能である。
メディア情報ボックス「minf」318は、トラック内のタイムドメディアデータの特性情報を規定するオブジェクトをすべて含む。例えば、ベースレイヤに対して、および複合トラックにおいて規定されたエンハンスメントレイヤに対して、「minf」ボックスは、標準的ビデオメディアヘッダボックス「vmhd」(320)を収納してもよい。
タイルトラックに関しては、新たなタイルハンドラに対応する、タイルメディアヘッダボックス(tmhd、322)とよばれる特定のボックスは、タイルに対して、符号化に依存しないで、一般的なプレゼンテーション情報を規定するために用いられる。特に、それは、複合ビデオトラックによって表現されるビデオ解像度に関連するタイルによってカバーされる空間領域の幾可学的形状情報を収納してもよく、以下のように定義することができる。
aligned(8) class TileMediaHeaderBox
extends FullBox(‘tmhd’, version = 0, 0) {
unsigned int(16) horizontal_offset;
unsigned int(16) vertical_offset;
}
先に記述されたように、複合トラックは、プレゼンテーションにおいて別のトラックに対してタイプされた参照を提供する特定のトラック参照ボックス「tref」312を備える。特定の実施形態によれば、このようなタイプ付きの参照は、複合トラックからそれが参照するタイルトラックまでのリンクを確立するために用いることができる「tile」参照(324)と、この参照を含むトラックからそれが依存するタイムドメディアデータトラックまでのリンクを確立するために用いることができる「scal」参照(326)(例えばベースレイヤトラック(track_ID=1))とを備えてもよい。
図4は、図3において示されたものの様なイニシャライゼーションセグメントファイルにおいて宣言されたるトラックに対応する、特定の実施形態による、タイルトラックと1つの複合トラックとを備えるメディアセグメントファイルのブロック図の一例を図示する。先に記載したように、図3に示されたイニシャライゼーションセグメントファイル、および図4に示されたメディアセグメントファイルは、いくつかのトラックが独立的にストリーミングされる間に、ISOのベースメディアファイルフォーマットでビデオビットストリームを再構成しカプセル化する本発明の実施形態を示す。
図4に図示されるように、DASH規格において規定されるように、各々のメディアセグメントファイル400−1〜400−6(メディアセグメントファイル400−3〜400−5は、図示されず)は、セグメントタイプボックス「styp」総称して402と、少なくとも1つのムービー断片ボックス「moof」総称して404と、少なくとも1つのメディアデータボックス「mdat」総称して406と備える。メディアセグメントファイルは、HTTP−URLに関連づけられる。
他のボックスがタイムドメディアデータビットストリームをカプセル化するために用いられるISO BMFF規格に必須または任意に依存しても良いということに留意するべきである。しかしながら、本発明の実施形態は、適用可能にするためにこれらのボックスに依存しないので、ここでは提示されない。
セグメントタイプボックス「styp」402のフォーマットは、図3におけるファイルタイプボックス「ftyp」302のものと同様であるが、その参照は、ファイルがメディアセグメントファイルであることを示す。
ムービー断片ボックス404は、一般的にはムービーボックス「moov」内に保存される情報を提供する。そのヘッダ(「mfhd」)は、ムービー断片毎に増加する順序番号(図4のラベルづけされたseq_num)を含む。このような順序番号は、順序番号の増順に、クライアント装置が、受信されるセグメントファイルを連結し、シーケンス(必要ならば)の完全性を確認することを可能にする。ムービー断片ボックス404は、関連付けられたメディアデータボックス(「mdat」、406)内にデータを有するトラック毎のトラック断片ボックス「traf」(総称して408)を含む。トラック断片ボックス408は、対応するメディアデータボックス(「mdat」、406)内に存在するトラックのビットストリームの識別子(track_ID)を保存するために用いられるトラック断片ヘッダボックス「tfhd」総称して410を備える。
メディアデータボックスは、一般的にタイムドメディアデータを含む。標準的ビデオトラックにおいて、それはビデオフレームを含む。タイルトラックにおいて、メディアデータボックス406は、完全なビデオフレームの空間的に定義されたサブパートを含む。説明のために、トラック識別子track_ID=2に関連付けられたメディアデータボックスは、エンハンスメントレイヤのタイルに対応するNALユニットをすべて含む。
複合トラック(図4のtrack_ID=6)において、メディアデータボックス406は、タイル毎に、およびディペンデントレイヤ毎に抽出器(図4のラベルづけされたE)を含んでおり、すべてのタイルに共通のNALユニット(もしあれば)を含む。
図4に示されるように、複合トラックに関連付けられたメディアセグメントファイル400−6のメディアデータボックス406は、特に以下を備える:
・ベースレイヤトラックに関連付けられたメディアセグメントファイル400−1のメディアデータボックス406内に保存されたベースレイヤトラック内で符号化されたベースレイヤデータ(NALユニット1BL)に対するリンクを提供する第1の抽出器412−1と、
・いくつかのタイルに共通のNALユニット412−2と、
・エンハンスメントレイヤの第1のタイルトラックに関連付けられたメディアセグメントファイル400−2のメディアデータボックス406内で符号化された第1のタイルのエンハンスメントレイヤデータ(NALユニット1a)に対するリンクを提供する第2の抽出器412−3と、
・エンハンスメントレイヤの第2のタイルトラックに関連付けられたメディアセグメントファイル400−3(図示せず)のメディアデータボックス406内で符号化された第2のタイルのエンハンスメントレイヤデータ(NALユニット、1b)に対するリンクを提供する第3の抽出器412−4と、
・エンハンスメントレイヤの第3のタイルトラックに関連付けられたメディアセグメントファイル400−4(図示せず)のメディアデータボックス406内で符号化された第3のタイルのエンハンスメントレイヤデータ(NALユニット、1c)に対するリンクを提供する第4の抽出器412−5と、
・エンハンスメントレイヤの第4のタイルトラックに関連付けられたメディアセグメントファイル400−5(図示せず)のメディアデータボックス406内で符号化された第4のタイルのエンハンスメントレイヤデータ(NALユニット、1d)に対するリンクを提供する第5の抽出器412−6。
抽出器412−1のおかげで取得することができるNALユニットは、NALユニット412−2と、抽出器412−3〜412−6のおかげで取得することができるNALユニットとを用いて、そのエンハンスメントレイヤを十分に復号することができるフレームのベースレイヤの復号化を可能にする。もしフレームの空間部分が復号されるならば、図4から観察することができるように、メディアセグメントファイル400−2〜400−5(すなわちタイルトラックに対応するビットストリーム)をすべてダウンロードすることは必要ではない。
ある特定の実施形態によれば、抽出器は、以下の構文を有するファイルフォーマット内部構造である。
class aligned(8) Extractor () {
NALUnitHeader();
unsigned int(8) track_ref_index;
signed int(8) sample_offset;
unsigned int((lengthSizeMinusOne+1)*8)
data_offset;
unsigned int((lengthSizeMinusOne+1)*8)
data_length;
}
ここで、NALUnitHeader()は、ビデオビットストリームを符号化するために用いられる符号化フォーマットに準拠するNALユニットの最初の4バイトを表現する。これらの4バイトは、NALユニットを、抽出器として識別する(例えば、SVCにおいて、属性nal_unit_typeは、抽出器NALユニットタイプ(タイプ31)に対して設定される)。
値track_ref_indexは、データが抽出されるべきトラックを見出すために、複合トラックのタイプ「scal」または「tile」のトラック参照ボックス「tref」において用いられるインデックスを指定する。値sample_offsetは、情報源として用いられる、リンクされたトラックにおけるサンプルの相対インデックス(relative index)を与える。data_offsetおよびdata_lengthの値は、それぞれ、コピーする参照サンプル内の第1のバイトのオフセットおよびコピーするバイトの数である。
説明のためにおよび図3を参照して、所定の抽出器のtrack_ref_indexの値が2に等しければ、これは、抽出器がtrefボックス内の第2のエントリによって識別されたトラックを参照するということを意味する(すなわち、トラックは、タイルaのためのタイルトラックである識別子track_ID=2を有し、第1のインデックスは、参照トラック(例えばベースレイヤ)を表現する)。
図5は、所定の時間期間の連続するビデオフレーム(ここで2つの連続するフレームに対応する)の空間部分を表現する有効な復号可能なタイムドメディアデータビットストリームを構築するためにダウンロードされたメディアデータセグメントを連結する一例を示す。他の時間期間にも同じ図を繰り返すことができるだろう。
図3および図4を参照して記述したように、タイムドタイル化メディアデータビットストリームは、1つのイニシャライゼーションセグメントファイルおよび複数のメディアセグメントファイルを備える1セットのデータとして送信され、後者は、いくつかのタイルトラックと1つの複合トラックとを備えることが望ましいい。
イニシャライゼーションセグメントファイルは、各トラックの一般的情報、特にトラック(例えばメディアトラック(オーディオ若しくはビデオ)またはタイルトラック)のタイプ、符号化フォーマット、フレーム解像度および(トラック参照ボックス「tref」において与えられる)トラックの中の依存性を提供するムービーボックス(「moov」)を備える。これらのデータは、ダウンロードされたメディアセグメントファイルを処理するために用いられる。図1、図3、および図4を参照して記述された具体例を参照すると、イニシャライゼーションセグメントファイルのムービーボックスの内容は、特に、以下を備えることができる。
MOOV
・トラック1:ベースレイヤ
・トラック2:タイルa
・トラック3:タイルb
・トラック4:タイルc
・トラック5:タイルd
・トラック6:エンハンスメントレイヤ
●tref(scal):track_ID=1
●tref(tile):track_ID=2
track_ID=3
track_ID=4
track_ID=5
図5は、必要なメディアセグメントファイル(ここではエンハンスメントレイヤ内のベースレイヤおよびタイルaおよびcに対応する)のみがサーバからダウンロードされるときにメディアセグメントを連結することによって取得されたファイルフォーマットを概略的に図示する。このようなメカニズムは、必要とされるメディアセグメントファイルのみをダウンロードすることを可能にするだけでなく、重複データのダウンロードも防止する、ということに留意するべきである。
図示されるように、複合トラック500は、ベースレイヤトラック504(スケーラビリティの場合)からのデータおよび再生可能でないタイルトラック(506および508)からのデータを参照することによって、並びに(図7に対する参照によって記載されたように)欠測値を参照する抽出器を適切に扱うことによって、有効な復号可能なタイムドメディアデータビットストリーム502の構築を可能にする。
取得されたファイルフォーマットは、スケーラブルのファイルフォーマット定義に準拠する。例えば、クライアント装置は、複合トラックを選択することによって選択されたタイルaおよびcをもつベースレイヤトラックまたはエンハンスメントレイヤを選択することによって、ベースレイヤのみを再生することを決定することができる。クライアント装置は、また、複合トラックを再生し続ける間に、後の時間期間における異なる「タイルトラック」(すなわちメディアセグメントファイル)をダウンロードすることによって、表示されるべきタイルを変更することができる。
図6aおよび図6bからなる図6は、特定の実施形態による、サーバとクライアント装置との間でタイムドメディアデータを送信するためのステップを示すフローチャートである。図6bに示されるステップがクライアント装置内で実施される間に、タイル化タイムドメディアデータビットストリームからROIストリーミングに適したセグメントファイルを作成することによってメディアプレゼンテーションを準備するために、図6aに示されるステップがサーバ内で実施される。
第1のステップ(ステップ600)において、サーバは、各タイルに対して、タイルに関連付けられたNALユニットをすべて識別し、所定のタイルに対応するすべてのNALユニットから構成されるサブサンプルを含むタイルトラックを作成する。例えば、サーバは、NALユニットの関連性を異なる領域により識別する副ビデオレベルSEIメッセージと、HEVC標準化(提案JCTVC−K0128)において提案されてきたような各ROIの位置およびサイズを識別するためのシーケンスレベルSEIメッセージとに依存してもよい。したがって、サーバは、所定の期間にタイルのパイプを作成することができる。
次のステップ(ステップ602)において、サーバは、下位レベルスケーラビリティトラックにリンクされた抽出器(もしあれば)と、すべてのタイルに共通のNALユニットと、各タイルトラックにリンクされた抽出器を、含んでいる複合トラックとを作成する。抽出器および共通のNALユニットは、次の様に順序付けられる。つまりそれらが参照しているデータによって抽出器を置換することによって復号順序内の完全なサンプルから構成される有効なタイムドメディアデータビットストリームに結果としてなるのに有利な様にように順序付けられる(図1を参照して記載されたように)。
次に、ステップ604において、図3および図4を参照して述べたように、サーバは、ISO BMFF表現にしたがって時間期間を含むイニシャライゼーションセグメントファイルおよびメディアセグメントファイルを生成し保存する。タイムドメディアデータトラック(例えばビデオトラック)、複合トラック、およびタイルトラックは、すべて、別のメディアセグメントファイル内に保存される。
その後、サーバは、リクエストに応じて、クライアント装置に対して、イニシャライゼーションおよびメディアセグメントファイルを供給する(ステップ606)。サーバは、HTTP要求に対して応答する従来のHTTPサーバであってもよい。
HTTPストリーミングとの関連で、および好ましいある実施形態において、クライアント装置は、サーバから入手可能なメディアプレゼンテーションを記述するマニフェストファイルに対してアクセスする、とする。このマニフェストファイルは、サーバから、最初にイニシャライゼーションセグメントおよびその後メディアセグメントファイルをリクエストすることによって、クライアント装置がメディアプレゼンテーションをストリーミングするために十分な情報(メディアプロパティとセグメントのリスト)を提供する。
タイル化ビデオのストリーミングの間に、クライアント装置エンドにおける、普通はポインティングデバイスなどの選択手段をもつディスプレイ上における、ROIが選択されると、選択されたROIに対応するタイルが決定される(ステップ608)。
次に、スケーラブルのメディアデータの場合、各々の時間期間毎に、クライアント装置は、ディペンデントレイヤに対応するセグメントファイルをダウンロードするために、サーバに対してリクエストを送信する(ステップ610)。ある特定の実施形態によれば、依存される層は、それらの依存される層に依存する層よりも前に、ダウンロードされる。例えば、ベースレイヤのセグメントファイルは、エンハンスメントレイヤのセグメントファイルの前にダウンロードされる。
次のステップにおいて、クライアント装置は、選択されたタイルに対応するメディアセグメントファイルをダウンロードするためにリクエストをサーバに対して送信し(ステップ612)、複合トラックに対応するメディアセグメントファイルをダウンロードするためにリクエストをサーバに対して送信する(ステップ614)。
次に、ダウンロードされたセグメントファイルは、選択されたROIに対応する、ISO BMFF規格に適合する有効な(復号可能な)タイムドメディアデータビットストリームを構築するために、クライアント装置によって連結される(ステップ616)。
図6に示されたフローチャートが、トラックの間のリンクを確立するために(すなわち依存関係を定義するために)抽出器の使用に基づくならば、図18、図19、および図20を参照して記載されたように、トラックの間のリンクを別々に信号することができる、ということに留意するべきである。
(抽出器がトラックの間のリンクを確立するために用いられる場合の)ステップ616は、図7を参照して詳細に述べる。
図7は、クライアント装置によって受信された連結メディアセグメントから有効なタイムドメディアデータビットストリームの生成、すなわち、複合トラックがクライアント装置によって再生される際の選択されたタイルおよび1つの複合トラックから復号可能なビットストリームの生成を示すフローチャートである。
第1のステップ(ステップ700)において、クライアント装置は、先に要求されていたメディアセグメントファイルを受信し(例えば図6におけるステップ612、614、および616)、少なくとも1つのメディアセグメントファイルが受信されたか否かを判定するためにテストが行われる(ステップ702)。メディアセグメントファイルが受信されていなければ、処理は終了する。
少なくとも1つのメディアセグメントファイルが受信されている場合および受信されたメディアセグメントファイルが複合トラックを収納していない場合(すなわち、それらは、例えば下位レベル層などの従属トラック若しくはタイルトラックを含む)、それらは、後で使用するためにバッファされる。
逆に、少なくとも1つのメディアセグメントが受信されている場合および受信されたメディアセグメントファイルが複合トラックを含んでいる場合、複合トラックに対応するビットストリーム(普通はNALユニット)は、データの第1のアイテム(または、受信されたメディアセグメントの少なくとも1つのデータ、普通はNALユニット、が処理されているならばデータの次のアイテム)を、受信されたメディアセグメントのメディアデータボックス「mdat」から抽出するために解析される(ステップ704)。メディアデータボックスにおいて解析するべきデータのアイテムがそれ以上存在しない場合、処理は、新たなメディアセグメントファイルを受信するためにステップ700に戻る(ステップ706)。
次に、データの抽出されたアイテム(例えば抽出されたNALユニット)が抽出器に対応するか否かを判定するためにテストが行われる(ステップ708)。データの抽出されたアイテムが抽出器に対応しない場合、それは、ビデオ復号器によってさらに復号されるように戻される(ステップ710)。一方、データの抽出されたアイテムが抽出器である場合、それは、それが参照しているデータのアイテムと置換されなければならない。その目的のために、抽出器のパラメータの値が、その構造から取得される(ステップ712)。上記のように、抽出器は、別のトラックからデータを抽出するのに必要なパラメータ値をすべて備える(例えば、track_ref_index、sample_offset、data_offset、およびdata_length)。
一旦被参照トラックの識別子が識別されていれば、ステップ700の間にバッファされたメディアセグメントファイルのセットにおいて被参照トラックが利用可能であるか否かを判定するためにテストが行われる(ステップ714)。クライアント装置が選択された関心領域に対応するメディアセグメントファイルのみをダウンロードするので、いくつかのタイルトラックが欠けている、ということを想起するべきである。
ステップ700の間にバッファされたメディアセグメントファイルのセットにおいて被参照トラックが利用可能な場合、抽出器は、それが参照しているデータと置換され(ステップ716)、ビットストリームは、復号されるビデオ復号器に対して送信される(ステップ710)。
ステップ700の間にバッファされたメディアセグメントファイルのセットにおいて被参照トラックが利用可能でない場合、抽出器において参照されたデータの欠如がISO BMF規格による重大エラーに結びつくので、特定のステップを実行しなければならない。被参照トラックがタイルトラックであるか(被参照トラックは依存するスケーラビリティ層に対応することができる)否か、および抽出器がタイルタイプであるか否かを判定するためにテストが行われる(ステップ718)。
被参照トラックがタイルトラックでない場合または抽出器がタイルタイプでない場合、標準的な重大エラーが検出される。一方、被参照トラックがタイルトラックである場合および抽出器がタイルタイプである場合、抽出器は、取り除かれる(ステップ722)か、または、抽出器は、タイムドメディアデータビットストリームを符号化する符号化フォーマットに応じて(ステップ720)、欠けているタイルの「スキップされた」データを含む代替の「パディングトラック」または「パディングボックス」からのパディングと置換される(ステップ724)。ここで、「スキップされた」データは、同じスケーラブルの層に属するか、または別のスケーラブルの層に対して属する、先に復号された画像から取得された他の画素データと置換される、現在の画像において画素データ欠損を表現する。「スキップされた」データは、一般的に、少なくとも1つのフラグによって表現される。例えば、HEVCビデオ圧縮フォーマットを考慮すると、パディングデータは、1にセットされたスキップフラグにより符号化された符号化ユニットを排他的に含む1つ以上のNALUになり得る。
次に、ビットストリームは、復号されて(ステップ710)表示されるビデオ復号器に対して送信され、処理は、以下のデータのアイテムを扱うステップ704にてループする。
図8は、1つ以上の実施形態のステップを実施することができるサーバまたはクライアント装置800のブロック図を示す。
好ましくは、装置800は通信バス802と、装置の起動に際してプログラムROM806からの命令と起動後のメインメモリ808からのソフトウェアアプリケーションに関連する命令とを実行することができる中央処理装置(CPU)804とを備える。メインメモリ808は、通信バス802を介してCPU804のワーキングエリアとして機能する例えばランダムアクセスメモリ(RAM)タイプであり、その記憶容量は、拡張ポート(図示されず)に対して接続された任意のRAMによって拡張することができる。ソフトウェアアプリケーションに関連する命令は、例えば、ハードディスク(HD)810からメインメモリ808またはプログラムROM806に対してロードされてもよい。このようなソフトウェアアプリケーションは、CPU804によって実行されたときに、図6aを参照して記述されたステップをサーバにおいて実行させ、図6bおよび図7を参照して記述されたステップをクライアント装置において実行させる。
参照符号812は、通信ネットワーク814に対する装置800の接続を可能にするネットワークインタフェースである。CPU804によって実行される場合のソフトウェアアプリケーションは、ネットワークインタフェースを通じて受信されたリクエストに応答し、およびネットワークを介して他の装置に対してデータストリームおよびリクエストを提供すように構成される。
参照符号816は、情報をユーザーに表示し、および/またはユーザーからの入力を受信する、ユーザインタフェースを表現する。
マルチメディアビットストリームの受信または送信を管理するための装置800が、図6a、図6b、および図7を参照して記述されるような方法を実施することができる1つ以上の専用集積回路(ASIC)で構成できることは、変形として、ここで示されるべきである。これらの集積回路は、例えば非限定的に、ビデオシーケンスの生成または表示のために、および/またはオーディオシーケンスを聞くために、装置に集積される。
上記のように、本発明の実施形態は、特に、HEVCとして知られているビデオフォーマットに適用することができる。
HEVC規格によれば、画像は、タイル、スライス、およびスライスセグメントに空間的に分割することができる。この規格において、タイルは、水平および垂直の境界(すなわち、行および列)によって定義される画像の矩形の領域に対応する。それは、整数個の符号化ツリーユニット(CTU:Coding Tree Units)を含む。そのため、タイルは、例えば、関心領域に対する位置およびサイズを定義することによって関心領域を識別するために効率的に用いることができる。しかしながら、ネットワーク抽象層(NAL)ユニットのようなそのカプセル化と同様に、HEVCビットストリームの構造も、また、タイルを考慮して構成されていないが、スライスに基づいている。
HEVC規格において、スライスは、スライスセグメントのセットであり、1セットのスライスセグメントの第1のスライスセグメントは、独立したスライスセグメント(すなわち、ヘッダ内に保存された一般的情報が別のスライスセグメントの1つを参照しないスライスセグメント)である。前記スライスセグメントのセットの他のスライスセグメントは、もしあれば、従属するスライスセグメント(すなわち、ヘッダ内に保存された一般的情報が独立したスライスセグメントの1つを参照するスライスセグメント)である。
スライスセグメントは、整数個の連続する符号化ツリーユニットの(ラスタスキャン順に)を含む。そのため、スライスセグメントは、矩形形状になれるか、なれないかであるので、関心領域を表現するには適さない。それは、スライスセグメントデータが後続するスライスセグメントヘッダの形式下でHEVCビットストリームに符号化される。非依存スライスセグメントおよび依存スライスセグメントは、それらのヘッダによって異なり、依存スライスセグメントが非依存スライスセグメントに依存するので、そのヘッダの情報量は、非依存スライスセグメントのものより少ない。非依存スライスセグメントおよび依存スライスセグメントの両方は、タイルを定義するために用いられる、対応するビットストリーム内のエントリポイントのリスト、またはエントロピー復号同期ポイントのようなリストを含む。
図9a、図9b、および図9cからなる図9は、タイルおよびスライスセグメントの一例を図示する。より正確には、図9aは、垂直の境界905−1および905−2、水平境界910−1および910−2によって9つの部分において分割された画像(900)を示す。915−1〜915−9により参照される9つの部分の各々は、特定のタイルを表現する。
図9bは、垂直の境界905’によって境界を定められた2つの垂直のタイルを含む画像(900’)を示す。画像900’は、5つのスライスセグメントと、非依存スライスセグメント920−1(斜線により表現された)と、4つの依存スライスセグメント920−2〜920−5とを含む単一のスライス(参照符号を付けられていない)を備える。
図9cは、垂直の境界905’’によって境界を定められた2つの垂直のタイルを含む画像(900’’)を示す。左のタイルは2つのスライス、つまり1つの非依存スライスセグメント(920’−1)および1つの依存スライスセグメント(920’−2)を含む第1のスライスと、1つの非依存スライスセグメント(920’−3)および1つの依存スライスセグメント(920’−4)をまた含む第2のスライス、を備える。右のタイルは、1つの非依存スライスセグメント(920’−5)および1つの依存スライスセグメント(920’−6)を含む1つのスライスを備える。
HEVC規格によれば、スライスセグメントは、以下の通りに要約されるルールにしたがうタイルにリンクされる(一方若しくは両方の条件が満たさなければならない)。
・スライスセグメント内のすべてのCTUは、同じタイルに属する(すなわち、スライスセグメントは、数個のタイルに属することはできない)。
・タイル内のすべてのCTUは、同じスライスセグメントに属する(すなわち、タイルは、それらのスライスセグメントの各々がそのタイルのみに属するという条件で数個のスライスセグメントに分割されてもよい)。
前述のように、タイルを関心領域に対して適切なサポートとして見なすことができる一方で、スライスセグメントは、通信ネットワーク上での搬送のためにNALユニットに実際に加えられ、アクセスユニット(すなわち、ファイルフォーマットレベルで符号化された画像またはサンプル)を形成するために集約される主体である。
HEVC規格によれば、以下の通りに定義することができる2バイトのNALユニットヘッダにおいてNALユニットのタイプが符号化される、ということを想起するべきできである。
nal_unit_header () {
forbidden_zero_bit
nal_unit_type
nuh_layer_id
nuh_temporal_id_plus1
}
スライスセグメントを符号化するために用いられるNALユニットは、スライスセグメント内の第1のCTUのアドレスがスライスセグメントアドレス構文要素によるものであるということを示すスライスセグメントヘッダを備える。このようなスライスセグメントヘッダは、以下の通りに定義することができる。
slice_segment_header () {
first_slice_segment_in_pic_flag
if(nal_unit_type >= BLA_W_LP && nal_unit_type <= RSV_IRAP_VCL23)
no_output_of_prior_pics_flag
slice_pic_parameter_set_id
if(!first_slice_segment_in_pic_flag){
if(dependent_slice_segments_enabled_flag)
dependent_slice_segment_flag
slice_segment_address
}
If(!dependent_slice_segment_flag){
[…]
タイリング情報は、PPS(画像パラメータセット:Picture Parameter Set)NALユニット内に備えられる。その後、スライスセグメントとタイルと間の関係は、これらのパラメータから導き出すことができる。
空間的予測がタイル境界上で(定義によって)リセットされる間に、単数または複数の参照フレーム内の異なるタイルからの時間的予測値をタイルが用いることを妨げるものはない。したがって、非依存タイルを構築するために、予測ユニットのための動きベクトルは、単数または複数の参照フレーム内の同一場所に配置されたタイル内に残るために、符号化中に、タイル内において制約されるのは有利なことである。さらに、1つのタイルのみを復号するときにエラードリフトが導入されないように、インループフィルタ(デブロッキングおよびサンプル適応型オフセット(SAO:sample adaptive offset)フィルタ)は、好ましくは、タイル境界上で非アクティブ化されることが望ましい。インループフィルタのこのような制御がHEVC規格において利用可能である、ということに留意するべきである。それは、loop_filter_across_tiles_enabled_flagとして知られているフラグをもつスライスセグメントヘッダにおいて設定される。このフラグをゼロに明示的に設定することによって、タイル境界における画素は、近傍タイルの境界に位置する画素に依存することができない。動きベクトルおよびインループフィルタに関連するこれらの2つの条件を満たすとき、タイルは「独立的に復号可能なタイル」または「非依存タイル」として見なすことができる。
ビデオビットストリームが1セットの非依存タイルとして符号化されるとき、参照データの欠損または再構成エラーの伝播のリスクを伴わずに、一方のフレームから他方のフレームまでタイルベースの復号化を可能になる。その後、この構成は、例えば、図2に図示された(タイル3および7を備える)関心領域に対応することができるオリジナルのビデオの空間部分のみを再構築することができる。このような構成は、タイルベースの復号化が確実であるということを示すようにビデオビットストリーム内の補足情報として示すことができる。
1スライス当たりのタイルのHEVCタイル(普通はタイル当たりのスライスの数)、符号化の依存関係、およびスライスセグメントのタイプ(依存または非依存)毎に異なる可能な構成を取り扱うために、タイル復号順序の依存関係は、(圧縮ステップに後続する)カプセル化ステップの間にサーバエンドにおいて考慮されるべきである。これは、受信されたカプセル化ファイルを解析した後にビデオ復号器において処理することができる有効なビデオエレメンタリーストリームを構築する位置にクライアント装置が存在するために重要である。
復号化依存性と復号順序の依存関係との2つのタイプの依存関係が共存する、ということに留意すべきである。
第1のタイプの依存関係は、スケーラブルビデオ符号化において高い頻度で用いられ、ここで、エンハンスメントレイヤは、ベースレイヤに依存し、それ自身によって復号することができない。例えば、別のケースは、図10、図13、および図14を参照して説明したように、または複数のビュー(multiple views)を符号化するために、異なるトラックに分割されるデータを対象にする。これらのような場合、異なるサンプルから来るデータは、復号して表示する1つのサンプルを構築するために集約されてもよい。但し、それがランダムな順序で行われると、その集約は、エラーに結びつくかもしれない。
説明のために、ISO/IEC 14496−15の「MVCトラック構造」セクションは、異なるビュー(different views)からサンプルを構築する方法を示す。同様に、単一のオブジェクト記述子内にエレメンタリストリーム記述子を集約するためのISO/IEC 14496−1におけるルールがある。第1のケースにおいて、依存関係は「scal」トラック参照タイプによりシグナリングされる一方で第2のケースにおいて、明示的なフラグdependsOn_ES_IDは、このエレメンタリストリームが依存し続ける別のエレメンタリストリームの識別子を示す。dependsOn_ES_IDのこの概念は、その正確な処理セマンティックスがMPEG−4システム(ISO/IEC 14496−1)から与えられる簡単な「dpnd」トラック依存関係として、mp4ファイルフォーマット(ISO/IEC 14496−14)において変換された。それらがマルチトラックのデータ間をシグナリングする依存関係のために必要とされる特徴のいくつかをカバーする一方で、「dpnd」および「scal」は、(上位層から下層層まで)下方への依存関係のみを記述しており、復号順序がいくつかの層の間で必要であるが他の層の間では未定である複雑なケースに対処できない。そして、ISOベースメディアファイルは、いくつかのトラックが復号化の点から他のトラックに依存することを示す、総括的なツールを欠いており、そのため、それらが依存するトラックのサンプルの後に、それらのサンプルが復号されねばならない。
実際、図21aにおいて図示したような従来技術の依存関係グラフを想定すると、図21aによればメディアファイル2100がトラックT2(2102)、T3(2103)、およびT4(2104)トラックT1(2101)に依存するが互いには依存せず、トラックT5(2105)がトラックT3(2103)およびT4(2104)に依存するような依存関係により、Tiによって示され符号2101〜2105により参照される5つのトラックを含み、依存関係の参照(「scal」または「dpnd」)は、順序の概念を伴わずに、参照2112、2113、2114、2115、および2116によりそれぞれ表現されるように設定される。このようなケースにおいて、トラックT5(2105)の復号化は、以下の依存関係グラフ、つまり、T5−>[T3、T4]または[T4、T3]−>T1を与える。見てとれるように、トラックT2(2102)は、このようなメカニズムをもつ依存関係グラフには存在しなかったであろう。そのため、これらの依存関係から完全なストリームの再構成には問題が有った。それは、T2−>T1の依存関係(2112)を発見するためのすべてのトラックのスキャンを暗に示し、T2が処理されるべき順序をまだ欠く。
第2のタイプの依存関係(符号1〜3により図21bにおいて表現された、以下でも「上向きのトラック参照」と呼ばれる復号順序の依存関係を意味する)に関して、多くの使用ケースでは、例えば、各スケーラブルのレベルが専用のトラックに保存される単純なスケーラビリティ(空間的、SNR、時間的)などの、トラックを処理する精密な順序が指定されることを必要とし、各層は、単一の下位層に依存する。適切なビデオエレメンタリーストリームの再構成のためにベースから開始して、mp4構文解析ツールに対して順番に各層を渡さなければならない。第2の使用ケースは、HEVCにおける非依存タイルと同様、ビデオストリーム内の空間領域に依存しない復号化である。この場合、各タイルは、任意の順序で、独立的に処理することができるが、非VCLのNALユニットを含むトラックの後に処理されなければならない。関心領域に関連する別の使用ケースは、関心領域のSNRの改良(SNR refinements)などの進歩的なスケーラビリティであり、ここで、いくつかの領域は、互いに独立して定義および復号されることができる。最後に、(SHVC設計と同様に)ベースレイヤおよびエンハンスメントレイヤが同じメディア形式を用いない場合にはスケーラブルハイブリッド符号化。
HEVCの特定のケースのために、データが図14を参照して記述したように異なるトラックに分割されるとき、規格は、スライスセグメントを表現するNALユニットの間の復号順序を特に示す。したがって、本発明の目的は、空間部分の送信がクライアントエンドにおいて解析した後に有効で復号可能なビデオエレメンタリーストリームに結びつくように、カプセル化層においてこれらの依存関係を信号伝達することである。
本発明の実施形態によれば、HTTPストリーミングとの関連でタイルに対する効率的なアクセスは、HEVC規格に対して適用されたISO BMFFファイルフォーマットを用いることによって提供される。したがって、符号化される非依存タイルの各々(例えば、図2に表現された12個のタイルの各々)は、図10を参照して以下に述べるような「タイルトラック(tile track)」と呼ばれる特定のトラックによって表現される。
これらのタイルトラックは、図10に図示されるようなフルフレームのHEVCビットストリームに対応する複合トラックにおいて(トラック毎の定義を含むムービーボックス「moov」のトラック参照ボックス「tref」を介して)参照される。各タイルトラックは、NALユニットにパッケージ化されて、圧縮されたビデオデータを含む。複合トラックは、イニシャライゼーションデータに対応する様々なパラメータセット(例えば、ビデオのパラメータセット、シーケンスパラメータセット、および/または画像パラメータセット)を含む。それは、また、特定のタイプのNALユニットである抽出器を含む。
上記のように、抽出器は、以下の構文を有するファイルフォーマット内部構造になり得る。
class aligned(8) Extractor () {
NALUnitHeader();
unsigned int(8) track_ref_index;
signed int(8) sample_offset;
unsigned int((lengthSizeMinusOne+1)*8)
data_offset;
unsigned int((lengthSizeMinusOne+1)*8)
data_length;
}
抽出器は、他のトラックからデータに対するポインタまたは参照として機能し、両方のトラックにおけるデータ重複の代わりに、依存トラックを参照してコンパクトなトラックを構築することを可能にする。抽出器はNALユニット構文を用いるのが望ましい。したがって、それは、特に、NALユニットタイプに関連する情報を備えるNALユニットヘッダと同じ構造を有するヘッダを備える。このNALユニットタイプは、例えば、HEVC内の予約された(reserved)NALユニットタイプに現在対応する値「47」に設定される。ヘッダの後には、抽出器によって参照されるトラックに対応するトラックの識別子(track_id)を含むtrefボックスのエントリを検索することを可能にするトラック参照ボックス(tref)内のインデックス(track_ref_indexで示される)が続く。第3のパラメータは、現在のサンプルと比較して、抽出器によって参照されるサンプルの時間オフセット(sample_offset)である。第4のおよび第5のパラメータ(data_offsetおよびdata_lengthで示される)は、それぞれ、そこからコピーするべき位置(好ましくはバイトで)、およびコピーするデータ量(値0は、参照される全体のNALユニットのコピーを示すために予約される)を提供する。
図10は、本発明の実施形態にかかる、複合トラックと独立したタイルトラックとを備える1セットのトラックとしてHEVCビットストリームをカプセル化する一例を図示する。説明のために、カプセル化されたビットストリームは、図2に概略的に図示されたビデオシーケンスに対応する。
図示されるように、カプセル化されたビットストリーム1000は、トラックのための定義を提供するムービーボックス(「moov」)を含むイニシャライゼーションセグメントファイル1005と、複合トラック1015および12個のタイルトラック1020−1〜1020−12を表現するメディアセグメントファイル1010(タイルトラック1020−1〜1020−12の各々は、ビデオシーケンスの1枚のタイルに関連付けられている)とを備える。
DASH規格において規定されるように、複合トラック1015は、セグメントタイプボックス「styp」(図示されず)と、トラックセグメントタイプおよび識別子などのメタデータを備える少なくとも1つのムービー断片ボックス「moof」1025と、PPSおよびビデオデータに対する参照を(ビデオデータサンプル毎に)備える少なくとも1つのメディアデータボックス「mdat」1030とを備える。
同様に、タイルトラック1020−1〜1020−12の各々は、セグメントタイプボックス「styp」(図示されず)と、トラックセグメントタイプおよび識別子などのメタデータを備える少なくとも1つのムービー断片ボックス「moof」と、NALユニット(NALU)においてパッケージ化され圧縮されたビデオデータを備える少なくとも1つのメディアデータボックス「mdat」とを備える。
識別子2〜13を有するタイルトラック1020−1〜1020−12は、イニシャライゼーションセグメントファイル1005の(より正確には、識別子id=1を有する複合トラックの定義内のイニシャライゼーションセグメントファイル1005のムービーボックス「moov」の)トラック参照ボックス「tref」1035内で参照される。
図示されるように、複合トラック1015は、他のトラックからのデータに対するポインタまたは参照として機能する抽出器を備える。説明のために、タイルトラック(track_ref_index)のインデックスと、データオフセット(data_offset)と、複合トラック1015の抽出器1035−1および1035−pに対応するデータ長(data_length)とがいくつかのパラメータの中で表現される。
さらに、説明のために、複合トラック1015のNALユニット1035−1が処理されるとき、それが抽出器タイプのNALユニットを表現する(NALUnitHeaderが16進値5E00に等しい)ということが判定される。したがって、それは、対応する圧縮されたビデオデータを回復するために処理される。その目的のために、そのタイルトラックインデックス(すなわちtrack_ref_index=1)が取得される。このインデックスから、イニシャライゼーションセグメントファイル1005内に保存されたタイルトラック定義からタイルトラック識別子を回復することが可能である。所定の具体例において、インデックスが1に等しいので、trefボックスの第1のタイルトラック識別子が選択される(id=2)。次に、この識別子は、対応するタイルトラックにアクセスするために用いられ、その後、抽出器1035−1のデータオフセット(すなわち情報源として用いられるべき識別されたトラックにおけるサンプルの相対インデックス)およびデータ長(すなわちコピーするバイト数(例えばdata_length=0場合は全NALU))パラメータを用いて、圧縮されたビデオデータは、タイルトラック1020−1(すなわち所定の具体例において符号化されたスライスセグメントNALU 1040)から抽出される。
処理がなされた後に、抽出器は、それが参照するデータと置換される。図10に図示された例によれば、構文解析および抽出器1035−1の処理は、符号化されたスライスセグメントNALU 1040によってその置換に導かれ、それにより、HEVC準拠のビットストリームを形成する。
HEVC抽出器のパラメータを保存するために用いられるセマンティックスは、SVC規格において定義されたものに近くなり得る、ということに留意するべきである。したがって、HEVC NALユニットを参照する抽出器に対して、以下のものを適用することができる。
・forbidden_zero_bitとして知られているパラメータは、ISO/IEC 23008−2において規定されるように設定される。
・nal_unit_typeとして知られているパラメータは、47(HEVC用の国際規格最終案の指定コード)に設定される。
・nuh_layer_idとして知られているパラメータおよびnuh_temporal_id_plus1は、抽出器によって参照された第1のNALUからコピーされる(HEVC NALユニットを参照するHEVCトラックにおける抽出器は、異なるnuh_layer_id値およびnuh_temporal_id_plus1値によっていくつかのNALユニットを参照しない)。
・sample_offsetとして知られているパラメータは、0に設定される。
本発明の実施形態によれば、タイルトラックは、空間的に配置されたデータ(例えばHEVCタイル)のインデックス化をサポートするために用いられる特定のトラックとして見なされるべきである。そのため、特定のシグナリングは、各トラックが、特に、全ビデオ内のタイルの位置(水平および垂直座標)およびタイルのサイズ(幅および高さ)を示し、アーティファクトを伴わずにタイルトラックを復号することができるか否かを示す情報を提供するために必要である。このようなシグナル伝達は、いくつかの実施形態にしたがって実現することができる。
図10を参照して説明されたものとは異なる特定の実施形態は、図15および図16に図示される。
図15は、タイルを記述するためのサブトラック機能(すなわちsub−trackボックス)を用いた一例を示す。この実施形態によれば、1502で参照される1つのビデオトラックのみが、HEVCのエレメンタリビットストリームから構築される。タイル記述およびグルーピング情報は、1503で参照されるユーザデータと一緒に、好ましくは、カプセル化されたファイルのユーザ(またはクライアント)に対する選択を提供するために用いられる、1504で参照されるトラック選択ボックスとして同じ場所に保存することができる。
ISOベースメディアファイルフォーマットは、サブトラックを記述するためにボックスを定義するということを想起するべきである。例えば、(全)トラックがグループと交互になりグループを切り替えるために割り当られることができるのと同じ方法で、1505および1506で参照されるサブトラックは、グループと交互になりグループを切り替えるためにトラックの部分をアサインするために用いられる。言いかえれば、サブトラックは、異なるタイル、または異なるタイルの異なるバージョンを記述するために用いることができる。
一般的な構文は、(現在の実施形態によれば、新たなボックス(タイルサブトラックグループボックス)であるボックス1512および1513を除いた)図15のボックスで図示されるようなサブトラック記述のために提供される。ISOベースメディアファイルフォーマットは、各メディアフォーマット(例えばSVCおよびMVC)毎に、これらの総括的なボックスを特定化しなければならないということを示す。
この実施形態において、入力ビデオエレメンタリーストリームがタイル化されたHEVCビットストリームであるということが考慮される。そのため、タイルを適切にカプセル化するために(すなわち、先頭および最終バイトの位置、プラス位置、サイズ、および復号化情報のようなタイルパラメータを持った)、以下のことが要求される。
・各空間的タイルに対応するビデオエレメンタリーストリームのNALユニットからの1507で参照されるデータを識別すること。これは、先頭バイトおよび最後バイトの位置によって表現することができる。
・各タイル記述(普通は、位置、サイズ、非依存符号化などのようなタイルパラメータ)を各サブトラック1505および1506にリンクすること。
・ユーザタイル選択情報を提供すること、特にタイルとサブトラックとの間の可能な組み合わせを示すこと。
図16は、サブトラックを伴うタイルのカプセル化を図示するフローチャートである。それは、ビデオエレメンタリーストリームをmp4セグメントにカプセル化するためにサーバエンド(標準サーバになりうるか、またはストリーミングサーバに対するアップロードのためのコンテンツを準備するときにビデオキャプチャ時またはビデオキャプチャ後にカプセル化を公平に行うことができるので例えばビデオを取り込む装置)において実行されるステップを表現する。
(例えば図11に図示されたように)mp4セグメントがヘッダ部分およびデータ部分で構成されたアドレス指定可能な主体である、ということを想起するべきである。Mp4セグメントは、可変になり得る持続時間か、または、シーケンスに沿って同一になり得る持続時間を有する。明瞭にするために、ここで、セグメント持続時間は、時間に沿って定数であり、且つデータをカプセル化することを担当するサーバの初期設定パラメータとして提供される、ということが想定される。但し、可変持続時間を扱っても、図16に図示されたステップは変わらないであろう。
図示されるように、カプセル化工程の第1のステップは、第1のmp4セグメントのイニシャライゼーションを備える(ステップ1600)。
前述のように且つ特定の実施形態によれば、カプセル化は、ビデオエレメンタリーストリームを表現するために単一のビデオトラックを作成する(図12bに対する参照によって記述されたように)ことにある。
次のステップにおいて、サーバは、NALユニットヘッダを探す(ステップ1601)。何らかのNALユニットが発見されなければ(すなわち、テスト1601の結果が偽であれば)、これはビデオエレメンタリーストリームの端部に達したということを意味する。これにより、カプセル化工程を終了する。
一方、NALユニットが発見される場合(すなわちテスト1601の結果が真)、それが高レベル情報を含む(すなわち非VCL(ビデオ符号化層)データ)か否か(すなわちVCLデータ)を判定するために次のステップ(ステップ1603)においてそのタイプがチェックされる。現在のNALユニットが非VCLデータを含む場合はテスト1303の結果は偽であり、それがVCLデータを含む場合はテスト1303の結果は真である。
サーバは、NALユニットを探し処理しながら、処理されるビデオフレームに対応する現在のタイムスタンプ値を保持する、ということを留意するべきである。初期のタイムスタンプ値は、ゼロに設定され、新たなビデオフレームが検出される度に(PicOrderCntValを算出するために使用中の例えば構文パラメータのようなHEVCの高レベルの構文要素から)更新される。
図示されるように、非VCL NALユニットおよびVCL NALユニットの両方のデータは、ステップ1604および1605において、ビデオトラックのデータ部分内にサンプルとして格納される。非VCL NALユニットに対して、サーバは、現在時刻に対応するタイムスタンプ値によりトラックのデータ部分内にサンプルを(ステップ1604において)作成する。次に、タイリング構成(ステップ1606)上で情報を提供することができるか否かを判定するために、このNALユニットの特定のタイプを調べる。説明のために、これは、水平のタイルおよび垂直の境界を指定するPPS_NUTに等しいNALユニットのタイプ、または、ビデオのタイルおよび/または関心領域、または独立的に符号化された空間領域の情報を与えるPREFIX_SEI_NUTに等しいものNALユニットタイプによる特定のSEIメッセージになり得る。
このようなNALユニットが利用可能な場合、サーバは、(ステップ1610および1611に対する参照によって以下に記載される)ビデオデータの将来の記述のためにステップ1607において、取得されたタイリング構成を保存する。これは、例えば図12bに対する参照によって記述されるようなTileRegionSampleGroupEntryと呼ばれるボックス(ボックス1275)において、タイル記述子において行われる。また、それは、タイルまたは独立的に符号化された空間部分、各タイルに用いられる1つのサブトラック、または空間部分を記述するために特に用いられる(図15において1505および1506で参照される)対応するサブトラックを作成する(ステップ1608)。
より正確には、ステップ1608は、現在のサブトラックがタイリング情報を提供する特定のトラックであるということを示すためにサブトラック情報ボックスを準備することを目的とする。これは、図15において1508および1509で参照される、既存のSubtrackInformationBox(「stri」)ボックスの属性の現在のリストの拡張によって行うことができる。現在、このボックスは、サブトラック間の切換および/または代替手段を記述するが、オリジナルのビデオの任意の空間領域を表示するために、一方がともに構成することができるビデオの空間部分を記述することは可能ではない。
同時に、サーバは、ビデオの空間部分を描写するために、それが1つ以上のタイルを選択することができるということをユーザー装置に対して示すために(図15において1504で参照される)トラック選択ボックスを作成することができる。これは、現在サポートされないので、トラック選択ボックスのいくつかの改良を必要とする。特定の実施形態によれば、「tile」値は、同じattribute_list内の属性を区別する値「ntls」と同様にトラック選択ボックスのためのattribute_list内の新たな記述的属性として追加される。名称は、ここでは例として提供され、ISOベースメディアファイルフォーマットおよびその拡張における既存のコードとそれが矛盾しないという条件で、任意の4つのキャラクタコードも選択することができるかもしれない、ということに留意されたい。第1の値は、タイルの数の点からトラックをスケール調整することができるということを示すことができ、その一方で第2の値がサブトラックにおけるタイルの数を示している。メディアプレゼンテーションがタイルの解像度/数の点で代替トラックを含む場合、サブトラック情報およびトラック選択レベルにおいて属性を区別する「ntls」は、関連性を持ち得る。そして、(空間的アクセス粒度としても認識される)タイルの所望の解像度/数を選択することができる。
同様に、トラックの代替えグループがフルフレームビデオ(ntls=0)および同じビデオ(ntls=N)のタイル化表現を含む場合、2つのトラックは、タイルのそれらの数の点から区別すック内の空間的アクセスを提供する特別なサブトラックであるということを示すために、サブトラック情報ボックス内の可能的な属性のリストも、また、第1の新たな値「tile」により拡張される。
図16に戻って、VCL NALユニットに対して、ステップ1605の間に一旦データがビデオトラックのデータ部分内に格納されれば、サーバは、ステップ1609において、現在のビデオデータ(普通はHEVC内のスライスセグメント)のためのトラックのヘッダ部分を生成する。そのためには、それは、トラックヘッダ(図3の参照符号308)内またはトラック断片ヘッダ(図4の参照符号410)内、例えば、サンプルサイズボックス「stsz」またはトラック実行ボックス(「trun」)内に、現在のNALユニットのためのバイト位置を保存する。また、それは、データ(例えば「ctts」をサンプリングする構成時間および「stts」ボックスをサンプリングする復号化時間)を参照するために、専用のボックス内にタイミング情報を保存する。
次に、タイリング情報が存在して(すなわちテスト1606が真の場合)保存されている場合(ステップ1607)、現在のNALユニットが由来するタイルが識別される(ステップ1610)。HEVCビデオエレメンタリーストリームに対して、この識別は、HEVCスライスセグメントヘッダにおいて提供されるスライスセグメントアドレスに基づくことができる。スライスセグメントアドレスが与えられ、タイル構成を認識すれば、タイルインデックスを導き出すことができる。識別されると、現在のサンプルは、識別されたタイルのために、ステップ1607において記録されたタイル記述子に関連づけられる(ステップ1611)。
これは、サブサンプルグループ化メカニズムに存在し、サブサンプルは、現在のNALユニットによって伝達されたスライスセグメントである。このスライスセグメントはタイル全体をカバーするか(このようなケースは図9aに図示されたものに対応する)、またはタイルの一部になり得る(すなわち、タイルは1つ以上のスライスセグメントを含むであろう、このようなケースは、図9bまたは図9cに図示されたものに対応する)。この関連づけ若しくはリンクステップ1611は、また、ステップ1608において準備されたサブトラックを更新する。
ステップ1611は、サブトラック(図15において1505および1506で参照される)とデータ(図15において1507で参照される)との間のマッピングを提供することを目的とする。これは、SubTrackDefinitionBox(「strd」(図15の参照符号1514および1515))として知られるボックスで行うことができる。SubTrackDefinitionBoxボックスは、フォーマット指定のサブトラック(例えば、SVCSubTrackLayerBoxまたはMVCSubTrackViewBox)、および、以下の通りに定義される任意のサンプルグルーピング情報SubtrackSampleGroupBox(ISO/IEC 14496−12:2012規格のセクション8.14.6における「stsg」)のためのコンテナである。
aligned(8) class SubTrackSampleGroupBox extends FullBox(‘stsg’, 0, 0){
unsigned int(32) grouping_type;
unsigned int(16) item_count;
for(i = 0; i< item_count; i++)
unsigned int(32) group_description_index;
}・・・
タイルサブトラックの特定のケースにおいて、SubtrackSampleGroupBoxは、好ましくは、以下の通りに示す。
・grouping_typeとして、TileRegionSampleGroupEntryを示す値(例えばタイル領域InFormationまたは図12bの参照符号1275で図示されるような「trsg」のための「trif」)。いかなる4文字コードでも、サンプルグループ化、すなわち、この特定の実施形態によれば、タイル内へのサンプルまたはサブサンプルのグループ化の種類を識別するために、一意であるものとする。
・group_description_indexとして、現在のタイルのためのgroupIDまたはtileIDの値。図12bを参照して記載されたように、この値は、トラックのタイルを記述するためのSampleGroupDescriptionBox内に記録される。
付加的なグルーピング情報は、サブトラックをタイルのグループとして定義するために提供されることができる。新たなTileSubTrackGroupBox(またはHEVCTileSubTrackGroupBox)は、以下の通りに定義することができる。
HEVCタイルサブトラックグループボックス
定義
ボックスタイプ:「tstb」
コンテナ:サブトラック定義ボックス(「strd」)
必須:なし
量:0以上
構文
aligned(8) class TileSubTrackGroupBox extends FullBox(‘tstb’, 0, 0) {
unsigned int(16) item_count;
for(i = 0; i< item_count; i++) {
unsigned int(16) GroupId;
}
}
このボックス内のGroupIdsの和集合は、このボックスによって定義されたサブトラックを記述し、item_countは、このボックスにおいてリストアップされたタイルグループの数をカウントし、GroupIdは、このサブトラックにおいて収納されるタイル群の識別子を表現する。
図16に戻ると、一旦リンクされれば、現在のタイムスタンプが前もって定義されたセグメント持続時間(ステップ1612)よりも大きいか否かを判定することによって現在のセグメントを終了するべきであるか否かをチェックすることによって、サーバはカプセル化を継続する。現在のタイムスタンプが前もって定義されたセグメント持続時間より大きい場合、サーバ上でストリーミングするための準備ができているものとして、mp4セグメントは保存され(ステップ1613)、ステップ1601において次のNALユニットを処理するために、ステップ1600において、新たなセグメントが作成される。セグメント持続時間に到達していない場合、現在のセグメントのデータ部分を構成し続けるために、サーバは、ステップ1601において次のNALユニットを考慮する。
図17は、ビデオの複数のタイルをカバーする関心領域の例を示す。図示されたように、新たなボックスTileSubTrackGroupBox(またはHEVCTileSubTrackGroupBox)は、1700で参照されるビデオシーケンスにおいて1701で参照される関心領域を記述するのに有用になり得るし、関心領域は、1セットのビデオフレーム上で検出され(1710〜1720で参照される)、1枚以上のタイル(1702〜1705で参照される)をカバーするであろう。
この場合、サブトラックは、既定のROIを記述するために作成される。関連付けられたSubTrackDefinitionBoxは、サブトラックに関連付けられた前もって定義されたROIによって、どのタイルがカバーされるのかを(groupIDのリストを通じて)示すためにaTileSubTrackGroupBox(またはHEVCTileSubTrackGroupBox)を含む。HEVCビデオエレメンタリーストリーム内のSEIメッセージにおいてこのような関心領域および対応するカバーされるタイルは提供され、ステップ1604〜1608、1610および1611によって取り扱うことができ得る。
以上に記述されたものと同様、図11に図示されたある特定の実施形態によれば、シグナリングをトラックレベルにおいて行うことができる。
図11は、HEVCビットストリームをカプセル化するための、第1の実施形態による、メディアデータトラックを用いたイニシャライゼーションセグメントファイルのブロック図の一例を示す。それは図10を参照して記載された例に基づく。
イニシャライゼーションセグメントファイル1100およびメディアセグメントファイル(図示されず)は、ISOベースメディアファイルフォーマットにおけるHEVC標準に準拠するビデオビットストリームを再構成してカプセル化するために用いられる。トラックは独立的にストリーミングされる。
上記のように、イニシャライゼーションセグメントファイルは、他のメディアセグメントファイル内にカプセル化されたタイムドメディアデータビットストリームを定義するのに必要なメタデータをすべて送信するために用いられる。図11に図示されるように、イニシャライゼーションセグメントファイル1100は、ファイルタイプボックス「ftyp」1105とムービーボックス「moov」1110とを含む。ファイルタイプボックス1105は、好ましくは、セグメントファイルがどのISO BMF規格に準拠するのかを識別し、その規格のバージョン番号を示す。ムービーボックス「moov」1110は、メディアセグメントファイル内に保存されたプレゼンテーションを記述するすべてのメタデータと、特にプレゼンテーションにおいて利用可能なすべてのトラックとを提供する。
ムービーボックス1110は、所定の例において、1つの複合トラック(1115−1)および12のタイルトラック(1115−2〜1115−13)を備えるトラック(「トラック」ボックス1115−1〜1115−13)毎の定義を含む。
各トラックボックスは、少なくとも、トラックヘッダボックス「tkhd」総称して1120と、トラックメディアボックス「mdia」総称して1125とを含む。トラックが他のトラックからのデータに依存するならば、トラック参照ボックス「tref」もある。図示されるように、識別子track_ID=1を有する複合トラックは、識別子track_ID=2〜13を有するトラックからのデータにタイルトラックが依存するということを示す、トラック参照ボックス「tref」1130を備える。
上述したように、他のボックスがタイムドメディアデータビットストリームをカプセル化するために用いられるISO BMFF規格に必須または任意に依存することができるということに留意するべきである。しかしながら、本発明の実施形態は、適用可能にこれらのボックスに依存しないので、ここでは提示されない。
図11を参照して記述された実施形態によれば、全ビデオ内のタイルの位置、タイルのサイズ、およびアーティファクトを伴わないでタイルトラックを復号することができるという指標のシグナル伝達は、トラックヘッダボックス「tkhd」(1120)およびメディア情報ボックス「mdia」(1125)のボックスを用いて、各トラック定義内の「moov」ボックス(1110)内にカプセル化されるべき全HEVCビットストリームに対して1回行われる。
タイルの位置は、水平および垂直オフセット(horizontal_offsetおよびvertical_offset)を定義するTileMediaHandlerEntryボックスまたは「tmhd」(1140)と称される、新たなタイプのメディアヘッダ情報ボックス1135内に配置される。
考慮されるタイルのビジュアルプレゼンテーションのサイズは、既存のトラックヘッダの幅および高さパラメータに加えられる。必要に応じて、考慮されるタイルの現実の画素寸法は、(SampleDescriptionBoxとして知られているボックス内のVisualSampleEntry()として知られているパラメータを介して)サンプル記述内にドキュメント化されることができる。
最後に、特定のトラック(タイルトラック)のシグナリングは、ハンドラボックス「hdlr」(1145)内で新たなタイプのトラック(「tile」)を定義することによって明示的に行われる。
イニシャライゼーションセグメントファイル1100のムービーボックス「moov」1110は、「mvex」ボックス1150をさらに備える。このボックスは、カプセル化されたファイルにアクセスするクライアントにムービー断片が存在することを通知するために用いられる。プレゼンテーション内の最長のトラックの持続時間をイニシャライゼーションセグメントファイルにおいて特定することができる。それは、プレゼンテーション持続時間の計算を単純化し、各ムービー断片持続時間の検査を回避する。図示されるように、mvexボックス1150は、各トラック(すなわちタイルトラックおよび複合トラック)のすべての断片に共通の情報、例えばトラック識別子およびトラックにおけるサンプルのデフォルトサイズ、の重複を回避するために、トラック毎にトラック拡張ボックスを含む。
タイルトラックのシグナリングのこのような実施形態は、通常のビデオトラックシグナリングと比較して著しいオーバヘッドを招かない、ということに留意するべきである。さらに、プレゼンテーションが分割されたムービー断片の数には依存しないままである。但し、それはビデオシーケンスに沿ったタイリング構成の変更には適合していない。
ビデオシーケンスに沿ったタイリング構成においてバリエーションを取り扱うのに適した別の特定の実施形態によれば、シグナリングは、ISO BMFF規格からのサンプルグループ化メカニズムを用いて、サンプルレベルにおいて行われる。
このようなサンプルグループ化メカニズムは、トラック内のサンプルのパーティションを表現するために用いられる。それらは2つのボックスの使用に依存する、つまり、サンプルグループに対するサンプルの割り当てを記述するSampleToGroupボックス(「sbgp」)および特定のサンプルグループ内のサンプルの共通のプロパティを記述するSampleGroupDescriptionボックス(「sgpd」)である。サンプルグループ化の特定のタイプは、タイプフィールド(「grouping_type」)を介して1つのSampleToGroupボックスと1つのSampleGroupDescriptionボックスとの組み合わせによって定義される。複数のサンプルグループ化事例(すなわち、SampleToGroupボックスとSampleGroupDescriptionボックスとのペア)は、異なるグループ化基準に基づいて存在することができる。
本発明の実施形態によれば、サンプルのタイリングに関連する新たなグループ化基準が定義される。「tile」と呼ばれるこの新たなグループ化_typeは、タイルのプロパティを記述し、標準VisualSampleGroupEntryから導き出される。(既存のScalableGroupEntryまたはMultiviewGroupEntryによりコヒーレンスを保持するためにそれがユニークなボックス識別子コード(普通はISO BMFF内の4文字コード)を有するという条件の名称はすべて)TileRegionSampleGroupEntry HEVCSpatialEntryまたはTileRegionGroupEntryと称することができ、以下の通りに定義される。
class TileRegionGroupEntry () extends VisualSampleGroupEntry (‘trsg’) {
unsigned int(16) tileID; (or groupID)
unsigned int(2) independent;
unsigned int(6) reserved=0;
unsigned int(16) horizontal_offset;
unsigned int(16) vertical_offset;
unsigned int(16) region_width;
unsigned int(16) region_height;
// other boxes
}
この新たなタイプのグループエントリによれば、tileID(またはgroupID)パラメータは、グループによって記述されたタイルのための一意の識別子である。horizontal_offsetおよびvertical_offsetパラメータは、ベース領域の輝度サンプル内のHEVCフレームの左上画素に対して、タイルによって表現される矩形の領域の左上画素の水平および垂直オフセットをそれぞれ設定するために用いられる。region_widthパラメータおよびregion_heightパラメータは、HEVCフレームの輝度サンプル内の、タイルによって表現される矩形の領域の、幅および高さをそれぞれ設定するために用いられる。非依存パラメータは、タイルは、非依存タイルの定義を参照して上記のように同じタイルに属するサンプルのみに関連する復号化依存性を備える、ということを指定する2ビットのワードである。説明の都合上、およびタイル構成を記述するためのSEIメッセージの標準的用法を参照するために、tile_section_exact_match_flagとして知られているフラグは、非依存フラグの値を設定するために用いることができる。後者の意味は、以下の通り設定することができる。
・非依存パラメータが0に等しい場合、同じフレーム内または前フレーム内のこのタイルと他のタイルとの間の符号化の依存関係は、未知である。情報は、潜在的な復号化依存性のシグナリングのためにトラック参照ボックスの探索によって発見することができる。
・非依存パラメータが1に等しい場合、同じフレーム内のこのタイルと他のタイルとの間に空間的な符号化依存関係はないが、過去のフレーム内に同じtileIDを有するこのタイルとタイルとの間には符号化依存関係が存在する場合がある。
・非依存パラメータが2に等しい場合、同じフレームまたは過去のフレーム内に同じtiIeDを有するこのタイルと他のタイルとの間に符号化の依存関係はない。
非依存パラメータ値3は、他のタイルからの単純なslice_segment_header依存関係を示すために用いることができる。これは1つのスライスが複数のタイルを含むケースになり得る。1つのタイルは、依存するスライスセグメント、ひいては先の非依存スライスセグメントが符号化されるタイルに依存するスライスセグメントのみによって符号化されることができる。このようなケースにおいて、現在のものが依存するタイルの情報は、トラック参照ボックスにおいて発見することができる。
オプションとして、1タイル当たりの平均ビットレートを記述するパラメータは、帯域幅に基づく適応のためにストリーミングクライアントに対して提供するために、タイル記述子において設定することができる。
この実施形態によれば、各タイルのプロパティは、各タイルトラックに対して、「tile」grouping_typeをもつ1つのSampleGroupDescriptionボックス(「sgpd」)およびHEVCSpatialEntry(またはTileRegionGroupEntry)を定義することによって、ムービーヘッダ(「moov」ボックス)内に1回与えられる。そして、ISO BMFF規格にしたがって、SampleToGroupボックスは、サンプルの数が予め認識されていないので、そのプロパティにタイルトラック断片の各サンプルを関連づけるために、各タイルトラック断片において定義される。
タイルのグリッドが経時的に変化した場合、新たなHEVCSpatialEntry(またはTileRegionGroupEntry)をもつ新たなSampleGroupDescriptionボックス(「sgpd」)は、トラック断片ボックス(「traf」)において定義され、SampleToGroupボックス(「sbgp」)によって参照されることができる。そのため、グリッドが経時的に静的であるケースにおいて、少なくとも1つのSampleToGroupボックスは、タイルトラックおよびタイルトラック断片毎に定義される。このボックスは、記述の点から、少なくとも28バイトを表現する。2秒の持続時間の断片をもつ16枚のタイルを想定すると、これは、SampleToGroupボックスに対してのみで、経時的にタイリング構成をシグナリングするために1792ビット/秒をに相当するだろう。グリッドが経時的に変化するケースにおいて、コスト(データ量の点での)は、より高くなるであろう。以下に記載されるように、この追加のイニシャライゼーションデータの量は減少させることができる。
サンプルグループボックスは、メタデータを個々サンプルに対して追加するために効率的で且つ拡張可能なツールを提供する、ということに留意するべきである。但し、これは各AUにおいて固定NALUパターンをもつ(すなわち時間に沿った静的なタイリング構成をもつ)タイリング記述子のケースになり得るので、所定のメタデータが所定のトラックのすべてのサンプルに対して有効である、ということは非常にありふれたことである。
これはSampleToGroupボックスを用いて、グループの各サンプルにしたがってフラグを立てることによって示すことができる。
交互に、1タイルトラック当たりのイニシャライゼーションデータの量を低減するために、いくつかのサンプルグループは「デフォルト」(すなわち、すべてのサンプルに対して有効)としてマーク付けすることができる。このデフォルトのグループ化は、静的なタイリング構成に対して、全シーケンスに対して1トラック当たり1回「moov」ボックスレベルで定義されるので、バイトに関して記述コストを制限する。
そのために、グループ記述タイプの第2のバージョン(バージョン=2)は、参照されたサンプルグループが、現在のトラックまたは現在のトラック断片におけるすべてのサンプルに適用される、ということを(grouping_typeとして知られているパラメータを介して)示すSampleGroupDescriptionBoxとして知られているボックス(traf/stblボックス毎に複数のSampleGroupDescriptionBoxが存在する場合がある)において用いることができる。
サンプルグループ記述ボックスの新バージョンは、以下の通りに定義することができる。
aligned(8) class SampleGroupDescriptionBox (unsigned int (32) handler_type) extends FullBox(‘sgpd’, version, 0) {
unsigned int(32) grouping_type;
if (version ==1) || (version==2) {unsigned int (32) default_length;}
unsigned int (32) entry_count;
int i;
for ( i = 1; i <= entry_count; i++ ) {
if (version != 0) {
if (default_length==0) {
unsigned int(32) description_length;
}
}
switch(handler_type) {
case ‘vide’: // for video tracks
VisualSampleGroupEntry(grouping_type);
break;
case ‘soun’: // for audio tracks
AudioSampleGroupEntry(grouping_type);
break;
case ‘hint’: // for hint tracks
HintSampleGroupEntry(grouping_type);
break;
}
}
このSampleGroupDescriptionボックスの拡張タイプによれば、バージョンが2に等しい場合、このグループ記述および任意のSampleGroupEntryは、現在のトラックまたはトラック断片のすべてのサンプルに対して適用する。サンプルグループ記述ボックスが明確であることを示す別の実施形態は、ISOベースメディアファイルフォーマットのいくつかのボックスにおいて既に用いられているフラグ属性のサポートによって、このボックスを拡張することである。この実施形態において、SampleGroupDescriptionBoxに対する新たな定義は、以下の通りである。
aligned(8) class SampleGroupDescriptionBox (unsigned int (32) handler_type) extends FullBox(‘sgpd’, version, flags) {
unsigned int(32) grouping_type;
if (version==1) { unsigned int(32) default_length; }
unsigned int(32) entry_count;
int i;
for (i = 1 ; i <= entry_count ; i++){
if (version==1) {
if (default_length==0) {
unsigned int(32) description_length;
}
}
switch(handler_type) {
case ‘vide’: // for video tracks
VisualSampleGroupEntry(grouping_type);
break;
case ‘soun’: // for audio tracks
AudioSampleGroupEntry(grouping_type);
break;
case ‘hint’: // for hint tracks
HintSampleGroupEntry(grouping_type);
break;
}
}
}
セマンティックスは変更されず、唯一の差は、以下の通り定義されたフラグ属性の導入である。すなわち、以下のフラグはsgpdに対して定義される:「0x000001:サンプルグループはデフォルトである」は、このトラックまたは現在の断片におけるサンプルがすべてこのグループに対して割り当てられるということを示し、結果的に、このボックスにおいて定義されたすべてのエントリ(特定のサンプルグループエントリ)は、トラックまたはトラック断片(traf)におけるすべてのサンプルに対して適用する。デフォルトsgpdボックスが、同じgrouping_typeをもつデフォルトsgpdボックスを持つ(すなわち、上記のフラグ値、またはバージョン=2を持つ、またはすべてのサンプルに対して適用するようにシグナリングする何らかの他の手段によって)トラックのためにトラック断片(traf)において定義される場合、trafにおいて定義されたsgpdボックスのみが考慮されるものとする。ムービー断片のサイズを変更する、またはそれらを取り除く、場合、デフォルト関連付けがもはや適用しないということが起こり得る。その場合には、通常のSampleGroupDescriptionBoxは、SampleToGroupBoxボックスとともに、新らたな関連付けを反映するように作成されるべきである。このデフォルトのグループ化メカニズムは、分離したトラックにおいてカプセル化された場合のGDR(段階的復号化リフレッシュ:Gradual Decoding Refresh)グループ若しくはタイル、または他のサンプルグループ記述タイプの場合の「ロール」などのサンプル記述に対して有用(低減された記述コスト)になり得る。
grouping_typeパラメータは、このサンプルグループ記述に関連付けられたSampleToGroupボックスを識別する整数である。トラックまたはトラック断片がそのイニシャライゼーションデータにおいてバージョン=2をもつSampleGroupDescriptionボックスを備える場合、(記述が定義によってすべてのサンプルに対して適用するので)対応するgrouping_typeを記述するSampleToGroupボックスをこれらのイニシャライゼーションデータに加える必要はない、ということに留意するべきである。
サンプルグループ記述ボックスの新バージョンのこの定義において、entry_countは、以下のテーブル内のエントリの数を与える整数であり、default_lengthは、すべてのグループエントリの長さを示し(長さが定数である場合は)、またはそれが可変である場合はゼロを示し、エントリからエントリに対して変化し、そのため、default_lengthがゼロである場合、description_lengthは、個々のグループエントリの長さを示す。
この実施形態によれば、grouping_typeは、空間/タイルのグループ化を示すために特定の値を有することができ、それは、例えば「tile」のためのASCIIコードに対応する16進値(0x74696C65)になり得る。grouping_typeに対して同じ値をもつこのボックスの多くとも1つの出現は、トラック毎に存在するものとする。
経時的に移動する適応型グリッドの場合には、グループボックスに対するサンプルは、同一のままであり(すなわち「tile」grouping_type)、すべてのサンプルに対して適用し続ける、ということに留意するべきである。そのため、デフォルトの構成から変更されたタイリング構成がmoov/trak/mdia/minf/stblボックス内でシグナリングされるタイルトラックのトラック断片において、サンプルグループ記述ボックスのみを更新する必要がある。これは、適応型タイルのための信号化コストを低減する。
交互に、および1タイルトラック当たりのイニシャライゼーションデータの量をさらに低減するために(各タイルトラック断片内のSampleToGroupボックスを繰り返さないようにするために)、参照された新たなDefaultSampleToGroupsボックス「dsgp」(または同じセマンティックスを有する別の同様のボックス)は、イニシャライゼーション情報の一部として各moov/trakボックスからSampleTableボックス(「stbl」)においてのみ含まれるように定義される。この新たなボックスは、すべてのサンプルに対してトラック内のすべてのサンプルに適用する1セットのサンプルグループ記述を関連づけるだろう。
新たなDefaultSampleToGroupボックスは、以下の通りに定義されることができる。
aligned(8) class DefaultSampleToGroups extends FullBox(‘dsgp’, version, 0) {
unsigned int(32) entry_count;
for (i=1; i <= entry_count; i++) {
unsigned int(32) grouping_type;
if (version == 1) {
unsigned int(32) grouping_type_parameter;
}
unsigned int(32) group_description_index;
}
}
ここで、entry_countパラメータは、各サンプルに関連付けられるグループのリスト内のエントリの数を与え、grouping_typeパラメータは、SampleGroupDescriptionボックスにおいて参照されたタイプのグループ化のための識別子である。例えば、特定のある実施形態において、グループ化タイプは、空間/タイルのグループ化を示す特定の値を有することができる。それは、例えば「tile」のためのASCIIコードに対応する16進値(0x74696C65)になり得る。group_description_indexパラメータは、このグループにおいてサンプルを記述するサンプルグループエントリのインデックスを与える整数である。インデックスは、1からSampleGroupDescriptionボックス内のサンプルグループエントリ数までの範囲であるか、または、このサンプルがこのタイプの任意のグループのメンバーではないことを示す値ゼロをとる。最後に、grouping_type_parameterパラメータは、グループ化のサブタイプのための指標である(もしグループ化タイプによって用いられれば)。
これは、もしタイルグループ化が使用中であれば(entry_count=1)ムービー断片の数がいくつであっても1タイル当たり多くとも32バイトを用いて、トラックからのすべてサンプルが所定のグループ化タイプのための同一グループの記述に追従するということをシグナリングすることを可能にする。経時的に移動する適応型グリッドの場合には、トラック断片において新たなDefaultSampleToGroupsボックスおよび新たなSampleGroupDescriptionボックスを定義することができるかもしれない。新たなDefaultSampleToGroupsボックスは、先の定義を置き換え、新たなSampleGroupDescriptionボックス内の新たなタイル記述を参照する。従って、SampleToGroupボックスは、各々のトラック断片毎には定義されず、タイルグリッド定義が変更された場合にのみ定義される。
さらに、ビデオシーケンスに沿ったタイリング構成においてバリエーションを取り扱うのに適した特定の実施形態によれば、シグナリングは、新たなサンプルマップボックスによってサブサンプルレベルにおいて行われる。
さらに、特定の実施形態によれば、一般的なシグナリングは、符号化の依存関係に対して用いられる。この実施形態によれば、各タイルは、1トラックにおいて符号化され、抽出器(記述サイズ(普通はタイル毎に1サンプル当たり14バイト)の点からコストのかかる)以外の参照が用いられる。
図18は、符号化の依存関係ための一般的なシグナリングを用いたHEVCビットストリームをカプセル化する一例を示す。図17において図示したもののように、それは、単層ストリームのためのカプセル化の例を提供する。それはタイル化HEVCビデオエレメンタリーストリームに対応する。明瞭にするために、個別のトラックのデータ部分のみが図18において表現される(ヘッダ部分は図19aに示される)。これらのデータ部分は、以下のように表現する。
・データを集約するために用いられる複合または仮想トラック1810、
・すべてのトラックに対して共通の情報を保存するパラメータセットトラック1820、および
・所定のタイルのための圧縮されたビデオデータを各々が含むタイルトラック1830〜1890(説明のために、タイルトラック1830および1890のみが表現される)。
図14と比較すると理解することができるように、図18に図示されたタイルトラック内のサンプルは、もはや抽出器NALユニットを用いない。これにより、タイルトラックの記述はより小さなサイズになる。連続的な矢印が復号順序の依存関係を表現する一方で、破線の矢印は、復号化依存性を示す。
例えば、複合トラック1810内の1811で参照される第1のサンプルは、パラメータセットトラック1820の第1のサンプル1821と、各タイルトラック1831〜1891の第1のサンプルとに依存する。これは、1819で参照されるサンプルnと同じである。これらの依存関係は、図14に図示されたものと同様であるが、後者は、抽出器データ構造により表現されるのでサンプル毎の1依存関係当たり14バイトのオーバヘッドになる。
よりコンパクトな記述を提供する好ましい実施形態は、以下に提案される。この好ましい実施形態は、以下のことを可能にする。
・復号順序を指定すること、
・ベースおよび強化の固定パターン(または非VCL+タイル)の場合に、サンプル毎に繰り返しの代わりに連結のための単純なルールを提供すること、すなわち、このような単純なルールは、また、オーバヘッドを減少させることを可能にする(抽出器NALUの必要性がない)、および
・抽出器が抽出器を指すことができないという事実をバイパスすること(ISO/IEC14496−15のサブ付記項A.3.1を参照)、そのため、N番目のスケーラブル層は、完全なストリームを集約するために1サンプル当たりN個の抽出器を必要とする。
この実施形態によれば、すべてまたは少なくともいくつかのサンプルを処理するために依存関係リンクの1つの記述を用いることができるように、サンプル上の依存関係リンクの反復が用いられる。言いかえれば、各トラックのヘッダ部分における依存関係リンクのこのような反復によって、それらを因数分解することができ、したがって記述コストを低減することができる。
符号化の依存関係に対して総括的なシグナリングを用いた、カプセル化されたトラックのためのトラックヘッダおよびトラック参照の一例を示す、図19aおよび図19bを備える図19に図示されるように、moovヘッダボックスは、このような依存関係の記述を保存するために用いることができる。
説明のために、図19aのmoovヘッダ1900は、図18に図示されたトラックのヘッダデータ(trakボックス)に対応する。より正確には、図18の複合または仮想トラック1810のヘッダ情報は、参照符号1910により図19aにおいて表現され、図18のパラメータセットトラック1820のためのヘッダーデータは、参照符号1920により図19aにおいて表現され、タイルトラックのためのヘッダーデータは、図18におけるタイルトラック1830またはタイルトラック1890のような参照符号1940により図19aにおいて表現される。
図示されるように、各トラックボックスは、参照タイプおよびこの特定の参照タイプに関係するトラックIDのリストとして、所定のトラックのための依存関係をリストアップするtrefにより示されたトラック参照ボックスを含む。説明のために、dpndおよびdodpで示される2つの参照タイプが用いられる。第2の参照タイプが復号順序の依存関係を示す一方で、第1の参照タイプは、復号化依存性を示す。それらは、ISO/IEC14496のパート12またはパート15において定義された他の既存の参照タイプと組み合わせることができる。dpndおよびdodpの名称が例として与えられており、それらがISOのベースメディアファイルフォーマットおよびその拡張における他のコードと衝突しないという条件で任意の他の4文字コードを用いることもできる、ということに留意するべきである。
図示された例において、複合トラックは、パラメータセットトラックおよび各タイルトラック上の復号化依存性を有する。したがって、(1911で参照される)そのtrefボックスは、複合トラックが依存するトラックとして他のすべてのトラックをリストアップする。一方、パラメータセットトラックには、(1921を参照して理解することができるように)復号化依存性がない。そのため、図13に対する参照によって本明細書の以下に記載されるような「hbas」依存関係を用いて、ベーストラックとして、他のトラックから参照することもできる。これにより、図20を参照して記述されるようなクライアントエンドにおいて行われる構文解析処理を単純化することができる。
この参照メカニズムは、各トラックに対して表示することができるトラックを再構築するために必要な他のすべてのトラックを示し、トラック内に収納されるNALユニット間の適切な復号順序をさらに保証する。
図20は、符号化の依存関係のための総括的なシグナリングを用いてカプセル化されたmp4ファイルまたはセグメントを解釈するためにクライアント装置によって実行されるプロセスを示すフローチャートである。
図示されるように、第1のステップ(ステップ2000)は、サーバからダウンロードされたか、またはセグメントとしてストリーミングされたローカルファイル若しくはファイルになり得るmp4ファイルを受信することにある。次のステップ(ステップ2001)において、moovボックスおよびtrakボックスは、ユーザデータボックスが存在し、且つトラック選択ボックス(tsel)を含むか否かを判定するために配置される。これにより、表示するトラックを選択する際に、クライアント装置またはユーザーを支援することができる。
トラック選択ボックスが存在しない場合(すなわち、ステップ2001の結果は偽である)、最初に遭遇したtrakボックスに対応するトラックは、デフォルトとして選択される(ステップ2002)。一方、トラック選択ボックスが存在する場合(すなわち、ステップ2001の結果は真である)、クライアント装置は、ユーザーの選択においてユーザーを支援するために、ユーザーに対してトラックの属性を提示することができる(ステップ2003)。交互に、クライアント装置は、トラックヘッダボックス内のトラックに関連付けられたメディアハンドラ情報を解析することができる(例えば図11を参照)。この実施形態によれば、ビデオトラックのみ(例えば図18における複合トラック1810)を選択することができ、タイルトラック(例えば、図18におけるタイルトラック1830〜1890)またはパラメータセットトラック(例えば、図18におけるパラメータセットトラック1820)は選択されない。
次のステップ(ステップ2004)において、クライアント装置は、復号化に従属しているトラックのリストを構築するために、選択されたトラックのトラック参照ボックスを解析し始める。リスト内の各々のトラックに対して、復号化依存性を反復して処理する(ステップ2005)。
このリストを構築する間に、クライアントは、すべての従属トラックが他のトラックに対する依存関係を含む「dpnd」参照タイプを含むか否かをチェックする(ステップ2006)。このような場合、このような場合が生じるべきでないので、処理は終了する(ステップ1007)。一方、従属トラックの少なくとも1つが他のトラックに対する「dpnd」参照タイプを含まない場合、ステップ2009においてサンプルの生成をガイドする順序付けられたトラック(ステップ2008)のリストを構築するために、それはベーストラックとして選択される。その順序は、このトラック(図19における参照符号1922)において宣言される「dodp」依存関係に従うことによって与えられる。
このステップは、ステップ2008から取得されるような順序付けられたトラックおよび同じタイムスタンプを有するNALユニットに対して繰り返す。所定のトラックに対して、同じタイムスタンプをもつNALユニットは、すべて連結される。NALユニットは、再び同じタイムスタンプなどをもつ順序付きリスト内の次のトラックからトラックの順序付きリストの端部までそのように連結されたNALユニットに後続する。その後、次のサンプルは、入力されたセグメントまたはファイルの端部まで同じ原理で構築される(次のタイムスタンプに対応する)。
これにより、ステップ2010においてビデオエレメンタリーストリームが生成される。
どのトラックがベーストラックであるのかを示す依存情報を追加することによって、クライアント装置によって実行される処理、特にベーストラック(すなわちステップ2005および2006)を得るステップ、を単純化することができる、ということに留意するべきである。これは、例えば、トラック参照タイプ「tbas」またはISO/IEC14496−95内にあるようなsbasまたは図13を参照して記述されるようなボックス「hbas」を用いることによって行うことができる。
また、検証ステップは、特にすべてのデータがクライアント装置内に一般的に存在するとは限らないというストリーミング構成において、ステップ2004(その間クライアントが復号化依存性に従う)と組み合わされることができる、ということに留意するべきである。実際は、復号化依存性がクライアント装置によって読み取られる場合、被参照トラックは、クライアント装置に存在しなければならず、そうでなければ、復号化が可能にならない。それらがまだ受信されていない場合、クライアントがサンプル(ステップ2009)を作成することを可能にするように、その時に、それらを要求することができる。反対に、ステップ2008において構築されたトラックの順序付きリストにおいて、1つのトラックがクライアント側において利用可能でない場合に、エラーを伴わずにそれを無視することができる。これは、全ビデオの空間的サブパーツのみを再生することを可能にする。
明瞭にするために、図19bに図示された例は、単層のタイル化ストリームのみが非依存タイルとともにカプセル化される単純なケースである。非依存タイルでない場合、いくつかの復号化依存性は、トラック参照ボックスにおいてシグナリングされ、このトラックからのNALUがトラック内のものの前に生じるものとするということを示すために、復号順序の依存関係も、また、トラックにおいてシグナリングされる。例えば、図19bに示されるように、タイルiが4に等しいIDを有するトラックに対応するタイルとの符号化依存性を有する場合(参照1980)、復号順序1981はトラック参照ボックスにおいてシグナリングされ、復号順序の依存関係は、ID=tileiをもつトラック内のものの前にこのトラックからのNALUが生じるものとするということを示すために、ID=4(参照1970)をもつトラックにおいてシグナリングされる(1971)。エンハンスメントレイヤにおけるタイルが下位層における同じタイルに依存する場合に、これは同じになるだろう。
図21aの復号化依存性グラフを考慮すると、図20に関連して記述された処理は、図21bに図示される。「dodp」依存関係は、最後に、上方に進むトラック参照を用いて依存関係を記述する。図示されるように、依存関係グラフは、トラックT1(2201)から依存関係に与えられる順序、2212、2213、および2214、を備える。これらの依存関係は、時間tにおけるサンプルSiの予期された処理順序が、S1(t)、S2(t)、S3(t)、S4(t)、S5(t)であるものとするということを示す。時間MT2において、トラックT1上にサンプルがなく、且つトラックT4上にサンプルがない場合、サンプルの処理順序は、S2(MT2)、S3(MT2)、S5(MT2)であるものとし、したがって、サンプルが所定の時間に利用可能でない場合に復号順序の依存関係を無視する。
最後に、この新たな復号順序または上方向の依存関係(「dodp」または4文字コードの名称であるものすべて)は、以下の通り要約することができる。すなわち、「dodp」参照は、参照するトラックと参照トラックとの間の依存関係サブツリーを定義する。被参照トラックは、また、他のサブツリーを定義する、「dodp」を有してもよい。「dodp」を有しており、どのような「dodp」によっても参照されていないトラックは、依存関係ツリーのルートである。いかなるメディア時間MTに対して、依存関係ツリーにおけるトラックの1つにサンプルがある場合、メディア時間MTを持つTracktref[i]からのサンプルは、もしあればメディア時間MTをもつTracktref[i+1]からのサンプルの前に、 但しもしあれば参照するトラックのメディア時間MTをもつサンプルの後に、メディアプロセッサに対して渡されるものとする。ルートから開始して、1レベルの依存関係ツリーにおけるすべてのトラックが第1に取り扱われ、その後、より深いレベルにおけるトラックが取り扱われる。同じトラックを参照する複数の依存関係が発見されれば、参照の最初の出現に対応するサンプルのみがメディアプロセッサに対して渡されるものとする。
同じメディアハンドラを有していないトラック間に(「dodp」)参照を持つのはエラーであるが、同じサンプル記述タイプを有していないトラックに(「dodp」)参照をもたせることができる。
それは、「dodp」トラック参照を伝えるために用いられるサンプルをトラックにもたないことができ、これにより、例えば「dodp」を伝える空きのトラックのサンプル記述内に保存されたすべてのパラメータセットをもつISOBMFファイル内の分離されたトラック内に格納されたHEVCタイルの符号化階層を記述することができる。
「dodp」によって参照されるトラックは、個々に処理可能ではないかもしれないが、その場合には、後方互換性の理由のため、これらのトラックは、無効としてマークされるものとする。「dodp」認識メディアプロセッサは、無効のトラックのすべて若しくは一部を再生することを判断してもよい。
より一般的に、復号順序の依存関係は、コード化された依存メディアの柔軟な記述を可能にするか、または単純なサンプルデータのパーティショニングを提供する。実際に、抽出器とは反対に、このメカニズムは、実際のNALユニット集約処理から依存関係記述を分離する。その後、外部手段によって保存または配送されたベースメディアストリーム(複数可)のために、ISOBMFファイル内に保存されたエンハンスメントレイヤの符号化の依存関係を記述することを可能にする。
抽出器の使用に基づいたシグナリングよりもさらなる適応性を提供するこの依存関係のシグナリングの拡張は、復号化依存性が時間に沿って変化するケースを対象とする。例えば、いくつかのタイルトラックから構成される仮想トラックは、所定の時間における関心領域を表現することができる。この関心領域は、仮想トラックと(ROIによってカバーされた)トラックタイルとの間の依存関係の改良に結びつく時間に沿って変更してもよい。このようなケースを取り扱う位置になるために、新たなトラック参照ボックスは、トラック断片レベルにおいて導入される。すなわち、trakボックス内の広範囲なトラック参照ボックスにおいて宣言される依存関係に一時的に過負荷をかけることを可能にする「トラック断片リファレンスボックス」(tfrf)である。
タイリング構成に関するサンプル記述のためのこの実施形態は、カプセル化されたタイル化HEVCビットストリームを単一のトラックに対して適用する。MPEG−4規格に適合する単一のビデオトラックにダウンロードされた空間部分を保存するために、複合トラックの抽出器の決定の後に、タイル化HEVCビットストリームのMPEG−4カプセル化のための、またはクライアント側における応用を見出してもよい。別の応用は、抽出器をサポートしないMPEG−4を準拠する標準的な単一トラックへの複合トラックの変換を対象とすし、MPEG−4構文解析ツールに対してアドレスされる。
図12aおよび図12bをからなる図12は、様々なタイリング構成を取り扱うのに適した、サブサンプルレベルにおける、フルビデオ内のタイルの位置と、タイルのサイズと、アーティファクトを伴わずにタイルトラックを復号することができるという指標とのシグナル伝達を示す。
図12aは、クライアント装置(例えばビデオプレーヤ)によって実行されるステップを示す。第1のステップ(ステップ1200)において、クライアント装置は、イニシャライゼーションデータをダウンロードするか、またはファイルがローカルファイルである場合イニシャライゼーションデータ、例えばMPEG−4規格に準拠するカプセル化されたビットストリームのイニシャライゼーションデータ、普通はmoovボックスのコンテンツ、を読み取る。
これらのイニシャライゼーションデータから、クライアント装置は、そこにタイル情報が符号化されているトラックヘッダ情報を解析することができる(ステップ1205)。このタイル情報により、ユーザーは、1つ以上のタイルに対応することができるクライアント装置のグラフィカルインターフェースを介して関心領域を選択することができる(ステップ1210)。
複合トラックと同様に対応するタイルトラックも、クライアント装置によってダウンロードされるか、または読み取られる(ステップ1215および1220)。次に、複合トラックの抽出器は、単一のビデオトラック(ステップ1225)を取得するようにタイルトラックを用いて決定される。最後に、クライアント装置は、取得されたビデオトラック(ステップ1230)において、例えばSampleTableBox内に、タイリング記述を構築して追加する。
タイリング記述の例は、図12bに示される。図示されるように、タイリング記述1250は、ムービーボックス「moof」1255とデータボックス「mdat」1260とを備える。「moof」ボックス1255は、個別のサンプルグループを記述するSampleToGroupボックス1265を含む1トラック当たり1つのSampleTableボックスと、各サンプルのNALユニット間のマッピングとタイルとを記述するサンプルグループ記述ボックス1270と、タイル記述を含むサンプルグループ記述ボックス1275とを含む。グループボックス1265に対するサンプルは、グループエントリTileSampleMapEntryのための「tsgm」グループ化タイプを示す。
TileNALUMapEntry(より一般的にはNALUMapEntry)グループエントリ1270は、サンプルのNALユニット間のマッピングと、タイルとを定義する(これは、このような実施形態がサブサンプルレベルシグナリングを参照する理由である)。grouping_typeパラメータが「tsgm」に等しいこのボックスは、1サンプル当たりのNALユニットの数を含む。
TileNALUMapEntry(またはNALUMapEntry)ボックスは、(図12bに図示されたように)以下の様に定義することができる。
class TileNALUMapEntry() extends VisualSampleGroupEntry (‘tsgm’) {
unsigned int(8) reserved = 0;
unsigned int(8) entry_count;
for (i=1; i<= entry_count; i++)
unsigned int(32) tileID;
}
}
ここで、entry_countは、トラックサンプル内のNALUの数を示し、tileIDは、現在のトラックによって記述された空間的タイルのための一意の識別子を提供する。
TileNALUMapEntry(またはNALUMapEntry)ボックスも、また、サイズの点から以下の様に最適化することができる。
class TileNALUMapEntry() extends VisualSampleGroupEntry (‘tsgm’) {
unsigned int(6) reserved = 0;
unsigned int(1) large_size;
unsigned int(1) mode;
if (large_size) {
unsigned int(16) entry_count;
} else {
unsigned int(8) entry_count;
}
for (i=1; i<= entry_count; i++)
if (mode) {
if (large_size) {
unsigned int(16) NALU_start_number;
} else {
unsigned int(8) NALU_start_number;
}
}
unsigned int(16) tileID;
}
}
ここで、large_sizeパラメータは、トラックサンプル内のNALユニットエントリの数が8または16ビットで表現されるか否かを示し、モードパラメータは、各NALユニットエントリが(モードが設定されない場合に)、またはタイルID変更に対応するNALユニットエントリのみが(モードが設定される場合に)記述されるか否かを示す。後者のケースにおいて、NALユニット数は、large_sizeパラメータの値に依存して16または8ビットに符号化される。
それは、これらのNALユニットの各々と特定のタイルとの間のマッピングを指定する。ここで上述したように、タイル記述は、サンプルグループ記述ボックス1275内に提供され、各タイルは、順々に記述される。
所定の例は、1つのNALユニットが1枚のタイル毎にシーケンス持続時間に沿ってデータを含む特定のケースである、ということに留意するべきである。タイルデータがいくつかのNALユニットに跨って分割される場合、いくつかの集約器は、タイルに対応するNALユニットのセットの記述をするために用いられる。NALユニットの数が時間とともに変化する場合、いくつかのtileSampleMapエントリは、定義されることができ、グループ化するべきサンプルは、トラック断片ヘッダにおいて、1つの断片から別の断片に、選択的にグループ化タイプを介しての適切なタイルマップエントリを参照する。
図10を参照して記載されるようなデータカプセル化スキームにおいて、HEVCビットストリームは、圧縮されたビデオデータを実際に含むタイルトラック1020−1〜1020−2を指す複合トラック1015としてカプセル化される。複合トラックは、個別のHEVCパラメータセットNALユニット(図10内の示されたPS)に由来する構成データを含む。複合トラックの他の要素は、主として、タイルトラックにおいてカプセル化された圧縮ビデオデータを(イニシャライゼーションセグメントファイル1005のmoovボックス内に収納されるトラック参照ボックス(「tref」)を介して)指し示す、抽出器のリストに、1サンプルおよび1タイルトラック当たり1つが、存在する。
ISO BMFF規格(規格のパート15)における現在の依存関係シグナリング手段は、イニシャライゼーションセグメントファイル1005のmoovボックス内のトラックボックスの部分であるトラック参照ボックス「tref」内に配置される。「tref」ボックスは、プレゼンテーションにおいて、含んでいるトラックから別のトラックに対する参照を提供する。含んでいるトラックは、プレゼンテーションにおいて複数の他のトラックを参照してもよい。トラック間の依存関係のタイプは、現在の規格において2つの値「scal」または「sbas」をとることができるreference_typeパラメータによって指定される。「sbas」値は、スケーラブルベースを表わす。それは、被参照トラックがスケーラブルプレゼンテーションにおいて現在のトラックのスケーラブルベーストラックであることを示す。「scal」値は、スケーラビリティを表わす。それは、スケーラブル表現の別々な層を表現するトラック間の関連性を示す。それは、含んでいるトラックが被参照トラックに依存するということを意味する。
図10を参照して記述された実施形態において、スケーラビリティに関連する特定の依存関係はない。スケーラブルのビデオを考慮に入れることができたとしても、複合トラックとタイルトラックとの間の空間的依存関係が注目される。これらの依存関係は、例えば、複合トラック1015(id=1)に対応するイニシャライゼーションセグメントファイル1005、moovボックスのtrefボックスにおいて行われるような、新たな「tile」値によって明示的に示すことができる。
1つのトラックから他のトラックに対する依存関係の図示する例がタイルを対象とする(すなわち1つの複合トラックから複数のタイルトラックに対する依存関係)ものである一方で、1つのトラックから1つまたはいくつかのトラックに対する他のタイプの依存関係も同様に取り扱うことができる。そのため、reference_typeパラメータは、例えば、トラックが複数のトラックに依存するということを示すためにサブレイヤ依存関係(例えば「subl」値)を示してもよい。
したがって、サブレイヤトラックは、HEVCのエレメンタリビットストリームの部分を含むトラックとして定義することができ、それは他のHEVC NALユニットの復号化処理を損なわずに、廃棄することができる。このような定義は、特に、上記のように、タイルトラックと同様にスケーラブルHEVCビットストリーム内の時間的な層に対しても適用する。サブレイヤトラックに対応する各トラックは、所定値にセットされたときに、このHEVCトラックがサブレイヤトラックであり、他のトラック(複数可)から、例えば、複合トラックから参照されるNALユニットのみを含む(すなわち、このHEVCトラックは表示することができない)ということを示す、ビット(またはフラグ)を用いて、HEVCConfiguration記録において(すなわちSampleTableBoxにおいて)マークされることができる。このビットまたはフラグの値が反対の値を有する場合、それはこのHEVCトラックがイニシャライゼーションデータも含むサブレイヤトラックである(すなわち、このHEVCトラックは表示することができる)ということを示す。例えば、現在のHEVCDecoderConfigurationRecordボックスにおいて予約ビットを用いることが可能である。
図12を参照して記載た特定の実施形態によれば、各タイルトラックは、標準的ビデオトラックとして再生可能である。
図13は、本発明の実施形態による、標準的ビデオトラックとして再生可能な複合トラックおよび独立したタイルトラックを備える1セットのトラックとしてHEVCビットストリームをカプセル化する例を図示する。説明のために、カプセル化されたビットストリームは、図2に概略的に図示されたビデオシーケンスに対応する。
図13に図示されるHEVCビットストリームカプセル化は、各タイルトラックがイニシャライゼーションおよび構成データの修復を可能にする特定の抽出器を備える点で主として、図10に図示されたものとは異なる。
図示されるように、タイルトラック1300−1〜1300−12の各々は、これらのイニシャライゼーションおよび構成データは、HEVC標準によれば、普通はHEVCビットストリームの様々なパラメータセットに対応するということが想起される、イニシャライゼーションおよび構成データを表現する、複合トラック1310のHEVCパラメータセットNALユニット(PS示される)を指し示す抽出器1305−1〜1305−12を備える。したがって、このようなイニシャライゼーションおよび構成データは、正常なビデオトラックとして再生可能な各タイルトラックを構成する。
各タイルトラックに対して追加された抽出器は、ビデオデータのサンプルの前に、各タイルトラックのメディアデータボックス「mdat」の先頭において配置されるのが良い。
1315−1〜1315−12で示されるタイルトラック(1300−1〜1300−12)から複合トラック(1310)に対するこれらの依存関係は、例えば、(イニシャライゼーションセグメントファイル1325のムービーボックス「moov」内の)タイルトラックに関連付けられた「tref」ボックス1320−1〜1320−12のreference_typeパラメータにおいてシグナリングされなければならない。この実施形態によれば、パラメータセットを含むトラックは、HEVCベーストラック「hbas」として見なされる(これは、スケーラブルプレゼンテーション内の最下位の動作点を含むトラックが「スケーラブルベーストラック」「sbas」として見なされるSVCケースに近い)。図示されるように、ベーストラックに依存するトラック(すなわち、識別子id=1を有する複合トラック1310に依存する、識別子id=2〜12を有するタイルトラック1300−1〜1300−12)は、それらのトラック参照ボックス(1320−1〜1320−12)において値「hbas」を有する。
再び、タイリングシグナル伝達は、トラックレベルに、サンプルレベルに、またはトラックおよびサンプルレベルにあることができる。
デフォルトでは、タイルトラックは、表示することができないものとして見なされる、ということに留意するべきである。但し、MPEG−4規格に適合する進歩的な構文解析ツールは、表示することができるタイルトラックを検出し、「tref」ボックス(タイルトラックが「hbas」タイプの参照タイプを含む場合、表示することができるものとして見なすことができる)を見ることによって、例えばストリーミングするマニフェストファイルにおいて、それらを明らかにすることができる。これは、ハンドラボックス内の「tile」値によりマークされたとしても、このタイルトラックを規格ビデオトラックとして見なすことができる、ということを意味する。タイリングシグナル伝達がサンプルベースである場合、タイリング情報がSampleTableBoxとして知られているボックスに入れられているので、タイルトラックまたはサブレイヤトラックは、それらのハンドラボックス内の「vide」としてタグ付けされることができる。
図14は、本発明の別の実施形態による、標準的ビデオトラックとして再生可能な複合トラック、イニシャライゼーションデータトラックおよび独立したタイルトラックを備える1セットのトラックとしてHEVCビットストリームをカプセル化する例を示す。説明のために、カプセル化されたビットストリームは、図2に概略的に図示されたビデオシーケンスに対応する。
図14に示されたHEVCビットストリームカプセル化は、イニシャライゼーションデータが専用のイニシャライゼーションデータトラック1400に入れられている(および複合トラック1310には加えられない)という点で主として、図13に図示されたものとは異なる。
図13を参照して記載されたものと比較すると、このような実施形態によって提供される効果の1つは、タイルトラックが独立的に再生されるべきである場合に送信されるデータ量を対象にすることである。イニシャライゼーションデータは専用のトラックにおいて送信されるので、複合トラックを送信することは必要ない。
HEVCファイルフォーマットの現在の規格によれば、ファイルフォーマットにおいてパラメータセット(PS)を伝達する2つの実現性が存在する、ということが想起されるべきである、すなわち、その二つとは、サンプルエントリ(Sample Entry)として知られているボックスにおいて、またはサンプルエントリ(Sample Entry)ボックスとデータサンプルにおいてである。これらの2つの構成は、サンプルテーブル(sample Table)として知られるボックス内の「hvc1」および「hev1」ボックスによりそれぞれシグナリングされる。サンプルにおけるパラメータを保存することがより複雑である一方で、それは、パラメータセットの更新の場合にさらなるダイナミズムを可能にする。そのため、ある好ましい実施形態において、パラメータセットは、特にタイリング構成変更のために、画像パラメータセット(PPS)変更を取り扱うことができるようにするために、(サンプルテーブルボックス内のHEVCSampleEntriesパラメータ内の「hev1」値により)サンプルエントリボックスおよびデータサンプルにおいて伝達される。
したがって、専用のイニシャライゼーションデータトラック1400は、ビデオパラメータセット、シーケンスパラメータセット、または画像パラメータセットにそれぞれ対応する、タイプが32、33、または34に等しいNALユニットのようなデータとして非VCL HEVC NALユニットのみをデータとして含む。
図14に示されているように、タイルトラック1410−1〜1410−12のメディアデータボックス「mdat」の先頭に配置された抽出器1415−1〜1415−12は、専用のイニシャライゼーションデータトラック1400のデータを指し示す。同様に、複合トラック1405の第1の抽出器(1420)は、専用のイニシャライゼーションデータトラック1400のデータを指し示す。そのため、イニシャライゼーションデータトラック1400は、他のいずれのトラックも参照しないカプセル化されたHEVCビットストリームの唯一のトラックである。そのため、イニシャライゼーションデータトラック1400(id=2)に関連付けられたtrefボックス内に示される依存関係がないので(「hbas」依存関係はtrefボックス内にない)、後者は、独立的に表示することができないものと見なされる。
いくつかのイニシャライゼーションデータがビデオビットストリームにおいて修正されると(すなわち画像パラメータセットがHEVCビットストリームにおいて生じる場合)、それらは、変更が生じる時間的な位置において、参照符号1425を参照して示されるようなサンプルデータに入れられる。1430および1435−1〜1435−12で参照される対応する抽出器は、複合トラック1405に、およびタイルトラック1410−1〜1410−12の各々に、すなわちこれらの新たなPPSを参照する各々のタイルトラックに、それぞれ挿入される。
カプセル化されたHEVCビットストリームの各々のトラックにおいて、サンプル(および関連付けられたNALU)は、時間的順序において構成される。同様に、画像パラメータセットは、専用のイニシャライゼーションデータトラック1400において時間的順序で構成される。「trun」ボックス(図14には図示せず)は、各サンプルのための適切な復号化時間を提供することを可能にする。
当然、局所的で且つ特定の要件を満たすために、当業者は、以下の特許請求の範囲によって定義されるような、但し本発明の保護の範囲内にすべて含まれる、多くの改良および変更を、上記のソリューションに適用することができる。
なお、本実施形態は、以下のように説明することもできる。すなわち、本発明の態様によれば、サーバ内のパーティション化されたタイムドメディアデータをカプセル化する方法であって、パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは複数のサブサンプルを備えており、前記方法は、
1つのタイムドサンプルの複数のサブサンプルの中から少なくとも1つのサブサンプルを選択するステップと、
選択されたサブサンプル毎に、選択されたサブサンプルと他のタイムドサンプルの各々の対応する一つのサブサンプルとを備える1つのパーティショントラックを作成するステップと、
少なくとも1つの依存関係ボックスを作成するステップであって、各依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの参照は、1つ以上の他のパーティショントラックに対する復号順序の依存関係を表現する、ステップと、
パーティショントラックの各々を少なくとも1つのメディアファイルに独立してカプセル化するステップと
を備える方法が提供される。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に有効なファイルフォーマットおよびエレメンタリストリームの生成に関連する。
そのため、本発明の方法は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合することができるとことを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、この方法は、少なくとも1つの他の依存関係ボックスを作成するステップであって、各々の他の依存関係ボックスは、パーティショントラックに関系しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの他の依存関係ボックスの参照の各々は、復号化依存性を表現する。
ある実施形態において、パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックである。
ある実施形態において、この方法は、考慮されるパーティショントラックに関する初期設定パラメータを備える、各々のパーティショントラックに関連付けられたトラック断片ヘッダを作成するステップを備え、少なくとも1つのトラック断片ヘッダは、他のパーティショントラックに対して考慮されるパーティショントラックの復号順序の依存関係をもつ依存関係ボックスを備える。
ある実施形態において、この方法は、少なくとも1つの作成されたパーティショントラックに対する少なくとも1つの参照を備える少なくとも1つの参照トラックを作成するステップと、前記少なくとも1つの参照トラックをメディアセグメントファイル内に独立的にカプセル化するステップとをさらに備え、少なくとも1つの参照トラックのカプセル化の結果として生じるメディアセグメントファイルは、定義を含むメタデータを保存するためのデータ構造を備え、前記定義は、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックのリストを備え、参照タイプは、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックの各々に関連づけられる。
ある実施形態において、この方法は、さらに複数のパーティショントラックに関連するイニシャライゼーションデータを備える少なくとも1つのイニシャライゼーションデータトラックを作成するステップを備え、前記少なくとも1つのイニシャライゼーションデータトラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化され、前記イニシャライゼーションデータトラックは、少なくとも1つの依存関係ボックスを備える。
ある実施形態において、作成されたトラックの各々のカプセル化から結果として生じる前記少なくとも1つのメディアファイルは、国際規格機構によって規定されるようなベースメディアファイルフォーマットおよび動的適応型HTTPストリーミングフォーマットとの互換性をもつ。
本発明の別の態様によれば、クライアント装置において、少なくとも1つのメディアファイル内のカプセル化されたパーティション化されたタイムドメディアデータからタイムドメディアデータビットストリームを提供する方法を提供し、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、少なくとも1つのメディアファイルは、少なくとも1つの依存関係ボックスと少なくとも1つのパーティショントラックとを備え、少なくとも1つのパーティショントラックの各々は1つのタイムドサンプルの複数のサブサンプルの中から選択される1つのサブサンプルを備え、他のタイムドサンプルの各々の1つの対応する空間的サブサンプルを備え、各依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの参照は、1つ以上の他のパーティショントラックに対する復号順序の依存関係を表現しており、前記方法は、
表示されるべきである少なくとも1つのパーティショントラックを選択するステップと、
パーティショントラックを反復して判定し、順序付けするステップであって、前記パーティショントラックを選択するステップは対応する依存関係ボックスの少なくとも1つの復号順序の依存関係に基づく、
表示される選択されたトラックを非カプセル化するステップと
を備える。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の方法は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合することができることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、前記少なくとも1つのメディアファイルは、少なくとも1つの他の依存関係ボックスをさらに備え、各々の他の依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの他の依存関係ボックスの参照の各々は、復号化依存性を表現し、前記パーティショントラックを反復して判定し順序付けするステップ、およびパーティショントラックを選択するステップは、さらに、対応する他の依存関係ボックスの少なくとも1つの復号化依存性に基づく。
ある実施形態において、前記方法は、考慮されるパーティショントラックに関連する初期設定パラメータを備える、各々のパーティショントラックに関連付けられたトラック断片ヘッダを取得するステップをさらに備え、前記少なくとも1つのトラック断片ヘッダは、他のパーティショントラックに対して考慮されるパーティショントラックの復号順序の依存関係をもつ依存関係ボックスを備える。
ある実施形態において、複数のパーティショントラックに関連するイニシャライゼーションデータを備える1つのイニシャライゼーションデータトラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化され、イニシャライゼーションデータトラックは、少なくとも1つの依存関係ボックスを備え、前記方法は、イニシャライゼーションデータトラックを選択し、非カプセル化するステップをさらに備える。
ある実施形態において、少なくとも1つの作成されたパーティショントラックに対する少なくとも1つの参照を備える少なくとも1つの参照トラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化され、少なくとも1つの参照トラックのカプセル化の結果として生じるメディアセグメントファイルは、定義を含むメタデータを保存するためのデータ構造を備え、前記定義は、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックのリストを備え、参照タイプは、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックの各々に関連づけられ、前記パーティショントラックを反復して判定し順序付けするステップおよびパーティショントラックを選択するステップは、さらに、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックの各々に関連付けられた参照タイプに基づく。
本発明の別の態様によれば、サーバ内のパーティション化されたタイムドメディアデータをカプセル化するための装置であって、パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、以下のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える装置が提供される:
1つのタイムドサンプルの複数のサブサンプルの中から少なくとも1つのサブサンプルを選択するステップと、
選択されたサブサンプル毎に、選択されたサブサンプルと他のタイムドサンプルの各々の1つの対応するサブサンプルとを備える1つのパーティショントラックを作成するステップと、
少なくとも1つの依存関係ボックスを作成するステップであって、各依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの参照は、1つ以上の他のパーティショントラックに対する復号順序の依存関係を表現する、
パーティショントラックの各々を少なくとも1つのメディアファイル内で独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の装置は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合することができることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、前記少なくとも1つのマイクロプロセッサは、少なくとも1つの他の依存関係ボックスを作成するステップを実行するようにさらに構成され、各々の他の依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの他の依存関係ボックスの参照の各々は、復号化依存性を表現する。
ある実施形態において、パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、サブサンプルは、空間的サブサンプルであり、少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックである。
ある実施形態において、前記少なくとも1つのマイクロプロセッサは、考慮されるパーティショントラックに関連する初期設定パラメータを備える、各々のパーティショントラックに関連付けられたトラック断片ヘッダを作成するステップをさらに実行するように構成され、少なくとも1つのトラック断片ヘッダは、他のパーティショントラックに相対して考慮されるパーティショントラックの復号順序の依存関係をもつ依存関係ボックスを備える。
ある実施形態において、前記少なくとも1つのマイクロプロセッサは、少なくとも1つの作成されたパーティショントラックに対する少なくとも1つの参照を備える少なくとも1つの参照トラックを作成するステップと、少なくとも1つの参照トラックをメディアセグメントファイル内に独立的にカプセル化するステップとを実行するようにさらに構成され、少なくとも1つの参照トラックのカプセル化の結果として生じるメディアセグメントファイルは、定義を含むメタデータを保存するためのデータ構造を備え、定義は、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックのリストを備え、参照タイプは、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックの各々に関連づけられる。
ある実施形態において、前記少なくとも1つのマイクロプロセッサは、複数のパーティショントラックに関連するイニシャライゼーションデータを備える少なくとも1つのイニシャライゼーションデータトラックを作成するステップをさらに実行するように構成され、少なくとも1つのイニシャライゼーションデータトラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化され、前記イニシャライゼーションデータトラックは、少なくとも1つの依存関係ボックスを備える。
ある実施形態において、作成されたトラックの各々のカプセル化から結果として生じる前記少なくとも1つのメディアファイルは、国際規格機構によって規定されるようなベースメディアファイルフォーマットおよび動的適応型HTTPストリーミングフォーマットとの互換性をもつ。
本発明の別の態様によれば、以上に記載された装置を備えるビデオ符号器が提供される。
本発明の別の態様によれば、クライアント装置において、少なくとも1つのメディアファイル内のカプセル化されたパーティション化されたタイムドメディアデータからタイムドメディアデータビットストリームを提供する装置であって、パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、少なくとも1つのメディアファイルは、少なくとも1つの依存関係ボックスと少なくとも1つのパーティショントラックとを備え、少なくとも1つのパーティショントラックの各々は、1つのタイムドサンプルの複数のサブサンプルの中から選択される1つのサブサンプルを備え、他のタイムドサンプルの各々の1つの対応する空間的サブサンプルを備え、各依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、少なくとも1つの参照は、1つ以上の他のパーティショントラックに対する復号順序の依存関係を表現しており、前記装置は、以下のステップを実行するよう構成された少なくとも一つのマイクロプロセッサを備える:
表示される少なくとも1つのパーティショントラックを選択するステップと、
パーティショントラックを反復して判定し、順序付けするステップであって、前記パーティショントラックを選択するステップは対応する依存関係ボックスの少なくとも1つの復号順序の依存関係に基づく、
表示される選択されたトラックを非カプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の装置は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合することができることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、前記少なくとも1つのメディアファイルは、少なくとも1つの他の依存関係ボックスをさらに備え、各々の他の依存関係ボックスは、パーティショントラックに関連しており、1つ以上の他の作成されたパーティショントラックに対する少なくとも1つの参照を備え、前記少なくとも1つの他の依存関係ボックスの参照の各々は、復号化依存性を表現し、前記少なくとも1つのマイクロプロセッサは、パーティショントラックを反復して判定し順序付けするステップ、およびパーティショントラックを選択するステップが、前記対応する他の依存関係ボックスの少なくとも1つの復号化依存性にさらに基づくようにさらに構成される。
ある実施形態において、前記少なくとも1つのマイクロプロセッサは、考慮されるパーティショントラックに関連する初期設定パラメータを備える、各々のパーティショントラックに関連付けられたトラック断片ヘッダを取得するステップを実行するように構成され、少なくとも1つのトラック断片ヘッダは、他のパーティショントラックに相対して考慮されるパーティショントラックの復号順序の依存関係をもつ依存関係ボックスを備える。
ある実施形態において、複数のパーティショントラックに関連するイニシャライゼーションデータを備える1つのイニシャライゼーションデータトラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化され、前記イニシャライゼーションデータトラックは、少なくとも1つの依存関係ボックスを備え、前記方法は、イニシャライゼーションデータトラックを選択し、非カプセル化するステップをさらに備える。
ある実施形態において、少なくとも1つの作成されたパーティショントラックに対する少なくとも1つの参照を備える少なくとも1つの参照トラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化され、前記少なくとも1つの参照トラックのカプセル化の結果として生じるメディアセグメントファイルは、定義を含むメタデータを保存するためのデータ構造を備え、前記定義は、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックのリストを備え、参照タイプは、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックの各々に関連づけられ、前記少なくとも1つのマイクロプロセッサは、パーティショントラックを反復して判定し順序付けするステップ、およびパーティショントラックを選択するステップは、さらに、少なくとも1つの作成された複合トラックに関連付けられた被参照パーティショントラックの各々に関連付けられた参照タイプにさらに基づくように構成される。
本発明の別の態様によれば、以上に記載された装置を備えるビデオ復号器が提供される。
本発明の別の態様によれば、クライアントの装置にストリーミングされるサーバ内のパーティション化されたタイムドメディアデータをカプセル化する方法が提供され、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記方法は、以下のステップを備える:
少なくともサブサンプルの一部がサブサンプルのグループに属するように、少なくとも1つのグループを形成するために前記サブサンプルのいくつかをグループ化するステップと、
1つのタイムドサンプルの前記複数のサブサンプルの中から同一グループの少なくとも2つのサブサンプルを選択するステップと、
前記少なくとも2つの選択されたサブサンプルを備える少なくとも1つのトラックを作成するステップと、
前記少なくとも1つの作成されたトラックに対して、少なくとも1つのトラックを作成するように選択されたサブサンプルの各々のための1つのサブトラックボックスを作成するステップであって、前記作成されたサブトラックボックスの少なくとも1つは、選択されたサブサンプルに共通の定義およびプロパティを備える、
前記作成されたトラックの各々を少なくとも一つのメディアファイル内で独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時間に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の方法は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合できることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、前記作成されたサブトラックボックスは、ISO/IEC14496−12にしたがって規定される。
ある実施形態において、前記作成されたサブトラックボックスの少なくとも1つは、前記作成されたサブトラックボックスの少なくとも1つがタイリング情報を提供する特定のトラックに関連付けられている、ということを示す情報を備える。
ある実施形態において、前記方法は、サンプルのグループまたはサブサンプルのグループを、少なくとも1つのタイルに対してリンクするステップをさらに備える。
ある実施形態において、タイルのグループは、前記作成されたサブトラックボックスの少なくとも1つに関連付けられた少なくとも1つのサブトラック内で符号化される。
ある実施形態において、前記作成されたサブトラックボックスの少なくとも1つは、前記作成されたサブトラックボックスの少なくとも1つに関連付けられたサブトラック内で符号化されたタイルの数を示す情報を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じるメディアファイルは、前記対応するトラック内に備えられたサブトラックボックスの定義を含む、対応するトラックの定義を含むメタデータを保存するためのデータ構造を備える。
本発明の別の態様によれば、クライアント装置において、少なくとも1つのメディアファイル内のカプセル化されたパーティション化されたタイムドメディアデータからタイムドメディアデータビットストリームを提供する方法が提供され、パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、少なくとも前記サブサンプルの一部がサブサンプルのグループに属するように、少なくとも1つのグループを形成するためにサブサンプルのいくつかがグループ化され、前記少なくとも1つのメディアファイルは、少なくとも1つのトラックを備え、前記少なくとも1つのトラックは、1つのタイムドサンプルの複数のサブサンプルの中から選択された同一グループの少なくとも2つのサブサンプルを備え、1つのサブトラックボックスは、前記少なくとも1つのトラックを作成するために、選択された前記サブサンプルの各々に対して作成され、前記作成されたサブトラックボックスの少なくとも1つは、選択されたサブサンプルに共通の定義およびプロパティを備え、前記方法は以下のステップを備える:
前記少なくとも1つのメディアファイルから少なくとも1つのサブトラックボックスを選択するステップと、
前記少なくとも1つの選択されたサブトラックボックスから少なくとも1セットの定義およびプロパティを取得するステップと、
復号されるべき複数のサブサンプルを取得するステップであって、前記複数のサブサンプルは、少なくとも1つのセットの定義およびプロパティに依存する。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の前記方法は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合できることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、前記作成されたサブトラックボックスは、ISO/IEC14496−12にしたがって規定される。
ある実施形態において、前記サブトラックボックスの少なくとも1つは、作成された前記サブトラックボックスの少なくとも1つがタイリング情報を提供する特定のトラックに関連付けられている、ということを示す情報を備える。
ある実施形態において、タイルのグループは、前記サブトラックボックスの少なくとも1つに関連付けられた少なくとも1つのサブトラック内で符号化される。
ある実施形態において、前記サブトラックボックスの少なくとも1つは、前記作成されたサブトラックボックスの少なくとも1つに関連付けられたサブトラック内で符号化されたタイルの数を示す情報を備える。
ある実施形態において、前記トラックの各々のカプセル化から結果として生じるメディアファイルは、対応するトラック内に備えられたサブトラックボックスの定義を含む、対応するトラックの定義を含むメタデータを保存するためのデータ構造を備える。
本発明の別の態様によれば、クライアントの装置にストリーミングされるべきサーバ内のパーティション化されたタイムドメディアデータをカプセル化する方法が提供され、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記方法は以下のステップを有する:
少なくともサブサンプルの一部がサブサンプルのグループに属するように、少なくとも1つのグループを形成するためにサブサンプルのいくつかをグループ化するステップと、
1つのタイムドサンプルの前記複数のサブサンプルの中から同一グループの少なくとも2つのサブサンプルを選択するステップと、
前記少なくとも2つの選択されたサブサンプルを備える少なくとも1つのトラックを作成するステップと、
少前記作成されたトラックの各々を少なくとも一つのメディアファイル内で独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の方法は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合できることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
本発明の別の態様によれば、クライアントの装置にストリーミングされるべきサーバ内のパーティション化されたタイムドメディアデータをカプセル化する装置が提供され、パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記装置は以下のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える:
少なくとも前記サブサンプルの一部がサブサンプルのグループに属するように、少なくとも1つのグループを形成するために前記サブサンプルのいくつかをグループ化するステップと、
前記1つのタイムドサンプルの前記複数のサブサンプルの中から同一グループの少なくとも2つのサブサンプルを選択するステップと、
前記少なくとも2つの選択されたサブサンプルを備える少なくとも1つのトラックを作成するステップと、
少なくとも1つの作成されたトラックに対して、少なくとも1つのトラックを作成するように選択された前記サブサンプルの各々のための1つのサブトラックボックスを作成するステップであって、作成されたサブトラックボックスの少なくとも1つは、選択されたサブサンプルに共通の定義およびプロパティを備える、
前記作成されたトラックの各々を少なくとも1つのメディアファイル内で独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の装置は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合できることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、作成されたサブトラックボックスは、ISO/IEC14496−12にしたがって規定される。
ある実施形態において、前記作成されたサブトラックボックスの少なくとも1つは、前記作成されたサブトラックボックスの少なくとも1つがタイリング情報を提供する特定のトラックに関連付けられている、ということを示す情報を備える。
ある実施形態において、前記少なくとも1つのマイクロプロセッサは、サンプルまたはサブサンプルのグループを少なくとも1つのタイルに対してリンクするステップを実行するようにさらに構成される。
ある実施形態において、タイルのグループは、前記作成されたサブトラックボックスの少なくとも1つに関連付けられた少なくとも1つのサブトラック内で符号化される。
ある実施形態において、前記作成されたサブトラックボックスの少なくとも1つは、作成されたサブトラックボックスの少なくとも1つに関連付けられたサブトラック内で符号化されたタイルの数を示す情報を備える。
ある実施形態において、作成されたトラックの各々のカプセル化から結果として生じるメディアファイルは、対応するトラック内に備えられたサブトラックボックスの定義を含む、対応するトラックの定義を含むメタデータを保存するためのデータ構造を備える。
本発明の別の態様によれば、以上に記載された装置を備えるビデオ符号器が提供される。
本発明の別の態様によれば、クライアント装置において、少なくとも1つのメディアファイル内のカプセル化されたパーティション化されたタイムドメディアデータからタイムドメディアデータビットストリームを提供する装置提供され、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、少なくとも前記サブサンプルの一部がサブサンプルのグループに属するように、少なくとも1つのグループを形成するために前記サブサンプルのいくつかがグループ化され、前記少なくとも1つのメディアファイルは、少なくとも1つのトラックを備え、少なくとも1つのトラックは、タイムドサンプルの1つの前記複数のサブサンプルの中から選択された同一グループの少なくとも2つのサブサンプルを備え、1つのサブトラックボックスは、前記少なくとも1つのトラックを作成するために、選択された前記サブサンプルの各々に対して作成され、前記作成されたサブトラックボックスの少なくとも1つは、選択されたサブサンプルに共通の定義およびプロパティを備え、装置は以下のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える:
前記少なくとも1つのメディアファイルから少なくとも1つのサブトラックボックスを選択するステップと、
前記少なくとも1つの選択されたサブトラックボックスから少なくとも1セットの定義およびプロパティを取得するステップと、
復号される複数のサブサンプルを取得するステップであって、前記複数のサブサンプルは、前記少なくとも1つのセットの定義およびプロパティに依存するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の装置は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合できることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
ある実施形態において、作成されたサブトラックボックスは、ISO/IEC14496−12にしたがって規定される。
ある実施形態において、前記サブトラックボックスの少なくとも1つは、前記作成されたサブトラックボックスの少なくとも1つがタイリング情報を提供する特定のトラックに関連付けられている、ということを示す情報を備える。
ある実施形態において、タイルのグループは、前記サブトラックボックスの少なくとも1つに関連付けられた少なくとも1つのサブトラック内で符号化される。
ある実施形態において、前記サブトラックボックスの少なくとも1つは、作成されたサブトラックボックスの少なくとも1つに関連付けられたサブトラック内で符号化されたタイルの数を示す情報を備える。
ある実施形態において、前記トラックの各々のカプセル化から結果として生じるメディアファイルは、前記対応するトラック内に備えられた前記サブトラックボックスの定義を含む、対応するトラックの定義を含むメタデータを保存するためのデータ構造を備える。
本発明の別の態様によれば、以上に記載された装置を備えるビデオ復号器が提供される。
本発明の別の態様によれば、クライアントの装置にストリーミングされるサーバ内のパーティション化されたタイムドメディアデータをカプセル化する装置が提供され、パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記装置は以下のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える:
少なくとも前記サブサンプルの一部がサブサンプルのグループに属するように、少なくとも1つのグループを形成するために前記サブサンプルのいくつかをグループ化するステップと、
タイムドサンプルの1つの前記複数のサブサンプルの中から同一グループの少なくとも2つのサブサンプルを選択するステップと、
前記少なくとも2つの選択されたサブサンプルを備える少なくとも1つのトラックを作成するステップと、
前記作成されたトラックの各々を少なくとも1つのメディアファイル内で独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるサブサンプル(または「タイル」)の組み合わせを可能にする。それは、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成に関連付けられる。
そのため、本発明の装置は、有用なデータのみがクライアント装置に対して送信されることが必要なことを考慮すると、独立した部分またはタイルの効率的なストリーミングに適している。それは、伝送オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、且つMPEG規格に統合できることを考慮すると、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適している。
本発明のさらなる態様によれば、サーバ内のパーティション化されたタイムドメディアデータをカプセル化する方法が提供され、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記方法は以下のステップを備える:
タイムドサンプルの1つの前記複数のサブサンプルの中から少なくとも1つのサブサンプルを選択するステップと、
選択されたサブサンプル毎に、前記選択されたサブサンプルと他のタイムドサンプルの各々の1つの対応するサブサンプルとを備える1つのパーティショントラックを作成するステップと、
前記作成されたパーティショントラックの少なくとも1つを識別する少なくとも1つの抽出器を備える少なくとも1つの参照トラックを作成するステップと、
前記作成されたトラックの各々を少なくとも1つのメディアセグメントファイル内に独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるタイルの組み合わせを可能にし、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成を可能にする。
そのため、本発明の前記方法は、独立した部分またはタイルの効率的なストリーミングに適しており、有用なデータのみがクライアント装置に対して送信されることを必要とし、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適しており、インデックス化オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、MPEG規格に統合することができる。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、前記サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、少なくとも1つの複合トラックである。 前記少なくとも1つの参照トラックは、抽出器と、必要に応じてイニシャライゼーションデータとを収納してもよい。
ある実施形態において、前記少なくとも1つの抽出器は、少なくとも1つの識別されたタイルトラックの少なくとも1つの空間的サブサンプルをさらに識別する。
ある実施形態において、前記方法は、前記作成されたタイルトラックおよび前記作成された少なくとも1つの複合トラックから前記タイル化タイムドメディアデータの空間的部分の記述を可能にするパラメータを備えるイニシャライゼーションセグメントファイルを作成するステップをさらに備える。イニシャライゼーションセグメントファイルは、前記作成されたタイルトラックに対する参照と、前記少なくとも1つの作成された複合トラックに関連付けられた被参照タイルトラックのリストと、トラックが空間的サブサンプル情報を含むということを示す、前記作成されたタイルトラックの各々に関連付けられたタイルハンドラと、および/または作成されたタイルトラックの各々に関連付けられた一般的なプレゼンテーション情報とを備えてもよい。
ある実施形態において、少なくとも2つのタイルトラックは、各々の選択された空間的サブサンプルに対して1つのタイルトラックを作成するステップにおいて作成され、前記少なくとも1つの複合トラックは、同じタイムドサンプル内に備えられる任意の2つの空間的サブサンプルを復号するために用いられるべき少なくとも1項目のデータを備える。
ある実施形態において、前記タイル化タイムドメディアデータは、各々がリファレンスレイヤおよび少なくとも1つのエンハンスメントレイヤを備えるタイムドサンプルによるスケーラブルのタイル化タイムドメディアデータであり、リファレンスレイヤは、少なくとも1つの参照空間的サブサンプルを備え、前記少なくとも1つのエンハンスメントレイヤは、複数の強化空間的サブサンプルを備え、各々の選択された空間的サブサンプルに対して1つのタイルトラックを作成するステップにおいて作成されたタイルトラックは、強化空間的サブサンプルを備える強化タイルトラックであり、前記方法は、参照空間的サブサンプルを備える少なくとも1つの参照トラックを作成するステップをさらに備える。
ある実施形態において、前記リファレンスレイヤは、複数の参照空間的サブサンプルを備え、複数の参照トラックが作成され、前記複数の参照トラックの各参照トラックは、参照タイルトラックを形成する。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じるメディアセグメントファイルは、対応するトラックの定義を含むメタデータを保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じるメディアセグメントファイルの少なくとも1つは、対応するトラックの少なくとも1つのグループのサブサンプルの少なくとも1つの定義を含むメタデータを保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルの少なくとも1つは、対応するトラックの別々のグループのサブサンプルの別々の定義を含むメタデータを保存するためのデータ構造を備える。
ある実施形態において、メタデータを保存する前記データ構造は、少なくとも1つの定義と、少なくとも1つの定義が対応するトラックのすべてのサブサンプルに適用されるということを示すバージョンタイプとを含む。
ある好ましい実施形態において、メタデータを保存する前記データ構造は、すべての定義が対応するトラックのすべてのサブサンプルに適用されるということを示すパラメータ(例えば、フラグ)をさらに含む。
パラメータは、また、(例えば定義がサンプルのすべてのサブサンプルに適用されるならば)すべての定義がサンプルに適用されるということを示すことができる。
ある実施形態において、サブサンプルの復号化依存性に関連する対応するトラックの少なくとも1つのグループのサブサンプルの少なくとも1つの定義を含むメタデータを保存する前記データ構造の少なくとも1つのパラメータは、別のグループのサブサンプルを用いずに、グループの各サブサンプルを復号することができるということを示す。
ある実施形態において、一つのグループのサブサンプルは、サブサンプルが属するグループ化タイプにしたがって識別される。
ある実施形態において、一つのグループの前記サブサンプルは、サブサンプルが属するグループ化タイプにしたがって識別され、グループ化タイプは、グループのサブサンプル毎の定義を提供する。
ある実施形態において、前記イニシャライゼーションセグメントファイルは、対応する少なくとも1つのタイルトラックのカプセル化から結果として生じるメディアセグメントファイルにおいて保存される任意の特定の定義に関連付けられていない少なくとも1つのタイルトラックのサブサンプルを処理するためのデフォルトで用いられる1つの定義を備える。
ある実施形態において、前記方法は、デフォルトで用いられるべきイニシャライゼーションセグメントファイル内に保存された定義を修正することを可能にするために、前記作成されたトラックの各々をカプセル化することから結果として生じる前記メディアセグメントファイルの少なくとも1つにイニシャライゼーションデータを追加するステップをさらに備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルは、空間的サブサンプルを保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルは、抽出器を保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルの少なくとも1つは、標準的メディアセグメントファイルとして前記メディアセグメントファイルの少なくとも1つが独立的に処理されることができるように、前記参照トラック内に格納されたイニシャライゼーションデータを備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルの少なくとも1つは、前記参照トラック内に格納されたイニシャライゼーションデータを識別する少なくとも1つの抽出器を保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルの少なくとも1つは、標準的メディアセグメントファイルとして前記メディアセグメントファイルの少なくとも1つが独立的に処理されることができるように、複合トラックのイニシャライゼーションデータを識別する少なくとも1つの抽出器を保存するためのデータ構造を備える。
ある実施形態において、前記方法は、前記メディアセグメントファイルの少なくとも1つは、標準的メディアセグメントファイルとして独立的に処理されることができるということを示すフラグを設定するステップをさらに備える。
ある実施形態において、前記方法は、イニシャライゼーションデータを備える少なくとも1つのイニシャライゼーションデータトラックを作成するステップをさらに備え、前記少なくとも1つのイニシャライゼーションデータトラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化される。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルの少なくとも1つは、標準的メディアセグメントファイルとして前記メディアセグメントファイルの少なくとも1つを独立的に処理されることができるように、前記イニシャライゼーションデータトラック内に格納されたイニシャライゼーションデータを識別する少なくとも1つの抽出器を保存するためのデータ構造を備える。
ある実施形態において、前記方法は、前記メディアセグメントファイルの少なくとも1つは、標準的メディアセグメントファイルとして独立的に処理されることができるということを示すフラグを設定するステップをさらに備える。
ある実施形態において、サーバは、ハイパーテキスト転送プロトコル(HTTP)との互換性をもつ。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルは、国際規格機構によって規定されるようなベースメディアファイルフォーマットおよび動的適応型HTTPストリーミングフォーマットとの互換性をもつ。
本発明の別の態様は、クライアント装置において、複数のメディアセグメントファイル内のカプセル化されたパーティション化されたタイムドメディアデータからタイムドメディアデータビットストリームを提供する方法であって、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、複数のメディアセグメントファイルは、少なくとも1つの参照トラックと少なくとも1つのパーティショントラックとを備え、前記少なくとも1つのパーティショントラックの各々は、1つのタイムドサンプルの前記複数のサブサンプルの中から選択される1つのサブサンプルを備え、他のタイムドサンプルの各々の1つの対応する空間的サブサンプルを備え、前記少なくとも1つの参照トラックは、少なくとも1つのパーティショントラックを識別し、前記識別されたパーティショントラックの少なくとも1つのサブサンプルを識別する少なくとも1つの抽出器を備え、前記方法は以下のステップを備える:
サブサンプルを表現する情報のアイテムを選択するステップと、
選択されたサブサンプルを備える前記少なくとも1つのパーティショントラックを要求するステップであって、前記選択されたサブサンプルは、情報の選択されたアイテムに対応する、
前記複数のメディアセグメントファイルを受信するステップと、
タイムドメディアデータビットストリームを生成するために、少なくとも1つの参照トラックの抽出器を、対応する識別されたサブサンプルによって置き換えるステップ。
したがって、本発明は、異なる部分、特に異なるタイルの組み合わせを可能にし、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成を可能にする。
そのため、本発明の前記方法は、独立した部分またはタイルの効率的なストリーミングに適しており、有用なデータのみがクライアント装置に対して送信されることを必要とし、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適しており、インデックス化オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、MPEG規格に統合できる。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、少なくとも1つの複合トラックである。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、前記サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、抽出器と必要に応じてイニシャライゼーションデータとを含む少なくとも1つの複合トラックである。
ある実施形態において、前記方法は、
前記少なくとも1つの複合トラックの抽出器からトラック参照を取得するステップと、
前記取得されたトラック参照に対応する前記トラックが受信されたか否かをチェックするステップと、
前記取得されたトラック参照に対応する前記トラックが受信されていなければ、前記タイムドメディアデータビットストリームを生成するために、対応する抽出器を取り除くステップと
をさらに備える。
ある実施形態において、前記方法は、前記取得されたトラック参照に対応する前記トラックがタイルタイプのトラックであることを確認するステップをさらに備える。
ある実施形態において、前記方法は、
前記少なくとも1つの複合トラックの抽出器からトラック参照を取得するステップと、
取得されたトラック参照に対応するトラックが受信されたか否かをチェックするステップと、
前記取得されたトラック参照に対応する前記トラックが受信されていなければ、タイムドメディアデータビットストリームを生成するために、対応する抽出器をパディングに置き換えるステップと
をさらに備える。
ある実施形態において、前記方法は、前記取得されたトラック参照に対応する前記トラックがタイルタイプのトラックであることを確認するステップをさらに備える。
ある実施形態において、前記方法は、前記作成されたタイルトラックおよび前記作成された少なくとも1つの複合トラックから前記タイル化タイムドメディアデータの空間的部分の形成を可能にするパラメータを備えるイニシャライゼーションセグメントファイルを受信するステップをさらに備える。
ある実施形態において、少なくとも2つのタイルトラックを表現する少なくとも2つのメディアセグメントファイルが受信され、前記少なくとも1つの複合トラックは、空間的サブサンプルの同じセットに属する2つの空間的サブサンプルのどれかを復号するために用いられる少なくとも1つのデータを備える。
ある実施形態において、前記タイル化タイムドメディアデータは、各々がリファレンスレイヤおよび少なくとも1つのエンハンスメントレイヤを備えるタイムドサンプルによるスケーラブルのタイル化タイムドメディアデータであり、前記リファレンスレイヤは、少なくとも1つの参照空間的サブサンプルを備え、前記少なくとも1つのエンハンスメントレイヤは、複数の強化空間的サブサンプルを備え、少なくとも2つのトラックを表現する少なくとも2つのメディアセグメントファイルが受信され、少なくとも2つの受信されたトラックの一方は、参照空間的サブサンプルを備える参照トラックであり、少なくとも2つの受信されたトラックの他方は、強化空間的サブサンプルを備える強化タイルトラックである。
ある実施形態において、前記リファレンスレイヤは、複数の参照空間的サブサンプルを備え、各々が参照タイルトラックを形成する複数の参照トラックが受信される。
ある実施形態において、前記メディアセグメントファイルの少なくとも1つは、対応するトラックの少なくとも1つのグループのサブサンプルの少なくとも1つの定義を含むメタデータを保存するためのデータ構造を備え、前記方法は、前記対応するトラックのサブサンプルの前記少なくとも1つのグループを処理するための前記少なくとも1つの定義を取得するステップを備える。
ある実施形態において、前記メディアセグメントファイルの少なくとも1つは、前記参照トラック内に格納されたイニシャライゼーションデータを備え、前記方法は、標準的メディアセグメントファイルとして前記メディアセグメントファイルの少なくとも1つを独立的に処理するステップをさらに備える。
ある実施形態において、少なくとも1つのメディアセグメントファイルは、前記参照トラック内に格納されたイニシャライゼーションデータを識別する少なくとも1つの抽出器を保存するためのデータ構造を備え、前記方法は、前記メディアセグメントファイルの少なくとも1つを処理する際に、前記参照トラック内に格納された前記データにアクセスするステップをさらに備える。
ある実施形態において、前記メディアセグメントファイルの少なくとも1つは、前記複合トラックのイニシャライゼーションデータを識別する少なくとも1つの抽出器を保存するためのデータ構造を備え、前記方法は、標準的メディアセグメントファイルとして前記メディアセグメントファイルの少なくとも1つを独立的に処理するための前記参照トラック内に保存されたデータにアクセスするステップをさらに備える。
ある実施形態において、前記方法は、イニシャライゼーションデータを備える少なくとも1つのイニシャライゼーションデータトラックを取得するステップをさらに備え、前記少なくとも1つのイニシャライゼーションデータトラックは、少なくとも1つのメディアセグメントファイル内に独立的にカプセル化されるステップを。
ある実施形態において、メディアセグメントファイルの少なくとも1つは、前記イニシャライゼーションデータトラック内に格納されたイニシャライゼーションデータを識別する少なくとも1つの抽出器を保存するためのデータ構造を備え、前記方法は、前記メディアセグメントファイルの少なくとも1つを独立的に処理するための前記参照トラック内に格納された前記データにアクセスするステップをさらに備える。
ある実施形態において、クライアント装置は、ハイパーテキスト転送プロトコル(HTTP)との互換性をもつ。
ある実施形態において、受信されたメディアセグメントファイルは、国際規格機構によって規定されるようなベースメディアファイルフォーマットおよび動的適応型HTTPストリーミングフォーマットとの互換性をもつ。
本発明の別の態様によれば、以上に記載された方法の各ステップを実行するのに適した手段を備える装置が提供される。
本発明の別の態様によれば、サーバ内のパーティション化されたタイムドメディアデータをカプセル化するための装置であって、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記装置は、以下のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える:
前記1つのタイムドサンプルの前記複数のサブサンプルの中から少なくとも1つのサブサンプルを選択するステップと、
選択されたサブサンプル毎に、前記選択されたサブサンプルと他のタイムドサンプルの各々対応するサブサンプルとを備える1つのパーティショントラックを作成するステップと、
前記作成されたパーティショントラックの少なくとも1つを識別する少なくとも1つの抽出器を備える少なくとも1つの参照トラックを作成するステップと、
前記作成されたトラックの各々を少なくとも1つのメディアセグメントファイル内に独立的にカプセル化するステップ。
したがって、本発明は、異なる部分、特に異なるタイルの組み合わせを可能にし、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成を可能にする。
そのため、本発明の前記方法は、独立した部分またはタイルの効率的なストリーミングに適しており、有用なデータのみがクライアント装置に対して送信されることが必要であり、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適しており、インデックス化オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、MPEG規格に統合することができる。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、前記サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、少なくとも1つの複合トラックである。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、前記サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、抽出器と必要に応じてイニシャライゼーションデータとを含む少なくとも1つの複合トラックである。
ある実施形態において、前記マイクロプロセッサは、前記作成されたタイルトラックおよび前記作成された少なくとも1つの複合トラックから前記タイル化タイムドメディアデータの空間的部分の形成を可能にするパラメータを備えるイニシャライゼーションセグメントファイルを作成するステップを実行するようにさらに構成され、前記イニシャライゼーションセグメントファイルは、前記作成されたタイルトラックに対する参照を備える。
ある実施形態において、イニシャライゼーションセグメントファイルは、前記少なくとも1つの作成された複合トラックに関連付けられた被参照タイルトラックのリストをさらに備える。
ある実施形態において、前記イニシャライゼーションセグメントファイルは、前記トラックが空間的サブサンプル情報を含むということを示す、前記作成されたタイルトラックの各々に関連付けられたタイルハンドラをさらに備える。
ある実施形態において、前記イニシャライゼーションセグメントファイルは、前記作成されたタイルトラックの各々に関連付けられた一般的なプレゼンテーション情報をさらに備える。
ある実施形態において、前記マイクロプロセッサは、少なくとも2つのタイルトラックが、各々の選択された空間的サブサンプルに対して1つのタイルトラックを作成するステップにおいて作成されるように、さらに構成され、前記少なくとも1つの複合トラックは、同じタイムドサンプル内に備えられる2つの空間的サブサンプルのどれかを復号するために用いられる少なくとも1つのデータを備える。
ある実施形態において、前記タイル化タイムドメディアデータは、スケーラブルのタイル化タイムドメディアデータでありタイムドサンプルの各々がそれに従ってリファレンスレイヤおよび少なくとも1つのエンハンスメントレイヤを備え、前記リファレンスレイヤは、少なくとも1つの参照空間的サブサンプルを備え、前記少なくとも1つのエンハンスメントレイヤは、複数の強化空間的サブサンプルを備え、前記マイクロプロセッサは、各々の選択された空間的サブサンプルに対して1つのタイルトラックを作成するステップにおいて作成されたタイルトラックが、強化空間的サブサンプルを備える強化タイルトラックであるように、さらに構成され、前記マイクロプロセッサは、参照空間的サブサンプルを備える少なくとも1つの参照トラックを作成するステップを実行するようにさらに構成される。
ある実施形態において、前記リファレンスレイヤは、複数の参照空間的サブサンプルを備え、前記マイクロプロセッサは、複数の参照トラックが作成されるようにさらに構成され、前記複数の参照トラックの各参照トラックは、参照タイルトラックを形成する。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じるメディアセグメントファイルは、対応するトラックの定義を含むメタデータを保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じるメディアセグメントファイルは、空間的サブサンプルを保存するためのデータ構造を備える。
ある実施形態において、前記作成されたトラックの各々のカプセル化から結果として生じるメディアセグメントファイルは、抽出器を保存するためのデータ構造を備える。
ある実施形態において、サーバは、ハイパーテキスト転送プロトコル(HTTP)との互換性をもち、前記作成されたトラックの各々のカプセル化から結果として生じる前記メディアセグメントファイルは、国際規格機構によって規定されるようなベースメディアファイルフォーマットおよび動的適応型HTTPストリーミングフォーマットとの互換性をもつ。
本発明の別の態様によれば、以上に記載されたような装置を備えるビデオ符号器が提供される。
本発明の別の態様によれば、クライアント装置において、複数のメディアセグメントファイル内でカプセル化されたパーティション化されたタイムドメディアデータからタイムドメディアデータビットストリームを提供する装置のための装置であって、前記パーティション化されたタイムドメディアデータは、タイムドサンプルを備え、各タイムドサンプルは、複数のサブサンプルを備えており、前記複数のメディアセグメントファイルは、少なくとも1つの参照トラックと少なくとも1つのパーティショントラックとを備え、前記少なくとも1つのパーティショントラックの各々は、タイムドサンプルの1つの複数のサブサンプルの中から選択される1つのサブサンプルを備え、他のタイムドサンプルの各々の1つの対応するサブサンプルを備え、前記少なくとも1つの参照トラックは、少なくとも1つのパーティショントラックを識別し、識別されたパーティショントラックの少なくとも1つのサブサンプルを識別する少なくとも1つの抽出器を備え、前記装置は以下のステップを実行するように構成された少なくとも1つのマイクロプロセッサを備える:
サブサンプルを表現する情報のアイテムを選択するステップと、
前記選択されたサブサンプルを備える前記少なくとも1つのパーティショントラックを要求するステップであって、前記選択されたサブサンプルは、情報の選択されたアイテムに対応する、
前記複数のメディアセグメントファイルを受信するステップと、
前記タイムドメディアデータビットストリームを生成するために、少なくとも1つの参照トラックの抽出器を、対応する識別されたサブサンプルによって置き換えるステップ。
したがって、本発明は、異なる部分、特に異なるタイルの組み合わせを可能にし、クライアント装置によってダウンロードされた選択された部分またはタイルのセットが何であれ、クライアントによる解析時に、有効なファイルフォーマットおよびエレメンタリストリームの生成を可能にする。
そのため、本発明の前記方法は、独立した部分またはタイルの効率的なストリーミングに適しており、有用なデータのみがクライアント装置に対して送信されることを必要とし、1つ以上の部分または選択タイル(すなわち任意の関心領域)をストリーミングするのに適しており、インデックス化オーバヘッドを減少させ(バイトレンジリクエストに基づくサンプルと比較して)、MPEG規格に統合することができる。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、前記サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、少なくとも1つの複合トラックである。
ある実施形態において、前記パーティション化されたタイムドメディアデータは、タイル化タイムドメディアデータであり、前記サブサンプルは、空間的サブサンプルであり、前記少なくとも1つのパーティショントラックは、少なくとも1つのタイルトラックであり、前記少なくとも1つの参照トラックは、抽出器と必要に応じてイニシャライゼーションデータとを含む少なくとも1つの複合トラックである。
ある実施形態において、前記マイクロプロセッサは以下のステップを実行するようにさらに構成される:
前記少なくとも1つの複合トラックの抽出器からトラック参照を取得するステップと、
前記取得されたトラック参照に対応する前記トラックが受信されたか否かをチェックするステップと、
前記取得されたトラック参照に対応する前記トラックが受信されていなければ、タイムドメディアデータビットストリームを生成するために、対応する抽出器を取り除くステップ。
ある実施形態において、前記マイクロプロセッサは、前記取得されたトラック参照に対応する前記トラックがタイルタイプのトラックである、ということを確認するステップを実行するようにさらに構成される。
ある実施形態において、前記マイクロプロセッサは以下のステップを実行するようにさらに構成される:
前記少なくとも1つの複合トラックの抽出器からトラック参照を取得するステップと、
前記取得されたトラック参照に対応する前記トラックが受信されたか否かをチェックするステップと、
前記取得されたトラック参照に対応する前記トラックが受信されていなければ、タイムドメディアデータビットストリームを生成するために、対応する抽出器をパディングに置き換えるステップ。
ある実施形態において、前記マイクロプロセッサは、前記取得されたトラック参照に対応する前記トラックがタイルタイプのトラックである、ということを確認するステップを実行するようにさらに構成される。
ある実施形態において、前記マイクロプロセッサは、前記作成されたタイルトラックおよび前記作成された少なくとも1つの複合トラックから前記タイル化タイムドメディアデータの空間的部分の形成を可能にするパラメータを備えるイニシャライゼーションセグメントファイルを受信するステップを実行するようにさらに構成される。
ある実施形態において、前記マイクロプロセッサは、少なくとも2つのタイルトラックを表現する少なくとも2つのメディアセグメントファイルが受信されるようにさらに構成され、前記少なくとも1つの複合トラックは、同じ空間的サブサンプルに属する2つの空間的サブサンプルのどれかを復号するために用いられるべき少なくとも1つのデータを備える。
ある実施形態において、前記タイル化タイムドメディアデータは、スケーラブルのタイル化タイムドメディアデータでありそれに従ってタイムドサンプルの各々がリファレンスレイヤおよび少なくとも1つのエンハンスメントレイヤを備え、前記リファレンスレイヤは、少なくとも1つの参照空間的サブサンプルを備え、前記少なくとも1つのエンハンスメントレイヤは、複数の強化空間的サブサンプルを備え、前記マイクロプロセッサは、少なくとも2つのトラックを表現する少なくとも2つのメディアセグメントファイルが受信されるようにさらに構成され、少なくとも2つの受信されたトラックの一方は、参照空間的サブサンプルを備える参照トラックであり、少なくとも2つの受信されたトラックの他方は、強化空間的サブサンプルを備える強化タイルトラックである。
ある実施形態において、クライアント装置は、ハイパーテキスト転送プロトコル(HTTP)との互換性をもち、受信されたメディアセグメントファイルは、国際規格機構によって規定されるようなベースメディアファイルフォーマットおよび動的適応型HTTPストリーミングフォーマットとの互換性をもつ。
本発明の別の態様によれば、以上に記載されたような装置を備えるビデオ復号器が提供される。
本発明をソフトウェアで実施することができるので、本発明は、任意の適切な伝達媒体上のプログラミング可能な装置に提供するためのコンピュータ読み取り可能なコードとして具体化することができる。有形的伝達媒体は、フロッピー(登録商標)ディスク、CD−ROM、ハードディスクドライブ、磁気テープ装置、または個体メモリ装置などの記憶媒体、等を含んでもよい。一時的な伝達媒体は、電気的信号、電気信号、光信号、音響信号、磁気信号、または例えばマイクロ波若しくはRF信号等の電磁気信号などの信号を含んでもよい。