(57)【要約】【課題】複数の構成要素間の文脈を保護することができるデジタルコンテンツ再生機能を提供すること。【解決手段】再生操作の許諾内容を定めたライセンス情報を有するコンテンツを再生するデジタルコンテンツ再生装置であって、コンテンツと当該コンテンツ以外のコンテンツとの間の再生に関する条件を示す制約条件を、前記ライセンス情報から取得するライセンス処理部１０３と、前記ライセンス処理部１０３が取得した前記制約条件に従って再生する操作実行命令を生成する操作実行命令生成部１０６と、前記操作実行命令生成部１０６が生成した前記操作実行命令に基づき、前記コンテンツの再生を行うコンテンツ再生部１０５とを備えた。【選択図】        図１
2006099646.tif 000002
【特許請求の範囲】
【請求項１】
再生操作の許諾内容を定めたライセンス情報を有するコンテンツまたは複数の前記コンテンツを含む複合コンテンツを再生するデジタルコンテンツ再生装置であって、
前記コンテンツまたは前記複合コンテンツと前記コンテンツまたは前記複合コンテンツ以外のコンテンツとの間の再生に関する条件を示す制約条件を、前記コンテンツまたは前記複合コンテンツの前記ライセンス情報から取得するライセンス処理手段と、
前記ライセンス処理手段が取得した前記制約条件に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成する操作実行命令生成手段と、
前記操作実行命令生成手段が生成した前記操作実行命令に基づき、前記コンテンツまたは前記複合コンテンツの再生を行うコンテンツ再生手段と、
を備えたことを特徴とするデジタルコンテンツ再生装置。
【請求項２】
前記ライセンス処理手段は、他のコンテンツまたは他の複合コンテンツと共に利用する際の主従関係を表す補完制約条件を前記制約条件として取得し、
前記操作実行命令生成手段は、前記ライセンス処理手段が取得した前記補完制約条件に従って、前記補完制約条件を有する前記コンテンツまたは前記複合コンテンツと、前記補完制約条件の対象となる他のコンテンツまたは他の複合コンテンツを共に再生する操作実行命令を生成することを特徴とする請求項１に記載のデジタルコンテンツ再生装置。
【請求項３】
前記ライセンス処理手段は、他のコンテンツまたは他の複合コンテンツと共に利用する際の時間の先後関係を表す時間制約条件を前記補完制約条件として取得し、
前記操作実行命令生成手段は、前記ライセンス処理手段が取得した前記時間制約条件に定められた時間の先後関係に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成することを特徴とする請求項２に記載のデジタルコンテンツ再生装置。
【請求項４】
前記ライセンス処理手段は、他のコンテンツまたは他の複合コンテンツと共に利用する際の再生画面上の位置関係を表す空間制約条件を前記補完制約条件として取得し、
前記操作実行命令生成手段は、前記ライセンス処理手段が取得した前記空間制約条件に定められた再生画面上の位置関係に従って前記コンテンツまたは前記複合コンテンツを配置する操作実行命令を生成することを特徴とする請求項２または３に記載のデジタルコンテンツ再生装置。
【請求項５】
前記ライセンス処理手段は、他のコンテンツまたは他の複合コンテンツと共に利用することを禁止する関係を表す排他制約条件を前記制約条件として取得し、
前記操作実行命令生成手段は、前記ライセンス処理手段が取得した前記排他制約条件に従って、前記コンテンツまたは前記複合コンテンツと前記他のコンテンツまたは前記他の複合コンテンツを排他的に再生する操作実行命令を生成することを特徴とする請求項１〜４のいずれか一つに記載のデジタルコンテンツ再生装置。
【請求項６】
前記操作実行命令生成手段は、前記ライセンス処理手段が取得した前記排他制約条件に従って、共に利用することを禁止する他のコンテンツまたは他の複合コンテンツが再生中であるときは、当該排他制約条件を有する前記コンテンツまたは前記複合コンテンツは再生しない操作実行命令を生成することを特徴とする請求項５に記載のデジタルコンテンツ再生装置。
【請求項７】
前記操作実行命令生成手段は、前記ライセンス処理手段が取得した前記排他制約条件に従って、当該排他制約条件を有する前記コンテンツまたは前記複合コンテンツを再生するときは、共に利用することを禁止する他のコンテンツまたは他の複合コンテンツは再生しない操作実行命令を生成することを特徴とする請求項５に記載のデジタルコンテンツ再生装置。
【請求項８】
再生操作の許諾内容を定めたライセンス情報を有するコンテンツまたは複数の前記コンテンツを含む複合コンテンツを再生するデジタルコンテンツ再生方法であって、
前記コンテンツまたは前記複合コンテンツと前記コンテンツまたは前記複合コンテンツ以外のコンテンツとの間の再生に関する条件を示す制約条件を、前記コンテンツまたは前記複合コンテンツの前記ライセンス情報から取得するライセンス処理ステップと、
前記ライセンス処理ステップが取得した前記制約条件に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成する操作実行命令生成ステップと、
前記操作実行命令生成ステップが生成した前記操作実行命令に基づき、前記コンテンツまたは前記複合コンテンツの再生を行うコンテンツ再生ステップと、
を備えたことを特徴とするデジタルコンテンツ再生方法。
【請求項９】
再生操作の許諾内容を定めたライセンス情報を有するコンテンツまたは複数の前記コンテンツを含む複合コンテンツを再生するデジタルコンテンツ再生プログラムであって、
前記コンテンツまたは前記複合コンテンツと前記コンテンツまたは前記複合コンテンツ以外のコンテンツとの間の再生に関する条件を示す制約条件を、前記コンテンツまたは前記複合コンテンツの前記ライセンス情報から取得するライセンス処理手順と、
前記ライセンス処理手順が取得した前記制約条件に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成する操作実行命令生成手順と、
前記操作実行命令生成手順が生成した前記操作実行命令に基づき、前記コンテンツまたは前記複合コンテンツの再生を行うコンテンツ再生手順と、
をコンピュータに実行させるデジタルコンテンツ再生プログラム。
【請求項１０】
前記ライセンス処理手順は、他のコンテンツまたは他の複合コンテンツと共に利用する際の主従関係を表す補完制約条件を前記制約条件として取得し、
前記操作実行命令生成手順は、前記ライセンス処理手順が取得した前記補完制約条件に従って、前記補完制約条件を有する前記コンテンツまたは前記複合コンテンツと、前記補完制約条件の対象となる他のコンテンツまたは他の複合コンテンツを共に再生する操作実行命令を生成することを特徴とする請求項９に記載のデジタルコンテンツ再生プログラム。
【請求項１１】
前記ライセンス処理手順は、他のコンテンツまたは他の複合コンテンツと共に利用する際の時間の先後関係を表す時間制約条件を前記補完制約条件として取得し、
前記操作実行命令生成手順は、前記ライセンス処理手順が取得した前記時間制約条件に定められた時間の先後関係に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成することを特徴とする請求項１０に記載のデジタルコンテンツ再生プログラム。
【請求項１２】
前記ライセンス処理手順は、他のコンテンツまたは他の複合コンテンツと共に利用する際の再生画面上の位置関係を表す空間制約条件を前記補完制約条件として取得し、
前記操作実行命令生成手順は、前記ライセンス処理手順が取得した前記空間制約条件に定められた再生画面上の位置関係に従って前記コンテンツまたは前記複合コンテンツを配置する操作実行命令を生成することを特徴とする請求項１０または１１に記載のデジタルコンテンツ再生プログラム。
【請求項１３】
前記ライセンス処理手順は、他のコンテンツまたは他の複合コンテンツと共に利用することを禁止する関係を表す排他制約条件を前記制約条件として取得し、
前記操作実行命令生成手順は、前記ライセンス処理手順が取得した前記排他制約条件に従って、前記コンテンツまたは前記複合コンテンツと前記他のコンテンツまたは前記他の複合コンテンツを排他的に再生する操作実行命令を生成することを特徴とする請求項９〜１２のいずれか一つに記載のデジタルコンテンツ再生プログラム。
【請求項１４】
前記操作実行命令生成手順は、前記ライセンス処理手順が取得した前記排他制約条件に従って、共に利用することを禁止する他のコンテンツまたは他の複合コンテンツが再生中であるときは、当該排他制約条件を有する前記コンテンツまたは前記複合コンテンツは再生しない操作実行命令を生成することを特徴とする請求項１３に記載のデジタルコンテンツ再生プログラム。
【請求項１５】
前記操作実行命令生成手順は、前記ライセンス処理手順が取得した前記排他制約条件に従って、当該排他制約条件を有する前記コンテンツまたは前記複合コンテンツを再生するときは、共に利用することを禁止する他のコンテンツまたは他の複合コンテンツは再生しない操作実行命令を生成することを特徴とする請求項１３に記載のデジタルコンテンツ再生プログラム。
【請求項１６】
再生操作の許諾内容を定めたライセンス情報を有するコンテンツまたは複数の前記コンテンツを含む複合コンテンツを再生するデジタルコンテンツ再生プログラムを記録する記録媒体であって、
前記コンテンツまたは前記複合コンテンツと前記コンテンツまたは前記複合コンテンツ以外のコンテンツとの間の再生に関する条件を示す制約条件を、前記コンテンツまたは前記複合コンテンツの前記ライセンス情報から取得するライセンス処理手順と、
前記ライセンス処理手順が取得した前記制約条件に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成する操作実行命令生成手順と、
前記操作実行命令生成手順が生成した前記操作実行命令に基づき、前記コンテンツまたは前記複合コンテンツの再生を行うコンテンツ再生手順と、
をコンピュータに実行させるデジタルコンテンツ再生プログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、再生操作の許諾内容を定めたライセンス情報に基づいてデジタルコンテンツを再生するデジタルコンテンツ再生装置、デジタルコンテンツ再生方法、デジタルコンテンツ再生プログラムおよびデジタルコンテンツ再生プログラムを記録する記録媒体に関するものである。
【背景技術】
【０００２】
近年、デジタル著作物の著作権を保護する技術であるＤＲＭ（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔ  Ｍａｎａｇｅｍｅｎｔ）が多数開発されている。特に、映画や音楽などの商用のデジタルコンテンツは、ＤＶＤに代表されるように、強力な著作権の保護がコンテンツ提供側に有利な形で開発されている。
【０００３】
これらの技術における著作権保護機能は、デジタルコンテンツの複製防止という強い要望があるため、非常に硬直的で頑強な仕組みを提供しており、アナログコンテンツに比べて、ユーザの自由度をより制限している。
【０００４】
著作権法には、私的使用のための複製や引用など、著作物を著作権者の許諾無く使用できるいわゆるフェアユースの規定が設けられているが、上述のようにデジタル著作物は、複製防止のためユーザの自由度が制限されているため、私的使用のための複製や引用を行うことができず、デジタル著作物に対するフェアユースの要望が高まってきている。
【０００５】
一方、コンテンツの再利用や二次加工が日常的に行われているビジネス文書、製品カタログ、個人のホームページ、電子メール等の非商用コンテンツの著作権保護にはあまり注意が払われていないのが現状であり、安心してコンテンツを流通できる状況になっていない。
【０００６】
このような状況のなか、様々な形態のデジタルコンテンツの流通・管理を目指したＩＳＯ／ＩＥＣ  ２１０００（ＭＰＥＧ２１）等の国際標準化活動が進められている。ＭＰＥＧ２１では、複数のコンテンツの組合せ・結合によって構成された複合コンテンツを表現するための言語（ＤＩＤＬ：Ｄｉｇｉｔａｌ  Ｉｔｅｍ  Ｄｅｃｌａｒａｔｉｏｎ  Ｌａｎｇｕａｇｅ）が標準化されており、これにより複数のコンテンツを構成要素とする複合コンテンツを扱うことが可能となってきている。さらに、柔軟なライセンス記述を可能とする権利記述言語ＲＥＬ（Ｒｉｇｈｔ  Ｅｘｐｒｅｓｓｉｏｎ  Ｌａｎｇｕａｇｅ）も標準化がなされており、ＲＥＬを用いてライセンスを記述するための支援方法などが特許文献１で提案されている。
【０００７】
また、コンテンツを利用するユーザの年齢、性別、配信歴、購買歴などの情報を用いてＣＭ映像と映像コンテンツを合成し、複合コンテンツとして再生する技術が特許文献２で提案されている。
【０００８】
【特許文献１】USP Application Pub.No.:US2003/0125976
【特許文献２】特開２００２−２０３１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、複合コンテンツの流通・再利用を対象とする場合、当該複合コンテンツを構成する要素がコンテンツとして単体で流通・再利用がなされたり、まったく別のコンテンツと合成されて再生されたりすることを想定する必要がある。このような場合、構成要素が単体で利用されることにより、全体からみた位置づけや他の構成要素との関係などの文脈情報が消滅してしまう可能性がある。これにより、著作者の本来の意図が間違って表現されたり、意味を成さない情報として伝達されたりする事態が発生し得る。
【００１０】
このような場合、各構成要素を一体不可分にすればよいとも考えられるが、各構成要素を個別に見ると、それ自体が完成された１つの著作物であり、必ずしも他の構成要素を必要としない場合がある。再利用がより容易に実行できるデジタルコンテンツの流通を考えると、各構成要素を一体不可分にする処理は編集作業、権利処理の手続きなどのコスト増につながり、むしろコンテンツの健全な再流通の障害になる。
【００１１】
ＭＰＥＧ２１／ＤＩＤＬでは複合コンテンツの構造情報を表現するとともに、再生する構成要素を選択し、それ以外の構成要素を再生時に排除する仕組みを有しているが、分離、流通した場合に、もとの構造を復元することはできない。またＭＰＥＧ２１／ＲＥＬを用いた特許文献１の技術では、複合コンテンツの構成要素ごとに利用ライセンスを設定できるが、コンテンツ間相互の関係を含めたライセンスの記述ができない。
【００１２】
また、特許文献２の技術ではユーザ情報に基づいて、個別にコンテンツを合成しているが、これは著作者の意図を保護する仕組みではなく、再度分解され、構成要素が流通した場合に、やはりもとの構造を再現することができない。
【００１３】
本発明は、上記に鑑みてなされたものであって、複合コンテンツの構成要素が単体で再生される場合でも、著作者が保護を指定した複数の構成要素間の文脈を保護することができるデジタルコンテンツ再生装置、デジタルコンテンツ再生方法、デジタルコンテンツ再生プログラムおよびデジタルコンテンツ再生プログラムを記録する記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、再生操作の許諾内容を定めたライセンス情報を有するコンテンツまたは複数の前記コンテンツを含む複合コンテンツを再生するデジタルコンテンツ再生装置であって、前記コンテンツまたは前記複合コンテンツと前記コンテンツまたは前記複合コンテンツ以外のコンテンツとの間の再生に関する条件を示す制約条件を、前記コンテンツまたは前記複合コンテンツの前記ライセンス情報から取得するライセンス処理手段と、前記ライセンス処理手段が取得した前記制約条件に従って前記コンテンツまたは前記複合コンテンツを再生する操作実行命令を生成する操作実行命令生成手段と、前記操作実行命令生成手段が生成した前記操作実行命令に基づき、前記コンテンツまたは前記複合コンテンツの再生を行うコンテンツ再生手段とを備えたことを特徴とする。
【００１５】
また、本発明は、上記装置を実行することができるデジタルコンテンツ再生方法、デジデジタルコンテンツ再生プログラムおよびデジタルコンテンツ再生プログラムを記録する記録媒体である。
【発明の効果】
【００１６】
本発明によれば、当該複合コンテンツを構成する要素が素材コンテンツとして単体で流通し再利用される場合でも、その素材コンテンツのライセンス情報に記述された他の素材コンテンツとの間の利用に関する制約条件を満たすようにコンテンツの再生を行うことができる。このため、全体からみた位置づけや他の構成要素との関係などの文脈情報に従って素材コンテンツの再生をすることができ、複合コンテンツに関する著作者の当初の意図を保護することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかるデジタルコンテンツ再生装置、デジタルコンテンツ再生方法、デジタルコンテンツ再生プログラムおよびデジタルコンテンツ再生プログラムを記録する記録媒体の最良な実施の形態を詳細に説明する。
【００１８】
本実施の形態にかかるデジタルコンテンツ再生装置は、コンテンツのライセンス情報に記載された制約条件を取得し、取得した制約条件を満たすようにデジタルコンテンツを再生するものである。
【００１９】
図１は、本実施の形態にかかるデジタルコンテンツ再生装置１００の構成を示すブロック図である。図１に示すように、デジタルコンテンツ再生装置１００は、コンテンツ記憶制御部１０１と、コンテンツ指定受付部１０２と、ライセンス処理部１０３と、利用条件判定部１０４と、コンテンツ再生部１０５と、操作実行命令生成部１０６と、再生履歴データ保存部１０７と、ユーザＩ／Ｆ１０８とを備えている。また、本実施の形態にかかるデジタルコンテンツ再生装置１００は、ハードディスクドライブ装置（ＨＤＤ：Hard Disk Drive）に制約条件関係辞書１０９を保存している。また、ＲＡＭ(Random Access Memory)１１０に、操作テーブル１１１と、時間制約条件テーブル（ＴＣＴ：Time Constraint Table）１１２と、空間制約条件テーブル（ＳＣＴ：Spatial Constraint Table）１１３と、命令文データ１１４と、再生履歴データ１１５とを保存している。
【００２０】
ここで、本実施の形態にかかるデジタルコンテンツ再生装置１００は、コンテンツ１２０とコンテンツのライセンス情報１２１を読み込むコンテンツ記憶制御部１０１と、読み込んだコンテンツの中からユーザが再生を指定したコンテンツを受付けるコンテンツ指定受付部１０２と、再生の指定を受付けたコンテンツ１２０のライセンス情報１２１から利用条件や制約条件を取得し当該条件に従い操作実行命令生成やコンテンツの再生を実行するライセンス処理部１０３、利用条件判定部１０４、コンテンツ再生部１０５、操作実行命令生成部１０６、再生履歴データ保存部１０７が連携して動作するようになっている。コンテンツのライセンス情報１２１の構造の詳細については後述する。
【００２１】
コンテンツ記憶制御部１０１は、ユーザＩ／Ｆ１０８からユーザが指示したコンテンツ１２０およびコンテンツのライセンス情報１２１を読み込み、ＲＡＭ１１０などのデジタルコンテンツ再生装置１００内部の記憶装置に記憶するものである。
【００２２】
コンテンツ指定受付部１０２は、コンテンツ記憶制御部１０１が記憶したコンテンツのリストをユーザＩ／Ｆ１０８に表示し、表示したコンテンツの中からユーザが指定したコンテンツを受付けるものである。
【００２３】
ライセンス処理部１０３は、コンテンツ指定受付部１０２から受け取ったコンテンツＩＤに対応するコンテンツのライセンス情報１２１から、利用条件や制約条件を取得し、再生のための利用条件を満たすか否かの判定処理や制約関係の判定処理を行い、操作テーブル１１１を作成するものである。ここで、コンテンツＩＤとは、コンテンツを一意に識別するための情報をいう。操作テーブル１１１の構造の詳細については後述する。
【００２４】
利用条件判定部１０４は、コンテンツのライセンス情報１２１に記載された利用条件からコンテンツが再生可能か否かの判定を行うものである。
【００２５】
操作実行命令生成部１０６は、ライセンス処理部１０３が作成した操作テーブル１１１を受取り、再生履歴データ１１５に保存されている再生中のコンテンツの情報や制約条件関係辞書１０９に保存されている制約条件間の関係を参照しつつ、受取った操作テーブル１１１に格納されている制約条件を満たす操作実行命令を生成するものである。
【００２６】
再生履歴データ保存部１０７は、再生履歴データ１１５に対する保存処理を行うものである。再生履歴データ１１５は、再生中のコンテンツのコンテンツＩＤを保存する。
【００２７】
コンテンツ再生部１０５は、操作実行命令生成部１０６が生成した操作実行命令に基づき、必要なコンテンツをコンテンツ記憶制御部１０１が記憶した記憶装置から読み込み、読み込んだコンテンツの再生処理を行うものである。
【００２８】
ユーザＩ／Ｆ１０８は、ディスプレイ装置等の表示装置と、キーボードやマウスなどの入力装置であり、コンテンツを選択するための画面やコンテンツの再生画面（図示せず）の表示を行うとともに、これらの画面からの入力操作を受付ける。
【００２９】
制約条件関係辞書１０９は、制約条件間の関係を格納したデータファイルであり、制約条件間の関係として、ある制約条件と相反関係にある制約条件が定義されている。制約条件関係辞書１０９の構造の詳細については後述する。
【００３０】
ＲＡＭ１１０は、ランダムアクセスが可能なメモリであり、操作テーブル１１１と、ＴＣＴ１１２と、ＳＣＴ１１３と、命令文データ１１４と、再生履歴データ１１５とを格納するための記憶部として機能する。
【００３１】
操作テーブル１１１は、複合コンテンツの構成要素である各コンテンツを再生する際に許諾されている操作や、制約条件が存在する場合の制約種別を格納するものである。操作テーブル１１１の構造の詳細については後述する。
【００３２】
ＴＣＴ１１２は、操作テーブル１１１から、制約条件の１つである時間制約条件を抽出した結果を格納するとともに、格納した時間制約条件と別の制約条件の１つである空間制約条件をマージした結果の格納、さらに、マージした条件から生成した実行シーケンスの格納に使用するテーブルである。時間制約条件、空間制約条件の詳細およびＴＣＴ１１２の構造の詳細については後述する。
【００３３】
ＳＣＴ１１３は、操作テーブル１１１から、制約条件の１つである空間制約条件を抽出した結果を格納するものである。空間制約条件の詳細およびＳＣＴ１１３の構造の詳細については後述する。
【００３４】
命令文データ１１４は、ＴＣＴ１１２に格納された実行シーケンスを変換して生成される、コンテンツの再生処理を実行するための命令文を格納するものである。命令文データ１１４の構造の詳細については後述する。
【００３５】
図２は、複合コンテンツを構成する要素がコンテンツとして単体で流通・再利用がなされる様子を表した模式図である。図２に示す例では、コンテンツＡの各構成要素であるコンテンツＡ１〜コンテンツＡ４が分解され、そのうちコンテンツＡ１〜コンテンツＡ３に別のコンテンツＢ１が合成されてコンテンツＢが生成されている。また、コンテンツＢの構成要素であるコンテンツＡ２、コンテンツＡ３、コンテンツＢ１、およびコンテンツＡの構成要素であるコンテンツＡ４が再利用され、別のコンテンツＣ１と合成されてコンテンツＣが生成されている。
【００３６】
本実施の形態にかかるデジタルコンテンツ再生装置１００では、図２に示す例において、コンテンツＡの各構成要素であるコンテンツＡ１〜コンテンツＡ４の間に、コンテンツＡ全体からみた位置づけや他の要素との関係などの文脈情報が定義されていたときには、それらの文脈情報を保護しつつコンテンツＢ、コンテンツＣの再生を実行することができる。
【００３７】
図３−１は、制約条件の定義をＸＭＬ Ｓｃｈｅｍａの形式で表したものである。本実施の形態では制約条件３１１をＭＰＥＧ２１のＲＥＬに準拠し、ＭＰＥＧ２１のＲＥＬを拡張した形式で定義している。すなわち、図３−１に示すように、ＭＰＥＧ２１のＲＥＬにおける"Right"（許諾操作）エレメントの拡張として"playWithConstraint"という許諾操作を定義し、補完制約３１２と排他制約３１３という２つの制約のいずれかまたは両方を指定するように当該許諾操作を定義している。このように、ＭＰＥＧ２１のＲＥＬにおける許諾操作("Right")に制約を有するように拡張された許諾操作が、本発明における制約条件に相当する。
【００３８】
補完関係および排他関係は一般的に双方向に成立するとは限らないので、一方向のみの制約となる。制約条件を双方向に指定する場合は、相互に補完制約または排他制約を定義する必要がある。
【００３９】
なお、本実施の形態では、制約条件をＸＭＬ形式で示したが、表形式、リレーショナルデータベースの形式、意味ネットワーク形式等の形式で表現するように構成してもよい。
【００４０】
図３−２は、図３−１における補完制約３１２の定義をＸＭＬ Ｓｃｈｅｍａの形式で表したものである。補完制約は、制約条件が課されるコンテンツである主コンテンツを再生する際に、制約条件の相手となるコンテンツである制約対象コンテンツを同時に取り込むことを強制する制約条件である。補完制約３２１は、制約対象コンテンツ３２２と制約種別の対として表現する。制約種別は時間制約種別３２３と空間制約種別３２４のいずれかまたは両方を、または時間制約種別３２３と構造制約種別３２５のいずれかまたは両方を指定する。
【００４１】
すなわち、時間制約種別３２３とその他の制約は同時に指定できるが、空間制約種別３２４と構造制約種別３２５はどちらか一方のみを指定することができる。以下、本実施の形態では、空間制約条件を指定した場合について説明するが、構造制約条件を指定した場合も、空間制約条件を指定した場合と同様の手順で制約条件を満たすようにデジタルコンテンツを再生することができる。
【００４２】
時間制約種別３２３では、（１）synchronous（主コンテンツと制約対象コンテンツを同期して再生する）、（２）after（主コンテンツを制約対象コンテンツの後に再生する）、（３）before（主コンテンツを制約対象コンテンツの前に再生する）のいずれかを指定できる。
【００４３】
また、空間制約種別３２４では、（１）above（主コンテンツを制約対象コンテンツの上方に配置する）、（２）below（主コンテンツを制約対象コンテンツの下方に配置する）、（３）rightSide（主コンテンツを制約対象コンテンツの右方に配置する）、（４）leftSide（主コンテンツを制約対象コンテンツの左方に配置する）、（５）backward（主コンテンツを制約対象コンテンツの後方に配置する）、（６）forward（主コンテンツを制約対象コンテンツの前方に配置する）、（７）anywhere（主コンテンツをいずれかに配置する）、（８）predefined stylesheet(別途、配置方法が記述されたデータに基づいて配置する)のいずれかを指定できる。
【００４４】
また、構造制約種別３２５では、（１）isContained（主コンテンツの要素として制約対象コンテンツを含む）、（２）isPartOf（主コンテンツが制約対象コンテンツの要素として含まれる）のいずれかを指定できる。
【００４５】
なお、制約種別は前述の制約種別に制限されるものではなく、さらに拡張してもよい。また、コンテンツの種別によっては特定の制約種別を定義できないように構成してもよい。例えば、制約関係にあるコンテンツが共に静止画像の場合、時間的概念とはなじみにくいため、時間制約種別を設定できないように構成してもよい。また、制約関係にあるコンテンツが共にオーディオコンテンツの場合、空間的概念とはなじみにくいため、空間制約種別を設定できないように構成してもよい。このような場合、例えば、ＭｉｍｅＴｙｐｅなどのコンテンツの性質に基づいて設定可能な制約種別を制限するように構成することができる。
【００４６】
図３−３は、図３−１における排他制約３１３の定義をＸＭＬ Ｓｃｈｅｍａの形式で表したものである。排他制約は、主コンテンツを再生する際に、制約対象コンテンツが存在することを禁止する制約条件である。排他制約３３１は、制約対象コンテンツ３３２と制約種別の対として表現する。制約種別としては排他制約種別３３３("exclusive")が指定できる。
【００４７】
図４−１から図４−３は、本実施の形態にかかるデジタルコンテンツ再生装置１００において、制約条件が指定されている複合コンテンツの構成要素を再生する場合の例を示す模式図である。図４−１から図４−３では、コンテンツＢからコンテンツＡに対して補完制約が、コンテンツＢとコンテンツＣの間に排他制約が定義されている。
【００４８】
図４−１は、上記制約条件のもとでコンテンツＡのみを再生することを指示したときに、指示通りコンテンツＡのみが再生されることを示している。図４−２は、上記制約条件のもとでコンテンツＢのみを再生することを指示したとき、補完制約に従いコンテンツＡが強制的に取り込まれコンテンツＢと同時に再生されることを示している。図４−３は、上記制約条件のもとで、かつ、コンテンツＣが既に再生されている状況において、コンテンツＢの再生を指示したとき、排他制約のためコンテンツＢの再生が拒絶されることを示している。
【００４９】
図５−１は、図４−１から図４−３で示したコンテンツＡのデータの定義をＭＰＥＧ２１のＤＩＤＬで定められたＸＭＬの形式で記述した例を表している。コンテンツＡのデータ５１１に含まれるライセンス情報記述エリア５１２に、コンテンツＡのライセンス情報１２１を記述する。
【００５０】
図５−２は、図４−１から図４−３で示したコンテンツＢのデータの定義をＭＰＥＧ２１のＤＩＤＬで定められたＸＭＬの形式で記述した例を表している。コンテンツＢのデータ５２１に含まれるライセンス情報記述エリア５２２に、コンテンツＢのライセンス情報１２１を記述する。
【００５１】
図５−３は、図４−１から図４−３で示したコンテンツＣのデータの定義をＭＰＥＧ２１のＤＩＤＬで定められたＸＭＬの形式で記述した例を表している。コンテンツＣのデータ５３１に含まれるライセンス情報記述エリア５３２に、コンテンツＣのライセンス情報１２１を記述する。
【００５２】
図６−１から図６−３は、図１におけるコンテンツのライセンス情報１２１のデータ構造をＭＰＥＧ２１のＲＥＬで定められた形式に準拠し、制約条件の記述を行うための拡張を施した形式で記述した例を示す。これら全ての許諾内容（Grant）の記述（６１１、６２１、６３１）はＭＰＥＧ２１のＲＥＬに準拠し、利用権保持者（Principal）、許諾操作（Right）、利用条件（Condition）の各要素が定められている。
【００５３】
図６−１におけるライセンス情報６１１は図５−１で示したライセンス情報記述エリア５１２の詳細な記述内容を示している。ライセンス情報６１１は特に制約記述はなく、通常の再生に関する許諾操作６１２("play")が記述されている。
【００５４】
図６−２におけるライセンス情報６２１は図５−２で示したライセンス情報記述エリア５２２の詳細な記述内容を示している。許諾操作６２２には、コンテンツ間の制約条件として２つの制約条件（６２３、６２４）が記述されており、この部分が現在のＭＰＥＧ２１のＲＥＬを拡張した部分である。制約条件６２３には補完制約として時間制約("synchronous")と空間制約("backward")の２つが記述されており、制約条件６２４には排他制約("exclusive")が記述されている。
【００５５】
図６−３におけるライセンス情報６３１は図５−３で示したライセンス情報記述エリア５３２の詳細な記述内容を示している。許諾操作６３２には、コンテンツ間の排他制約６３３("exclusive")が記述されており、この部分が現在のＭＰＥＧ２１のＲＥＬを拡張した部分である。
【００５６】
図７は、制約条件関係辞書１０９の構造の一例を示す説明図である。同図の例に示すように、制約条件関係辞書１０９は、ある操作に対する反対操作を格納している。例えば、主コンテンツを上方に配置する操作を表す"above"に対する反対操作として、主コンテンツを下方に配置する"below"が格納されている。制約条件関係辞書１０９に格納されたこのような制約条件間の関係から、２つのコンテンツ間に指定された実質的に同一の制約条件を探し出し、重複した操作を排除するために使用する。
【００５７】
図８は、操作テーブル１１１の構造の一例を示す説明図である。同図の例に示すように、操作テーブル１１１は、許諾操作（Right)と、主コンテンツのコンテンツＩＤ(ID1)と、制約対象コンテンツのコンテンツＩＤ(ID2)と、制約種別(Op-Type）と、主コンテンツが再生中か否かを示すフラグ（ExistenceCheck）が格納されている。
【００５８】
許諾操作は、コンテンツを利用する際に許諾された操作を指定するもので、ＭＰＥＧ２１のＲＥＬにおける"Right"（許諾操作）エレメントの内容が格納される。本実施の形態にかかるデジタルコンテンツ再生装置１００においては、ＭＰＥＧ２１のＲＥＬの標準で規定されている"play"、または、ＭＰＥＧ２１のＲＥＬを拡張して規定された"playWithConstraint"が許諾操作として設定される。
【００５９】
制約対象コンテンツのコンテンツＩＤおよび制約種別は、許諾操作として"playWithConstraint"（制約を有するように拡張された許諾操作）が設定されている場合にのみ設定され、それ以外の場合は"nil"が設定される。制約種別は、前述のように時間制約、空間制約、構造制約といった制約条件の種類に対応して定義された値が設定される。
【００６０】
主コンテンツが再生中か否かを示すフラグは、既に再生中のコンテンツの操作実行命令を生成しないようにする処理などのために使用するもので、再生中の場合に"true"が、再生中でない場合に"false"が設定される。
【００６１】
図９は、時間制約条件テーブル（ＴＣＴ)１１２の構造の一例を示す説明図である。ＴＣＴ１１２には、先に再生するコンテンツのＩＤを左から並べて、または、同時に再生する場合は２つのコンテンツＩＤの後に"&"を付して、コンテンツの再生に関する時間制約の条件を格納する。例えば、同図に示すように、コンテンツＢをコンテンツＡより先に再生する場合は"(B)(A)"と、コンテンツＤをコンテンツＣより先に再生する場合は"(D)(C)"と、コンテンツＥをコンテンツＦを同時に再生する場合は"(E F &)"というデータがＴＣＴ１１２に格納される。
【００６２】
図１０は、空間制約条件テーブル（ＳＣＴ)１１３の構造の一例を示す説明図である。同図の例に示すように、ＳＣＴ１１３には、２つのコンテンツ間に空間制約条件が指定されている場合には、２つのコンテンツＩＤの間に制約種別を記載したデータを格納している。空間制約条件が指定されていない場合には、コンテンツＩＤを単独で記載したデータを格納している。例えば、同図に示すように、コンテンツＡをコンテンツＢの下に配置して再生する場合は"(A below B)"と、コンテンツＢをコンテンツＣの右側に配置して再生する場合は"(B rightSide C)"というデータがＳＣＴ１１３に格納される。また、コンテンツＤについて空間制約条件が指定されていない場合は、"(D)"というデータがＳＣＴ１１３に格納される。
【００６３】
図１１は、命令文データ１１４の構造の一例を示す説明図である。命令文データ１１４には、ＴＣＴ１１２とＳＣＴ１１３をマージし実行シーケンスを生成した後、生成した実行シーケンスに従い再生する順番で再生の命令が格納されている。具体的には、生成した実行シーケンスの前に"Play"を付加した文が命令文として格納される。例えば、実行シーケンスが"(C below D below E)"である場合は、"Play(C below D below E)"が命令文として命令文データ１１４に格納される。
【００６４】
次に、このように構成された本実施の形態のデジタルコンテンツ再生装置１００によるコンテンツ再生処理について説明する。図１２は、本実施の形態におけるコンテンツ再生処理の全体の流れの概要を示すフローチャートである。
【００６５】
まず、コンテンツ記憶制御部１０１が、ユーザが再生を指定したコンテンツ１２０のコンテンツデータとコンテンツのライセンス情報１２１を読み込む（ステップＳ１２０１）。コンテンツ１２０およびライセンス情報１２１は同一ファイルに一体化していてもよいし、別のファイルとなっていてもよい。またコンテンツ１２０は、ＨＤＤなどの記憶媒体にローカルで存在しているものから読み込むように構成してもよいし、外部のサーバに存在しているものを、ネットワーク経由でダウンロードして読み込むように構成してもよい。
【００６６】
次に、コンテンツ指定受付部１０２が読み込んだコンテンツの構成要素であるコンテンツの中から、ユーザが再生を希望するコンテンツの選択を受付ける（ステップＳ１２０２）。コンテンツ指定受付部１０２は、受付けたコンテンツのコンテンツＩＤをライセンス処理部１０３に渡す（ステップＳ１２０３）。
【００６７】
ライセンス処理部１０３では、受取ったコンテンツＩＤに対応するコンテンツのライセンス情報１２１を解析し、再生の利用条件の判定や制約条件の解決などのライセンスに関する処理を行い、操作テーブル１１１を作成する（ステップＳ１２０４）。ライセンス処理の詳細については後述する。
【００６８】
次に、ライセンス処理部１０３は、作成した操作テーブル１１１が空か否かを判断する（ステップＳ１２０５）。操作テーブル１１１が空である場合は（ステップＳ１２０５：ＹＥＳ）、ユーザＩ／Ｆ１０８がコンテンツ再生不可のメッセージを表示する（ステップＳ１２０６）。操作テーブル１１１が空でない場合は（ステップＳ１２０５：ＮＯ）、操作実行命令生成部１０６が、操作テーブル１１１に格納された制約条件を満たす操作実行命令を生成する操作実行命令生成処理を実行する（ステップＳ１２０７）。操作実行命令生成処理の詳細については後述する。
【００６９】
操作実行命令が生成された後、操作実行命令生成部１０６は、命令文データ１１４が空か否かを判断する（ステップＳ１２０８）。命令文データ１１４が空である場合は（ステップＳ１２０８：ＹＥＳ）、ユーザＩ／Ｆ１０８がコンテンツ再生不可のメッセージを表示する（ステップＳ１２０６）。命令文データ１１４が空でない場合は（ステップＳ１２０８：ＮＯ）、コンテンツ再生部１０５が、生成された操作実行命令に基づきコンテンツの再生を行うコンテンツ再生処理を実行する（ステップＳ１２０９)。コンテンツ再生処理の詳細については後述する。
【００７０】
コンテンツが再生された後は、ユーザＩ／Ｆ１０８が、ユーザが再生終了を選択したか否かを判断する（ステップＳ１２１０)。再生終了が選択されない場合は（ステップＳ１２１０：ＮＯ）、コンテンツ選択の受付け待ち状態となる。再生終了が選択された場合は（ステップＳ１２１０：ＹＥＳ）、コンテンツ再生処理が終了する。
【００７１】
次に、図１２におけるステップＳ１２０４に示したライセンス処理の詳細について説明する。図１３は、ライセンス処理の全体の流れを示すフローチャートである。なお、ライセンス処理はライセンス処理部１０３、利用条件判定部１０４が連携して再帰的に実行される（ステップＳ１３１５）。
【００７２】
まず、ライセンス処理部１０３は、コンテンツ指定受付部１０２からコンテンツＩＤを受取る（ステップＳ１３０１）。次に、受取ったコンテンツＩＤに対応するコンテンツの構成要素である全てのコンテンツに対して、ステップＳ１３０２からステップＳ１３１０までの処理が実行される。
【００７３】
まず、ライセンス処理部１０３は構成要素であるコンテンツのライセンス情報１２１を読み込み（ステップＳ１３０２）、再生許諾情報が存在するか否かを判断する（ステップＳ１３０３）。再生許諾情報が存在しない場合は（ステップＳ１３０３：ＮＯ）、全てのコンテンツが処理されたか否かの判断処理に移る。再生許諾情報が存在する場合は（ステップＳ１３０３：ＹＥＳ）、再生許諾情報に含まれる利用条件を取得し、取得した利用条件を利用条件判定部１０４に渡す（ステップ１３０４）。
【００７４】
利用条件判定部１０４は、受取った利用条件から、コンテンツが利用条件を満たすか否かを判定しその結果をライセンス処理部１０３に返す（ステップＳ１３０５）。利用条件には、有効期間、課金の方法、価格、有効地域などの条件が記述されている。利用条件の判定は、デジタルコンテンツ再生装置１００内の環境情報を用いて内部で実行してもよいし、ネットワークを通じ外部のＡＳＰ等を利用して実行してもよい。さらに、利用条件を提示してユーザの同意を促すなどの対話的な処理を含んでもよい。
【００７５】
次に、ライセンス処理部１０３は、利用条件判定部１０４から返された判定結果から、コンテンツが利用条件を満たすか否かを判断する（ステップＳ１３０６）。利用条件を満たさない場合は（ステップＳ１３０６：ＮＯ）、全てのコンテンツが処理されたか否かの判断処理に移る。利用条件を満たす場合は（ステップＳ１３０６：ＹＥＳ）、制約条件が存在するか否かの判断処理に移る（ステップＳ１３０７）。
【００７６】
制約条件が存在しない場合は（ステップＳ１３０７：ＮＯ）、ライセンス処理部１０３は制約条件なしのデータを操作テーブル１１１に追加する（ステップＳ１３０８）。具体的には、許諾操作(Right)には制約条件なしの許諾操作("play")、主コンテンツのコンテンツＩＤ(ID1)には現在処理しているコンテンツのコンテンツＩＤ、制約対象コンテンツのコンテンツＩＤ(ID2)および制約種別(Op-Type)にはNil、ExistenceCheckにはfalseを設定したデータを操作テーブル１１１に追加する。
【００７７】
制約条件が存在する場合は（ステップＳ１３０７：ＹＥＳ）、ライセンス処理部１０３は制約条件を含むデータを操作テーブル１１１に追加する（ステップＳ１３０９）。具体的には、許諾操作(Right)には制約条件を有するように拡張された許諾操作("playWithConstraint")、主コンテンツのコンテンツＩＤ(ID1)には現在処理しているコンテンツのコンテンツＩＤ、制約対象コンテンツのコンテンツＩＤ(ID2)には制約条件の相手となるコンテンツのコンテンツＩＤ、制約種別(Op-Type)にはコンテンツのライセンス情報１２１から取得した制約種別、ExistenceCheckにはfalseを設定したデータを操作テーブル１１１に追加する。
【００７８】
操作テーブル１１１にデータを追加した後、ライセンス処理部１０３は、全てのコンテンツが処理されたか否かを判断し（ステップＳ１３１０）、全てのコンテンツが処理された場合は（ステップＳ１３１０：ＹＥＳ）、次の処理に遷移する。全てのコンテンツが処理されていない場合は（ステップＳ１３１０：ＮＯ）、残りの構成要素であるコンテンツを読み込む処理に遷移する（ステップＳ１３０２）。
【００７９】
次に、ライセンス処理部１０３は、補完関係にある制約対象コンテンツのライセンス情報１２１から、さらに制約関係を検出し、同時に取り込む必要のあるコンテンツを抽出するために、ステップＳ１３１１からステップＳ１３１６までの処理を実行する。
【００８０】
まず、ライセンス処理部１０３は、操作テーブル１１１から操作データを取得し（ステップＳ１３１１）、取得した操作データが排他制約条件を含むか否かを判断する（ステップＳ１３１２）。排他制約条件を含む場合は（ステップＳ１３１２：ＹＥＳ）、同時に取り込む必要のあるコンテンツを抽出する必要がないため、次の処理に遷移する。
【００８１】
排他制約条件を含まない場合は（ステップＳ１３１２：ＮＯ）、相互に補完関係にあるコンテンツの操作データが操作テーブル１１１に存在するか否かを判断する（ステップＳ１３１３）。例えば、現在処理している操作データのID1と同じID2、ID2と同じID1を持つ操作データが存在するか否かを判断し、該当する操作データが存在する場合は（ステップＳ１３１３：ＹＥＳ）、次の処理に遷移する。これは制約関係抽出の無限ループを回避するためである。該当する操作データが存在しない場合は（ステップＳ１３１３：ＮＯ）、さらに制約関係を検出するため、補完関係にある制約対象コンテンツのコンテンツＩＤをライセンス処理部１０３に渡し（ステップＳ１３１４）、ライセンス処理を再帰的に実行する（ステップＳ１３１５）。
【００８２】
次に、ライセンス処理部１０３は、全ての操作データが処理されたか否かを判断し（ステップＳ１３１６）、全ての操作データが処理された場合は（ステップＳ１３１６：ＹＥＳ）、操作テーブル１１１を操作実行命令生成部１０６に渡し（ステップＳ１３１７）、ライセンス処理を終了する。全ての操作データが処理されていない場合は（ステップＳ１３１６：ＮＯ）、次の操作データを取得し、処理を繰り返す（ステップＳ１３１１）。
【００８３】
図１４は、図１２におけるステップＳ１２０７に示した操作実行命令生成処理の全体の流れの概要を示すフローチャートである。
【００８４】
まず、操作実行命令生成部１０６は、ライセンス処理部１０３が作成した操作テーブル１１１を受取る（ステップＳ１４０１）。次に、操作実行命令生成部１０６は、受取った操作テーブル１１１と再生履歴データ１１５の内容を参照して、コンテンツが再生中か否かをチェックする（ステップＳ１４０２）。すなわち、操作テーブル１１１内の操作データの主コンテンツのコンテンツＩＤ(ID1)で、再生履歴データ１１５に格納されているコンテンツＩＤと等しいものが存在する場合は、当該操作データのExistenceCheckをtrueに設定する。
【００８５】
また、再生履歴データ１１５には存在するが操作データには存在しないコンテンツＩＤが存在する場合は、そのコンテンツＩＤに対応するコンテンツの操作データを新たに操作テーブル１１１に追加する。この場合、ExistenceCheckはtrueに設定する。このデータは、排他関係にある制約対象コンテンツが再生中の場合に、主コンテンツを再生不可とする処理において参照される。
【００８６】
この後、操作実行命令生成部１０６は、排他制約条件チェック（ステップＳ１４０３）、時間制約条件テーブル(TCT)生成（ステップＳ１４０４）、空間制約条件テーブル(SCT)生成（ステップＳ１４０５）、条件テーブルマージ処理（ステップＳ１４０６）、実行シーケンス生成処理（ステップＳ１４０７）、命令文生成処理（ステップＳ１４０８）を順次実行する。これらの各処理の詳細については以下に説明する。
【００８７】
図１５は、図１４におけるステップＳ１４０３に示した排他制約条件チェック処理の全体の流れを示すフローチャートである。
【００８８】
まず、操作実行命令生成部１０６は、操作テーブル１１１から操作データを読み出し（ステップＳ１５０１）、読み出した操作データが排他制約であった場合に、排他関係にある制約対象コンテンツが再生中か否かについて判断する（ステップＳ１５０２）。再生中の場合は（ステップＳ１５０２：ＹＥＳ）、操作テーブル１１１を空にする（ステップＳ１５０３）。これは、排他関係にある制約対象コンテンツが既に再生中であるため、再生が指示された主コンテンツの再生を禁止するためである。
【００８９】
再生中でない場合は（ステップＳ１５０２：ＮＯ）、排他関係と補完関係が同時に指定された制約対象コンテンツが存在するか否かを判断する（ステップＳ１５０４）。存在する場合は（ステップＳ１５０４：ＹＥＳ）、操作テーブル１１１を空にする（ステップＳ１５０５）。これは、排他関係と補完関係に同じ制約対象コンテンツが指定されていることになり矛盾するため、当該主コンテンツの再生を禁止するためである。
【００９０】
次に、操作実行命令生成部１０６は、排他関係にあり再生中でない制約対象コンテンツのコンテンツＩＤを主コンテンツのコンテンツＩＤ(ID1)とする、排他制約を定めた操作データが存在するか否かを判断する（ステップＳ１５０６）。存在する場合は（ステップＳ１５０６：ＹＥＳ）、操作テーブル１１１から当該操作データを削除する（ステップＳ１５０７）。これは、当該再生中でない制約対象コンテンツは主コンテンツに対し排他関係にあり、再生する必要がないためである。
【００９１】
次に、操作実行命令生成部１０６は、排他制約と補完制約を同時に指定したコンテンツが存在するか否かを判断する（ステップＳ１５０８）。存在する場合は（ステップＳ１５０８：ＹＥＳ）、排他制約を指定した操作データを削除する（ステップＳ１５１０）。これは、補完制約の操作データが存在すれば、後述する操作実行命令生成処理において、当該主コンテンツ再生のための操作実行命令を生成することができるため、排他関係のチェックが完了した排他制約の操作データを残しておく必要がないからである。
【００９２】
排他制約と補完制約を同時に指定したコンテンツが存在しない場合は（ステップＳ１５０８：ＮＯ）、排他制約を指定した操作データを、制約条件なしの操作データに書き換える（ステップＳ１５０９）。具体的には、許諾操作(Right)には制約条件なしの許諾操作("play")、主コンテンツのコンテンツＩＤ(ID1)には当該コンテンツのコンテンツＩＤ、制約対象コンテンツのコンテンツＩＤ(ID2)および制約種別(Op-Type)にはNil、ExistenceCheckにはfalseを設定したデータに書き換える。これは、排他関係のチェックの結果、当該コンテンツは制約条件なしのコンテンツと同様に再生することができると判断されたためである。
【００９３】
次に、操作実行命令生成部１０６は、全ての操作データが処理されたか否かを判断し（ステップＳ１５１１）、全ての操作データが処理されていない場合は（ステップＳ１５１１：ＮＯ）、次の操作データを取得し、処理を繰り返す（ステップＳ１５０１）。全ての操作データが処理された場合は（ステップＳ１５１１：ＹＥＳ）、排他制約条件チェック処理を終了する。
【００９４】
図１６は、図１４におけるステップＳ１４０４に示した時間制約条件テーブル(TCT)生成処理の全体の流れを示すフローチャートである。
【００９５】
まず、操作実行命令生成部１０６は、操作テーブル１１１から操作データを読み出し（ステップＳ１６０１）、読み出した操作データの制約種別が"synchronous"であるか否かを判断する（ステップＳ１６０２）。
【００９６】
読み出した操作データの制約種別が"synchronous"である場合（ステップＳ１６０２：ＹＥＳ）、操作実行命令生成部１０６は、主コンテンツと制約対象コンテンツを同時に再生する条件を記載したリストをＴＣＴ１１２に追加する（ステップＳ１６０３）。具体的には、例えば、読み出した操作データがコンテンツＡとコンテンツＢを同時に再生する制約条件を指定している場合は、リスト"(A B &)"をＴＣＴ１１２に追加する。読み出した操作データの制約種別が"synchronous"でない場合（ステップＳ１６０２：ＮＯ）、読み出した操作データの制約種別が"after"であるか否かを判断する（ステップＳ１６０４）。
【００９７】
読み出した操作データの制約種別が"after"である場合（ステップＳ１６０４：ＹＥＳ）、操作実行命令生成部１０６は、制約対象コンテンツを先に再生する条件を記載したリストをＴＣＴ１１２に追加する（ステップＳ１６０５）。具体的には、例えば、読み出した操作データが主コンテンツであるコンテンツＡより制約対象コンテンツであるコンテンツＢを先に再生する制約条件を指定している場合は、リスト"(B)(A)"をＴＣＴ１１２に追加する。このように、先に再生するコンテンツを左側に、後に再生するコンテンツを右側に記載した２つのリストをＴＣＴ１１２に追加する。読み出した操作データの制約種別が"after"でない場合（ステップＳ１６０４：ＮＯ）、読み出した操作データの制約種別が"before"であるか否かを判断する（ステップＳ１６０６）。
【００９８】
読み出した操作データの制約種別が"before"である場合（ステップＳ１６０６：ＹＥＳ）、操作実行命令生成部１０６は、制約対象コンテンツを後に再生する条件を記載したリストをＴＣＴ１１２に追加する（ステップＳ１６０７）。具体的には、例えば、読み出した操作データが主コンテンツであるコンテンツＡを制約対象コンテンツであるコンテンツＢより先に再生する制約条件を指定している場合は、リスト"(A)(B)"をＴＣＴ１１２に追加する。読み出した操作データの制約種別が"before"でない場合（ステップＳ１６０６：ＮＯ）、全ての操作データが処理されたか否かの判断処理に移る。
【００９９】
次に、操作実行命令生成部１０６は、全ての操作データが処理されたか否かを判断し（ステップＳ１６０８）、全ての操作データが処理されていない場合は（ステップＳ１６０８：ＮＯ）、次の操作データを取得し、処理を繰り返す（ステップＳ１６０１）。全ての操作データが処理された場合は（ステップＳ１６０８：ＹＥＳ）、ＴＣＴ１１２内で重複するレコードを削除する処理を行い（ステップＳ１６０９）、時間制約条件テーブル(TCT)生成処理を終了する。
【０１００】
図１７は、図１４におけるステップＳ１４０５に示した空間制約条件テーブル(SCT)生成処理の全体の流れを示すフローチャートである。
【０１０１】
まず、操作実行命令生成部１０６は、操作テーブル１１１から操作データを読み出し（ステップＳ１７０１）、読み出した操作データが空間制約条件を含むか否かを判断する（ステップＳ１７０２）。
【０１０２】
読み出した操作データが空間制約条件を含む場合（ステップＳ１７０２：ＹＥＳ）、操作実行命令生成部１０６は、空間制約を定めたレコードをＳＣＴ１１３に追加する（ステップＳ１７０３）。具体的には、例えば、読み出した操作データが主コンテンツであるコンテンツＡが制約対象コンテンツであるコンテンツＢと制約種別Ｏｐを満たすように再生する制約条件を指定している場合は、リスト"(A Op B)"をＳＣＴ１１３に追加する。ここで"Op"には、前述のように（１）above、（２）below、（３）rightSide、（４）leftSide、（５）backward、（６）forward、（７）anywhereなどの制約種別を設定する。
【０１０３】
読み出した操作データが空間制約条件を含まない場合（ステップＳ１７０２：ＮＯ）、読み出した操作データが制約条件なしか否かを判断する（ステップＳ１７０４）。
【０１０４】
読み出した操作データが制約条件なしの場合（ステップＳ１７０４：ＹＥＳ）、操作実行命令生成部１０６は、制約条件なしのレコードをＳＣＴ１１３に追加する（ステップＳ１７０５）。具体的には、例えば、読み出した操作データがコンテンツＡを制約条件なしで単独で再生する操作データであった場合は、リスト"(A)"をＳＣＴ１１３に追加する。
【０１０５】
次に、操作実行命令生成部１０６は、全ての操作データが処理されたか否かを判断し（ステップＳ１７０６）、全ての操作データが処理されていない場合は（ステップＳ１７０６：ＮＯ）、次の操作データを取得し、処理を繰り返す（ステップＳ１７０１）。全ての操作データが処理された場合は（ステップＳ１７０６：ＹＥＳ）、次の処理に遷移する。
【０１０６】
ステップＳ１７０７からステップＳ１７１０において、操作実行命令生成部１０６は、作成したＳＣＴ１１３の各レコードの中から実質的に同一の条件を示すレコードを抽出し削除する処理を行う。
【０１０７】
まず、ＳＣＴ１１３からレコードを読み出し（ステップＳ１７０７）、読み出したレコードの操作と反対の操作に相当するレコードが存在するか否かを判断する（ステップＳ１７０８）。具体的には、例えば、読み出したレコードが"(A above B)"であった場合、制約条件関係辞書１０９から操作"above"の反対操作"below"を取得し、取得した反対操作に対しコンテンツＩＤを入れ替えて生成したレコード"(B below A)"が、ＳＣＴ１１３に存在するか否かを判断する。
【０１０８】
反対の操作に相当するレコードが存在する場合は（ステップＳ１７０８：ＹＥＳ）、ＳＣＴ１１３から該当するレコードを削除する（ステップＳ１７０９）。反対の操作に相当するレコードが存在しない場合は（ステップＳ１７０８：ＮＯ）、全てのレコードが処理されたか否かを判断する（ステップＳ１７１０）。全てのレコードが処理されていない場合は（ステップＳ１７１０：ＮＯ）、次のレコードを読み出し、処理を繰り返す（ステップＳ１７０７）。全てのレコードが処理された場合は（ステップＳ１７１０：ＹＥＳ）、空間制約条件テーブル(SCT)生成処理を終了する。
【０１０９】
図１８は、図１４におけるステップＳ１４０６に示した条件テーブルマージ処理の全体の流れの概要を示すフローチャートである。
【０１１０】
まず、操作実行命令生成部１０６は、ＳＣＴ１１３のリストとＴＣＴ１１２のリストで先頭要素が同じリストをマージする（ステップＳ１８０１）。
【０１１１】
ここで、先頭要素とは、リストの左に記載されているコンテンツＩＤをいい、コンテンツＩＤが１つしか指定されていない場合はそのコンテンツＩＤをいう。例えば、リスト"(A below B)"では"A"が先頭要素であり、リスト"(C)"では"C"が先頭要素である。
【０１１２】
次に、あるコンテンツの再生後に再生する必要のあるコンテンツの空間制約条件を含むリストを、先に再生するコンテンツのリストの後ろに移動する（ステップＳ１８０２）。さらに、あるコンテンツの再生前に再生する必要のあるコンテンツの空間制約条件を含むリストを、後に再生するコンテンツのリストの前に移動する（ステップＳ１８０３）。その後、ＳＣＴ１１３の残りのレコードをすべてＴＣＴ１１２の新規レコードとして追加する（ステップＳ１８０４）。最後に、あるコンテンツの再生前に再生する必要のあるコンテンツの再生条件を記載したリストを、後に再生するコンテンツのリストの前に挿入する処理を行う（ステップＳ１８０５）。ステップＳ１８０１〜ステップＳ１８０３、ステップＳ１８０５の処理の詳細については後述する。
【０１１３】
図１９−１、図１９−２は、図１４におけるステップＳ１４０６に示した条件テーブルマージ処理の全体の流れを示すフローチャートである。また、図１９−１、図１９−２は、図１８で概要を説明したステップＳ１８０１〜ステップＳ１８０３、ステップＳ１８０５の処理の詳細を示すものである。
【０１１４】
ステップＳ１９０１からステップＳ１９０５は、図１８におけるステップＳ１８０１の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＳＣＴ１１３からレコードを読み出す（ステップＳ１９０１）。ＳＣＴ１１３には１リストが１レコードとして格納されるので、１つのレコードを読み出すとは、１つのリストを読み出すことを意味する。次に、読み出したリストの先頭要素と同じ値を先頭要素として持つＴＣＴ１１２内の全てのリストを検索し（ステップＳ１９０２）、該当するリストが存在するか否かを判断する（ステップＳ１９０３）。
【０１１５】
該当するリストが存在しない場合は（ステップＳ１９０３：ＮＯ）、全てのレコードが処理されたか否かの判断処理に移る。該当するリストが存在する場合は（ステップＳ１９０３：ＹＥＳ）、該当するすべてのリストを読み出したリストで置換し、当該読み出したリストはＳＣＴ１１３から削除する（ステップＳ１９０４）。
【０１１６】
例えば、ＳＣＴ１１３にリスト"(A below B)"が、ＴＣＴ１１２にリスト"(B)(A)"が格納されていた場合、ＴＣＴ１１２のリスト"(B)(A)"はリスト"(B)(A below B)"に置換され、ＳＣＴ１１３からリスト"(A below B)"が削除される。
【０１１７】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ１９０５）、全てのレコードが処理されていない場合は（ステップＳ１９０５：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ１９０１）。全てのレコードが処理された場合は（ステップＳ１９０５：ＹＥＳ）、次の処理に遷移する。
【０１１８】
ステップＳ１９０６からステップＳ１９１０は、図１８におけるステップＳ１８０２の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＳＣＴ１１３からレコード（リスト）を読み出す（ステップＳ１９０６）。次に、読み出したリストの第３要素と同じ値を先頭要素として持つＴＣＴ１１２内の全てのリストを検索し（ステップＳ１９０７）、該当するリストが存在するか否かを判断する（ステップＳ１９０８）。
【０１１９】
ここで、第３要素とは、空間制約条件における制約対象コンテンツのコンテンツＩＤをいう。すなわち、"(X Op Y)"（"X"、"Y"はコンテンツＩＤ、"Op"は制約種別を指す）の形式で記載されたリストにおけるコンテンツＩＤ"Y"をいう。
【０１２０】
該当するリストが存在しない場合は（ステップＳ１９０８：ＮＯ）、全てのレコードが処理されたか否かの判断処理に移る。該当するリストが存在する場合は（ステップＳ１９０８：ＹＥＳ）、該当するすべてのリストの後ろに読み出したリストを追加し、当該読み出したリストはＳＣＴ１１３から削除する（ステップＳ１９０９）。
【０１２１】
例えば、ＳＣＴ１１３にリスト"(A below B)"が、ＴＣＴ１１２にリスト"(B)"が格納されていた場合、ＴＣＴ１１２のリスト"(B)"の後ろにリスト"(A below B)"が追加されリスト"(B)(A below B)"となり、ＳＣＴ１１３からリスト"(A below B)"が削除される。
【０１２２】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ１９１０）、全てのレコードが処理されていない場合は（ステップＳ１９１０：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ１９０６）。全てのレコードが処理された場合は（ステップＳ１９１０：ＹＥＳ）、次の処理に遷移する。
【０１２３】
ステップＳ１９１１からステップＳ１９１５は、図１８におけるステップＳ１８０３の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＳＣＴ１１３からレコード（リスト）を読み出す（ステップＳ１９１１）。次に、読み出したリストの先頭要素と同じ値を第３要素として持つＴＣＴ１１２内の全てのリストを検索し（ステップＳ１９１２）、該当するリストが存在するか否かを判断する（ステップＳ１９１３）。
【０１２４】
該当するリストが存在しない場合は（ステップＳ１９１３：ＮＯ）、全てのレコードが処理されたか否かの判断処理に移る。該当するリストが存在する場合は（ステップＳ１９１３：ＹＥＳ）、該当するすべてのリストの前に読み出したリストを追加し、当該読み出したリストはＳＣＴ１１３から削除する（ステップＳ１９１４）。
【０１２５】
例えば、ＳＣＴ１１３にリスト"(A below B)"が、ＴＣＴ１１２にリスト"(C below A)"が格納されていた場合、ＴＣＴ１１２のリスト"(C below A)"の前にリスト"(A below B)"が追加されリスト"(A below B)(C below A)"となり、ＳＣＴ１１３からリスト"(A below B)"が削除される。
【０１２６】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ１９１５）、全てのレコードが処理されていない場合は（ステップＳ１９１５：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ１９１１）。全てのレコードが処理された場合は（ステップＳ１９１５：ＹＥＳ）、次の処理に遷移する。
【０１２７】
次のステップＳ１９１６は、図１８におけるステップＳ１８０４と同じであり、ＳＣＴ１１３の残りのレコードをすべてＴＣＴ１１２の新規レコードとして追加する処理を実行する。これは、制約条件のない単独で再生するコンテンツや空間制約条件テーブル（ＳＣＴ）１１３にのみ存在するコンテンツを指定したリストは、上述の処理でＴＣＴ１１２にマージされないため、ＴＣＴ１１２に新規に追加することで、ＴＣＴ１１２に基づいて処理される実行シーケンス生成処理に備えるためである。実行シーケンス生成処理の詳細については後述する。
【０１２８】
ステップＳ１９１７からステップＳ１９２３は、図１８におけるステップＳ１８０５の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＴＣＴ１１２からレコードを読み出す（ステップＳ１９１７）。次に、読み出したレコードから要素リストを取得する（ステップＳ１９１８）。
【０１２９】
ここで、要素リストとは、個々の制約条件などを記載し括弧で囲んだ単位をいう。例えば、レコードが"(C)(B below C)(A below B)"である場合、"(C)"、"(B below C)"、"(A below B)"がそれぞれ要素リストとなる。
【０１３０】
さらに、取得した要素リストの第３要素と同じ値を先頭要素として持つ別の要素リストを検索し（ステップＳ１９１９）、該当するリストが存在するか否かを判断する（ステップＳ１９２０）。
【０１３１】
該当するリストが存在しない場合は（ステップＳ１９２０：ＮＯ）、全てのレコードが処理されたか否かの判断処理に移る。該当するリストが存在する場合は（ステップＳ１９２０：ＹＥＳ）、該当するリストの先頭要素を、取得した要素リストの直前に挿入する（ステップＳ１９２１）。
【０１３２】
例えば、ＴＣＴ１１２にリスト"(B below A)(A below C)"が格納されていた場合、リスト"(B below A)(A below C)"の前にリスト"(A below C)"の先頭要素"(A)"が挿入され、リスト"(A)(B below A)(A below C)"となる。
【０１３３】
次に、操作実行命令生成部１０６は、全てのリストが処理されたか否かを判断し（ステップＳ１９２２）、全てのリストが処理されていない場合は（ステップＳ１９２２：ＮＯ）、レコード内の次のリストを取得し、処理を繰り返す（ステップＳ１９１８）。全てのリストが処理された場合は（ステップＳ１９２２：ＹＥＳ）、次の処理に遷移する。
【０１３４】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ１９２３）、全てのレコードが処理されていない場合は（ステップＳ１９２３：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ１９１７）。全てのレコードが処理された場合は（ステップＳ１９２３：ＹＥＳ）、条件テーブルマージ処理を終了する。
【０１３５】
図２０は、図１４におけるステップＳ１４０７に示した実行シーケンス生成処理の全体の流れの概要を示すフローチャートである。
【０１３６】
まず、操作実行命令生成部１０６は、ＴＣＴ１１２のレコードで、最終リストと先頭リストが同じレコード同士を連結する（ステップＳ２００１）。
【０１３７】
ここで、最終リストとは、レコードの右端に存在する要素リストをいい、先頭リストとは、レコードの左端に存在する要素リストをいう。例えば、レコードが"(C)(B below C)(A below B)"である場合、リスト"(C)"が先頭リストであり、リスト"(A below B)"が最終リストである。
【０１３８】
次に、先頭リストが同じレコード同士を連結する（ステップＳ２００２）。最後に、再生順序が逆で反対操作の存在するリストの入れ替え処理を実行する（ステップＳ２００３）。ステップＳ２００１〜ステップＳ２００３の処理の詳細については後述する。
【０１３９】
図２１は、図１４におけるステップＳ１４０７に示した実行シーケンス生成処理の全体の流れを示すフローチャートである。また、図２０で概要を説明したステップＳ２００１〜ステップＳ２００３の処理の詳細を示すものである。
【０１４０】
ステップＳ２１０１からステップＳ２１０５は、図２０におけるステップＳ２００１の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＴＣＴ１１２からレコードを読み出す（ステップＳ２１０１）。次に、読み出したレコードの先頭リストと同じリストを最終リストとして持つＴＣＴ１１２内の全てのレコードを検索し（ステップＳ２１０２）、該当するレコードが存在するか否かを判断する（ステップＳ２１０３）。
【０１４１】
該当するレコードが存在しない場合は（ステップＳ２１０３：ＮＯ）、全てのレコードが処理されたか否かの判断処理に移る。該当するリストが存在する場合は（ステップＳ２１０３：ＹＥＳ）、該当する全てのレコードの最終リストを、読み出したレコードで置換し、読み出したレコードをＴＣＴ１１２から削除する（ステップＳ２１０４）。
【０１４２】
例えば、ＴＣＴ１１２にレコード"(C)(B below C)(A below B)"およびレコード"(D)(C)"が格納されていた場合、レコード"(D)(C)"の最終リスト"(C)"がレコード"(C)(B below C)(A below B)"に置換され、レコード"(C)(B below C)(A below B)"が削除された結果、レコード"(D)(C)(B below C)(A below B)"のみが残る。
【０１４３】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ２１０５）、全てのレコードが処理されていない場合は（ステップＳ２１０５：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ２１０１）。全てのレコードが処理された場合は（ステップＳ２１０５：ＹＥＳ）、次の処理に遷移する。
【０１４４】
ステップＳ２１０６からステップＳ２１１０は、図２０におけるステップＳ２００２の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＴＣＴ１１２からレコードを読み出す（ステップＳ２１０６）。次に、読み出したレコードの先頭リストと同じリストを先頭リストとして持つＴＣＴ１１２内の全てのレコードを検索し（ステップＳ２１０７）、該当するレコードが存在するか否かを判断する（ステップＳ２１０８）。
【０１４５】
該当するレコードが存在しない場合は（ステップＳ２１０８：ＮＯ）、全てのレコードが処理されたか否かの判断処理に移る。該当するリストが存在する場合は（ステップＳ２１０８：ＹＥＳ）、該当する全てのレコードの先頭リストを、読み出したレコードで置換し、読み出したレコードをＴＣＴ１１２から削除する（ステップＳ２１０９）。
【０１４６】
例えば、ＴＣＴ１１２にレコード"(B below C)(A below B)"およびレコード"(B below C)(C)"が格納されていた場合、レコード"(B below C)(C)"の先頭リスト"(B below C)"がレコード"(B below C)(A below B)"に置換され、レコード"(B below C)(A below B)"が削除された結果、レコード"(B below C)(A below B)(C)"のみが残る。
【０１４７】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ２１１０）、全てのレコードが処理されていない場合は（ステップＳ２１１０：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ２１０６）。全てのレコードが処理された場合は（ステップＳ２１１０：ＹＥＳ）、次の処理に遷移する。
【０１４８】
ステップＳ２１１１からステップＳ２１１３は、図２０におけるステップＳ２００３の詳細な処理を表したものである。まず、操作実行命令生成部１０６は、ＴＣＴ１１２からレコードを読み出す（ステップＳ２１１１）。次に、読み出したレコードの中で再生順序が逆で、かつ、反対操作の存在するリストを探し、該当するリストが存在すれば操作の入れ替え処理を実行する。
【０１４９】
すなわち、"(X aa Y **)##(Y)"または"(X aa Y **)##(Y bb X **)"のパターンとなっているリストを探す。そして、"aa"の反対操作"cc"を制約条件関係辞書１０９から取得し、"(X aa Y)"を"X"に、"Y"を"(Y cc X)"に置換する処理を実行する。ここで"X"、"Y"はコンテンツＩＤを、"aa"、"bb"、"cc"は制約種別を、"**"は文字列を、"##"は要素リストを表す。
【０１５０】
これは、例えば、"(X below Y)(Y)"というパターンの場合、"Y"が再生された後に"below"という空間制約条件に従って"Y"の下に"X"を再生しなければならないのに、"Y"の再生が後に指定されているため、再生順序の入れ替えと共に操作の反対操作への変換を行う必要があるからである。
【０１５１】
例えば、ＴＣＴ１１２にレコード"(B below C)(A below B)(C)"が格納されていた場合、リスト"(B below C)"が"(B)"に、リスト"(C)"がリスト"(C above B)"に置換され、レコード全体としては"(B)(A below B)(C above B)"に変換される。
【０１５２】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ２１１３）、全てのレコードが処理されていない場合は（ステップＳ２１１３：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ２１１１）。全てのレコードが処理された場合は（ステップＳ２１１３：ＹＥＳ）、実行シーケンス生成処理を終了する。
【０１５３】
図２２は、図１４におけるステップＳ１４０８に示した命令文生成処理の全体の流れを示すフローチャートである。
【０１５４】
まず、操作実行命令生成部１０６は、ＴＣＴ１１２からレコードを読み出す（ステップＳ２２０１）。さらに、読み出したレコードから要素リストを取得する（ステップＳ２２０２）。次に、取得した要素リストを命令文に変換し、変換した命令文を命令文データ１１４に設定する（ステップＳ２２０３）。具体的には、取得した要素リストの前に"Play"を付加した文を命令文として設定する。例えば、要素リストが"(X aa Y bb Z)"である場合は、"Play(X aa Y bb Z)"を命令文として命令文データ１１４に設定する。
【０１５５】
次に、操作実行命令生成部１０６は、全ての要素リストが処理されたか否かを判断し（ステップＳ２２０４）、全ての要素リストが処理されていない場合は（ステップＳ２２０４：ＮＯ）、次の要素リストを取得し、処理を繰り返す（ステップＳ２２０２）。全ての要素リストが処理された場合は（ステップＳ２２０４：ＹＥＳ）、全てのレコードが処理されたか否かの判断処理に遷移する。
【０１５６】
次に、操作実行命令生成部１０６は、全てのレコードが処理されたか否かを判断し（ステップＳ２２０５）、全てのレコードが処理されていない場合は（ステップＳ２２０５：ＮＯ）、次のレコードを取得し、処理を繰り返す（ステップＳ２２０１）。全てのレコードが処理された場合は（ステップＳ２２０５：ＹＥＳ）、命令文生成処理を終了する。
【０１５７】
図２３は、図１２におけるステップＳ１２０９に示したコンテンツ再生処理の全体の流れを示すフローチャートである。
【０１５８】
まず、コンテンツ再生部１０５は、操作実行命令生成部１０６が作成した命令文データ１１４を受取る（ステップＳ２３０１）。次に、コンテンツ再生部１０５は、受取った命令文データ１１４から命令文を読み出し（ステップＳ２３０２）、命令文が空間制約であるか否かを判断する（ステップＳ２３０３）。
【０１５９】
命令文が空間制約である場合（ステップＳ２３０３：ＹＥＳ）、コンテンツ再生部１０５は、当該空間制約条件に応じてコンテンツを再生する（ステップＳ２３０４）。具体的には、例えば、命令文が"Play(A above B)"であれば、コンテンツＡをコンテンツＢの上に配置するように再生する。命令文が空間制約でない場合（ステップＳ２３０３：ＮＯ）、命令文が制約条件なしであるか否かを判断する（ステップＳ２３０５）。
【０１６０】
命令文が制約条件なしである場合（ステップＳ２３０５：ＹＥＳ）、コンテンツ再生部１０５は、単独で当該コンテンツを再生する（ステップＳ２３０６）。具体的には、例えば、命令文が"Play(A)"であれば、コンテンツＡを単独で再生する。命令文が制約条件なしではない場合（ステップＳ２３０５：ＮＯ）、命令文が同時再生の制約条件である否かを判断する（ステップＳ２３０７）。
【０１６１】
命令文が同時再生の制約条件である場合（ステップＳ２３０７：ＹＥＳ）、コンテンツ再生部１０５は、２つのコンテンツを同期させて再生する（ステップＳ２３０８）。具体的には、例えば、命令文が"Play(A B &)"であれば、コンテンツＡとコンテンツＢを同時に再生する。命令文が同時再生の制約条件ではない場合（ステップＳ２３０７：ＮＯ）、次の処理に遷移する。
【０１６２】
次に、コンテンツ再生部１０５は、再生したコンテンツが再生中であることを再生履歴データ保存部１０７に通知する（ステップＳ２３０９）。再生履歴データ保存部１０７は、通知されたコンテンツのコンテンツＩＤを再生履歴データ１１５に追加する処理を実行する。
【０１６３】
次に、コンテンツ再生部１０５は、全ての命令文が処理されたか否かを判断し（ステップＳ２３１０）、全ての命令文が処理されていない場合は（ステップＳ２３１０：ＮＯ）、次の命令文を取得し、処理を繰り返す（ステップＳ２３０２）。全ての命令文が処理された場合は（ステップＳ２３１０：ＹＥＳ）、コンテンツ再生処理を終了する。
【０１６４】
図２４から図２７は、本実施の形態にかかるデジタルコンテンツ再生装置１００において、上述したコンテンツ再生処理に従って実行されるコンテンツ再生の例を示した説明図である。
【０１６５】
図２４の例では、図２４(a)に示すコンテンツＡからコンテンツＤまでの４つのコンテンツ間の制約条件が定義されている。すなわち、コンテンツＡはコンテンツＢの下にコンテンツＢの再生後に再生する制約条件が、コンテンツＢはコンテンツＣの下に再生する制約条件が、コンテンツＣはコンテンツＤの再生後に再生する制約条件が定義されている。図２４の(b)から(f)は、この制約条件が存在する場合に、コンテンツＡの再生を指示したときの実行シーケンス生成までの各テーブルの内容を示したものである。
【０１６６】
上記制約条件は、コンテンツＡからコンテンツＤの各ライセンス情報に記述されている。まず、ライセンス処理（ステップＳ１２０４）によりこれらの各ライセンス情報が読み込まれ、図２４(b)に示す操作テーブル１１１が生成される。このテーブルを参照して、操作実行命令生成処理（ステップＳ１２０７）内の時間制約条件テーブル(TCT)生成処理（ステップＳ１４０４）で図２４(c)に示すＴＣＴ１１２が、空間制約条件テーブル(SCT)生成処理（ステップＳ１４０５）で図２４(d)にしめすＳＣＴ１１３が生成される。また、これらのテーブルは、条件テーブルマージ処理（ステップＳ１４０６）により図２４（e）のように畳み込まれ、実行シーケンス生成処理（ステップＳ１４０７）で図２４(f)に示すように結合される。
【０１６７】
すなわち、図２４(f)に示すように、最初にコンテンツＤが再生され、次にコンテンツＣが再生され、コンテンツＢはコンテンツＣの再生後にコンテンツＣの下に配置されるように再生され、コンテンツＡはコンテンツＢの再生後にコンテンツＢの下に配置されるように再生されるような実行シーケンスが生成される。
【０１６８】
このように、図２４(a)に示す制約条件が定義されている場合に、その制約条件を満たすように各コンテンツを再生することができる。
【０１６９】
図２５の例では、同図(a)に示すコンテンツＡ１からコンテンツＤまでの５つのコンテンツ間の制約条件が定義されている。すなわち、コンテンツＡ１はコンテンツＤと同時に再生する制約条件が、コンテンツＡ２はコンテンツＢの下にコンテンツＢの再生後に再生する制約条件が、コンテンツＢはコンテンツＣの下に再生する制約条件が定義されている。同図の(b)から(f)は、この制約条件が存在する場合に、コンテンツＡの再生を指示したときの実行シーケンス生成までの各テーブルの内容を示したものである。
【０１７０】
図２５の例では、同図(f)に示すように、最初にコンテンツＡ１とコンテンツＤが同時に再生され、次にコンテンツＣが再生され、コンテンツＢはコンテンツＣの再生後にコンテンツＣの下に配置されるように再生され、コンテンツＡ２はコンテンツＢの再生後にコンテンツＢの下に配置されるように再生されるような実行シーケンスが生成される。
【０１７１】
図２６の例では、同図(a)に示すコンテンツＡからコンテンツＣまでの３つのコンテンツ間の制約条件が定義されている。すなわち、コンテンツＡはコンテンツＢの下にコンテンツＢの再生後に再生する制約条件が、コンテンツＢはコンテンツＣの下にコンテンツＣの再生前に再生する制約条件が定義されている。同図の(b)から(f)は、この制約条件が存在する場合に、コンテンツＡの再生を指示したときの実行シーケンス生成までの各テーブルの内容を示したものである。
【０１７２】
図２６の例では、同図(f)に示すように、最初にコンテンツＢが再生され、コンテンツＡはコンテンツＢの再生後にコンテンツＢの下に配置されるように再生され、コンテンツＣはコンテンツＢの再生後にコンテンツＢの上に配置されるように再生されるような実行シーケンスが生成される。
【０１７３】
図２７の例では、同図(a)に示すコンテンツＡからコンテンツＢの２つのコンテンツ間の制約条件が定義されている。すなわち、コンテンツＡはコンテンツＢの下にコンテンツＢの再生後に再生する制約条件が、コンテンツＢはコンテンツＡの上にコンテンツＡの再生前に再生する制約条件が定義されている。同図の(b)から(f)は、この制約条件が存在する場合に、コンテンツＡの再生を指示したときの実行シーケンス生成までの各テーブルの内容を示したものである。
【０１７４】
図２７の例では、同図(f)に示すように、最初にコンテンツＢが再生され、コンテンツＡはコンテンツＢの再生後にコンテンツＢの下に配置されるように再生されるような実行シーケンスが生成される。
【０１７５】
図２８は、本実施の形態にかかるデジタルコンテンツ再生装置１００において、構造制約条件に基づいて実行されるコンテンツ再生の例を示した説明図である。この例では、オリジナルコンテンツはSection１（ContentA1）からSection４（ContentA4）の４つのコンテンツにより構成される電子書籍（ContentA）である。この電子書籍は、Section単位で再生することができるが、各Sectionは、Bookとの間に"isPartOf"の構造制約条件を持っている。そのため、ContentA1の再生を指示した場合には、Section１のみからなる電子書籍（ContentA）として再生される。
【０１７６】
このように、本実施の形態にかかるデジタルコンテンツ再生装置１００では、２つのコンテンツ間に定められた制約条件が存在する場合、その制約条件を満たすように各コンテンツの再生を実行することができる。
【０１７７】
本実施の形態にかかるデジタルコンテンツ再生装置１００は、ＣＰＵなどの制御装置と、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１７８】
本実施の形態にかかるデジタルコンテンツ再生装置１００で実行されるデジタルコンテンツ再生プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１７９】
また、本実施の形態にかかるデジタルコンテンツ再生装置１００で実行されるデジタルコンテンツ再生プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態にかかるデジタルコンテンツ再生装置１００で実行されるデジタルコンテンツ再生プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１８０】
また、本実施の形態のデジタルコンテンツ再生プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１８１】
本実施の形態にかかるデジタルコンテンツ再生装置１００で実行されるデジタルコンテンツ再生プログラムは、上述した各部（コンテンツ記憶制御部、コンテンツ指定受付部、ライセンス処理部、利用条件判定部、コンテンツ再生部、操作実行命令生成部、再生履歴データ保存部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からデジタルコンテンツ再生プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、コンテンツ記憶制御部、コンテンツ指定受付部、ライセンス処理部、利用条件判定部、コンテンツ再生部、操作実行命令生成部、再生履歴データ保存部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１８２】
以上のように、本発明にかかるデジタルコンテンツ再生装置、デジタルコンテンツ再生方法、デジタルコンテンツ再生プログラムおよびデジタルコンテンツ再生プログラムを記録する記録媒体は、再生操作の許諾内容を定めたライセンス情報に基づいてデジタルコンテンツを再生するデジタルコンテンツ再生装置に適している。
【図面の簡単な説明】
【０１８３】
【図１】本実施の形態にかかるデジタルコンテンツ再生装置の構成を示すブロック図である。
【図２】複合コンテンツの流通イメージを表す説明図である。
【図３−１】制約操作の記述モデルを表す説明図である。
【図３−２】補完制約の記述モデルを表す説明図である。
【図３−３】排他制約の記述モデルを表す説明図である。
【図４−１】制約条件がある複合コンテンツの再生イメージの一例を示す模式図である。
【図４−２】制約条件がある複合コンテンツの再生イメージの一例を示す模式図である。
【図４−３】制約条件がある複合コンテンツの再生イメージの一例を示す模式図である。
【図５−１】コンテンツデータをMPEG21形式で記述した一例を示す模式図である。
【図５−２】コンテンツデータをMPEG21形式で記述した一例を示す模式図である。
【図５−３】コンテンツデータをMPEG21形式で記述した一例を示す模式図である。
【図６−１】ライセンスデータをXML形式で記述した一例を示す模式図である。
【図６−２】ライセンスデータをXML形式で記述した一例を示す模式図である。
【図６−３】ライセンスデータをXML形式で記述した一例を示す模式図である。
【図７】制約条件関係辞書の一例を示す説明図である。
【図８】操作テーブルの一例を示す説明図である。
【図９】時間制約条件テーブル(TCT)の一例を示す説明図である。
【図１０】空間制約条件テーブル(SCT)の一例を示す説明図である。
【図１１】命令文データの一例を示す説明図である。
【図１２】本実施の形態にかかるデジタルコンテンツ再生装置におけるコンテンツ再生処理を示すフローチャートである。
【図１３】本実施の形態にかかるデジタルコンテンツ再生装置におけるライセンス処理を示すフローチャートである。
【図１４】本実施の形態にかかるデジタルコンテンツ再生装置における操作実行命令生成処理を示すフローチャートである。
【図１５】本実施の形態にかかるデジタルコンテンツ再生装置における排他制約条件チェック処理を示すフローチャートである。
【図１６】本実施の形態にかかるデジタルコンテンツ再生装置における時間制約条件テーブル(TCT)生成処理を示すフローチャートである。
【図１７】本実施の形態にかかるデジタルコンテンツ再生装置における空間制約条件テーブル(SCT)生成処理を示すフローチャートである。
【図１８】本実施の形態にかかるデジタルコンテンツ再生装置における条件テーブルマージ処理の概要を示すフローチャートである。
【図１９−１】本実施の形態にかかるデジタルコンテンツ再生装置における条件テーブルマージ処理を示すフローチャートである。
【図１９−２】本実施の形態にかかるデジタルコンテンツ再生装置における条件テーブルマージ処理を示すフローチャートである。
【図２０】本実施の形態にかかるデジタルコンテンツ再生装置における実行シーケンス生成処理の概要を示すフローチャートである。
【図２１】本実施の形態にかかるデジタルコンテンツ再生装置における実行シーケンス生成処理を示すフローチャートである。
【図２２】本実施の形態にかかるデジタルコンテンツ再生装置における命令文生成処理を示すフローチャートである。
【図２３】本実施の形態にかかるデジタルコンテンツ再生装置におけるコンテンツ再生処理を示すフローチャートである。
【図２４】本実施の形態にかかるデジタルコンテンツ再生装置におけるコンテンツ再生の一例を示す模式図である。
【図２５】本実施の形態にかかるデジタルコンテンツ再生装置におけるコンテンツ再生の一例を示す模式図である。
【図２６】本実施の形態にかかるデジタルコンテンツ再生装置におけるコンテンツ再生の一例を示す模式図である。
【図２７】本実施の形態にかかるデジタルコンテンツ再生装置におけるコンテンツ再生の一例を示す模式図である。
【図２８】本実施の形態にかかるデジタルコンテンツ再生装置における構造制約に基づくコンテンツ再生の一例を示す模式図である。
【符号の説明】
【０１８４】
１００  デジタルコンテンツ再生装置
１０１  コンテンツ記憶制御部
１０２  コンテンツ指定受付部
１０３  ライセンス処理部
１０４  利用条件判定部
１０５  コンテンツ再生部
１０６  操作実行命令生成部
１０７  再生履歴データ保存部
１０８  ユーザＩ／Ｆ
１０９  制約条件関係辞書
１１０  ＲＡＭ
１１１  操作テーブル
１１２  時間制約条件テーブル（ＴＣＴ）
１１３  空間制約条件テーブル（ＳＣＴ）
１１４  命令文データ
１１５  再生履歴データ
１２０  コンテンツ
１２１  コンテンツのライセンス情報
３１１  制約条件
３１２  補完制約
３１３  排他制約
３２１  補完制約
３２２  制約対象コンテンツ
３２３  時間制約種別
３２４  空間制約種別
３２５  構造制約種別
３３１  排他制約
３３２  制約対象コンテンツ
３３３  排他制約種別
５１１  コンテンツＡのデータ
５１２  ライセンス情報記述エリア
５２１  コンテンツＢのデータ
５２２  ライセンス情報記述エリア
５３１  コンテンツＣのデータ
５３２  ライセンス情報記述エリア
６１１  ライセンス情報
６１２  許諾操作
６２１  ライセンス情報
６２２  許諾操作
６２３  制約条件
６２４  制約条件
６３１  ライセンス情報
６３２  許諾操作
６３３  排他制約
【図１】
2006099646.tif 000003
【図２】
2006099646.tif 000004
【図３−１】
2006099646.tif 000005
【図３−２】
2006099646.tif 000006
【図３−３】
2006099646.tif 000007
【図４−１】
2006099646.tif 000008
【図４−２】
2006099646.tif 000009
【図４−３】
2006099646.tif 000010
【図５−１】
2006099646.tif 000011
【図５−２】
2006099646.tif 000012
【図５−３】
2006099646.tif 000013
【図６−１】
2006099646.tif 000014
【図６−２】
2006099646.tif 000015
【図６−３】
2006099646.tif 000016
【図７】
2006099646.tif 000017
【図８】
2006099646.tif 000018
【図９】
2006099646.tif 000019
【図１０】
2006099646.tif 000020
【図１１】
2006099646.tif 000021
【図１２】
2006099646.tif 000022
【図１３】
2006099646.tif 000023
【図１４】
2006099646.tif 000024
【図１５】
2006099646.tif 000025
【図１６】
2006099646.tif 000026
【図１７】
2006099646.tif 000027
【図１８】
2006099646.tif 000028
【図１９−１】
2006099646.tif 000029
【図１９−２】
2006099646.tif 000030
【図２０】
2006099646.tif 000031
【図２１】
2006099646.tif 000032
【図２２】
2006099646.tif 000033
【図２３】
2006099646.tif 000034
【図２４】
2006099646.tif 000035
【図２５】
2006099646.tif 000036
【図２６】
2006099646.tif 000037
【図２７】
2006099646.tif 000038
【図２８】
2006099646.tif 000039