(57)【要約】      （修正有）【課題】動的インターフェースを使用してマルチメディアコンテンツを符号化する。【解決手段】拡張可能なプログラム的インターフェースをシーンのコンテンツに提供することによって、シーン中の各オブジェクトの各特性がフレームごとのビデオストリームで明確に特定されるシーンよりも、シーンが効果的に符号化されうる。【選択図】      図２
2007151119.tif 000002
【特許請求の範囲】
【請求項１】
デジタルコンテンツ用言語の本来の機能を拡張するマルチメディアシステムにおいて
プロセッサと、
１セットの本来の機能を備えたデジタルコンテンツ用言語を含む不揮発性メモリと、
デジタルオブジェクトと、デジタルコンテンツ用言語の１セットの本来の機能を拡張するためにプロセッサによって実行されるべきインターフェースのプロトタイプとを受け取る再書き換え可能メモリとを具備し、
インターフェースのプロトタイプは、（ａ）値を量子化する量子化方法、（ｂ）デジタルオブジェクトのアニメーション、および（ｃ）デジタルオブジェクトの更新、の内の少なくとも１つを使用する方法を規定するマルチメディアシステム。
【請求項２】
デジタルコンテンツ用言語は、プロトタイプの拡張機能を含むバーチャルリアリティマークアップ言語である請求項１記載のシステム。
【請求項３】
MPEG-4  ＢＩＦＳプロトコル用のデコーダをさらに具備し、デコーダは復号化された値をインターフェースのプロトタイプに送る請求項２記載のシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
【０００２】
本発明は、コンピュータで生成されたイメージシーケンスを符号化する改良された方法に関し、特に、ビデオストリームの一部分がどのように量子化され、アニメーション化され、またはそうでなければ更新されるのかを符号化するプロトタイプの使用に関する。
【従来の技術】
【０００３】
多くのコンピュータ生成イメージはこれまで、全てのフレーム中の全ての画素を一緒に指定することによって生成されていたが、新しいコンピュータイメージシーケンスは、複数のマルチメディアオブジェクト（たとえば、ビデオと2D-または3Dグラフィックスプリミティブ）を組み合わせ、ときには１つ以上のサウンドトラックと組み合わせることによって生成されることが多い。マルチメディアの分野では、イメージおよび／またはシーンは言語を使用して構成される。たとえば、ハイパーテキストマークアップ言語(HTML)は、テキストとグラフィックスの２次元(2D)構成を規定する。同様に、バーチャルリアリティマークアップ言語(VRML)は３次元(3D)ワールドを記述する。
【０００４】
マルチメディア言語は現在、構成されたイメージのダイナミックな変更のための拡張機能も含む。HTMLは現在、ダイナミックHTML(DHTML)拡張機能を含む。これは、Danny Goodman氏による“Dynamic HTML: The Definitive Reference,”O'Reilly & Associates, Inc., 1998年出版、などに記載されており、この文献の内容は参照によりここに組み込まれている。さらに、HTML用のXML拡張機能は、本来の言語がどのように修正または拡張されるかを記述するためのメタ言語を提供する。
【０００５】
同様に、VRMLは新しいプリミティブを“プロトタイプ化”することができる“PROTO”定義のためのサポートを含む。定義の一部分は、新しくプロトタイプ化される機能を提供するために、VRML環境によって実行される１つまたは複数のコードブロックである。
【０００６】
モーションピクチャーズエキスパートグループ(MPEG)は、イメージストリームの符号化および復号化に必要な技術を研究するために形成された。結果的に得られた標準規格（現在“MREG-1”と呼ばれている）は、２つの追加的なMPEG-2およびMPEG-4標準規格の基礎として機能している。MPEG-4は、“進行中”の標準規格である。委員会の最終的な草案は、ISO/IEC FCD 14496-1 MPEG-4システムおよび-2 MPEM-4ビジュアルであり、委員会の最終草案の内容は参照によりここに取り込まれている。これらの草案には、マルチメディアコンテンツを符号化するさまざまな方法が含まれている。このような方法には、（１）シーンパラメータに対する量子化方法、（２）マルチメディアシーンを符号化して送信するアニメーションストリーム、および（３）マルチメディア情報を時間の経過につれて修正するための更新ストリームが含まれる。MPEM-4の最終承認された草案には（１）シーンに対するバイナリフォーマット（以降、“BIFS”という）での量子化、（２）BIFSを使用したアニメーション（以降、“BIFS-Anim”という）、および（３）BIFSを使用した更新制御（以降、“BIFS-Command”という）のためのサポートが含まれる。
【０００７】
BIFS下で量子化を使用することには、ノードおよびフィールドに量子化カテゴリーでタグ付けすることが含まれる。各ノードの各フィールドには量子化カテゴリーが割当てられ、このカテゴリーは、量子化プロセス中にパラメータ化するためにフィールドに量子化パラメータ構造が与えられるときに、フィールドに適用される。
【０００８】
BIFS-Animは、マルチメディアデータのストリーミングおよびファイルベースアニメーションのための符号化方法を規定している。BIFS-Animは、３つの基本的なコンポーネント：（１）シーングラフ、（２）アニメーションマスク、および（３）アニメーションフレームを含む。シーンは、（ａ）静止しているタグ付けされていないオブジェクトと、（ｂ）修正されるべきタグ付けされたオブジェクトとを含む。アニメーションマスクは、アニメーションストリームによって修正されるべきタグ付けされたオブジェクトのプロパティを設定する。
【０００９】
BIFS Commandは、ＢＩＦＳノードおよびシーングラフを更新するためのプロトコルである。これにより、シーン全体を別のものにより置換せよというコマンドを送るか、タグ付けされたオブジェクトのいくつかを除去するか、またはシーン中のタグ付けされたオブジェクトのプロパティの値を変えることによって、シーンに対する変更を送ることが可能になる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、ダイナミックプログラミングインターフェース、ならびに／あるいはマルチメディアコンテンツ用言語および／またはマルチメディア配置言語に対して拡張を提供することである。
【００１１】
本発明の別の目的は、アニメーション、修正、および量子化方法へのリンクを提供し、シーンを効率的に表現し、アニメーション化し、および修正できるようにシーンに対する新しいプロトタイプを提供することである。
【課題を解決するための手段】
【００１２】
本発明のこれらの目的およびその他の目的は、（１）ダイナミックインターフェースを使用してマルチメディアコンテンツを符号化する、コンピュータにより実現される方法、（２）ダイナミックインターフェースを使用してマルチメディアコンテンツを符号化するシステム、および（３）ダイナミックインターフェースを使用してマルチメディアコンテンツを符号化するコンピュータプログラム製品のうちの１つ以上のものによって達成される。
【発明の実施の形態】
【００１３】
本発明のより完璧な理解及びこれに付随する利点の多くは、特に、添付の図面とともに検討することによって、以下の詳細な説明を参照して容易に明らかになるだろう。
【００１４】
図面を参照すると、いくつかの図を通して同様の参照符号が同一または対応する部分を示している。図１は、ダイナミックインターフェースを使用してマルチメディアコンテンツを符号化するコンピュータシステムの概略図である。コンピュータ100は本発明の方法を実施し、コンピュータハウジング102はマザーボード104を収容している。マザーボード104は、CPU106、メモリ108（たとえば、DRAM，ROM，EPROM，EEPROM，SRAM，SDRAM，およびフラッシュRAM）、および他のオプション的な特定用途向け論理デバイス（たとえば、ASIC）または構成可能な論理デバイス（たとえば、GALおよび書き換え可能FPGA）を含む。コンピュータ100はさらに、複数の入力デバイス（たとえば、キーボード122およびマウス124）、およびモニタ120を制御するためのディスプレイカード110も含む。さらに、コンピュータシステム100は、フロッピー（登録商標）ディスクドライブ114、他の取外し可能な媒体デバイス（たとえば、コンパクトディスク119、テープ、および（示されていない）取外し可能な磁気光学媒体）、およびハードディスク112または適切なデバイスバス（たとえば、SCSIバス、強化されたIDEバス、またはウルトラDMAバス）を使用して接続され、固定された他の高密度媒体ドライブも備えている。また、同じデバイスバスまたは別のデバイスバスに接続されているものとして、コンピュータ100は、コンパクトディスク読出し装置118、（示されていない）コンパクトディスク読出し／書込みユニット、または（示されていない）コンパクトディスクジュークボックスをさらに備えていてもよい。コンパクトディスク119はCDキャディに入って示されているが、コンパクトディスク119はキャディを必要としないCD-ROMドライブ中に直接挿入することができる。別の実施形態では、本発明は（１）セットトップボックス、（２）ビデオボード、および／または（３）受信機／再生ユニットのうちの１つとして、またはそれらの組み合わせとして実現される。さらに別の実施形態では、マルチメディアコンテンツを符号化するインターフェースの印刷リストが（示されていない）プリンタにより提供される。
【００１５】
システムは、少なくとも１つのコンピュータ読出し可能媒体を含む。コンピュータ読出し可能媒体の例は、コンパクトディスク119、ハードディスク112、フロッピー（登録商標）ディスク、テープ、光磁気ディスク、PROM(EPROM，EEPROM，フラッシュEPROM)，DRAM，SRAM，SDRAMなどである。本発明は、コンピュータ読出し可能媒体の任意の１つまたはそれらの組み合わせに記憶されるソフトウェアを含み、このソフトウェアはコンピュータ100のハードウェアを制御し、コンピュータ100が人間のユーザと対話できるようにする。このようなソフトウェアには、デバイスドライバ、オペレーティングシステム、および開発ツールのようなユーザアプリケーションが含まれるが、それらに限定されない。これらのコンピュータ読出し可能媒体はさらに、ダイナミックインターフェースを使用してマルチメディアコンテンツを符号化するための本発明のコンピュータプログラム製品も含む。本発明のコンピュータコードデバイスは、スクリプト、翻訳プログラム、ダイナミックリンクライブラリ、Java（登録商標）クラス、および完全な実行可能プログラムを含む、任意の翻訳されたまたは実行可能なコードメカニズムとすることができるが、それらに限定されない。
【００１６】
図２に示されているように、マルチメディアストリームは本発明によって受け取られ、シーンコンポーネントとインターフェースコンポーネントとに復号化される。シーンコンポーネントは、（１）シーン中のデジタルオブジェクト、および（２）これらのオブジェクトがどのように更新されまたはアニメーション化されるかの両方に関する情報を含む。インターフェースコンポーネントは、復号化後に内部に記憶されるインターフェース定義を含んでおり、１つの実施形態では、この定義は少なくとも部分的にインターフェース符号化テーブルに記憶される。特に、インターフェース符号化テーブルは新しいインターフェースに結び付けられ、デジタルコンテンツ用言語（たとえば、MPEG-4 BIFSまたはVRML）の方法（たとえば、量子化、アニメーション、および更新方法）をシーンコンポーネントに適用するために、所定のインターフェース定義の符号化要素を記憶する。
【００１７】
インターフェース符号化テーブルは、次のような情報を含む。（１）更新モード、（２）アニメーションモード（すなわち、Animモード）、（３）量子化カテゴリー、（４）量子化パラメータ、および（５）アニメーションカテゴリーである。更新モードを使用して、任意のパラメータが“イン”タイプとして宣言できる。パラメータのタイプを黙示的あるいは明示的に定義付けすることをサポートする言語（たとえばVRML）では、パラメータは“イン”タイプとして別個に定義する必要はない。特にVRMLは、パラメータをEventIn、ExposedField、EventOutおよびFieldとして定義できるようにする。EventInおよびExposedFieldの両者は、定義により“イン”タイプパラメータである。“イン”タイプは、使用されるときに、（たとえば、BIFS-Commandストリームのような更新ストリームを通して）インターフェースがマルチメディアストリームからさらなる更新を受け取るかもしれないことを示す。Animモードは、対応するアニメーションカテゴリーでパラメータにタグを付けることにより、インターフェース中の任意のパラメータで動作できる。Quantモードも、対応する量子化カテゴリーでパラメータにタグを付け、オプション的で付加的な量子化パラメータを送信することにより、インターフェース中の任意のパラメータで動作できる。
【００１８】
マルチメディアストリームは、インターフェース符号化テーブル(ICT)情報を使用して、（１）量子化を制御し、（２）対応するインターフェースの一部分を更新し、（３）インターフェースを通してアニメーションを行うことができる。特に、インターフェースパラメータaiと関連付けられた量子化カテゴリーqc[i]は、ICT値qp[i]およびそのシーンからの他の背景情報を使用して適用される。これによりインターフェース宣言はほぼ最適に圧縮できる。“インモード”でタグ付けされた任意の所定のインターフェースパラメータaiは、所定の時点でインターフェースの値を修正する更新ストリームによって修正できる。インターフェースは、連続したアニメーションストリームを使用してアニメーション化され、値の１つを連続的に更新できる。その場合にはアニメーションカテゴリーac[i]が使用される。
【００１９】
インターフェース符号化テーブルはインターフェース宣言の一部分であり、図３において例示されている構造を有している。以下に特定のパラメータを示す。  
ICT mask：各パラメータに対してどの情報が利用可能かを設定するためのブール値のマスク。  
useQuant：各パラメータに対して量子化パラメータが送られるか否かを設定するためのブール。  
useUpdate：“インモード”に関する情報が更新カテゴリー情報と同様に各パラメータに対して送られるか否かを設定するためのブール。上述したように、パラメータを更新できるか否かを独立に定義することをすでにサポートしている言語では、このパラメータはオプション的である。  
useAnim：“ダイナミックモード”およびアニメーションカテゴリーに関する情報が各パラメータに対して送られるか否かを設定するためのブール。
【００２０】
インターフェース中の各パラメータaiに対して追加的な処理が行われる。以下でPROTOインターフェース定義を参照して説明するように、パラメータの数は変数“numFields”で指定される。したがって、以下の情報が各パラメータに対して（オプション的に）指定される：
In mode data：インターフェースのこのパラメータが“更新可能”か否かに関する情報。この情報はインターフェース宣言からも得られる。  
quant category data：使用されるべき量子化カテゴリー。このデータは“useQuant”が真である場合に使用される。  
quant parameter data：このカテゴリーに対する特定の量子化パラメータ。カテゴリーの特定の量子化／逆量子化方法にしたがった、最小値および最大値、ならびに圧縮に使用される情報。このデータは“useQuant”が真である場合に使用される。  
anim parameter data：特定のフィールドに対して選択されたアニメーション方式。このデータは“useAnim”が真である場合に使用される。
【００２１】
MPEG-4およびVRMLを背景にすると、本発明は、新しいインターフェースをPROTOおよびEXTERNPROTOにより規定できるようにする。PROTOとEXTERNPROTOとの唯一の違いは、インターフェースを実現するコードが、第１の場合では同じ記述(PROTO)内に与えられる一方で、第２の場合は外部リソースに与えられる点である。
【００２２】
いずれの場合も、プロトタイプ宣言を持つICTの使用により、その後にノードを符号化、アニメーション化、および更新するために必要な全てのパラメータでフィールド宣言にタグを付けることができる。MPEG-4では、ICTは以下の情報を含む。（１）量子化カテゴリー（テーブル１参照）、（２）アニメーションカテゴリー（テーブル２参照）、および（３）（フィールドに対する最小値および最大値を含む）量子化パラメータである。
【００２３】
テーブル１：量子化カテゴリー
カテゴリー      説  明
０            なし
１            3D位置
２            2D位置
３            描画順序
４            ＳＦ色
５            テクスチャ座標
６            角度
７            スケール
８            補間キー
９            垂線
１０          回転
１１          オブジェクトサイズ3D（１）
１２          オブジェクトサイズ2D（２）
１３          線形スカラー量子化
１４          座標インデックス
１５          保留
テーブル２：アニメーションカテゴリー
カテゴリー      説  明
０            なし
１            位置3D
２            位置2D
３            保留
４            色
５            保留
６            角度
７            浮動点
８            境界浮動点
９            垂線
１０          回転
１１          サイズ3D
１２          サイズ2D
１３          整数
１４          保留
１５          保留
PROTO定義とともにこの情報により、MPEG-4端末は、ノードを符号化し、更新し、およびアニメーション化するために必要なノード符号化テーブルを生成できる。以下にDirectionalLightノードのためのノード符号化テーブルの代表的な例を示す。最小値および最大値だけでなく量子化（Ｑ）およびアニメーション（Ａ）タイプが示されている。idは全て自動的にフィールド宣言から導出される。ノードデータタイプ（SFワールドノード、SF3Dノード）およびそれらの対応するidは、そのノードが使用されうる背景を決定するために使用される。PROTOは特定のノードカテゴリーを受け取る。  
【表１】
2007151119.tif 000003
【００２４】
テーブル４：MPEG-4タイプ
ブール            ００００
浮動点            ０００１
時間              ００１０
ストリング        ００１１
Int32             ０１００
ストリング        ０１０１
Vec3f             ０１１０
Vec2f             ０１１１
色                １０００
回転              １００１
［バイナリシンタックス］
以下は、対応するインターフェース符号化テーブルを持つPROTO定義に対するバイナリシンタックスである。MPEG-4 MSDL言語にしたがって、バイナリビットストリームシンタックスが指定される。
【表２】
2007151119.tif 000004
【表３】
2007151119.tif 000005
【表４】
2007151119.tif 000006
【００２５】
本発明の例示的な使用は、MPEG-4アプリケーションでPROTOタイプを用いて、共同作業的プロフェッショナルアプリケーションを実現する。このアプリケーションは、複数の技術者がモデル／設計（たとえば、ボートのモデル）に関して遠隔地から同時に作業できるようにしつつも、リアルタイムでその変化を見られるようにする。低ビットレートネットワーク接続に適合するために最も効率的に圧縮された伝送を使用する一方で、技術者は設計に関する実験を行い、全てのサイトがその実験の結果を同時に獲得するように望む。さらに、このシステムは、さまざまな設計に対応するように十分に一般的でなければならない。このアプリケーションに対してMPEG-4フレームワークを使用することにより、場合ごとに、特定かつ潜在的に部分最適なアプリケーションが設計される代わりに、全ての通信およびアプリケーション設計に対して一般的で効率的なフレームワークが得られる。
【００２６】
この例に関して、20,000個の頂点からなる10,000個の多角形を含む3Dのボートのモデルを仮定する。実験において、技術者はある風の結果生じるボートの変形を解析し、制御したいと考える。一般に変形は、たとえば風速および風向き、ならびに波の高さ等のいくつかのパラメータにより制御される。そして、ボートはMPEG-4強化PROTOとして定義され、新しい値を受信すると、PROTO内のスクリプトが新しい頂点パラメータを計算する。このようにして、技術者はライブシミュレーションを実行し、20,000個の頂点を再送する代わりに、最適に符号化されたいくつかのパラメータだけをBIFS-Animプロトコルを使用して送信できる。さらに、新しい結果がテストされるたびに、技術者はBIFS-Commandプロトコルを使用して新しいパラメータセットを送信するだけでよい。
【００２７】
この例に基づくと、以下のPROTOタイプが規定できる：
【表５】
2007151119.tif 000007
【００２８】
［ICTパラメータ］
以下の符号化パラメータがICTで関連付けられる。
【表６】
2007151119.tif 000008
【００２９】
さらなる機能を付加することに加えて、本発明はより効率的に符号化されたビットストリームを生成する。ビットレートの比較は、PROTOインターフェースを使用して送信された情報と、PROTOインターフェースを使用せずに送信された情報とを比較することで行われる。PROTOインスタンシエーション（シーン中にボートを入れる）、PROTO更新（値を遠隔的に変更する）、またはアニメーションに対して、利得を測定することができる。送信されるデータごとのバイトのサイズが比較される。ICTのない通常のPROTOが使用された場合には、更新およびアニメーション機能は利用できないことを留意すべきである。
【表７】
2007151119.tif 000009
【００３０】
第２の例として、本発明は弾むボールをアニメーション化するために利用できる。コマンドストリームを送って各フレーム中のボールの各多角形を更新する代わりに、アニメーションを制御するインターフェースが生成される。このインターフェースは、地面からのボールの高さを制御するパラメータを規定する。ボールをアニメーション化するために、フレームごとに高さパラメータを変更するだけでよい。すなわち、インターフェースのスクリプトが頂点の実際の更新を行う。同様に、ボールインターフェースが色に関する第２のパラメータを含んでいた場合には、多角形の色を個々にアニメーション化することによってではなく、スクリプトによって各多角形の色が変更される。
【００３１】
以上、言語によって提供される本来の方法を拡張するインターフェースに関して本発明を説明してきたが、本発明はインターフェースに対するインターフェースを提供することにさらに向けられる。オブジェクトがスーパークラスから性質を受け継ぐように、インターフェースもまたより前にインスタンシエーションされたインターフェースから機能を受け継ぐことができる。
【００３２】
当業者に明らかなように、本発明の方法およびシステムは、本発明の精神を逸脱することなく、ここに明確に記載された以外に実施されてよい。したがって、本発明はこの明細書により何等制限を受けず、請求の範囲の技術的範囲によってのみ本発明の限界が規定される。
【図面の簡単な説明】
【００３３】
【図１】本発明の方法を実現するコンピュータの概略図。
【図２】インターフェース宣言とシーン宣言との間の相互関係のブロック図。
【図３】インターフェース宣言の擬似符号例を示す図。
【図１】
2007151119.tif 000010
【図２】
2007151119.tif 000011
【図３】
2007151119.tif 000012
【外国語明細書】
2007151119000001.pdf