(57)【要約】  【課題】ＳＭＩＬベース・マルチメディア・コンテンツを再生するためのシステム、方法及びエンジンを提供する。  【解決手段】ＳＭＩＬ文書の分析及び解釈を行うとともに、ＳＭＩＬサブ・エンジン、リモート・メディア・プロキシ、又はローカル・メディア再生デバイスとの通信及びそれらの制御も行う複数のＳＭＩＬエンジンと、上位レベルのＳＭＩＬエンジンからの命令を受信し、リモート・メディア再生デバイスに対するメディア・オブジェクトの提供を開始又は停止し、イベントを返送し、基本的なユーザ・インタラクション能力を提供する複数のリモート・メディア・プロキシとを有し、前記複数のＳＭＩＬエンジンと、前記複数のリモート・メディア・プロキシと、前記ローカル・メディア再生デバイスと、前記リモート・メディア再生デバイスとは、ＳＭＩＬエンジンをルート・ノードとし、ＳＭＩＬエンジン及びリモート・メディア・プロキシをブランチ・ノードとし、ローカル・メディア再生デバイス及びリモート・メディア再生デバイスをリーフ・ノードとするツリー・リンク構造を形成する、システムを提供する。対応するＳＭＩＬエンジン及び方法も提供する。また、オン・デマンドで新しいマルチメディア端末として動的に構成可能な１組のＰｖＣデバイス上でのＳＭＩＬベース・マルチメディア・コンテンツの再生を可能にする。  【選択図】  図１
2008539483.tif 000002
【特許請求の範囲】
【請求項１】
ＳＭＩＬベース・マルチメディア・コンテンツを再生するためのＳＭＩＬエンジンであって、
前記ＳＭＩＬエンジンによって制御されるメディア・デバイスを登録するメディア・デバイス・レジストリと、
ＳＭＩＬ文書の分析、及び前記メディア・デバイスのメディア・インタラクション能力に関して取得された情報に基づいて、中間ＳＭＩＬモデルを生成し、前記中間ＳＭＩＬモデルを次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方に配信し、対応するローカル・プロキシ・オブジェクトを生成し、ローカルＳＭＩＬインタープリタ上に配置すべき内部ＳＭＩＬモデルを生成するＳＭＩＬパーサーと、
前記ＳＭＩＬ文書の再生ロジックを解釈実行し、次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシ又はローカル・メディア再生デバイスあるいはそれら全てをトリガして前記メディア・コンテンツを再生し、ユーザとのインタラクションを制御するＳＭＩＬインタープリタと、
前記次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方に配信される前記ローカル・プロキシ・オブジェクトと、前記中間ＳＭＩＬモデルとの間の関係が収容されたマッピング・テーブルを維持し、ローカルＳＭＩＬエンジンと、前記次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方との間のイベント転送を担当するリモート・イベント・プロキシと、
を有するＳＭＩＬエンジン。
【請求項２】
前記ＳＭＩＬエンジンによって制御される前記メディア・デバイスは、次のレベルのＳＭＩＬエンジンと、リモート・メディア・プロキシと、ローカル・メディア再生デバイスとを有し、それらは全て、ＳＭＩＬで定義されるメディア・インタラクション能力のサブセットと、レジスタ単位のメディア・インタラクション能力と、システム起動時の前記メディア・デバイス・レジストリ内の位置情報とをサポートする、請求項１に記載のＳＭＩＬエンジン。
【請求項３】
前記中間ＳＭＩＬモデルは、次のレベルのＳＭＩＬエンジンに配信されるマルチメディア・コンテンツと、リモート・メディア・プロキシに配信されるメディア・オブジェクトとを収容するタイム・コンテナを有し、前記内部ＳＭＩＬモデルは、ローカルＳＭＩＬインタープリタ上で実行可能なタイム・コンテナであり、ローカル・メディア再生デバイスに配信される現在のレベルのＳＭＩＬモデル及び前記メディア・オブジェクトに関する制御ロジックを有する、請求項１に記載のＳＭＩＬエンジン。
【請求項４】
前記ローカル・メディア再生デバイスは、
前記ＳＭＩＬインタープリタの前記トリガ・メカニズムに従ってメディア・プレーヤを駆動し、再生すべきメディア・コンテンツを取得するメディア再生コントローラと、
メディア・コンテンツを再生するメディア・プレーヤと、
を有する、請求項１に記載のＳＭＩＬエンジン。
【請求項５】
前記イベントは、タイミング・イベントと、文書オブジェクト・モデル・イベントと、ユーザ・インタラクション・イベントと、内部イベントとを有する、請求項１に記載のＳＭＩＬエンジン。
【請求項６】
前記ローカル・メディア再生デバイスは、パーベイシブ・コンピューティング・デバイスであってもよい、請求項１乃至５のいずれか一項に記載のＳＭＩＬエンジン。
【請求項７】
ＳＭＩＬベース・マルチメディア・コンテンツを再生するためのシステムであって、
ＳＭＩＬ文書の分析及び解釈を行うとともに、次のレベルのＳＭＩＬエンジン、リモート・メディア・プロキシ、又はローカル・メディア再生デバイスとの通信及びそれらの制御も行う、請求項１乃至６のいずれか一項に記載の複数のＳＭＩＬエンジンと、
上位レベルのＳＭＩＬエンジンからの命令を受信し、リモート・メディア再生デバイスに対するメディア・オブジェクトの提供を開始又は停止し、イベントを返送し、基本的なユーザ・インタラクション能力を提供する複数のリモート・メディア・プロキシと
を有し、
前記複数のＳＭＩＬエンジンと、前記複数のリモート・メディア・プロキシと、前記ローカル・メディア再生デバイスと、前記リモート・メディア再生デバイスとは、ＳＭＩＬエンジンをルート・ノードとし、ＳＭＩＬエンジン及びリモート・メディア・プロキシをブランチ・ノードとし、ローカル・メディア再生デバイス及びリモート・メディア再生デバイスをリーフ・ノードとするツリー・リンク構造を形成する、
システム。
【請求項８】
前記リモート・メディア・プロキシは、前記リモート・メディア再生デバイスの能力に従ってどのメディア・オブジェクトを提供すべきかを判定し、リモート・メディア再生デバイスがメディア・サーバにアクセスできない場合には、提供される前記メディア・オブジェクトは、再生すべきメディア・コンテンツを含み、前記リモート・メディア再生デバイスがメディア・サーバにアクセスできる場合には、提供される前記メディア・オブジェクトは、メディア・コンテンツを取得するための前記メディア・サーバのアドレスを含む、請求項７に記載のシステム。
【請求項９】
前記ローカル・メディア再生デバイスと、前記リモート・メディア再生デバイスとは、パーベイシブ・コンピューティング・デバイスであってもよい、請求項７又は８に記載のシステム。
【請求項１０】
請求項７乃至９のいずれか一項に記載のシステムにおいてＳＭＩＬベース・マルチメディア・コンテンツを再生するための方法であって、
ＳＭＩＬエンジンが、ＳＭＩＬ文書を分析し、前記ＳＭＩＬエンジンによって制御される前記メディア・デバイスの前記メディア・インタラクション能力に関する情報を取得するステップと、
前記ＳＭＩＬエンジンが前記メディア・インタラクション能力に関して取得した前記情報に基づいて、中間ＳＭＩＬモデルを生成し、前記中間ＳＭＩＬモデルを次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方に配信し、対応するローカル・プロキシ・オブジェクトの生成又はローカルＳＭＩＬインタープリタ上に配置すべき内部ＳＭＩＬモデルの生成あるいはその両方を行うステップと、
前記次のレベルのＳＭＩＬエンジン及び前記リモート・メディア・プロキシに配信される前記ローカル・プロキシ・オブジェクトと前記中間ＳＭＩＬモデルとの間の関係が記録されたマッピング・テーブルを更新するステップと、
前記次のレベルのＳＭＩＬエンジンが最後のレベルのＳＭＩＬエンジンとなるまで上述の各ステップを再帰的に実行するステップと、
受信された前記各中間ＳＭＩＬモデルを解釈し、前記各ＳＭＩＬエンジンを用いて内部ＳＭＩＬモデルを生成するステップと、
時間及びイベントに従って、前記リモート・メディア再生デバイス又はローカル・メディア再生デバイスあるいはその両方を起動してメディア・コンテンツを再生するステップと、
を有する方法。
【請求項１１】
前記ＳＭＩＬエンジンによって制御される前記メディア・デバイスは、次のレベルのＳＭＩＬエンジンと、リモート・メディア・プロキシと、ローカル・メディア再生デバイスとを有し、それらは全てＳＭＩＬで定義されるメディア・インタラクション能力のサブセットをサポートする、請求項１０に記載の方法。
【請求項１２】
前記中間ＳＭＩＬモデルは、次のレベルのＳＭＩＬエンジンに配信されるマルチメディア・コンテンツと、リモート・メディア・プロキシに配信されるメディア・オブジェクトとを収容するタイム・コンテナを有し、前記内部ＳＭＩＬモデルは、ローカル実行可能なタイム・コンテナであり、ローカル・メディア再生デバイスに配信される現在のレベルのＳＭＩＬモデル及び前記メディア・オブジェクトに関する制御ロジックを有する、請求項１０に記載の方法。
【請求項１３】
前記イベントは、タイミング・イベントと、文書オブジェクト・モデル・イベントと、ユーザ・インタラクション・イベントと、内部イベントとを有する、請求項１０に記載の方法。
【請求項１４】
ローカル・メディア再生デバイスを起動してメディア・コンテンツを再生する前記ステップは、前記ローカル・メディア再生デバイスが、受信したメディア・オブジェクトの定義に基づいて対応するメディア・サーバからメディア・コンテンツを取得して再生するステップを有する、請求項１０に記載の方法。
【請求項１５】
リモート・メディア再生デバイスを起動してメディア・コンテンツを再生する前記ステップは、前記リモート・メディア・プロキシが、制御対象の前記リモート・メディア再生デバイスの能力に従って再生すべきメディア・コンテンツを取得する必要があるかどうかを判定し、必要があると判定された場合には、再生すべき前記メディア・コンテンツが前記リモート・メディア・プロキシによって取得され、再生のために前記リモート・メディア再生デバイスに提供され、必要がないと判定された場合には、対応するメディア・リンク又はメディア記述子が前記リモート・メディア再生デバイスに提供され、前記リモート・メディア再生デバイスが再生すべきメディア・コンテンツを取得して再生するステップを有する、請求項１０に記載の方法。
【請求項１６】
前記ローカル・メディア再生デバイスと、前記リモート・メディア再生デバイスとは、パーベイシブ・コンピューティング・デバイスであってもよい、請求項１０乃至１５のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・ネットワーク分野における同期マルチメディア統合言語（ＳＭＩＬ）ベース・マルチメディア・コンテンツの再生方法に関するものであり、特に、前記マルチメディア・コンテンツをパーベイシブ・コンピューティング（ＰｖＣ）・デバイス上で再生するためのエンジン、システム、及び方法に関するものである。
【背景技術】
【０００２】
ＳＭＩＬは、ワールド・ワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）によって定義され、ウェブ配信される時間ベースのマルチメディア表示を符号化するマルチメディア制御言語であり、マルチメディア（アニメーション、音声、ビデオ、静止画像、静的テキスト、テキスト・ストリーム等）の各セグメントをいつ、どこで、どのように再生するか定義するものである。このような言語を用いると、それぞれ独立した１組のマルチメディア・オブジェクトを同期型のマルチメディア・コンテンツに統合することができ、再生中のユーザ・インタラクションをサポートすることができるようになる。ＳＭＩＬは、ウェブＴＶ、オンライン講座、マルチメディア表示等で採用されることもある。ＳＭＩＬは、Ｒｅａｌｎｅｔｗｏｒｋ、Ａｐｐｌｅ、Ｍｉｃｒｏｓｏｆｔ等の企業のクライアント・サイド・アプリケーションで広く使用されている。
【０００３】
Ｘ‐Ｓｍｉｌｅｓ、Ａｐｐｌｅ  ＱｕｉｃｋＴｉｍｅ（商標）、Ｈｅｌｉｘ（商標）のような従来のＳＭＩＬブラウザは、ＳＭＩＬ２．０のフル・プロファイル及び拡張機能をサポートすることができる。これらのブラウザはウェブ・ブラウザと同様、ＰＣと類似のマルチメディア・デバイス向けに設計された純粋なクライアント・ソフトウェアである。
【０００４】
携帯情報端末（ＰＤＡ）、携帯電話、家庭用デバイス、テレマティクス・デバイスのようなＰｖＣデバイスのネットワーク化が進むに従って、そのようなデバイス上でＳＭＩＬベース・マルチメディア・コンテンツを再生することが求められるようになっている。しかしながら、ＰｖＣデバイスは通常そのようなデバイス上で再生可能なメディア・オブジェクトが限られている故に、１種類のメディア形式のメディア・オブジェクトしか再生することができず、そのため、１つのＰｖＣデバイスが複数のメディア・オブジェクトの再生をサポートすることは困難である。例えば、ＰＯＴＳ電話は音声だけをサポートするが、ＩＰ電話及び携帯電話は音声及び簡易テキスト入力をサポートすることができ、ＰＤＡはテキスト及び静止画像だけでなく、ネットワーク・ブラウジング及びユーザ・インタラクションに基づく簡易なビデオ・ストリームをもサポートすることができ、ＴＶセット及びデジタルＨｉＦｉシステムは実時間のビデオ及び音声ストリームの再生をサポートする。しかしながら、ＰｖＣデバイスでは上述のメディア・オブジェクトを再生する資源について、ＳＭＩＬで定義される標準的なマルチメディア・タイプのサブセットだけしか再生できないという制限がある。さらに、そのような資源の制限は、マルチ・スレッディング、複雑なタイミング・メカニズム／同期メカニズム、ＰｖＣデバイス上での複数メディアの統合といった各種機能の実装を困難なものにしている。
【０００５】
ＳＭＩＬをハンドヘルド・デバイス上でサポートする従来の方法は複数存在する。例えば、マルチメディア・メッセージング・サービス（ＭＭＳ）で使用される第３世代移動体通信規格パートナーシップ・プロジェクト（３ＧＰＰ）のＳＭＩＬプロファイルは、ＳＭＩＬ解釈能力を備えた携帯電話でのＳＭＩＬベース・マルチメディア・コンテンツの再生をサポートすることができる。しかしながら、３ＧＰＰのＳＭＩＬプロファイルは、ＳＭＩＬ２．０の基本プロファイルのサブセットに過ぎないので、ハンドヘルド・デバイス上で再生可能なメディア・コンテンツは限られている。例えば、「Ｍｕｌｔｉｍｅｄｉａ  Ｒｅｐｒｏｄｕｃｉｎｇ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ」と題する米国特許公開第２００３／０２２９８４７号には、ＳＭＩＬベース・マルチメディア・コンテンツを単一のモバイル・デバイス上で再生する方法が開示されている。しかし、当該出願では並列的なタイミング・メカニズム及び同期メカニズムの直列化に焦点が当てられており、複雑なメディア・コンテンツの再生及び柔軟なユーザ・インタラクションに関する資源の問題は解決されていない。それ故、上述の解決策はいずれもＳＭＩＬ解釈能力を備えたＰｖＣデバイス上でのＳＭＩＬベース・マルチメディア・コンテンツの再生しかサポートすることができない。したがって、ＳＭＩＬ解釈能力を備えていないＰｖＣデバイス上ではＳＭＩＬベース・マルチメディア・コンテンツを再生することは不可能である。
【特許文献１】米国特許公開第２００３／０２２９８４７号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述の技術課題を解決しようとするものである。本発明の目的は、ＳＭＩＬベース・マルチメディア・コンテンツをパーベイシブ・コンピューティング・デバイス上で再生するためのＳＭＩＬエンジン、システム、及び方法を提供することである。本発明のＳＭＩＬエンジン、システム、及び方法を用いると、１組のＰｖＣデバイスが互いに連動してＳＭＩＬベース・マルチメディア・コンテンツの共同再生（ｊｏｉｎｔｌｙ  ｐｌａｙｉｎｇ）を行うように、当該１組のＰｖＣデバイスを動的に構成することができ、それによってＰｖＣデバイスのメディア・インタラクション能力の必要性を低減することができる。それ故、ＳＭＩＬ２．０のフル・プロファイル及び拡張機能もサポートすることができる。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、ＳＭＩＬベース・マルチメディア・コンテンツを再生するためのＳＭＩＬエンジンであって、
前記ＳＭＩＬエンジンによって制御されるメディア・デバイスを登録するメディア・デバイス・レジストリと、
ＳＭＩＬ文書の分析、及び前記メディア・デバイスのメディア・インタラクション能力に関して取得された情報に基づいて、中間ＳＭＩＬモデルを生成し、前記中間ＳＭＩＬモデルを次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方に配信し、対応するローカル・プロキシ・オブジェクトを生成し、ローカルＳＭＩＬインタープリタ上に配置すべき内部ＳＭＩＬモデルを生成するＳＭＩＬパーサーと、
前記ＳＭＩＬ文書の再生ロジックを解釈実行し、次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシ又はローカル・メディア再生デバイスあるいはそれら全てをトリガして前記メディア・コンテンツを再生し、ユーザとのインタラクションを制御するＳＭＩＬインタープリタと、
前記次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方に配信される前記ローカル・プロキシ・オブジェクトと、前記中間ＳＭＩＬモデルとの間の関係が収容されたマッピング・テーブルを維持し、ローカルＳＭＩＬエンジンと、前記次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方との間のイベント転送を担当するリモート・イベント・プロキシと
を有するＳＭＩＬエンジンが提供される。
【０００８】
前記ＳＭＩＬエンジンによって制御される前記メディア・デバイスは、次のレベルのＳＭＩＬエンジンと、リモート・メディア・プロキシと、ローカル・メディア再生デバイスとを有し、それらは全て、ＳＭＩＬで定義されるメディア・インタラクション能力のサブセットと、レジスタ単位のメディア・インタラクション能力（ｒｅｇｉｓｔｅｒ  ｒｅｓｐｅｃｔｉｖｅ  ｍｅｄｉａ  ｉｎｔｅｒａｃｔｉｏｎ  ｃａｐａｂｉｌｉｔｉｅｓ）と、システム起動時の前記メディア・デバイス・レジストリ内の位置情報とをサポートすることが好ましい。
【０００９】
前記中間ＳＭＩＬモデルは、次のレベルのＳＭＩＬエンジンに配信されるマルチメディア・コンテンツと、リモート・メディア・プロキシに配信されるメディア・オブジェクトとを収容するタイム・コンテナを有し、前記内部ＳＭＩＬモデルは、ローカルＳＭＩＬインタープリタ上で実行可能なタイム・コンテナであり、ローカル・メディア再生デバイスに配信される現在のレベルのＳＭＩＬモデル及び前記メディア・オブジェクトに関する制御ロジックを有することが好ましい。
【００１０】
前記イベントは、タイミング・イベントと、文書オブジェクト・モデル・イベントと、ユーザ・インタラクション・イベントと、内部イベントとを有することが好ましい。
【００１１】
前記ローカル・メディア再生デバイスは、
前記ＳＭＩＬインタープリタの前記トリガ・メカニズムに基づいてメディア・プレーヤを駆動し、再生すべきメディア・コンテンツを取得するメディア再生コントローラと、
メディア・コンテンツを再生するメディア・プレーヤと
を有することが好ましい。
【００１２】
本発明の別の態様によれば、ＳＭＩＬベース・マルチメディア・コンテンツを再生するためのシステムであって、
ＳＭＩＬ文書の分析、解釈、及び実行を行うとともに、次のレベルのＳＭＩＬエンジン、リモート・メディア・プロキシ、又はローカル・メディア再生デバイスとの通信及びそれらの制御も行う、上述の複数のＳＭＩＬエンジンと、
上位レベルのＳＭＩＬエンジンからの命令を受信し、リモート・メディア再生デバイスに対するメディア・オブジェクトの提供を開始又は停止し、イベントを返送し、基本的なユーザ・インタラクション能力を提供する複数のリモート・メディア・プロキシと
を有し、
前記複数のＳＭＩＬエンジンと、前記複数のリモート・メディア・プロキシと、前記ローカル・メディア再生デバイスと、前記リモート・メディア再生デバイスとは、ＳＭＩＬエンジンをルート・ノードとし、ＳＭＩＬエンジン及びリモート・メディア・プロキシをブランチ・ノードとし、ローカル・メディア再生デバイス及びリモート・メディア再生デバイスをリーフ・ノードとするツリー・リンク構造を形成する、
システムが提供される。
【００１３】
本発明のさらに別の態様によれば、前記システムにおいてＳＭＩＬベース・マルチメディア・コンテンツを再生するための方法であって、
ＳＭＩＬエンジンが、ＳＭＩＬ文書を分析し、前記ＳＭＩＬエンジンによって制御される前記メディア・デバイスの前記メディア・インタラクション能力に関する情報を取得するステップと、
前記ＳＭＩＬエンジンが前記メディア・インタラクション能力に関して取得した前記情報に基づいて、中間ＳＭＩＬモデルを生成し、前記中間ＳＭＩＬモデルを次のレベルのＳＭＩＬエンジン又はリモート・メディア・プロキシあるいはその両方に配信し、対応するローカル・プロキシ・オブジェクトの生成又はローカルＳＭＩＬインタープリタ上に配置すべき内部ＳＭＩＬモデルの生成あるいはその両方を行うステップと、
前記次のレベルのＳＭＩＬエンジン及び前記リモート・メディア・プロキシに配信される前記ローカル・プロキシ・オブジェクトと前記中間ＳＭＩＬモデルとの間の関係が記録されたマッピング・テーブルを更新するステップと、
前記次のレベルのＳＭＩＬエンジンが最後のレベルのＳＭＩＬエンジンとなるまで上述の各ステップを再帰的に実行するステップと、
受信された前記各中間ＳＭＩＬモデルを解釈し、前記各ＳＭＩＬエンジンを用いて内部ＳＭＩＬモデルを生成するステップと、
時間及びイベントに従って、前記リモート・メディア再生デバイス又はローカル・メディア再生デバイスあるいはその両方を起動してメディア・コンテンツを再生するステップと
を有する方法が提供される。
【００１４】
本発明は次の利点を有する。（１）ＰｖＣデバイスをオン・デマンドで動的に構成してマルチメディア・コンテンツ再生用の新しいマルチメディア端末を形成することができる。（２）資源の制約がある１組のＰｖＣデバイス上で同期メディア・コンテンツを再生する要件を満足させることができる。（３）従来のＳＭＩＬクライアント・アプリケーション・モードと比較して、サーバ及び中間ノードの性能をより良い形で利用する分散モードが採用される。（４）ＳＭＩＬ解釈能力を備えていないＰｖＣデバイスをＳＭＩＬベース・アプリケーションに統合することができる。
【００１５】
ここで単なる例示として、本発明の好ましい諸実施形態を添付図面を参照して説明する。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の一実施形態に係るＳＭＩＬベース・マルチメディア・コンテンツを再生するためのシステムの概略図である。実際、ＳＭＩＬベース・コンテンツは、ＳＭＩＬ文書で記述されるのが一般的である。図１に示されるように、本システムは、複数のＳＭＩＬエンジン２０１と、複数のリモート・メディア・プロキシ２０２とを有し、それらがＳＭＩＬエンジン２０１（「ＳＭＩＬルート・エンジン」と呼ばれることもある）をルート・ノードとする階層構造、即ちツリー・リンク構造を形成している。
【００１７】
各レベルのＳＭＩＬエンジン２０１は、ＳＭＩＬ文書又は文書の一部の分析及び解釈を行うのに使用されるとともに、リモート・メディア・プロキシ２０２、又は次のレベルのＳＭＩＬエンジン（「ＳＭＩＬサブ・エンジン」と呼ばれる）２０１、又はローカル・メディア再生デバイス、あるいはそれら全てとの通信、及びそれらの制御を行うのにも使用される。
【００１８】
リモート・メディア・プロキシ２０２は主に、ＳＭＩＬ解釈能力を備えていないリモート・メディア再生デバイスを制御し、上位レベルのＳＭＩＬエンジン２０１（単数又は複数）からの命令を受信し、リモート・メディア再生デバイスに対するメディア・オブジェクトの提供を開始又は停止し、イベントを返送し、基本的なユーザ・インタラクション能力を提供するのに使用される。リモート・メディア・プロキシ２０２からリモート・メディア再生デバイスに提供されるメディア・オブジェクトでは、リモート・メディア再生デバイスによって再生可能なメディア・コンテンツが定義され、当該メディア・オブジェクトは、例えばリモート・メディア再生デバイスがメディア・コンテンツを取得するメディア・サーバのアドレスを有することができる。リモート・メディア再生デバイスがメディア・サーバにアクセスできない場合には、リモート・メディア・プロキシ２０２が再生すべきメディア・コンテンツをメディア・サーバから取得し、当該メディア・コンテンツを再生のためにリモート・メディア再生デバイスに提供する。
【００１９】
本明細書において、メディア再生デバイスは、ＳＭＩＬエンジンによって直接制御されるメディア再生デバイス、即ちローカル・メディア再生デバイスと、リモート・メディア・プロキシによって制御されるメディア再生デバイス、即ちリモート・メディア再生デバイスとを有する。当該メディア再生デバイスはＰｖＣデバイスであってもよい。ローカル・メディア再生デバイスはさらに、メディア再生コントローラと、メディア・プレーヤとを有する。メディア再生コントローラは、ＳＭＩＬエンジンからの命令に従ってメディア・プレーヤを駆動し、再生すべきメディア・コンテンツを取得した後、当該メディア・コンテンツを再生のためにメディア・プレーヤに提供する。
【００２０】
ＳＭＩＬルート・エンジン２０１がＳＭＩＬ文書をＳＭＩＬサーバからダウンロードした後は、当該ＳＭＩＬ文書が分析され、タイム・コンテナに収容されるメディア・オブジェクトとマルチメディア・コンテンツの２つの形をとり得るより小さいＳＭＩＬ文書に分解される。次に、それらのより小さいＳＭＩＬ文書は、リモート・メディア・プロキシ２０２及びＳＭＩＬサブ・エンジン２０１に配信され、又は必要に応じてローカルで保持され、あるいはその両方が実行される。ＳＭＩＬサブ・エンジンは、受信されたＳＭＩＬサブ文書の分析、又はリモート・メディア・プロキシ２０２及びＳＭＩＬサブ・エンジン２０１に対するさらに小さいＳＭＩＬ文書の配信、又はそれらの文書のローカルでの保持を継続し、あるいはそれらの全ての処理を継続する。上記プロセスは、最後のレベルのＳＭＩＬサブ・エンジン２０１に至るまで再帰的に繰り返される。このようにして、ＳＭＩＬ文書は分解された後にシステム内の関連ノードに配信される。ＳＭＩＬベース・マルチメディア・コンテンツが再生されるときは、各ＳＭＩＬエンジンが受信されたＳＭＩＬ文書を解釈し、時間に基づいて、また、タイミング・イベントや文書オブジェクト・モデル（ＤＯＭ）イベント等のイベントに基づいて、関連デバイスの呼び出しを行う。次に、メディア再生デバイスは、リモート・メディア・プロキシ２０２又はＳＭＩＬエンジン２０１あるいはその両方から提供されたメディア・オブジェクトの定義に基づいて、再生用のメディア・コンテンツを対応するメディア・サーバから取得する。メディア再生デバイスがメディア・サーバにアクセスできない場合には、リモート・メディア・プロキシ２０２がメディア・コンテンツを取得し、当該メディア・コンテンツを再生のためにリモート・メディア再生デバイスに提供することができる。
【００２１】
さらに、ユーザは、様々なメディア再生デバイス（ＰｖＣデバイス等）が提供する様々なメディア・チャネルを介して、リモート・メディア・プロキシ２０２又はＳＭＩＬエンジン２０１と様々な形でインタラクションを行うことができ、また、その結果発生するイベントによってメディア・コンテンツの再生を制御し、それによってマルチメディア・コンテンツの再生の柔軟性を高めることができる。
【００２２】
上記の記載から、本実施形態を採用するシステムは、オン・デマンドで動的に構成可能な、資源の制約がある１組のＰｖＣデバイス上でＳＭＩＬベース・マルチメディア・コンテンツを再生することができ、それにより、様々な要件を満足させるだけでなく、様々な形のユーザ・インタラクションをも実現する新しいマルチメディア端末を構築できることが理解されるだろう。
【００２３】
図２は、図１のＳＭＩＬエンジンの一実施形態を示す概略図である。図２に示されるように、ＳＭＩＬエンジン２０１は、メディア・デバイス・レジストリ３０１と、ＳＭＩＬパーサー３０２と、ＳＭＩＬインタープリタ３０３と、リモート・イベント・プロキシ３０４とを有する。以下、上述の各モジュールについて詳細に説明する。
【００２４】
メディア・デバイス・レジストリ３０１は、ＳＭＩＬエンジン２０１によって制御されるメディア・デバイスを登録するのに使用され、それらのメディア・デバイスとしては、ＳＭＩＬ文書で定義されるメディア・コンテンツをローカルで再生することができるローカル・メディア再生デバイスと、ＳＭＩＬエンジン２０１からの命令に従って、リモート・メディア再生デバイスがＳＭＩＬメディア・オブジェクトで定義されるメディア・コンテンツを再生するように、当該リモート・メディア再生デバイスを制御するリモート・メディア・プロキシと、当該制御に従ってＳＭＩＬ文書の各部分を解釈する次のレベルのＳＭＩＬエンジンとが挙げられる。上述の３種類のメディア・デバイスは全て、ＳＭＩＬで定義されるメディア・インタラクション能力のサブセットをサポートしている。システム起動時に、そのようなメディア・デバイスのインタラクション能力及び位置情報をメディア・デバイス・レジストリ３０１に手動で登録することができ、あるいは自動的に登録することができる。
【００２５】
ＳＭＩＬ文書を再生する必要があるときに、ＳＭＩＬパーサー３０２は、対応するＳＭＩＬ文書をＳＭＩＬサーバからダウンロードし、当該ＳＭＩＬ文書を分析し、当該ＳＭＩＬ文書の内容を理解し、適切なメディア・インタラクション能力を備えたメディア・デバイスをメディア・デバイス・レジストリ３０１内で検索する。メディア・デバイスに関する情報に従って、ＳＭＩＬオブジェクトの静的な情報を有する中間ＳＭＩＬモデル又は内部ＳＭＩＬモデルあるいはその両方が生成される。中間ＳＭＩＬモデル及び内部ＳＭＩＬモデルは、メディア・オブジェクトと、マルチメディア・コンテンツを収容するタイム・コンテナの２つの形を取ることができ、それらの違いは、中間ＳＭＩＬモデルはネットワーク上の様々なノード間で転送され得るテキスト・モデル又は直列化モデルである一方、内部ＳＭＩＬモデルはＳＭＩＬインタープリタ上で実行され得る実行可能オブジェクト・モデルであることである。事前定義されたバインディング・ルール及びメディア・デバイス・レジストリ３０１から提供された情報に従って、中間ＳＭＩＬモデル内のメディア・オブジェクトは、リモート・メディア・プロキシ２０２又はローカル・メディア再生デバイスあるいはその両方に配信され、中間ＳＭＩＬモデル内のタイム・コンテナは、ＳＭＩＬサブ・エンジン２０１に配信される。内部ＳＭＩＬモデルは、以下で説明するＳＭＩＬインタープリタ３０３上に配置され、下位レベルのＳＭＩＬサブ・エンジン、メディア・プロキシ、及びローカル・メディア再生デバイスの制御も行う。バインディング・ルールは、ＳＭＩＬエンジンにおける中間ＳＭＩＬモデル又は内部ＳＭＩＬモデルあるいはその両方と、ＳＭＩＬエンジンによって制御されるメディア・デバイスとの間の関係を定義するが、当該関係はデフォルトとすることができ、あるいは事前定義することができる。タイム・コンテナがＳＭＩＬエンジン２０１に配信されたときは、タイム・コンテナのローカル・プロキシ・オブジェクトが生成され、ＳＭＩＬインタープリタ３０３へと転送され、メディア・オブジェクトがリモート・メディア・プロキシ２０２に配信されたときは、メディア・オブジェクトのローカル・プロキシ・オブジェクトが生成され、やはりＳＭＩＬインタープリタ３０３へと転送される。ＳＭＩＬパーサー３０２は、イベントを、以下で説明するリモート・イベント・プロキシ３０４を介して、タイム・コンテナ及びメディア・オブジェクトの配信先となるＳＭＩＬサブ・エンジン２０１及びリモート・メディア・プロキシ２０２との間で交換する。
【００２６】
ＳＭＩＬインタープリタ３０３は主に、ＳＭＩＬ文書の再生ロジックを解釈し、時間及びイベントに従ってメディア・コンテンツの再生をトリガし、対応するリモート・メディア・プロキシ２０２、又はＳＭＩＬサブ・エンジン２０１、又はローカル・メディア再生デバイス、あるいはそれら全ての呼び出しを行い、ユーザとのインタラクションを制御する。
【００２７】
リモート・イベント・プロキシ３０４内で維持されるマッピング・テーブルには、ローカルＳＭＩＬインタープリタ３０３内のプロキシ・オブジェクトと、リモート・メディア・プロキシ２０２に配信されるメディア・オブジェクトと、ＳＭＩＬサブ・エンジン２０１に配信されるタイム・コンテナとの間の関係が収容される。リモート・イベント・プロキシ３０４は、それらのイベントを通じてメディア・コンテンツの再生を制御することが可能となるＳＭＩＬタイミング・イベントやＤＯＭイベント等を含めた直列化イベントを対象とする、ローカルＳＭＩＬエンジン２０１と、ＳＭＩＬサブ・エンジン２０１と、リモート・メディア・プロキシ２０２との間の転送を担当する。
【００２８】
上記の記載から、本実施形態を採用するＳＭＩＬエンジンは、ＳＭＩＬベース・マルチメディア・コンテンツを分析し、解釈し、生成されたメディア・オブジェクト及びタイム・コンテナをローカル・メディア再生デバイス、リモート・メディア・プロキシ、及びＳＭＩＬサブ・エンジンに配信できることが理解されるだろう。ＳＭＩＬベース・マルチメディア・コンテンツは、各ＳＭＩＬエンジンによる再帰的な分析によってシステム内の各ノードに配信される。また、メディア・コンテンツの再生については、ＳＭＩＬエンジンがメディア・オブジェクト及びタイム・コンテナの再帰的な解釈を実行するごとに、メディア・コンテンツがメディア再生デバイス上で再生されることになる。
【００２９】
図３は、本発明に係るシステムの典型的な応用例を示す概略図であり、ここでは、ＳＭＩＬベース・マルチメディア・コンテンツを再生するために、電話機、ＴＶセット、ＨｉＦｉシステム、及びＰＤＡの組合せが示されており、これらは全て資源の制約があるＰｖＣデバイスである。図３に示されるシステムは、第１のレベルがＳＭＩＬルート・エンジンであり、第２のレベルがＳＭＩＬエンジン付きＰＤＡ（即ち、ＳＭＩＬエンジンがローカル再生デバイスに相当するＰＤＡを制御する）と、ＴＶセットに取り付けられたセット・トップ・ボックスと、ＨｉＦｉシステム（即ち、リモート・メディア・プロキシ）と、電話機（ＳＭＩＬルート・エンジンのローカル・メディア再生デバイス）とを有する、２つのレベルからなる分散構造となっている。ＳＭＩＬ文書はＳＭＩＬサーバ上に記憶される。電話機、ＴＶセット、ＨｉＦｉシステム、ＰＤＡ、及びセット・トップ・ボックスに関するそれぞれの位置及びサポートされるメディア・インタラクション能力は、ＳＭＩＬルート・エンジンに登録される。メディア・サーバは、様々なメディア・コンテンツを記憶するのに使用される。
【００３０】
ＳＭＩＬ文書は、必要に応じてＳＭＩＬルート・エンジンにダウンロードされる。ＳＭＩＬルート・エンジンがＳＭＩＬ文書を分析した後は、バインディング・ルール及び登録されているメディア・デバイスの情報に基づいて、ビデオ及び音声に関するストリーム・メディア・オブジェクトがセット・トップ・ボックスに配信され、テキスト・インタラクション及びテキスト・ストリームを収容しているタイム・コンテナがＳＭＩＬエンジン付きＰＤＡに配信され、音声インタラクションに関するメディア・オブジェクトがローカルＳＭＩＬインタープリタを介して電話機に配信される。次に、ＳＭＩＬエンジン付きＰＤＡは、タイム・コンテナをさらに分析し、テキスト・ストリームに関するメディア・オブジェクトを、実行のためにローカルＳＭＩＬインタープリタを介してローカル・メディア・デバイス（ＰＤＡ）に配信する。このようにして、再生が要求されたＳＭＩＬ文書はシステム内の様々なノードに配信される。
【００３１】
次に、ＳＭＩＬルート・エンジンは、メイン・タイマを起動し、時間及びイベントに従って関連デバイスの呼び出しを行い、ＳＭＩＬベース・マルチメディア・コンテンツの再生をトリガする。音声及びビデオからなるメディア・コンテンツを再生する必要がある場合は、関連イベントがセット・トップ・ボックスに送信されて再生がトリガされる。ＨｉＦｉシステムがメディア・サーバ２にアクセスできない故に、セット・トップ・ボックスは、音声メディア・オブジェクトの定義に基づいて再生すべきメディア・コンテンツをメッセージ・サーバ２から取得した後、そのようなメディア・コンテンツを（破線で示すように）再生のためにＨｉＦｉシステムに提供し、一方、ＴＶセットに関しては、対応するビデオ・メディア・オブジェクトがセット・トップ・ボックスから提供された後に、ＴＶセットは、再生すべきメディア・コンテンツを（破線で示すように）対応するメディア・サーバ１から取得する。テキスト・インタラクション及びテキスト・ストリームのメディア・コンテンツの再生が必要とされる場合には、関連イベントがＳＭＩＬエンジン付きＰＤＡに送信され、当該ＳＭＩＬエンジン付きＰＤＡがタイム・コンテナを解釈し、テキスト・ストリームのメディア・オブジェクトの定義に基づいて再生用のテキスト・ストリームを対応するメディア・サーバ２から取得し、対応するテキスト・インタラクション・イベントを生成する。音声インタラクションが必要とされる場合には、ＳＭＩＬルート・エンジンが再生を行う電話機を呼び出し、当該電話機は、音声メディア・オブジェクトの定義に基づいて再生すべきメディア・コンテンツを電話ネットワークを介して対応するメディア・サーバ１から取得し、対応する音声インタラクション・イベントを生成する。ユーザとリモート・メディア・プロキシ又はＳＭＩＬエンジンとの間のインタラクションによって生成されるイベントは、メディア・コンテンツの再生を開始又は停止できることを理解していただきたい。メディア・コンテンツの再生は、メイン・タイマが経過した時点で終了する。
【００３２】
図４は、本発明の一実施形態に係るＳＭＩＬベース・マルチメディア・コンテンツを再生するための方法の概略的なフローチャートである。本方法は、各ノードにおけるＳＭＩＬモデルの再帰的構成に関するステップ４００と、分散ＳＭＩＬモデルの解釈に関するステップ４１０の２つの主要なステップを有することができる。
【００３３】
ＳＭＩＬ文書の再生前に、各ＳＭＩＬエンジンは、メディア情報と、当該ＳＭＩＬエンジンによって制御されるローカル・メディア再生デバイス、リモート・メディア・プロキシ、ＳＭＩＬサブ・エンジン等のメディア・デバイスに関するインタラクション能力及び位置情報とを登録するのに使用されるマッピング・テーブルを作成する必要がある。
【００３４】
ユーザが任意のインタラクション・チャネルを介してＳＭＩＬベース・マルチメディア・コンテンツの表示を呼び出すステップ４００ではまず、ステップ４０２で、ＳＭＩＬエンジン内のＳＭＩＬパーサーがＳＭＩＬ文書の取得及び分析を行い、ＳＭＩＬエンジンのメディア・デバイス・レジストリに記憶されている能力テーブルを検索し、制御対象のメディア・デバイスの情報を取得する。次にステップ４０３で、ＳＭＩＬエンジンは上記の情報に基づいて、ローカルＳＭＩＬインタープリタ上に配置される内部ＳＭＩＬモデルと、リモート・メディア・プロキシ及びＳＭＩＬサブ・エンジンに配信される中間ＳＭＩＬモデルとを生成する（ステップ４０４乃至４０６）。通常、メディア・オブジェクトは、ローカル・メディア再生デバイス又はリモート・メディア・プロキシとバインドされ、タイム・コンテナは、ＳＭＩＬサブ・エンジンとバインドされる。リモート・メディア・プロキシに配信されるメディア・オブジェクト及びＳＭＩＬサブ・エンジンに配信されるタイム・コンテナに関して、対応するローカル・プロキシ・オブジェクトが生成される。次に、ステップ４０７で、ＳＭＩＬエンジンのリモート・イベント・プロキシに記憶されている、ローカル・プロキシ・オブジェクトと、リモート・メディア・プロキシに配信されるメディア・オブジェクトと、ＳＭＩＬサブ・エンジンに配信されるタイム・コンテナとの間の関係を記録したマッピング・テーブルの更新が行われる。ステップ４０８及び４０９で、ＳＭＩＬパーサーは、メディア・オブジェクトをリモート・メディア・プロキシに配信し、タイム・コンテナをＳＭＩＬサブ・エンジンに配信する。ＳＭＩＬサブ・エンジンは上記のプロセスを継続し、ＳＭＩＬ文書が最終的に様々なノードに行き渡るように、当該ＳＭＩＬ文書を再帰的に構成する。
【００３５】
ＳＭＩＬ文書が無事システム全体に行き渡るように構成された後は、ステップ４１０で、分散ＳＭＩＬモデルの解釈実行が開始される。まず、ステップ４１２で、各ＳＭＩＬエンジンのＳＭＩＬインタープリタは、それぞれ中間ＳＭＩＬモデル及びローカルＳＭＩＬモデルの解釈を行う。本実施形態では、ＳＭＩＬルート・エンジン内のメイン・タイマは、ＳＭＩＬ文書の再生時間を測定するように設定される。ユーザ・インタラクションの解決策を使用して、イベント利用によるメディア・コンテンツ再生の開始及び停止を実行することも可能である。ステップ４１３で、ＳＭＩＬルート・エンジンは時間測定用のメイン・タイマを起動する。各ＳＭＩＬエンジンは、各ＳＭＩＬモデルを解釈した後に、タイミング・イベント又はインタラクション・イベントに従ってメディア・コンテンツを再生するようローカル・メディア再生デバイスに通知し（ステップ４１４）、その結果、ローカル・メディア再生デバイスは、再生すべきメディア・コンテンツを取得した後に、メディア・オブジェクトの定義に基づいて当該メディア・コンテンツを再生し、リモート・イベント・プロキシを介してＳＭＩＬサブ・エンジンやリモート・メディア・プロキシのような様々な関連デバイスを呼び出すイベントをリモート・メディア再生デバイスに送信して、ＳＭＩＬサブ・エンジン及びリモート・メディア・プロキシの動作を制御する（ステップ４１５）。メディア・コンテンツを再生するリモート・メディア・プロキシの動作が呼び出されたときは、リモート・メディア・プロキシは、制御対象のリモート・メディア再生デバイスの能力に基づいて再生すべきメディア・コンテンツを取得する必要があるかどうかを判定し、必要があると判定した場合には、当該メディア・コンテンツを取得した後、当該メディア・コンテンツを再生のためにリモート・メディア再生デバイスに提供し、必要がないと判定した場合には、対応するメディア・オブジェクトをリモート・メディア再生デバイスに提供し、当該リモート・メディア再生デバイスが当該メディア・オブジェクトの定義に基づいて再生すべきメディア・コンテンツを取得して再生することになる。ステップ４１６でメイン・タイマが経過したときは、メディア・コンテンツの再生が終了し、ＳＭＩＬモデルの実行が終了する。
【００３６】
上記の記載から、本発明に係る方法を使用することによって、新しいマルチメディア端末として動的に構成可能な、資源の制約がある１組のＰｖＣデバイス上でのＳＭＩＬベース・マルチメディア・コンテンツの再生を実施できることが理解されるだろう。
【００３７】
以上、本発明に係るＳＭＩＬベース・マルチメディア・コンテンツを再生するためのシステム、方法、及びエンジンをいくつかの例示的な実施形態を用いて詳細に説明してきたが、上述の各実施形態は網羅的なものではない。当業者であれば本発明の趣旨及び範囲から逸脱することなく様々な変更及び修正を施すことができるだろう。したがって、本発明をこれらの実施形態に限定することは本出願人の意図するところではなく、本発明の範囲は添付の特許請求範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係るＳＭＩＬベース・マルチメディア・コンテンツを再生するためのシステムの概略図である。
【図２】本発明の一実施形態に係るＳＭＩＬエンジンの概略図である。
【図３】図１に示されるシステムの典型的な応用例を示す概略図である。
【図４】本発明の一実施形態に係るＳＭＩＬベース・マルチメディア・コンテンツを再生するための方法の概略的なフローチャートである。
【図１】
2008539483.tif 000003
【図２】
2008539483.tif 000004
【図３】
2008539483.tif 000005
【図４】
2008539483.tif 000006
【国際調査報告】
2008539483.tif 000007
2008539483.tif 000008