説明

従属データストリームの送信方法

【課題】マルチキャスト通信における、ストリームユニットの効率的処理手法を提供する。
【解決手段】少なくとも1つの端末に向かう、アクセスユニットの形式で編成された少なくとも1つのデータストリームを送信する方法に関し、前記アクセスユニットの少なくとも幾つかが、端末における処理及び/又は前記ストリームの有用な速度を最適にするために、前記ストリーム又は他のストリームの従属しているユニットを指し示す少なくとも1つのポインタを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の技術分野は、それぞれが基本ストリームユニット(elementary stream unit)によって構成された1つ又は数個のデータストリームの形式で、データを送信する分野である。より詳細には、本発明は、基本ストリームユニットが1つ又は数個の別のストリームユニットに従属している又はそれらに関連している場合、これらの基本ストリームユニットの処理を最適化することに関する。
【背景技術】
【0002】
ある信号、例えば、マルチメディア形の信号が同期して1つのチャネルを介して送信される場合、ストリームユニットの処理にはほとんどあるいは全く問題が発生しない。必要なデータは前もって受信される。
【0003】
他方、数個の送信チャネル及び/又は数個のサーバにより実現され、それらが所望の信号の一部をそれぞれ送信する非同期のシステムでは、これは当てはまらない。例えば、IP形のネットワークを介して送信又は一斉送信する場合である。
【0004】
この場合、まだ受信していない他のストリームユニットを完結させることになっているストリームユニットを先に受信することがある。例えば、これはあるより高い階層レベルのデータ圧縮情報の可能性があり、データは階層符号化法を用いて符号化できる(これにより、ストリームは所定の階層レベルに対応させることができる)。このため、圧縮データの処理はランダムな結果を招き、一般に再生された信号に著しい劣化をもたらしたり、デコーダを完全にブロッキングすることさえある。
【0005】
マルチメディアの同期化に関する従来の技術は、本来、RTPベースの伝送プロトコルとMPEG−4「同期層(synchronisation)」とによって表される。これまでの取り組みでは、同期機構は、オーディオとビデオのストリームとを、遅延なしに表現できるように、時間的に同期させるように主に設計されてきた。このデータは、タイムスタンピングシステム(time stamping system)(基準クロック、デコーディングスタンプ及びプレゼンテーションスタンプ)を用いて伝達される。
【0006】
種々の時間的及び空間的な充実化(enrichment)レベルを使用して表現可能なフレームを作成する階層符号化法の出現により、発明者は同期化に対する新しい要求が持ち上がっていることに注目した。
【0007】
実際に、ストリームを(表示する間だけではなく)デコードする前に、同期化する必要がある。正しいフレームを作成するためには、ユニットをデコードするために必要なユニットを識別しなければならないため、この制約はプレゼンテーションの同期化よりも一層複雑である。たった1つの遅延のために、あるストリームが全体として使用できなくなり、さらにそれに基づいた全てのストリームが使用できないものになる可能性がある。このことは、発明者が確認した新規で明白でない問題である。
【0008】
端末が、受信していなければならないが、まだ受信していないデータ(例えば、デコーディングキー)を用いて、受信したストリームユニットをデコード又は解読するする必要がある場合、同様の問題が発生する。この場合も、このデコーディング処置の結果は、少なくとも非効率であり、一般的に(再生された信号の点で)有害であり、この端末にブロッキングをもたらす可能性がある。これらの2つの場合では、望まれていない厄介な処理が行われることになる。
【0009】
同報通信(マルチキャスト又は同報通信)システムの中で発見された別の重大な問題は、ユーザがどのような場合でも自分達が選択した全てのストリームを受信するために接続できるように、同じデータをマルチ同報通信(multibroadcast)する必要があることである。この特定の見解は、本願の出願人による未公開の欧州特許出願第EP−014600462号の中ですでに説明されている。この技術によれば、各種の伝送の種類の特異性を考慮に入れて各ストリームユニットの処理を進める伝送レベルで処理が行われる。
【0010】
同報通信及びマルチキャストのシナリオにおけるマルチメディア表示に関する従来の技術は、「カルーセルMPEG−4(carousel MPEG-4)」の仕様書の中で説明されている。それにもかかわらず、その結果、いくつかの機能を用いることができず、またいくつかの機能はデータ速度の多くを消費することになる。2つの考えられる配信シナリオでは、マルチメディア表示に対するいくらかの入力された要素はいかなる時点でも必ず必要とされる(indicate)ことである。このことは、シーン例えばBIFSのシーンやテクスチャーの記述に関してデータを繰り返し使用することにつながる。
【0011】
マルチメディアのコンテンツが豊富になると、この単純な繰返しは許容できないものではなくなり、ダウンロード時間が過大になる。さらに、この仕様では、幾つかのマルチメディア要素(短いオーディオ/ビデオのクリップ)を同報通信できない。
【発明の開示】
【発明が解決しようとする課題】
【0012】
特に、本発明の目的は、上記技術の様々な不都合を克服することである。
【0013】
より具体的に言うと、本発明の目的は、ストリームユニットが1つ又は数個の別のストリームユニットに依存する又は関連する場合、ストリームユニットを効率的に処理できる技術を提供することである。
【0014】
さらに、本発明の目的は、特に、階層符号化又は基本データと充実化又は富化(enrichment)データとを結び付ける符号化方法によって符号化されたデータの場合、リンクされたストリームの処理を可能にするような技術を提供することである。
【0015】
本発明の別の目的は、マルチ同報通信のシナリオの送信を最適化できる、また特に、受信時の品質を低下させずに使用するリソースの量を減らすことができる技術を提供することである。
【0016】
換言すると、本発明の目的は、端末で実行される処理を、数量と品質との両方の観点において最適化することである。
【課題を解決するための手段】
【0017】
これらの目的と後述する他の目的とは、本発明に基づいて、少なくとも1つの端末に少なくとも1つのデータストリームを送信する手順を用いて達成される。この手順では、データストリームはストリームユニットに編成される。本発明によれば、これらのストリームユニットの少なくとも幾つかは、前記データストリーム又は端末により先に受信されている別のデータストリーム中の、必要先行ユニットと呼ばれる少なくとも1つのストリームユニットを指し示す少なくとも1つのポインタを含む。これは、必要先行ユニットが受信されていない場合、前記端末の中でこのストリームユニットの処理を行わないようにするためである。
【0018】
このように、解像度の品質などを向上するために、端末における処理を制限し、ストリームユニットの処理をより容易にできる論理的な同期システムを利用できる。
本発明に基づいてこのように定義されたデータの形式は、ストリームの送信及び受信に対してだけでなく、それらの同報通信(ブロードキャスティング)、記録及び保管に関しても実行することができる。
【0019】
本発明はこのように、特に、ストリーム又はストリームユニットの「バック」同期("back" synchronization)という新しい問題を確認することと、処理するために全ての要素を利用できない場合、最も効率的な解決策はストリームユニットを処理することではないことと言う明白でない所見に基づいている。実際に、信号再生の点に関しては、ストリームユニットをデコードすることではなく、それを無視することが好ましいと思われる。このことは、再生された信号の劣化又は端末のブロッキングさえも引き起こす可能性がある。
【0020】
好適には、本発明の方法は、別個に送信される少なくとも2つのデータストリームを送信することを含む。第1のデータストリームの1つのストリームユニットは、少なくとも1つの第2のデータストリーム中の少なくとも1つの必要先行ユニット(required previous unit)を指し示す。ここで、第1のデータストリームの前記ストリームユニットは、前記第2のストリーム内に含まれた充実化データを含む。
【0021】
この場合、これらのデータストリームは、好適には、階層符号化の種々の階層レベルに対応させることができる。ここで、所与の階層レベルのストリームユニットの処理は、対応する下位の階層レベルのストリームユニットが受信された場合にのみ行われる。
【0022】
このストリームユニットは、少なくとも1つの先行するユニットを指し示すことができる。これは、必要先行ユニットのシーケンスを定義する。
【0023】
本発明の好ましい特性によれば、これらのポインタの少なくとも1つにより、考慮されているストリームユニットのデコーディング及び/又は解読を可能にするデータを含む少なくとも1つの必要先行ユニットを見つけ出すことができる。
【0024】
前記必要先行ユニットは、端末が考えられたストリームユニットのデータをデコード及び/又は解読し、次にデコード後に表示する必要があるかどうかを決定することができるデータを含むことが好ましい。
【0025】
別の好ましい方法によれば、これらのポインタの少なくとも1つは前記端末から知ることができるデータを指し示すため、端末は対応するストリームユニットを処理することができるかどうかを決定することができる。
【0026】
好ましくは、本発明の別の態様によれば、これらのストリームユニットの少なくとも1つは、前記データストリーム中の又は近い将来に受信することができる別のデータストリーム中の少なくとも1つのストリームユニットを指す少なくとも1つのポインタを含む。
【0027】
近い将来に受信することができるこの又はこれらのストリームユニットは、前記ポインタとのリンクを作ることができるマーカを有することが好ましい。
【0028】
このため、別個の時間に送信された少なくとも2つの同様のストリームユニットのポインタは、近い将来に受信される同じストリームユニットを指し示すことができることが好ましい。
【0029】
好ましくは、本発明の方法は、下記を含むグループに属する少なくとも2つの役割の中からのポインタの役割を示すインディケータ (indicator)を実現する。すなわち、検討されるストリームユニットを考慮できるようにするために、デコードする必要がある少なくとも1つの先行するストリームユニットを指し示すことと、
検討されるストリームユニットをデコード及び/又は解読するために必要なデータを含む少なくとも1つの先行するストリームユニットを指し示し、及び/又は保護システムのステータスへの参照を指し示すことと、少なくとも1つの後続するストリームユニットを指し示すこととである。
【0030】
これらのデータストリームの少なくとも幾つかが、この役割を定義する従属記述子(dependency descriptor)を含むことが好ましい。
【0031】
これらのデータストリームの少なくとも幾つかが、それ自体を必要先行ユニットとして識別できる従属マーカ(dependence marker)及び/又は前記ストリームの中の前記ストリームユニットの識別マーカ(identification marker)を含むことが好ましい。
【0032】
本発明の方法が、受信されたストリームユニットの予備的な処理を必要としないような同期レベルで実行されることが好ましい。
【0033】
本発明は、前述した送信手順に基づいて送信された1つ又は数個のデータストリームにも関連する。前述したように、そのようなデータ形式は、送信、同報通信、受信、及び記録(例えば、ビデオレコーダ又は光ディスクレコーダを用いる場合)並びにデータの保管(例えば、CD−ROM、テープ、遠隔のサーバなど)のために使用できる。
【0034】
また、本発明はこれらの動作の幾つかを容易に結合することができることに注意されたい。例えば、幾つかのデータストリームは同報通信とすることができ、別のデータストリームはCD−ROM又はサーバに送ることができる。ここで、第2のデータストリームは、第1のデータストリームをデコード(又は最適化)するために知られている必要がある。
【0035】
そのようなデータストリームは、互いに独立して送信されるストリームユニットに編成される。ここで、これらのストリームユニットの少なくとも幾つかは、少なくとも1つのポインタを含む。このポインタは、前記データストリーム中又は端末で先に受信されている別のストリーム中の少なくとも1つのストリームユニットであって、必要先行ユニットと呼ばれるストリームユニットを指し示し、前記ストリームユニットの処理は、必要先行ユニットが受信されていない場合は、前記端末では実行されないようにされる。
【0036】
本発明は、互いに独立して送信されるストリームユニットに編成された少なくとも1つのデータストリームの形式で、少なくとも1つの端末に送信されるようにデータを作成したサーバにも関する。ここで、これらのストリームユニットの少なくとも幾つかは、少なくとも1つのポインタを含む。このポインタは、前記データストリーム中又は端末で先に受信されている別のストリーム中の少なくとも1つのストリームユニットであって、必要先行ユニットと呼ばれるストリームユニットを指す。
【0037】
本発明は、互いに独立して送信されるストリームユニットに編成された少なくとも1つのデータストリームを受信することができる端末にも関する。ここで、これらのストリームユニットの少なくとも幾つかは、少なくとも1つのポインタを含む。このポインタは、前記データストリーム中又は端末により既に受信されている別のストリーム中にある、必要先行ユニットと呼ばれる少なくとも1つのストリームユニットを指す。
【0038】
本発明は、互いに独立して送信されるストリームユニットの中に編成された少なくとも1つのデータストリームを受信する手順にも関する。ここで、これらのストリームユニットの少なくとも幾つかは、少なくとも1つのポインタを含む。このポインタは、前記データストリーム中又は端末により既に受信されている別のストリーム中にある、少なくとも1つのストリームユニット(必要先行ユニットと呼ばれる)を指し示す。また、この受信手順は下記のステップ、すなわち、あるストリームユニットの前記ポインタを分析するステップと、前記必要先行ユニットが受信されている場合には、前記ストリームユニットを処理するステップとを含む。
【0039】
最後に、本発明は、特に、下記を含むグループに属するアプリケーションの1つに対する送信手順の使用法に関し、すなわち、ユーザが選択したプログラムにアクセスする前に、メッセージをシステマチックに同報通信することと、プログラムの特定の品質レベル及び/又は特定のオプションに条件付きアクセスをすることと、対話型のテレビとに関する。
【0040】
本発明の別の特徴及び利点は、例証的な実施例及び添付した図面として与えられた以下の本発明の好ましい実施形態に関する説明を読めば一層明らかになるであろう。
【発明を実施するための最良の形態】
【0041】
以下に説明する好ましい実施形態は、特にMPEG−4型のシステムにおけるマルチメディアシステム内のストリームの送信に関する。
【0042】
以前の技術
以前の技術では、マルチキャスト又は同報通信を行う場合に、マルチメディアのシーンを効率的に送信することを考慮していない(ビットレート及び機能性の点で)だけでなく、アクセス管理キー形の内容にリンクされた要素が相互依存するストリームの同期化を行うこともできない。
【0043】
同報通信及びマルチキャストのシナリオにおけるマルチメディア表示
ある解決策が、「カルーセルMPEG−4」の仕様書の中で提案されている。それにもかかわらず、機能の中には禁止されたり、高いビットレートを消費するものがある。考慮される2つの配信のシナリオでは、マルチメディア表示に対するいくつかの入力された要素をいかなる時点でも必要とされる。これは結果として、シーン、例えば、BIFSのシーンやテクスチャーなどの記述に対してデータを繰り返すことになる。
【0044】
マルチメディアのコンテンツが豊富になると、この単純な繰返しは許容できなくなり、ダウンロードの時間が過大になる結果につながる。さらに、この仕様は幾つかのマルチメディアの要素(短いオーディオ/ビデオのクリップ)を同報通信することはできない。
【0045】
さらに、未公開の特許出願第EP−014600462号では、データはある伝送レベルに応じて伝達される。対照的に、本発明によれば、全てのものが、伝送レベルとは独立した、いわゆる同期層レベルに置かれる。
【0046】
これにより、様々な種類の伝送を取り除き、また時間及び論理的な同期化データ並びに1つの点におけるランダムアクセス用マーカを統一する利点が提供され、このため、独自の点でユニットを維持又は廃棄するための決定を計算することができる。このことは、さらにデータストリームに関するより多くの情報を知ることにつながり、これにより(BIFSなどに対するビデオ/オーディオについての)データストリームの種類による決定を専門化できるようにされる。
【0047】
マルチメディアの同期化
マルチメディアの同期化の点に関するこれまでの技術は、本質的に、RTPに基づいた伝送プロトコル及びMPEG−4(「同期化層」)によって表示される。使用される同期化機構は、主にオーディオのストリーム及びビデオのストリームを、遅れなしに表現することができるように、時間同期するように設計されている。これらのデータは、タイムスタンプシステム(基準クロック、デコーディングスタンプ及びプレゼンテーションスタンプ)を用いて伝送されている。
【0048】
様々な時間的及び空間的な充実化のレベルを使用して、表現可能なフレームを作る階層符号化が出現することにより、新しい同期化の必要性が生じている。実際に、データストリームは(それを表示する場合だけではなく)デコードする前に同期化することが必要である。正確なフレームを作るために、デコーディングを要求されたユニットを識別することが必要であるため、この制約は表示の同期化よりも一層複雑になる。1つの遅延が原因で、あるデータストリーム全体ひいては、そのデータストリームに基づくあらゆるデータストリームが使用できなくなる可能性がある。ここで見られるように、これはデコードされるユニット間の論理的な依存性の問題である。
【0049】
時間間隔の減少は、既にビデオのMPEG−4の中では考慮されているが、システム層(system layers)では実現できない。
【0050】
データの保護
同期化の第3の事例、すなわち、マルチメディアのストリームにリンクされたデータ保護ストリームの同期化の事例は、以前の技術では考えられていない。
【0051】
この場合は、どのマルチメディアのストリームユニットも、デコードする前に正しいキーを用いて確実に解読することが必要がある(そうでないと、破局的な結果が生じる可能性がある)。データストリームが同期していることが確実でないと、同期化ツールはこの必要性を保証できない。
【0052】
このとき、デコーダの入力及びその出力は、同期化点(synchronisation points)である(その結果、デコードされたフレームを暗号化することができる)。
【0053】
本発明の原理
本発明の目的は、とりわけ、マルチメディアのシーンのマルチキャスト(multicast)及び同報通信(broadcast)と、マルチメディアのデコーディングの論理的な同期化とを可能にすることである。
【0054】
これは、これら2つの目的に到達できる下記の機構、すなわち、各回ストリームを構成するユニットが設定可能なやり方で識別されるように、ストリームを構成できる機構と、同報通信のシナリオ用のフロント連鎖機構(front chaining mechanism)とを用いて達成される。
【0055】
このため、本発明の不可欠な技術要素は下記のようになる、すなわち、数個のデータストリームの要素間の又は同じストリーム内部の論理的な同期化要素(ビデオ、オーディオ、及びデータ保護システム)と、ストリームの各要素の種類に対して、それが依存する要素及びそれが依存する特定の要素を示すことができる解決手段とである。解決手段としてはいくつかの手段を用いることができる。
【0056】
下記の手段、すなわち、従属記述子(dependency descriptor)と、従属マーカ(dependence marker)(オプション)と、従属ポインタ(Dependency Pointer)と、マーカ(Marker)(ストリームユニットを識別する)(オプション)とは、どのような種類の実施態様にも特に使用される。
【0057】
少なくとも1つの実施形態のモードについての詳細な説明
MPEG−4の仕様
付属書1は、MPEG−4の仕様の形式で、MPEG形のデータに対して本発明を実施した場合の詳細な実例を示す。
【0058】
レシーバの動作
端末は、自分のオブジェクト記述子(ObjectDescriptor)を用いて少なくとも1つのグラフィックシーンのオブジェクト(BIFSストリーム:F#BIFS)を参照するIOD(InitialObjectDescriptor)を受信する。また、任意選択的に、IODは少なくとも1つのグラフィックオブジェクトの記述オブジェクト(ODストリーム:F#OD)を参照する。この端末は、以下に示す情報に基づいて、これらのストリームを開く。
【0059】
これらのオブジェクト記述子のそれぞれは、それを構成する基本ストリーム記述子(ESDescriptor)を含む。各ESDescriptorは、dependsOnESIDフィールド及びSL設定記述子(SLConfigDescriptor)を含む。
【0060】
この従属ESID(dependsOnESID)フィールドは、そのESIDによって識別されたストリーム間に従属物のグラフを組み立てることができる。
【0061】
SL設定記述子(SLConfigDescriptor)オブジェクトは、同期化ツール(synchronization tool)を形成できるようにする。
【0062】
このSL設定記述子(SLConfigDescriptor)オブジェクトの中には、下記の方法でレシーバが様々な従属物を検証するように、レシーバを形成する可能性が存在する。
【表1】

【0063】
このように、あるストリームを別のストリームに従属していると宣言することができる(それ自体は通常の媒体又はIPMP)。この場合、ストリームはそのSL構成の中で、4つの別個のモードを用いて、どのようにこの依存性を示すかを記述する(従属記述子(Dependency descriptor)。
【0064】
[DTS及びIDバージョンのモード(モード0及び1)]
ストリームはこれらのアクセスユニット(AU)のそれぞれに対して、ストリーム自体の中のフロント依存性(front dependency)を示す。換言すると、このAU(n)は、どのアクセスユニットが次にデコードされるかを示す。このシグナリングは、モード0では次のアクセスユニット(固有の)のDTS又はモード1では次のアクセスユニットのIDのいずれかを記述する、各パケット内のマーカによって行われる。
【0065】
この場合、再生される最初の要素の値が加えられる。
【0066】
例えば、これは同報通信/マルチキャストモードにおけるBIFSストリームとすることができる。
【0067】
[スケーラブルモード(モード2)]
ストリームはこれらのアクセスユニットのそれぞれに対して、従属するストリームに関する依存性を示す。このストリームは一意的であると想定される。
【0068】
この原理は、図1に示されている。従属ストリーム10のストリームユニット11は、通常、SLヘッダ(SLHeader)111及びデータフィールド(SL payload)112を含む。このヘッダ111は、特に、2つのポインタ、Dep1及びDep2を含み、これらのポインタは、それぞれ基本ストリーム14のストリームユニット141及び142を有する従属リンク12及び13を定義する。この基本ストリーム14は、ストリームユニット11を処理するために周知でなければならない。
【0069】
[IPMPモード(モード3)]
ストリームはこれらのアクセスユニットのそれぞれに対して、データ保護システムがユニットをデコードできるようにする識別子を示す。これが与えられると、このマーカはユニットを解読できるかどうかについて応答することができる。
【0070】
SL設定記述子は、1つ又は数個の従属記述子(DependencyDescriptor)及び従属マーカ(DependencyMarker)を含むことができ、これにより、ストリーム内の種々の依存性の事例を調整することができる。(先験的には、1つの従属マーカで十分であるが、数個が存在することがある。)
【0071】
このため、SL設定(SLConfig)が従属マーカを含む場合、それは自身のパケットのそれぞれに対してバージョンIDを示す(モード1及び3)。
【0072】
アクセスユニット(AccessUnit)に対応するSLパケットのヘッダには、下記の事項、すなわち、SL設定記述子の各従属マーカに対する長さマーカ(markerLength)と、各従属記述子に対するdepLength長さの従属ポインタ(dependencyPointer)とが発見される。
【0073】
これらの様々なマーキングが実行されると、システムは下記の事項、すなわち、a)モード0及び1により、「同報通信」モードで動作することと、b)拡張性の依存性を管理することと、c)IPMPの依存性を管理することとを行うことができる。
【0074】
IPMPモードの動作説明
オブジェクトのオブジェクト記述子が受信されると、端末は関連した各ストリームのSL設定記述子をチェックする。これにより、各ストリームに対してSLパケットのヘッダをデコードすること、特にマーカをデコードすることが可能になる。
【0075】
IPMPの場合は、図3に示すように、DTS及び/又は従属ポインタが存在する。
【0076】
各ストリームのAUについては、それがデコードされる前に、それが少なくともいずれかのストリーム識別子のデータ、すなわちESID、DTS、従属ポインタ(IPM)31を備えることによって、それはIPMPシステム32により処理される。次に、IPMPシステムは、デコーディングに関する情報311(Code Dec)を考慮することによってAUを処理(解読)できる場合は応答する(33)。処理できなくて、ユニットのDTSが終了する場合、AUは破壊される(34)。このため、矛盾したAUをデコードしようとする試みは行われない。
【0077】
図4の実施例では、一方では図3の要素が存在するが、他方では、デコーディング(41)の後に、画像の再生にリンクされた処理が存在する。実際に、フィールド312(CodeComp)を用いて、タトゥー(tattoo)すなわち画像上にメッセージを追加することなどの構成に関するデータは送信することができる。データ保護システム32が、例えば、デコーダが必要なタトゥーを持っていないために、この構成を処理する方法を知らない場合は(それは画像を表示する方法を知らない)、画像は表示されない(43)。
【0078】
フレームは、例えばロゴでマークされることも予測できる。このロゴは、デコーダが正しいキーを持っていない場合は表示されない。
【0079】
マルチキャスト/同報通信モードにおける動作の説明
この動作は図2の中で示されており、下記の事項、すなわち、送信されたストリーム21と、第1のレシーバによって受信されたストリーム(セッション1)22と、第1のレシーバによって受信されたストリーム(セッション2)23と
を示す。
セッション1はパケット211で開始し、次にストリームユニット211が指すストリームユニット213を(24)、次にリンク25に基づいて、ストリームユニット215を取り入れる。
【0080】
少し後で開かれたセッション2はストリームユニット212で開始する。ストリームユニット212はストリームユニット214を指し示す(26)。
【0081】
本発明によれば、2つ(又はそれ以上)のストリームユニットは、次の同じストリームユニットを指すことができる。それはマージ機構(merge mechanism)27であり、ここでは、ストリームユニット213及び214の両方がストリームユニット215を指している。このため、それらは異なる時間に開始したが、2つのセッションは、「再生」段階の後、同じストリームユニット215を使用する。これにより、性能を明らかに向上させることができる。
【0082】
この動作を具体的に説明する。
【0083】
オブジェクト記述子を受信すると、端末はそれぞれの関連するストリームに対してSL設定記述子をチェックする。これにより、各ストリームに対してSLパケットのヘッダをデコードすること、特に、マーカのデコーディングが可能になる。
【0084】
このため、マルチキャスト/同報通信の場合は、モード0又は1では少なくとも1つの従属ポインタ、及びマーカ(「IDによる」モード1)がDTSに対して存在する。その結果、端末は各ストリームについて、どれが再生すべき最初のユニットかを知っている。このため、端末は各ストリームに対応する最初のユニットの再生を試みる。
【0085】
端末が最初のユニットを受信すると、端末はその内容を表示し始めることができる。各ユニットは受信すべき次のユニットを従属ポインタの中に記述し、DTS/マーカは独自の方法で各ユニットを識別する。
【0086】
端末が最初のユニットを受信しない場合(端末はこのことをタイムアウトによって知ることができる)、又は所望のマーカに対応しないRAP=1形をこのストリームユニットに関して受信する場合、端末は切断し(セッションを完全に閉じる)、また再接続しようとする。
【0087】
この仕組みは、セッションのマネージャを考慮していることに注意されたい。
【0088】
また、「IDによる」モードは、次のユニットのDTSが前もって知らされていない場合に必要とされることにも注意されたい。
【0089】
この方式は、特に、BIFS、OD、テクスチャー、オーディオのクリップ、及びMPEG−4におけるビデオのクリップに対して使用される。それはストリーム化されたオーディオ/ビデオに対しては、もはや使用されない。
【0090】
拡張可能なモードにおける動作の説明
オブジェクト記述子が受信されると、端末は関連するストリームのそれぞれに対して、SL設定記述子をチェックする。これにより、各ストリームに対してSLパケットのヘッダをデコードすることが可能になる。拡張可能なビデオについては、1つのストリームをベースとして使用し、別の1つ又は数個のストリームはこのストリームに依存する。基本のストリームに依存する各ストリームは、従属記述子を宣言する。
【0091】
改良ストリームの各AUに関しては、端末はAUの従属ポインタを用いて、それが依存する基本ストリームのDTSを参照する。
【0092】
大抵の場合、基本ビデオの2つの基準AUを指し示すために、改良ストリームの中に2つの従属ポインタが存在する。
【0093】
同報通信+IPMPモードにおける動作の説明
この場合、例えばBIFSは、SL構成の中に2つの従属記述子を含む。1つは同報通信モードのために、他の1つはIPMPモード用に含む。同報通信モードがIDによる場合、それはマーカを含む。
【0094】
アプリケーションの実施例
プログラム開始前の広告の同報通信
インターネット用ストリーミングの幾つかの場合では、コンテンツプロバイダは、内容自体を送る前に広告を意図的に送っている。インターネットのシナリオはユニキャスト(unicast)(クライアント−サーバ)であるため、これは段階的に行われる。広告のダウンロード及び広告の終了により、ビデオのストリーミングが開始される。
【0095】
クライアント−サーバの動作に頼るものがないマルチキャスト又は同報通信のシナリオでは、要求の考えがない。このため、ユーザは通常現在の表示ステータスにアクセスするだけである。
【0096】
フロント参照機構のおかげで、このシナリオはマルチキャスト又は同報通信では可能にされる。
【0097】
実際に、広告は周期的な方法で送ることができ、また現在のプログラムを広告の後にマージすることができる。
【0098】
このことは、例えば、全てのユーザが確実に始めに広告を見るようにすることができる(この間に、コンテンツは効率的でこま切れな(incremental)やり方でダウンロードすることができる)。
【0099】
同じ種類のアプリケーションを、各同報通信する映画のための、映画のカテゴリーの通知とすることができる(親同伴が望ましい、年令が16才未満、など)。
【0100】
スケーラブルな条件付きアクセス
ここでのアイディアは、ユーザの正しい権利に基づいて別々に見ることができるビデオ及びオーディオのストリーム(固有の)を送ることである。保護キーに関したビデオフレームの依存性の信号により、ユーザがキーを有するストリームのみをデコードすることを可能にする。全てのキーを有する者は、全ての画像をデコードできるが、より少ない特権しか持たない者は、数個の画像しかデコードできない。これはよりスケーラブルなやり方(ここでは、時間的なスケーラビリティ)で、条件付きアクセスを実行できるようにする。
【0101】
最も複雑で有用なシナリオは、幾つかのストリームがあり、時間的なスケーラビリティ及び解像度を調整できるシナリオである。
【0102】
そのため、このフレーム依存のシステムでは、ほぼ連続的な方法で媒体に調整アクセスする(modulate access)ことが可能である。
【0103】
従って、あるユーザは5チャネルにわたって音声を受信できるキー(空間的な音声)を有し、別のユーザはステレオの音声のみを受信できるキーを有する。このことは、より詳細なインボイスを作ることも可能にする。
【0104】
MPEG−4の双方向テレビ
「セットトップボックス」のアプリケーションが静的であることを考えるのではなく、これらの種類のアプリケーションのいずれも、異なるチャネルを得ることができるMPEG−4のアプリケーション(インライン式の機構)であると考えることができる。このMPEG−4のアプリケーションは、アクティブ24hx24hであり、グラフィカルインターフェースなどを完全に再構成できる。
【0105】
シーンを同報通信する技術は、アプリケーションの部分(MPEG−J)だけでなくグラフィカルインターフェース(BIFS/テクスチャー/OD)をも効率的にダウンロードすることができる。
【0106】
このことは、より迅速な展開を可能にする。
【0107】
[付属書]
本発明によるMPEG−4形の仕様の例
定義
ストリームユニット(AU:アクセスユニット)
基本ストリームの中で個別にアクセス可能なデータユニットである。ストリームユニット(又はアクセスユニット)は、時間のデータ要素に起因すると考えられる最小のエンティティーである。
【0108】
オーディオビジュアル・オブジェクト
オーディオ及び/又はビジュアルな方法で明示された自然の又は合成された(仮想の)オブジェクトの表現である。この表現は、BIFSのシーケンス記述の中のノード又はノードのグループに該当する。各オーディオビジュアル・オブジェクトは、1つ又は数個のオブジェクト記述子を使用するゼロ、1つ、又は数個の基本ストリームに関連付けられる。
【0109】
オーディオビジュアル・シーケンス(AVシーン)
シーンを記述し、自身の空間的又は時間的な属性を定義するデータ要素を有する、オブジェクト及びユーザの相互作用の結果として生ずる動作を含む、一連のオーディオビジュアル・オブジェクトである。
【0110】
シーン用のバイナリフォーマット(BIFS)
シーン記述のパラメトリック形式の符号化された表現である。
【0111】
端末
ISO/IEC14496−1によって定義されたものと同様の、対話型のオーディオビジュアルのシーンの符号化された表現を送信又は受信及び表示するシステムである。それは、ISO/EIC14496に準拠した独立したシステム又はアプリケーションシステムの一部とすることができる。
【0112】
略語及び記号
AU アクセスユニット又はスチームユニット
AV オーディオ−ビジュアル
BIFS シーン用のバイナリフォーマット
CM 構成メモリ
CTS 構成タイムスタンプ
CU 構成ユニット
DAI DMIFアプリケーションインターフェース(ISO/IEC14496−6を参照)
DB デコーディングバッファ
DTS デコーディング用タイムスタンプ
ES 基本ストリーム
ESI 基本ストリーム用インターフェース
ESID 基本ストリーム用識別子
FAP フェイシャルアニメーション(Facial Animation)用パラメータ
FAPU FAPユニット
NCT ノード符号化テーブル
NDT ノードデータ形
OCI オブジェクト内容情報
OCR オブジェクトクロック基準
OD オブジェクト記述子
ODID オブジェクト記述子用識別子
OTB オブジェクト時間ベース
PLL 位相ロックループ
QoS サービスの質
SDM システムデコーダのモデル
SL 同期化層
SL−Packet 同期化層のパケット
SPS SLパケット化ストリーム
STB システム時間ベース
TTs テキスト−音声
URL ユーアールエル
VOP ビデオオブジェクト面
VRML 仮想現実モデリング言語
【0113】
SLパケット用ヘッダの構成
シンタックス
【表2A】

【表2B】

【0114】
セマンティクス
SLパケット用ヘッダは、各個々の基本ストリームの必要性に基づいて構成することができる。選択できるパラメータは、クロック基準はもとより、タイムスタンプの存在、解像度、及び精度を含む。この柔軟性により、例えば、SLパケット用ヘッダの内容を少し増加することができる。
【0115】
各基本ストリームに対して、この構成は、オブジェクト記述子に関連したES#Descriptorの一部であるSL設定記述子の中で送信される。
【0116】
SLパケット用ヘッダの中で構成できるパラメータは2つの種類、すなわち、各SLパケットに適用されるもの(例えば、OCR、sequenceNumber)及びアクセスユニットの中で単に表示されるもの(例えば、タイムスタンプ、アクセスユニット長(accessUnitLength)、瞬間ビットレート(instantBitrate)、劣化優先度(degradationPriority)など)に分割することができる。
【0117】
(あらかじめ定義された)列は、以下に詳しく記載したような、所定のパラメータの組のディフォルト値を固定することができる。この表は、将来のプロファイルに必要な設定などの所定の設定を含むように、ISO/IEC14496の修正案によって更新することができる。
【0118】
【表3】

【0119】
表3は、SL設定記述子のあらかじめ定義された値の組を示している。
【0120】
【表4】

【0121】
表4は、SL設定記述子のあらかじめ定義された値の詳細を示している。
【0122】
useAccessUnitStartFlag−accessUnitStartFlagがこの基本ストリームの各SLパケット用ヘッダの中に存在することを示す。
useAccessUnitEndFlag−accessUnitEndFlagがこの基本ストリームの各SLパケット用ヘッダの中に存在することを示す。
useAccessUnitStartFlag及びuseAccessUnitEndFlagが使用可能でない場合、これは各SLパケットが完全なアクセスユニットに対応することを意味する。
useRandomAccessPointFlag−RandomAccessPointFlagがこの基本ストリームの各SLパケット用ヘッダの中に存在することを示す。
hasRandomAccessUnitsOnlyFlag−各SLパケットがランダムアクセス点に対応することを示す。この場合、randomAccessPointFlagを使用する必要はない。
usePaddingFlag−paddingFlagがこの基本ストリームの各SLパケット用ヘッダの中に存在することを示す。
useTimeStampFlag−タイムスタンプがこの基本ストリームを同期させるために使用されることを意味する。それらはSLパケット用ヘッダの中に移送される。別の方法では、このSLパケット用ヘッダの中に移送されたaccessUnitRate、compositionUnitRate、startDecodingTimestamp、及びstartCompositionTimeStampのパラメータを同期化のために使用する必要がある。
【0123】
開始及び持続時間のタイムスタンプ(useTimeStampFlag=0)は、エラーがない環境を含む一定の条件の下でのみ使用することができる。ランダムアクセスは容易ではない。
useIdleFlag−この基本ストリームの中でidleFlagが使用されることを示す。
durationFlag−この基本ストリームに対するアクセスユニット及び構成ユニットの一定の持続時間が、続いて表示されることを示す。
timeStampResolution−第2のパルスによるオブジェクトの時間ベースの解像度である。
OCRResolution−第2の周期によるオブジェクトの時間ベースの解像度である。
timeStampLength−SLパケット用ヘッダ内のタイムスタンプ・フィールドの長さである。timestampLengthはゼロから64ビットの値を取らなければならない。
OCRlength−SLパケット用ヘッダ内のobjectClockReferenceフィールドの長さである。数個のゼロは、この基本ストリームの中にはobjectClockReferenceが存在しないことを示す。OCRstreamFlagが配置される場合は、OCRLengthはゼロでなければならない。別の方法では、OCRlengthはゼロと64ビットとの間の値を持つ。
AU#Length−この基本ストリームに対するSLパケット用ヘッダ内のaccessUnitLengthフィールドの長さである。AU#Lengthはゼロと32ビットとの間の値を取る必要がある。
instantBitrateLength−この基本ストリームのSLパケット用ヘッダ内のinstantBitrateの長さである。
degradationPriorityLength−この基本ストリームのSLパケット用ヘッダ内にあるdegradationPriority用フィールドの長さである。
AU#SeqNumLength−この基本ストリームのSLパケット用ヘッダ内にあるAU#sequenceNumber用フィールドの長さである。
packetSeqNumLength−この基本ストリームのSLパケット用ヘッダ内にあるpacketSequenceNumber用フィールドの長さである。
timeScale−アクセスユニット及び構成ユニットの持続時間を表示するために使用される。第2のものは、またtimeScaleセクションに分割される。
accessUnitDuration−アクセスユニットの持続時間は、accessUnitDuration * 1/timeScale秒である。
compositionUnitDuration−構成ユニットの持続時間は、compositionUnitDuration * 1/timeScale秒である。
startDecodingTimeStamp−この基本ストリームの第1のアクセスユニットをデコードする必要がある時間を転送する。それはtimeStampResolutionによって規定された決定の中で転送される。
extension#field#control−このフィールドはSLの拡張を可能にする。値01b0は、記述子をSLConfigDescriptorの最後に配置する必要があることを示す。
markerDescriptors−この表は、ストリーム内の次のアクセスユニットを識別するマーカの記述子を示す。
dependencyDescriptors−この表は、前のアクセスユニット又は次のユニットをどのように参照しなければならないかを規定する従属記述子を示す。
【0124】
MarkerDescriptor
シンタックスは以下のようになる。
【表5】

【0125】
DependencyDescriptor
シンタックス
【表6】

【0126】
セマンティクス
モード
下記のように4つの定義されたモードがある。
モード0:DTSによるフロントの参照
モード1:マーカによるフロントの参照
モード2:バックスケーラビリティ(back scalability)の参照
モード3:IPMPモード
【0127】
モード0及び1は、各アクセスユニットに次のアクセスユニットを参照させる。
【0128】
モード2は、各アクセスユニットにこのアクセスユニットをデコードするために必要な前のアクセスユニットを参照させる。(注意:場合によっては、3つ以上のdependencydescriptorsが2つ以上の必要なアクセスユニットを参照するために必要である。)
【0129】
モード3は、各アクセスユニットが不明瞭な識別子を含むことができるようにする。このアクセスユニットのデコーディング及び組立てが可能かどうかを決定するために、IPMPシステムはこの不明瞭な識別子を使用できる。
【0130】
モード1及び3は、ストリームの中にMarkerDescriptorを必要とする。
【0131】
ESID
このオプションのフィールドは、DependencyDescriptorが参照するストリームを識別する。
【0132】
SimpleDependencyDescriptorに関しては、ESIDは下記の方法、すなわち、
モード0及び1:現在のストリームであることと、
モード2:dependsOnESIDに依存することと、
モード3:非適用であることと計算される。
dependencyLength−マーカ(存在する場合)又はdecodingTimeStampのいずれかの長さ。
value−第1のマーカ又はデコードする次のアクセスユニットの識別子の値。
【0133】
SLパケット用ヘッダの仕様
シンタックス
【表7A】

【表7B】

【0134】
セマンティクス
accessUnitStartFlag−これが1の場合、このSLパケットについてのロードの最初のバイトがアクセスユニットの開始点であることを示す。このシンタックス要素がSLパケット用ヘッダの構成から削除されている場合、下記のルールに基づいて、そのディフォルト値を前のSLパケットから知ることができる。
【0135】
accessUnitStartFlag = (the SL packet before accessUnitEndFlag=1)?1:0
accessUnitEndFlag−これが1の場合、このSLパケットについてのロードの最後のバイトが現在のアクセスユニットの最後のバイトであることを示す。このシンタックス要素がSLパケット用ヘッダの構成から削除されている場合、下記のルールに基づいて、そのディフォルト値はSLパケットを受信した後でのみ知ることができる。
【0136】
accessUnitEndFlag = (the SL packet after accessUnitStartFlag==1)?1:0
AccessUnitStartFlag及びAccessUnitEndFlagのいずれもがSLパケット用ヘッダの中で構成されていない場合、各SLパケットは各accessUnitStartFlag = accessUnitEndFlag = 1である1つのアクセスユニットに対応することを意味する。
【0137】
SLパケット用ヘッダがaccessUnitEndFlag及びaccessUnitLengthではなくaccessUnitStartFlagを使用するように構成される場合、端子は次のアクセスユニットが受信される前にアクセスユニットの端部を決定することができるという保証がないことに注意されたい。
【0138】
OCRflag−これが1の場合、objectClockReferenceが後に続くことを示す。OCRflagのディフォルト値はゼロである。
idleFlag−この基本ストリームが未確定の時間に対して不活性(すなわち、所望のデータがない)であることを示す。デコーダはこの符号を使用して、故意の欠如であるか又は次に続くSLパケット内のエラーによる欠如であるかを区別することができる。
paddingFlag−このSLパケットの中で使用されるデータ完了モードを示す。paddingFlagのディフォルト値はゼロである。
paddingBits−このSLパケットの中で使用されるデータ完了モードを示す。paddingBitsのディフォルト値はゼロである。
【0139】
paddingFlagが配置され、paddingBitsがゼロの場合、このSLパケットの後に続くロードが完了バイトのみから構成されることを示す。paddingFlagが配置され、paddingBitsがゼロの場合、accessUnitStartFlag、randomAccessPointFlag及びOCRflagを配置する必要がある。
【0140】
paddingFlagが配置され、paddingBitsがゼロよりも大きい場合、このSLパケットのロードの後に、ロードのバイトを整列させるためにゼロビットで形成されたpaddingBitsが続く。
【0141】
packetSequenceNumber−存在する場合、それはモジュールカウンタとして、各SLパケットに対して連続的に増加させる必要がある。デコーダの中で不連続があると、1つ又は数個のSLパケットの欠落につながる。この場合、エラーを同期化層で表示する必要がある。このシンタックス要素をSLパケット用ヘッダの構成から割愛すると、同期化層によるストリームユニットの連続性の制御は、この基本ストリームに対しては行うことができない。
【0142】
SLパケットの複製:SLパケット用ヘッダの中にsequenceNumberフィールドを有する基本ストリームは、エラーを回復するためにSLパケットの複製を使用しなければならない。この複製されたSLパケットは、オリジナルの直ぐ後に続く必要がある。複製されたSLパケットのpacketSequenceNumberは、同じ値を有しなければならず、オリジナルのSLパケットの各バイトを、objectClockReferenceフィールド(存在する場合)を除いて複製する必要がある。このフィールドは、複製されたSLパケットに対する有効な値を符号化する必要がある。
【0143】
degPrioFlag−これが1の場合、degradationPriorityがこのパケットに存在することを示す。
degradationPriority−このSLパケットのロードの重要性を示す。streamPriorityは、ESの基本的優先権を定義する。degradationPriorityは、基本的優先権に関してこのSLパケットに対する優先権の低下を定義する。このSLパケットに対する優先権は、下記の式によって与えられる。
SL#PacketPriority = streamPriority - degradationPriority
degradationPriorityは、この値を次に現れるまで維持する。特定の分配層(distribution layer)の例に対するアダプタだけでなく基本ストリーム用デコーダも、この表示を使用することができる。様々な基本ストリームのSLパケット間の劣化の割合は、the SL#PacketPriorityが低下するにつれて増加する。
objectClockReference−オブジェクト用のタイムスタンプを含む。OTRのtの時間の値は、下記の式に基づいて、このOCRのタイムスタンプから再構成される。
t = (objectClockReference/SL.OCRResolution) + K*(2SL OCRLength/SL.OCRResolution)
ここでkは、objectClockReferenceのカウンタがカバーした時間である。
【0144】
objectClockReferenceは、OCRflagが配置されている場合のみ、SLパケット用ヘッダの中に存在する。
1つのOCR値のみを、SLパケットの内部にローディングすることなく移送できる。
2進のストリームの中でaccessUnitStartFlagが特に示したときに、アクセスユニットの最初にのみ存在するシンタックス要素のセマンティクスが、以下に記述されている。
【0145】
randomAccessPointFlag−これが1の場合、この基本ストリームの内容へのランダムアクセスが可能であることを示す。randomAccessPointsFlagは、accessUnitStartFlagが配置される場合のみ配置されなければならない。このシンタックス要素がSLパケット用ヘッダの構成から削除されると、そのディフォルト値は、この基本ストリームに対してはSLConfigDescriptor.hasRandomAccessUnitOnlyFlagの値となる。
AU#sequenceNumber−存在する場合、それはモジュールカウンタとして各アクセスユニットに対して連続的に増加される必要がある。デコーダに不連続があると、ユニット全体にわたって1つ又は数個の欠落につながる。この場合、エラーを同期化層のユーザに表示する必要がある。このシンタックス要素をSLパケット用ヘッダの構成から割愛すると、同期化層によるストリームユニットの連続性の制御は、この基本ストリームに対しては実行することができない。
【0146】
アクセスユニットの複製:直前のAUではなく同じ数のシーケンスを用いて送られたアクセスユニットは、無視する必要がある。そのような複製のアクセスユニットは、そのオリジナルはRAPを持っていないが複製のユニットはそれを有しており、送信されたストリームに対してランダムアクセス点を加えることができる。これにより、他のクライアントは既にストリームを受信している限りは、クライアントはその送信の間に規定された点でストリームに入ることができる。
【0147】
decodingTimeStampFlag−デコーディング用のタイムスタンプがこのパケットの中に存在することを示す。
compositionTimeStampFlag−タイムスタンプの構成がこのパケットの中に存在することを示す。
accessUnitLengthFlag−このアクセスユニットの長さがこのパケットの中に存在することを示す。
instantBitrateFlag−instantBitrateがこのパケットの中に存在することを示す。
decodingTimeStamp−関連したSLConfigDescriptorの中で構成されたデコーディング用タイムスタンプである。このアクセスユニットのデコーディング時間tdは、下記の式に基づいて、このデコーディング用タイムスタンプから再構成される。
【0148】
td = (decodingTimeStamp / SL.timeStampResolution + K* 2SL.timStampLength / SL.timeStampResolution
ここで、kはdecodingTimeStampのカウンタがカバーした時間である。
decodingTimeStampは、デコーダの時間がこのアクセスユニットに対する時間構成から異なっている場合のみ存在しなければならない。
【0149】
compositionTimeStamp−関連したSLConfigDescriptorの中で構成されたタイムスタンプの構成である。第1の構成ユニットの時間構成tcは、このアクセスユニットが下記の式に基づいたタイムスタンプの構成から再構成されるという事実から結果として生ずる。
【0150】
td = (compositionTimestamp / SL.timeStampResolution + k*2SL.timeStampLength / SL.timeStampResolution
ここで、kはcompositionTimeStampのカウンタがカバーした時間である。
【0151】
accessUnitLength−バイトで表したアクセスユニットの長さである。このシンタックス要素が存在しないか又は値がゼロの場合、アクセスユニットの長さは未知である。
instantBitrate−次のinstantBitrateのフィールドが見つかるまでの、この基本ストリームの1秒当たりのビット数の瞬間的なビットレートである。
markerValue−アクセスユニットを識別できるマーカの値である。このマーカは、markerDescriptorが存在する場合に定義される。
DependecyPointerValue−DependencyDescriptorによって定義されたDTS又はマーカ指数である。
MarkerDescriptorCount:マーカ用記述子の数である。
DependencyDescriptorCount:従属記述子の数である。
【0152】
デコーディング用セマンティクス
フロント参照機構(モデル0及び1)
ESに関連したSL設定記述子は、ストリームの中に入ることができる第1のアクセスユニットを示す。
【0153】
参照モードがDTSの場合、SL設定記述子はdecodingTimeStampを含まなければならない。
【0154】
そうでない場合、マーカは各アクセスユニットをマークするために使用される。0及び−1は下記のように、特別な意味を有する、すなわち、//0は、これ以上のアクセスユニットは後に続いて来ないことを意味し、//−1は、どのアクセスユニットも使用できないことを意味する。
【0155】
各アクセスユニットは、マーカと、各アクセスユニットが次のアクセスユニットを示すことを可能にするdependencypointerとを含む必要がある。
【0156】
後方参照機構(モデル2)
SL設定記述子は、ESIDが参照するES内のアクセスユニットを示すn個の従属記述子形の記述子を定義する。
【0157】
現在のストリームの各アクセスユニットは、識別子がES#baseと呼ばれるESIDであるESに対して、自身のDTSを通して(ESIDによって識別された)ES#baseのアクセスユニットを参照する従属ポインタを用いて、アクセスユニットを指し示す。
【0158】
IPMPモード(モード3)
従属ポインタは、デコーディングの前にIPMPシステムに送信される。この不透明なポインタにより、IPMPのリソースはアクセスユニットをデコードすることが可能か否かを決定できる。キーが受信されていない場合又はそれを行える権限がない場合は、それは否定の応答を行うことができる。この従属ポインタは、デコーディングの後で構成ユニットにリンクされる。
【0159】
それは構成する前にIPMPシステムに戻され、次にIPMPのリソースは、ユニットが存在できるか否かを決定する。
【0160】
クロック基準ストリーム
streamType = ClockReferenceStreamの基本ストリームは、オブジェクタ記述子(objector descriptor)を用いて宣言される必要がある。それは、オブジェクトのクロック基準用タイムスタンプを送信するために使用される。名前の組の中の複数の基本ストリームは、クロック基準情報を繰り返し送信することを避けるために、SL設定記述子内のOCR#ES#IDのシンタックス要素を用いて、そのようなClockReferenceStreamを参照できる。それにもかかわらず、OCR#ES#IDを用いる基本ストリーム間を循環して参照することは許可されていないことに注意されたい。
【0161】
自動化層上では、SLレベルでパッケージ化されたストリームに対してSLパケット用ヘッダのシンタックスを構成することによって、ClockReferenceStreamを実行して、OCRResolution及びOCRLengthの必要なOCR値のみがSLパケット用ヘッダの中に存在するようにする。
【0162】
SLパケットのチャージは、streamType = ClockReferenceStreamのパッケージ化されたSLストリームの中に存在しない。
【0163】
クロック基準ストリームに関するDecoderConfigDescriptorの中で、ObjectTypeIndicationを「0xFF」、1の間のhasRandomAccessUnitsOnlyFlag、及び「0」の間のbufferSizeDBの上に配置する必要がある。
【0164】
クロック基準ストリームのSL設定記述子に対する推奨値を以下に示す。
【0165】
表8は、ClockReferenceStreamのSL設定記述子のパラメータのSL設定記述子の値を示している。
【0166】
【表8】

【0167】
同じ時間ベースのオブジェクトを共有する基本ストリームに関する制約
時間ベースのオブジェクトをOCR#ES#IDにより幾つかの基本ストリームの間で共有できる場合、下記のように、これらの基本ストリームへのアクセス及びそれらの処理に関する多数の制約が存在する。
【0168】
幾つかの基本ストリームが単純な時間ベースのオブジェクトを共有する場合、端末は集積されたクロック基準情報のない基本ストリームを、例えアクセス可能であっても、オブジェクトのクロック基準情報を伝送する基本ストリームがアクセス可能になるまで使用してはならない。
【0169】
集積されたクロック基準情報のない基本ストリームを、オブジェクトのクロック基準情報を伝送する基本ストリームの後で端子が利用可能になる場合、それを他のストリームと同期して配信する必要がある。このことは、時間ベースのオブジェクトの現在の値に依存するそのようなストリームを最初から配信してはならないことを意味することに注意されたい。
【0170】
オブジェクトのクロック基準情報を伝送する基本ストリームが利用できなくなる場合、又は他の場所で(例えば、待機モードで)使用される場合、同じ時間ベースのオブジェクトを使用する他の全ての基本ストリームはこの方式に従う必要がある、すなわち、それらは使用不可能になるか又は同じ方向で処理される必要がある。
【0171】
集積されたオブジェクトのクロック基準情報がない基本ストリームが利用不可能になっても、これは時間ベースのオブジェクトを共有する他の基本ストリームには影響を与えない。
【0172】
クロック基準及びタイムスタンプの値に対する構成オプションの使用
時間ベースのオブジェクトの再生における曖昧性の解決
objectClockReferenceの値の長さが限定されているために、これらのタイムスタンプは曖昧なことがある。OTBの時間の値は、下記の式に基づいて、objectClockRferenceがSLパケット用ヘッダに送信されるたびに再構成することができる。
tOTB#reconstructed = (objectClockReference / SL.OCRResolution) + k*(2SL.OCRLength / SL.OCRResolution)
ここで、kはループの数を示す整数の値である。結果として生じた時間ベースのtOTB#reconstructedは、秒で測定される。
【0173】
基本ストリームに対する最初のobjectClockReferenceが承認されると、kの値を1に設定する必要がある。後に続くobjectClockReferenceが現れるたびに、kの値は下記のように推定される。
【0174】
端末は、各瞬間に時間ベースのオブジェクトの値を推定するために、リソースを理解しなければならない。
【0175】
objectClockReferenceが受信されるたびに、OTBのtOTB#estimatedの現在の推定値をサンプリングする必要がある。これにより、tOTB#res(K)はkの様々な値に対して評価される。持続時間│tOTB#estimated- tOTB#rec(k)│を最小にするkの値は、tOTB#reconstructedに対する正しい値と考える必要がある。この値は、時間ベースのオブジェクトの予測機構に対する新しく貢献するものとして使用する必要がある。
【0176】
アプリケーションは、objectClockReferenceの要素に対して適当な長さ及び解像度を選択すること、並びに基本ストリームの中のobjectClockReferenceの挿入値に対して十分に高い周波数を選択することによって、この方式がkに対して曖昧でない値を確実に発生するようにしなければならない。この値に対する選択は、SLパケットに関する配信ジッタ(delivery jitter)及び端末とレシーバのクロック間の最大予想遅れに依存する。
【0177】
タイムスタンプの再生における曖昧性の解決
decodingTimeStamp及びcompositionTimeStampの値の長さが制限されていることにより、これらのタイムスタンプは、下記の式で示すように、曖昧になることがある。
Tts(m)=(TimeStamp/SL.timeStampResolution)+ m * (2SL.timeStampLength/SL.timeStampResolution)
ここで、TimeStampはdecodingTimeStamp又はcompositionTimestampのいずれかであり、mはループの数を示す全体の値である。
【0178】
タイムスタンプの正しいttimestampの値は、以下のように推定することができる。
TimeStampが受信されるたびに、OTBのtOTB#estimatedの現在の推定値をサンプリングする必要がある。tts(m)は、mの様々な値に対して評価される。期間│ tOTB#estimated- tts(m)│を最小にするmの値は、ttimestampに対する正しい値と考えられる。
【0179】
アプリケーションは、時間事象の曖昧でない位置決めに関する要求事項に適合するために、各個別の基本ストリームに対して、タイムスタンプの長さ及び解像度を独立に選択することができる。この選択は、TimeStampが示した時点の後で、TimeStampが付いたSLパケットを送ることができる最大の時間及び時間の位置決めに関する要求された精度に依存する。
【0180】
オブジェクトのクロック基準及びタイムスタンプの使用に関する注釈
オブジェクトベースの時間の時系列により、/SL.OCRResolutionよりも大きい2つの別個の瞬間を区別することができる。アプリケーションが基本ストリームの組を同期化するために必要な精度を得ることができるように、十分に大きな寸法でOCRResolutionを選択する必要がある。
【0181】
タイムスタンプ及び構成スタンプ(composition stamp)により、/SL.timeStampResolutionよりも大きく分離した2つの個別の瞬間を区別することができる。アプリケーションが所定の基本ストリームに対するアクセスユニットを得るという点で必要とする精度を得ることができるように、十分に大きな寸法を用いてtimeStampResolutionを選択する必要がある。
【0182】
OCRResolutionよりも大きいTimeStampResolutionでは、事象間の最良の区別を得ることはできない。TimeStampResolutionがOCRResolutionよりも小さい場合、この特定のストリームについての事象は、この与えられたOCRResolutionでは可能な最大の精度を得ることはできない。
【0183】
OCRLengthのパラメータは、SLヘッダの構成の中で示される。2SL.OCRLength/SL.OCRResolutionは、ループする前にobjectClockReferenceのカウンタによってカバーされた時間間隔である。全ての基本ストリームに対して時間事象の曖昧でない位置決めを行うというアプリケーションの要求に適合するために、十分大きなOCRLengthを選択しなければならない。
【0184】
アプリケーションが上記のように定義されたk値を知る場合、OTBの時系列は各時間の値に対して明らかになっている。アプリケーションがkの要素を再構成できない場合、例えば、追加の情報なしでランダムアクセスを可能にするアプリケーションの場合は、OTBの時系列はモード2SL.OCRLength/SL.OCRResolutionに対して曖昧にされる。このため、このOTBを参照する各タイムスタンプは曖昧である。それにもかかわらず、予想された最大ジッタ及びアクセスユニットをデコードする前に送ることができる持続時間に関する制約は、その知識を用いるようなアプリケーションの環境の中では、明瞭であると考えることができる。
【0185】
2SL.OCRLength / SL.OCRResolutionよりも大きい時間間隔2SL.timeStampLength/ SL.timeStampResolutionを選択する基本ストリームは、曖昧でない方法で、2つの時間間隔の最小の時間事象だけを得ることができることに注意されたい。
【0186】
場合によっては、k及びmを正しく推定できない場合、バッファモデルを超える可能性がある。このことは、デコーダにより予期しない動作及び結果を招くことになる。
【0187】
例えば、1msの精度で基本ストリームを同期化したいと望むアプリケーションを考える場合、OCRResolutionを1000以上に選択する必要がある(これにより、2つの連続したOCTパルス間の時間は1msとなる)。OCRResolution=2000と仮定できる。
【0188】
アプリケーションは、STBとOTBとの間のジッタを0.1%(すなわち、秒当たり1ms)と仮定する。このため、クロックを少なくとも秒ごとに調整する必要がある(すなわち、最悪のシナリオでは、クロックは精度の制約により1ms外れる)。objectclockReferenceは1秒ごとに送られると仮定できる。
【0189】
アプリケーションが、要素kを再構成する必要なしに24hの明瞭なOTBの時系列を持ちたいと思うことがある。このため、OCRLengthは、結果として、2SL.OCRLength/SL.OCRResolution=24hのように選択される。
【0190】
ここで、アプリケーションが、基本ストリーム内の事象を10msの精度以外に同期化することを望むと仮定する。TimeStampResolutionを100以上に選択する必要がある(これにより、TimeStampの2つの連続したパルス間の時間は10msに等しい)。TimeStampResolution=200であると仮定する。
【0191】
アプリケーションは、デコーダ又は構成時間の前に最大1分でアクセスユニットを送りたいと希望する。このため、timeStampLengthは、2SL timeStampLength/SL.timeStampResolution=2 minutesのように選択される。
【図面の簡単な説明】
【0192】
【図1】本発明に基づいた、データストリームの別のデータストリームに関する従属処理の原理を示す図である。
【図2】時間がずれたセッションの形式で、ストリームを同報通信する場合及び2つの端末が受信する場合に、本発明の実現を示す図である。
【図3】ストリームユニットのデコーディング又は解読にリンクされた同期の実例を示す図である(IPMP)。
【図4】2つの保護点(デコーディング及び廃棄)を有する、図3の別の実例を示す図である。

【特許請求の範囲】
【請求項1】
データストリームを構成するストリームユニットの少なくともいくつかが、あるデータストリーム中又は端末が先に受信している他のデータストリーム中の少なくとも1つのストリームユニットであって、必要先行ユニットと呼ばれるストリームユニットを指す少なくとも1つのポインタを含み、該必要先行ユニットが受信されていない場合は、前記ストリームユニットの処理が前記端末において実行されないことを特徴とするストリームユニットに編成された少なくとも1つのデータストリームを少なくとも1つの端末に送信する送信方法。
【請求項2】
別々に送られる少なくとも2つのデータストリームの送信を含み、
第1のデータストリームの1つのストリームユニットは、少なくとも第2のデータストリームの少なくとも1つの必要先行ユニットを指し示し、
第1のデータストリームの前記ストリームユニットは、それ自体又は前記第2のデータストリームに含まれるデータの充実化データを含む、
ことを特徴とする請求項1に記載の送信方法。
【請求項3】
前記データストリームが階層符号化の異なる階層レベルに対応し、
所与の階層レベルのストリームユニットの処理は、対応する下位の階層レベルのストリームユニットが受信された場合にのみ実行されることを特徴とする請求項2に記載の送信方法。
【請求項4】
前記ストリームユニットが、必要先行ユニットのシーケンスを定義する少なくとも1つの先行データユニットを指し示すことを特徴とする請求項2又は3に記載の送信方法。
【請求項5】
前記ポインタの少なくとも1つが、検討されるストリームユニットのデコード及び/又は解読を可能にするデータを含む少なくとも1つの必要先行ユニットを得られるようにすることを特徴とする請求項1〜4のいずれかに記載の送信方法。
【請求項6】
検討されるストリームユニットのデータをデコード及び/又は解読して、デコードの後に表示する必要があるかどうかを端末が決定できるようにするデータを前記必要先行ユニットが含むことを特徴とする請求項5に記載の送信方法。
【請求項7】
前記ポインタの少なくとも1つが、前記端末が知り得るデータを指し示して、前記端末が対応するデータストリームを処理することができるかどうかを決定できるようにすることを特徴とする請求項1〜6のいずれかに記載の送信方法。
【請求項8】
前記ストリームユニットの少なくとも1つが、前記データストリーム又は続いて受信される別のデータストリームの少なくとも1つのストリームユニットを指し示す少なくとも1つのポインタを含むことを特徴とする請求項1〜7のいずれかに記載の送信方法。
【請求項9】
後に受信されうる前記ストリームユニットが、前記ポインタとリンクするためのマーカを有することを特徴とする請求項8に記載の送信方法。
【請求項10】
異なる時間に送信される少なくとも2つの同様なストリームユニットに含まれるポインタが、後に受信されうる同じストリームユニットを指し示すことを特徴とする請求項8又は9に記載の送信方法。
【請求項11】
検討されるストリームユニットを考慮できるようにするために、デコードする必要がある少なくとも1つの先行するストリームユニットを指し示すことと、
検討されるストリームユニットをデコード及び/又は解読するために必要なデータを含む少なくとも1つの先行するストリームユニットを指し示し、及び/又は保護システムのステータスへの参照を指し示すことと、
少なくとも1つの後続するストリームユニットを指し示すことと
を含むグループに属する2つの役割の中からのポインタの役割を指定するインディケータを実現することを特徴とする請求項1〜10のいずれかに記載の送信方法。
【請求項12】
前記ストリームユニットの少なくとも幾つかが、前記役割を定義する従属記述子を含むことを特徴とする請求項11に記載の送信方法。
【請求項13】
前記ストリームユニットの少なくとも幾つかが、必要先行ユニットとして自己を識別することができるようにする従属マーカを含むことを特徴とする請求項1〜12のいずれかに記載の送信方法。
【請求項14】
前記ストリームユニットの少なくとも幾つかが、前記ストリームの中に前記ストリームユニットの識別マーカを含むことを特徴とする請求項1〜13のいずれかに記載の送信方法。
【請求項15】
受信されたストリームユニットの先行する処理を必要としないような同期レベルで実行されることを特徴とする請求項1〜14のいずれかに記載の送信方法。
【請求項16】
請求項1から15のいずれかの送信方法に基づいて送信されたデータストリーム。
【請求項17】
少なくとも1つの端末に送信され及び/又は少なくとも1つの端末から受信され、また一方から他方へ別個に送信されるストリームユニットに編成されたデータストリームであって、
前記ストリームユニットの少なくとも幾つかが、必要先行ユニットと呼ばれる、前記データストリーム中又は先に前記端末により受信されている別のデータストリーム中の少なくとも1つのストリームユニットを指し示す少なくとも1つのポインタを含むことにより、前記ストリームユニットの処理は、前記必要先行ユニットが受信されていない場合は前記端末では実行されないことを特徴とするデータストリーム。
【請求項18】
前記ストリームユニットの少なくとも幾つかが、必要先行ユニットと呼ばれる、前記データストリーム中又は先行して端末で受信されている別のデータストリーム中の少なくとも1つのストリームユニットを指し示す少なくとも1つのポインタを含むことを特徴とする互いに独立して送信されたストリームユニットに編成された少なくとも1つのデータストリームの形式で、少なくとも1つの端末に送信されるように作成されたデータ用のサーバ。
【請求項19】
互いに独立して送信されたストリームユニットに編成された少なくとも1つのデータストリームを受信できる端末であって、
前記ストリームユニットの少なくとも幾つかが、必要先行ユニットと呼ばれる、前記データストリーム中又は端末により先に受信されている別のデータストリーム中の少なくとも1つのストリームユニットを指し示す少なくとも1つのポインタを含むことを特徴とする端末。
【請求項20】
ストリームユニットに編成され、互いに独立して送信された少なくとも1つのデータストリームの受信方法であって、
前記ストリームユニットの少なくとも幾つかが、必要先行ユニットと呼ばれる、前記データストリーム中又は端末により先に受信されている別のデータストリーム中の少なくとも1つのストリームユニットを指し示す少なくとも1つのポインタを含むことを特徴とする受信方法。
【請求項21】
前記ポインタの少なくとも1つが必要先行ユニットと呼ばれる、前記データストリーム中又は端末により先に受信されている別のデータストリーム中の少なくとも1つのストリームユニットを指し示し、次のステップ、すなわち、
ストリームユニットの前記ポインタを分析するステップと、
前記必要先行ユニットが受信されている場合は、前記ストリームユニットを処理するステップと
を含むことを特徴とする請求項20に記載の受信方法。
【請求項22】
ユーザが選択したプログラムにアクセスする前に、メッセージをシステマチックに同報通信することと、
条件に基づいてプログラムの特定の品質レベル及び/又は特定のオプションにアクセスをすることと、
対話型のテレビと
を含むグループに属するアプリケーションの1つとして行う請求項1から15のいずれかに記載の送信方法の使用。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−187381(P2010−187381A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2010−44325(P2010−44325)
【出願日】平成22年3月1日(2010.3.1)
【分割の表示】特願2003−575634(P2003−575634)の分割
【原出願日】平成15年3月7日(2003.3.7)
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】