(57)【要約】【課題】オーサリング・ツールおよびこれを実装するための方法。【解決手段】本願の原理は、ブルーレイ・ディスクおよび他のメディアのオーサリングにおいて使用するための新しいツール（すなわちアプリケーション）であって、BD-Jiveプレーヤーとともに用いられたときに、作者が、XMLやJava（登録商標）のコーディングを必要としないユーザー・インターフェース（UI）を使って任意の必要とされる追加的情報を提供できるものを提供する。本ユーザー・インターフェース（UI）は、作者が情報をより一般的に（すなわち、Java（登録商標）コーディングやXMLの知識をもつことなく）表現することを許容し、するとオーサリング・ツールが関連するXMLファイルやJava（登録商標）コードを必要に応じて生成してくれる。【選択図】図１
2015165449.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ記憶媒体をオーサリングする方法であって：
前記媒体上のコンテンツをオーサリングするためのコンテンツ関係情報のユーザー入力された宣言を受け入れる段階であって、コンテンツ関係情報の前記宣言は少なくとも一つの動作をもつ少なくとも一つのスクリプトを含む、段階と；
入力の進行を示すようコンテンツの前記宣言のユーザー入力のプレビューを提供する段階と；
前記少なくとも一つのスクリプトを、コンテンツ再生の間に前記少なくとも一つのスクリプト内の前記少なくとも一つの動作を実行するためのコマンドにマッピングする段階と；
コンテンツ再生の際に前記媒体上の前記コンテンツをオーサリングするために前記少なくとも一つのスクリプト内の前記少なくとも一つの動作を実行するようプログラミング言語でのプログラミング命令の組を生成する段階と；
生成されたプログラミング命令の組を前記媒体上に記憶する段階とを有する、
方法。
【請求項２】
プログラミング命令の組を生成する前記段階が、Java（登録商標）コードまたはXMLスクリプトの少なくとも一つを生成することを含む、請求項１記載の方法。
【請求項３】
前記少なくとも一つの動作が、前記媒体上のコンテンツをフォーマットする、該コンテンツを編成する、該コンテンツを表示するおよび該コンテンツを通じてナビゲートするからなる動作の群から選択される、請求項１記載の方法。
【請求項４】
プログラミング命令の組を生成する前記段階が、前記媒体上に記憶されているライブラリ・ルーチンを呼び出す段階を含む、請求項１記載の方法。
【請求項５】
前記媒体上に記憶されているアニメーション・エンジン中に前記プログラミング命令の組の少なくとも一つのプログラミング命令を入力する段階をさらに有する、請求項１記載の方法。
【請求項６】
前記アニメーション・エンジンとのユーザー・インターフェースを提供することをさらに有する、請求項５記載の方法。
【請求項７】
前記媒体上のコンテンツをオーサリングするためのコンテンツ関係情報の前記宣言を受け入れる前記段階がさらに：
前記コンテンツに対応するユーザー宣言された資源についての宣言タグを生成および保存することを含む、
請求項１記載の方法。
【請求項８】
請求項７記載の方法であって、プログラミング命令の組を生成する前記段階がさらに：
ユーザー・インターフェースを介した前記資源のユーザー操作に応答して、所定のファイル・フォーマットで、保存された前記宣言タグによって特定されるような前記資源の表示のための備えをすることのできるエレメントを生成する段階と；
前記所定のファイル・フォーマットを、コンテンツ再生の際のメディア・プレーヤーによる実行のためにコンパイルする段階とを有する、
方法。
【請求項９】
請求項１記載の方法であって、さらに：
前記生成されたプログラミング命令の組に対応する定義されたタイムライン・エレメントおよびキー・フレームのツリー・ビューを表示する段階と；
前記プログラミング命令の組を記憶する前記段階に先立って、前記タイムラインおよびキー・フレームに対する変更を可能にする段階とを有する、
方法。
【請求項１０】
前記プログラミング命令の組に関係するエラーを示すメッセージ画面を表示する段階をさらに有する、請求項９記載の方法。
【請求項１１】
メディア制作および頒布環境において使用するためのコンピュータ可読プログラム・コードの非一時的な記憶のためのコンピュータ可読媒体であって：
前記媒体上のコンテンツをオーサリングするためのコンテンツ関係情報のユーザー入力された宣言を受け入れるためのプログラム・コードであって、コンテンツ関係情報の前記宣言は少なくとも一つの動作をもつ少なくとも一つのスクリプトを含む、段階と；
入力の進行を示すようコンテンツの前記宣言のユーザー入力のプレビューを提供するためのプログラム・コードと；
前記少なくとも一つのスクリプトを、コンテンツ再生の間に前記少なくとも一つのスクリプト内の前記少なくとも一つの動作を実行するためのコマンドにマッピングする段階と；
前記媒体上のコンテンツをオーサリングするための、コンテンツ再生の際に前記媒体をオーサリングするために前記少なくとも一つのスクリプト内の前記少なくとも一つの動作を実行するようプログラミング命令の組を生成するためのプログラム・コードと；
生成されたプログラミング命令の組を前記媒体上に記憶するためのプログラム・コードとを有する、
コンピュータ可読媒体。
【請求項１２】
プログラミング命令の組を生成するための前記プログラム・コードが、Java（登録商標）コードまたはXMLスクリプトの少なくとも一つを生成するためのプログラム・コードをさらに含む、請求項１１記載のコンピュータ可読媒体。
【請求項１３】
前記少なくとも一つの動作が、前記媒体上のコンテンツをフォーマットする、該コンテンツを編成する、該コンテンツを表示するおよび該コンテンツを通じてナビゲートするからなる動作の群から選択される、請求項１１記載のコンピュータ可読媒体。
【請求項１４】
プログラミング命令の組を生成するための前記プログラム・コードが、前記媒体上に記憶されているライブラリ・ルーチンを呼び出す、請求項１１記載のプログラム・コード。
【請求項１５】
前記媒体上に記憶されているアニメーション・エンジン中に少なくとも一つのプログラミング命令を入力するためのプログラム・コードをさらに有する、請求項１１記載のコンピュータ可読媒体。
【請求項１６】
前記アニメーション・エンジンとのユーザー・インターフェースを提供するためのプログラム・コードをさらに有する、請求項１５記載のコンピュータ可読媒体。
【請求項１７】
コンテンツ関係情報の前記ユーザー入力された宣言を受け入れるための前記プログラム・コードがさらに、前記コンテンツに対応する作者宣言された資源についての宣言タグを生成および保存するためのプログラム・コードを含む、請求項１１記載のコンピュータ可読媒体。
【請求項１８】
請求項１７記載のコンピュータ可読媒体であって、プログラミング命令の組を生成するための前記プログラム・コードがさらに：
作者インターフェースを介した前記資源の作者操作に応答して、所定のファイル・フォーマットで、保存された前記宣言タグによって特定されるような前記資源の表示のための備えをすることのできるエレメントを生成するためのプログラム・コードと；
前記所定のファイル・フォーマットを、再生の間のメディア・プレーヤーによる実行のためにコンパイルするためのプログラム・コードとを有する、
コンピュータ可読媒体。
【請求項１９】
請求項１１記載のコンピュータ可読媒体であって、さらに：
前記生成された命令の組に対応する定義されたタイムライン・エレメントおよびキー・フレームのツリー・ビューを表示するためのプログラム・コードと；
前記命令の組の前記記憶に先立って、前記タイムラインおよびキー・フレームに対する変更を可能にするためのプログラム・コードとを有する、
コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は米国特許法第１１９条（ｅ）により、2007年4月11日に出願された米国仮特許出願第60/922,978号の優先権を主張する。該仮出願の教示は本明細書に組み込まれる。
【０００２】
技術分野
本願の原理はブルーレイ・ディスクに関する。より詳細には、本願の原理はブルーレイ・ディスクおよび他のデジタル・メディアのオーサリングに関する。
【背景技術】
【０００３】
ブルーレイ・ディスクは映画またはゲームのような何らかのコンテンツを含むが、多くの追加的情報およびタイトル、メニュー、テキスト…等を与えるプログラミングをも含む。伝統的に、この追加的情報の多くならびにそれが表す書式および編成はJava（登録商標）コードの形で与えられていた。つまり、作者は、たとえば映画中の適切な場所にメニューおよびタイトルを挿入したり、ゲーム中の適切な場所にグラフィックを挿入したりするJava（登録商標）コードを書く。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示から明白となるように、ブルーレイ・タイトルをJava（登録商標）で手動でコーディングするのは効率的ではない。
【課題を解決するための手段】
【０００５】
本願の原理は、ブルーレイ・ディスクをオーサリングする際に使うための新しいツール（すなわちアプリケーション）を提供する。BD-Jiveプレーヤーと一緒に使われるとき、作者は任意の要求される追加的情報を、XMLやJava（登録商標）コーディングを必要としないユーザー・インターフェース（UI）を使って提供できる。むしろ、UIは作者が情報をより一般的に表現することを許容し、次いでエンジンが関連するXMLファイルおよびJava（登録商標）コードを必要に応じて生成してくれる。
【０００６】
ある実装によれば、本稿で開示される新しいツール（アプリケーション）は、JiveScript〔ジャイブスクリプト〕、JiveAuthor〔ジャイブオーサー〕およびBD-J  ScriptingModule〔BD-Jスクリプティング・モジュール〕と称される。これらのアプリケーションは、BD-Jive（本稿では同義でBD-Jiveプレーヤーとも称される）とともに、ブルーレイ・ディスクのオーサリングの際に以下の利点を提供する：
１．作者はJava（登録商標）やXMLの経験をもつ必要がない；
２．BD-Jアプリケーションの開発をスピードアップする；
３．すべての生成されるコードはテストされ、作者は非常に詳細なユニット・テストを実行する必要がないので、テスト期間を短縮した；
４．ユーザー・フレンドリーなUI環境を提供した。
【０００７】
そのようなイニシアチブを取ることの背後にある動機は、ブルーレイ規格とともに機能するそのような環境を提供するツールが市場にないことである。
【０００８】
アニメーション・エンジン（たとえばBD-Jive）の使用により、作者はメニュー位置、アニメーション型および他の情報のような必要な情報を、XML言語の形で提供する。次いで、必要なメニュー項目またはゲーム・グラフィックまたはその他の特徴を再生するために、プレーヤーにおいてそのXMLがレンダリングされる。
【０００９】
作者はまた、java（登録商標）プログラムを追加することによってアニメーション・エンジンの機能性を拡張する選択肢をもつ。これらのプログラムは、映画を通じてナビゲートする〔映画内を行き来する〕、ブックマークを保存する、リアルタイムでアニメーション・オブジェクトと対話するといった追加的なタスクを実行する。これらの機能のいくつかは、本稿でBD-Jとも称されるブルーレイ・アプリケーション・プログラミング・インターフェース（API）とのインターフェースをもつことを要求する。よって、この型のインターフェースを簡単にし、作者にとってよりフレンドリーにするために、スクリプティング・ライブラリが導入された。
【００１０】
これらおよびその他の側面は、ある実装に基づいて達成される。該実装では、コンテンツ記憶媒体をオーサリングする方法が、前記媒体をオーサリングするために作者から入力を受け付ける段階と、作者の入力に応答して前記媒体をオーサリングするための命令の組を、前記媒体からの前記コンテンツのその後の再生と互換な言語で生成する段階と、生成された命令の組を前記媒体上に記憶する段階と、コンテンツを前記媒体上に記憶する段階とを含む。本方法はさらに、前記命令の組の中に含まれる一つまたは複数の命令に応答して前記媒体上に記憶されたライブラリ・ルーチンを呼び出す段階を含むことができる。
【００１１】
一つまたは複数の実装の詳細が付属の図面および以下の記述において記載される。たとえ一つの特定の仕方で記述されていても、実装がさまざまな仕方で構成または具現されてもよいことは明らかなはずである。たとえば、実装は、方法として実行されてもよいし、あるいは一組の動作を実行するよう構成された装置または一組の動作を実行するための命令を記憶する装置として具現されてもよい。他の側面および特徴は、付属の図面および請求項と一緒に考慮される以下の詳細な記述から明白になるであろう。
【００１２】
図面において、各図を通じて同様の参照符号は同様の要素を指す。
【図面の簡単な説明】
【００１３】
【図１】ライブラリ・パッケージ（JiveScript）を表すブロック図である。
【図２】BD-Jオーサリング環境における本願の原理の例示的な実施形態のブロック図である。
【図３】本願の原理の例示的な実施形態に基づく、BD-Jアニメーション・エンジンにおける単一のアニメーション・ユニットの例を示す図である。
【図４】本願の原理の例示的な実施形態に基づくオーサリング・ツール（JiveAuthor）の、例としてのプレビュー・パネルを示す図である。
【図５】本願の原理の例示的な実施形態に基づく宣言ファイルの図的な表現である。
【図６】本願の原理の例示的な実施形態に基づくキー・エディタ画面の、例としての図である。
【図７】本願の原理の例示的な実施形態に基づくメッセージ画面の、例としての図である。
【図８】本願の原理の例示的な実施形態に基づくプロパティ・パネルの、例としての図である。
【図９】本願の原理の例示的な実施形態に基づくBDJOイメージ・ジェネレータ・インターフェースの、例としての図である。
【図１０】本願の原理の例示的な実施形態に基づく、BD-Jクラス・メソッドおよび各メソッド内の追加されたコマンド／論理ブロックの、例としてのツリー・ビューである。
【図１１】本願の原理の例示的な実施形態に基づくネストされた論理ブロックの、例としての図である。
【図１２】本願の原理の例示的な実施形態に基づく論理文の、例としてのインターフェース・ビューである。
【図１３】本願の原理の例示的な実施形態に基づく、条件フィールドにおいて作者に呈示される変数の、例としての図である。
【図１４】本願の原理の例示的な実施形態に基づく、１パラメータをもつ第一のサンプルの、例としての図である。
【図１５】本願の原理の例示的な実施形態に基づく、複数パラメータをもつ第二のサンプルの、例としての図である。
【図１６】本願の原理の例示的な実施形態に基づく、特定のノード上に作者のオプションを示す、例としての図である。
【図１７】本願の原理の例示的な実施形態に基づくJiveScript作者インターフェースの、例としての図である。
【図１８】JiveTree内のすべてのオブジェクトのツリー・ビューを作者に提供するJive  Nodeセレクタの例としての図である。
【図１９】本願の原理の例示的な実施形態に基づくスクリプティング・モジュールによって実行されるスクリプト生成タスクの高レベルのブロック図である。
【図２０】本願の原理の例示的な実施形態に基づくスクリプティング・モジュール・ダイアログ・インターフェースの、例としての図である。
【図２１】本願の原理の例示的な実施形態に基づく、記憶媒体上にコンテンツをオーサリングする方法を示す、例としての高レベルの流れ図である。
【発明を実施するための形態】
【００１４】
ここで本願の原理について述べる。本願の原理の諸適用の間の分離を維持するため、複数のセクションにおいて述べる。
【００１５】
JiveScript
本願の原理の実装の例示的な実施形態によれば、新しいアプリケーション・プログラミング・インターフェース（API）が開発された。このAPIは本稿ではJiveScriptと称される。JiveScriptの一つの特定の実装の開発は、java（登録商標）ベースのブルーレイROMオーサリング機能を高めたいという望みから出てきた。この開発は、プログラマによって使用されるより簡単でより記述的なインターフェース／ファサードを提供することによって、BD-J  APIとインターフェースをもつjava（登録商標）コードを書くプロセスを効率化し、簡単にする。
【００１６】
当業者は、BD-Jがブルーレイのための進んだコンテンツをサポートする対話的プラットフォームであることを認識するであろう。BD-Jは、ブルーレイ・ディスク・タイトル上のボーナス・コンテンツが、標準的なDVDによって提供されるボーナス・コンテンツよりずっと洗練されたものとなることを許容する。たとえば、ネットワーク・アクセス（更新された予告編をダウンロードする、あるいはライブ・スタジオ・イベントにアクセスするためなど）、ピクチャー・イン・ピクチャーおよびローカル記憶へのアクセスが含まれる。BD-Jはブルーレイ・ディスク協会（Blu-ray（登録商標）  Disc  Association）によって開発された。ビデオ・コンテンツをサポートするすべてのブルーレイ・ディスク・プレーヤーはBD-Jをサポートすることが要求されるが、初期のプレーヤーは、一つを例外として（ソニーPS3）いずれも、拡張されたローカル記憶（持続性メモリ）、ピクチャー・イン・ピクチャーまたはインターネット・アクセスといった進んだ機能をサポートしていない。まとめて、これらの機能（インターネット・アクセス以外）は「ボーナス・ビュー」と称され、インターネット・アクセスの追加は「BDライブ」と称される。
【００１７】
BD-J  APIを使ってある種のタスクを実行することは、非常に大量の冗長な手動コード生成を必要とする。JiveScriptの使用を通じて、本願の原理は、BD-J  APIの詳細すべてをカプセル化するJava（登録商標）コードのライブラリを提供し、ブルーレイ作者にとって非常に有用かつフレンドリーな方法および通知プロセスを提供する。
【００１８】
本願の原理のJiveScript適用は、ブルーレイBDROMを制作する際に作者が生成するタスクをスクリプト化することの複雑さを著しく簡略化する。JiveScriptは、BD-J  APIとインターフェースをもち、該APIの複雑さをカプセル化する一切の必要なjava（登録商標）コードおよび論理を提供（すなわち生成）し、作者に、頻繁に使用されるオーサリング機能の扱いに対するより有意味なアプローチを提供する。
【００１９】
本願の原理のある実装によれば、JiveScript  APIが提供する機能のいくつかは次のものがある。
【００２０】
１．JMFプレーヤーの使用を抽象化して、より簡略化され、簡単に理解できるインターフェースにする（当業者は、JMFプレーヤーがブルーレイ環境に存在するデフォルトのjava（登録商標）メディア・プレーヤーであることを認識するであろう）。
【００２１】
２．プレーヤーがメイン・フィーチャー、メイン・メニューまたは他のHDもしくは標準精細度クリップのいずれを再生しているかのプレイバック・モードの概念を導入する。
【００２２】
３．作者はプレイリストをより有意味な名前にマッピングするオプションをもつ。たとえば、作者はプレイリスト「00001」を「メイン・フィーチャー」に、あるいは「00002」を「予告編１」にマッピングでき、その後、プレイリストをその番号ではなく名前により参照できる。番号が変わる場合、作者は、コード内の多くの場所ではなく、一箇所におけるマッピングを変更するだけでよい。
【００２３】
４．オーディオおよび字幕ストリームを簡単に管理する。JiveScriptはストリームをより有意味な名前にマッピングする機構を提供し、すべての必要な論理が置かれる単一の場所において作者スクリプト（author  script）に通知する通知機構を用いる。これは、簡単にメンテナンス可能なコードを提供する。例として、このセクションでは、オーディオまたは字幕ストリームが、「注釈１」およびメイン字幕ストリームといったより有意味な名前にマッピングされる。これらの字幕がコードの任意のセクションから変更されるとき、通知が単一のモジュールに送られる。そのような条件のもとで実行されるために必要とされるすべての論理は、一つの領域に置かれることができ、よって簡単にメンテナンスできる。
【００２４】
５．サウンドを再生するすべての詳細のアブストラクトを一つのライブラリ内にもつことによる、サウンドを再生するためのより簡単なアプローチ。作者はそれらのアブストラクトをUIから使うことができる。
【００２５】
６．作者のスクリプトに対して簡単に送達されるメディア通知機構。たとえば、作者は、メディアの終わりに達したときなどに通知される。
【００２６】
７．作者に対して、メディア時間通知を追加するためのより簡単なアプローチを提供する。
【００２７】
上述したように、JiveScriptが提供する一つの利点は、BD-J  APIの複雑さを隠し（すなわちカプセル化し）、作者に対して、我々の制作フィーチャーとより整合する、より有意味なインターフェースを提供することである。この概念の若干の例は次のようなものがある。
【００２８】
１．作者がメイン・フィーチャーを再生したい場合、作者は次のスクリプトをコード中に入れるだけでよい：
【００２９】
【表１】
2015165449.tif 000003
JiveScriptなしで作者がこれをする（すなわちメイン・フィーチャーを再生する）ことを要求されたとすると、作者は次のコードを書かねばならないであろう：
【００３０】
【表２】
2015165449.tif 000004
このように、JiveScriptはそのような諸機能をライブラリにおいてカプセル化し、そのようなライブラリをコールするためのコードを動的に生成する。
【００３１】
２．JiveScriptが提供する利点のもう一つの例は、ストリーム・マネージャ（StreamManager）のマッピングおよび通知機能である。JiveScriptはすべてのマッピングを孤立させ、オーディオまたは字幕ストリームが単一の場所に変化したときに、普通なら作者が実行することを要求されるすべての論理を実行する。JiveScriptは初期化時にBDJiveアプリケーションに通知し、よって、作者はストリーム・マッピングを行うコマンドを置くことができる。すると作者は、アプリケーション・コードを通じて、マッピングされた名前を使用できる。例として、JiveScriptは、ストリーム・マッピングを初期化するために作者のスクリプトに基づいて、次のメソッドを呼び出す：
【００３２】
【表３】
2015165449.tif 000005
初期化完了後、コードのどのセクションがストリームを変えたかにかかわらず、作者は同じスクリプト中への下記の通知を受け取る。これは、作者の観点からは必要である。作者は選択されたストリームをレジストリ中に保存したり、あるいはメイン字幕が変わるときに注釈ストリームを修正したりするなどしなければならないことがありうるからである。
【００３３】
【表４】
2015165449.tif 000006
たとえば、作者は、アプリケーションのどこからでも、ストリームを英語に変えるために、次の行を使うだけでよい。
【００３４】
【表５】
2015165449.tif 000007
引き続いて、streamInfoMainAudioLanguageChanged〔ストリーム情報メイン・オーディオ言語変更〕メソッドをコールし、変更後の言語を渡すことによって、作者のスクリプトに通知が送られる。
【００３５】
３．JiveScriptを使って、作者に検索するオプションを提供することによって、作者は、再生モード型が何であるかを知る手段をもつ。これは、異なる型のコンテンツについて異なるメニューがある場合に非常に重要である。たとえば、JiveScriptでは、作者はそのような論理を非常に簡単に実行できる。これは、BD-Jではできないことである。
if(MediaPlayer.get().getPlaybackMode()==MediaPlayer.FEATURE-PLAYBACK){
//ここで論理を実行
}
図１は、本願の原理の例示的な実施形態に基づく、JiveScriptを構成するライブラリ・パッケージ１０４を要約するブロック図１００を示している。作者スクリプト１０２はJiveScriptライブラリ１０４とのインターフェースを提供する。JiveScriptライブラリでは、作者は制作環境において上で議論した、より有意味な名前にアクセスできる。スクリプティング・モジュール２０４（図２参照）が作者スクリプト１０２を生成し、JiveScriptにおいて利用可能なAPIを使用する。JiveScriptライブラリ１０４は作者入力に応答し、BD-J  API１０６への適切なJava（登録商標）コードおよび論理を生成する。JiveScriptライブラリ１０４のいくつかの例は、これに限られないが、デバッグ（Debug）、ストリーム・マネージャ（StreamManager）、メディア・プレーヤー通知器（MediaPlayerNotifier）、プレイリスト・マネージャ（PlaylistManager）、レジストリ・アクセス（RegistryAccess）、メディア・プレーヤー（MediaPlayer）およびブックマーカー（Bookmarker）を含む。
【００３６】
当業者は、本願の原理のJiveScript適用が、Java（登録商標）コードおよび対応する論理の生成において作者を支援することを認識するであろう。しかしながら、それぞれのプロジェクトのためのXMLファイル（たとえばデータベース）の生成が残っている。さらなる実装によれば、本稿で「JiveAuthor」と称されるもう一つのオーサリング・ツールがBDJiveプロジェクトのために必要なXMLファイルを生成することにおいて作者を支援する。
【００３７】
本稿での用法では、用語「JiveAuthor」は、本稿で開示されるような出願人のオーサリング・ツールを指す。「JiveScript」はBD-JのAPIを使って構築された諸ライブラリである。「BDJive」は、画面上の描画を扱う、出願人によって開発されたアニメーション・エンジンである。BDJiveはまたBD-JグラフィックAPIを使って開発された。
【００３８】
JiveAuthor―BDJive  XML生成器
本願の原理のある例示的な実施形態によれば、JiveAuthorと称されるシステムが、作者に、BDJiveプロジェクトについての必要なXMLファイルを生成することを許容する。より特定的には、JiveAuthorシステムは必要なXMLファイルを生成でき、作者がXML言語および／またはこれにまつわるあらゆる複雑な詳細に通じていることを要求することはない。
【００３９】
このJiveAuthorシステムは、グラフィカル・ユーザー・インターフェースからあらゆるBDJiveエレメントを定義することにおいて作者を支援する。これらのエレメントは、たとえば、タイムライン、レイヤー、ボタン、グラフィック、テキストおよび宣言された資源〔リソース〕を含む。
【００４０】
本願の原理に基づくJiveAuthor  XML生成器は、BD-Jディスク・オーサリングのプロセスを促進する。このJiveAuthor  XML生成器は、JiveAuthorツールのようなツールのセットと、作者が資源を宣言する、グラフィックを配置する、アニメーションを宣言するなどといったことを許容する少なくとも一つのグラフィカル・ユーザー・インターフェースとを提供する。するとJiveAuthor生成器がBDJive準拠XMLを生成する。このように、作者はJava（登録商標）プログラミングを全く理解する必要がない。Java（登録商標）プログラミングは、より簡単な作業フローを許容するよう抽象化されるからである。JiveAuthorツールのいくつかの例示的な機能は次のとおり。
【００４１】
１．作者は画像、サウンドおよびフォントを宣言でき、ツールが対応する宣言タグを生成する；
２．作者はタイムライン、レイヤー、ボタン、グラフィック、テキストおよびパンチ（Punch）といったBDJiveエレメントを生成でき、これらのエレメントをUIから操作できる。すべての対応するXMLエレメントが生成される；
３．作者はキー・フレームを作成し、各フレームにおける各エレメントについて異なる属性を割り当てることができ、すべての対応するXMLタグが生成される；
４．ツールはエレメントのグラフィックな表現を表示する。
【００４２】
当業者は、BD-Jオーサリング環境の典型的な実装には４つの部分があることを認識するであろう。図２を参照すると、これらの部分はブロック２０２、２０４、２０６および２０８によって表されている。BDJiveプレーヤー２０６はJiveScriptライブラリ２０８とともに、作者の生成したコンテンツとともに最終的なディスクに含められる。JiveAuthor２０２およびスクリプティング・モジュール２０４は、作者がディスクに載るコンテンツを生成するのを助けるために、作者にユーザー・インターフェースを提供する。
【００４３】
JiveScript２０８は、作者が使うためのAPIを提供するクラス／ライブラリのセットである（すなわち、MediaPlayer.playMainFeature(...)）。JiveAuthor２０２は、BDJiveアニメーション・エンジンが理解するXMLフォーマットで情報を生成するユーザー・インターフェース（UI）を作者に提供する。Jiveツリー２１０およびJiveオブジェクト２１４は、BDJiveアニメーション・エンジンに関係した概念である。
【００４４】
少なくとも一つの実装を見るための追加的なレンズとして、以下の要約は、図２に示される例に基づく一つの実装における諸構成要素の相互作用を記述する。この図は、本願の原理によって実装される実際のインターフェースではなく、むしろ制作フローを提供する。
【００４５】
１．BDJiveプレーヤー２０６はBD-J環境のためのアニメーションを提供し、諸アニメーション機能を呼び出すためのXML入力（単数または複数）を受け付ける。BDJiveは、生成されたXML／コードとともにJARファイル上に置かれ、BD-Jアプリケーションとして走る。
【００４６】
２．JiveAuthor２０２は、BDJiveプレーヤー２０６へのXMLから解放された（XML-free）ユーザー・インターフェース（UI）を提供し、作者が、BDJiveプレーヤーの諸アニメーション機能を呼び出すことを許容する。作者はXMLスクリプトを明示的に書くことはない。むしろ、作者はより便利なユーザー・インターフェース・ツールを使用し、JiveAuthor２０２が対応するXMLスクリプト（単数または複数）２１０を生成する。
【００４７】
３．JiveScriptは、BD-J環境において提供されるさまざまな機能性を簡略化し、カプセル化するJava（登録商標）オブジェクト２１４を提供する。これらのオブジェクトは、Java（登録商標）コードを使って呼び出される。作者は、BDJiveプレーヤーの諸アニメーション機能を別個に使うとともに、典型的にはこれらの機能を呼び出してもよい。
【００４８】
４．BD-Jスクリプティング・モジュール２０４は、JiveScriptへのJava（登録商標）から解放された（Java（登録商標）-free）インターフェースを提供し、作者がJiveScriptオブジェクトを呼び出すことを許容する。作者はJava（登録商標）コードを明示的に書くことはない。むしろ、作者はより便利なユーザー・インターフェース・ツールを使用し、BD-Jスクリプティング・モジュールが対応するJava（登録商標）コードを生成する。
【００４９】
まとめると、下記のさらなる記述からも明白であろうように、スクリプティング・モジュール２０４は、スクリプト２１２の生成を可能にする作者インターフェースを提供する。JiveAuthor２０２はJiveツリーXML２１０を生成し、JiveツリーXML２１０はJiveツリーJava（登録商標）オブジェクト２１４に変換される。次いで、BDJive２０６およびJiveScriptライブラリ２０８がJiveツリーJava（登録商標）オブジェクト２１４、スクリプト２１２および資源２１８と一緒に、JAR/BDJO  ２１６中にパッケージングされる。
【００５０】
JiveTree（アニメーション・ツリー）：
スクリプティング・モジュール２０４は、（XMLから変換された）アニメーション・ツリーをツリー・ビューで作者に呈示する。本稿での用法では、用語Jiveツリー（JiveTree）は、このアニメーション・ツリーをいう。ノードのあらゆる可能な属性が隣り合わせに表示される。（たとえば図１８のJiveノード・セレクタ参照。）作者はノードの任意の属性を選択でき、するとそのツリーをナビゲートする（最短経路）ために、下記と同様のJava（登録商標）コードが生成される。
例１：
【００５１】
【表６】
2015165449.tif 000008
過去においては、作者は上記のコードを手動で書かなければならなかった。これは時間のかかるプロセスであった。それは、１）作者はJiveツリー・ビューのツリー表現をもたなかったため、および２）作者はいずれかの項目を誤記し、コードが正しくコンパイルされないまたは機能しないことつながる可能性があったためである。
【００５２】
BDJive２１６は、いくつかのスクリプト・オブジェクトとともにXMLフォーマットでアニメーション情報を受け入れる。スクリプト・オブジェクトはボタン・フォーカス獲得、レイヤー・フォーカス獲得……などといったイベントを通知されるjava（登録商標）オブジェクトである。この際、作者は、必要な機能を実行するために何らかのjava（登録商標）コードを書くことになる。
【００５３】
図３は、BDJiveアニメーション・エンジンにおける単一のアニメーション・ユニット３００の例を示している。各Jiveブロック３０２はメイン・タイムライン（main  timeline）３０４からなり、各タイムライン３０４は一つまたは複数のレイヤー（layer）３０６をもつことができる。ここで、各レイヤーは複数のグラフィック（Graphics）２０８、ボタン（Button）３１０およびネストされたタイムライン（Nested  Timeline）３１２および／または追加的なタイムライン３１４を有することができる。
【００５４】
例として、図４は、本願の原理のオーサリング・ツール（JiveAuthor）のある実装に基づくプレビュー・パネル４００を示している。このパネルにおいて、作者は、メニューまたは他のグラフィック・エレメントを作成するためにすべてのタイムライン、レイヤーおよび他のエレメントをパネル中に載せていくにつれて、自分の作業の進行を見ることができる。その際、すべての位置情報および使用される資産（assets）は、のちにBD-Jiveアニメーション・エンジンによってレンダリングされることになる最終的なXMLに保存されることになる。このパネルにおいて使用されるすべての画像は、最初に次のページに記載される宣言パネルにおいて宣言されるべきである。
【００５５】
たとえば、いくつかのエレメントをもつ簡単なタイムラインを保存すると、次のようなXMLコードが生成される：
【００５６】
【表７】
2015165449.tif 000009
図５は、本願の原理の例示的な実施形態に基づく宣言ファイル５００のグラフィックな表現を示している。作者は、資源２１８（たとえば図２に描かれている画像、サウンドおよびフォント）を上のダイアログから宣言（たとえばインポート）できる。これらの資源は最終的なXMLにおいて宣言タグとして保存される。作者は、メニュー、グラフィック・エレメントを生成する、サウンドを再生するまたはテキストを表示するためにこれらの資源を使うことができる。
【００５７】
まず、作者は、プロジェクト・パスにおけるサブディレクトリを表す画像パス５０２を加える。次いで、作者はUIを介してIDを生成する。このIDは、追加される画像のセットを識別するために使用されることになる。最後に、作者は画像をこのフォルダ内にドラッグ・アンド・ドロップする。
【００５８】
あらゆる単一の画像は提供されたIDおよびリスト内のインデックスによって参照される。作者によるこれらの単純な動作の結果として生成されるXMLの例が下記に与えられる：
【００５９】
【表８】
2015165449.tif 000010
図６は、本願の原理のある例示的な実施形態に基づくキー・エディタ画面６００の例を示している。このキー・エディタは、タイムライン・エレメントおよび定義されたキー・フレームのツリー・ビューを作者に呈示するセレクタ・ダイアログである。各タイムラインは複数のキー・フレームを有することができる。各キー・フレームは種々の属性をもつことができ、アニメーション・エンジン（たとえばBD-J）が、BD-Jiveアニメーション・エンジンにおいて走っている間に、レンダリングされたアニメーション・パスを決定する。サンプルXMLコードは次のようになる：
【００６０】
【表９】
2015165449.tif 000011
このサンプルは、二つのキー・フレーム（key  frame）をもつグラフィック・エレメントの例である。各キー・フレームについて複数の「<key>」タグを含むグラフィックの使用毎について、一つの「<graphic>」を定義できる。フレームの数は、タイムライン・タグによって定義され、これらのタグはキー・フレーム・タグを含むのみである。
【００６１】
図７は、本願の原理のある例示的な実施形態に基づく、例としてのメッセージ画面７００を示している。あらゆる情報またはエラー・メッセージはメッセージ・パネル７０２に表示される。これらのメッセージのいくつかは、単に情報を与えるのみであり、他のものは警告およびエラーである。作者は、作者の注意を要求する発生したいかなるエラーまたは検証問題も見ることができ、そうしたエラーまたは検証問題は最終的には修正されることができる。
【００６２】
図８は、本願の原理のある例示的な実施形態に基づく例としての属性（properties）パネル８００を示す。このパネルは、選択されたノードのタイムライン属性を修正し、その何らかの検証を提供することを作者に許容する。各属性型は、その型に依存して異なる入力機構を有する。属性パネル８００は、作者に対するタイムライン属性表示の例を示している。この例において、さまざまな属性がある（すなわち、フレーム、ID、フレーム・ステップ、有効化、フレーム・カウント、開始フレーム等）。
【００６３】
たとえば、作者がグラフィックを追加したいとすると、グラフィック属性表示をもつことになり、そこで、そのグラフィックのオブジェクトに関連付けられる画像宣言を入力するよう促される。そのような属性を選択するために、ダイアログが現れて、作者にリストから画像を選択することを許容する。属性ダイアログは作者にブール値のためのチェックボックスまたはテキスト値のための通常のフィールドを呈示する。次いで、これらの属性がXMLに保存される。
【００６４】
当業者は、BDJタイトルをオーサリングすることにおける最も困難な課題の一つは、BDJO（タイトル情報ファイル）および付属のJARファイル（アプリケーション・ファイル）を含む最終的なタイトル・ファイルを作成することであることを認識するであろう。図９は、本願の原理のある例示的な実施形態に基づくBDJOイメージ・ジェネレータ・インターフェースの例を示している。この生成ツールは、必要なオプションを選択し（たとえば、「タイトル属性」タブまたは「グローバル属性」タブの下で）、BD-JアプリのためのBDJOおよびJARファイルのセットを生成することを作者に許容する入力パネルを含む。作者は、タイトル番号、ORG  ID、ディスクIDおよび出力ディレクトリを他のオプションとともに入力し、「イメージを生成」を押すことができ、するとソフトウェアが必要なコードを生成して対応するイメージを生成する。
【００６５】
BD-Jスクリプティング・モジュール
本願の原理のもう一つの例示的な実施形態によれば、スクリプティング・モジュール２０４（図２参照）がJiveAuthorのユーザーを、手動でJava（登録商標）コードを書くことから解放し、Java（登録商標）経験のない作者にBD-Jタイトルを開発することを許容する。
【００６６】
BD-Jスクリプティング・モジュール２０４は、非常に直観的でユーザーフレンドリーなグラフィカル・ユーザー・インターフェース（UI）のセットと、背景におけるすべての必要な論理および処理要素とからなるモジュールである。スクリプティング・モジュールUIは、作者が上で論じられたようなBDJiveおよびJiveScriptと対話することを許容する。本モジュールはすべての必要なJava（登録商標）コードを生成し、コンテンツのXMLデータベースをディスク上に保存する。
【００６７】
当業者は、ブルーレイ・タイトルをJava（登録商標）で手動でコーディングするのは効率的ではないことを認識するであろう。BD-Jスクリプティング・モジュールは、その目標の一つとして、ブルーレイJava（登録商標）コード生成の効率を著しく向上させることをもつ。こうして、このスクリプティング・モジュールの適用により、作者は、BD-JディスクをオーサリングするためにJava（登録商標）の経験や理解を全くもつ必要がない。
【００６８】
現在知られている市場で入手可能な製品で、BD-J開発のために100%UI駆動（UI  driven）であるものはない。既知の既存の製品はこの問題を、Java（登録商標）開発IDEのためのプラグインを提供することによって解決しようとしてきたが、そうした製品はいまだ作者がJava（登録商標）プログラミングおよび該IDEの使用の経験があることを要求する。BD-Jタイトルをオーサリングする過程で相変わらず作者がJava（登録商標）コードを書くことを要求するからである。
【００６９】
本願の原理によるBD-Jスクリプティング・モジュール２０４は、作者がJiveScriptおよびBDJiveプレーヤー２０６（すなわちツリー・インタープリタ）内のすべての利用可能なJava（登録商標）オブジェクトとのインターフェースをもつことを許容する、必要なすべての論理およびUIを提供する。JiveScriptはBD-J  APIとインターフェースをもち、BDJiveがメニューのすべてのグラフィックおよびアニメーションを扱う。
【００７０】
いくつかのBDJiveノードは、メニューを隠す、プレイリストにジャンプする、ツリー・ノード属性を修正するなどのような論理を実行するためにそれらのノードに関連付けられたJava（登録商標）クラスを有する。スクリプティング・モジュールは作者がUIからこれらのクラスを生成し、すべての必要な機能性を追加／更新することができるようにする。作者がスクリプトの追加または更新を終えたのち、保存動作が：（ｉ）すべての必要なJava（登録商標）クラスおよび関連するXMLデータベースを生成または更新し；（ｉｉ）スクリプトをコンパイルし；（ｉｉｉ）エラーがあればそれを作者に呈示する。UIは以下の機能をサポートする。
【００７１】
１．BDJiveクラスのメソッドおよび各メソッド内の追加されたコマンド／論理ブロックのツリー・ビューを呈示する（図１０参照）。
【００７２】
２．作者には、ネストされた論理ブロック（logic  block）をいくつ埋め込むことができるかについて制限がない（図１１参照）。こうして、スクリプティング・モジュールは無制限の量の論理ブロックのネストを許容する。当業者は、論理ブロックが表式の評価の結果としてブール値に基づいて実行されるブロックであることを認識するであろう。こうして、作者は、表式が真であると評価される場合にのみ実行される論理ブロック内に何らかの機能性を置くことができる。作者は、論理ブロック内に制限なしに多くの論理ブロックを入れる（すなわち、論理ブロックをネストする）オプションをもつ。これまで、この概念は、伝統的なDVDオーサリングにおいて使用されていた以前の製品においては利用可能ではなかった。無制限のネストされたブロックは、複雑な論理ブロックの生成を許容するために望まれる。本願の原理のこの側面は、ネストされたオブジェクトを再帰的にナビゲートし、必要なブロックJava（登録商標）コードを生成することによって達成される。
【００７３】
３．作者は変数に値を割り当てることができ、変数の名前を変更することができる。
【００７４】
４．作者は、図１２に示されるように、多くの論理文からなる複雑な論理条件を生成できる。
【００７５】
５．スコープ内のあらゆる変数は条件フィールドにおいて作者に対して表示され、簡単に選択できる（図１３参照）。
【００７６】
６．作者は、条件フィールドの隣にあるボタンをクリックすることによって値を返すメソッドを選択することもできる。
【００７７】
７．スクリプティング・モジュールはまた、コマンドがパラメータをいくつもつかを自動的に決定し、JiveScriptライブラリにおいて利用可能な各メソッドについてフィールドを表示し、各メソッドをそのJava（登録商標）型に基づいて型に変換し、属性が提供されている場合、各引数（argument）の隣に説明を呈示する。上述したように、前記メソッドは、ある種の機能を実行するためにコールされることのできるJava（登録商標）オブジェクト／クラスのメンバーであり、前記引数は、処理のために前記メソッドに渡される、値または別のオブジェクトの参照である。図１４は一つのパラメータをもつ第一の見本を示し、図１５は複数のパラメータをもつ第二の見本を示す。
【００７８】
８．作者は、便利に、ノードを右クリックして、より多くのコマンドまたは論理ブロックを追加し、コマンドまたは論理ブロックを除去、コピー、切り取りまたは貼り付けすることができる（図１６参照）。
【００７９】
９．スクリプティング・モジュールは、JiveScriptから一つ、JiveTree属性からもう一つで二組のコマンド・セレクタを提供する。各ウィンドウが異なるインターフェースを提供する。図１７に示されるJiveScriptSelectorは、JiveScript  APIへのインターフェースを提供し、スコープ内のメソッドおよびオブジェクトに渡されるパラメータへのアクセスを許容する。図１８のダイアログに示されるJiveNodePropertySelectorは作者に、JiveTree内のすべてのオブジェクトのツリー・ビューを呈示し、作者が、それらのメソッドの任意のものをコマンドとして含められるよう選択することを許容し、それらの戻り値が変数に保存される。ツリー・ビューは、BDJiveオブジェクトから何らかの情報を読むことによってXMLから生成される。しかしながら、JiveScriptはまた、これに加えて何らかの機能性を、よって本願の原理のインターフェースを提供する。
【００８０】
本願の原理のある例示的な実施形態によれば、スクリプティング・モジュールは動的にすべての「JiveScript」または「TreeNodes」ライブラリを読み、なされることのできる可能な属性またはメソッド・コールを生成し、対応するオプションをUIにおいて作者に呈示する。JiveScriptまたはTreeNodeライブラリは、新しい機能性を加えることによって拡張されることができ、これらの追加も、スクリプティング・モジュール・コードを修正するUIにおいて作者に呈示されることになる。
【００８１】
１０．ひとたびJiveTree  Nodeがその属性とともに選択されると、スクリプティング・モジュールはそのツリーをナビゲートし、生成されるスクリプトによってナビゲートされるべき最短経路を決定することができる。たとえば、下記はUI選択から生成されたコードから生成された見本コードである：
【００８２】
【表１０】
2015165449.tif 000012
１１．スクリプティング・モジュールは、すべての作者選択コマンドをXMLデータベースに、あるフォーマットで保存する。下記はXMLデータベースの例である。
【００８３】
【表１１】
2015165449.tif 000013
１２．スクリプティング・モジュールは、自動的にJava（登録商標）コードを生成し、それをJava（登録商標）コンパイラを使ってコンパイルする。見本の自動生成コードは次のとおり：
【００８４】
【表１２】
2015165449.tif 000014
図１９は、まとまってスクリプト生成タスクを実行する種々のソフトウェア・モジュール／パッケージの高レベルのビューを呈示するクラス図１９００である。換言すれば、これは本願の原理のある例示的な実施形態に基づく、BDJスクリプティング・モジュール２０４についての高レベルの設計図である。手短に言うと、ClassBuilderFactory  １９０２は使用される各クラスの一つのインスタンスを初期化するために使われる。ClassBuilder  １９０４は作者の機能性に基づいてJava（登録商標）コードを生成する役割を担うオブジェクトである。Java（登録商標）CodeGenerator  １９０６は、コード生成において使用されるユーティリティである。Java（登録商標）TreeConverter  １９２０は保存されたXMLをナビゲートし、メモリ内の諸オブジェクトのツリー・ビューを生成するオブジェクトである。JiveTreeNavigator  １９１８は、作者がコマンドを実行する対象である他のオブジェクトへのリンクを確立するために、メモリ内のツリーをナビゲートするオブジェクトである。他のクラス１９０８、１９１０、１９１２、１９１４、１９１６、１９２２および１９２４は、作者とインターフェースをもつためにユーザー・インターフェース（UI）によって使用される。
【００８５】
図２０は、本願の原理のある例示的な実施形態に基づくメイン・スクリプティング・モジュール・ダイアログ・インターフェースの例を示している。このダイアログ・インターフェースは、スクリプト・タイムライン（timeline）およびユーザーへのツリー・ビューの例を示している。この例から見て取れるように、ユーザーは各モジュール（たとえばonPush()-void）およびこれに応答して生成された関連する論理ブロックの完全なビューをもつ。
【００８６】
図２１は、本願の原理のある例示的な実施形態に基づくメソッド２１００の高レベルの流れ図を示している。最初、媒体をオーサリングするために作者から入力が受け入れられる（２１０２）。作者入力に応答して、前記媒体からのコンテンツのその後の再生のために互換である言語で命令の組が生成される（２１０４）。本開示を通じて述べているように、この命令の組はスクリプティング・モジュールによって生成される。このスクリプティング・モジュールは、命令の組を入力するために作者によって使用されるJive  Authorインターフェースとインターフェースをもつ。ひとたび命令の組が生成されたら、それらの命令は前記媒体に保存され（２１０６）、それとともに前記コンテンツが前記媒体上に記憶される（２１０８）。
【００８７】
スクリプティング・モジュールによって生成される命令の組は、しばしば：１）やはり前記媒体上に記憶されている（JiveScriptによって生成された）一つまたは複数のライブラリを呼び出し；および／または２）やはり前記媒体上に記憶されているアニメーション・エンジン（たとえばBDJive）中に入力される。
【００８８】
当業者は、本願の原理のスクリプティング・モジュールのUIから生成されるあらゆる可能なJava（登録商標）構造体を予期し、カバーすることが難しいことを認識するであろう。しかしながら、本願の原理のスクリプティング・モジュールはリストを絞り込み、Java（登録商標）コード・エレメントのサブセットが含められることを許容する。たとえば、この実装において、「if/else」論理ブロックはスクリプティング・モジュールによってサポートされる。他の考えられている実装では、スクリプティング・モジュールは、たとえば「for」または「while」ループのような他のJava（登録商標）コード・エレメントをサポートできる。
【００８９】
追加的な実装および特徴
記載された例示的な実施形態の特徴および側面はまた、他の実装のために適応されることもできる。たとえば、オーサリング環境は、たとえば高精細度DVDのようなブルーレイ・ディスク以外のデジタル・メディアをオーサリングするために、あるいはDVD以外のメディアをオーサリングするために提供されていてもよい。さらに、記載された機能の一つまたは複数は、他の点で本稿で記載または示唆された環境のいずれとも異なるオーサリング環境中に含められてもよい。
【００９０】
したがって、本稿で記載された実装はブルーレイ・ディスク実装のコンテキストで記載されていることがありうるが、そのような記載は決して、本願の特徴および概念をそのような実装またはコンテキストに限定するものと解釈すべきではない。さらに、本稿の多くの実装はxmlおよび／またはJava（登録商標）コードを受け取るまたは提供するが、たとえばHD  DVDフォーマットにおけるJava（登録商標）Script/XMLのような他の型の構造化されたコードが使用されてもよいことは明らかなはずである。
【００９１】
本稿で記載された実装はたとえば、方法もしくはプロセス、装置またはソフトウェア・プログラムにおいて実装されうる。たとえ単一の形の実装のコンテキストでのみ論じられていたとしても（たとえば方法としてのみ論じられていたとしても）、論じられている実装または特徴は他の形（たとえば装置またはプログラム）においても実装されうる。装置は、たとえば、適切なハードウェア、ソフトウェアおよびファームウェアにおいて実装されうる。方法はたとえば、コンピュータまたは他の処理装置などのような装置において実装されてもよい。さらに、方法は、処理装置または他の装置によって実行される命令によって実装されてもよく、そのような命令は、たとえばDVDまたは他のコンピュータ可読記憶デバイスのようなコンピュータ可読媒体上、あるいは集積回路上に記憶されてもよい。
【００９２】
当業者には明白なはずであるが、実装はまた、たとえば記憶または伝送されうる情報を担持するようフォーマットされた信号を生成してもよい。該情報はたとえば、方法を実行するための命令、あるいは記載された実装の一つによって生成されるデータを含んでもよい。たとえば、信号はオーサリングされたブルーレイ・ディスクの内容をデータとして担持するようフォーマットされてもよい。
【００９３】
さらに、本開示によって他の実装が考えられている。たとえば、開示されている実装のさまざまな特徴を削除、修正または補足することによって、追加的な実装が作り出されてもよい。
【００９４】
付属のリストはさまざまな実装の短いリストを提供する。該リストは網羅的であることは意図されておらず、単に数多くの可能な実装のうちの少数の短い記述を提供するものである。
【００９５】
いくつかの付記を記載しておく。
〔付記１〕
コンテンツ記憶媒体をオーサリングする方法であって：
前記媒体をオーサリングするための入力を受け入れる段階と；
前記入力に応答して、前記媒体からのコンテンツのその後の再生にとって互換な言語で、前記媒体の前記オーサリングのための命令の組を生成する段階と；
生成された命令の組を前記媒体上に記憶する段階と；
前記媒体上にコンテンツを記憶する段階とを有する、
方法。
〔付記２〕
命令の組を生成する前記段階が、前記命令に応答してJava（登録商標）コードまたはXMLスクリプトの少なくとも一つを生成することを含む、付記１記載の方法。
〔付記３〕
入力を受け入れる前記段階が：前記媒体上のコンテンツをフォーマットする、該コンテンツを編成する、該コンテンツを表示するおよび該コンテンツを通じてナビゲートするからなる動作の群から選択される少なくとも一つの動作を記述する入力を受け取ることを含む、付記１記載の方法。
〔付記４〕
前記命令の組の中の少なくとも一つの命令に応答して、前記媒体上に記憶されているライブラリ・ルーチンを呼び出す段階をさらに有する、付記１記載の方法。
〔付記５〕
前記媒体上に記憶されているアニメーション・エンジン中に前記命令の組の少なくとも一つの命令を入力する段階をさらに有する、付記１記載の方法。
〔付記６〕
前記アニメーション・エンジンとのユーザー・インターフェースを提供することをさらに有する、付記５記載の方法。
〔付記７〕
ユーザー入力を受け入れる前記段階がさらに：
前記コンテンツに対応するユーザー宣言された資源についての宣言タグを生成および保存することを含む、
付記１記載の方法。
〔付記８〕
付記７記載の方法であって、命令の組を生成する前記段階がさらに：
ユーザー・インターフェースを介した前記資源のユーザー操作に応答して、所定のファイル・フォーマットで、保存された前記宣言タグによって特定されるような前記資源の表示のための備えをすることのできるエレメントを生成する段階と；
前記所定のファイル・フォーマットを、再生の際のメディア・プレーヤーによる実行のためにコンパイルする段階とを有する、
方法。
〔付記９〕
付記１記載の方法であって、さらに：
前記生成された命令の組に対応する定義されたタイムライン・エレメントおよびキー・フレームのツリー・ビューを作者に対して表示する段階と；
前記命令の組を記憶する前記段階に先立って、作者が前記タイムラインおよびキー・フレームに変更を施すことを可能にする段階とを有する、
方法。
〔付記１０〕
前記命令の組に関係するエラーを示すメッセージ画面を表示する段階をさらに有する、付記９記載の方法。
〔付記１１〕
構造化されたフォーマットを使って呼び出されることのできる機能を提供する、オーサリングのためのアニメーション・エンジンと；
作者が前記アニメーション・エンジンの少なくとも一つの機能を作者の入力を使って呼び出すことを可能にするアニメーション・エンジン・インターフェースとを有するオーサリング・システムであって、
前記オーサリング・エンジン・インターフェースは前記作者の入力を、前記アニメーション・エンジンによって要求される前記構造化されたフォーマットに変換する、
オーサリング・システム。
〔付記１２〕
付記１１記載のオーサリング・システムであって：
諸機能をカプセル化するよう構成されたオブジェクトの組であって、前記オブジェクトは前記構造化されたフォーマットを使って呼び出される、オブジェクトの組と
作者が標準的なインターフェース入力を使って前記組における少なくとも一つのオブジェクトを呼び出すことを可能にするオブジェクト・インターフェースとを有し、
前記オブジェクト・インターフェースは作者の前記標準的なインターフェース入力をオブジェクトによって要求される構造化されたフォーマットに変換する、
オーサリング・システム。
〔付記１３〕
BD-J環境において動作する、付記１１記載のオーサリング・システム。
〔付記１４〕
前記構造化されたフォーマットが、スクリプトまたはコードの一方を含む、付記１２記載のコンテンツ記憶媒体オーサリング・システム。
〔付記１５〕
前記スクリプトがJava（登録商標）コードを含み、前記コードがXMLスクリプトを含む、付記１４記載のコンテンツ記憶媒体。
〔付記１６〕
メディア制作および頒布環境において使用するためのコンピュータ可読プログラム・コードが具現されているコンピュータ使用可能な媒体であって：
前記媒体をオーサリングするために作者から入力を受け入れるためのプログラム・コードと；
前記作者の入力に応答して、前記媒体からのコンテンツのその後の再生と互換な言語で、前記媒体の前記オーサリングのための命令の組を生成するためのプログラム・コードと；
生成された命令の組を前記媒体上に記憶するためのプログラム・コードと；
前記媒体上にコンテンツを記憶するためのプログラム・コードとを有する、
コンピュータ使用可能な媒体。
〔付記１７〕
命令の組を生成するための前記プログラム・コードがさらに、受け取られたユーザー命令に応答してJava（登録商標）コードまたはXMLスクリプトの少なくとも一つを生成するためのプログラム・コードを含む、付記１６記載のコンピュータ使用可能な媒体。
〔付記１８〕
入力を受け入れるための前記プログラム・コードがさらに：前記媒体上のコンテンツをフォーマットする、該コンテンツを編成する、該コンテンツを表示するおよび該コンテンツを通じてナビゲートするからなる動作の群から選択される少なくとも一つの動作を記述する入力を受け取るためのプログラム・コードを含む、付記１６記載のコンピュータ使用可能な媒体。
〔付記１９〕
前記命令の組の中の少なくとも一つの命令に応答して、前記媒体上に記憶されているライブラリ・ルーチンを呼び出すためのプログラム・コードをさらに有する、付記１６記載のコンピュータ使用可能な媒体。
〔付記２０〕
前記媒体上に記憶されているアニメーション・エンジン中に少なくとも一つの命令を入力するためのプログラム・コードをさらに有する、付記１６記載のコンピュータ使用可能な媒体。
〔付記２１〕
前記アニメーション・エンジンとの作者インターフェースを提供するためのプログラム・コードをさらに有する、付記２０記載のコンピュータ使用可能な媒体。
〔付記２２〕
作者入力を受け入れるための前記プログラム・コードがさらに、前記コンテンツに対応する作者宣言された資源についての宣言タグを生成および保存するためのプログラム・コードを含む、付記１６記載のコンピュータ使用可能な媒体。
〔付記２３〕
付記２２記載のコンピュータ使用可能な媒体であって、命令の組を生成するための前記プログラム・コードがさらに：
作者インターフェースを介した前記資源の作者操作に応答して、所定のファイル・フォーマットで、保存された前記宣言タグによって特定されるような前記資源の表示のための備えをすることのできるエレメントを生成するためのプログラム・コードと；
前記所定のファイル・フォーマットを、再生の際のメディア・プレーヤーによる実行のためにコンパイルするためのプログラム・コードとを有する、
コンピュータ使用可能な媒体。
〔付記２４〕
付記１６記載のコンピュータ使用可能な媒体であって、さらに：
前記生成された命令の組に対応する定義されたタイムライン・エレメントおよびキー・フレームのツリー・ビューを作者に対して表示するためのプログラム・コードと；
前記命令の組の前記記憶に先立って、作者が前記タイムラインおよびキー・フレームに変更を施すことを可能にするためのプログラム・コードとを有する、
コンピュータ使用可能な媒体。
【図１】
2015165449.tif 000015
【図２】
2015165449.tif 000016
【図３】
2015165449.tif 000017
【図４】
2015165449.tif 000018
【図５】
2015165449.tif 000019
【図６】
2015165449.tif 000020
【図７】
2015165449.tif 000021
【図８】
2015165449.tif 000022
【図９】
2015165449.tif 000023
【図１０】
2015165449.tif 000024
【図１１】
2015165449.tif 000025
【図１２】
2015165449.tif 000026
【図１３】
2015165449.tif 000027
【図１４】
2015165449.tif 000028
【図１５】
2015165449.tif 000029
【図１６】
2015165449.tif 000030
【図１７】
2015165449.tif 000031
【図１８】
2015165449.tif 000032
【図１９】
2015165449.tif 000033
【図２０】
2015165449.tif 000034
【図２１】
2015165449.tif 000035
【外国語明細書】
2015165449000001.pdf