(57)【要約】【課題】  マルチアングルのような規格上複雑な制限を含む再生方法を制作する場合、種々の規格上の制限や、複数のファイルに重複するデータを設定する必要があるなど、タイトル制作に非常に煩雑な作業が必要であった。【解決手段】  ユーザがGUIによって規格上の制約やデータ構造を意識することなくシナリオを編集でき、抽象度の高い第一のシナリオデータを出力するシナリオ編集手段と、第一のシナリオデータを入力として規格で定められたデータ構造で記述された第二のシナリオデータを出力するデータ変換手段とを具備することを特徴とするシナリオデータ変換装置および方法を提供する。【選択図】  図６
2006287306.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが制作するシナリオを実現する、所定のデータ構造に対応づけられたシナリオデータを出力するシナリオデータ変換装置であって、
ユーザはGUIによってシナリオ制作を実施し、
前記GUIを含み、前記GUIの表示と１対１に対応する第一のシナリオデータを出力するシナリオ編集手段と、
前記第一のシナリオデータと前記第一のシナリオデータによって参照される素材情報データを入力として、所定のデータ構造に対応づけられた第二のシナリオデータと前記第二のシナリオデータで参照されるAVストリームをエンコードするためのエンコード情報データを出力するデータ変換手段とを具備する
ことを特徴とするシナリオデータ変換装置。
【請求項２】
前記データ変換手段は、前記第一のシナリオデータに記述されるタグ名あるいはタグに関連付けられた属性値を検出し、変換方法を判別する判別手段と、
前記判別手段によって判別された前記タグ名あるいはタグに関連付けられた属性値から、所定のデータ構造に基づいて適切に変換を行う1つ以上の変換手段と、
前記１つ以上の変換手段によって変換されたデータを合成して前記第二のシナリオデータを出力する結合手段とを具備する
ことを特徴とする請求項１記載のシナリオデータ変換装置。
【請求項３】
前記第一のシナリオデータには、ストリームの再生する経路あるいは順序を記述した１つ以上の第一のプレイリストが含まれており、
前記第一のプレイリストは、再生に使用される1つ以上のエレメンタリーストリームの多重化にストリーム情報と、前記１つ以上のエレメンタリーストリームの属性を表すストリーム属性情報とを含んでおり、
前記データ変換手段は、前記第一のシナリオデータを読込み、前記第一のシナリオデータに含まれる第一のプレイリストを検出し、前記第一のプレイリストが検出されると、前記第一のプレイリストが参照する前記ストリーム属性情報に含まれる所定の情報を参照して作成された第二のプレイリストを含む第二のシナリオデータを出力する
ことを特徴とする請求項１記載のシナリオデータ変換装置。
【請求項４】
前記第一のシナリオデータには、処理を実行するコマンドを有さず、ユーザ操作によってカーソルのフォーカスが遷移することがない静的オブジェクトを表示するか否かを表す項目が含まれており、
前記データ変換手段は、前記第一のシナリオデータを読込み、前記第一のシナリオデータに含まれる前記静的オブジェクトを表示するか否かを表す項目を検出して、前記静的オブジェクトを表示する項目が検出されると、コマンドを有さず、ユーザ操作によってカーソルのフォーカスが遷移することがないボタンを表示するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項１記載のシナリオデータ変換装置。
【請求項５】
前記第一のシナリオデータには、入状態と切状態を切替える機能をもつチェックボックスを表示するか否かを表す項目が含まれており、
前記データ変換手段は、前記第一のシナリオデータを読込み、前記第一のシナリオデータに前記チェックボックスが含まれているかどうかを検出し、前記チェックボックスが検出されると、入状態を表す第一のボタンと切状態を表す第二のボタンを有し、前記第一のボタンと第二のボタンはいずれか一方が画面に表示されており、前記第一のボタンは、前記第一のボタンが画面表示中に押下されると画面表示が第二のボタンに切替わる処理を行うコマンドを有し、前記第二のボタンは、前記第二のボタンが画面表示中に押下されると画面表示が第一のボタンに切替わる処理を行うコマンドを有するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項１記載のシナリオデータ変換装置。
【請求項６】
前記第一のシナリオデータには、少なくとも２つ以上存在して互いに排他的に入状態に切替わる機能をもつラジオボタンを表示するか否かを表す項目が含まれており、
前記データ変換手段は、前記第一のシナリオデータを読込み、前記第一のシナリオデータに前記ラジオボタンが含まれているかどうかを検出し、前記ラジオボタンが検出されると、入状態を表す第一のボタンと切状態を表す第二のボタンを有し、前記第一のボタンと第二のボタンはいずれか一方が画面に表示されており、前記第二のボタンは、前記第二のボタンが画面表示中に押下されると画面表示が第一のボタンに切替わる処理を行うコマンドを有し、同時に画面上にある他のラジオボタンの画面表示が切状態を表すボタンに切り替わる処理を行うコマンドを有するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項１記載のシナリオデータ変換装置。
【請求項７】
ユーザが制作するシナリオを実現する、所定のデータ構造に対応づけられたシナリオデータを出力するシナリオデータ変換方法であって、
ユーザはGUIによってシナリオ制作を実施し、
前記GUIを含み、前記GUIの表示と１対１に対応する第一のシナリオデータを出力するシナリオ編集ステップと、
前記第一のシナリオデータと前記第一のシナリオデータによって参照される素材情報データを入力として、所定のデータ構造に対応づけられた第二のシナリオデータと前記第二のシナリオデータで参照されるAVストリームをエンコードするためのエンコード情報データを出力するデータ変換ステップとを含む
ことを特徴とするシナリオデータ変換方法。
【請求項８】
前記データ変換ステップにおいては、前記第一のシナリオデータに記述されるタグ名あるいはタグに関連付けられた属性値を検出し、実行すべき変換方法を判別する判別ステップと、
前記判別ステップにおいて判別された前記タグ名あるいはタグに関連付けられた属性値から、所定のデータ構造に生成ルールに基づいて適切に変換を行う1つ以上の変換ステップと、
前記１つ以上の変換ステップにおいて変換されたデータを合成して前記第二のシナリオデータを出力する結合ステップとを含む
ことを特徴とする請求項７記載のシナリオデータ変換方法。
【請求項９】
前記第一のシナリオデータには、ストリームの再生する経路あるいは順序を記述した１つ以上の第一のプレイリストが含まれており、
前記第一のプレイリストは、再生に使用される1つ以上のエレメンタリーストリームの多重化にストリーム情報と、前記１つ以上のエレメンタリーストリームの属性を表すストリーム属性情報を含んでおり、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに含まれる第一のプレイリストを検出し、前記第一のプレイリストが検出されると、前記第一のプレイリストが参照する前記ストリーム属性情報に含まれる所定の情報を参照して作成された第二のプレイリストを含む第二のシナリオデータを出力する
ことを特徴とする請求項７記載のシナリオデータ変換方法。
【請求項１０】
前記第一のシナリオデータには、処理を実行するコマンドを有さず、ユーザ操作によってカーソルのフォーカスが遷移することがない静的オブジェクトを表示するか否かを表す項目が含まれており、
前記データ変換ステップにおいて、前記第一のシナリオデータを読込み、前記第一のシナリオデータに含まれる前記静的オブジェクトを表示するか否かを表す項目を検出して、前記静的オブジェクトを表示する項目が検出されると、コマンドを有さず、ユーザ操作によってカーソルのフォーカスが遷移することがないボタンを表示するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項７記載のシナリオデータ変換方法。
【請求項１１】
前記第一のシナリオデータには、入状態と切状態を切替える機能をもつチェックボックスを表示するか否かを表す項目が含まれており、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに前記チェックボックスが含まれているかどうかを検出し、前記チェックボックスが検出されると、入状態を表す第一のボタンと切状態を表す第二のボタンを有し、前記第一のボタンと第二のボタンはいずれか一方が画面に表示されており、
前記第一のボタンは、前記第一のボタンが画面表示中に押下されると画面表示が第二のボタンに切替わる処理を行うコマンドを有し、前記第二のボタンは、前記第二のボタンが画面表示中に押下されると画面表示が第一のボタンに切替わる処理を行うコマンドを有するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項７記載のシナリオデータ変換方法。
【請求項１２】
前記第一のシナリオデータには、少なくとも２つ以上存在して互いに排他的に入状態に切替わる機能をもつラジオボタンを表示するか否かを表す項目が含まれており、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに前記ラジオボタンが含まれているかどうかを検出し、前記ラジオボタンが検出されると、入状態を表す第一のボタンと切状態を表す第二のボタンを有し、前記第一のボタンと第二のボタンはいずれか一方が画面に表示されており、
前記第二のボタンは、前記第二のボタンが画面表示中に押下されると画面表示が第一のボタンに切替わる処理を行うコマンドを有し、同時に画面上にある他のラジオボタンの画面表示が切状態を表すボタンに切り替わる処理を行うコマンドを有するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項７記載のシナリオデータ変換方法。
【請求項１３】
ユーザが制作するシナリオを実現する、所定のデータ構造に対応づけられたシナリオデータを出力するシナリオデータ変換プログラムを記録した記録媒体であって、
ユーザはGUIによってシナリオ制作を実施し、
前記GUIを含み、前記GUIの表示と１対１に対応する第一のシナリオデータを出力するシナリオ編集ステップと、
前記第一のシナリオデータと前記第一のシナリオデータによって参照される素材情報データを入力として、所定のデータ構造に対応づけられた第二のシナリオデータと前記第二のシナリオデータで参照されるAVストリームをエンコードするためのエンコード情報データを出力するデータ変換ステップとを含む
ことを特徴とするシナリオデータ変換プログラムを記録した記録媒体。
【請求項１４】
前記データ変換ステップにおいては、前記第一のシナリオデータに記述されるタグ名あるいはタグに関連付けられた属性値を検出し、実行すべき変換方法を判別する判別ステップと、
前記判別ステップにおいて判別された前記タグ名あるいはタグに関連付けられた属性値から、所定のデータ構造に生成ルールに基づいて適切に変換を行う1つ以上の変換ステップと、
前記１つ以上の変換ステップにおいて変換されたデータを合成して前記第二のシナリオデータを出力する結合ステップとを含む
ことを特徴とする請求項１３記載のシナリオデータ変換プログラムを記録した記録媒体。
【請求項１５】
前記第一のシナリオデータには、ストリームの再生する経路あるいは順序を記述した１つ以上の第一のプレイリストが含まれており、
前記第一のプレイリストは、再生に使用される1つ以上のエレメンタリーストリームの多重化にストリーム情報と、前記１つ以上のエレメンタリーストリームの属性を表すストリーム属性情報を含んでおり、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに含まれる第一のプレイリストを検出し、前記第一のプレイリストが検出されると、前記第一のプレイリストが参照する前記ストリーム属性情報に含まれる所定の情報を参照して作成された第二のプレイリストを含む第二のシナリオデータを出力する
ことを特徴とする請求項１３記載のシナリオデータ変換プログラムを記録した記録媒体。
【請求項１６】
前記第一のシナリオデータには、処理を実行するコマンドを有さず、ユーザ操作によってカーソルのフォーカスが遷移することがない静的オブジェクトを表示するか否かを表す項目が含まれており、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに含まれる前記静的オブジェクトを表示するか否かを表す項目を検出して、前記静的オブジェクトを表示する項目が検出されると、コマンドを有さず、ユーザ操作によってカーソルのフォーカスが遷移することがないボタンを表示するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項１３記載のシナリオデータ変換プログラムを記録した記録媒体。
【請求項１７】
前記第一のシナリオデータには、入状態と切状態を切替える機能をもつチェックボックスを表示するか否かを表す項目が含まれており、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに前記チェックボックスが含まれているかどうかを検出し、前記チェックボックスが検出されると、入状態を表す第一のボタンと切状態を表す第二のボタンを有し、前記第一のボタンと第二のボタンはいずれか一方が画面に表示されており、
前記第一のボタンは、前記第一のボタンが画面表示中に押下されると画面表示が第二のボタンに切替わる処理を行うコマンドを有し、前記第二のボタンは、前記第二のボタンが画面表示中に押下されると画面表示が第一のボタンに切替わる処理を行うコマンドを有するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項１３記載のシナリオデータ変換プログラムを記録した記録媒体。
【請求項１８】
前記第一のシナリオデータには、少なくとも２つ以上存在して互いに排他的に入状態に切替わる機能をもつラジオボタンを表示するか否かを表す項目が含まれており、
前記データ変換ステップにおいては、前記第一のシナリオデータを読込み、前記第一のシナリオデータに前記ラジオボタンが含まれているかどうかを検出し、前記ラジオボタンが検出されると、入状態を表す第一のボタンと切状態を表す第二のボタンを有し、前記第一のボタンと第二のボタンはいずれか一方が画面に表示されており、
前記第二のボタンは、前記第二のボタンが画面表示中に押下されると画面表示が第一のボタンに切替わる処理を行うコマンドを有し、同時に画面上にある他のラジオボタンの画面表示が切状態を表すボタンに切り替わる処理を行うコマンドを有するデータ構造を含む前記第二のシナリオデータを出力する
ことを特徴とする請求項１３記載のシナリオデータ変換プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスクに記録されるコンテンツのオーサリング作業におけるデータ生成装置に関するものであり、特に映画などのコンテンツのシナリオを記述したデータ構造に基づき、BD-ROMのような再生専用光ディスクのアプリケーション層フォーマットに対応するデータ構造へ変換するシナリオデータ変換装置に関する。
【背景技術】
【０００２】
光ディスクを用いた映画コンテンツの有償頒布は、ハリウッド等の映画供給会社にとって極めて大きな収入源である。映像制作のプロフェッショナルがオーサリングに用いる生成装置は、光ディスクによる映画コンテンツの頒布に無くてはならない装置であり、従来にも増して高性能化が求められている。生成装置によるオーサリングとは、光ディスクの原盤作成にあたって、光ディスクの応用層規格にしたがってデータ配置を決めるという作業である。オーサリングにて決められたデータをボリュームイメージといい、ボリュームイメージは、ＭＰＥＧ２規格に従い圧縮・符号化されたデ/ジタルストリームと、このデジタルストリームについてのシナリオとを含む。
【０００３】
従来のオーサリングは、読出専用型のＤＶＤ（一般にＤＶＤ−Ｖｉｄｅｏと呼ばれる。）をターゲットとしてなされていた（例えば、特許文献１参照）。しかし昨今では、近い将来登場するであろう、読出専用型のＢｌｕ−ｒａｙ  Ｄｉｓｃ（以下、ＢＤ−ＲＯＭという）向けのオーサリングをどう行うかが、大きな関心事になっている。ＢＤ−ＲＯＭによる映画コンテンツ頒布の最大のメリットは、ハイビジョン画質で映画コンテンツを頒布できる点である。映画館により近い画質にて映画コンテンツを再生させることができるので、３２型、４０型のワイドテレビでの鑑賞に最適であり、本物指向の映画マニアを唸らせることができる。
【０００４】
ＤＶＤ−Ｖｉｄｅｏ規格は１９９５年頃に策定された。策定当時におけるコンピュータのハードウェア性能は、現在のそれと比べかなり貧弱であり、この貧弱な性能のハードウェア上で、ハリウッドの映画制作会社が求める多彩な再生制御を実現しようとしたため、ＤＶＤ−Ｖｉｄｅｏではデジタルストリームのシナリオに、様々な制約を与えざるを得なかった。その結果、デジタルストリームのシナリオの複雑化及び難解化をもたらす結果となった。また、それゆえに、オーサリングを行うユーザにはシナリオを制作する上で、規格上の制約をよく熟知して高度なノウハウを習得することが求められる。
【０００５】
一方、ＢＤ−ＲＯＭは、現在（２００５年３月）策定段階にある規格である。ＤＶＤ−Ｖｉｄｅｏの策定当時と比較して、現在では、ハードウェア性能が格段に向上しているので、ＤＶＤ−Ｖｉｄｅｏにおける制約の多くは無用の長物になりうる。そのためＢＤ−ＲＯＭにおけるシナリオのデータ構造は、より単純で明解なものになると期待される。
【０００６】
それでは、ＢＤ−ＲＯＭシナリオのデータ構造はＤＶＤ−Ｖｉｄｅｏシナリオのデータ構造を単純化したものであるかというとそうではない。ＤＶＤ−Ｖｉｄｅｏは、レコーディング規格よりも先に決められたものなので、その互換を考慮していないところもあるのに対し、ＢＤ−ＲＯＭは、レコーディング規格(ＢＤ−ＲＥ)との互換を意図しているので、シナリオのデータ構造は、ＤＶＤ−Ｖｉｄｅｏのそれとは全く異なっている。
【０００７】
ＢＤ−ＲＯＭ向けのボリュームイメージは、ＤＶＤ−Ｖｉｄｅｏ向けのボリュームイメージと「似て非なるもの」であるが、ハリウッドの制作会社が求める多彩な再生制御を実現しようとしている点は、ＢＤ−ＲＯＭもＤＶＤ−Ｖｉｄｅｏも同じであり、再生制御の実現のための根底にある思想に、ＤＶＤ−Ｖｉｄｅｏとの共通の概念を見出すことができる。したがって、オーサリング作業を行うユーザにとって、ＢＤ−ＲＯＭ向けのオーサリングを行う際にもＤＶＤ−Ｖｉｄｅｏの場合と同じ思想をもって同じ制作ノウハウを活用できることが期待される。
【特許文献１】特開２０００−３３９２９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来より存在する一般ユーザ向けに開発されたDVD-Videoオーサリングシステムには、特に規格についての知識を持たないユーザに対しても容易にシナリオ作成が行えるように理解しやすいＧＵＩを提供するものがあるが、このようなオーサリングシステムでは、例えばマルチアングルやマルチオーディオのタイトルを制作することは、規格上の複雑な制限を含まれるため、サポートされていないのが現状である。
【０００９】
一方でＤＶＤ−Ｖｉｄｅｏ規格をフルサポートするプロ用のオーサリングシステムは開発されているが、マルチアングルなどのような複雑な制限を含む再生をサポートするために、このオーサリングシステムが提供するＧＵＩは規格の構造をそのまま反映したものであり、したがって、コンテンツ制作おいてオーサリング作業を行うユーザはあらかじめ規格上のデータ構造や制約事項を熟知している必要があり、上記のシステムでは、ユーザが規格について熟知していなければタイトルを作成することは大変困難な作業であり、また実際に制作したいシナリオどおりのデータ構造を規格の制約のなかで実装するには高度な知識とノウハウが必要とされる。
【００１０】
そこで、規格について熟知しない一般的なユーザでも自らが意図するシナリオどおりのコンテンツを容易に制作することが可能なシステムを構築することが求められている。
【課題を解決するための手段】
【００１１】
前記従来の課題を解決するために、本発明は、ユーザが制作するシナリオを実現する、所定のデータ構造に対応づけられたシナリオデータを出力するシナリオデータ変換装置であって、ユーザはGUIによってシナリオ制作を実施し、前記GUIを含み、前記GUIの表示と１対１に対応する第一のシナリオデータを出力するシナリオ編集手段と、前記第一のシナリオデータと前記第一のシナリオデータによって参照される素材情報データを入力として、所定のデータ構造に対応づけられた第二のシナリオデータと前記第二のシナリオデータで参照されるAVストリームをエンコードするためのエンコード情報データを出力するデータ変換手段とを具備することを特徴とする。
【発明の効果】
【００１２】
本発明に係るシナリオデータ変換装置によれば、ユーザがマルチアングルのように複雑な規格上の制限を含む再生方法を制作する場合、ユーザはシナリオに近いデータ構造で表示、編集を行うことができ、規格について熟知せずとも容易に制作することが可能となる。したがって、ユーザのタイトル制作の容易性が提供され、オーサリング作業効率をより向上させることが可能である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係るデータ生成装置の実施の形態について説明する。
【００１４】
（実施の形態１）
まず、本発明に係る記録媒体の実施行為のうち、使用行為の形態について説明する。図１は本発明に係る記録媒体の使用形態を説明する図である。図１において、本発明に係る記録媒体はBD-ROM１０１である。このBD-ROM１０１は再生装置１０２とテレビ１０３、リモコン１０４により形成されるホームシアターシステムに映画作品を供給するという用途に供される。以上が本発明に係る使用形態の説明である。
【００１５】
図２は、BD-ROMの構成を示す図である。
本図の第４段目にBD-ROM２０１を示し、第３段目にBD-ROM上のトラック２０２を示す。本図のトラック２０２は、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第１段目２０４のようになる。本図に示すようにBD-ROM２０１には、ROOTディレクトリの下にBDMVディレクトリがあり、BDMVディレクトリの配下には、タイトルを構成するインデックステーブルが定義されたインデックスファイル（index.bdmv）、動的なシナリオを定義するムービーオブジェクトファイル（MovieObject.bdmv）と、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリが存在する。以下、AVクリップを格納したファイル(XXX.M2TS)、AVクリップの管理情報を格納したクリップ情報ファイル(XXX.CLPI)、AVクリップにおける論理的な再生経路(プレイリスト：PL)を定義したプレイリストファイル(YYY.MPLS)はそれぞれ前述のSTREAMディレクトリ、CLIPINFディレクトリ、 PLAYLISTディレクトリの下に配置される。
【００１６】
次に、図３を用いて映画タイトルが再生されるまでの動作について説明する。
まず、ディスクが再生機に投入され、記録データが読み出されると、アプリケーションのタイトルやメニューを定義しているインデックステーブル３０１がロードされる。インデックステーブル３０１中のタイトルはムービーオブジェクトIDによってムービーオブジェクトと関連付けられており、例えばTitle#１が実行されると、前記タイトルに関連付けられたムービーオブジェクト３０２が呼び出される。
【００１７】
インデックステーブル３０１のタイトル#１から呼び出されたムービーオブジェクト３０２には、シナリオを構成するコマンドが含まれており、ムービーオブジェクト１００２で“Play PL”コマンドが実行されると、指定されたプレイリスト３０３が再生される。ここで、ムービーオブジェクトのコマンドについて簡単に説明すると、ムービーオブジェクトは、映画を再生するシナリオを動的に定義するものであり、ムービーオブジェクトに含まれるコマンドはプレイリストの再生を制御するために用いられ、“Play PL”コマンドは指定されたプレイリストを再生する処理を行うコマンドである。
【００１８】
ムービーオブジェクト３０２で再生されるプレイリスト３０３内には、１つ以上のプレイアイテムが定義されており、プレイアイテムは再生されるべき順序で記述されている。また、プレイアイテムは、実際に再生するAVクリップの再生開始時刻および再生終了時刻が定義されている。プレイリスト３０３の再生においては、前述のように定義されたプレイアイテム１００４を再生順序に従って順次再生する。
【００１９】
プレイリストのプレイアイテムから参照されるクリップの再生では、クリップ情報ファイルを介してAVクリップが再生される。
【００２０】
プレイアイテム３０４から参照されるクリップ３０５は、AVクリップ３０６とクリップ情報ファイル３０７とからなり、AVクリップ３０６は、ビデオストリーム、オーディオストリーム、字幕ストリームおよびボタンストリームをそれぞれパケット化し、多重化されたMPEG−TS規格に基づくストリームである。また、クリップ情報ファイル３０７は、前記AVクリップ３０６に対して、時間情報とパケット位置情報の対応を定義している。したがって、プレイアイテム３０４で定義されたAVクリップ３０６の再生開始時刻および再生終了時刻は、クリップ情報ファイル３０７において時間情報から対応するパケット位置情報に置き換えられ、AVクリップ３０６のしかるべき位置から再生される。
【００２１】
以上のようにして、応用層で定義されるシナリオにしたがって映画を再生することができる。
【００２２】
次に、図４は本実施の形態におけるオーサリングシステム９０１の構成図を示している。オーサリングシステム９０１は、素材および素材情報とユーザが作成するシナリオから、DVD VideoやBD-ROMのディスクイメージデータを生成するものであり、シナリオ制作部４０２と素材作成／導入部４０３とディスクイメージ生成部４０４から構成される。
【００２３】
シナリオ制作部４０２は、ユーザ作成のシナリオ４０５と動画や音声などの素材４０６に関する属性などを含む素材情報４０７を入力として、ディクスイメージ生成部４０４に入力されるシナリオデータを作成する。
【００２４】
素材生成／導入部４０５は、素材４０６と素材情報４０７を入力として、素材４０６中を規格で定められたストリームにエンコードしたり、あるいは素材４０６のうち、すでにエンコード済みのストリームを素材情報４０７の記述に合致するように加工して出力する。ディスクイメージ生成部４０４は、シナリオ制作部４０２から出力されたシナリオデータと、素材生成／導入部４０３で出力されたストリームをもとにしてディスクイメージ４０８を作成する。
【００２５】
ここで、一般的なオーサリング作業の手順について簡単に説明する。図５は、オーサリングの工程を示したフローである。
【００２６】
まず、最初のステップＳ１００１としてオーサリング作業を開始するにあたって、タイトル制作のデータ管理の単位とするプロジェクトを作成する。
【００２７】
プロジェクトを作成後、ディスクイメージを作成するための素材を準備するいくつかの作業が並行して進められるが、１つは、ステップＳ１００２において映像素材を規格で定められたストリームへエンコードする作業が行われる。
【００２８】
２つめは、ステップＳ１００３でメニューデータを作成するための素材の準備を行い、その後ステップＳ１００５ではタイトルのシナリオ編集作業を行い、メニューデータとあわせてシナリオデータを作成する。
【００２９】
３つめは、ステップＳ１００４で字幕を作成するための字幕素材の準備を行い、その後ステップＳ１００６では、字幕素材を使って他の映像や音声などのストリームと合わせて再生できるように字幕ストリームを作成する。
【００３０】
以上の過程で用意された素材はステップＳ１００７において、実際にＢＤ−ＲＯＭディスクに記録されるデータ構造のディスクイメージに変換されデータが生成される。
【００３１】
以上までが、前述のオーサリングシステム９０１によって実施される作業手順である。なお、ステップＳ１００７によって生成されたディスクイメージデータがユーザの意図したようにできているかを検証するために、さらにステップＳ１００８においてエミュレータを用いたチェックを行い、正しくデータが生成されたことを確認した後、ステップＳ１００９で最終的なマスターデータとして出力されることになる。
【００３２】
つづいて、本実施の形態のオーサリングシステムシナリオ制作部４０２の詳細な構成について図６を用いて説明する。
【００３３】
シナリオ制作部は４０２は、シナリオ編集手段６０１とデータ変換手段６０２とから構成される。
【００３４】
シナリオ編集手段６０１は、ユーザによる編集６０３を受け付けるＧＵＩを提供し、ユーザは前記ＧＵＩによってシナリオの編集を行う。ユーザがGUIで編集したシナリオは、シナリオ編集手段６０１からは第一のシナリオデータ６０５として出力される。前記第一のシナリオデータ６０５は、ユーザが規格の詳細を意識することなく容易にシナリオ編集できる抽象度の高さをもったデータ構造で記述されるシナリオデータである。また同時に前記第一のシナリオデータ６０５は、BD-ROM規格のデータに一意に変換することができ、BD-ROMで実現可能な機能をできる限り全てサポートするデータ構造を有するものである。
【００３５】
図７は、シナリオ編集手段６０１が提供する入力のＧＵＩの例を示している。シナリオビュー７０１は、ユーザが制作するシナリオのデータ構造をＧＵＩ上に表示して編集作業を支援するウィンドウである。シナリオビュー７０１で編集を行う際には、あらかじめ制作するシナリオを想定したアイコンが用意されており、機能や用途別にタイトルアイコン７０３、スクリプトアイコン７０４、プレイリストアイコン７０５、コマンドアイコン７０６、メニューアイコン７０７として分類されている。ユーザはこれらのアイコンを制作するタイトルにあわせてシナリオビュー７０１上にドラッグ＆ドロップするなどしてシナリオ編集を行うことができる。また、プロパティビュー７０２は、前述の各アイコンごとに設定される属性値を編集するために使用されるウィンドウであり、シナリオビュー７０１上にあるひとつのアイコン（図７の例では“タイトル１”）にフォーカスしたとき、プロパティビュー７０２上には前記アイコンの属性（図７の例では、“Name”、“Type"など）が表示され、プロパティビュー７０２で属性値の編集を行うことができる。なお、表示される属性情報は、各アイコンごとに定義されているものであって、例えば、タイトルアイコンの“タイトル"であれば、タイトル名とタイトルの種類が定義され、コマンドアイコンの“Set"であれば、値をセットする変数名とセットされる値あるいは値が格納されている変数名が設定される。また、プレイリストアイコンの“ムービー”であれば、使用するAVストリームのエンコードの種類、ビットレートや再生時間などが記述された素材情報データを参照するためのリンク情報が設定される。
【００３６】
デザインビュー７０８は、ユーザが実際に表示したいタイトルの画面表示のデザインをプレビューしながら配置などを編集するために使用されるウィンドウである。デザインビュー７０８ではボタンの配置やフォーカスの遷移順を編集することができ、デザインビュー７０８によって設定されたボタンの座標情報やボタン選択の遷移順番の情報はシナリオビュー７０１上の対応するアイコンの属性情報に自動的に反映される。図８は、ユーザによる編集６０３によって、ＧＵＩ上に表示されたシナリオビュー７０１の一例である。
【００３７】
続いて、データ変換手段６０２では、シナリオ編集手段６０１によって作成された前記第一のシナリオデータ６０５を入力として、規格で定められたデータ構造で表される第二のシナリオデータ６０６を出力する。また、データ変換手段６０２では、第一のシナリオデータ６０５において参照している素材情報データ６０４も入力して、第一のシナリオデータ６０５で使用される素材をエンコードするためのエンコード情報データ６０７を作成して出力する。
【００３８】
続いて、シナリオ編集手段６０１によって出力される第一のシナリオデータ６０５について説明する。図９および図１０は、図６で示したシナリオ制作部４０２に対してユーザによる編集６０３よって入力される情報に基づいて出力される第一のシナリオデータ６０５のデータ構造を示している。ここで、第一のシナリオデータ６０５が表現するデータ構造は、ユーザがＧＵＩによって編集したデータ構造で示される各アイコンによって表現されるに対して１対１に対応するが用意されている形式であり、また、１つの情報に対して複数の項目で重複して定義されたりすることがないように構成されている。また、定型化されたデータ構造を作成する場合に対してはフラグなどとして簡素化された記述になっている特徴を持つ。
【００３９】
"scenario" (A01)は、制作するディスクタイトルがまとめられたディレクトリを表し、その中には、"titles" (A02)、"scripts" (A03)、"playlists" (A04)の３つのディレクトリを含む。
【００４０】
"titles" (A02)は、コンテンツ中で再生されるシナリオごとに分けられた各タイトルがまとめられたディレクトリであり、"firstplay" (A05)、"topmenu" (A06)、０以上の"title" (A07)が含まれている。
【００４１】
"firstplay" (A05)は、ディスクをプレイヤーに投入したときに、まず最初に自動再生されるシナリオを定義している。
【００４２】
"topmenu" (A06)は、プレイヤーのメニュー表示機能によって呼び出されるタイトルを定義しており、通常は、各タイトルやチャプターへリンクするメニュー画面などが関連付けられる。
【００４３】
"title" (A07)は、コンテンツのシナリオそのものを定義しており、作成するシナリオの数だけ"title"が作成される。
【００４４】
"title" (A07)の下には、"SidePath" (A08)を定義してもよい。ここで、“SidePath" (A08)は、タイトル中のメインのシナリオに対して、途中から別のシナリオに分岐するような場合に定義される。
【００４５】
"scripts" (A03)は、０以上の"script" (A12)がまとめられたディレクトリである。
"script" (A09)は、タイトルではないが、一連の決まった処理を記述したオブジェクトを定義するものであって、インタラクティブなタイトルに対するオブジェクトを定義することができる。
【００４６】
"playlists" (A04)は、１つ以上の"playlist" (A10)がまとめられたディレクトリである。
【００４７】
"playlist" (A10)は、実際のストリームの再生経路を定義するものであり、再生されるストリームなどが関連付けられている。
【００４８】
また、"multipath" (A11)は、たとえばディレクターズカットのようなタイトルで、複数の"playlist"で再生経路を共有する箇所を含むものに対して定義される。
【００４９】
以上に説明したデータ構造のうち、"firstplay" (A05)、"topmenu" (A06)、"title" (A07)、"SidePath" (A08)および"script" (A09)では、図９（A）にあるようなコマンドを用いて再生するシナリオが記述される。
【００５０】
ここで、コマンドについて説明する。
"play"は、"playlists" (A04)中で定義されるプレイリストの再生を行う。属性には再生するプレイリスト名が記述される。
【００５１】
"call"は、現在再生中のタイトルの状態を保持したまま別のタイトルを再生する。属性には呼び出されるタイトル名、あるいはスクリプト名が記述される。
【００５２】
"resume"は、"call"によって再生されたタイトルから以前に再生していたタイトルに復帰して再生する。
【００５３】
“set”は、プレイヤーがもつ記憶領域（レジスタ）に対して値を設定するコマンドである。属性には値を設定するレジスタ名と、設定される値あるいは設定される値が格納されているレジスタ名が記述される。
【００５４】
"if"は、条件分岐処理を実行するコマンドである。属性には分岐条件を与える条件式が記述される。
【００５５】
"while"は繰り返し処理を実行するコマンドである。属性には繰り返し条件を与える条件式が記述される。
【００５６】
以上のコマンドの組み合わせによってあらゆるシナリオの再生を定義することが可能である。
【００５７】
一方、“playlist” (A10)では図９（Ｂ）にあるような素材情報を参照して、それらの再生経路について定義している。
【００５８】
図１０は、"playlist" (A10)が参照する素材情報に関するデータ構造を示している。
"movie" (B01)は、動画素材を参照しており、中には映像を参照する"video" (B07)、音声を参照する"audio" (B09)、字幕を参照する"subtitle" (B10)が含まれる。
【００５９】
"angle" (B02)は、複数の動画素材をマルチアングルとして使用するときについて参照するものであり、２つ以上の"movie"(B11)が含まれる。
【００６０】
"still" (B03)は、静止画素材を参照している。また、静止画像は、主にメニュー画面やスライドショー再生として使用されることから、"page" (B12)構造を含んでいてもよい。
【００６１】
"page" (B12)は画面上にボタンやアイコンイメージを表示するときに使用する構造である。また、"page" (B12)中にあるボタンに対して効果をつける"effect" (B13)、アニメーション表示を行う"animation" (B14)、ボタンの機能を定義する"widget" (B15)が定義されてもよい。
【００６２】
“widget”(B15)は、“page”内に配置されるボタンなどの機能を定義する構造である。詳細な説明については後述する。
【００６３】
"InteractiveStream" (B04)は、動画上で表示されるメニューを定義するものであって、"movie"で定義される動画素材とあわせて再生されるメニューを表示するストリームを参照する。
【００６４】
"audio" (B05)は、音声素材を参照しており、ここでは"movie" (B07)に含まれる"音声素材とは異なり"still" (B03)で定義される静止画とあわせて再生される音声素材を参照する。
【００６５】
“popupmenu" (B06)は、"InteractiveStream" (B04)に似ているが、"movie" (B07)や"still" (B03)など他の素材の再生とは非同期に表示することができるメニューを定義するものである。
【００６６】
以上の素材情報を"playlist"が参照することによって複雑な再生方法やさまざまな再生機能を実現することができる。
【００６７】
以上の第一のシナリオデータ６０５は、前記シナリオ編集手段６０１のGUIによって編集された各ノードに1対1に対応する。
【００６８】
なお、前記第一のシナリオデータ６０５は、ファイルとして出力される場合以外に、コンピュータのメモリ上にデータが保持された状態で受け渡しされるものであっても良い。
【００６９】
以上が、第一のシナリオデータ６０５のデータ構造についての説明である。
次に、図１１を用いて素材情報データ６０４のデータ構造について説明する。
【００７０】
素材情報データ６０４は、オーサリング時に使用することができる映像、音声、字幕などのストリームの属性情報およびシナリオ上で再生されるストリーム属性の組合せを定義したサブリール情報を含んでいる。
【００７１】
ビデオ属性D02は、ビデオストリームのコーデック、フレームレート、アスペクト比などの属性が含まれる。
【００７２】
オーディオ本数D03は、使用されるオーディオストリームの数を定義する。
オーディオ属性D04はオーディオ本数の数だけ存在し、オーディオストリームのコーデック、ビットレート、サンプリング周波数、チャンネル数などの属性が含まれる。
【００７３】
字幕本数D05は、使用される字幕ストリームの数を定義する。
字幕属性D06は字幕本数の数だけ存在し、表示方法、表示字幕の有無、データサイズなどの属性が含まれる。
【００７４】
サブリール数D07は、サブリールの数を定義する。
サブリール属性D08は、サブリール数の数だけ存在し、上記で定義される素材ストリームを多重化したシステムストリームにエンコードするためのエンコード情報やシステムレートを定義する。また、同時にエンコードされるシステムストリームに対し挿入されるエントリーポイントの数をあらわすエントリー数D09とエントリーポイントの入る時間を示すエントリータイムコードD10を定義している。
【００７５】
この属性情報データ６０４は、シナリオ制作部４０２において素材情報の参照に使われ、それと同時に、素材生成／導入部４０３において素材を準備するときに設定される属性情報でもある。
【００７６】
以上が素材情報データ６０４についての説明である。
図１２は、データ変換手段６０２によって出力されるデータについて示す。
【００７７】
前記データ変換手段６０２からは、規格で定められたデータ構造で記述された第二のシナリオデータ６０６およびシナリオデータ以外で後工程にてディスクイメージを作成するためのエンコード情報データ６０７などが出力される。前記第二のシナリオデータについて具体的に説明すると、BD-ROM規格のデータ構造では、シナリオを記述するファイルとして、タイトルを記述するindex.bdmv、コマンドを含むオブジェクトを記述するMovieObject.bdmvおよび、ストリームの再生制御情報を含むプレイリストファイル(00000.mpls、00001.mpls、00002.mpls、…)がそれに相当し、これらのファイルは例えばXMLフォーマットのようなテキスト記述されたファイルとして出力される。したがって、第一のシナリオデータに記述されたデータは、データ変換手段６０２において、BD-ROM規格のデータ構造におけるindex.bdmv、MovieObject.bdmv、およびプレイリストファイルに変換される。
【００７８】
なお、データ変換手段６０２からは、前記第二のシナリオデータに含まれるプレイリストファイルの一覧が記述されたプレイリスト一覧情報、前記第二のシナリオデータで参照されるストリームをディスクイメージに変換するときの配置方法を記述したレイアウト情報、前記第二のシナリオデータで参照される素材ストリームを多重化したシステムストリームにエンコードするためのエンコード情報についても出力される。
【００７９】
次に、データ変換手段６０２における第一のシナリオデータ６０５から第二のシナリオデータ６０６への変換について図１３を用いて説明する。
【００８０】
データ変換手段６０２に入力される第一のシナリオデータ６０５は、BD−ROM規格で実現することができる特徴的な機能や特殊な機能を端的にタグ名や属性値として定義したものである。
【００８１】
判別手段１３０１では、前記タグ名や属性値を判別して、BD-ROMのデータ構造に変換するために以下に説明する変換ルールに基づいて、適切に変換するようにデータを各変換処理に振り分ける動作を行う。
【００８２】
以下では、BD-ROMのデータ構造を変換するための変換ルールを示す。
BD−ROM規格で定義されているデータ構造で記述した第二のシナリオデータ６０６に変換するには、以下のいずれかの方法によって変換が行われる。なお、変換の必要のないものは、直接、結合手段１３０２へデータが渡される。
【００８３】
まず、判別手段１３０１において、第一のシナリオデータ６０５に記述されている“widget"のタグが検出されると、検出された“widget”データが第一の変換手段１３０３に送られる。
【００８４】
また、第一のシナリオデータ６０５に記述されている“playlist”のタグが検出されると、検出された“playlist"と“playlist"以下に含まれる“movie”や“still"や“audio"などの複数のデータが第二の変換手段１３０４に送られる。
【００８５】
また、第一のシナリオデータ６０５に記述されている“play"や“set”などのコマンドを表すタグが検出されると、検出されたコマンドデータ第三の変換手段１３０７に送られる。
【００８６】
以上は、第一のシナリオデータ６０５のデータ構造のうち、BD-ROM規格のデータ構造への変換を要する代表的なものである。他のタグに関しても、ここでの詳細は省略するが、データ構造の変換を必要とするものに関しては、それぞれに対応するデータ変換を行う手段に振り分けられる。
【００８７】
次に、判別手段１３０１において振り分けられたデータは、それぞれの変換手段においてデータの変換が実行される。
【００８８】
第一の変換手段１３０３では、“widget”のデータが入力され、"widget"の“type”属性に設定されている値が検出される。そして“type”に設定されている値に応じて、あらかじめ第一の変換手段１３０３にて定義されているBD-ROMのデータ構造を出力される。“type”において定義されるものには、「ボタン」や「チェックボックス」や「スタティック」や「ラジオボタン」が用意されており、対応してあらかじめ定義されているBD-ROM規格のデータ構造を表示する機能を実現するBD-ROMのデータ構造を出力する。さらに詳細については、後述する。
【００８９】
第二の変換手段１３０４では、第一のシナリオデータ６０５中に定義されている“playlist”に関連するデータが入力される。入力された“playlist”の下には、ひとつ以上の素材情報として、“movie”情報や“still"といった属性情報が含まれている。
【００９０】
“movie"は素材情報データを参照するリンク情報を含んでおり、前記素材情報に記述されているサブリール属性のエントリータイムコードおよびエンドタイムコードから再生される時間情報を取得し、第二のシナリオデータに含まれるPlayItemのINtime、およびOUTtimeを設定する。また、"movie"が存在せず、“still"が含まれる場合には、設定される時間情報は、“still"に含まれる“duration”の属性を参照してINtime、OUTtimeが設定される。
【００９１】
データ変換手段６０２では、第二のシナリオデータ６０６で定義される所定のデータ領域へ値を設定する方法である。具体的な例をあげると、第一のシナリオデータ６０５に含まれる“playlist"には、複数の素材情報が関連付けられている。このとき、複数の素材情報に含まれるそれぞれの時間情報を参照して、第二のシナリオデータ６０６のプレイリストファイルにて定義されるPlayItemの時間情報(INtime, OUTtime)が決定される。
【００９２】
このように、第二の変換手段は、第一のシナリオデータの複数のタグ情報や属性情報から第二のシナリオデータの一つのノードを作成する。
【００９３】
第三の変換手段１３０５は、第一のシナリオデータ６０５中に定義されるマクロ定義されたコマンドをBD−ROM で定義されているコマンドに変換する。また、同一の振舞いを実現するコマンドであっても、コマンドが記述される位置、およびコマンドによって処理される対象が異なる場合、規格上は異なるコマンドを使用しなければならないことがあり、第三の変換方法１３０５では、コマンドが記述されている位置、およびコマンドのターゲットを判断して適切なBD-ROM規格で定義されているコマンドへの変換が行われる。
【００９４】
以上が変換手段についてであるが、変換手段は上記に示した第一の変換手段、第二の変換手段、第三の変換手段のみに限定されるものではなく、上記の変換のほか、第一のシナリオデータ６０５中に定義される各タグ名を、第二のシナリオデータ６０６においてBD-ROM規格で定義されるID情報に変換する処理であったり、第一のシナリオデータに含まれる上述した以外の他のタグ情報についても必要に応じた適切な変換手段が用意される。
【００９５】
以上のようにして、変換手段によって変換されたデータは、結合手段１３０２によって出力されるべき適切なデータ構造に記述されて、第二のシナリオデータとして出力される。
【００９６】
図１４(a)は第一のシナリオデータの一例を示し、図１４(b)はデータ変換手段６０２によって変換後の第二のシナリオデータの例を表す。データ変換手段６０２では、図１４(a)のデータ構造を以下のような対応で図１４(b)のデータ構造へ変換する。
【００９７】
まず、図１４(a)の“titles”(E02)に含まれる“firstplay” (E03)、“topmenu” (E04）、および“title”(E05)は、図１４(b)では、“index.bdmv"に含まれるfirstplayback()、topmenu()、title()の各フィールドに変換される。そして、E03,E04,E05で定義されるコマンドについては、“MovieObject.bdmv"中のムービーオブジェクト（mobj#0〜#1）に変換される。ここで、図１４の“topmenu"の例のようにコマンドが存在しなければ、mobjは作成されず、“index.bdmv”に含まれる“ｔｏｐｍｅｎｕ（）”において参照するムービーオブジェクトが存在しないことを意味する値が設定される。
【００９８】
“SidePath" (E06）は、“title#0”(E05)で定義されるタイトルの途中で分岐して呼び出されるオブジェクトを表すものであってE06で定義されるコマンドは該当するムービーオブジェクト(mobj#2)に変換される。
【００９９】
“scripts" (E08)以下に含まれる“script" (E09)は、図１４(b)の“MovieObject.bdmv"中にコマンドを定義するムービーオブジェクト(mobj#3)に変換される。
【０１００】
図１４(a)の“playlists”(E09)に含まれる“playlist#0"(E10)、“playlist#1"(E15)、“playlist#2"(E20)は、すべて図１４(b)では、PLAYLISTフォルダ(F04)に含まれるプレイリストファイル(00000.mpls(F05)、00001.mpls(F06)、00002.mpls(F07))にそれぞれ変換される。なお、“playlist#1"(E15)、“playlist#2"(E20)の上位ノードである“multipath” (E14)が存在する場合は、例えばディレクターズカットを実現するようにシームレス接続用にエンコードパラメータがセットされるなどのエンコード情報を出力するところに変換される。
【０１０１】
さらに、プレイリストファイルの詳細部分への変換についてであるが、
“movie”(E11)では、素材情報データが参照されており、“movie”(E11)から参照される素材情報データに含まれるビデオ属性、オーディオ属性、字幕属性、サブリール属性を基に、プレイリストファイル00000.mpls(F05) に記述されるPlayItemが生成される。
【０１０２】
次にインタラクティブグラフィックスストリームについて説明する。ここで、インタラクティブグラフィックスストリームとは、BD−ROM規格で定義される主にボタン機能を実現するために用意されたデータ構造を含むストリームである。インタラクティブグラフィックスストリームはICS(Interactive Composition Segment)、PDS(Palette Definition Segment)、ODS(Object_Definition_Segment)、END(END of Display Set Segment)と呼ばれる機能セグメントで構成される。また、グラフィックスストリームを構成する複数機能セグメントのうち、一画面分のグラフィックスを構成するものの集合をDisplay Set(DSと略す)と呼ぶ。
【０１０３】
これらの機能セグメントにより定義される対話画面は、画面上にGUI部品を配置することにより作成される対話画面である。図１５（ａ）は、インタラクティブグラフィックスストリームにより実現される対話画面を示す図である。この対話画面は、ボタンA〜ボタンDという4つのGUI部品を含む。インタラクティブグラフィックスストリームによる対話性とは、これらのGUI部品(ボタン)の状態をユーザ操作に応じて変化させることをいう。GUI部品(ボタン)における状態には、図１５（ａ）に示すノーマル状態４０１、セレクテッド状態４０２、アクティブ状態４０３といったものがある。ノーマル状態とは、単に表示されているに過ぎない状態である。これに対しセレクテッド状態とは、ユーザ操作によりフォーカスが当てられているが、確定に至っていない状態をいう。アクティブ状態とは、確定に至った状態をいう。これらのボタンの状態は、図１５（ｂ）に示したリモコン１０４のキーの押下により、変化させることができる。
【０１０４】
図１５（ｂ）は、対話画面に対する操作をユーザから受け付けるためのリモコン１０４におけるキーを示す図である。本図に示すようにリモコン１０４は、MoveUpキー１５０４、MoveLeftキー１５０５、MoveDownキー１５０６、MoveRightキー１５０７が設けられている。
【０１０５】
MoveUpキー１５０４は、対話画面においてあるボタンがセレクテッド状態である場合、このボタンより上にあるボタンをセレクテッド状態に設定するためのキーである。MoveLeftキー１５０５は、このボタンより左にあるボタンをセレクテッド状態に設定するためのキー、MoveDownキー１５０６は、このボタンより下にあるボタンをセレクテッド状態に設定するためのキー、MoveRightキー１５０７は、このボタンより右にあるボタンをセレクテッド状態に設定するためのキー、である。
【０１０６】
Activatedキー１５０８は、セレクテッド状態にあるボタンをアクティブ状態(アクティベート)するためのキーである。「0」〜「9」の数値キー１５０９は、該当する数値が割り当てられたボタンをセレクテッド状態にするキーである。「+10」キーとは、これまで入力された数値に10をプラスするという操作を受け付けるキーである。尚、「0」キー、「+10」キーは、何れも２桁以上の数値の入力を受け付けるものなので、「0」キー、「+10」キーは、どちらかが具備されていればよい。
【０１０７】
ノーマル状態、セレクテッド状態、アクティブ状態といった各状態は、複数の非圧縮状態のグラフィックスから構成される。ボタンの各状態を表現する個々の非圧縮グラフィックスを”グラフィックスオブジェクト”という。あるボタンの1つの状態を、複数の非圧縮グラフィックスで表現しているのは、各ボタンの1つの状態をアニメーション表示することを念頭に置いているからである。
【０１０８】
以上が本実施の形態が想定している対話画面についての説明である。
続いて、対話的な画面を構成する機能セグメントであるInteractive Composition Segment（ICS）について説明する。Interactive Composition Segment(ICS)は、図１６に示すデータ構造で構成される。図１６に示すようにICSは、『segment_type』と、『segment_length』と、『composition_number』と、『composition_state』と、『command_update_flag』と、『ｃomposition_timeout_PTS』と、『selection_timeout_PTS』と、『ページ情報(page(1)(2)(3)・・・)』で構成され、『ページ情報(page)』は、『UO_mask_table』と、『in_effects』と、『out_effects』と、『animation_frame_rate_code』と、『default_selected_button_number』と、『default_activated_button_number』と、『button_overlap_group』とからなる。
【０１０９】
また、『button_overlap_group』は、1つ以上の『ボタン情報群(button info(1)(2)(3)・・・・)』から構成される。以下、ICSの構成要素について説明する。
【０１１０】
『ｃomposition_ｎumber』は、ICSが属するDSにおいて、Updateがなされることを示す0から15までの数値である。
【０１１１】
『composition_state』は、本ICSから始まるDSが、Normal Caseであるか、Acquisition Pointであるか、Epoch Startであるかを示す。
【０１１２】
『command_update_flag』は、本ICS内のボタンコマンドは、前のICSから変化しているかを否かを示す。例えば、あるICSが属するDSが、Acquisition Pointであれば、このICSは、原則1つ前のICSと同じ内容になる。しかしcommand_update_flagをオンに設定しておけば、1つ前のDSと違うボタンコマンドをICSに設定しておくことができる。本フラグは、グラフィックスオブジェクトは流用するが、コマンドは変更したい場合に有効となる。
【０１１３】
『composition_timeout_PTS』は、ボタンによる対話画面の終了時刻を記述する。終了時刻において対話画面の表示は、もはや有効ではなく表示されない。
【０１１４】
composition_timeout_PTSは、動画データにおける再生時間軸の時間精度で記述しておくことが好ましい。
【０１１５】
『selection_timeout_PTS』は、有効なボタン選択期間の終了時点を記述する。selection_timeout_PTSの時点において、default_activated_button_numberにより特定されるボタン.がアクティベートされる。selection_timeout_PTSは、composition_time_out_PTSの時間と等しいかそれより短い。selection_timeout_PTSはビデオフレームの時間精度で記述される。
【０１１６】
『ページ情報（page）』は一度に表示される対話画面を定義する構造である。図中の引き出し線hp1はm番目のページの内部構造について注目しており、以降では、ページの構成について説明する。
【０１１７】
『UO_mask_table』は、ICSに対応するDisplay Setにおけるユーザ操作の許可／不許可を示す。このマスクフィールドが不許可に設定されていれば、再生装置に対するユーザ操作は無効になる。
【０１１８】
『in_effects』は、pageが画面表示される際に画面を更新するときの表示効果を定義する。
【０１１９】
『out_effects』は、pageが画面から消去される際に画面を更新するときの表示効果を定義する。
【０１２０】
『animation_frame_rate_code』は、アニメーション型ボタンに適用すべきフレームレートを記述する。アニメーションフレームレートは、本フィールドの値を用いて、ビデオフレームレートを割ることにより与えられる。本フィールドが00なら、各ボタンのグラフィックスオブジェクトを定義するODSのうち、Start_Object_id_xxxにて特定されるもののみが表示され、アニメーションされない。
【０１２１】
『default_selected_button_number』は、対話画面の表示が始まったとき、デフォルトとしてセレクテッド状態に設定すべきボタン番号を指示する。本フィールドが”0”であれば、再生装置のレジスタに格納されたボタン番号のボタンが自動的にアクティブ状態に設定される。もしこのフィールドが非ゼロであれば、このフィールドは、有効なボタンの値を意味する。
【０１２２】
『default_activated_button_number』は、selection_timeout_PTSにより定義された時間の前に、ユーザがどのボタンもアクティブ状態にしなかったとき、自動的にアクティブ状態に設定されるボタンを示す。default_activated_button_numberが”FF”であれば、selection_timeout_PTSにより定義される時刻において、現在セレクテッド状態にあるボタンが自動的に選択される。このdefault_activated_button_numberが00であれば、自動選択はなされない。00,FF以外の値であれば本フィールドは、有効なボタン番号として解釈される。
【０１２３】
『button_overlap_group』は、以下に説明するbuttonのグループを定義する構造である。このbutton_overlap_group内に定義される１つのbuttonだけはいつでも無効ではない状態で存在する。
【０１２４】
『ボタン情報(button_info)』は、対話画面において合成される各ボタンを定義する情報である。図中の引き出し線hp2はICSにより制御されるi番目のボタンについてのボタン情報iの内部構成をクローズアップしている。以降、ボタン情報iを構成する情報要素について説明する。
【０１２５】
『button_number』は、ボタンiを、ICSにおいて一意に識別する数値である。
『button_numeric_select_value』は、ボタンiの数値選択を許可するか否かを示すフラグである。
【０１２６】
『auto_action_flag』は、ボタンiを自動的にアクティブ状態にするかどうかを示す。auto_action_flagがオン(ビット値1)に設定されれば、ボタンiは、セレクテッド状態になる代わりにアクティブ状態になる。auto_action_flagがオフ(ビット値0)に設定されれば、ボタンiは、選択されたとしてもセレクテッド状態になるにすぎない。
【０１２７】
『object_horizontal_position』、『object_vertical_position』は、対話画面におけるボタンiの左上画素の水平位置、垂直位置を示す。
【０１２８】
『neighbor_info』は、引き出し線hp3によって示される構造をとる。構成を具体的に説明すると、『upper_button_number』は、ボタンiがセレクテッド状態である場合においてMoveUpキー１５０４が押下された場合、ボタンiの代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンiの番号が設定されていれば、MoveUpキー１５０４の押下は無視される。同様に、『lower_button_number』,『left_button_number』,『right_button_number』は、ボタンiがセレクテッド状態である場合においてMoveLeftキー１５０５,MoveDownキー１５０６,MoveRightキー１５０７が押下された場合、ボタンiの押下の代わりに、セレクテッド状態にすべきボタンの番号を示す。もしこのフィールドにボタンiの番号が設定されていれば、これらのキーの押下は無視される。
【０１２９】
『normal_state_info』は、引き出し線hp4によって示される構造をとる。
『normal_start_object_id』は、ノーマル状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのnormal_start_object_idに記述される。
【０１３０】
『normal_end_object_id』は、ノーマル状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのnormal_end_object_idに記述される。このnormal_end_object_idに示されるIDが、normal_start_object_idに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタンiの絵柄になる。
【０１３１】
『normal_repeated_flag』は、ノーマル状態にあるボタンiのアニメーション表示を反復継続させるかどうかを示す。
【０１３２】
『selected_state_info』は、引き出し線hp5によって示される構造をとる。
『selected_state_sound_id』は、ボタンiがセレクテッド状態に遷移したときに再生される音声情報の参照が記述される。
【０１３３】
『selected_start_object_id』は、セレクテッド状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのselected_start_object_idに記述される。このselected_end_object_idに示されるIDが、selected_start_object_idに示されるIDと同じである場合、このIDにて示されるグラフィックスオブジェクトの静止画が、ボタンiの絵柄になる。
【０１３４】
『selected_end_object_id』は、セレクテッド状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのselected _end_object_idに記述される。
【０１３５】
『selected_repeat_flag』は、セレクテッド状態にあるボタンiのアニメーション表示を、反復継続するかどうかを示す。selected_start_object_idと、selected_end_object_idとが同じ値になるなら、本フィールド00に設定される。
【０１３６】
『activated_state_info』は、引き出し線hp6によって示される構造をとる。
『activated_state_sound_id』は、ボタンiがセレクテッド状態に遷移したときに再生される音声情報の参照が記述される。
【０１３７】
『activated_start_object_id』は、アクティ状態のボタンiをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番のうち、最初の番号がこのactivated_start_object_idに記述される。
【０１３８】
『activated_end_object_id』は、アクティブ状態のボタンをアニメーションで描画する場合、アニメーションを構成する複数ODSに付加された連番たる『object_ID』のうち、最後の番号がこのactivated_end_object_idに記述される。
【０１３９】
続いてボタンコマンドについて説明する。
『ボタンコマンド(button_command)』は、ボタンiがアクティブ状態になれば、実行されるコマンドである。
【０１４０】
以上がICSの内部構成である。ICSによる対話制御の具体例について以下説明する。本具体例は、図６のようなODS、ICSを想定している。図１７は、あるDisplay Set(DSn)に含まれるODSと、ICSとの関係を示す図である。このDSｎには、ODS11〜19,21〜29,31〜39,41〜49が含まれているものとする。これらのODSのうち、ODS11〜19は、ボタンAの各状態を描いたものであり、ODS21〜29は、ボタンBの各状態を描いたもの、ODS31〜39は、ボタンCの各状態を描いたもの、ODS41〜49は、ボタンDの各状態を描いたものとする(図中の括弧)を参照)。そしてICSにおけるbutton_info(1),(2),(3),(4)にて、これらのボタンA〜ボタンDの状態制御が記述されているものとする(図中の矢印bh1,2,3,4参照)。
【０１４１】
図１８は、リモコン１０４からの操作によってメニュー画面におけるボタンのセレクテッド状態が遷移する様子を示した図である。また、図１９は、図１８に示すボタンのセレクテッド状態の遷移を実現するために用いられるICSの具体例を示している。
【０１４２】
ここで、図１８に示すボタンA〜ボタンDのに対するセレクテッド状態の遷移の様子を図１９を参照しながら説明する。図１８における矢印hh1,hh2は、button info(1)のneighbor_info()による状態遷移を象徴的に表現している。図１９においてbutton info(1)のneighbor_info()のlower_button_numberは、ボタンCに設定されているため、ボタンAがセレクテッド状態になっている状態で、MoveDownキー１５０６押下のユーザ操作が発生すれば(図１８のup1)、ボタンCがセレクテッド状態になる(図１８のsj1)。また、図１９においてbutton info(1)のneighbor_info()のright_button_numberは、ボタンBに設定されているため、ボタンAがセレクテッド状態になっている状態で、MoveRightキー１５０７押下のユーザ操作が発生すれば(図１８のup2)、ボタンBがセレクテッド状態になる(図１８のsj2)。
【０１４３】
図１８における矢印hh3は、button info(3)のneighbor_info()による状態遷移の制御を示す。図１９においてbutton info(3)のneighbor_info()のupper_button_numberは、ボタンAに設定されているため、ボタンCがセレクテッド状態になっている状態で(up3)、MoveUpキー１５０４押下のユーザ操作が発生すれば、ボタンAがセレクテッド状態に戻る。このようにして、“button_info”の“neighbor_info”には、各ボタンの位置関係を反映する形で定義されることにより、リモコン１０４のキー操作でセレクテッド状態の遷移が実現される。
【０１４４】
以上がICSのデータ構造についての説明である。
続いて、図２０は、第一のシナリオデータ６０５のうち、上記で説明したインタラクティブグラフィクスクスストリームに対応する第二のシナリオデータ６０６への変換の対応について示している。
【０１４５】
第一のシナリオデータ６０５に記述される“page" (G02、G08、G10)は、シナリオ中のボタンを表示に関するデータ構造を意味しており、このデータは、規格のデータ構造では、ボタンストリームのデータ構造に相当する。したがって、BD-ROM規格のデータ構造においては、前述のインタラクティブグラフィックスストリームに相当する。データ変換手段６０２では、インタラクティブグラフィックスストリームを作成するときのICSのデータ構造へ変換される。
【０１４６】
また、図２１は図２０で示した第一のシナリオデータ６０５に含まれる“widget" (G05)の定義について示している。この“widget" (G05)は、例えばシナリオ中のメニュー画面などにおいて用いられるボタン機能を定義するものである。
【０１４７】
図２１に示すように、“widget"は、“name"、“type”、“autoAction"、“numericSelect"、“x_pos"、“y_pos”、“Up"、“Down"、“Left" 、“Right"などの属性を含む。
【０１４８】
“name"は、タグ名を定義する属性である。
“type”は、ボタン機能の種類を定義する属性であり、詳細については後述する。
【０１４９】
“autoAction"は、ボタンの自動実行を許可するか否かを表すフラグを意味する属性である。“numericSelect"は、ボタンが数値選択する場合の割り当てられる数値を定義する属性である。“x_pos"および“y_pos”はボタンの表示するx座標およびy座標を定義する属性である。
【０１５０】
“Up"、“Down"、“Left"および“Right"はボタンのフォーカスをカーソル遷移させるときの各Moveキーによる遷移先のボタンを定義する属性である。
【０１５１】
ここで、以下では、“widget”の“type"属性において定義されるボタン機能の種類について説明する。“type"属性で定義される機能は、ボタン(button)、スタティック(static)、チェックボックス(checkbox)、ラジオボタン(radiobutton)がある。
【０１５２】
ボタン(button)は、選択して押下することにより設定されたコマンド処理を実行する機能を有するオブジェクトである。
【０１５３】
スタティック(static)は、静的イメージあるいはテキストの表示のみの機能を有するオブジェクトである。
【０１５４】
チェックボックス(checkbox)は、選択した項目を押下することによって表示が切り替わり、再生経路を決定するために用いられるフラグの切り替えを実行する機能を有するオブジェクトである。
【０１５５】
ラジオボタン(radiobutton)は、２つ以上のグループ化されたチェックボックスでいずれか１つのチェックボックスのみがON状態で存在するようにフラグが切り替えられる機能を有するオブジェクトである。
【０１５６】
以上のような、“widget"で定義されるオブジェクトは典型的な機能として定型化されたオブジェクトであって、本発明のデータ変換手段６０２において上記のオブジェクトに対応するデータ構造があらかじめ定義されていることによって、入力される第一のシナリオデータ６０５の、“widget"フィールドの記述に基づき、BD-ROM規格に準拠した第二のシナリオデータ６０６が出力される。
【０１５７】
なお、上記に示した機能は一例であって、ユーザがコンテンツ制作時に一般的に想定する上記以外の機能があれば、その機能に対する変換が行われる場合があってもよい。
【０１５８】
以上のようなデータ構造に対して、データ変換手段６０２によって、第一のシナリオデータから第二のシナリオデータのデータ構造への変換が行われる。
【０１５９】
次に、入力される第一のシナリオデータ６０５において上記の“widget”フィールドに設定された機能をBD−ROM規格のデータ構造に変換するための変換方法について説明する。
【０１６０】
上記に示した“widget"で定義される機能については、BD-ROM規格のデータ構造で定義されているボタンオーバーラップグループ『button_overlap_group』（以下ＢＯＧと略す）の構造を利用することによって実現することができる。ここでまず、ボタンオーバーラップグループ（ＢＯＧ）の動作例について図２２を用いて説明する。図２２に示すようにボタンオブジェクトが３つ存在し、これらが画面上の同じ領域で表示されるとき、これら３つのボタンを１つのBOG８０１として構成することができる。
【０１６１】
BOGとしてグループ化された各ボタンオブジェクトは、それらのうちのいずれか１つのボタンオブジェクトのみが有効になり、画面上に表示される。
【０１６２】
例えば、今、図２２の画面(a)ではBOGに属するボタンオブジェクト＃２が有効な状態で表示されている。ここで、あるボタンが押下されるなどしてコマンド“EnableButton #3”が実行されるとする。“EnableButton"コマンドは、オペランドに指定されるボタンIDをもつボタンオブジェクトの表示を有効にする処理を行い、同時に指定されたボタンオブジェクトがBOGに属する場合、そのBOGに含まれるボタンオブジェクトのうち指定されたボタンオブジェクト以外が現在有効になっていればそれを無効化する処理を行う。よって、ボタンオブジェクト＃３が属するBOGに含まれるボタンオブジェクト＃２の表示を無効にして、ボタンオブジェクト＃３の表示が有効になり、図２２の画面(b)のような画面表示に切替えられる。以上のように、BOGは画面上の同じ領域に表示するボタンオブジェクト群をまとめることで、ボタン表示の切替を容易にする効果がある。
【０１６３】
以上を踏まえて、“widget”に関するデータ構造の変換方法について説明する。
ボタン機能の実現については、前記で示したBOGのデータ構造そのものであり、規格上のフィールドに当てはまるイメージおよびコマンドを当てはめることにより実現される。通常のボタンの場合は、1つのボタンのみが含まれるBOGが生成される。
(1)次に、スタティックは、静的なイメージあるいはテキストを表示する機能であり、前  記のボタン機能の制限的な使用方法として捉えられる。具体的には、ボタン機能に含ま  れるコマンドの実行、ボタンの隣接情報、数値入力による遷移が制限される必要がある  。したがって、スタティックのオブジェクトに対する特徴としては、コマンドの無効化
(2)ボタンの隣接情報を無効化
(3)数値入力によるボタン選択機能の無効化
をデータ作成時に設定することにより、スタティック機能が実現される。
【０１６４】
なお、(1)の方法としては、ICSのbutton_commandに設定されるコマンド数を0とする方法であったり、ICSのbutton_commandに何も処理を行わないコマンド（Nop）を設定する方法などがある。
【０１６５】
(2)の方法としては、ICS中のneighbor_info()に何も設定しない方法であったり、あるいはICS中のnieghbor_info()のすべて(upper_button_number, lower_button_number, left_button_number, right_button_number)に自分自身のボタンIDを設定する方法などがある。
【０１６６】
(3)の方法としては、ICS中のbutton_numeric_select_valueに何も設定しない方法であったり、あるいはICS中のbutton_numeric_select_valueに無効な値（たとえば負の数）を設定する方法などがある。
【０１６７】
また、スタティックのオブジェクトは図２３に示すようにBOG構造を利用した構造として、図２３に示すように、上記の３つの条件を満足するように設定された３つのスタティックイメージを示しており、それぞれ、「日本語」、「English」、「Deutsｃｈ」という文字のみが表示される。これらは、BOG構造としてまとめられており、したがって３つのうちのいずれか１つのみが有効となり画面上に表示される。
【０１６８】
スタティックなオブジェクトはそれ自身では切替わることはできないが、例えば各イメージに対しあるボタンが実行されるごとに、コマンド
“EnableButton (id+1)％3"
(ただし、“id"は現在表示されているID番号、‘％’は剰余算を表す)
を実行することによって表示させるスタティックのイメージを切替えることができる。
【０１６９】
次に、チェックボックスについて図２４を用いて説明する。チェックボックスは、項目の選択（ON）または非選択（OFF）の２つの状態を表すボタン機能であり、図２４(a)に示すようにONとOFFのそれぞれの場合のボタンが項目の状態に応じて切り替わって表示される。したがってチェックボックスでは、ONのボタンとOFFのボタンをBOG構造とすることで実現される。図２４(b)は、ONのボタンとOFFのボタンの各状態に対する表示イメージの遷移方法について示している。
【０１７０】
まず、OFFからONへの切替えを説明する。最初に、チェックボックスはOFFボタンでノーマル状態にあるとき、ユーザ操作によりカーソルがチェックボックスのボタンに移動するとチェックボックスのOFFボタンのセレクテッド状態に変わる(ch01)。ここで、ユーザがチェックボックスを押下（アクティベート）するとOFFボタンのアクティブ状態へ遷移する(ch02)。ここでアクティブ状態になったチェックボックスは、OFFボタンからONボタンへの切替えが発生する。すなわち、アクティブ状態では、チェックボックスに対応する変数の切替えと同時に表示ボタンをOFFからONに切り替えるためのコマンド“EnableButton id=0” (ただし、id=0は、ONボタンのIDとする)が実行され、ボタンコマンドの実行後は、ONボタンのセレクテッド状態が表示される(ch03)。
【０１７１】
次にONからOFFへの切替えであるが、最初、チェックボックスはONボタンでノーマル状態にあるとき、ユーザ操作によりカーソルがチェックボックスのボタンに移動するとチェックボックスのONボタンのセレクテッド状態に変わる(ch04)。ここで、ユーザがチェックボックスを押下するとONボタンのアクティブ状態へ遷移する(ch05)。ここでアクティブ状態になったチェックボックスは、ONボタンからOFFボタンへの切替えが発生する。すなわち、アクティブ状態では、チェックボックスに対応する変数の切替えと同時に表示ボタンをONからOFFに切り替えるためのコマンド“EnableButton id=1” (ただし、id=1は、OFFボタンのIDとする)が実行され、ボタンコマンドの実行後は、OFFボタンのセレクテッド状態が表示される(ch06)。
【０１７２】
以上のように、BD-ROM規格でのBOG構造を利用して、上記のようなボタン遷移をするようにコマンドを設定する変換を行うことによって、チェックボックス機能を実現することができる。
【０１７３】
次に、図２５を用いてラジオボタン機能について説明する。ラジオボタンは複数の選択項目の中から、そのうちのただ１つだけをONにできるような機能を持つチェックボックスである。ラジオボタンでは、あるグループ内の１つの項目をONにすると、それまでONだった同一グループ内の他の項目は自動的にOFFになる。図２５では３つのラジオボタン(radio A, radio B, radio C)がグループ化されている。各ラジオボタンはそれぞれONとOFFの２つのボタンからなり、BOG構造になっている。ボタンの表示イメージの遷移方法であるが、チェックボックスの場合と異なる点は、ユーザは各ボタンに対してOFFからONへの切替えが実行できる。そして、グループ内のボタンがONになったとき、同一グループの他のボタンでON状態であったものがOFFに切替えられる。
【０１７４】
続いて、図２５のようにradio Aのボタンが選択されている状態から、radio BのボタンがOFFからONに切替えられる場合について図２６を用いて説明する。まず、OFFボタンのノーマル状態にあるradio Bを切替えるためユーザ操作によりカーソルをradio Bに移動すると、radio BのOFFボタンのセレクテッド状態に遷移する(ra01)。ここで、ユーザがradio Bを押下するとOFFのアクティブ状態へ遷移する(ra02)。アクティブ状態に遷移したradio BはOFFボタンからONボタンへの切替えが発生し、表示ボタンをOFFからONへ切替えるためのコマンド“EnableButton id=2” (ただし、id=2はradio BのONボタンのIDとする）が実行される(ra03)。また、このとき、同一グループにある他のradio Aおよびradio CのボタンがOFFになる必要があるため、“Enable Button id=1” (ただし、i=1は、radio AのOFFボタンのIDとする)、および“Enable Button id=5” (ただし、i=5は、radio CのOFFボタンのIDとする)が実行され、このときONボタンが表示されているradio Aについては、ONからOFFへ表示が切替えられる(ra04)。
【０１７５】
以上のようにして、radio BをONにする切り替えが実行される。
なお、他のラジオボタンに対しても上記と同様の手順でOFFからONへの切替えが実現される。
【０１７６】
また、ラジオボタンでは、ユーザ操作によってONからOFFへの切替えられることはないため、ONボタンが有効に表示されているラジオボタンに対してセレクテッド状態でボタンを押下（アクティベート）したとき、ONボタンのアクティブ状態に遷移するものの何も処理は行わず、再びセレクテッド状態へ戻ることになる(ra05, ra06, ra07)。
【０１７７】
以上のようにして、BOG構造に加え、グループ化されたボタンに対して、上記のコマンドを設定することによりラジオボタンの機能を実現することができる。
【０１７８】
以上に説明したボタン、スタティック、チェックボックス、ラジオボタンのような機能をBD-ROM規格に準拠したデータ構造で直接ユーザが制作することは非常に困難であるが、一般的に定型化することが可能なデータ構造をあらかじめ保持しておくことにより、ユーザが抽象的なデータ構造の属性として設定したものを規格に準拠したデータ構造へ容易に変換することが可能であり、ユーザにとっても、規格上の制限を意識することなくコンテンツを容易に制作することができ、作業効率の向上が図られる。
【０１７９】
以上が、widgetに関するデータ構造の変換方法についての説明である。
以上のようにして、本発明によれば、ユーザにとってタイトル制作が容易でかつ複雑な再生方法を制作することができるオーサリングシステムを提供することができ、作業効率をより向上させることができる。
【０１８０】
なお、本発明に関する実施の形態で説明したが、本発明は上記の実施の形態に限られるものではないことは勿論である。
【産業上の利用可能性】
【０１８１】
本発明に係るデータ変換装置は、より品質が高く、かつアプリケーションの多様性に富んだ付加価値が高い映画作品を市場に供給することができ、映画市場や民生機器市場を活性化させることができる。故に本発明に係るデータ変換装置は、映画産業や民生機器産業において高い利用可能性をもつ。
【図面の簡単な説明】
【０１８２】
【図１】本発明にかかる記録媒体の使用形態を示す図
【図２】BD-ROMの構成を示す図
【図３】BD-ROMのデータ構造におけるタイトル再生手順を示す図
【図４】本発明にかかるオーサリングシステムの構成を示す図
【図５】オーサリング工程を示すフロー図
【図６】本発明にかかるシナリオ生成部を説明する図
【図７】シナリオ編集手段が提供するGUI画面の例
【図８】GUI上で編集されたシナリオデータの表示例
【図９】本発明にかかるデータ生成装置に入力されるシナリオに基づくデータ構造を説明する図
【図１０】シナリオに基づくデータ構造においてプレイリストが参照する素材に関するデータ構造を説明する図
【図１１】属性情報データのデータ構造を説明する図
【図１２】データ変換手段によって出力されるデータを説明する図
【図１３】データ変換手段での変換処理を行う構成を示す図
【図１４】第一のシナリオデータから第二のシナリオデータへの変換の対応を示す図
【図１５】インタラクティブグラフィックスによる対話画面について説明する図
【図１６】Interactive Composition Segment(ICS)のデータ構造を示す図
【図１７】ODSとICSの関係を示す図
【図１８】ボタンＡ〜ボタンＤの状態遷移を示す図
【図１９】ICSにおけるボタン情報の設定例を示す図
【図２０】第一のシナリオデータ中のページから第二のシナリオデータのICSへの変換の対応を示す図
【図２１】第一のシナリオデータに含まれるwidgetフィールドの属性を説明する図
【図２２】ボタンオーバーラップグループの構造を説明する図
【図２３】スタティック属性の構造を説明する図
【図２４】チェックボックス属性の構造を説明する図
【図２５】ラジオボタン属性の構造を説明する図
【図２６】ラジオボタン属性のボタン状態遷移を説明する図
【符号の説明】
【０１８３】
１０１  BD-ROMディスク
１０２  再生装置
１０３  テレビ
１０４  リモコン
２０１  BD-ROM
２０２  物理層に構成されるトラック
２０３  ファイルシステム層
２０４  アプリケーション層
３０１  インデックステーブル
３０２  ムービーオブジェクト
３０３  プレイリスト
３０４  プレイアイテム
３０５  クリップ
３０６  クリップ情報ファイル
３０７  ＡＶクリップ
４０１  オーサリングシステム
４０２  シナリオ制作部
４０３  素材生成／導入部
４０４  ディスクイメージ制作部
４０５，６０３  ユーザによる編集情報の入力
４０６  素材の集合
４０７，６０４  素材情報データ
４０８  ディスクイメージ
６０１  シナリオ編集手段
６０２  データ変換手段
６０５  第一のシナリオデータ
６０６  第二のシナリオデータ
６０７  エンコード情報データ
７０１  シナリオビュー
７０２  プロパティビュー
７０３  タイトルアイコンの集合
７０４  スクリプトアイコンの集合
７０５  プレイリストアイコンの集合
７０６  コマンドアイコンの集合
７０７  メニューアイコンの集合
７０８  デザインビュー
１３０１  判別手段
１３０２  結合手段
１３０３  第一の変換方法
１３０４  第二の変換方法
１３０５  第三の変換方法
１５０１  ノーマル状態のボタン
１５０２  セレクテッド状態のボタン
１５０３  アクティブ状態のボタン
１５０４  MoveUpキー
１５０５  MoveLeftキー
１５０６  MoveDownキー
１５０７  MoveRightキー
１５０８  Activateキー
１５０９  数値入力キー
２２０１  ボタンオーバラップグループ
２４０１  チェックボックス
２５０１  ラジオボタングループ
【図１】
2006287306.tif 000003
【図２】
2006287306.tif 000004
【図３】
2006287306.tif 000005
【図４】
2006287306.tif 000006
【図５】
2006287306.tif 000007
【図６】
2006287306.tif 000008
【図７】
2006287306.tif 000009
【図８】
2006287306.tif 000010
【図９】
2006287306.tif 000011
【図１０】
2006287306.tif 000012
【図１１】
2006287306.tif 000013
【図１２】
2006287306.tif 000014
【図１３】
2006287306.tif 000015
【図１４】
2006287306.tif 000016
【図１５】
2006287306.tif 000017
【図１６】
2006287306.tif 000018
【図１７】
2006287306.tif 000019
【図１８】
2006287306.tif 000020
【図１９】
2006287306.tif 000021
【図２０】
2006287306.tif 000022
【図２１】
2006287306.tif 000023
【図２２】
2006287306.tif 000024
【図２３】
2006287306.tif 000025
【図２４】
2006287306.tif 000026
【図２５】
2006287306.tif 000027
【図２６】
2006287306.tif 000028