(57)【要約】　　　（修正有）【課題】高機能なマルチメディアコンテンツを容易に取り扱うことができるようにする。【解決手段】受信端末１１３は、ネットワーク１１２上の、入力されたＵＲＬに対応するサーバ１２４にアクセスする。サーバ１２４は、所定のサービスをコンポーネントが受けるために満たすべき仕様を有するブラウザソフトウエア２５１と、所定の構成を有するマルチメディアコンテンツ２５２とからなる配信ソフトウエア２４３を、ネットワーク１１２を介して受信端末１１３に配信する。受信端末１１３は、配信されたブラウザ２５１上に、配信されたマルチメディアコンテンツ２５２を表示させる。本発明は、パーソナルコンピュータ、デジタル家電製品等に適用できる。【選択図】　　　図１３
2004005321.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに実行させるプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエアと、
前記ブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群、および、前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツと
を含むことを特徴とするプログラム。
【請求項２】
前記ブラウザソウトウエアは、さらに、
複数のメディアを同期再生するサービスと、
第１の前記シーンと、第２の前記シーンとの間を遷移する遷移サービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供する
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記マルチメディアコンテンツは、前記ブラウザソフトウエア上で再生される場合、提示の一意性が保たれるように構成される
ことを特徴とする請求項１に記載のプログラム。
【請求項４】
コンピュータに実行させるプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエアと、
前記ブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群、および、前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項５】
コンピュータに実行させるマルチメディアコンテンツとしてのプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトと
を含む前記シーンが、複数個集合された
ことを特徴するプログラム。
【請求項６】
コンピュータに実行させるマルチメディアコンテンツとしてのプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトと
を含む前記シーンが、複数個集合された
ことを特徴するコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
コンピュータに実行させるブラウザソフトウエアとしてのプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供する
ことを特徴とするプログラム。
【請求項８】
コンピュータに実行させるブラウザソフトウエアとしてのプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項９】
コンピュータに実行させるプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツを製作する製作ステップを含む
ことを特徴とするプログラム。
【請求項１０】
製作された前記マルチメディアコンテンツと、前記ブラウザソフトウエアとを組み合わせて、１つのプログラムとする組み合わせステップをさらに含む
ことを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記製作ステップは、
配布形式の前記コンポーネントを読み込んでＧＵＩ上に表示させるように制御する表示制御ステップと、
前記ＧＵＩ上で選択された前記コンポーネントを前記マルチメディアコンテンツに追加する追加ステップと、
前記マルチメディアコンテンツ上に含まれる前記コンポーネントのカスタマイズを行う前記ＧＵＩを提供する提供ステップと、
前記表示制御ステップ、前記追加ステップ、および、前記提供ステップの処理により編集された前記マルチメディアコンテンツを、配布可能な形式に変換する変換ステップと
を含むことを特徴とする請求項９に記載のプログラム。
【請求項１２】
コンピュータに実行させるプログラムであって、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツを製作する製作ステップを含む
ことを特徴するコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１３】
コンピュータに実行させるプログラムであって、
テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って生成されたマルチメディアコンテンツのフォーマットを、前記第１のフォーマットから第２のフォーマットに変換する変換ステップを含み、
前記変換ステップの処理により前記第２のフォーマットに変換された前記マルチメディアコンテンツは、
前記第２のフォーマットの前記マルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合されたマルチメディアコンテンツである
ことを特徴とするプログラム。
【請求項１４】
前記変換ステップの処理により前記第２のフォーマットに変換された前記マルチメディアコンテンツと、前記ブラウザソフトウエアとを組み合わせて、１つのプログラムとする組み合わせステップをさらに含む
ことを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記第１のフォーマットで利用される前記技術は、ＸＭＬを利用する技術である
ことを特徴とする請求項１３に記載のプログラム。
【請求項１６】
コンピュータに実行させるプログラムであって、
テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って生成されたマルチメディアコンテンツのフォーマットを、前記第１のフォーマットから第２のフォーマットに変換する変換ステップを含み、
前記変換ステップの処理により前記第２のフォーマットに変換された前記マルチメディアコンテンツは、
前記第２のフォーマットの前記マルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合されたマルチメディアコンテンツである
ことを特徴するコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１７】
マルチメディアコンテンツを再生する情報処理装置において、
所定の前記マルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエアと、
前記ブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群、および、前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツと
を含むプログラムを取得する取得手段と、
前記取得手段により取得された前記ブラウザソフトウエアを実行する実行手段と、
前記実行手段により実行された前記ブラウザソフトウエアが提供するサービスを利用して、前記取得手段により取得された前記マルチメディアコンテンツを再生する再生手段と
を備えることを特徴とする情報処理装置。
【請求項１８】
前記ブラウザソフトウエアを記憶する記憶手段をさらに備え、前記記憶手段は、前記ブラウザソフトウエアを予め記憶しており、
前記実行手段は、前記取得手段により前記マルチメディアコンテンツが取得された場合、前記記憶手段に予め記憶されている前記ブラウザソフトウエアを実行する
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
マルチメディアコンテンツを再生する情報処理装置の情報処理方法において、
所定の前記マルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエアと、
前記ブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群、および、前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツと
を含むプログラムを取得する取得ステップと、
前記取得ステップの処理により取得された前記ブラウザソフトウエアを実行する実行ステップと、
前記実行ステップの処理により実行された前記ブラウザソフトウエアが提供するサービスを利用して、前記取得手段により取得された前記マルチメディアコンテンツを再生する再生ステップと
を含むことを特徴とする情報処理方法。
【請求項２０】
マルチメディアコンテンツを製作する情報処理装置において、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツを製作する
ことを特徴とする情報処理装置。
【請求項２１】
マルチメディアコンテンツを製作する情報処理装置の情報処理方法において、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツを製作する
ことを特徴とする情報処理方法。
【請求項２２】
マルチメディアコンテンツを製作する情報処理装置において、
テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って、前記マルチメディアコンテンツを製作する製作手段と、
前記製作手段により製作された前記マルチメディアコンテンツのフォーマットを、前記第１のフォーマットから第２のフォーマットに変換する変換手段と
を備え、
前記変換手段により前記第２のフォーマットに変換された前記マルチメディアコンテンツは、
前記第２のフォーマットの前記マルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合されたマルチメディアコンテンツである
ことを特徴とする情報処理装置。
【請求項２３】
前記変換手段により前記第２のフォーマットに変換された前記マルチメディアコンテンツと、前記ブラウザソフトウエアとを組み合わせて、１つのプログラムとする組み合わせ手段
をさらに備えることを特徴とする請求項２２に記載の情報処理装置。
【請求項２４】
前記第１のフォーマットで利用される前記技術は、ＸＭＬを利用する技術である
ことを特徴とする請求項２２に記載の情報処理装置。
【請求項２５】
マルチメディアコンテンツを製作する情報処理装置の情報処理方法において、
テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って、前記マルチメディアコンテンツを製作する製作ステップと、
前記製作ステップの処理により製作された前記マルチメディアコンテンツのフォーマットを、前記第１のフォーマットから第２のフォーマットに変換する変換ステップと
を含み、
前記変換ステップの処理により前記第２のフォーマットに変換された前記マルチメディアコンテンツは、
前記第２のフォーマットの前記マルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合されたマルチメディアコンテンツである
ことを特徴とする情報処理方法。
【請求項２６】
マルチメディアコンテンツを製作し、かつ、製作した前記マルチメディアコンテンツを配信する第１の情報処理装置と、
前記第１の情報処理装置により配信された前記マルチメディアコンテンツを再生する第２の情報処理装置とが、
所定のネットワークを介して相互に接続された情報処理システムにおいて、
前記第１の情報処理装置は、
所定のマルチメディアコンテンツを読み込み、前記マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、
前記コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、
前記各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、前記３Ｄ仮想空間に既に表示されている前記コンポーネントを消去させるサービスと、
前記スクリプトのインタプリタと、前記各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、
前記各コンポーネントのうちの所定のものと、他の前記コンポーネントとの間のフォーカス遷移を管理するサービスと、
所定の外部キーからの入力を、対応する前記コンポーネントに配布するサービスと
を前記各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、前記各コンポーネントのそれぞれに前記各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数の前記コンポーネントを、カスタマイズして任意に組み合わせた前記コンポーネント群と、
前記コンポーネントを操作するための前記スクリプトとを含む前記シーンが、複数個集合された前記マルチメディアコンテンツを製作し、
製作した前記マルチメディアコンテンツと、前記ブラウザソフトウエアを１つのプログラムとして、前記第２の情報処理装置に前記ネットワークを介して配信し、
前記第２の情報処理装置は、配信された前記プログラムのうちの前記ブラウザソフトウエア上に、前記プログラムのうちの前記マルチメディアコンテンツを再生させる
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム、記録媒体、情報処理装置および方法、並びに、情報処理システムに関し、特に、高機能なマルチメディアコンテンツを容易に取り扱うことができるようにしたプログラム、記録媒体、情報送信装置および方法、並びに、情報処理システムに関する。
【０００２】
【従来の技術】
近年、情報ネットワーク、中でも、インターネットの普及は、目覚ましいものがある。特に、Ｗ．Ｗ．Ｗ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）は、ビジネスのみならず家庭における一般ユーザ向けサービスとして欠かせないものになっている。Ｗ．Ｗ．Ｗは、インターネット上に存在する様々なコンテンツ（ホームページ）に受信端末がアクセスし、必要な情報を得ることを可能にするサービスである。
【０００３】
近年、一般ユーザも、Ｗ．Ｗ．Ｗを単に情報収集のためだけではなく、エンターテイメント性の高いコンテンツを楽しんだり、また自らがコンテンツを発信したりするためのツールとして利用することが多くなっている。Ｗ．Ｗ．Ｗをこのように利用するユーザの数は、今後ますます増加するものと思われる。
【０００４】
Ｗ．Ｗ．Ｗは、１９８９年にスイスのＣＥＲＮ（ヨーロッパ素粒子物理学研究所）で開発されたソフトウエア・アーキテクチャである。Ｗ．Ｗ．Ｗは、インターネットで結ばれたＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）サーバ、およびＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）ブラウザと称されるソフトウエア群から構成される通信システムであり、これを支えるソフトウエアがＨＴＴＰとＨＴＭＬである。ＨＴＴＰは、ＨＴＴＰサーバとＨＴＭＬブラウザとの間の通信プロトコルであり、ＨＴＭＬは、ＨＴＴＰサーバとＨＴＭＬブラウザとの間で交換される（ホームページの）データのフォーマットである。
【０００５】
図１は、このようなＷ．Ｗ．Ｗのコンテンツ（ホームページ）再生の仕組みを表している。
【０００６】
図１に示されるように、Ｗ．Ｗ．Ｗシステム１においては、ＨＴＭＬブラウザ２２、および、所定のＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）やハードウエア等からなるプラットフォーム２１から構成される受信端末１１と、ＨＴＴＰサーバ１３とが、インターネット１２を介して相互に接続されている。
【０００７】
受信端末１１がＨＴＴＰサーバ１３上のコンテンツを再生するための処理について説明する。
【０００８】
受信端末１１のＨＴＭＬブラウザ２２は、矢印３１に示されるように、ホームページのＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）がユーザにより入力されると、矢印３２に示されるように、入力されたＵＲＬで指定されたＨＴＴＰサーバ１３にインターネット１２を介してアクセスし、ＵＲＬで指定されたホームページのデータを要求する。
【０００９】
ＨＴＴＰサーバ１３は、その要求に対して、ＨＴＭＬフォーマットで記述されたホームページのデータファイル（以下、ＨＴＭＬ文書と称する）３３−１をインターネット１２を介して受信端末１１に送信する。
【００１０】
受信端末１１のＨＴＭＬブラウザ２２は、受信したＨＴＭＬ文書３３−１を、例えば、受信端末１１のディスプレイ（図示せず）上に表示３４のような形で表示させる。また、ＨＴＭＬブラウザ２２は、必要に応じてビットマップファイル（画像ファイル）等の関連データ３３−２を、ＨＴＴＰサーバ１３から取得し、表示３４内の所定の領域に表示させる。
【００１１】
このように、ＨＴＭＬブラウザ２２は、一般ユーザがＷ．Ｗ．Ｗを利用する場合、欠かせないソフトウエアである。しかしながら、ＨＴＭＬは、本来、研究者が情報ネットワークを介して技術文書などの文書データを共有するために開発されたものであり、マークアップという手法を用いて文書を構造化する点が大きな特徴である。
【００１２】
図２は、そのようなＨＴＭＬ文書とその表示例を表している。
【００１３】
ＨＴＭＬ文章３３−１において、”＜”と”＞”で挟まれた部分は、タグと称され、そのタグが利用されて、マークアップが行われる。
【００１４】
ＨＴＭＬタグ（＜ＨＴＭＬ＞及び＜／ＨＴＭＬ＞）で挟まれた部分は、その中身がＨＴＭＬのデータであることを表している。ＢＯＤＹタグ（＜ＢＯＤＹ＞及び＜／ＢＯＤＹ＞）で挟まれた部分は、文書の本文であることを表している。Ｈ１タグ（＜Ｈ１＞及び＜／Ｈ１＞）で挟まれた“＜Ｈ１＞鎌倉のちょっとおいしいお店＜／Ｈ１＞”の部分４１は、文字列「鎌倉のちょっとおいしいお店」が文書の見出しであることを表している。Ｐタグ（＜Ｐ＞及び＜／Ｐ＞）で挟まれた部分４２と４３は、文章の段落であることを表している。なお、このようなタグの種類の標準化はＷ３Ｃ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｓｏｒｔｉｕｍ）で行われている。
【００１５】
このようなＨＴＭＬ文章３３−１の文書構造に合わせてコンテンツの提示が行われたものが、表示３４である。
【００１６】
表示３４の上方の領域５１には、Ｈ１タグで挟まれた部分４１に対応する文字列が、その下方の領域５２には、Ｐタグで挟まれた部分４２に対応する文章が、さらにその下方には、Ｐタグで挟まれた部分４３に対応する文章が、それぞれ表示される。
【００１７】
このようにＨＴＭＬ文章３３−１はテキストで表現されるので、ＨＴＭＬは、ＯＳなどのプラットフォームに依存しない。また、ＨＴＭＬは、テキストフォーマットであるので、ユーザ等は、多少の学習をすることにより、ＨＴＭＬを利用して、比較的容易にコンテンツを製作することができる。
【００１８】
さらに、ＨＴＭＬは、＜ＩＭＧ＞タグを用いることで文書に画像を挿入することが出来る。例えば、表示３４の領域５２内の領域５４には、ＨＴＭＬ文章３３−１のＰタグで挟まれた部分４２内の＜ＩＭＧ＞タグではさまれた箇所４４に対応する画像ファイル（ｆｏｏｄ．ｊｐｇ）の画像３３−２が表示される。
【００１９】
このように、ＨＴＭＬにはテキスト以外のメディアを表現するためのタグが用意されているので、ＨＴＭＬは、テキスト、画像（静止画および動画）、並びに、音声といった複数の種類のメディアを組み合わせたコンテンツを取り扱うことが可能である。このようなコンテンツを、以下、マルチメディアコンテンツと称する。従って、いわゆるホームページとして知られるＷ．Ｗ．Ｗのデータの多くも、マルチメディアコンテンツである。
【００２０】
このように、ＨＴＭＬは、プラットフォームに依存しないこと、マルチメディア情報を扱えること、および、比較的容易にコンテンツを製作できることを特徴としている。
【００２１】
また、インターネット以外の、デジタル放送や携帯電話網等のデジタル家電製品向け情報ネットワークにおいても、マルチメディアコンテンツを配信するサービスが広まりつつあり、ＨＴＭＬの派生技術が採用されている。例えば、ＢＳ（Ｂｒｏａｄｃａｓｔｉｎｇ　Ｓａｔｅｌｌｉｔｅ）デジタル放送のデータ放送サービスで採用されたＢＭＬ（Ｂｒｏａｄｃａｓｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）や、ＮＴＴドコモ社の携帯電話のサービスであるｉモードで利用されているＣｏｍｐａｃｔ　ＨＴＭＬ等が知られている。ただし、これらのサービスは、現状、特定のデジタル家電製品、または、特定の情報ネットワークのみでの利用が前提となっている場合が多く、コンテンツの相互流通も出来ないか、または制限されたものである。
【００２２】
【発明が解決しようとする課題】
将来、コンピュータを含む全てのデジタル家電製品が１つの情報ネットワークで結ばれるようになることが想定されており、この場合、どの端末からでも同一のコンテンツによるサービスが受けられることが求められ、かつ、コンテンツの内容についても、エンターテイメント性が高く、より高機能、高性能、かつ低コストで開発が可能なものが求められるようになると想定される。
【００２３】
しかしながら、上述したように、ＨＴＭＬは、本来、研究者が文書データを共有するために開発されたものであり、上述したような、将来必須となると想定されるニーズを満たすためのシステムとして開発されたものではない。従って、ＨＴＭＬは、このようなニーズを満たすソリューションとしては、以下のような課題を有している。
【００２４】
即ち、上述したように、ＨＴＭＬは構造化された文書、すなわちテキストというメディアを表現するためのフォーマットである。従って、ＨＴＭＬにおいては、テキスト以外の他のメディア（画像等）は、そのテキスト（文章）中に挿入されるという形態を取っている。
【００２５】
しかしながら、このように、他のメディアが文書中に挿入されると、提示の一意性が保証されないという第１の課題がある。
【００２６】
即ち、テキストに挿入されるメディアの位置は、そのテキストのレイアウトにより決定されるが、テキストはウィンドウの端まで行くと折り返される（例えば、図２に示されるように、表示３４の領域５２内においては、「パスタ屋さん」で折り返され、それに続く「をみつけました」は次の行に表示される）ので、ＨＴＭＬブラウザのウィンドウのサイズが決定されるまで（ユーザがコンテンツを表示するまで）、そのメディアの表示位置は決定されないことになる。
【００２７】
図３に示される表示３４−１と図４に示される表示３４−２は、このような、同一のＨＴＭＬ文章でも、メディアの表示位置がウィンドウのサイズの違いにより異なってしまうプレゼンテーションの例、即ち、提示の一意性が保証されないプレゼンテーションの例を表している。
【００２８】
換言すると、ＨＴＭＬによる表示のレイアウト方法は、文書の一部として画像等のメディアを表示する方法としては好適であるが、マルチメディアコンテンツとして、様々なメディアを組み合わせて表示する方法としては好適であるとはいえない。
【００２９】
なぜならば、マルチメディアコンテンツではデザインが重視されることが多く、コンテンツの製作者は、提示する個々のメディアの位置を絶対値で指定でき、ＨＴＭＬブラウザのウィンドウサイズに関わらず、コンテンツを同一のデザインで提示することを望むことが多いからである。即ち、コンテンツの製作者は、自分自身が製作したマルチメディアコンテンツが、ＨＴＭＬブラウザのウィンドウサイズによって、表示３４−１（図３）または表示３４−２（図４）のように可変されて表示されることは望んでおらず、例えば、図５の表示３４−３に示されるように、見出しのテキスト、２つの本文のテキスト、および画像のそれぞれが、表示３４−３の固定された座標系上の絶対位置（図５の例では、左上端からの絶対値）で指定されて表示されることを望んでいる。
【００３０】
また、ＨＴＭＬフォーマットはテキストの構造のみが規定されているので、ＨＴＭＬデータが実際に表示される場合、テキストのフォント種類、字間、および行間などのレイアウトの詳細、並びに、ハイパーリンクの表現方法（青色のフォントと下線で表現される場合が多いが、規定はされていない）等は、ＨＴＭＬブラウザに基本的に依存する。異なるベンダーにより開発されたＨＴＭＬブラウザのそれぞれにより、同一のＨＴＭＬ文書が提示されると、微妙に異なって表示される場合がある。これも提示の一意性が保証されていないことの現われである。
【００３１】
こうした状況に対して、ＨＴＭＬ文書のスタイルを指定するための機構として、ＣＳＳ（Ｃａｓｃａｄｉｎｇ　Ｓｔｙｌｅ　Ｓｈｅｅｔｓ）が提案されている。ＣＳＳを利用することによりテキストのレイアウトを一意に指定することが可能である。しかしながら、ＣＳＳはあくまで文書のレイアウトを行うためのものであり、各社ＨＴＭＬブラウザのサポートもまちまちで、また、後述するような３Ｄ（３Ｄｉｍｅｎｓｉｏｎａｌ）のプレゼンテーションにも対応していない。また、ＣＳＳは（ＨＴＭＬとは異なる）独自の文法を有しており、コンテンツ製作者はそれに習熟する必要がある。
【００３２】
このように、ＨＴＭＬは、マルチメディア表現の必須条件である、提示の一意性が保証されないという第１の課題を有している。
【００３３】
さらに、マルチメディア表現という観点から見て、ＨＴＭＬは、メディア間の同期機構が備わっていないという第２の課題を有している。
【００３４】
メディア間の同期機構は、音声、動画、およびアニメーションなどのように、時間軸を持つメディアが組み合わされて提示される場合、それらの提示のタイミングを制御する仕組みである。メディアの同期機構を利用することで、例えば、音楽に合わせたアニメーションの再生や、複数の動画の同時または連続した再生などといった表現が可能になる。このように、メディアの同期機構は、マルチメディアコンテンツの実現には欠かせない機能である。
【００３５】
また、ＨＴＭＬは、そのコンテンツの、異種の機器間（例えば、パーソナルコンピュータとデジタル家電製品の間）における互換性がないという第３の課題を有している。
【００３６】
即ち、ＨＴＭＬには、コンテンツを操作するためのインタフェースに関する規定はないが、パーソナルコンピュータ上のＨＴＭＬブラウザの多くは、パーソナルコンピュータのインタフェース、例えば、ウィンドウズ（登録商標）ＯＳが提供するウィンドウ上に実現される。
【００３７】
このウィンドウはサイズが可変とされるので、ＨＴＭＬブラウザのサイズも可変とされる。即ち、ブラウザの横方向のサイズは不定であり、表示しきれないコンテンツは下へはみ出して、表示されない。これを表示するために縦方向のスクロールが利用される。また、ハイパーリンクによる他のＨＴＭＬ文書へのジャンプ等のコンテンツ操作には、マウスが利用される。コンテンツもこのようなパーソナルコンピュータ依存の操作性が、前提とされて製作される。
【００３８】
これに対して、デジタル家電製品においても、ＨＴＭＬ文章の表示が可能であるが、ＨＴＭＬブラウザの表示サイズは一般的に固定されており、またスクロール機能が無い場合もある。さらに、マウス等のムービングカーソルの操作は慣れが必要であり、家電製品には適さないと考えられているので、マウスに相当する機能も無い場合が多い。従って、デジタル家電製品にＨＴＭＬが適用される場合、デジタル家電製品のインタフェースで利用可能とされるように、ＨＴＭＬフォーマットに対して何らかの変更又は拡張がなされるのが一般的である。
【００３９】
このようなパーソナルコンピュータとデジタル家電製品の違いにより、インターネット上で配信されているＨＴＭＬコンテンツが、デジタル家電製品のネットワーク上で配信された場合、互換性が保てない可能性がある。この差異を吸収する変換ソフトウエアが一部で利用されているが、インターネット上のＨＴＭＬコンテンツは、上述したようにパーソナルコンピュータのインタフェースに基づいて製作されているので、そのような変換ソフトウエアにより変換されたＨＴＭＬコンテンツがデジタル家電製品で仮に再生されても、それは、意味をなさないプレゼンテーションになる可能性がある。
【００４０】
このように、ＨＴＭＬは、そのコンテンツの互換性がないという第３の課題を有している。
【００４１】
さらに、ＨＴＭＬは、その機能拡張に限界があるという第４の課題を有している。
【００４２】
即ち、ＨＴＭＬは、上述したように、本来、構造化された文書データであり、アプリケーションプログラムではない。従って、ＨＴＭＬブラウザは、ＨＴＴＰサーバに予め用意されたデータを表示することしかできない。また、表示可能なデータの種類（メディア）は、ＨＴＭＬのフォーマットで規定されたものに限られる。
【００４３】
例えば、新規に開発されたメディアが利用される場合、上述したＷ３Ｃで標準化されたＨＴＭＬのフォーマットに対して拡張が行われる必要がある。また、そのメディアが利用されるためには、各社のＨＴＭＬブラウザが、その新規メディアを再生するためのソフトウエア・モジュールをサポートしており、拡張した部分、すなわちタグを正しく認識する必要がある。
【００４４】
しかしながら、実際には、各社のＨＴＭＬブラウザで独自にタグの拡張がなされている場合が多く、これらのブラウザ間でコンテンツの互換性がない場合がある。またＨＴＭＬコンテンツも特定のＨＴＭＬのブラウザの、特定の拡張に依存している場合がある。
【００４５】
ＨＴＭＬコンテンツの機能を拡張する他の方法として、プラグイン機構がある。プラグインは、ＨＴＭＬブラウザに対する機能拡張用のソフトウエア・モジュールである。任意の機能を実現するプラグインが開発され、ＨＴＭＬブラウザにインストールすることで、ＨＴＭＬコンテンツからその機能を実行させることができる。しかしながら、ユーザは、このようなプラグインを利用するために、そのダウンロードやインストール、アップグレードを事前に行わなければならない。またプラグインは、ＯＳやブラウザ毎に開発される必要があり、そのプラグインをサポートしていないＨＴＭＬブラウザでは、そのプラグインを利用したＨＴＭＬコンテンツは表示できない。
【００４６】
さらに、正確には、プラグインによる拡張機能は、ＨＴＭＬコンテンツの一部の領域で他のアプリケーションが動作するという形態をとっており、コンテンツ自体にその機能が含まれている訳ではなく、ＨＴＭＬ自体は構造化された文書であることに変わりがない。
【００４７】
なお、ＨＴＭＬ文書自体に任意のロジックを実行させることを目指した拡張としてＪａｖａ（Ｒ）Ｓｃｒｉｐｔがある。Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔは、スクリプト言語であり、Ｃ言語やＪａｖａ（Ｒ）言語と同様に、条件分岐や繰り返しといった制御構造をサポートしながら、デザイナーやコンテンツクリエイターといったコンテンツ製作者でも比較的容易に記述できるように考慮された文法を有している。またＪａｖａ（Ｒ）Ｓｃｒｉｐｔのコードはインタプリタで実行するので、事前にコンパイルする必要がない、といった扱いやすさが特徴である。一方で、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔは、扱いやすさを重視した代わりに、実行パフォーマンスやプログラムサイズ、またプログラムの構造化といった点ではＣ言語やＪａｖａ（Ｒ）言語に劣る。
【００４８】
このような理由から、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔは、ＨＴＭＬが提供するメディアやプラグイン、またブラウザそのものを操作するといった比較的単純な用途に適しているが、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔ自体で複雑な機能（例えば、特定のメディアのデコーダやＧＵＩ部品）を実現するのは現実的でない場合が多い。
【００４９】
このように、ＨＴＭＬは、その機能拡張に限界があるという第４の課題を有している。
【００５０】
さらに、ＨＴＭＬは、そのコンテンツの生産性が劣るという第５の課題を有している。
【００５１】
即ち、上述したように、ＨＴＭＬは、研究者が構造化された文書データを共有することを目的に開発されたものである。そのような用途に限って言えば、ソフトウエアの素養のある研究者にとっては、ＨＴＭＬのフォーマットに従って、テキストエディタ等のツールでコンテンツを記述することは比較的容易な作業であるといえる。
【００５２】
これに対して、デザイナーやクリエイターは、よりエンターテイメント性が高く複雑なコンテンツを製作する場合、テキストエディタ等を使って直接ＨＴＭＬ文書を記述することは稀であり、一般的に、専用のオーサリング・ソフトウエアを利用する。それらのソフトウエアは、グラフィカルなコンテンツ製作環境を提供することにより、ＨＴＭＬに関する知識が少なくとも、比較的複雑なレイアウトのコンテンツを製作することを可能とする。
【００５３】
しかしながら、ＨＴＭＬのフォーマット自体は、そのようなオーサリング・ソフトウエアとの親和性を考慮して設計されているわけではない。その弊害として、ソフトウエアが機械的にＨＴＭＬ文書を作成することによるデータサイズのオーバヘッドや、オーサリング・ソフトウエア間の互換性、コンテンツの仕上げ段階の微妙な調整の難しさ、および、作成されたＨＴＭＬ文書の可読性の低さ等が挙げられ、ＨＴＭＬの利点がむしろ欠点になっているような状況である。
【００５４】
また、上述したようにＨＴＭＬコンテンツに拡張機能が組み込まれる場合、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔ等のスクリプト言語が利用されることが多いが、多少複雑な機能でもデザイナーやコンテンツクリエイターが、自分自身でＪａｖａ（Ｒ）Ｓｃｒｉｐｔのコードを記述する場合が多い。
【００５５】
しかしながら、コンテンツの生産性の観点からは、こうした拡張機能は、ソフトウエアに関してより高いスキルを持つプログラマにより、Ｃ言語やＪａｖａ（Ｒ）言語等のプログラム言語が利用されて開発される方が好適である。また、コンテンツの生産性の観点から見て、デザイナーやクリエイターは、それらの拡張機能をどのようにカスタマイズし、組み合わせるか、また、どのようなサービスを実現するかに注力する方が好適であり、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔ等のスクリプト言語は、デザイナーやコンテンツクリエイターがこれらの拡張機能を組み合わせて制御するために利用される方が好適である。
【００５６】
しかしながら、現状では、ＨＴＭＬコンテンツの製作において、そのような分業体制は確立されておらず、ＨＴＭＬのフォーマット自体もこうした開発フローとの親和性を考慮して設計されているわけではない。
【００５７】
また、一度開発された拡張機能は、コンテンツの生産性の観点からは、再利用されるべきであるが、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔ等のスクリプト言語はソフトウエアのモジュール化に関する機能（カスタマイズのしやすさ、実装のカプセル化、ソフトウエア・モジュールの配布等）が十分にサポートされているとはいえず、再利用は困難である。
【００５８】
このように、ＨＴＭＬは、そのコンテンツの生産性が劣るという第５の課題を有している。
【００５９】
また、ＨＴＭＬは、ハードウエアの性能を十分に発揮させることが困難であるという第６の課題を有している。
【００６０】
即ち、パーソナルコンピュータを含め、デジタル家電製品のハードウエアの機能、および性能は、今後ますます向上していくことと思われる。特に、近い将来、一部の家庭用ゲームで実現されているような、高性能な３Ｄグラフィックス機能が他の製品でも採用される可能性が大きい。
【００６１】
これに対して、ＨＴＭＬは、本来、構造化された文書の共有を目的としたソフトウエアであり、３Ｄを前提としたコンテンツの表現には不適である。上述したように、プラグインやＪａｖａ（Ｒ）Ｓｃｒｉｐｔ等のプラグインによってＨＴＭＬのコンテンツに機能の拡張を行うことは可能であるが、それぞれ上述したような課題を抱えており、近い将来のデジタル家電製品が有するであろうハードウエア性能を引き出すためには、ＨＴＭＬは、必ずしも適切なソリューションとなりうるものではない。
【００６２】
このように、ＨＴＭＬは研究者の間で文書データを共有するというニーズを満たすために開発されたソフトウエア・アーキテクチャである。文書データの共有という観点からは、現在でも最も洗練されたソリューションの１つであると考えられる。しかしながら、現在の情報ネットワーク上でのコンテンツ配信におけるニーズは、高機能指向、マルチメディア指向であり、かつデザイナーやコンテンツクリエイターといった職種のコンテンツ製作者にとって製作が容易であることが求められている。
【００６３】
このようなニーズの変化に対応するため、これまでＨＴＭＬに様々な機能の拡張がなされてきたが、上述したように、ＨＴＭＬ本来の設計思想に沿ったものでないため、コンテンツの互換性や生産性などの面で根本的な解決に至っておらず、上述した第１乃至第６の課題を抱えている。
【００６４】
本発明は、このような状況に鑑みてなされたものであり、高機能なマルチメディアコンテンツを容易に取り扱うことができるようにするものである。
【００６５】
【課題を解決するための手段】
本発明の第１のプログラムは、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエアと、ブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとを含むことを特徴とする。
【００６６】
ブラウザソウトウエアは、さらに、複数のメディアを同期再生するサービスと、第１のシーンと、第２のシーンとの間を遷移する遷移サービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するようにすることができる。
【００６７】
マルチメディアコンテンツは、ブラウザソフトウエア上で再生される場合、提示の一意性が保たれるように構成されるようにすることができる。
【００６８】
本発明の第１の記録媒体のプログラムは、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエアと、ブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとを含むことを特徴とする。
【００６９】
本発明の第１のプログラムおよび記録媒体においては、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエアと、そのブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、そのコンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとを含むプログラムが提供される。
【００７０】
本発明の第２のプログラムは、マルチメディアコンテンツとしてのプログラムであって、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツを含むことを特徴とする。
【００７１】
本発明の第２のプログラムの記録媒体は、マルチメディアコンテンツとしてのプログラムであって、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツを含むことを特徴とする。
【００７２】
本発明の第２のプログラムおよび記録媒体においては、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエア上で動作する複数のコンポーネントが、カスタマイズして任意に組み合わせられたコンポーネント群と、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツが、プログラムとして提供される。
【００７３】
本発明の第３のプログラムは、ブラウザソフトウエアとしてのプログラムであって、マルチメディアコンテンツとしてのプログラムであって、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供することを特徴とする。
【００７４】
本発明の第３の記録媒体のプログラムは、ブラウザソフトウエアとしてのプログラムであって、マルチメディアコンテンツとしてのプログラムであって、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれにそれらのサービスを提供することを特徴とする。
【００７５】
本発明の第３のプログラムおよび記録媒体においては、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエアが供給される。
【００７６】
本発明の第４のプログラムは、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツを製作する製作ステップを含むことを特徴とする。
【００７７】
製作されたマルチメディアコンテンツと、ブラウザソフトウエアとを組み合わせて、１つのプログラムにする組み合わせステップをさらに含むようにすることができる。
【００７８】
製作ステップは、配布形式のコンポーネントを読み込んでＧＵＩ上に表示させるように制御する表示制御ステップと、ＧＵＩ上で選択されたコンポーネントをマルチメディアコンテンツに追加する追加ステップと、マルチメディアコンテンツ上に含まれるコンポーネントのカスタマイズを行うＧＵＩを提供する提供ステップと、表示制御ステップ、追加ステップ、および、提供ステップの処理により編集されたマルチメディアコンテンツを、配布可能な形式に変換する変換ステップとを含むようにすることができる。
【００７９】
本発明の第４の記録媒体のプログラムは、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツを製作する製作ステップを含むことを特徴とする。
【００８０】
本発明の第４のプログラムおよび記録媒体においては、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツが製作されるプログラムが提供される。
【００８１】
本発明の第５のプログラムは、テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って生成されたマルチメディアコンテンツのフォーマットを、第１のフォーマットから第２のフォーマットに変換する変換ステップを含み、変換ステップの処理により第２のフォーマットに変換されたマルチメディアコンテンツは、第２のフォーマットのマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群と、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツであることを特徴とする。
【００８２】
変換ステップの処理により第２のフォーマットに変換されたマルチメディアコンテンツと、ブラウザソフトウエアとを組み合わせて、１つのプログラムとする組み合わせステップをさらに含むようにすることができる。
【００８３】
第１のフォーマットで利用される技術は、ＸＭＬを利用する技術であるようにすることができる。
【００８４】
本発明の第５の記録媒体のプログラムは、テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って生成されたマルチメディアコンテンツのフォーマットを、第１のフォーマットから第２のフォーマットに変換する変換ステップを含み、変換ステップの処理により第２のフォーマットに変換されたマルチメディアコンテンツは、第２のフォーマットのマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群と、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツであることを特徴する。
【００８５】
本発明の第５のプログラムおよび記録媒体においては、テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って生成されたマルチメディアコンテンツのフォーマットが、第１のフォーマットから第２のフォーマットに変換される。その第２のフォーマットに変換されたマルチメディアコンテンツは、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとされる。
【００８６】
本発明のマルチメディアコンテンツを再生する装置としての情報処理装置は、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエアと、ブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとを含むプログラムを取得する取得手段と、取得手段により取得されたブラウザソフトウエアを実行する実行手段と、実行手段により実行されたブラウザソフトウエアが提供するサービスを利用して、取得手段により取得されたマルチメディアコンテンツを再生する再生手段とを備えることを特徴とする。
【００８７】
ブラウザソフトウエアを記憶する記憶手段をさらに設け、記憶手段は、ブラウザソフトウエアを予め記憶しており、実行手段は、取得手段によりマルチメディアコンテンツのみが取得された場合、記憶手段に予め記憶されているブラウザソフトウエアを実行するようにすることができる。
【００８８】
本発明のマルチメディアコンテンツを再生する装置としての情報処理装置の情報処理方法は、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエアと、ブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとを含むプログラムを取得する取得ステップと、取得ステップの処理により取得されたブラウザソフトウエアを実行する実行ステップと、実行ステップの処理により実行されたブラウザソフトウエアが提供するサービスを利用して、取得手段により取得されたマルチメディアコンテンツを再生する再生ステップとを含むことを特徴とする。
【００８９】
本発明のマルチメディアコンテンツを再生する装置としての情報処理装置および方法においては、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエアと、所定の構成を有するマルチメディアコンテンツとからなるプログラムが取得され、取得されたブラウザソフトウエアが実行され、実行されたブラウザソフトウエアが提供するサービスが利用されて、取得されたマルチメディアコンテンツが再生される。
【００９０】
本発明のマルチメディアコンテンツを製作する第１の装置としての情報処理装置は、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツを製作することを特徴とする。
【００９１】
本発明のマルチメディアコンテンツを製作する第１の装置としての情報処理装置の情報処理方法は、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツを製作することを特徴とする。
【００９２】
本発明のマルチメディアコンテンツを製作する第１の装置としての情報処理装置および方法においては、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエア上で動作し、かつ、所定の構成を有するマルチメディアコンテンツが製作される。
【００９３】
本発明のマルチメディアコンテンツを製作する第２の装置としての情報処理装置は、テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って、マルチメディアコンテンツを製作する製作手段と、製作手段により製作されたマルチメディアコンテンツのフォーマットを、第１のフォーマットから第２のフォーマットに変換する変換手段とを備え、変換手段により第２のフォーマットに変換されたマルチメディアコンテンツは、第２のフォーマットのマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群と、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツであることを特徴とする。
【００９４】
変換手段により第２のフォーマットに変換されたマルチメディアコンテンツと、ブラウザソフトウエアとを組み合わせて、１つのプログラムとする組み合わせ手段をさらに設けるようにすることができる。
【００９５】
第１のフォーマットで利用される技術は、ＸＭＬを利用する技術であるようにすることができる。
【００９６】
本発明のマルチメディアコンテンツを製作する第２の装置としての情報処理装置の情報処理法は、テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って、マルチメディアコンテンツを製作する製作ステップと、製作ステップの処理により製作されたマルチメディアコンテンツのフォーマットを、第１のフォーマットから第２のフォーマットに変換する変換ステップとを含み、変換ステップの処理により第２のフォーマットに変換されたマルチメディアコンテンツは、第２のフォーマットのマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群と、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツであるようにすることができる。
【００９７】
本発明のマルチメディアコンテンツを製作する第２の装置としての情報処理装置および情報処理法においては、テキストによりデータ構造を表現する技術を利用する第１のフォーマットに従って、マルチメディアコンテンツが製作され、製作されたマルチメディアコンテンツのフォーマットが、第１のフォーマットから第２のフォーマットに変換される。その第２のフォーマットに変換されたマルチメディアコンテンツは、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとされる。
【００９８】
本発明の情報処理システムは、マルチメディアコンテンツを製作し、かつ、製作したマルチメディアコンテンツを配信する第１の情報処理装置と、第１の情報処理装置により配信されたマルチメディアコンテンツを再生する第２の情報処理装置とが、所定のネットワークを介して相互に接続された情報処理システムであって、第１の情報処理装置は、所定のマルチメディアコンテンツを読み込み、マルチメディアコンテンツを構成する各シーンのそれぞれに含まれる、コンポーネント群、および、スクリプトのそれぞれをロードするサービスと、コンポーネント群を構成する各コンポーネントのライフサイクルを管理するサービスと、各コンポーネントのそれぞれを、所定の３Ｄ仮想空間に表示させ、かつ、３Ｄ仮想空間に既に表示されているコンポーネントを消去させるサービスと、スクリプトのインタプリタと、各コンポーネントのそれぞれとの間の通信サービスを提供するサービスと、各コンポーネントのうちの所定のものと、他のコンポーネントとの間のフォーカス遷移を管理するサービスと、所定の外部キーからの入力を、対応するコンポーネントに配布するサービスとを各コンポーネントのそれぞれが受けるために満たすべき仕様に従って、各コンポーネントのそれぞれに各サービスのそれぞれを提供するブラウザソフトウエアと、ブラウザソフトウエア上で動作する複数のコンポーネントを、カスタマイズして任意に組み合わせたコンポーネント群、および、コンポーネントを操作するためのスクリプトとを含むシーンが、複数個集合されたマルチメディアコンテンツとを製作し、製作したマルチメディアコンテンツと、ブラウザソフトウエアを１つのプログラムとして、第２の情報処理装置にネットワークを介して配信し、第２の情報処理装置は、配信されたプログラムのうちのブラウザソフトウエア上に、そのプログラムのうちのマルチメディアコンテンツを再生させることを特徴とする。
【００９９】
本発明の情報処理システムにおいては、第１の情報処理装置により、所定のサービスをコンポーネントが受けるために満たすべき仕様に従って、コンポーネントにそれらのサービスを提供するブラウザソフトウエア上で動作し、かつ、所定の構成を有するマルチメディアコンテンツが製作され、製作されたマルチメディアコンテンツと、ブラウザとからなる１つのプログラムが配信され、第２の情報処理装置により、配信されたブラウザソフトウエア上に、配信されたマルチメディアコンテンツが表示される。
【０１００】
本発明のプログラムを実行するコンピュータは、パーソナルコンピュータ等の単独のコンピュータでもよいし、デジタル家電製品等の他の装置に組み込まれたコンピュータでもよい。同様に、本発明の情報処理装置は、パーソナルコンピュータ等でもよいし、デジタル家電製品等の他の装置でもよい。
【０１０１】
【発明の実施の形態】
はじめに、本実施の形態が適用する基礎技術の１例であるＪａｖａ（Ｒ）について説明する。
【０１０２】
Ｊａｖａ（Ｒ）は、汎用的なプログラム開発または実行のための基盤ソフトウエアであり、情報ネットワーク上でのソフトウエア配信に適したソフトウエアとしてサン・マイクロシステムズ社によって開発されたものである。
【０１０３】
Ｊａｖａ（Ｒ）テクノロジーの中核は、次の（１）乃至（４）に示されるものである。
【０１０４】
（１）　Ｊａｖａ（Ｒ）言語と称されるプログラム言語仕様
（２）　Ｊａｖａ（Ｒ）言語で記述されたプログラムを、中間コードと称されるフォーマットに変換するためのコンパイラ
（３）　中間コードを、コンピュータ上で実行するためのソフトウエアであるＪａｖａ（Ｒ）バーチャルマシン
（４）　Ｊａｖａ（Ｒ）言語用に標準化されたクラスライブラリ
【０１０５】
特に、バーチャルマシンと標準化クラスライブラリを併せて、Ｊａｖａ（Ｒ）実行環境と称している。
【０１０６】
中間コードとライブラリの仕様は、ＯＳ等のプラットフォームに非依存となるように設計されているので、結果として、標準化ライブラリのみが外部モジュールとして利用されて、開発されたＪａｖａ（Ｒ）プログラム（実際には、それが中間コードにコンパイルされたもの）は、端末側にＪａｖａ（Ｒ）実行環境がサポートされていれば、その下位のプラットフォームのアーキテクチャに関わらず実行可能である。また標準化ライブラリ以外の外部モジュールでも、Ｊａｖａ（Ｒ）言語で開発されていて、各プラットフォームに存在するものであれば利用可能である。
【０１０７】
さらに、Ｊａｖａ（Ｒ）の標準化ライブラリには、ＵＲＬを指定することで、ＨＴＴＰ等のプロトコルを介してネットワークから特定のファイルをダウンロードする機能等も用意されている。これにより、情報ネットワークからＪａｖａ（Ｒ）アプリケーションを取得、実行することが可能になる。
【０１０８】
このようなＪａｖａ（Ｒ）の特徴は、ネットワークを介したコンテンツ配信に大きな可能性をもたらす。なぜならば、パーソナルコンピュータやデジタル家電製品などの端末にＪａｖａ（Ｒ）の実行環境を搭載することにより、従来の、ＨＴＭＬのようなフォーマットに基づいたデータの配信ではなく、それ自体がロジックを備えたアプリケーションの配信をクロスプラットフォームで行うことが可能になるからである。
【０１０９】
図６と図７は、ＨＴＭＬ文章と、Ｊａｖａ（Ｒ）アプリケーションの配信の方式の違いを表している。即ち、図６は、ＨＴＭＬコンテンツの配信の方式を表しており、これに対して、図７は、Ｊａｖａ（Ｒ）アプリケーションの配信の方式を表している。
【０１１０】
図６に示されるように、ＨＴＭＬコンテンツの配信の場合、ネットワークを介して配信されるものは、配信コンテンツ６１であり、具体的には、ＨＴＭＬ文書６３、即ち、データである。また、端末ソフトウエア６２は、ＨＴＭＬ文章６３の解釈、および、再生を行うＨＴＭＬブラウザ６４、並びに、ＯＳ等のプラットフォーム６３から構成される。従って、上述したように、そのコンテンツにより実現できる機能は、ＨＴＭＬブラウザの機能に限定される。
【０１１１】
一方、図７に示されるように、Ｊａｖａ（Ｒ）アプリケーションの配信の場合、ネットワークを介して配信されるものは、配信アプリケーション７１、即ち、Ｊａｖａ（Ｒ）アプリケーション７３である。端末ソフトウエア７２は、Ｊａｖａ（Ｒ）アプリケーション７３を実行するＪａｖａ（Ｒ）実行環境７４、および、プラットフォーム７５である。従って、Ｊａｖａ（Ｒ）言語で実装できる機能であればどのようなものでも配信コンテンツとして実現可能となる。
【０１１２】
実際に、欧州の標準化団体ＤＶＢ（Ｄｉｇｉｔａｌ　Ｖｉｄｅｏ　Ｂｒｏａｄｃａｓｔｉｎｇ）によって規格化が行われたデジタル家電製品用ソフトウエアプラットフォームの規格であるＭＨＰ（Ｍｕｌｔｉｍｅｄｉａ　Ｈｏｍｅ　Ｐｌａｔｆｏｒｍ）では、このような動向に先がけて、Ｊａｖａ（Ｒ）言語で作成されたアプリケーションの実行環境のサポートが盛り込まれている。
【０１１３】
ただし、Ｊａｖａ（Ｒ）は汎用的な用途で用いられるソフトウエア環境である。Ｊａｖａ（Ｒ）のコンテンツを開発するには、Ｊａｖａ（Ｒ）言語によるプログラミングのスキルが必要であり、デザイナーやコンテンツクリエイターが直接Ｊａｖａ（Ｒ）言語を利用してコンテンツを開発するのは現実的でないし、そうあるべきでもない。さらに、コンテンツの開発コストもＨＴＭＬの場合と比べて大きくなる場合もある。
【０１１４】
従って、上述した第１乃至第６の課題についても、Ｊａｖａ（Ｒ）を採用したというだけで解決されるわけではない。即ち、Ｊａｖａ（Ｒ）のもつ特長を利用して、これらの課題をいかにして解決するかが重要なことである。
【０１１５】
そこで、本実施の形態においては、以下の特徴を有するマルチメディアコンテンツの製作、配信、および、再生を可能にするソフトウエアを実現することによって、上述した課題を解決している。
【０１１６】
第１の特徴として、マルチメディアに適したプレゼンテーションおよび、操作性を実現可能にすることが挙げられる。具体的には、次に示す（１１）乃至（１５）のような特徴がある。
【０１１７】
（１１）提示の一意性の保証
本実施の形態のソフトウエアにおいては、個々のモノメディアを画面上に配置していくことによってマルチメディアコンテンツを製作する。実際には、各種のモノメディアのそれぞれは、後述するコンポーネントの一種として実現される。本実施の形態のソフトウエアによるコンテンツのレイアウトは、そのコンテンツを構成する各コンポーネントの位置を画面上の絶対座標で指定することによって行われる。これにより、製作したコンテンツは再生時に、プラットフォームの種類、またはブラウザのウィンドウサイズに関わらず、製作時と同じレイアウト及びデザインで提示される。
【０１１８】
（１２）上下左右及び決定キーによるナビゲーション
本実施の形態のソフトウエアにおいては、ユーザとコンテンツとのインタフェースとして、（上下左右の）矢印キーと決定キーが利用される。本実施の形態のソフトウエアを実行するプラットフォームが、これらのキーをハードウエア的に提供することを想定している。図８は、これらのハードウエアとしてのキー群の例を表している。即ち、本実施の形態のユーザとコンテンツとのインタフェースは、決定キーとしてのキー９１−１、上矢印キーとしてのキー９１−２、右矢印キーとしてのキー９１−３、下矢印キーとしてのキー９１−４、および、左矢印キーとしてのキー９１−５から構成される。このようなキー群９１を有する入力デバイスの代表的なものとして、リモートコントローラ（以下、単にリモコンと称する）が挙げられる。また、これらのキー群９１を有する入出力デバイスは、リモコンに限定されず、パーソナルコンピュータはもちろん、モバイル端末や各種デジタル家電製品においても、同一の操作でコンテンツとのインタラクションを行うことが可能とされている。ユーザは、このボタン群９１を利用して、画面上のコンポーネントの１つを選択することにより、コンテンツとのインタラクションを行う。
【０１１９】
（１３）シーン単位のコンテンツ構成
本実施の形態のソフトウエアにおけるマルチメディアコンテンツは複数のシーン（画面）から構成され、シーン単位で配信される。
【０１２０】
（１４）メディア同期機構
本実施の形態は、動画や音声、アニメーション等、時間軸を持つ複数のメディアを同期させて提示する機能を提供する。
【０１２１】
（１５）３Ｄベースのプレゼンテーション
本実施の形態におけるマルチメディアコンテンツは、３Ｄベースのプレゼンテーションを基本とする。これにより、直感的で分かり易いユーザーインタフェースの構築が可能となっている。
【０１２２】
本実施の形態のソフトウエアの第２の特徴として、低コストで、高機能なコンテンツ製作を実現可能にするコンポーネントフレームワークが挙げられる。具体的には、次に示す（２１）乃至（２４）のような特徴がある。
【０１２３】
（２１）　任意のコンポーネントを組み合わせてコンテンツを構成する
本実施の形態のマルチメディアコンテンツにおいては、各シーンは、任意のコンポーネントの組み合わせから構成される。コンポーネントの例として、動画若しくは静止画などのモノメディア部品、または、ボタンなどのＧＵＩ（Ｇｒａｐｈｉｃａｌ　Ｕｓｅｒ　Ｉｎｔｅｒｆａｃｅ）部品が挙げられる。実際のコンテンツ製作は、後述するようなオーサリングシステムを利用して行われる。コンテンツ製作者は、オーサリングシステム上でシーンにコンポーネントを追加し、コンポーネントのカスタマイズを行ったり、スクリプト言語を利用してその振る舞いを記述したりすることが出来る。
【０１２４】
（２２）　ブラウザソフトウエア（以下、単にブラウザと称する）によるコンテンツの再生
本実施の形態のマルチメディアコンテンツは、ブラウザによって再生される。ブラウザは、指定されたシーンをロードし、シーンを構成するコンポーネント群の読み込み及び３Ｄ表示を行う。さらにブラウザは、コンポーネントのライフサイクルの管理、キー入力によるナビゲーションのサポート、スクリプトとコンポーネントのバインディング等のサービスもコンポーネントに提供する。
【０１２５】
（２３）　コンポーネントのインタフェース仕様
コンポーネントは、ブラウザのサービスを受けるためには、定められたインタフェース仕様を満たした実装をする必要があるが、それ以外はソフトウエア的にコンポーネントとブラウザは完全に分離されている。従って、その仕様を満たしていれば、任意の機能を持ったコンポーネントを自由に新規開発し、コンテンツに組み込むことが可能である。
【０１２６】
（２４）　スクリプト言語によるコンポーネント制御
本実施の形態のソフトウエアにおいては、スクリプト言語を採用することにより、デザイナーやコンテンツクリエイターといった、専門的なプログラム言語のスキルがないと考えられる一般のコンテンツ製作者でも、コンポーネントを操作したり、コンポーネントからのイベントを受け取って、その種類に応じた処理を行ったりという、コンポーネントの振る舞いの制御を記述することを可能としている。
【０１２７】
本発明のソフトウエアの第３の特徴として、クロスプラットフォームのコンテンツ再生環境が挙げられる。具体的には、次に示す（３１）と（３２）のような特徴がある。
【０１２８】
（３１）ブラウザの配信
ブラウザはコンテンツとともに配信することが可能である。これにより、ブラウザのバージョンアップや他のアーキテクチャとの共存が容易になる。
【０１２９】
（３２）クロスプラットフォーム
配信されるコンテンツ及びブラウザは、Ｊａｖａ（Ｒ）等のクロスプラットフォームで動作する言語で作成されたアプリケーションであり、その動作環境が提供されるプラットフォームであれば実行が可能である。
【０１３０】
以下、Ｊａｖａ（Ｒ）を利用した場合の本実施の形態を説明する。
【０１３１】
図９は、本実施の形態が適用された情報配信システムの構成例を表している。
【０１３２】
図９に示されるように、情報配信システム１０１においては、サービス事業者が管理するサービス事業者装置群１１１（具体的には、後述するサーバ１２４）と、ユーザが管理する受信端末１１３が、所定のネットワーク１１２を介して相互に接続されている。
【０１３３】
サービス事業者装置群１１１は、モノメディア製作装置１２１、コンポーネント開発装置１２２、マルチメディアコンテンツ製作装置１２３、および、サーバ１２４から構成されている。なお、この例においては、モノメディア装置１２１乃至サーバ１２４のそれぞれは別の装置とされているが、モノメディア装置１２１乃至サーバ１２４は、１つの装置に集約されてもよいし、所定の個数の装置（例えば、モノメディア製作装置１２１乃至マルチメディアコンテンツ製作装置１２３の機能を有する第１の装置と、サーバ１２４の機能を有する第２の装置との２つの装置）に分割されてもよい。また、その分割の区切りも任意である。
【０１３４】
なお、サービス事業者装置群１１１を管理するものは、特に限定されないが、マルチメディアコンテンツを製作し、ネットワーク１１２を介してユーザ（受信端末１１３）に配信する主体である。現在のインターネットにおけるＷ．Ｗ．Ｗのように、営利若しくは非営利を目的とする個人、または、団体など様々な形態の主体が考えられる。
【０１３５】
モノメディア製作装置１２１は、動画、静止画、音声、テキスト、または、３Ｄ形状など、マルチメディアコンテンツに組み込むための各種モノメディアを製作し、マルチメディアコンテンツ製作装置１２３に供給する。モノメディア製作装置１２１は、一般的には、デザイナーにより操作される。
【０１３６】
コンポーネント開発装置１２２は、本実施の形態におけるコンポーネントを開発し、マルチメディアコンテンツ製作装置１２３に供給する。コンポーネントはＪａｖａ（Ｒ）言語により開発されるので、コンポーネント開発装置１２２は、一般的には、プログラマにより操作される。また、既に存在するコンポーネントのみでマルチメディアコンテンツの製作が可能な場合は、コンポーネント開発装置１２２は省略されてもよい。
【０１３７】
マルチメディアコンテンツ製作装置１２３は、コンポーネント開発装置１２２より供給された各種コンポーネントを組み合わせてマルチメディアコンテンツを製作し、さらに、そのマルチメディアコンテンツに、モノメディア製作装置１２１より供給された各種のモノメディアを組み込み、サーバ１２４に供給する。
【０１３８】
さらにまた、マルチメディアコンテンツ製作装置１２３は、必要に応じて、製作したマルチメディアコンテンツと、それを再生するためのブラウザとからなるソフトウエアを製作し、サーバ１２４に供給する。
【０１３９】
具体的には、マルチメディアコンテンツ製作装置１２３には、後述するようなオーサリングシステムがインストールされており、コンテンツ製作者は、このようなシステムを利用して、コンポーネントをコンテンツに組込み、カスタマイズして、スクリプト言語によりその振る舞いを記述する。この場合、コンテンツ製作者は、Ｊａｖａ（Ｒ）言語の知識を有する必要はない。従って、マルチメディアコンテンツ製作装置１２３は、一般的に、Ｊａｖａ（Ｒ）言語の知識を特に有しないデザイナーやコンテンツクリエイターにより直接操作される。
【０１４０】
サーバ１２４は、ネットワーク１１２と接続されており、マルチメディアコンテンツ製作装置１２３より供給されたマルチメディアコンテンツを、ネットワーク１１２を介して受信端末１１３に配信する。また、サーバ１２４は、必要に応じて、そのマルチメディアコンテンツと、それを再生するためのブラウザとからなるソフトウエアを配信する。なお、このソフトウエアは、上述したように、マルチメディアコンテンツ製作装置１２３より供給されたものとされてもよいし、サーバ１２４により、新たに生成されてもよい。
【０１４１】
サーバ１２４には、このような処理を実行するためのサーバアプリケーションソフトウエアがインストールされている。ネットワークやプロトコルの種類によりサーバアプリケーションの種類も異なるが、インターネット上でＨＴＴＰプロトコルを利用して配信を行う場合は、一般的なＨＴＴＰサーバが、サーバ１２４に相当する。
【０１４２】
ネットワーク１１２は、特に限定されないが、インターネット等のマルチメディアコンテンツを伝送可能な情報ネットワークである。
【０１４３】
受信端末１１３は、マルチメディアコンテンツを利用するユーザにより操作される。ユーザとして、一般的には、家庭における一般ユーザが想定されるが、それに限定されない。また、受信端末１１３は、マルチメディアコンテンツを利用可能なものであれば限定されず、パーソナルコンピュータの他、各種デジタル家電製品でもよい。
【０１４４】
ただし、本実施の形態が適用されるためには、受信端末１１３は、ネットワークを介して配信されるＪａｖａ（Ｒ）アプリケーションソフトウエアとしてのマルチメディアコンテンツおよびブラウザ１３１、および、配信されたＪａｖａ（Ｒ）アプリケーションソフトウエアを実行するためのソフトウエア環境であるＪａｖａ（Ｒ）実行環境１３２、および、Ｊａｖａ（Ｒ）実行環境１３２をサポートするプラットフォーム１３３を有する必要がある。
【０１４５】
Ｊａｖａ（Ｒ）実行環境１３２は、この例においては、サン・マイクロシステムズ社が配布しているＪＲＥ（Ｊａｖａ（Ｒ）　Ｒｕｎｔｉｍｅ　Ｅｎｖｉｒｏｎｍｅｎｔ）とされるが、後述するように、他のＪａｖａ（Ｒ）ソフトウエアとされてもよい。
【０１４６】
次に、マルチメディアコンテンツ製作装置１２３の構成例を、図１０を参照して説明する。
【０１４７】
ＣＰＵ１４１は、ＲＯＭ１４２に記憶されているプログラム、または記憶部１４８からＲＡＭ１４３にロードされたプログラムに従って各種の処理を実行する。
【０１４８】
ＲＡＭ１４３にはまた、ＣＰＵ１４１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１４９】
ＣＰＵ１４１、ＲＯＭ１４２、およびＲＡＭ１４３は、バス１４４を介して相互に接続されている。このバス１４４にはまた、入出力インタフェース１４５も接続されている。
【０１５０】
入出力インタフェース１４５には、キーボードなどよりなる入力部１４６、画像（動画および静止画）を表示するディスプレイや音声を出力するスピーカなどよりなる出力部１４７、ハードディスクなどより構成される記憶部１４８、図９に示される、モノメディア製作装置１２１、コンポーネント開発装置１２２、および、サーバ１２４等と相互に通信するための通信処理を実行する通信部１４９が接続されている。
【０１５１】
入出力インタフェース１４５にはまた、必要に応じてドライブ１５０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体１５１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１４８にインストールされる。
【０１５２】
なお、リムーバブル記録媒体１５１には、必要に応じて、モノメディア製作装置１２１により製作されたモノメディア、コンポーネント開発装置１２２により開発されたコンポーネント、または、マルチメディアコンテンツ製作装置１２３により製作されたマルチメディアコンテンツ等が記録される。
【０１５３】
図１１は、サーバ１２４の構成例を表している。ＣＰＵ１６１乃至リムーバブル記録媒体１７１は、上述した図１０のマルチメディアコンテンツ製作装置１２３のＣＰＵ１４１乃至リムーバブル記録媒体１４１のうちの対応する名称のものと基本的に同様の構成とされているため、その説明は省略する。ただし、通信部１６９は、マルチメディアコンテンツ製作装置１２３、および、ネットワーク１１２（図９）と通信する処理を実行する。
【０１５４】
図１２は、受信端末１１３の構成例を表している。ＣＰＵ１８１乃至リムーバブル記録媒体１９１は、上述した図１０のマルチメディアコンテンツ製作装置１２３のＣＰＵ１４１乃至リムーバブル記録媒体１４１のうちの対応する名称のものと基本的に同様の構成とされているため、その説明は省略する。ただし、通信部１６９は、ネットワーク１１２（図９）と通信する処理を実行する。また、受信端末１１３は、図１２の例では、パーソナルコンピュータの形態を取っているが、その形態はそれに限定されず、上述したように、デジタル家電製品等様々な形態を取ることが可能である。従って、入力部１８６および出力部１８７等も、その受信端末１１３の形態により様々な形態を取ることが可能である。
【０１５５】
また、図示はしないが、モノメディア製作装置１２１、および、コンポーネント開発装置１２２のそれぞれも、上述した図１０のマルチメディアコンテンツ製作装置１２３と基本的に同様の構成とされている。
【０１５６】
次に、図１３を参照して、本実施の形態が適用されるマルチメディアコンテンツ再生例の仕組みを説明する。
【０１５７】
この例においては、クロスプラットフォームでのアプリケーション配信が可能であるＪａｖａ（Ｒ）の特性を生かし、コンテンツのみならずブラウザもネットワーク１１２を介して配信される。
【０１５８】
図１３の矢印２４１に示されるように、受信端末１１３にＵＲＬが入力されると、Ｊａｖａ（Ｒ）実行環境（厳密には後述するアプリケーションマネージャ）１３２は、矢印２４２に示されるように、ＵＲＬで指定された、ネットワーク１１２上のサーバ１２４に対してアクセス要求を行い、サーバ１２４にアクセスする。そして、Ｊａｖａ（Ｒ）実行環境（厳密には後述するアプリケーションマネージャ）１３２は、ユーザにより指定されたマルチメディアコンテンツ２５２、および、それを再生するためのブラウザ２５１からなる配信ソフトウエア（Ｊａｖａ（Ｒ）アプリケーションソフトウエア）２４３を取得し、取得したブラウザ２５１を起動し、マルチメディアコンテンツ２４３のコンテンツ再生２４４を行う。例えば、受信端末１１３のディスプレイ（図１２の出力部１８７）には、コンテンツ再生２４４の結果として、後述する図２６に示されるような画像４６１が表示される。
【０１５９】
このように、ブラウザ２５１もネットワーク１１２を介して配信されることにより、ブラウザ２５１のアップデートをユーザが意識する必要がなくなる。また、Ｊａｖａ（Ｒ）実行環境１３２のみが標準化されれば、各種のアーキテクチャを持つブラウザとコンテンツを組み合わせたソフトウエア配信も自由に（標準化する必要なく）行うことが出来る。
【０１６０】
また、従来のＨＴＭＬブラウザのように、ブラウザ２５１を受信端末１１３に固定して実装し、運用することも可能である。この場合、ブラウザ２５１を、マルチメディアコンテンツ２５２を配信する毎に配信する必要がないので、配信データのデータサイズの抑制が可能になる。
【０１６１】
次に、図面を参照して、本実施の形態の動作環境について説明する。図１４は、受信端末１１３側のソフトウエアスタックを表している。
【０１６２】
図１４に示されるように、配信ソフトウエア２４３としては、Ｊａｖａ（Ｒ）アプリケーション２４３−１が存在し、端末ソフトウエア２６１としては、アプリケーションマネージャ２７１、Ｊａｖａ（Ｒ）実行環境１３２、および、プラットフォーム１３３が存在する。
【０１６３】
上述したように、Ｊａｖａ（Ｒ）アプリケーション２４３−１は、マルチメディアコンテンツ２５２、および、ブラウザ２５１から構成される。マルチメディアコンテンツ２５２は、例えば、上述したシーンデータ１９１が複数個集められて構成される。
【０１６４】
アプリケーションマネージャ２７１は、図１３に示されるように、ユーザからのＵＲＬの入力に従って、ネットワーク１１２上から、マルチメディアコンテンツ２５２およびブラウザ２５１（配信ソフトウエア２４３）をダウンロードし、実行するためのソフトウエアである。
【０１６５】
上述したＪａｖａ（Ｒ）実行環境１３２は、例えば、拡張ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ）２７２、および、ＪＲＥ　（Ｊａｖａ（Ｒ）　Ｒｕｎｔｉｍｅ　Ｅｎｖｉｒｏｎｍｅｎｔ）２７３等から構成される。
【０１６６】
ＪＲＥ２７３は、サン・マイクロシステムズ社が配布しているＪａｖａ（Ｒ）アプリケーションの実行環境であり、主に、ＪＶＭ（Ｊａｖａ（Ｒ）　Ｖｉｒｔｕａｌ　Ｍａｃｈｉｎｅ）２８４とＪ２ＳＥ　ＡＰＩ（Ｊａｖａ（Ｒ）２　Ｐｌａｔｆｏｒｍ　Ｓｔａｎｄａｒｄ　Ｅｄｉｔｉｏｎ　ＡＰＩ）２８３とから構成される。ＪＶＭ２８４は、中間コードで表現されたＪａｖａ（Ｒ）アプリケーションを解釈、および実行するためのソフトウエア（Ｊａｖａ（Ｒ）バーチャルマシン）であり、Ｊ２ＳＥ　ＡＰＩ２８３は、Ｊａｖａ（Ｒ）アプリケーション用に標準化されたクラスライブラリ群である。
【０１６７】
拡張ＡＰＩ２７２は、この例において、Ｊ２ＳＥに追加されたＪａｖａ（Ｒ）のクラスライブラリ群であり、主なものにＪａｖａ（Ｒ）３Ｄ２８２とＥＣＭＡ（Ｅｕｒｏｐｅａｎ　Ｃｏｍｐｕｔｅｒ　Ｍａｎｕｆａｃｔｕｒｅｒｓ　Ａｓｓｏｃｉａｔｉｏｎ）スクリプトインタプリタ（商標）２８１がある。
【０１６８】
Ｊａｖａ（Ｒ）３Ｄ２８２は、サン・マイクロシステムズ社によって開発された、Ｊａｖａ（Ｒ）プログラムで３Ｄを利用したアプリケーションを実現するためのクラスライブラリである。ＶＲＭＬ（Ｖｉｒｔｕａｌ　Ｒｅａｌｉｔｙ　Ｍｏｄｅｌｉｎｇ　Ｌａｎｇｕａｇｅ）のような宣言的に３Ｄ仮想空間を構築するスクリプト言語と違い、プログラム中でメソッドを直接呼び出すことで３Ｄ仮想空間を構築することが可能になる。
【０１６９】
ＥＣＭＡスクリプトインタプリタ２８１は、この例においては、コンポーネントを操作するためのスクリプト言語としてＥＣＭＡスクリプトが利用されるため、追加されたものである。ＥＣＭＡスクリプトは、ネットスケープ・コミュニケーションズ社が開発したＪａｖａ（Ｒ）スクリプトを標準化団体ＥＣＭＡが標準化したものである。ＥＣＭＡスクリプトは、一般のプログラミング言語のように条件分岐、および、繰り返しといった制御構造を有するので、柔軟なコンポーネント制御が可能である。
【０１７０】
プラットフォーム１３３は、ＯＳ、ドライバ、および、ミドルウェア等からなるＯＳ／ドライバ／ミドルウェア２７３、並びに、ハードウエア（図１２のＣＰＵ１８１乃至ドライブ１９０等）から構成される。
【０１７１】
次に、交換フォーマットについて説明する。
【０１７２】
コンポーネントの実体は、そのコンポーネントを構成するＪａｖａ（Ｒ）のクラスファイルと、そのクラスがインスタンス化され、必要なフィールドの値が設定された、すなわちカスタマイズされたオブジェクトである。
【０１７３】
シーンを構成する各コンポーネントは、Ｊａｖａ（Ｒ）．ｉｏパッケージが提供するシリアライゼーション機構が利用され、シーン毎に１つのファイル（以下、インスタンスファイルと称する）に書き込まれる。この例においては、インスタンスファイルの拡張子は、”ｄａｔ”とされる。ブラウザは、シーン再生時に、クラスファイル群とインスタンスファイルから各コンポーネントのオブジェクトを再構成する。
【０１７４】
図１５は、ネットワーク１１２を介して受信端末１１３に実際に配信されるソフトウエアの構成例を表している。
【０１７５】
図１５に示されるように、各シーンを構成するシーンデータ１９１のアーカイブファイル２９２は、インスタンスファイル３０１、コンポーネントのクラスファイル３０２、ＥＣＭＡスクリプトのコードがテキスト形式で記述されているスクリプトファイル３０３、および、テキストまたは静止画等のファイル３０４から構成される。
【０１７６】
このシーンデータ１９１のアーカイブファイル２９２の、インスタンスファイル３０１、クラスコンポーネントのクラスファイル３０２、および、スクリプトファイル３０３は、Ｊａｖａ（Ｒ）が提供するＪａｒ形式という方式でアーカイブされる。コンポーネントが実行される際に利用されるテキストまたは静止画等のファイル（モノメディアファイル）群３０４も必要に応じてこのアーカイブに含められる。
【０１７７】
以下、シーンデータのアーカイブファイル群を構成するファイルを、シーンファイルと称する。このとき、最初に再生するシーンファイルの名称は”ｓｔａｒｔｕｐ．ｊａｒ”とされ、他のシーンファイルとは区別される。なお、”ｊａｒ”はＪａｒ形式のアーカイブファイルの拡張子である。
【０１７８】
各シーンのインスタンスファイル３０１の名称は、シーンファイル２９２の名称と同じ名称とされる。従って、ｓｔａｒｔｕｐシーンのインスタンスファイルは”ｓｔａｒｔｕｐ．ｄａｔ”とされる。
【０１７９】
また、ブラウザ２５１もＪａｒ形式を利用してアーカイブされる。従って、配信ソフトウエアは、ブラウザ２５１のアーカイブファイル２９１と、各シーンに対応するシーンファイル（Ｊａｒファイル）２９２の群から構成される。
【０１８０】
Ｊａｒファイルにはマニフェストファイルと呼ばれるファイルが同梱される。これには、Ｊａｒファイルの各種属性の設定がテキストフォーマットで記されている。各属性はアトリビュートと呼ばれる。この例においては、ｓｔａｒｔｕｐ．ｊａｒファイルのアトリビュートを拡張し、ブラウザのＵＲＬ及びｓｔａｒｔｕｐ以外の各シーンのＵＲＬが設定可能とされている。
【０１８１】
また、この例においては、各コンポーネントのインスタンスがファイルに書き込まれる場合、または、読み出される場合、Ｊａｖａ（Ｒ）．ｉｏパッケージが提供するシリアライゼーション機構が利用されるが、これに限定されず、他にもＸＭＬのようなテキスト形式の技術を利用することも可能である。
【０１８２】
次に、ブラウザ２５１とコンポーネントのインタフェースについて説明する。
【０１８３】
この例においては、ブラウザ２５１とコンポーネントのインタフェースは、Ｊａｖａ（Ｒ）Ｂｅａｎｓの上に構築される。Ｊａｖａ（Ｒ）Ｂｅａｎｓは、Ｊａｖａ（Ｒ）が提供しているコンポーネントフレームワークである。
【０１８４】
個々のコンポーネントは、このＪａｖａ（Ｒ）Ｂｅａｎの仕様を満たした上で、その機能に応じてｍｍｃｏｍｐｏｎｅｎｔパッケージで定められているコンポーネントインタフェースを実装しなければならない。
【０１８５】
各インタフェースは、コンポーネントがブラウザから各種のサービスを受けるためのものであり、図１６に示されるような継承関係を持っている。図中、下位のものは、上位のものを継承する。
【０１８６】
そこで、図１６を参照して、ｍｍｃｏｍｐｏｎｅｎｔパッケージの詳細を説明する。
【０１８７】
ＭＣｏｍｐｏｎｅｎｔインタフェース（以下、単にＭＣｏｍｐｏｎｅｎｔと記述する）３１７は、全てのコンポーネントが実装するべきインタフェースである。ＭＣｏｍｐｏｎｅｎｔ３１７は、ｇｅｔＩｄ（）メソッドを提供する。ｇｅｔＩｄ（）メソッドは、そのコンポーネントのＩＤ文字列を返し、ブラウザはこのメソッドにより得られるＩＤ値によって各コンポーネントを一意に識別する。また、ＭＣｏｍｐｏｎｅｎｔ３１７は、ｉｎｉｔｉａｌｉｚｅ（）メソッドおよびｄｅｓｔｒｏｙ（）メソッドを提供する。コンポーネントは、ｉｎｉｔｉａｌｉｚｅ（）メソッドで初期化の処理を、ｄｅｓｔｒｏｙ（）メソッドで終了の処理を、それぞれ行う必要がある。
【０１８８】
ＭＰｒｅｓｅｎｔａｂｌｅインタフェース（以下、単にＭＰｒｅｓｅｎｔａｂｌｅと記述する）３１６は、何らかのプレゼンテーションを持つコンポーネントの動作を定義するものである。ＭＰｒｅｓｅｎｔａｂｌｅ３１６は、ｒｕｎ（）メソッドおよびｓｔｏｐ（）メソッドを提供する。ｒｕｎ（）メソッドによりプレゼンテーションが開始され、ｓｔｏｐ（）メソッドによりプレゼンテーションが終了する。またプレゼンテーションが実行中か否かはｇｅｔＡｃｔｉｖｅ（）メソッドが返す真偽値により判定される。また、ｇｅｔＩｎｉｔｉａｌｌｙＡｃｔｉｖｅ（）メソッドは、コンポーネントがシーン開始時すぐにプレゼンテーションを開始されるべきか否かを真偽値によって返す。
【０１８９】
ＭＶｉｓｉｂｌｅインタフェース（以下、単にＭＶｉｓｉｂｌｅと記述する）３１５は、可視なコンポーネントの振る舞いを定義したものである。
【０１９０】
Ｍ３ＤＣｏｍｐｏｎｅｎｔインタフェース（以下、単にＭ３ＤＣｏｍｐｏｎｅｎｔと記述する）３１３は、３Ｄのプレゼンテーションを持つコンポーネントの振る舞いを定義したものである。Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３は、ｇｅｔＳｕｂＧｒａｐｈ（）メソッドを提供する。このメソッドはＪａｖａ（Ｒ）３Ｄ　ＡＰＩのＢｒａｎｃｈＧｒｏｕｐクラスのインスタンスを返す。このオブジェクトは、そのコンポーネントの３Ｄプレゼンテーションの実体であり、ブラウザはそのメソッドによって得られたＢｒａｎｃｈＧｒｏｕｐオブジェクトを、Ｊａｖａ（Ｒ）３Ｄが提供するシーングラフに追加する。これにより、そのコンポーネントの３Ｄプレゼンテーションが可視状態になる。また、Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３は、ｇｅｔ／ｓｅｔＰｏｓｉｔｉｏｎ（）メソッド、ｇｅｔ／ｓｅｔＲｏｔａｔｉｏｎ（）メソッド、ｇｅｔ／ｓｅｔＳｃａｌｅ（）メソッド等のメソッドを提供する。これらのメソッドにより、動画３１２を構成する各シーン中のコンポーネントのそれぞれの位置、姿勢、縮尺が指定されるので、提示の一意性が保証される。
【０１９１】
ＭＢａｃｋｇｒｏｕｎｄインタフェース（以下、ＭＢａｃｋｇｒｏｕｎｄと記述する）３１４は、３Ｄ空間の背景を表現するコンポーネントの振る舞いを定義したものである。ＭＢａｃｋｇｒｏｕｎｄ３１４は、ｇｅｔＢａｃｋｇｒｏｕｎｄＧｒａｐｈ（）メソッドを提供する。このメソッドはＢｒａｎｃｈＧｒｏｕｐオブジェクトを返す。このオブジェクトは背景のプレゼンテーションの実体であり、ブラウザによってシーングラフに追加される。
【０１９２】
ＭＩｎｔｅｒａｃｔｉｂｌｅインタフェース（以下、ＭＩｎｔｅｒａｃｔｉｂｌｅと記述する）３１８は、ボタン３１１のようなインタラクティブなコンポーネントの振る舞いを定義したものである。ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装したコンポーネントは、フォーカス管理の対象となる。なお、ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装したコンポーネントの中で、任意の時点でフォーカスを保持しているものは、シーン中に高々１つ存在する程度である。
【０１９３】
ユーザが、キー群９１（図８）を操作して、キー入力を行うと、ブラウザ２５１は、フォーカスを保持しているコンポーネント（ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装したコンポーネント）のｋｅｙｄｏｗｎ（）メソッド、ｋｅｙｕｐ（）メソッドを呼び出す。これにより、そのコンポーネントは、ユーザのキー入力を受け取ることが出来る。また、入力されたキーの種類が矢印キー９１−２乃至９１−５（図８）である場合、フォーカスが遷移して、他のコンポーネントが新たにフォーカスを取得する。そのとき、それまでフォーカスを保持していたコンポーネントに対してはｂｌｕｒ（）メソッドが、新たにフォーカスを取得したコンポーネント（ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装したコンポーネント）に対してはｆｏｃｕｓ（）メソッドが、それぞれ呼び出される。
【０１９４】
そのコンポーネントがフォーカスを保持している時に、上下左右の矢印キー９１−２乃至９１−５による入力に対して、それぞれどのコンポーネントへフォーカスが遷移するかは、そのコンポーネントがＩＤ値として保持している。これらはＭＩｎｔｅｒａｃｔｉｂｌｅ３１８が提供するｇｅｔＮａｖｕｐ（）メソッド、ｇｅｔＮａｖｄｏｗｎ（）メソッド、ｇｅｔＮａｖＬｅｆｔ（）メソッド、および、ｇｅｔＮａｖｒｉｇｈｔ（）メソッドが返す値によって取得することが可能である。
【０１９５】
図１７を参照して、このようなフォーカス遷移の例を説明する。
【０１９６】
いま、ＩＤ値が「ボタンＡ」とされるＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装しているコンポーネント（以下、ボタンと称する）３１１−１、ＩＤ値が「ボタンＢ」とされるＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装しているコンポーネント（以下、単にボタンと称する）３１１−２、ＩＤ値が「ボタンＣ」とされるＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装しているコンポーネント（以下、単にボタンと称する）３１１−３、ＩＤ値が「ボタンＤ」とされるＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装しているコンポーネント（以下、単にボタンと称する）３１１−４、および、ＩＤ値が「ボタンＥ」とされるＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装しているコンポーネント（以下、単にボタンと称する）３１１−５のそれぞれが、図１７に示されるように配置されているものとする。
また、ボタン３１１−１のｇｅｔＮａｖｕｐ（）メソッドは「ボタンＢ」を、ｇｅｔＮａｖｄｏｗｎ（）メソッドは「ボタンＤ」を、ｇｅｔＮａｖＬｅｆｔ（）メソッドは「ボタンＥ」を、ｇｅｔＮａｖｒｉｇｈｔ（）メソッドは「ボタンＣ」を、それぞれ返すものとする。
【０１９７】
例えば、いま、ボタン３１１−１がフォーカスを保持していると仮定して、ユーザが上矢印キー９１−２（図８）を押下した場合、ブラウザ２５１の後述するフォーカス管理部３７２（図２３）は、ボタン３１１−１のｇｅｔＮａｖｕｐ（）メソッドを実行して、フォーカスの行き先がボタン３１１−２であると判断し、フォーカスをそのように遷移させ、ボタン３１１−１に対してｂｌｕｒ（）メソッドを、ボタン３１１−２に対してｆｏｃｕｓ（）メソッドを実行する。同様に、下矢印キー９１−４、左矢印キー９１−５、または、右矢印キー９１−３が押下された場合、対応するボタン３１１−４、ボタン３１１−５、または、ボタン３１１−３へフォーカスが遷移される。
【０１９８】
図１６に戻り、また、ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８は、フォーカスの遷移が生じた際、即ち、ｆｏｃｕｓ（）メソッドまたはｂｌｕｒ（）メソッドが呼び出された時にイベントを発生する。このイベントが発生されると、上述したＥＣＭＡスクリプトインタプリタ２８１（図１４）は、ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８が提供するｇｅｔＯｎｆｏｃｕｓ（）メソッドまたはｇｅｔＯｎｂｌｕｒ（）メソッドが返す文字列をスクリプトとして解釈し、実行する。
【０１９９】
ＭＳｔｒｅａｍインタフェース（以下、ＭＳｔｒｅａｍと記述する）３１９は、音声や動画３１２など、時間の経過に従い表現状態が変化するメディア（以下、ストリームと称する）の振る舞いを定義したものである。ＭＳｔｒｅａｍ３１９を実装したコンポーネント（以下、ＭＳｔｒｅａｍコンポーネントと称する）は同期処理の対象となる。そのインタフェースは、ｇｅｔＳｔｒｅａｍＰｏｓｉｔｉｏｎ（）メソッド、または、ｓｅｔＳｔｒｅａｍＰｏｓｉｔｉｏｎ（）メソッドを提供する。これによりストリームの再生位置の取得設定を行うことが可能になる。またｇｅｔＳｔａｒｔＬａｔｅｎｃｙ（）メソッドによって、そのストリームの再生が可能になるまでの（準備に要する）待ち時間を取得することが可能になる。さらに、ｐｌａｙＳｔｒｅａｍ（）メソッド、または、ｓｔｏｐＳｔｒｅａｍ（）メソッドによってストリームの再生を行うことが可能になる。ｐｌａｙＳｔｒｅａｍ（）メソッドには、引数として再生開始までの時間を指定することが可能である。
【０２００】
ＭＳｔｒｅａｍＣｏｎｔａｉｎｅｒインタフェース（以下、ＭＳｔｒｅａｍＣｏｎｔａｉｎｅｒと記述する）３２０は、複数のＭＳｔｒｅａｍ３１９の同期制御を行うコンポーネントの振る舞いを定義したものである。ＭＳｔｒｅａｍＣｏｎｔａｉｎｅｒ３２０は、同期を行う各ＭＳｔｒｅａｍコンポーネントの参照を保持する。
【０２０１】
図１８は、ＭＳｔｒｅａｍＣｏｎｔａｉｎｅｒ３２０が、複数のＭＳｔｒｅａｍコンポーネントを同期実行する際のシーケンス例を表している。
【０２０２】
図１８の例では、シーン中にＭＳｔｒｅａｍＣｏｎｔａｉｎｅｒ３２０を実装したコンテイナ（以下、単にコンテイナと記述する）と、ＭＳｔｒｅａｍコンポーネントとしての音声２３３および動画２３４が存在し、コンテイナ３３２が音声２３３と動画２３４の同期制御を行うものとする。
【０２０３】
矢印３４１に示されるように、まず、ＥＣＭＡスクリプトインタプリタ２８１からコンテイナ３３２に対して、ｐｌａｙＳｔｒｅａｍ（）メソッドの呼び出しが、引数０．０で実行される。コンテイナ３３２は、即座に音声２３３と動画２３４をそれらのストリームの先頭から再生させる。
【０２０４】
このとき、音声２３３と動画２３４とでストリームが再生されるまでの準備にかかる時間が異なることが想定される。この問題を解決するために、矢印３４２と矢印３４３に示されるように、コンテイナ３３２は、音声２３３と動画２３４に対して、ｇｅｔＳｔａｒｔＬａｔｅｎｃｙ（）メソッドを呼び出し、各コンポーネントがストリームを再生できるまでにかかる時間ｔ１およびｔ２を取得する。
【０２０５】
次に、コンテイナ３３２は、これらの時間（ｔ１，ｔ２）の最大値ｔ０を求め、矢印３４４と矢印３４５に示されるように、この値を引数として各コンポーネントのｐｌａｙＳｔｒｅａｍ（）メソッドを実行する。時間ｔ０は、時間ｔ１、または時間ｔ２と等しいか、それ以上の時間なので、時間ｔ０が経過するまでに、音声２３３および動画２３４のストリーム再生の準備は終了していると考えられ、ｔ０の時間が経過した後に、これらのコンポーネントはストリームを同期して再生し始めることが可能になる（音声の再生３４６と動画の再生３４７が同期して実行される）。
【０２０６】
また、制御される側のコンポーネントが３つ以上ある場合も同様な処理によりストリームの同期再生が可能である。
【０２０７】
図１６に戻り、ＭＳｔｒｅａｍＣｏｎｔａｉｎｅｒ３２０は、その同期機構の機能や実現方法まで定義するものではない。従って、上述した（図１８に示される）ロジック以外のロジックによる同期制御コンポーネントの実現も可能である。なお、図１８に示されるシーケンス例は、サン・マイクロシステムズ社によって開発されたＪＭＦ（Ｊａｖａ（Ｒ）　Ｍｅｄｉａ　Ｆｒａｍｅｗｏｒｋ）（商標）における同期実行処理とほぼ同じ考えに基づいたものである。
【０２０８】
以上、ｍｍｃｏｍｐｏｎｅｎｔパッケージを構成する各インタフェースに関して説明したが、図１６の例では、これらのインタフェースを実装するコンポーネントの例として、ボタン３１１と動画３１２が示されている。ボタン３１１は、３Ｄ仮想空間上に実体を持つのでＭ３ＤＣｏｍｐｏｎｅｎｔ３１３を実装し、さらにリモコンキー９１（図８）によるインタラクティブな操作が可能となるように、ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８を実装している。また、動画３１２は、３Ｄ仮想空間上に実体を持つのでＭ３ＤＣｏｍｐｏｎｅｎｔ３１３を実装し、さらに時間軸を持つ動画データの再生を行うのでＭＳｔｒｅａｍ３１９を実装している。
【０２０９】
次に、図１９を参照して、ブラウザのソフトウエアの構成例を説明する。
【０２１０】
ブラウザ２５１は、ローダ部３６２、シーンデータ部３６３、描画部３６４、ＥＣＭＡスクリプト処理部３６５、イベント処理部３６６、および、制御部３６１から構成される。
【０２１１】
ローダ部３６２のコンポーネントローダ３６７は、指定されたシーンのシーンファイル（アーカイブファイル）２９２（図１５）をロードし（入力し）、上述したようなＩＤ値を基に管理されているコンポーネント群３６８と、スクリプトファイル３０３（図１５）に対応するスクリプトデータ３６９に分割し、シーンデータ部３６３に供給する。具体的には、コンポーネントローダ３６７は、ロードしたシーンファイル２９２（図１５）に含まれるクラスファイル３０２の群と、インスタンスファイル３０１から、シーンを構成するオブジェクトファイルを再構成する。
【０２１２】
スクリプトデータ３６９は、スクリプトインタプリタ３７１に供給される。スクリプトインタプリタ３７１は、上述したＥＣＭＡスクリプトのインタプリタであり、スクリプトデータ３６９を走査し、コンテンツ実行時にそのデータの内容によってコンポーネントを操作したり、またコンポーネントが発生するイベントを補足して指定された関数を実行したりする。
【０２１３】
ＥＣＭＡスクリプト処理部３６５は、このような関数として、拡張関数３７０を有しており、対応する関数がスクリプトインタプリタ３７１に適宜提供される。即ち、拡張関数３７０は、シーン遷移等の機能を提供するための関数群であり、ＥＣＭＡスクリプトから呼び出すことができる。
【０２１４】
描画部３６４の３Ｄ描画エンジン３７３は、コンポーネント群３６８のうちの対応するコンポーネントを取得し、再生画面として受信端末１１３のディスプレイ（図１２の出力部１８７）に表示する３Ｄグラフィックスを描画する部分である。この例においては、３Ｄ描画エンジン３７３は、Ｊａｖａ（Ｒ）３Ｄの描画エンジンを利用するが、これに限定されるものはない。
【０２１５】
イベント処理部３６６のイベント／フォーカス管理部３７２は、入力部１８６からの入力を、フォーカスを保持しているコンポーネントに配布する部分である。また、上述したように、入力部１８６の入力が、図８の上下左右キー９１−２乃至９１−５の入力の場合には、フォーカスの遷移を行う。
【０２１６】
制御部３６１は、ブラウザ２５１本体の起動、終了などの振る舞いを管理する部分である。
【０２１７】
次に、図２０を参照して、ブラウザ２５１によるコンポーネントのライフサイクル管理について説明する。ブラウザ２５１は、シーンを読み込んだ後、シーンに含まれるコンポーネントのライフサイクルを管理するが、この場合のコンポーネントの状態は、図２０に示されるようになる。
【０２１８】
即ち、コンポーネントの状態は、シリアライズされた状態（以下、状態Ａと称する）、デシリアライズされた状態（以下、状態Ｂと称する）、初期化され、かつアクティブでない状態（以下、状態Ｃと称する）、アクティブな状態（以下、状態Ｄと称する）、または、破棄された状態（以下、状態Ｅと称する）のうちのいずれかの状態とされる。
【０２１９】
次に、この図２０、および、図２１のフローチャートを参照して、ブラウザ２５１のシーン起動処理について、説明する。
【０２２０】
指定されたシーンを起動する際、図２１のステップＳ１において、ブラウザ２５１は、シーンファイル２９２（図１５）のインスタンスファイル３０１中にシリアライズされたコンポーネント（図２０の状態Ａのコンポーネント）群をデシリアライズ（ロード）する。
【０２２１】
即ち、図２０の矢印３９１に示されるように、ｒｅａｄＯｂｊｅｃｔ（）メソッドが実行されて、コンポーネントは状態Ａから状態Ｂに遷移する。
【０２２２】
図２１のステップＳ２において、ブラウザ２５１は、ステップＳ１の処理でロードしたコンポーネントを、そのＩＤ値をキーとして自らに登録し、ステップＳ３において、そのコンポーネントのｉｎｉｔｉａｌｉｚｅ（）メソッドを実行して、そのコンポーネントを初期化する。これにより、図２０の矢印３９２に示されるように、コンポーネントは、状態Ｂから状態Ｃに遷移する。
【０２２３】
図２１のステップＳ４において、ブラウザ２５１は、ステップＳ３の処理で初期化したコンポーネントが、Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３（図１６）またはＭＢａｃｋｇｒｏｕｎｄ３１４（図１６）を実装しているか否かを判定し、それらを実装していると判定した場合、ステップＳ５において、そのコンポーネントを３Ｄ仮想空間へ追加し、ステップＳ６に進む。
【０２２４】
これに対して、ブラウザ２５１は、ステップＳ４において、コンポーネントが、Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３またはＭＢａｃｋｇｒｏｕｎｄ３１４を実装していないと判定した場合、ステップＳ５の処理は実行せずに、ステップＳ６に進む。
【０２２５】
ステップＳ６において、ブラウザ２５１は、ＥＣＭＡスクリプトからコンポーネントを操作したり、コンポーネントが発生するイベントをＥＣＭＡスクリプトに通知したりすることが可能となるように、コンポーネントを、スクリプトインタプリタ３７１（図１９）へバインドする（コンポーネントへの参照をスクリプトインタプリタ３７１に渡す）。
【０２２６】
コンポーネントがスクリプトインタプリタ３７１にバインドされていることで、スクリプトコードの中からそのコンポーネントのメソッドが実行されたり、コンポーネントがなんらかのイベントを発した際に、その種類に応じて予め指定されたスクリプトコードが実行されたり（このような処理を、以下、イベントハンドラの起動と称する）することが可能になる。
【０２２７】
ステップＳ７において、ブラウザ２５１は、コンポーネントが、ＭＰｒｅｓｅｎｔａｂｌｅ３１６（図１６）を実装しており、かつｉｎｉｔｉａｌｙＡｃｔｉｖｅ（）メソッドがｔｒｕｅを返したか（ｉｎｉｔｉａｌｙＡｃｔｉｖｅ＝ｔｒｕｅ）否かを判定する。
【０２２８】
ステップＳ７において、ブラウザ２５１は、コンポーネントが、ＭＰｒｅｓｅｎｔａｂｌｅ３１６を実装しており、かつ、ｉｎｉｔｉａｌｙＡｃｔｉｖｅ＝ｔｒｕｅであると判定した場合、ステップＳ８において、そのコンポーネントに、ｒｕｎ（）メソッドを実行して、プレゼンテーションを開始する。
【０２２９】
これにより、図２０の矢印３９３に示されるように、コンポーネントは、状態Ｃから状態Ｄに遷移する。即ち、そのコンポーネントは、アクティブに設定される。
【０２３０】
なお、そのコンテンツが再生されている最中に、矢印３９４に示されるように、スクリプトインタプリタ３７１（図１９）から、ｓｔｏｐ（）メソッドが呼び出されると、そのコンポーネントは、状態Ｄ（アクティブ状態）から、状態Ｃ（非アクティブ状態）に遷移する。さらに、矢印３９３に示されるように、スクリプトインタプリタ３７１から、ｒｕｎ（）メソッドが呼び出されると、そのコンポーネントは、再び、状態Ｃから、状態Ｄに遷移する。
【０２３１】
即ち、コンテンツの再生中は、そのコンポーネントは、適宜状態Ｃと状態Ｄの間で切り替わる。
【０２３２】
図２１に戻り、ブラウザ２５１は、ステップＳ８の処理を実行した後、ステップＳ９に進む。
【０２３３】
一方、ステップＳ７において、ブラウザ２５１は、コンポーネントが、ＭＰｒｅｓｅｎｔａｂｌｅ３１６を実装していないか、または、ｉｎｉｔｉａｌｙＡｃｔｉｖｅ＝ｔｒｕｅではないと判定した場合、ステップＳ８の処理を実行せずに、ステップＳ９に進む。
【０２３４】
ステップＳ９において、ブラウザ２５１は、シーンファイル２９２からスクリプトファイル３０３を読み込み、それを解釈し、実行する。
【０２３５】
次に、図２０と、図２２のフローチャートを参照して、ブラウザ２５１のシーン終了処理を説明する。
【０２３６】
コンテンツ終了時、図２２のステップＳ２１において、ブラウザ２５１は、各コンポーネントに、ｄｅｓｔｒｏｙ（）メソッドを実行し、終了処理を実行する。
【０２３７】
これにより、コンポーネントは、図２０の矢印３９５および矢印３９６に示されるように、状態Ｃまたは状態Ｄから、状態Ｅに遷移する。
【０２３８】
ステップＳ２２において、ブラウザ２５１は、そのコンポーネントの登録を削除する。
【０２３９】
ステップＳ２３において、ブラウザ２５１は、コンポーネントが、Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３（図１６）またはＭＢａｃｋｇｒｏｕｎｄ３１４（図１６）を実装しているか否かを判定し、コンポーネントが、Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３またはＭＢａｃｋｇｒｏｕｎｄ３１４を実装していると判定した場合（コンポーネントが３Ｄ仮想空間中に表示されている場合）、ステップＳ２４において、コンポーネントを３Ｄ仮想空間から削除し、ステップＳ２５に進む。
【０２４０】
これに対して、ステップＳ２３において、ブラウザ２５１は、コンポーネントが、Ｍ３ＤＣｏｍｐｏｎｅｎｔ３１３またはＭＢａｃｋｇｒｏｕｎｄ３１４を実装していないと判定した場合（コンポーネントが３Ｄ仮想空間中に表示されていない場合）、ステップＳ２４の処理を実行せずに、ステップＳ２５に進む。
【０２４１】
ステップＳ２５において、ブラウザ２５１は、そのコンポーネントの、スクリプトインタプリタ３７１とのインタプリタバインドを解放する。
【０２４２】
次に、図２３を参照して、ブラウザ２５１のイベント配布及びフォーカス管理の処理例について説明する。
【０２４３】
図２３は、ユーザからのキー入力が発生した際の、イベント／フォーカス管理部３７２（図１９）、ＭＩｎｔｅｒａｃｔｉｂｌｅ３１８（図１６）を実装した２つのコンポーネト（図１７のボタン３１１−１およびボタン３１１−２に相当）、および、スクリプトインタプリタ３７１（図１９）間のメッセージ交換のシーケンスを表している。
【０２４４】
図２３の矢印４１１に示されるように、ユーザ４０１が、任意のキー９１（図８）を押下すると、イベント／フォーカス管理部３７２は、矢印４１２に示されるように、現在フォーカスを保持しているコンポーネント（ここでは、ボタン３１１−１とされる）に対して、ｋｅｙｐｒｅｓｓ（）メソッドを実行することでその通知を行う。
【０２４５】
次に、入力されたキーが矢印キー９１−２乃至９１−５のうちのいずれかの場合には、フォーカスの遷移が行われる。
【０２４６】
いま、ユーザ４０１は、上矢印キー９１−２を押下したものとする。まず、イベント／フォーカス管理部３７２は、矢印４１３に示されるように、ボタン３１１−１に対してｇｅｔＮａｖｕｐ（）メソッドを実行し、矢印４１４に示されるように、その返り値よりフォーカス遷移先のコンポーネントのＩＤを取得する（ここではＩＤ値は、「ボタンＢ」とされる）。
【０２４７】
次に、イベント／フォーカス管理部３７２は、矢印４１５に示されるように、ボタン３１１−１に対してｂｌｕｒ（）メソッドを実行し、フォーカスを喪失したことを通知する。
【０２４８】
ボタン３１１−１は、フォーカス喪失に伴ってイベント（ｏｎｂｌｕｅｒイベント）を発生する。スクリプトインタプリタ３７２は、矢印４１６に示されるように、このｏｎｂｌｕｅｒイベントを取得し、矢印４１７に示されるように、ボタン３１１−１がｇｅｔＯｎｂｌｕｒ（）によって返す文字列をスクリプトとして解釈し、実行する（イベントハンドラを実行する）。
【０２４９】
次にイベント／フォーカス管理部３７２は、矢印４１８に示されるように、フォーカス遷移先のコンポーネントボタン３１１−２に対して、ｆｏｃｕｓ（）メソッドを実行し、その旨を通知する。
【０２５０】
ボタン３１１−２は、フォーカス取得に伴ってイベントを発生する。スクリプトインタプリタ３７１は、矢印４１９に示されるように、このｏｎｆｏｃｕｓイベントを取得し、矢印４２０に示されるように、ボタン３１１−２がｇｅｔＯｎｆｏｃｕｓ　（）によって返す文字列をスクリプトとして解釈実行する（イベントハンドラを実行する）。
【０２５１】
その後、ユーザ４０１が、矢印４２１に示されるように、押下していたキーからその指を離すと（キー入力を実行すると）、イベント／フォーカス管理部３７２は、矢印４２２に示されるように、フォーカスを保持しているコンポーネントボタン３１１−２に対してｋｅｙｕｐ（）メソッドを実行することでその通知を行う。
【０２５２】
次に、本実施の形態が適用されるアプリケーションマネージャの説明をする。
【０２５３】
アプリケーションマネージャ２７１（図１４）は、図１３に示されるように、ユーザによるＵＲＬの入力（矢印２４１）に従って、ネットワーク１１２上から、マルチメディアコンテンツ２５２およびブラウザ２５１（配信ソフトウエア２４３）をダウンロードし、実行するためのソフトウエアであり、ブラウザ２５１の起動後は、制御はブラウザ２５１側に渡される。
【０２５４】
図２４のフローチャートを参照して、アプリケーションマネージャの処理例について説明する。
【０２５５】
いま、図１３に示されるように、ユーザにより所定のコンテンツ（ｓｔａｒｔｕｐシーン）のＵＲＬが受信端末１１３に供給された場合（矢印２４１に示されるように入力された場合）、アプリケーションマネージャ２７１は、ステップＳ４１において、そのｓｔａｒｔｕｐシーンのＵＲＬを入力する。
【０２５６】
ネットワーク１１２がインターネットであり、インターネット上でＨＴＴＰプロトコルが利用される場合、そのＵＲＬは、例えば、次のように記述される。
ＵＲＬ「ｊａｒ：ｈｔｔｐ：／／ｗ．ｗ．ｗ．ｓｏｎｙ．ｃｏ．ｊｐ／．．．／ｓｔａｒｔｕｐ．ｊａｒ！／ｓｔａｒｔｕｐ．ｄａｔ」
【０２５７】
このＵＲＬは、指定されたＵＲＬ上のシーンファイル（アーカイブファイル（ｓｔａｒｔｕｐ．ｊａｒ）２９２（図１５）中の、インスタンスファイル（ｓｔａｒｔｕｐ．ｄａｔ）３０１を指している。
【０２５８】
図２４に戻り、ステップＳ４２において、アプリケーションマネージャ２７１は、ステップＳ４１の処理で入力したＵＲＬ上のｓｔａｒｔｕｐシーンファイル２９２を取得する（ダウンロードする）。
【０２５９】
ステップＳ４３において、アプリケーションマネージャ２７１は、そのｓｔａｒｔｕｐシーンファイル２９２内に指定されているｓｔａｒｔｕｐ以外の各シーンのＵＲＬを基に、それらのＵＲＬからクラスファイルをロードできるように、パスを設定する。
【０２６０】
ステップＳ４４において、アプリケーションマネージャ２７１は、そのｓｔａｒｔｕｐシーンファイル２９２内に指定されているブラウザ２５１のＵＲＬを基に、それを取得するためのパスを設定する。
【０２６１】
ステップＳ４５において、アプリケーションマネージャ２７１は、ブラウザ２５１のアーカイブファイル２９１をロードし（取得し）、ブラウザ２５１を起動する。
【０２６２】
その後、アプリケーションマネージャ２７１は、その処理をブラウザ２５１に渡し、ブラウザ２５１は、ステップＳ４６において、そのｓｔａｒｔｕｐシーンを再生する。
【０２６３】
次に、図２５を参照して、本実施の形態が適用されるオーサリングシステム４４１について説明する。
【０２６４】
オーサリングシステム４４１は、基本的に、上述したように（図９に示されるように）、マルチメディアコンテンツ製作装置１２３にインストールされるソフトウエアである。
【０２６５】
図２５に示されるように、オーサリングシステム４４１は、ウィンドウベースのユーザフレンドリーなＧＵＩを有している。オーサリングシステム４４１は、上述したマルチメディアコンテンツを製作可能なものであれば、特に限定されないが、この例においては、以下に示す（４１）乃至（４５）の機能を有するものとする。
【０２６６】
（４１）　マルチメディアコンテンツを新規に作成する作成機能、編集したマルチメディアコンテンツを保存する保存機能、および、そのマルチメディアコンテンツを実行する実行機能
保存機能としては、マルチメディアコンテンツを実行可能な状態で保存する機能、または、オーサリングシステム４４１独自の内部形式で保存する機能が考えられる。
【０２６７】
（４２）　本実施の形態のアーキテクチャに基づいて開発されたコンポーネントを読み込み、ユーザに提示するコンテンツ提示機能
（４３）　マルチメディアコンテンツに対して、任意のコンポーネントを追加したり、またそれらのコンポーネント群のカスタマイズを行ったりするための、ビジュアルなユーザーインタフェース環境を提供するユーザーインタフェース環境機能
（４４）　マルチメディアコンテンツの画面構成情報や、マルチメディアコンテンツに含まれるコンポーネント群の情報をビジュアルに提示する情報提示機能
（４５）　ＥＣＭＡスクリプトの編集を支援するスクリプト編集支援機能
【０２６８】
また、図２５に示されるように、オーサリングシステム４４１は、ディスプレイ上に、以下に示す項目（５１）乃至（５４）を表示させる。
【０２６９】
（５１）　コンポーネントリスト４５１
Ｊａｖａ（Ｒ）　Ｂｅａｎｓは、Ｊａｒアーカイブ形式で配布することが可能である。コンポーネントリスト４５１は、このような形態で提供されるコンポーネントをロードし、リスト形式で表示する。このようなコンポーネント群は、オーサリングシステム４４１内の特定のディレクトリに配置される。また、コンポーネントリスト４５１は、ユーザがリスト中で選択したコンポーネントを製作中のコンテンツに追加する。
【０２７０】
（５２）　コンテンツツリー４５２
コンテンツツリー４５２は、マルチメディアコンテンツのデータ構造をツリー形式で表示する。また、コンテンツツリー４５２は、マルチメディアコンテンツのデータ構造が変更された場合（シーンの追加若しくは削除、または、コンポーネントの追加若しくは削除が行われた場合）には、それをツリーに反映させる。コンテンツツリー４５２は、ユーザがツリー中のノードを選択した場合に、それに対応したシーンまたはコンポーネントを選択状態にする。
【０２７１】
（５３）　プロパティテーブル４５４
プロパティテーブル４５４は、選択中のコンポーネントのカスタマイズ情報をテーブル形式で表示する。これは、テーブル中で選択した属性の値の編集を可能にする。また、プロパティテーブル４５４は、他の処理によってそのコンポーネントの属性値が変更された場合も、それをテーブルに反映する。
【０２７２】
（５４）　レイアウトパネル４５５
レイアウトパネル４５５は、選択中のシーンに対応した３Ｄ仮想空間を提示する。レイアウトパネル４５５は、そのシーンにコンポーネントが追加された場合に、それを表示する。レイアウトパネル４５５は、そのシーンのデータ構造が変更された場合（シーンの追加若しくは削除、または、コンポーネントの追加若しくは削除が行われた場合）、それを反映する。これにより、コンテンツの製作者は、編集中のコンテンツの状態を即座に確認することが出来る。また、レイアウトパネル４５５は、マウスによるコンポーネントの位置、姿勢の設定が可能である。
【０２７３】
（５５）　スクリプトエディタ４５３
スクリプトエディタ４５３は、選択中のシーンの、ＥＣＭＡスクリプトのコードを入力、編集するためのエディタである。
【０２７４】
（５６）その他
その他、オーサリングシステム４４１は、メニュー、および、ツールバー等を備える。
【０２７５】
なお、オーサリングシステム４４１は、図２５に示されるようなグラフィカルな環境を持たないコンテンツ製作環境でもよい。
【０２７６】
上述したように、このようなオーサリングシステム４４１により製作されたマルチメディアコンテンツは、図９に示されるように、サーバ１２４に提供され、図１３に示されるように、上述したブラウザ２５１とともに１つの配信ソフトウエア２４３として、サーバ１２４よりネットワーク１１２を介して受信端末１１３に配信される。なお、上述したように、マルチメディアコンテンツとブラウザ２５１を組み合わせて配信ソフトウエア２４３にする処理は、オーサリングシステム４４１が実装されているマルチメディアコンテンツ製作装置１２３（図９）により行われてもよいし、サーバ１２４により行われてもよい。
【０２７７】
受信端末１１３は、配信ソフトウエア２４３に含まれるブラウザ２５１を利用して、配信ソフトウエア２４３に含まれるマルチメディアコンテンツ２５２を、そのディスプレイ等に表示させる（コンテンツ再生２４４の状態にさせる）。このとき、ディスプレイには、図２６に示されるような画像４６１がブラウザ上に表示される。
【０２７８】
このように、オーサリングシステム４４１は、コンテンツ製作者（マルチメディアコンテンツ製作装置１２３（図９）のユーザ）に対して、効率的な開発環境を提供し、また、ソフトウエアに関する高度な知識を要しないコンテンツ製作者でも容易に利用することが可能である。従って、特に、デザイナーやクリエイターといった職種のコンテンツ製作者は、オーサリングシステム４４１を利用することで、品質の高いコンテンツを容易に製作することが可能になる。
【０２７９】
しかしながら、一般的に、オーサリングシステム４４１のシステムは、その開発にコストがかかるので、ユーザ（コンテンツ製作者）は、そのようなシステムを安価に入手することは困難である。
【０２８０】
また、上述したような本実施形態が適用される技術を広く普及させるためには、評価または研究することを目的とするマルチメディアコンテンツの製作が必要になると思われる。
【０２８１】
従って、ユーザ（コンテンツ製作者）に対して、オーサリングシステム４４１のようなシステムを入手しなくても、マルチメディアコンテンツを手軽、または安価に製作できる環境を提供する必要がある。
【０２８２】
そこで、本実施形態においては、オーサリングシステム４４１の代わりとなるソフトウエアとして、テキストによりデータ構造を表す技術（以下、テキストデータ構造表現技術と称する）を利用するフォーマットで記述されたマルチメディアコンテンツのフォーマットを、上述したようなサーバ１２４（図９と図１３）がそのマルチメディアコンテンツを配信する場合に利用するフォーマット（上述した図１５に示されるようなフォーマット）に変換する変換ソフトウエアも用意されている。
【０２８３】
なお、テキストデータ構造表現技術の種類は、特に限定されず、上述した変換ソフトウエアの開発者が独自に開発したものを利用することも可能であるし、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）等のオープンな規格に準じた方式を利用することが可能である。
【０２８４】
この場合、変換ソフトウエアの開発者は、フォーマット変換の対象となるマルチメディアコンテンツ（変換前のマルチメディアコンテンツ）のフォーマットとして、自分自身が独自に開発したテキストデータ構造表現技術を採用する変換ソフトウエアを開発することで、その開発コストを抑えることが可能である。
【０２８５】
その開発コストをさらに抑えたい場合、変換ソフトウエアの開発者は、フォーマット変換の対象となるマルチメディアコンテンツのフォーマットとして、オープンな規格に準じたテキストデータ構造表現技術を採用する変換ソフトウエアを開発することで、それが可能になる。
【０２８６】
その結果、ユーザ（コンテンツ製作者）は、そのような変換ソフトウエアを容易に入手することが可能になり、上述したオーサリングシステム４４１を入手しなくても、その変換ソフトウエアを利用して、オーサリングシステム４４１が製作するものと同一のフォーマットのマルチメディアコンテンツを製作することが可能になる。
【０２８７】
従って、この例の変換ソフトウエアは、例えば、ＸＭＬを利用するテキストフォーマット（以下、ＸＭＬフォーマットと称する）で記述されたマルチメディアコンテンツ（以下、このようにＸＭＬフォーマットで記述されたマルチメディアコンテンツ（データ）を、ＸＭＬデータと称する）のフォーマットを、上述した図１５に示されるようなフォーマットに変換するソフトウエアとされる。
【０２８８】
ＸＭＬは、上述したＷ３Ｃが規格化を行った、テキストを利用する汎用的なデータ記述言語である。ＸＭＬにおいては、ＨＴＭＬと同様に、マークアップによりデータ構造が表現される。
【０２８９】
テキストデータ構造表現技術として、ＸＭＬが採用される場合の利点として、次の５点が挙げられる。
【０２９０】
即ち、第１点目として、ＸＭＬは、他の汎用的なテキストデータ構造表現技術と比較して、極めて普及度が高い点である。第２点目として、ＸＭＬの規格は、オープンになっており利用しやすい点である。第３点目として、ＸＭＬの文法は、シンプルで理解しやすい点である。第４点目として、ＸＭＬで表現されたデータを処理するためのライブラリが、数多く存在する点である。第５点目として、ＸＭＬを利用したデータの製作を支援するアプリケーションソフトウエア（専用エディタ等）が数多く存在し、無償または比較的安価に入手できる場合が多い点である。
【０２９１】
図２７は、そのような本実施形態が適用される変換ソフトウエアを実装したマルチメディアコンテンツ製作装置１２３のソフトウエアの構成例を表している。
【０２９２】
図２７に示されるように、マルチメディアコンテンツ製作装置１２３には、テキストエディタ５０１、変換ソフトウエア５０２、および、ＤＴＤ（Ｄｏｃｕｍｅｎｔ　Ｔｙｐｅ
Ｄｅｆｉｎｉｔｉｏｎ）５０３が設けられている。
【０２９３】
テキストエディタ５０１は、コンテンツ製作者５１７が、ＸＭＬフォーマットによりマルチメディアコンテンツを記述する場合に利用するアプリケーションソフトウエアである。即ち、テキストエディタ５０１は、ＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）５１１を生成する。この場合、図２７の例では、各シーンのＥＣＭＡスクリプトのソースコード５１２もＸＭＬデータ５１１の一部として記述される。なお、スクリプトのソースコード５１２は、ＸＭＬデータ５１１とは異なる別のファイルとして出力されてもよい。
【０２９４】
テキストエディタ５０１は、ＸＭＬデータ５１１を生成可能なものであれば限定されない。例えば、テキストエディタ５０１として、ｉＰＡＤ（アイパッド）（商標）、Ａｔｈｅｎｓ　Ｅｄｉｔｅｒ（商標）等の比較的安価に入手できるＸＭＬ汎用エディタが利用可能である。
【０２９５】
変換ソフトウエア５０２は、ＸＭＬデータ５１１、テキスト／静止画等のファイル５１３、および、コンポーネントのクラスファイル５１４から、上述したようなサーバ１２４（図９と図１３）がそのマルチメディアコンテンツを配信する場合に利用するフォーマットのマルチメディアコンテンツ５１６（図１５に示されるものと同様の複数のシーンファイル２９２からなるマルチメディアコンテンツ５１６）に変換するソフトウエアである。
【０２９６】
なお、テキスト／静止画等のファイル５１３は、図１５のテキスト／静止画等のファイル３０４に対応するものであり、図２７の例では、ＸＭＬデータ５１１に組み込むものとしてモノメディア製作装置１２１（図９）よりマルチメディアコンテンツ製作装置１２３に予め供給されている。
【０２９７】
また、コンポーネントのクラスファイル５１４は、図１５のコンポーネントのクラスファイル３０２に対応するものであり、図２７の例では、ＸＭＬデータ５１１に含まれるコンポーネントのクラスファイルとしてコンポーネント開発装置１２２（図９）よりマルチメディアコンテンツ製作装置１２３に予め供給されている。
【０２９８】
図２７の例では、さらに、変換ソフトウエア５０２は、マルチメディアコンテンツ５１６と、上述したブラウザのアーカイブファイル２９１を組み合わせて配信ソフトウエア５１５とし、それをサーバ１２４に供給する処理も実行する。
【０２９９】
ただし、上述したように、この処理の実行場所は、特に限定されず、変換ソフトウエア５０２とは異なるソフトウエア（図示せず）により実行されてもよいし、マルチメディアコンテンツ製作装置１２３ではなくサーバ１２４（図９）により実行されてもよい。
【０３００】
ＤＴＤ５０３は、ＸＭＬフォーマットにより記述されたデータ（この例では、ＸＭＬデータ５１１）の中に現れるタグの種類と出現規則を定義したものがデータ化されたものである。ＤＴＤ５０３の詳細、および、タグについては、後述する。
【０３０１】
次に、図２８のフローチャートを参照して、図２７の変換ソフトウエア５０２の処理を説明する。
【０３０２】
なお、この例においては、ＸＭＬデータ５１１は、例えば、以下のようなＸＭＬフォーマットのマルチメディアコンテンツとされる。
【０３０３】
即ち、この例のＸＭＬデータ５１１が、変換ソフトウエア５０２の後述するステップＳ６１乃至Ｓ７１の処理により、マルチメディアコンテンツ５１６に変換され、ブラウザのアーカイブファイル２９１とともに配信ソフトウエア５１５として、サーバ１２４（図９）に供給され、さらに、サーバ１２４よりその配信ソフトウエア５１５がネットワーク１１２（図９）を介して受信端末１１３（図９）に配信された場合、受信端末１１３が、配信されたブラウザのアーカイブファイル２９１に対応するブラウザを利用して、配信されたマルチメディアコンテンツ５１６を再生させると、受信端末１１３のディスプレイ（図１２の出力部１８７）には、図２９に示されるような画像５２１が表示される。
【０３０４】
具体的には、この例のＸＭＬデータ５１１（図２９の画像５２１を表示させるＸＭＬデータ５１１）は、図３０乃至図６１のように記述される。
【０３０５】
なお、以下、図３０乃至図６１に示されるＸＭＬデータ５１１（部分５１１−１乃至５１１−３２からなるＸＭＬデータ５１１）のうちの、”＜ｃｏｍｐｏｎｅｎｔ＞”や”＜ｓｃｅｎｅ＞”など、”＜”と”＞”で囲まれた部分を、ＨＴＭＬと同様に、タグと称する。また、１組のタグ（例えば”＜ｃｏｍｐｏｎｅｎｔ＞”と”＜／ｃｏｍｐｏｎｅｎｔ＞”）で挟まれた部分を、要素と称する。
【０３０６】
例えば、ＸＭＬデータ５１１のうちの図３０に示される部分５１１−１は、次のことを表現している。
【０３０７】
即ち、ＸＭＬデータ５１１は、部分ａに示されるように、”ｗｅｌｃｏｍｅ”という名称のマルチメディアコンテンツであり、部分ｂに示されるように、”ｓｔａｒｔｕｐ”という名称のシーンが含まれている。部分ｃに示されるように、シーン”ｓｔａｒｔｕｐ”には、ＳＳｐｏｔＬｉｇｈｔクラスを実体として持つコンポーネントが含まれている。また、部分ｄと部分ｅに示されるように、このコンポーネントの”ｉｄ”属性の値は、文字列であり、”ｓＳｐｏｔＬｉｇｈｔ１”である。５１１−１のその他の部分、および、部分５１１−２乃至５１１−３２の説明は、冗長となるので省略する。
【０３０８】
図２８に戻り、はじめに、ステップＳ６１において、図２７の変換ソフトウエア５０２は、ＤＴＤ５０３によって、ＸＭＬデータ５１１の検証を行う。
【０３０９】
即ち、ＸＭＬフォーマットで記述されたデータ（いまの場合、上述したＸＭＬデータ５１１）の中に現れるタグの種類と出現規則に関しては、そのデータ構造毎に定義する必要がある。定義方法に関しては何種類かの方式が提案されているが、最も広く利用されているものが上述したＤＴＤである。
【０３１０】
この例においては、上述したように、ＤＴＤ５０３がマルチメディアコンテンツ製作装置１２３（図１０の記憶部１４８等）に予め記憶されており、変換ソフトウエア５０２は、実際に製作されたＸＭＬデータ５１１を、ＤＴＤ５０３と照らし合わせて規則にしたがっているか否かをチェックする。この処理を、ここでは、検証と称する。
【０３１１】
この例においては、例えば、ＤＴＤ５０３は、図６２の部分５０３−１と図６３の部分５０３−２ように記述される。
【０３１２】
なお、図６２と図６３に示されるＤＴＤ５０３のうちの、”＊”は、「繰り返し」を表しており、例えば、図６２の部分Ａに示される＜！ＥＬＥＭＥＮＴ　ｓｃｅｎｅ　（ｓｃｒｉｐｔ，　ｃｏｍｐｏｎｅｎｔ＊）＞は、要素”ｓｃｅｎｅ”の中には、要素”ｓｃｒｉｐｔ”が１回出現し、次に、要素”ｃｏｍｐｏｎｅｎｔ”が任意の回数出現することを表している。
【０３１３】
また、”　＃ＲＥＱＵＩＲＥＤ”は、「必須指定」を、”ＩＤ”は属性が取り得る値（識別子（ユニークな値））を、それぞれ表しており、例えば、図６２の部分Ｂに示される＜！ＡＴＴＬＩＳＴ　ｓｃｅｎｅ　ｎａｍｅ　ＩＤ　＃ＲＥＱＵＩＲＥＤ＞の部分は、要素”ｓｃｅｎｅ”には属性”ｎａｍｅ”があり、その値（ＩＤ）は必ず指定する必要があり、かつＸＭＬデータ５１１中で一意でなければならないことを表している。即ち、同じ名前（属性”ｎａｍｅ”の値（ＩＤ））のシーン（要素”ｓｃｅｎｅ”）が複数存在してはいけないことを表している。
【０３１４】
また、図６２の部分Ａに示される　＜！−−コンテンツを構成するシーン　−−＞は、＜！ＥＬＥＭＥＮＴ　ｓｃｅｎｅ　（ｓｃｒｉｐｔ，　ｃｏｍｐｏｎｅｎｔ＊）＞の注釈を表しており、図６２の部分Ｂに示される　＜！−−シーンの名称（必須指定）　−−＞は、＜！ＡＴＴＬＩＳＴ　ｓｃｅｎｅ　ｎａｍｅ　ＩＤ　＃ＲＥＱＵＩＲＥＤ＞の注釈を表している。
【０３１５】
ＤＴＤ５０３のその他の部分（図６２の部分Ａと部分Ｂを除く部分５０３−１、および、図６３の部分５０３−２に示される各タグ）も同様に、その部分（タグ）に対応する注釈（　＜！−−　　　−−＞の部分）が記述されている。従って、その他の部分についての説明は、冗長となるので省略するが、所定の部分（タグ）の意味は、その部分（タグ）に対応する注釈により容易に推定することが可能である。
【０３１６】
このようにして、図２８のステップＳ６１の処理でＤＴＤ５０３によって、ＸＭＬデータ５１１の検証が行われると、ステップＳ６２の処理が実行される。
【０３１７】
即ち、ＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）５１１は、複数のシーンから構成されているので、ステップＳ６２において、変換ソフトウエア５０２は、それらの複数のシーンの中から、これから処理を行うシーン（以下、対象シーンと称する）を選定する。
【０３１８】
ステップＳ６３において、変換ソフトウエア５０２は、対象シーンに含まれる各コンポーネントのそれぞれのクラスの種類を、ＸＭＬデータ５１１より取得する。
【０３１９】
ステップＳ６４において、変換ソフトウエア５０２は、ステップＳ６３の処理で取得されたクラスの種類に基づいて、各クラスのそれぞれに対応するコンポーネントのクラスファイル５１４をロードする（取得する）。
【０３２０】
ステップＳ６５において、変換ソフトウエア５０２は、対象シーンに含まれる各コンポーネントのそれぞれに相当するＪａｖａ（Ｒ）オブジェクトを生成する。
【０３２１】
ステップＳ６６において、変換ソフトウエア５０２は、ＸＭＬデータ５１１で指定されている属性について、その値を、ステップＳ６５の処理で生成されたＪａｖａ（Ｒ）オブジェクトに設定する。
【０３２２】
ステップＳ６７において、変換ソフトウエア５０２は、ステップＳ６５の処理で生成し、ステップＳ６６の処理で各属性に値を設定した各Ｊａｖａ（Ｒ）オブジェクトのそれぞれをインスタンスファイル（上述した図１５のインスタンスファイル３０１に相当するもの）にシリアライズする。
【０３２３】
ステップＳ６８において、変換ソフトウエア５０２は、ＸＭＬデータ５１１の中から対象シーンのＥＣＭＡスクリプトのソースコード５１２を抽出し、スクリプトファイル（上述した図１５のスクリプトファイル３０３に相当するもの）として出力する。
【０３２４】
ステップＳ６９において、変換ソフトウエア５０２は、ステップＳ６７の処理でシリアライズしたインスタンスファイル、ステップＳ６８の処理で出力したスクリプトファイル、対象シーンに含まれる各コンポーネントのそれぞれに対応するコンポーネントのクラスファイル群５１４、および、対象シーンに組み込まれるテキスト／静止画等のファイル群５１３を、対象シーンに対応するシーンファイル２９２としてアーカイブする。
【０３２５】
即ち、変換ソフトウエア５０２は、図１５に示されるような、対象シーンに対応するシーンファイル２９２を生成する。
【０３２６】
ステップＳ７０において、変換ソフトウエア５０２は、全てのシーンが対象シーンとして選定されたか否かを判定する。
【０３２７】
ステップＳ７０において、全てのシーンが対象シーンとして選定されていないと判定した場合、変換ソフトウエア５０２は、その処理をステップＳ６２に戻し、まだ選択されていないシーンの中から、次の対象シーンを選択し、それ以降の処理を繰り返す。
【０３２８】
即ち、変換ソフトウエア５０２は、全てのシーンのそれぞれに対して、上述したステップＳ６３乃至ステップＳ６９の処理を施して、全てのシーンのそれぞれに対応するシーンファイル２９２を生成する。
【０３２９】
そして、変換ソフトウエア５０２は、最後のシーンに対応するシーンファイル２９２を生成すると、ステップＳ７０において、全てのシーンが対象シーンとして選択されたと判定し、全てのシーンのそれぞれに対応するシーンファイル２９２からなるマルチメディアコンテンツ５１６と、ブラウザのアーカイブファイル２９１とを組み合わせて、配信ソフトウエア５１５を生成し、サーバ１２４に出力する。
【０３３０】
その後、サーバ１２４が、その配信ソフトウエア５１５をネットワーク１１２（図９）を介して受信端末１１３（図９）に配信した場合、上述したように、受信端末１１３が、配信されたブラウザのアーカイブファイル２９１に対応するブラウザを利用して、配信されたマルチメディアコンテンツ５１６を再生させると、受信端末１１３のディスプレイ（図１２の出力部１８７）には、図２９に示されるような画像５２１が表示される。
【０３３１】
このように、コンテンツ製作者５１７は、上述したオーサリングシステム４４１の代わりのソフトウエアとして、上述したテキストエディタ５０１と変換ソフトウエア５０２を無償、または、より安価な値段で入手することができ、かつ、そのようにして入手したテキストエディタ５０１と変換ソフトウエア５０２を容易に利用することができるので、オーサリングシステム４４１を利用しなくても、オーサリングシステム４４１により生成されるものと同一のフォーマット（図１５に示されるフォーマット）で、マルチメディアコンテンツ５１６を含む配信ソフトウエア５１５を製作することが可能になる。
【０３３２】
ただし、変換ソフトウエア５０２は、オーサリングシステム４４１と比較すると、マルチメディアコンテンツの生産性が低い。換言すると、オーサリングシステム４４１は、上述したように、以下の第１乃至第４の機能といった特有の機能を有するが、変換ソフトウエア５０２は、これらの機能を有していない。
【０３３３】
即ち、第１の機能は、ＷＹＳＩＷＹＧ（Ｗｈａｔ　Ｙｏｕ　Ｓｅｅ　Ｉｓ　Ｗｈａｔ　Ｙｏｕ　Ｇｅｔ）環境を提供する機能である。
【０３３４】
なお、ここでは、コンテンツの製作時に、最終的に得られるプレゼンテーションを視覚的に確認しながら編集を行うことが可能なユーザインターフェイス環境を、ＷＹＳＩＷＹＧ環境と称している。ＷＹＳＩＷＹＧ環境は、コンテンツに対して何らかの変更を施すと、その効果を視覚的に即座に確認することができるので、コンテンツ製作の効率が大幅に向上するという効果を奏することが可能である。
【０３３５】
第２の機能は、コンテンツの構成、編集対象コンポーネントのカスタマイズ情報等、コンテンツの製作に必要な各種情報のリストやツリーといった分かりやすい形での表示を提供する機能である。
【０３３６】
第３の機能は、コンポーネントのカスタマイズ支援の機能である。即ち、第３の機能は、コンポーネントの属性値を入力するとき、テキストフィールド、チェックボックス、スライダー等のＧＵＩコンポーネントを利用することにより、入力のサポートを行うとともに、ユーザの入力値が正しい範囲にあるか否か等のチェックを行う機能である。
【０３３７】
第４の機能は、コピー、ペースト、操作の取り消し、やり直し等の処理を提供する機能である。
【０３３８】
また、テキストエディタ５０１は、ユーザが、定められたテキストフォーマットに準じて正確にコンテンツを記述する必要があり、記述ミスがあると変換時にエラーになるという特徴を有している。従って、マルチメディアコンテンツの生産性が高いソフトウエアとは言い難い。
【０３３９】
このように、テキストエディタ５０１と変換ソフトウエア５０２を利用する製作環境と、オーサリングシステム４４１を利用するコンテンツ製作環境は相互に補完し合う関係にあると考えることができる。
【０３４０】
なお、上述したサーバ１２４が配信する配信ソフトウエア（例えば、図１３の配信ソフトウエア２４２、および、図２７の配信ソフトウエア５１５）自体のフォーマットに、ＸＭＬ等を利用したテキスト形式を採用することも可能であるが、この場合、データサイズが大きくなり、ロードに時間がかかるといった新たな課題が発生してしまう。従って、サーバ１２４が配信する配信ソフトウエアは、上述したように、バイナリ形式のファイルとして配信されたほうが好適である。
【０３４１】
以上、本実施の形態においては、上述したように、コンポーネントベースのアーキテクチャを採用しているので、マルチメディアコンテンツにコンテンツ独自の機能を従来よりも容易に組み込むことができる（拡張性が高いといえる）。
【０３４２】
また、本実施の形態においては、３Ｄをベースとしたプレゼンテーションを実現するので、分かり易く魅力的なマルチメディア視聴の環境を実現することができる。
【０３４３】
さらに、本実施の形態においては、オーサリングツール上で、任意のコンポーネントをコンテンツに組込み、グラフィカルな環境で各々のコンポーネントをカスタマイズし、かつ、スクリプト言語により容易にコンポーネントを制御できる環境を提供するので、デザイナーやコンテンツクリエイターが従来よりも容易に高機能なコンテンツを製作することができる（生産性が高いといえる）。
【０３４４】
さらに、本実施の形態においては、テキストデータとして記述されたコンテンツのフォーマットを、上述したオーサリングシステムにより製作されたものと同一のフォーマットに変換する変換ソフトウエアが用意されているので、コンテンツ製作者は、一般的なテキストエディタを利用して、コンテンツの製作や編集が可能になる。このようなテキストエディタは、ＯＳに付属している場合や、フリーウェアやシェアウェアである場合が多く、無償または安価に入手可能である。
【０３４５】
また、この変換ソフトウエアは、上述したオーサリングシステムと比較して、極めて安価に開発することが可能であるので、コンテンツ製作者（ユーザ）のコストの負担を少なくすることができる。さらに、テキストでコンテンツを記述するための文法として独自のものを利用することも可能であるが、ＸＭＬ等のオープンな規格に準じた方式を採用することにより、変換ソフトウエアの開発コストをさらに抑制し、コンテンツの製作者（ユーザ）にとってさらに利用しやすいツールとすることが可能になる。
【０３４６】
さらにまた、本実施の形態においては、提示の一意性を保証し、かつ、矢印または決定キーによるユーザーインタフェースを採用するので、パーソナルコンピュータを含む様々なデジタル家電製品において、従来よりも簡便でかつ共通した操作性を提供することができるとともに、パーソナルコンピュータを含む様々なデジタル家電製品に対して同一のコンテンツを配信できる。
【０３４７】
このように、本実施の形態は、上述した第１乃至第６の課題を解決することができる。
【０３４８】
なお、上述した本実施の形態の各種のソフトウエアを構成するプログラムは、ネットワークや記録媒体からインストールされる。
【０３４９】
この記録媒体は、図１０、図１１、または図１２に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記憶されているリムーバブル記録媒体（磁気ディスク（フロッピディスクを含む）、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｋ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）を含む）、光磁気ディスク（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）を含む）、もしくは半導体メモリ）１５１，１７１，または１９１などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ１４２，１６２，または１８２や、記憶部１４８，１６８，または１８８に含まれるハードディスクなどで構成される。
【０３５０】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３５１】
さらに、本明細書において、システム（オーサリングシステム４４１を除く）とは、複数の装置や処理部により構成される装置全体を表すものである。
【０３５２】
【発明の効果】
以上のごとく、本発明によれば、マルチメディアコンテンツを取り扱うことができる。さらに、本発明によれば、高機能なマルチメディアコンテンツを容易に取り扱うことができる。
【図面の簡単な説明】
【図１】Ｗ．Ｗ．Ｗの動作原理を説明するＷ．Ｗ．Ｗシステムの構成例を示す斜視図である。
【図２】ＨＴＭＬ文書の例とその表示例を示す図である。
【図３】提示の一意性が保証されない場合の、図２のＨＴＭＬ文章の表示例を示す図である。
【図４】提示の一意性が保証されない場合の、図２のＨＴＭＬ文章の表示の他の例を示す図である。
【図５】提示の一意性が保証される場合の、図２のＨＴＭＬ文章の表示例を示す図である。
【図６】ＨＴＭＬ文書の配信方式を説明する図である。
【図７】Ｊａｖａ（Ｒ）アプリケーションの配信方式を説明する図である。
【図８】上下左右及び決定キーの構成例を説明する図である。
【図９】本発明が適用される情報配信システムの構成例を示す図である。
【図１０】図９の情報配信システムのマルチメディアコンテンツ製作装置の構成例を示すブロック図である。
【図１１】図９の情報配信システムのサーバの構成例を示すブロック図である。
【図１２】図９の情報配信システムの受信端末の構成例を示すブロック図である。
【図１３】マルチメディアコンテンツを再生する仕組みを説明する図である。
【図１４】受信端末側のソフトウエアスタックを示す図である。
【図１５】図１３の配信ソフトウエアの構成例を示す図である。
【図１６】図１３のブラウザとコンポーネントのインタフェースであるＭＣｏｍｐｏｎｅｎｔパッケージの構成例を示す図である。
【図１７】図１３のブラウザのフォーカス遷移の例を説明する図である。
【図１８】図１３のブラウザのメディア同期機構のシーケンスを説明する図である。
【図１９】図１３のブラウザの構成例を示すブロック図である。
【図２０】図１３のブラウザにおけるコンポーネントのライフサイクルを説明する状態遷移図である。
【図２１】図１３のブラウザのシーン起動処理を説明するフローチャートである。
【図２２】図１３のブラウザのシーン終了処理を説明するフローチャートである。
【図２３】図１３のブラウザのイベント配布機構のシーケンスを説明する図である。
【図２４】図１４のアプリケーションマネージャの処理を説明するフローチャートである。
【図２５】オーサリングシステムを起動した場合の表示例を示す図である。
【図２６】図２５のオーサリングシステムにより製作されたマルチメディアコンテンツの再生例を示す図である。
【図２７】変換ソフトウエアを実装する図９のマルチメディアコンテンツ制作装置のソフトウエアの構成例を示す図である。
【図２８】図２７の変換ソフトウエアの処理を説明するフローチャートである。
【図２９】図２７の変換ソフトウエアによりフォーマットが変換されたマルチメディアコンテンツが、図９の受信装置に配信され、再生された例を示す図である。
【図３０】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３１】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３２】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３３】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３４】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３５】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３６】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３７】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３８】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図３９】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４０】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４１】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４２】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４３】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４４】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４５】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４６】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４７】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４８】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図４９】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５０】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５１】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５２】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５３】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５４】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５５】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５６】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５７】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５８】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図５９】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図６０】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図６１】図２７のＸＭＬデータ（ＸＭＬフォーマットのマルチメディアコンテンツ）の例を示す図である。
【図６２】図２７のＤＴＤの例を示す図である。
【図６３】図２７のＤＴＤの例を示す図である。
【符号の説明】
９１　キー，　１０１　情報配信システム，　１１２　ネットワーク，　１１３　受信端末，　１２３　マルチメディアコンテンツ製作装置，　１２４　サーバ，　１３１　マルチメディアコンテンツおよびブラウザ１３１，　１４１，１６１，１８１　ＣＰＵ，　２４３　配信ソフトウエア，　２５１　ブラウザ，　２５２　マルチメディアコンテンツ，　２７１　アプリケーションマネージャ，　２９２　シーンファイル，　３６１　制御部，　３６２　ローダ部，　３６３　シーンデータ部，　３６４　描画部，　３６５　ＥＣＭＡスクリプト処理部，　３６６　コンポーネントローダ，　３６８　コンポーネント群，　３６９　スクリプトデータ，　３７３　３Ｄ描画エンジン，　３７０　拡張関数，　３７１　スクリプトインタプリタ，　３７２　イベント／フォーカス管理部，　４４１　オーサリングシステム，　５０１　テキストエディタ，　５０２　変換ソフトウエア，　５１１　ＸＭＬデータ，　５１５　配信ソフトウエア，　５１６　マルチメディアコンテンツ
【図１】
2004005321.tif 000003
【図２】
2004005321.tif 000004
【図３】
2004005321.tif 000005
【図４】
2004005321.tif 000006
【図５】
2004005321.tif 000007
【図６】
2004005321.tif 000008
【図７】
2004005321.tif 000009
【図８】
2004005321.tif 000010
【図９】
2004005321.tif 000011
【図１０】
2004005321.tif 000012
【図１１】
2004005321.tif 000013
【図１２】
2004005321.tif 000014
【図１３】
2004005321.tif 000015
【図１４】
2004005321.tif 000016
【図１５】
2004005321.tif 000017
【図１６】
2004005321.tif 000018
【図１７】
2004005321.tif 000019
【図１８】
2004005321.tif 000020
【図１９】
2004005321.tif 000021
【図２０】
2004005321.tif 000022
【図２１】
2004005321.tif 000023
【図２２】
2004005321.tif 000024
【図２３】
2004005321.tif 000025
【図２４】
2004005321.tif 000026
【図２５】
2004005321.tif 000027
【図２６】
2004005321.tif 000028
【図２７】
2004005321.tif 000029
【図２８】
2004005321.tif 000030
【図２９】
2004005321.tif 000031
【図３０】
2004005321.tif 000032
【図３１】
2004005321.tif 000033
【図３２】
2004005321.tif 000034
【図３３】
2004005321.tif 000035
【図３４】
2004005321.tif 000036
【図３５】
2004005321.tif 000037
【図３６】
2004005321.tif 000038
【図３７】
2004005321.tif 000039
【図３８】
2004005321.tif 000040
【図３９】
2004005321.tif 000041
【図４０】
2004005321.tif 000042
【図４１】
2004005321.tif 000043
【図４２】
2004005321.tif 000044
【図４３】
2004005321.tif 000045
【図４４】
2004005321.tif 000046
【図４５】
2004005321.tif 000047
【図４６】
2004005321.tif 000048
【図４７】
2004005321.tif 000049
【図４８】
2004005321.tif 000050
【図４９】
2004005321.tif 000051
【図５０】
2004005321.tif 000052
【図５１】
2004005321.tif 000053
【図５２】
2004005321.tif 000054
【図５３】
2004005321.tif 000055
【図５４】
2004005321.tif 000056
【図５５】
2004005321.tif 000057
【図５６】
2004005321.tif 000058
【図５７】
2004005321.tif 000059
【図５８】
2004005321.tif 000060
【図５９】
2004005321.tif 000061
【図６０】
2004005321.tif 000062
【図６１】
2004005321.tif 000063
【図６２】
2004005321.tif 000064
【図６３】
2004005321.tif 000065