(57)【要約】      （修正有）【課題】メディア・データ・キャリアの解釈デバイス（ＰＬＲ）の性能を最適化する。【解決手段】メディア・コンテンツの再生の間にメディア・データ・キャリアに含まれる命令を機械コードに変換する手段（ＴＲＮＳＦ）を含むメディア・データ・キャリアの解釈デバイス（ＰＬＲ）が再生される。このメディア・データ・キャリアは、テンプレート（ＳＨＥＥＴ）に従った要素のセット（ＳＳＣＥ）に対応する第１の補助の命令のセット（ＦＩＳ）を生成、コンパイルするステップと、を含む方法に従って生成される命令のセット（ＭＩＩＳ）を含む。さらに、前記コンパイル済の補助の命令のセット（ＦＩＳ）に前記テンプレート（ＳＨＥＥＴ）に対応するコンパイル済の第２の補助の命令のセット（ＣＳＩＳ）がリンクされる。この方法はランタイム構文解析の必要性を除去し、従って、命令（ＭＩＩＳ）を機械コードにランタイム変換するための処理能力を開放する。【選択図】図２
2009015821.tif 000002
【特許請求の範囲】
【請求項１】
データ・キャリアに保存される機械が解釈できる命令のセット（ＭＩＩＳ）を生成する方法であって、データ・キャリアの解釈デバイス（ＰＬＲ）によって機械が解釈できる命令（ＭＩＩＳ）が実行されると、前記データ・キャリアに含まれるメディア・コンテンツがユーザに再生され、
テンプレート（ＳＨＥＥＴ）に従った要素（ＳＳＣＥ）のセットに対応する第１の補助の命令のセット（ＦＩＳ）を生成するステップと、
前記第１の補助の命令のセット（ＦＩＳ）をコンパイルするステップと、
前記コンパイル済の第１の補助の命令のセットに前記テンプレート（ＳＨＥＥＴ）に対応するコンパイル済の第２の補助の命令のセット（ＣＳＩＳ）をリンクすることによって前記機械が解釈できる命令のセットを生成するステップと、
を含む、前記方法。
【請求項２】
前記テンプレート（ＳＨＥＥＴ）がメディア・コンテンツを再生する方法を構造化する少なくとも１つの要素の定義を含み、
前記要素のセットが前記ユーザにメディア・コンテンツを再生するために使用されるメディア・コンテンツの再生方法を少なくとも１つ示し、
前記要素のセットに含まれる要素は、メディア・コンテンツの再生方法のうちの示されたもののコンフィグレーションを行うための１つ以上の属性を含む、請求項１に記載の方法。
【請求項３】
前記機械が解釈できる命令のセット（ＭＩＩＳ）は、要素および／または属性の識別子を含み、
前記機械が解釈できる命令のセット（ＭＩＩＳ）を生成するステップは、前記識別子を変更するステップを含む、請求項１または２に記載の方法。
【請求項４】
前記コンパイル済の第２の補助の命令のセット（ＣＳＩＳ）がＪＡＶＡ（登録商標）クラスからなり、
前記第１の補助の命令のセット（ＦＩＳ）を生成するステップは、前記ＪＡＶＡ（登録商標）クラスをインスタンス化したものを生成するステップを含み、
前記機械が解釈できる命令のセット（ＭＩＩＳ）がＪＡＶＡ（登録商標）オブジェクト・コードである、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記テンプレート（ＳＨＥＥＴ）がＸＭＬスキームであり、
前記要素のセット（ＳＳＣＥ）が前記ＸＭＬスキーム（ＳＨＥＥＴ）に従ったＸＭＬドキュメントに含まれており、
前記第１の補助の命令のセット（ＦＩＳ）を生成するステップは、前記ＸＬＭスキーム（ＳＨＥＥＴ）に従って前記ＸＭＬドキュメントを構文解析し、ＸＭＬドキュメントに従ったオブジェクト・ツリーをインスタンス化するステップを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記機械が解釈できる命令（ＭＩＩＳ）は、メディア・コンテンツのレンダリングを行うための命令およびユーザのインタラクションのための命令を含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記コンパイル済の第２の補助の命令のセット（ＣＳＩＳ）が、
前記テンプレート（ＳＨＥＥＴ）に対応する追加の命令のセット（ＳＣＳＳ）をコンパイルし、実行し、
前記命令の追加のセット（ＳＣＳＳ）が実行されると、前記第２の補助の命令のセット（ＳＩＳ）が生成され、
前記第２の補助の命令（ＳＩＳ）のセットをコンパイルすることによって生成される、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
データ・キャリアに保存される機械が解釈できる命令のセット（ＭＩＩＳ）を生成するオーサリング・デバイス（ＡＤ）であって、データ・キャリアの解釈デバイス（ＰＬＲ）によって機械が解釈できる命令（ＭＩＩＳ）が実行されると、前記データ・キャリアに含まれるメディア・コンテンツがユーザに再生され、
テンプレート（ＳＨＥＥＴ）に従った要素（ＳＳＣＥ）のセットに対応する第１の補助の命令のセット（ＦＩＳ）を生成するジェネレータ（ＧＮＲＴ）と、
前記第１の補助の命令のセット（ＦＩＳ）をコンパイルするコンパイラ（ＣＭＰ）と、
前記コンパイル済の第１の補助の命令のセット（ＦＩＳ）に前記テンプレート（ＳＨＥＥＴ）に対応するコンパイル済の第２の補助の命令のセット（ＣＳＩＳ）をリンクすることによって前記機械が解釈できる命令（ＭＩＩＳ）を生成するマージャ（ＭＲＧ）と、
を含む、前記オーサリング・デバイス（ＡＤ）。
【請求項９】
メディア・データ・キャリアの解釈デバイス（ＰＬＲ）であって、
前記メディア・データ・キャリアに含まれる機械が解釈できる命令のセット（ＭＩＩＳ）にアクセスする手段（ＡＣＳＳ）と、
機械が実行できる命令（ＭＩＩＳ）を実行することにより前記メディア・データ・キャリアに含まれるメディア・コンテンツをユーザに再生する手段（ＰＲＳＮＴ）と、
メディア・コンテンツを再生している間に機械が解釈できる命令を機械が実行できる命令に変換する手段（ＴＲＮＳＦ）と、
機械が解釈できる命令（ＭＩＩＳ）および機械が実行できる命令を保存するメモリ（ＭＥＭ）と、を備え、
前記メディア・コンテンツを再生する手段（ＰＲＳＮＴ）がメディア・コンテンツの再生を機械が解釈できる命令の解釈によって行うことから、各機械が実行できるインストラクションの実行によって行うことにシフトする、
前記メディア・データ・キャリアの解釈デバイス。
【請求項１０】
前記データ・キャリアが請求項１〜７のいずれか１項に従って生成された機械が解釈できる命令のセット（ＭＩＩＳ）を含む、メディア・コンテンツのためのデータ・キャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・キャリア内に保存される機械が解釈できる命令のセットを生成することに関する。機械が解釈できる命令がデータ・キャリアの解釈デバイスによって解釈されると、前記データ・キャリアに含まれるメディア・コンテンツがユーザに再生される。
【背景技術】
【０００２】
このような機械が解釈できる命令は、光ディスクに保存されるマルチメディア・コンテンツをインタラクティブに再生する際に使用される。例えば、このような命令が解釈されると、ユーザは、映画の俳優やディレクタに関する背景情報にアクセスし、映画の複数の異なるバージョンを視聴したり、映画のプロットを変更したりすることができるであろう。コンテンツの再生のための機械が解釈できる命令を光ディスクに統合させ、この命令を実行することをマルチメディア・コンテンツにアクセスするための必須条件とすることによりコンテンツに対するアクセスの制御をより良好にすることも可能となる。即ち、このような命令により、パスワードに依存してアクセスすることができるであろう。
【０００３】
インタラクションが複雑であるため、機械が解釈できる命令は、一般的には、Ｃ＋＋、Ｃ＃、またはＪＡＶＡ（登録商標）のような高レベル言語で記述されたソース・コードから派生する。
【０００４】
特定のメディア・コンテンツに関連しているが、２つの異なる機械が解釈できる命令のセットが依然として多くの共通の特徴を有する。従って、実際のところ、マルチメディアを再生するための最も複雑な特徴のみが高レベル言語のソース・コードで記述されているに過ぎない。次に、特定のメディア・コンテンツを再生するための特徴の初期化およびコンフィグレーションは、それぞれ関連する属性を有する要素のリストによって達成される。一般に、リストは、マークアップ・ファイル、または、スクリプト・ファイルに含まれており、さらに、このファイルは、メディア・データ・キャリアに含まれている。
【０００５】
さらに、メディア・データ・キャリア内のメディア・コンテンツを再生する際、マークアップ・ファイルの構文解析が必要となる。これは、一般的なディスク・プレイヤの限定された処理能力に対する負荷となる。
【０００６】
ディスク・プレイヤの限定された処理能力に鑑み、最適化の必要性が生じている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、メディア・データ・キャリアの解釈デバイスのパフォーマンスを最適化する目的に取り組むものである。
【課題を解決するための手段】
【０００８】
この目的は、請求項９に記載の特徴事項を含むメディア・データ・キャリアの解釈デバイスと請求項１０に記載のメディア・データ・キャリアを併せて使用することによって達成される。
【０００９】
前記メディア・キャリアは、請求項１の特徴事項を有する方法に従って作成された機械が解釈できる命令のセットを含む。
【００１０】
前記方法は、テンプレートに従った要素のセットに対応する第１の補助の命令のセットを生成するステップと、前記第１の補助の命令のセットをコンパイルするステップを含む。前記方法は、さらに、前記コンパイル済の補助命令のセットに前記テンプレートに対応するコンパイル済の第２の補助の命令のセットをリンクすることによって前記機械が解釈できる命令のセットを生成するステップを含む。コンパイルされた第２の補助の命令のセットは、前記テンプレートに対応する。
【００１１】
この方法に従ったメディアの再生のための命令の生成により、前記要素に含まれる情報をランタイムの前に前記機械が解釈できる命令に統合することが可能になる。これにより、構文解析の必要性が除去され、さらに、段階的に、機械が解釈できる命令を機械が実行できるコードにするランタイム変換が本発明のメディア・データ・キャリアの解釈デバイスに含まれる変換手段によって実行されるため、インタプリタの必要性が除去される。
【００１２】
好ましい実施の形態においては、前記テンプレートがメディア・コンテンツを再生する方法を構造化する少なくとも１つの要素の定義を含む。さらに、要素のセットがユーザにメディア・コンテンツを再生するために使用されるメディア・コンテンツの再生方法を少なくとも１つ示し、前記要素のセットに含まれる要素は、メディア・コンテンツの再生方法のうちの示されたもののコンフィグレーションを行うための１つ以上の属性を含む。要素のセットのためのテンプレートのこの構造は、メディア・コンテンツの再生の初期化およびコンフィグレーションを簡素化する。
【００１３】
好ましくは、機械が解釈できる命令のセットは、要素および／または属性の識別子を含み、機械が解釈できる命令のセットを生成するステップは、前記識別子を変更するステップを含む。
【００１４】
さらに好ましくは、前記コンパイル済の第２の命令の補助のセットがＪＡＶＡ（登録商標）クラスからなり、前記第１の補助の命令のセットを生成するステップは、前記ＪＡＶＡ（登録商標）クラスをインスタンス化したものを生成するステップを含む。さらに、前記機械が解釈できる命令のセットは、ＪＡＶＡ（登録商標）オブジェクト・コードである。ＪＡＶＡ（登録商標）は、高度な互換性を再生することで知られている。
【００１５】
別の好ましい実施の形態においては、テンプレートがＸＭＬスキームであり、要素のセットが前記ＸＭＬスキームに従ったＸＭＬドキュメントに含まれている。さらに、前記第１の補助の命令のセットを生成するステップは、ＸＬＭスキームに従って前記ＸＭＬドキュメントを構文解析し、ＸＭＬドキュメントに従ったオブジェクト・ツリーをインスタンス化するステップを含む。
【００１６】
好ましくは、機械が解釈できる命令は、メディア・コンテンツのレンダリングを行うための命令および／またはユーザのインタラクションのための命令を含む。
【００１７】
さらに別の好ましい実施の形態においては、コンパイル済の第２の補助の命令のセットが、前記テンプレートに対応する追加の命令のセットをコンパイルし、実行することによって生成される。前記命令の追加のセットが実行されると、第２の補助の命令のセットが生成される。前記第２の補助の命令のセットをコンパイルすることによって、コンパイル済の第２の補助命令のセットが生成される。これにより、テンプレートのスリムな高レベル言語表現が自動的に生成され、エラーの発生しやすい手動の符号化による前記スリムな高レベル言語表現の生成が回避される。
【００１８】
本発明の方法は、請求項８に記載の特徴事項を有するオーサリング・デバイスによって実行することができる。
【００１９】
本発明は、さらに、開示された各本発明の方法のいずれかに従って生成された機械が解釈できる命令を搬送するデータ・キャリアに関する。
【００２０】
本発明のデータ・キャリアは、請求項９の特徴事項を有するメディア・データ・キャリアの解釈デバイスによる機械が解釈できる命令のランタイム・コンパイルを可能にする。
【００２１】
前記メディア・データ・キャリアの解釈デバイスは、前記メディア・データ・キャリアに含まれる機械が解釈できる命令のセットにアクセスする手段と、機械が実行できる命令を実行することにより前記メディア・データ・キャリアに含まれるメディア・コンテンツをユーザに再生する手段を備える。さらに、前記メディア・データ・キャリアの解釈デバイスは、メディア・コンテンツを再生している間に機械が解釈できる命令を機械が実行できる命令に変換する手段を備える。さらに、機械が解釈できる命令および機械が実行できる命令を保存するメモリが備えられる。前記メディア・コンテンツを再生する手段は、メディア・コンテンツの再生を機械が解釈できる命令の解釈によって行うことから、各機械が実行できるインストラクションの実行によって行うことにシフトする。
【００２２】
本発明のメディア・データ・キャリアの解釈デバイスは、ＪＩＴ（ｊｕｓｔ−ｉｎ−ｔｉｍｅ）変換のための構文解析の必要性が除去されることによって開放された処理能力を使用する。これにより、本発明のメディア・データ・キャリアの解釈デバイスの性能が最適化される。
【００２３】
好ましくは、メディア・データ・キャリアの解釈デバイスは、ＪＩＴコンパイラからなる。
【発明を実施するための最良の形態】
【００２４】
本発明の例示的な実施の形態は、各図面に示されており、以下により詳細に説明する。
【００２５】
図１は、マルチメディア光ディスクのコンテンツのオーサリングを可能にするオーサリング・デバイスＡＤを例示的に示している。このデバイスＡＤは、スクリーンＤＩＳＰと、ポインティング・デバイスＰＮＴ、例えば、マウスを備える。図示しないが、デバイスは、さらに、情報をタイプするためのキーボードを備えることもある。さらに、例示的なオーサリング・デバイスＡＤは、ジェネレータＧＮＲＴと、コンパイラＣＭＰと、マージャＭＲＧを備える。スクリーンＤＩＳＰは、データベース内のメディア・データＭＣ１、ＭＣ２と、ライブラリ内のインタラクション要素ＩＡＥ１、ＩＡＥ２を表すアイコンからなるグラフィカル・ユーザ・インタフェースを表示する。ポインティング・デバイスの利用により、ユーザは、映画や他のメディア・データＭＣ１、ＭＣ２、さらに、フレームおよびその他のインタラクション要素ＩＡＥ１、ＩＡＥ２を、各アイコンをクリックすることによって選択することができる。さらに、ユーザは、インタラクティブなメニューを達成するためのインタラクション要素ＩＡＥ１、ＩＡＥ２とともに映画ＭＣ１、ＭＣ２をドラッグアンドドロップすることによって、コンポジション（編集）を行うことができる。メモリＭＥＭにおいて、デバイスＡＤは、ユーザが定義したコンポジション（編集）ＳＳＣＥをマークアップ・ドキュメント、例えば、ＸＭＬドキュメントとして、または、例えば、ｉＨＤドキュメントまたはＪスクリプト（Ｊｓｃｒｉｐｔ）・ドキュメントのようなスクリプト・ドキュメントとして保存する。
【００２６】
ユーザの要求があると、マークアップ・ドキュメントＳＳＣＥの構文解析が行われ、第１のオブジェクト指向言語命令のセットＦＩＳがジェネレータＧＮＲＴによって生成される。使用されるオブジェクト指向言語の例としては、Ｃ＋＋、Ｃ＃、またはＪＡＶＡ（登録商標）が挙げられる。生成された第１のオブジェクト指向言語命令のセットＦＩＳは、オブジェクトのインスタンス化を含む。次に、生成された第１のオブジェクト指向言語命令のセットＦＩＳは、コンパイラＣＭＰによってコンパイルされる。
【００２７】
コンパイル済の第１の命令のセットＣＦＩＳは、マージャＭＲＧによって、コンパイル済の第２の命令のセットＣＳＩＳにリンクされる。これにより、機械が解釈できる命令のセットＭＩＩＳが生み出される。このコンパイル済の第２の命令のセットＣＳＩＳは、オブジェクトがインスタンス化される各々のクラスからなる。両方のセットのコンパイルは、識別子の変更、または／さらに、データ構造の変換によって命令を難読化するように行われる。難読化は、各処理をインラインで表すこと、無関係なコードの導入、さらに／または、直接的な等価ソース・コードを有さないオブジェクト・コードの導入によって制御構造を変更することを含むこともある。難読化の別の方法は、冗長符号または一般的なデコンパイラをエラー終了させるコードを導入することを含む。リンクの作成は最適化され、実際にインスタンス化されるクラスのみがリンクされる。
【００２８】
クラスの中には、ボタン、スイッチ、リンク、マウス・イベントまたは制御などのインタラクティブな要素に対応するものがあり、他のクラスは、表示領域、アニメーション、フレーム、キャプション、タイムライン、メディア・ソースなどに対応する。
【００２９】
リンクの作成から生ずるオブジェクト・コードＭＩＩＳは、ブルーレイ・ディスクまたは他の光ディスクのフォーマットに、このオブジェクト・コードが解釈されたときに再生される映画やビデオ・ゲームのようなメディア・コンテンツと共に保存される。
【００３０】
図２に描かれたプレイヤＰＬＲにおけるブルーレイ・ディスクなどを再生する際、オブジェクト・コードＭＩＩＳはネイティブ・コードに変換され、既に変換された構造の実行は、オブジェクト・コードＭＩＩＳのさらなる変換と並列的に実行される。ネイティブ・コード構造の実行を通じて、メディア・コンテンツがスクリーンＰＲＳＮＴに再生される。メモリＭＥＭの管理において、メモリＭＥＭは、ネイティブ・コード構造を保存し、オブジェクト・コードＭＩＩＳにおいて各構造が再び現れた際にこのようなネイティブ・コード構造を再使用することを可能にする。ネイティブ・コードは、オブジェクト・コードＭＩＩＳにおいて各構造が再び現れる周期に従って最適化される。
【００３１】
ディスクにアクセスするために、プレイヤＰＬＲは、リーダＡＣＣＳを備える。機械が解釈できる命令ＭＩＩＳを機械が実行できるコードに変換するために、プレイヤＰＬＲは、さらに、プロセッサＴＲＮＳＦを備える。プロセッサＴＲＮＳＦは、さらに、変換によって得られる機械が実行できるコードを実行してもよい。
【００３２】
他の例示的な実施の形態においては、リーダＡＣＣＳおよびスクリーンＰＲＳＮＴは、無線ネットワークによって相互に接続することも可能な別個のデバイスに存在する。
【００３３】
図３は、オーサリング処理の間における複数の異なるコード間の関係を描いている。まず、スタイル・シートＳＨＥＥＴにおける要素の定義によって、メディアの再生の複数の異なる方法が構造化される。次に、要素の定義は、高レベル言語ソース・コードＳＣＣＳに変換される。この高レベル言語ソース・コードＳＣＣＳは、さらに、複製コードＲＰＬＣを含む。コンパイル済の高レベル言語コードを実行する際、複製コードＲＰＬＣは、要素定義の極めてスリムな高レベル言語ソース・コード表現ＳＩＳを発生させる。この時点で、ユーザは、最も複雑、または、具体的な特徴を各要素に追加する。その後、高レベル言語ソース・コード表現ＳＩＳがコンパイルされ、コンパイル済のオブジェクト・コードＣＳＩＳとなる。
【００３４】
コンパイル済のオブジェクト・コードＣＳＩＳは、メディアを再生する複数の異なる方法のライブラリのようなものである。所与のメディア・コンテンツのために、ユーザは、スタイルＳＨＥＥＴに従った要素のリストＳＳＣＥを作成することによってメディア・コンテンツを再生する１つ以上の方法を定義する。この要素のリストＳＳＣＥは、メディア・コンテンツの再生方法をインスタンス化し、この方法のコンフィグレーションを前記要素のリストＳＳＣＥに含まれる属性を介して行う。要素のリストＳＳＣＥは、別の高レベル言語ソース・コードＦＩＳに変換され、この高レベルの言語ソース・コードＦＩＳは、続いてコンパイルされ、別のコンパイル済オブジェクト・コードＣＩＦＳとなる。最後に、別のコンパイル済オブジェクト・コードＣＦＩＳは、コンパイル済オブジェクト・コードＣＳＩＳから選択されたオブジェクトに結合され、機械が解釈できる命令のセットＭＩＩＳが得られる。オブジェクト・コードＣＳＩＳのオブジェクトのみが結合のために選択され、これは、別のオブジェクト・コードＣＩＦＳに含まれる要素オブジェクトの定義に対応する。
【図面の簡単な説明】
【００３５】
【図１】マルチメディア光ディスクのコンテンツのオーサリングを可能にする例示的なオーサリング・デバイスを示す図である。
【図２】例示的なメディア・データ・キャリアの解釈デバイスを示す図である。
【図３】コンテンツ・オーサリング方法の例示的な実施の形態のチャートを示す図である。
【図１】
2009015821.tif 000003
【図２】
2009015821.tif 000004
【図３】
2009015821.tif 000005
【外国語明細書】
2009015821000001.pdf