説明

ビットストリームを記述するファイルを生成する方法、対応する装置及びコンピュータプログラムプロダクト

本発明では、ビットストリームを記述するファイルを生成する方法、対応する装置及びコンピュータプログラムプロダクトを開示する。本発明は、所定のフォーマットに準拠した構造及び内容を記述し属性及び要素の組を含む記述スキーム(15)から、複数個のフィールドで構成されているビットストリーム(11)の記述ファイル(14)を生成する方法に関する。本発明によれば、このような方法は、ストリームのうちの少なくとも1個の識別されたフィールドの少なくとも1個の値を、割り当て属性と呼ばれる記述スキームの属性によって定義された少なくとも1個の変数に割り当てるステップと、前記変数を格納するステップと、前記値に関係する条件式の評価から、記述ファイルのうちの少なくとも1個の要素の少なくとも1個の特性を決定するステップと、決定ステップにおいて決定された特性に従って記述ファイルの一部を生成するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル通信の分野に関する。特に、インターネットによる通信の分野に関する。
【0002】
本発明は、複数個のフィールドによって形成されたビットストリームの統語解析中におけるパラメータのインスタンス化に関する。より具体的には、このビットストリームの記述のインスタンス化に関する。
【0003】
本発明は、特に、マルチメディアビットストリームの統語解析に適用され得る。しかし、これに限られることはなく、特に、ユーザのプロファイル(スクリーン、計算能力、記憶容量、伝送のため使用されるリンクなど)に従って受信者へ伝送されるべきスケーラブルマルチメディアコンテンツのマッチングに用途が見出される。このようなマッチングは、特に、受信者によって使用される可能性のない不必要なデータの伝送を回避し、その結果、帯域幅を節約するために使用される。
【0004】
以下、本文書の全体を通じて、用語「マルチメディアコンテンツ」が、オーディオ、ビデオ、イメージ、又は他のタイプのビットストリームを意味するように理解されることは特に明記されなければならない。
【0005】
本発明は、特に、ISO/IEC 21000−7(MPEG−21 パート7:デジタルアイテムアダプテーション)標準に記載されているようなBSDL(ビットストリーム文法記述言語)に適用される。
【0006】
より具体的には、BDSL言語は、W3C(ワールドワイドウェブコンソーシアム)によって特定されたXMLスキーマ(拡張マークアップ言語スキーマ)の拡張である。2004年10月付けのXMLスキーマ勧告は、特に、インターネットサイトhttp://www.w3.org/TR/xmlschema−1/及びxmlschema−2/で入手可能である。このように、BSDLは、所与のフォーマットに従うビットストリームの文法を記述するためにXML文法を定義する。
【背景技術】
【0007】
2.1 BSDL言語
簡単さ及び明瞭さのため、以下では、ビットストリームの文法について説明するため、BSDL言語の使用に関する従来技術の詳細な説明だけが与えられる。
【0008】
図1を参照して、ソースビットストリーム11からアダプテーション後のビットストリーム12を生成するためにBSDL言語を使用する実施例が想起される。
【0009】
このために、上述されているように、BSDLは、所与のフォーマットに準拠したビットストリームの文法を記述するためにXML文法を定義する。この記述は、「ビットストリーム文法記述」すなわちBSDと呼ばれる。
【0010】
より具体的には、ソースBSD14として参照されるソースビットストリーム11のための記述ファイルは、ソースビットストリーム11を解析し、ソースビットストリームの記述をインスタンス化するために使用されるBintoBSDと呼ばれる第1のプロセッサ13を使用することによって得られる。
【0011】
ソースビットストリームのためのXML記述ファイルは、その後に、XSLT(拡張可能スタイルシート言語変換)言語16を使用することにより、変換後BSD17と呼ばれる別のXML記述ファイルに変換される。
【0012】
適合後ビットストリーム12は、その後に、変換後BSD記述17を読み取り、かつ、対応する適応後ビットストリームを生成することを可能にさせるBSDtoBinと呼ばれる第2のプロセッサ18を使用することにより得られる。
【0013】
このために、これらの2台のプロセッサBintoBSD13及びBSDtoBin18は、所与のフォーマットの構造と、このフォーマットによって定義されたテーブルのタイプとを定義する「ビットストリーム文法スキーマ」すなわちBSスキーマ15と呼ばれるXML文書を使用する。
【0014】
ビットストリームの読み出しと、このビットストリームのBSD記述ファイルの生成を可能にする第1のBintoBSDプロセッサ13の作業のより厳密な記述が以下に与えられている。
【0015】
このプロセスは漸進的であることが特に想起される。すなわち、ビットストリームの現在点(換言すると、ビットストリームの読み出し中の時点t)で、既に読み出されているすべてのフィールドは部分的にインスタンス化されたBSD記述ファイルによって記述されている。
【0016】
本文書中、以下では、用語「下流」は、ビットストリームのうち既に読み出された(したがって、部分的にインスタンス化されたBSD記述に既に記述されている)部分を指し、用語「上流」は未だ読み出されていない部分を指す。
【0017】
より具体的には、ビットストリーム読み出しプロセス中に、ビットストリームのフィールドのタイプ、出現回数、及び/又は、サイズが、特に、ビットストリーム内の下流又は上流に存在する別のフィールドの値によって決定されることは一般的である。
【0018】
従来技術によれば、BSDL言語は、ビットストリーム内の現在位置の下流に位置しているか、又は、上流に位置しているかに依存して、このような種類のフィールドを参照する2つの方法を定義する。
【0019】
1.このような種類のフィールドが現在フィールドから下流に位置しているとき、このフィールドは既に読み出されているので、この下流フィールドの値は部分的にインスタンス化されたBSD記述ファイル内に存在している。BSDL言語は、したがって、このフィールドに対応するXML要素を参照するために使用される。このために、BSDLは、1999年11月付けのW3Cの勧告に記載されているようなXPath言語(インターネットサイトhttp://www.w3.org/TR/xpathで入手可能であるXMPパス言語、バージョン1.0、W3C勧告16)を使用し、より具体的には、このフィールドに対応するXML要素を見つけるパスを使用する。XPath言語は、算術演算及び論理演算と、関数と、定数と、変数と、ロケーションパスとを利用する式の詳述を可能にさせる式言語であることが想起させられる。「LocationPath」として参照されるロケーションパスは、このようにして、XML文書中の要素及び属性のようなノードの組の位置を指定することを可能にする。したがって、この種類のパスが現在フィールドから下流に位置しているとき、BSDLは、部分的にインスタンス化されたBSD内の要素を参照するためにXPathロケーションパスを使用する。
【0020】
2.この種類のフィールドが現在フィールドの上流に位置しているとき、このフィールドは部分的にインスタンス化されたBSD記述ファイル内に未だ存在しない。このフィールドは、その後に、ビットストリーム内でのこのフィールドのロケーションによって参照される。この場合、上流に存在するフィールドは、一般に、ビットストリーム内で現在位置の近くに位置し、したがって、読み出しバッファ内に存在することが想起される。
【0021】
BSDL言語は、したがって、フィールドがビットストリームの読み出しの現在位置に対して上流に位置しているか、下流に位置しているかに依存してフィールドの数種類の使用を指定することを可能にする。
【0022】
例えば、BSDLは、下流フィールドの値が、特に、読み出されるべきフィールドがビットストリーム内で読み出されるべき回数に対応していることと、読み出されるべきフィールドに対応する要素の出現回数と、読み出されるべきフィールドのサイズと、読み出されるべきフィールドのタイプと、その他とを指定するために使用されることを可能にする。
【0023】
このために、BSDLは、ロケーションパスを経由して下流に位置しているこの1個以上のフィールドへの参照を含み得るXPath式を使用する。このXPath式は部分BSDに作成された要素を参照して評価され、XPath式の評価は、場合によっては、ブール値(真又は偽)、又は、整数を与えることがある。
【0024】
フィールドが上流であるとき、使用の可能性は、これに反して、これらの従来技術の技法では遙かに小さい。偶然に、BSDLは、要素をインスタンス化するかどうかを決定するためだけに上流フィールドを使用する。したがって、XML文書「BSスキーマ」(15)内の要素の宣言に適用される属性bs2:ifNextは、場合により、属性bs2:lookAhead及びbs2:iNextMaskと組み合わされて、属性が参照する要素は上流フィールドが所定の値を有する場合に限りインスタンス化されることを指定する。
【0025】
2.2 従来技術の欠点
残念ながら、ビットストリームのための記述ファイルのインスタンス化のため現在使用されている技法は2つの主要な欠点を伴っている。
【0026】
したがって、ストリームの読み出し中に、現在位置から下流に位置しているビットストリームのフィールドの使用のため、BSDL言語は、上述されているように、これらのフィールドを参照するためにXPathロケーションパスの使用に依存している。ここで、このXPathロケーションフィールドを評価できるように、BintoBSDプロセッサ13は、部分的にインスタンス化されたBSD記述ファイルをこのプロセッサのメモリに格納しなければならない。ここで、この記述ファイルのサイズはビットストリームの読み出し中に増加することに注意しなければならない。
【0027】
その結果、下流フィールドのためのこの従来技術の技法の1つの主要な欠点は、ビットストリームが大きいときに膨大になり、ビットストリームが連続的に生成されるときに特に膨大になることがあるメモリ消費に由来する。これは、例えば、連続的に符号化されるビデオ番組(進行中に符号化されるビデオ)の場合である。
【0028】
実際には、メモリリソースの高い消費量は、特に、インスタンス化技法の性能に低下を引き起こすことがあり、インスタンス化技法が機能しなくなるようにすることさえある。
【0029】
さらに、ストリームの読み出し中に、現在位置に対して上流に位置しているビットストリームのフィールドの使用のため、BSDL言語は、これらのフィールドの使用を要素のインスタンス化のテストに制限する。
【0030】
下流フィールドのためのこの従来技術の技法の1つの主要な欠点は、上流フィールドによって決定される、読み出されるべきフィールドの特性、例えば、フィールドのサイズを考慮に入れていないことである。この従来技術の技法において、BSDL言語を用いてこれらの特性を指定することは実際に不可能である。
【0031】
2.3 代替的な従来のアプローチ
下流フィールドのための部分BSDの記憶の際の高いメモリ消費量に関係した欠点を解決するために、一つの代替的な解決策が、Ghent大学によってcontribution MPEG M12217(ISO/IEC JTC1/SC29/WG11 MPEG2005/M12217, “Context−related attributes for MPEG−21 BSDL”, Davy De Schrijver, Wesley De Neve, and Rik Van de Walle, July 2005, Poznan, Poland)に提案されている。
【0032】
このアプローチは、特に、XPath式を評価するために必要とされるBSD記述ファイルの一部分だけを記憶するために使用される。
【0033】
しかし、このアプローチには多数の欠点がある。
【0034】
したがって、この従来の解決策は、BSDの一部分(実際には、古典的に、サブツリー)が格納されることを常に必要とする。このことは、このサブツリーのある種の要素の値だけがXPath式によって使用されるのに反して、メモリを不必要に消費する。
【0035】
さらに、下流フィールドはXPathロケーションパスによって常に参照され、XPathロケーションパスの評価は計算リソースを使用する。
【0036】
最後に、この従来技術の技法は、要素のインスタンス化のテストに関して、上流に位置しているフィールドの使用の制限に関係した欠点に対処するために使用されない。
【発明の開示】
【0037】
本発明は、所定のフォーマットに準拠した構造及び内容を記述し属性及び要素の組を含む記述スキーマから、複数個のフィールドで構成されているビットストリームを記述するファイルを生成する方法の形式で、従来技術のすべての欠点を有さないアプローチを提案する。
【0038】
本発明によれば、本方法は、前記ストリームのうちの少なくとも1個の識別されたフィールドの少なくとも1個の値を、割り当て属性と呼ばれる前記記述スキーマの属性によって定義された少なくとも1個の変数に割り当てるステップと、前記少なくとも1個の変数を格納するステップと、前記少なくとも1個の値に関係する条件式の評価から、前記記述ファイルのうちの少なくとも1個の要素の少なくとも1個の特性を決定するステップと、前記決定ステップ中に決定された前記特性の関数として前記記述ファイルの一部を生成するステップとを含む。
【0039】
したがって、本発明は、少なくとも1個の変数が記述スキーマ内に定義され、この変数が記述スキーマの属性を用いてビットストリーム内で識別されたフィールドの値を有する、記述ファイルを生成する完全に新規性及び進歩性のあるアプローチに依存している。
【0040】
この識別されたフィールドは、ビットストリームが読み出される方向に関連して、ビットストリームの読み出されるべきフィールドに対して下流又は上流に位置しているフィールドに原則的に対応することがある。
【0041】
したがって、本発明によれば、この変数が記憶されるので、その後に、読み出されるべきフィールドの特性、すなわち、読み出されるべきフィールドに対応する記述ファイルの要素の特性を決定することが可能である。
【0042】
したがって、変数内の読み出されるべきフィールドの上流及び下流に位置しているあるフィールドの値を参照する際、及び読み出されるべきフィールドのある特性を決定するためにこれらの変数に格納された値を使用する際に、本発明による生成方法を実施するプロセッサの一部で、メモリリソースの消費及び処理時間が最適化される。
【0043】
特に、提案されている技法は、使用される符号化フォーマットから独立しているので汎用的な技法であり、所定のフォーマットに従って、ビットストリームの構造及び内容を定義するのは記述スキーマであることに注意を要する。
【0044】
一つの特有の特徴によれば、割り当て属性は、少なくとも前記変数を含む少なくとも1個のパラメータを含む。
【0045】
各パラメータは、したがって、ビットストリームの識別されたフィールドの値が格納されている少なくとも1個の変数を有する。識別されたフィールドの値は、したがってこの変数の名前を用いて記憶され参照される。
【0046】
一つの特定の実施形態によれば、特に考慮されているのは次の点である。割り当て属性のパラメータは、識別されたフィールドが読み出されるべきフィールドの下流に位置しているとき、識別されたフィールドの値が格納されている変数だけを含むことと、割り当て属性のパラメータは、識別されたフィールドが読み出されるべきフィールドの上流に位置しているとき、識別されたフィールドの値、及び上流フィールドのロケーションでの少なくとも1個の情報が格納されている変数だけを含むこととである。
【0047】
本実施形態によれば、識別されたフィールドがビットストリームの読み出し方向に対してビットストリームのうちの読み出されるべきフィールドの上流に位置しているフィールドに対応するとき、割り当て属性の少なくとも1個のパラメータは、前記変数と、前記ビットストリーム内のフィールド開始位置と、前記ビットストリーム内のフィールド終了位置と、前記ビットストリーム内のフィールド長とを含む群に属している識別に関する少なくとも2個の情報とを含むトリプレットを含み、前記識別に関する情報が前記識別されたフィールドが識別できるようにする。
【0048】
したがって、各パラメータは、ビットストリーム内の上流フィールドのアドレスを識別するために特に使用され得る2個の値と、このフィールドの値を格納する1個の変数とを有するトリプレットを有する。したがって、上流フィールドが読み出され、この上流フィールドの値が変数として参照される記憶メモリに格納されている。
【0049】
例えば、識別されたフィールドは、前記開始位置で始まり、前記フィールド長を表すフィールド、又は、前記開始位置で始まり、前記終了位置で終わるフィールドなどに対応している。
【0050】
識別されたフィールドが、ビットストリームが読み出される方向に対してビットストリームのうちの読み出されるべきフィールドから下流に位置しているフィールドに対応しているとき、前記識別されたフィールドは、前記ビットストリーム内で読み出されているフィールドに対応している。
【0051】
下流フィールドの値は、したがって、読み出された直後に格納され、変数として参照される。
【0052】
特に、評価ステップは記述スキーマ内の前記変数を参照する。
【0053】
前記変数は、したがって、識別されたフィールドの値を取り出し、記述ファイル中の少なくとも1個の要素のある特性を決定する条件式をテストするためこの値を使用するため、変数の名前によって直接的に呼び出される。
【0054】
例えば、前記少なくとも1個の特性は、少なくとも、要素のタイプと、要素の長さと、要素の出現回数とを含む群に属している。
【0055】
要素の出現回数は0に等しくてもよいことに特に注意を要する。したがって、要素の有無をテストすることが可能である。
【0056】
本発明の一つの特有の特徴によれば、ビットストリームはスケーラブルマルチメディアストリームである。本発明は、したがって、例えば、スケーラブルマルチメディアコンテンツのアダプテーションに適用される。
【0057】
一つの特定の実施形態によれば、記述ファイルは、ビットストリーム文法記述タイプであり、前記記述スキーマは、MPEG−21のパート7の標準に従うビットストリーム文法スキーマタイプである。したがって、BSDL言語がビットストリームの文法を記述するために使用される。
【0058】
別の実施形態では、本発明は、所定のフォーマットに準拠した構造及び内容を記述し、属性及び要素の組を含む記述スキーマから、複数個のフィールドによって形成されたビットストリームを記述するファイルの生成のための装置に関する。
【0059】
本装置は、前記ストリームのうちの少なくとも1個の識別されたフィールドの少なくとも1個の値を、割り当て属性と呼ばれる前記記述スキーマの属性によって定義された少なくとも1個の変数に割り当てる手段と、前記少なくとも1個の変数を格納する手段と、前記少なくとも1個の値に関係する条件式の評価から、前記記述ファイルのうちの少なくとも1個の要素の少なくとも1個の特性を決定する手段と、前記決定ステップ中に決定された前記特性の関数として前記記述ファイルの一部を生成する手段とを含む。
【0060】
このような装置は、上述されているようなビットストリームを記述するファイルを生成する方法の実施に特に適している。
【0061】
本発明の別の態様は、通信ネットワークからダウンロード可能であり、及び/又は、コンピュータ読み取り可能な記録担体に記録され、及び/又は、プロセッサによって実行可能であり、プログラムがコンピュータ上で実行されるときに、上述されているように記述ファイルを生成する方法のステップの実行のためのプログラムコード命令を含む、コンピュータプログラムプロダクトに関する。
【0062】
本発明の実施形態のその他の特徴及び利点は、簡単な例示的かつ非限定的な実施例の目的で与えられた以下の特定の実施形態の説明と、添付図面とにより明瞭になる。
【発明を実施するための最良の形態】
【0063】
5.1 一般原則
本発明は、ビットストリームの統語解析及び記述スキーマからビットストリームを記述するファイルの生成を可能にする。
【0064】
この種のスキーマは、所与のフォーマットの構造と、このフォーマットによって定義されるフィールドのタイプを定義するために使用されることが特に想起される。したがって、提案された解決策は、符号化フォーマットが記述スキーマによって与えられるので、符号化フォーマットとは独立している。
【0065】
本発明の一般原則は、各パラメータが、ビットストリームの識別されたフィールドの値が格納される少なくとも1個の変数を含む1個以上のパラメータを備える少なくとも1個の割り当て属性を記述スキーマ中で使用することに依存している。この識別されたフィールドの値は、特に、ビットストリームの読み出されるべきフィールドに対応する記述ファイルの要素の特性を決定するために使用される。
【0066】
例えば、このような割り当て属性は、読み出されるべきフィールドの少なくとも1個の特性が下流フィールドと呼ばれるビットストリーム内の下流に存在する別のフィールドの値によって決定されるとき、「AssignPost」として記載され、読み出されるべきフィールドの少なくとも1個の特性が上流フィールドと呼ばれるビットストリーム内の上流に存在する値によって決定されるとき、「AssignPre」として記載される。
【0067】
用語「特性」は、ここで、フィールドに対応する要素のタイプ、出現回数、及びサイズなどを意味するために使用されることに注意を要する。
【0068】
したがって、読み出されるべきビットストリームのフィールドに対応する要素の特性が下流フィールドの値によって決定されるとき、ビットストリームの下流フィールドは、デジタルストリームのフォーマットを指定する記述スキーマによって搬送される情報に従って読み出され、読み出された値が(名前によって参照される)変数に割り当てられ、この値が読み出されるべきフィールドに対応する記述ファイルの要素の少なくとも1個の特性を決定する式をテストするために使用される。
【0069】
読み出されるべきビットストリームのフィールドに対応する要素の特性が上流フィールドの値によって決定されるとき、識別されたストリームの上流フィールドが(例えば、ビットストリーム内の上流フィールドの位置を用いて)読み出され、値が(名前によって参照される)1個以上の変数に割り当てられ、この値が読み出されるべきフィールドに対応する記述ファイルの要素の少なくとも1個の特性を決定する式をテストするために使用される。
【0070】
本発明は、したがって、少なくとも1つの特定の実施形態では、従来技術のある種の欠点を解決するために、特に、ビットストリームの統語解析及びこのストリームのXML記述のインスタンス化によって必要とされるメモリ使用量を制限するために使用される。
【0071】
換言すると、本発明は、少なくとも一実施例によれば、読み出されるべきフィールドの少なくとも1個の特性を決定するため、ビットストリームの読み出し中にメモリ及び処理時間の消費とこれらのフィールドの値の使用とを最適化する際に、上流及び下流に位置しているフィールドの参照を可能にさせるアプローチを提案する。
【0072】
5.2 BSDL言語の使用
以下では、マルチメディアビットストリームの文法を記述するためのBSDL言語の使用に関係がある本発明の特定の実施形態が説明されている。
【0073】
当然ながら、本実施例は限定的ではなく、以下に詳述されている本発明の原理は他の言語を使用して実施されることがある。
【0074】
BSDLの使用という面において、ここに記載されている本発明の実施形態は、ビットストリームの読み出し及びビットストリームの記述のインスタンス化を可能にする、従来技術に関して提示されたBintoBSDプロセッサに対応するBSDL−2と呼ばれる言語の部分に関する。
【0075】
したがって、明瞭にするために、以下の説明は、所与の名前空間内で指定されたXML文法の要素を参照する接頭辞を含む表記法を使用する。すなわち、接頭辞bs2はBSDL−2によって定義された文法の要素を限定するために使用され、接頭辞bs1はBSDL−1によって定義された文法の要素を限定するために使用され、接頭辞xsはXMLスキーマによって定義された文法の要素を限定するために使用される。
【0076】
上述されているように、本発明の一般原則は、記述スキーマ内での、1個以上のパラメータを含む少なくとも1個の割り当て属性の使用に依存している。これらのパラメータは、BSスキーマ内で宣言され、読み出されるべきフィールドに対応する要素の特性が読み出されるべきフィールドの上流と下流のどちらに位置しているフィールド内で決定されるかに応じた2種類の方法でインスタンス化される。
【0077】
したがって、第1の事例では、パラメータは、「下流フィールド」と呼ばれる、読み出されるべきフィールドから下流に位置しているビットストリームのフィールドと関連付けられている。このパラメータは、特に、この下流フィールドの値を格納するために使用され得る少なくとも1個の変数を有する。下流フィールドの値は、その結果、それが読み出された直後に記憶され、変数の名前によって参照される。したがって、本発明のこの特定の実施形態では、XPathロケーションパスによってこの下流フィールドの値を参照できるようにするために、従来技術において必要とされているように、部分的にインスタンス化されたBSD記述ファイルを表現するサブツリー全体を保存する必要がない。
【0078】
第2の事例では、パラメータは、「上流フィールド」と呼ばれる、読み出されるべきフィールドから上流に位置しているビットストリームのフィールドと関連付けられている。この事例では、記述スキーマの割り当て属性は、それぞれが、変数と少なくとも2個の識別情報とを有し、トリプレットの形式で組み立てられている1個以上のパラメータを含んでいる。各パラメータは、したがって、特に、ビットストリーム内の上流フィールドのアドレスを識別するために使用される2個の値と、このフィールドの値を格納するために使用される1個の変数とを持っている1個のトリプレットを有する。上流フィールドは、その結果、読み出され、その値が変数の名前によって参照される記憶メモリに格納される。
【0079】
両方の事例において、下流フィールド又は上流フィールドが読み出されると、フィールドの値を格納する変数は、その後に、読み出されるべきフィールドに対応する要素の特性(出現回数、タイプ、サイズなど)を指定するXPath式で使用される。
【0080】
A)従来技術による下流の事例
以下では、図2、及び、本明細書の不可分の一部である別表1を参照して、従来技術のマルチメディアビットストリームの統語解析及び記述ファイル(BSD)の生成の技法を提示する。
【0081】
XML文書(記述スキーマ及びBSD記述ファイル)の実施例を有する別表1、2及び3において、コメントは、イタリック体であり、「<!−−」及び「−−>」のような文字によって囲まれていることを特に明記する。
【0082】
より具体的には、図2は、ビットストリーム21と、サブツリー22の形をした付随する部分BSD記述ファイルの表現との実施例を示している。
【0083】
本実施例では、ビットストリーム21は、値0×01、0×02、0×03などを連続的に搬送する。
【0084】
矢印23は、所与の時点tにおけるビットストリームの読み出し位置を示している。
【0085】
このようにして、上述されているように、フィールド24は、既に読み出され、下流部分として限定されたビットストリームの部分に対応し、フィールド25は、未だ読み出されていない、上流部分として限定されたストリームの部分に対応している。
【0086】
より具体的には、このストリームのフォーマットは、このストリームが1バイト長のフィールド24及び24と、場合によっては、第1のフィールド24の値が1に等しい場合に限り存在する第3のフィールド25とを収容することを示している。
【0087】
このように、別表1のパートAに提示された記述スキーマ(ビットストリーム文法スキーマ、すなわち、BSスキーマ)は、xs:符号無しバイトタイプの3個の要素el1、el2及びel3:
<xs:element name=“el1” type=“xs:unsignedByte”/>
<xs:element name=“el2” type=“xs:unsignedByte”/>
<xs:element name=“el3” type=“xs:unsignedByte” minOccurs=“0” bs2:if=“/el0/el1/=1”/>
を宣言する際にBSDL内でこのフォーマットを指定し、要素el3は任意的である(要素el3の出現回数は0に等しくてもよい)。
【0088】
要素el3の宣言に含まれている属性b2:ifは、XPath式「/el0/el1=1」を用いてこの要素の出現の条件を指定する。このXPath式は、要素el1を参照するロケーションパス「el0/el1」を特に使用している。
【0089】
この従来技術の技法によれば、プロセッサBintoBSDは、その結果、別表1、パートAに提示されているようなBSスキーマによって与えられた情報に従ってビットストリームを読み出し、プロセッサBintoBSDは、1バイトの長さを有する2個のフィールド24及び24を読み出し、BSD記述ファイル内の対応する要素el1及びel2をインスタンス化する。
【0090】
これらの要素のテキスト内容はフィールドの値に等しいことが特に想起される。
【0091】
別表1、パートBは、本実施例にしたがって、プロセッサBintoBSDが最初の2個のフィールド24及び24を読み出した後にインスタンス化されるようなビットストリームのBSD部分記述ファイルをさらに提示している。el3に対応している3番目のフィールドを読み出すべきであるかどうかを知るために、プロセッサBintoBSDは、次に、この部分記述に関連してXPath式「/el0/el1=1」を評価しなければならない。
【0092】
したがって、このテストを実行するために、プロセッサBintoBSDは部分的にインスタンス化されたBSDを記憶しなければならないことに注意すべきである。
【0093】
B) 本発明による「下流」の事例
今度は、図2、及び、本明細書の不可分の一部である別表2を参照して、本発明の特定の実施形態による、スケーラブルであることが有利であるマルチメディアビットストリームの統語解析及び記述ファイル(BSD)の生成の技法を提示する。
【0094】
本事例では、読み出されるべきビットストリームのフィールド25の特性(例えば、要素の出現の詳説)が、下流フィールドと呼ばれるビットストリーム内の下流に存在する少なくとも1個のフィールド、例えば、フィールド24の値によって決定されることが特に考慮されている。
【0095】
より具体的には、本発明のこの特定の実施形態では、(別表1、パートAに提示された従来技術の記述スキーマと等価的である)別表2、パートAに提示された記述スキーマ内の3個の要素el1、el2及びel3の宣言中に、1個の情報が、プロセッサBintoBSDが下流フィールドを読み出した後に下流フィールドの値を格納し、変数par1として記憶しなければならないことをプロセッサBintoBSDに通知する割り当て属性bs2:assignPostの形式で要素el1の宣言に付け加えられる。
【0096】
したがって、3個の要素el1、el2及びel3の宣言は、以下の通り行われる。
<xs:element name=“el1” type=“xs:unsignedByte” bs2:assignPost=“par1”/>
<xs:element name=“el2” type=“xs:unsignedByte”/>
<xs:element name=“el3” type=“xs:unsignedByte” minOccurs=“0” bs2:if=“$par1=1”/>
【0097】
したがって、本例では、割り当て属性assignPostは、par1という名前の変数を記述スキーマの要素el1に割り当て、下流フィールドの値を読み出した後に、この値を変数par1に格納するため使用される1個だけのパラメータを有する。
【0098】
本実施形態によれば、属性bs2:assignPostは、したがって、後で参照される変数の名前を含むパラメータを有する。
【0099】
要素el3の宣言中で属性bs2:ifによって使用されるXPath式は、その後に、式:“$par1=1”によって置き換えられる。
【0100】
XPath言語中の文法$par1はpar1という名前が付けられた変数を参照することが想起される。実際には、XPathは、$nameの形式で変数を参照するため文法を定義する。要素el3の出現の条件を指定するため使用される式は、したがって、XPath言語に常に準拠している。このことは、XPathに準拠しているプロセッサが式を評価することを可能にさせる。
【0101】
したがって、この式XPathを評価するため、BintoBSDプロセッサは、表されている部分BSDをもはや格納する必要はなく、参照先$par1の下でフィールド24の値だけを格納する必要がある。
【0102】
別表2、パートBは、式XPathが要素の出現回数に関する制約を指定する記述スキーマの別の実施例をさらに表している。
【0103】
要素の宣言は上述されている宣言と同じであるが、記述スキーマは、プロセッサBintoBSDが、変数par1の値プラス1に等しい回数に亘って要素el3をインスタンス化しなければならないことを示している。
<xs:element name=“el1” type=“xs:unsignedByte” bs2:assignPost=“par1”/>
<xs:element name=“el2” type=“xs:unsignedByte”/>
<xs:element name=“el3” type=“xs:unsignedByte” minOccurs=“0” bs2:nOccurs=“$par1 + 1” maxOccurs=“unbounded”/>
【0104】
最後に、別表2、パートCは、XPath表現が要素のタイプに関する制約を指定する記述スキーマの別の実施例を提示している。
【0105】
この場合も、要素el1、el2及びel3の宣言は、上述されている宣言と同じであるが、記述スキーマは、要素el3のタイプ(すなわち、16進数)が変数の値プラス1に等しい長さを有さなければならないことを提示する。プロセッサBintoBSDは、その結果、式:
bs2:length value=“$par1 + 1”によって指定された要素el3のある程度の個数のバイトを読み出す。
【0106】
C) 本発明による上流の事例
今度は、図3、及び、本明細書の不可分の一部である別表3を参照して、読み出されるべきビットストリームのフィールドの特性がビットストリーム内の上流に存在する少なくとも1個のフィールドの値によって決定される場合を考慮して、本発明の特定の実施形態による、スケーラブルであることが有利であるマルチメディアビットストリームの統語解析及び記述ファイル(BSD)の生成の技法を提示する。
【0107】
より具体的には、図3は、ビットストリーム31と、サブツリー32の形式をした関連付けられた部分BSD記述ファイルの表現との実施例を示している。矢印33は所与の時点tにおけるビットストリームの読み出し位置を示している。
【0108】
上述されているように、フィールド34は下流部分と呼ばれる既に読み出されたストリームの部分に対応し、フィールド35(35、35、35、35)は上流部分と呼ばれる未だ読み出されていないストリームの部分に対応している。
【0109】
別表3は、上流に位置している2個のフィールドが要素el1のインスタンス化及びタイプに関する制約を定義する記述スキーマの実施例を与える。
<xs:element name=“el1” bs2:assignPre=“par2 0 32 par3 32 32” bs2:if=“$par3=’ftyp’” minOccurs=“0”>
<xs:complexType bs2:layerLength=“$par2”>
【0110】
より具体的には、本実施例では、割り当て属性assignPreは2個のパラメータ(「par2 0 32」及び「par3 32 32」)を有し、各パラメータは個々に、上流フィールドの値を搬送する変数を参照するための名前、現在点と相対的なビット数で表された位置、及び、読み出されるべきフィールドに関する情報を搬送する上流フィールドの長さを示すトリプレット(name,start,length)を含む。
【0111】
したがって、各トリプレットは、par2(又はpar3のそれぞれ)という名前が付けられた変数を記述スキーマの要素へ割り当てることと、矢印33の上流の0ビット(及び32ビットのそれぞれ)に位置し、32ビット(及び32ビットのそれぞれ)の長さを有する上流フィールドを識別することと、上流フィールの値が読み出された後に上流フィールドの値を変数par2(及びpar3のそれぞれ)に格納することとを可能にさせる。
【0112】
換言すると、本発明の本実施形態によれば、プロセッサBintoBSDは、要素el1をインスタンス化しようとするときに、属性bs2:assignPreによって識別されるビットストリームの2個のフィールドを最初に読み出すことにより動き始め、これらのフィールドの値を変数par2及びpar3に格納する。
【0113】
第2段階で、プロセッサは、プロセッサが要素el1をインスタンス化しなければならないことを検証するために、属性bs2:ifに含まれているXPath式を評価する。その結果、属性bs2:ifは、要素el1がインスタンス化されるように条件を指定する。
【0114】
この条件は、現在点(矢印33)の32ビット後に位置し、32ビットの長さを有する上流フィールドの値に関係している。このフィールドは、4個の文字「ftyp」の系列によって表現されたバイトの系列に等しくなければならない。したがって、変数par3の値に関してテストが行われる。
【0115】
条件が満たされるならば、プロセッサは要素el1をインスタンス化し、次に、属性bs2:layerLengthに含まれているXPath式を評価する。タイプ(xs:complexType)の定義に存在する属性bs2:layerLengthは、要素el1のサブ要素の累積サイズを定義する。より具体的には、この属性bs2:layerLengthは、要素el1のサブ要素の累積サイズを決定するために変数par2を使用する。したがって、プロセッサは、サブ要素el2、el3と、el1の累積サイズが許容するだけのサブ要素el4とをインスタンス化可能である。
【0116】
要素el1はサブ要素を含むので(ツリーのノードであるので)、複合タイプであり、一方、要素el2、el3及びel4は単一タイプである(ツリーのリーフである)と想起される。
【0117】
この種の仕組みは、本実施例において、要素el4の出現回数が原則的に記述スキーマ中に指定されていないときに必要であり、要素el1はb2:layerLengthによって指定された要素el1の累積サイズが許容するだけの要素el4を有する。
【0118】
本実施例では、ビットストリームの読み出しは複数の層において行われ、第1の層はストリーム全体の読み出しを可能にさせ、第2の層は要素el1の読み出し等を可能にさせる。累積サイズの値は、直ぐ上流に位置している32ビットフィールドによって指定されている。
【0119】
最後に、2個のパラメータによって識別されたフィールドの値を知っていることは、対応する要素がBSD記述ファイル内で未だ読み出されていないとき、要素el1のインスタンス化時に必要である。
【0120】
5.3 記述ファイルを生成する装置の構造
次に図4を参照して、上述されている特定の実施形態によるインスタンス化の技法を実施する記述ファイルを生成する装置の簡略化された構造が提示される。
【0121】
このような生成装置は、メモリ41と、例えば、マイクロプロセッサμPが装備され、発明による記述ファイルを生成する方法を実施するコンピュータプログラム43によって駆動される処理ユニット42とを含む。
【0122】
再初期化時に、コンピュータプログラム43のコード命令が、例えば、RAMにロードされ、次に、中央処理ユニット42のプロセッサによって実行される。中央処理ユニット42は、ビットストリーム(21、31)と記述スキーマ45とを入力する。処理ユニット42のマイクロプロセッサは、コンピュータプログラム43の命令に従ってBSD記述ファイル46を決定するために、上述されている記述ファイルを生成する方法のステップを実施する。
【0123】
別表1:従来技術
A.従来技術による<<ビットストリーム文法スキーマ>>記述スキーマの実施例
【0124】
【表1】

【0125】
B.関連付けられた<<ビットストリーム文法記述>>部分記述ファイルの実施例
【0126】
【表2】

【0127】
別表1:AssignPostコマンド
A.発明の一実施形態による要素の出現に関する制約を指定する<<ビットストリーム文法スキーマ>>記述スキーマの実施例
【0128】
【表3】

【0129】
B.発明の一実施形態による要素の出現回数に関する制約を指定する<<ビットストリーム文法スキーマ>>記述スキーマの実施例
【0130】
【表4】

【0131】
C.発明の実施形態による要素のタイプに関する制約を指定する<<ビットストリーム文法スキーマ>>記述スキーマの実施例
【0132】
【表5】

【0133】
別表1:AssignPreコマンド
発明の一実施形態による要素のサブ要素の累積サイズに関する制約を指定する<<ビットストリーム文法スキーマ>>記述スキーマの実施例
【0134】
【表6】

【図面の簡単な説明】
【0135】
【図1】従来技術に関して参照されたときに解説された、ソースビットストリームから適合させられたビットストリームを生成するためBSDL言語を使用する実施例を示す概念図である。
【図2】ビットストリームと、サブツリーの形式をした関連付けられたBSD記述ファイルの表現とを示す概略図である。
【図3】ビットストリームと、サブツリーの形式をした関連付けられたBSD記述ファイルの表現とを示す概略図である。
【図4】発明の特定の実施形態によるビットストリームの記述のインスタンス化の技術を実施する記述ファイルの生成装置の構造を表現する概略図である。

【特許請求の範囲】
【請求項1】
所定のフォーマットに準拠した構造及び内容を記述し、属性及び要素の組を含む記述スキーマ(15)から、複数個のフィールドで構成されているビットストリーム(11)を記述する記述ファイル(14)の生成の方法であって、
前記ストリームのうちの少なくとも1個の識別されたフィールドの少なくとも1個の値を、割り当て属性と呼ばれる前記記述スキーマの属性によって定義された少なくとも1個の変数に割り当てるステップと、
前記少なくとも1個の変数を格納するステップと、
前記少なくとも1個の値に関係する条件式の評価から、前記記述ファイルのうちの少なくとも1個の要素の少なくとも1個の特性を決定するステップと、
前記決定ステップ中に決定された前記特性の関数として前記記述ファイルの一部を生成するステップと
を含む、方法。
【請求項2】
前記割り当て属性が少なくとも前記変数を含む少なくとも1個のパラメータを含む請求項1に記載の方法。
【請求項3】
前記識別されたフィールドが前記ビットストリーム内で読み出されているプロセス中のフィールドに対応している請求項1又は2に記載の方法。
【請求項4】
前記パラメータのうちの少なくとも1個が、例えば、
前記変数と、
少なくとも、前記ビットストリーム内でのフィールド開始位置と、前記ビットストリーム内でのフィールド終了位置と、前記ビットストリーム内のフィールド長とを含む群に属している識別に関する少なくとも2個の情報と
を含むトリプレットを含み、識別に関する前記情報が、前記識別されたフィールドが識別されることを可能にさせる請求項1又は2に記載の方法。
【請求項5】
前記評価ステップが前記変数を参照する請求項1〜4のいずれかに記載の方法。
【請求項6】
前記少なくとも1個の特性が、少なくとも、
要素のタイプと、
要素の長さと、
要素の出現回数と
を含む群に属している請求項1〜5のいずれかに記載の方法。
【請求項7】
前記ビットストリームがスケーラブルマルチメディアストリームである請求項1〜6のいずれかに記載の方法。
【請求項8】
前記記述ファイルがビットストリーム文法記述タイプであり、前記記述スキーマがMPEG−21のパート7の標準に従うビットストリーム文法スキーマタイプである請求項1〜7のいずれかに記載の方法。
【請求項9】
所定のフォーマットに準拠した構造及び内容を記述し、属性及び要素の組を含む記述スキーマから、複数個のフィールドによって形成されたビットストリームを記述するファイルを生成する装置であって、
前記ストリームのうちの少なくとも1個の識別されたフィールドの少なくとも1個の値を、割り当て属性と呼ばれる前記記述スキーマの属性によって定義された少なくとも1個の変数に割り当てる手段と、
前記少なくとも1個の変数を格納する手段と、
前記少なくとも1個の値に関係する条件式の評価から、前記記述ファイルのうちの少なくとも1個の要素の少なくとも1個の特性を決定する手段と、
前記決定ステップ中に決定された前記特性の関数として前記記述ファイルの一部を生成する手段と
を含む、装置。
【請求項10】
通信ネットワークからダウンロード可能であり、及び/又は、コンピュータ読み取り可能な記録担体に記録され、及び/又は、プロセッサによって実行可能であるコンピュータプログラムプロダクトであって、
前記プログラムがコンピュータ上で実行されるとき、請求項1〜8のうちの少なくとも一項に記載の記述ファイルの生成の方法のステップの実行のためのプログラムコード命令を含む、コンピュータプログラムプロダクト。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2009−531910(P2009−531910A)
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2009−502169(P2009−502169)
【出願日】平成19年3月27日(2007.3.27)
【国際出願番号】PCT/FR2007/051026
【国際公開番号】WO2007/110550
【国際公開日】平成19年10月4日(2007.10.4)
【出願人】(591034154)フランス テレコム (290)
【Fターム(参考)】