(57)【特許請求の範囲】
【請求項１】
暗号化処理が施される前の平文コンテンツが入力される入力手段と、
前記入力手段に入力された前記平文コンテンツに含まれる特定の情報を変更して第２の平文コンテンツを生成する手段であって、前記特定の情報の内容を、前記第２の平文コンテンツを暗号化コンテンツ再生モードで再生した際にその再生動作が停止されない内容に変更する変更手段とを具備するコンテンツエミュレーション装置。
【請求項２】
前記入力手段には、プログラムを含む前記平文コンテンツが入力される請求項１記載のコンテンツエミュレーション装置。
【請求項３】
前記入力手段には、インタラクティブな機能を実行するための前記プログラムを含む前記平文コンテンツが入力される請求項２記載のコンテンツエミュレーション装置。
【請求項４】
前記変更手段で前記特定の情報が変更された平文コンテンツに対して、暗号化コンテンツ再生モードでの再生処理を施す再生手段を更に具備する請求項３記載のコンテンツエミュレーション装置。
【請求項５】
前記変更手段は、前記平文コンテンツ内のスクリプト言語及びマークアップ言語のいずれかで記述されたプログラムに含まれる特定の情報を、前記平文コンテンツを暗号化コンテンツ再生モードで再生した際に、その再生動作が停止されない内容に変更する請求項３記載のコンテンツエミュレーション装置。
【請求項６】
前記変更手段は、前記平文コンテンツ内のスクリプト言語で記述されたプログラムに含まれるプロパティの値を、前記平文コンテンツを暗号化コンテンツ再生モードで再生した際に、その再生動作が停止されない値に設定する請求項３記載のコンテンツエミュレーション装置。
【請求項７】
前記変更手段は、前記平文コンテンツ内のスクリプト言語で記述されたプログラムに含まれるメソッドの内容を、前記平文コンテンツを暗号化コンテンツ再生モードで再生した際に、その再生動作が停止されない内容に置換する請求項３記載のコンテンツエミュレーション装置。
【請求項８】
インタラクティブな機能を実行するためのプログラムを含むコンテンツが入力されるコンテンツ入力手段と、
前記コンテンツ入力手段に入力されたコンテンツに暗号化処理が施されているか否かを判別する判別手段と、
前記判別手段で暗号化処理が施されていると判断された場合、その暗号化コンテンツに対して暗号化コンテンツ再生モードでの再生処理を施す暗号化コンテンツ再生手段と、
前記判別手段で暗号化処理が施されていないと判断された場合、その平文コンテンツ内の前記プログラムに含まれる特定の情報を、前記平文コンテンツを暗号化コンテンツ再生モードで再生した際に、その再生動作が停止されない内容に変更する変更手段と、
前記変更手段で前記特定の情報が変更された平文コンテンツに対して、暗号化コンテンツ再生モードでの再生処理を施す平文コンテンツ再生手段とを具備するコンテンツエミュレーション装置。
【請求項９】
暗号化処理が施される前の平文コンテンツを入力手段により入力する工程と、
入力された前記平文コンテンツに含まれる特定の情報を変更手段により変更して第２の平文コンテンツを生成する工程であって、前記特定の情報の内容を、前記第２の平文コンテンツを暗号化コンテンツ再生モードで再生した際にその再生動作が停止されない内容に変更する工程とを有するコンテンツエミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンテンツの動作をエミュレートするデバッグ機能を持ったコンテンツエミュレーション装置及びコンテンツエミュレーション方法の改良に関する。
【背景技術】
【０００２】
周知のように、近年では、デジタル記録媒体としてＤＶＤ（digital versatile disk）等の光ディスクが普及している。そして、現在では、ＤＶＤよりもさらに高密度記録が可能な、いわゆるＨＤ（high definition）−ＤＶＤと称されるハイビジョン対応の次世代ＤＶＤ規格も完成している。
【０００３】
このＨＤ ＤＶＤ規格では、コンテンツ保護のためにＡＡＣＳ（advanced access content system）と称される暗号化のための規格を採用している。そして、このＡＡＣＳ規格を使用するにあたって、光ディスク再生装置の内部には、ＡＡＣＳ関連データを管理するためのＡＡＣＳオブジェクトが用意されている。
【０００４】
一方、スクリプト言語には、ＡＡＣＳオブジェクトを参照／使用するためのＡＡＣＳ ＡＰＩ（application programming interface）や、暗号化ファイルを生成するためのＡＡＣＳ関連ＡＰＩ等が用意されている。そして、コンテンツ制作者は、これらのＡＰＩを用いて、より好適なコンテンツを作成することが可能である。
【０００５】
ところで、これらのＡＡＣＳ ＡＰＩ／ＡＡＣＳ関連ＡＰＩを、光ディスク再生装置が正しく実行するためには、再生装置がＡＡＣＳ規格に基づいて暗号化されたコンテンツの再生モード（暗号化コンテンツ再生モード）で動作し、かつ、コンテンツがＡＡＣＳ規格に準拠して正しく暗号化されている必要がある。
【０００６】
しかしながら、コンテンツのＡＡＣＳ規格に基づく暗号化処理は、光ディスクの製盤工程を終えたときに完了する。すなわち、製盤工程が終了することによって始めて、ＡＡＣＳ規格に準拠して正しく暗号化されたコンテンツを記録した光ディスクが得られることになり、正しいＡＡＣＳ化ディスクとして使用することができるようになる。
【０００７】
このため、光ディスクの製盤工程が終了する前の段階で作成された平文コンテンツに対しては、ＡＡＣＳ規格に準拠した正しい暗号化処理が施されなくなるので、そのようなコンテンツは、光ディスク再生装置を暗号化コンテンツ再生モードで動作させて再生することが不可能となる。
【０００８】
これにより、光ディスクの製盤工程が終了する前の段階で作成された平文コンテンツに対しては、ＡＡＣＳ規格に準拠した正しい暗号化が施された状態でのエミュレーションを行なうことができず、コンテンツ制作者が作成したコンテンツの暗号化後の検証は、製盤工程終了まで行なうことができないのが現状である。
【０００９】
特許文献１には、実行論理変更情報に基づいて現モジュール群及び実行論理変更対象のモジュール群を検索し、現モジュール群の変更モジュールコール部分を設定し、対象のプログラムを走行させて実際に実行論理の変更を実現するようにしたプログラム実行論理変更装置の構成が開示されている。
【特許文献１】特開平２−２４７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
そこで、この発明は上記事情を考慮してなされたもので、暗号化処理が施される前の平文コンテンツに対して暗号化コンテンツ再生モードでの動作検証を行なうことを可能として、コンテンツの作成を支援することができるようにしたコンテンツエミュレーション装置及びコンテンツエミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係るコンテンツエミュレーション装置は、暗号化処理が施される前の平文コンテンツが入力される入力手段と、入力手段に入力された前記平文コンテンツに含まれる特定の情報を変更して第２の平文コンテンツを生成する手段であって、特定の情報の内容を、第２の平文コンテンツを暗号化コンテンツ再生モードで再生した際にその再生動作が停止されない内容に変更する変更手段とを備えるようにしたものである。
【００１２】
また、この発明に係るコンテンツエミュレーション方法は、暗号化処理が施される前の平文コンテンツを入力手段により入力する工程と、入力された平文コンテンツに含まれる特定の情報を変更手段により変更して第２の平文コンテンツを生成する工程であって、特定の情報の内容を、第２の平文コンテンツを暗号化コンテンツ再生モードで再生した際にその再生動作が停止されない内容に変更する工程とを有するようにしたものである。
【発明の効果】
【００１３】
上記した発明によれば、入力された平文コンテンツに含まれる特定の情報を変更して第２の平文コンテンツを生成するものであって、特定の情報の内容を、第２の平文コンテンツを暗号化コンテンツ再生モードで再生した際にその再生動作が停止されない内容に変更するようにしたので、暗号化処理が施される前の平文コンテンツに対して暗号化コンテンツ再生モードでの動作検証を行なうことを可能として、コンテンツの作成を支援することができるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態について図面を参照して詳細に説明する。この実施の形態では、映像及び音声等のプログラムストリームと併せて、メニュー操作や再生装置のナビゲーション等を制御するためのソースコードを内部に持つ光ディスクを再生するための映像音声再生機器のエミュレーション装置を想定している。
【００１５】
そして、ここでは、一例として、ＨＤ ＤＶＤ−Video規格において定義されている、映像、音声及びアドバンストアプリケーションからなり暗号化されているアドバンストコンテンツを再生することが可能な映像音声再生機器のエミュレーション装置について説明する。
【００１６】
図１は、この実施の形態で説明するエミュレーション装置の概略を示している。このエミュレーション装置は、例えばＨＤ ＤＶＤ等のような光ディスクを再生する光ディスク再生装置１１によって実現される。この光ディスク再生装置１１は、光ディスク１２を装着してそこに記録されているデータを読み取るディスクドライブ部１３を備えている。
【００１７】
このディスクドライブ部１３で読み取られたデータは、データプロセッサ部１４を介して分離部１５に供給されることにより、主映像データ、副映像データ、グラフィックデータ及び音声データに分離される。
【００１８】
このうち、主映像データ、副映像データ及びグラフィックデータは、それぞれ対応する主映像デコーダ部１６、副映像デコーダ部１７及びグラフィックデコーダ部１８に供給されてデコード処理が施される。そして、各デコーダ部１６〜１８の出力は、合成部１９に供給されて合成され、Ｄ／Ａ（digital／analog）変換部２０でアナログ化された後、映像出力端子２１を介して外部に導出され映像表示に供される。
【００１９】
また、上記分離部１５で分離された音声データは、音声デコーダ部２２に供給されてデコード処理が施され、Ｄ／Ａ変換部２３でアナログ化された後、音声出力端子２４を介して外部に導出され音声再生に供される。
【００２０】
ここで、この光ディスク再生装置１１は、上記した再生動作を含むその全ての動作を制御部２５によって統括的に制御されている。この制御部２５は、ＣＰＵ（central processing unit）２５ａを内蔵しており、キー入力部２６からの操作情報を受けて、その操作内容が反映されるように各部をそれぞれ制御している。
【００２１】
この場合、制御部２５は、主として、メモリ部２５ｂを利用している。そのメモリ部２５ｂは、ＣＰＵ２５ａが実行する制御プログラムを格納したＲＯＭ（read only memory）と、該ＣＰＵ２５ａに作業エリアを提供するＲＡＭ（random access memory）と、各種の設定情報及び制御情報等が格納される不揮発性メモリとを有している。
【００２２】
また、この制御部２５は、接続部２７を介して外部デバイス２８とデータ通信を行なえるようになっている。これにより、制御部２５は、光ディスク１２から再生したコンテンツを外部デバイス２８に転送したり、外部デバイス２８からコンテンツやプログラム等を受信したりすることができる。
【００２３】
さらに、この制御部２５は、インターフェース部２９及び入出力端子３０を介して外部のネットワークとデータ通信を行なえるようになっている。これにより、制御部２５は、ネットワークにアクセスして、ネットワークからコンテンツやプログラム等を受信したりすることができる。
【００２４】
次に、図１に示した光ディスク再生装置１１の主要部分、つまり、暗号化処理が施される前のアドバンストコンテンツを、暗号化コンテンツ再生モードで再生可能とする部分について、図２を参照してソフトウエアの観点から詳細に説明する。すなわち、ＨＤ ＤＶＤを再生可能とする光ディスク再生装置１１は、現行のＤＶＤのような映像、音声及び各メニューの再生以外に、よりインタラクティブな機能を持つアドバンストコンテンツ３１の再生を行なうことができる。
【００２５】
このアドバンストコンテンツ３１は、映像及び音声等のプログラムストリームの他に、アドバンストアプリケーションを備えている。このアドバンストアプリケーションには、アドバンストコンテンツ３１の再生制御を行なうための情報が、ＥＣＭＡ（european computer manufacturers association）Script等のスクリプト言語や、ＸＭＬ（extensible markup language）等のマークアップ言語で記述されており、その他にjpeg等の映像ファイルや音声ファイル等が含まれている。
【００２６】
また、プレーヤ制御モジュール３２は、映像及び音声等の再生動作を制御する他、アドバンストコンテンツ３１の状態やリソース管理等を行なっている。スクリプトエンジン３３は、アドバンストアプリケーションのうち、スクリプト言語で記述されたファイルの実行を行ない、プレーヤ制御モジュール３２に対してコマンドを発行する。
【００２７】
デバッグモジュール３４には、状態監視モジュール３５、モード切替モジュール３６、プロパティ管理／設定モジュール３７及びメソッド管理／変換モジュール３８が含まれている。このうち、状態監視モジュール３５は、プレーヤ制御モジュール３２の状態を監視する他、スクリプトエンジン３３の状態変化を受信する。
【００２８】
また、モード切替モジュール３６は、アドバンストコンテンツ３１の再生開始時に、そのコンテンツが暗号化コンテンツであるか、暗号化前平文コンテンツであるかのチェックを行ない、再生モードを切り替える。このチェック方法としては、コンテンツのディレクトリ構成等をチェックすることが望まれる。
【００２９】
さらに、プロパティ管理／設定モジュール３７は、各暗号化用プロパティに対して、ユーザ任意の値を設定し管理することを実行する。また、メソッド管理／変換モジュール３８は、各暗号化用メソッドを、ユーザ任意の設定値に置換したり、予め設定されている平文用メソッドに置換したりする。
【００３０】
図３は、アドバンストコンテンツ３１を作成する処理動作をまとめたフローチャートを示している。すなわち、処理が開始（ステップＳ３ａ）されると、ステップＳ３ｂで、映像及び音声データにエンコード処理が施される。また、ステップＳ３ｃで、アドバンストアプリケーションのコーディング及び作成が行なわれる。
【００３１】
その後、ステップＳ３ｄで、各ステップＳ３ｂ及びＳ３ｃで作成できたデータをオーサリングツールでオーサリング処理し多重化する。ここまでの処理で平文コンテンツが完成される。次に、必要であれば、作成した平文コンテンツを見直して暗号化前平文コンテンツを作成し、ステップＳ３ｅで、暗号化処理を施して暗号化コンテンツを作成し、処理を終了（ステップＳ３ｆ）する。
【００３２】
図４及び図５は、光ディスク再生装置１１で暗号化コンテンツ／暗号化前平文コンテンツをそれぞれ再生するときに、各再生モードを切り替えるための処理動作をまとめたフローチャートを示している。すなわち、処理が開始（ステップＳ４ａ）されると、デバッグモジュール３４は、ステップ４ｂで、再生するコンテンツが暗号化コンテンツであるか暗号化前平文コンテンツであるかによって、ユーザに“暗号化コンテンツ再生モード”または“暗号化前平文コンテンツ再生モード”のどちらの動作モードで再生したいかの選択を要求する。
【００３３】
そして、ユーザが“暗号化コンテンツ再生モード”を選択した場合、デバッグモジュール３４は、ステップＳ４ｃで、暗号化コンテンツ再生モードを開始し、ステップＳ４ｄで、暗号化コンテンツの再生を実行して、処理を終了（Ｓ４ｅ）する。
【００３４】
一方、上記ステップＳ４ｂで再生したいコンテンツが暗号化前平文コンテンツである場合、つまり、ユーザが“暗号化前平文コンテンツ再生モード”を選択した場合、デバッグモジュール３４は、まず、上記プロパティ管理／設定モジュール３７により、図６に示すような暗号化用プロパティ管理テーブルを設定／保存するための処理を実行する。この処理は、ステップＳ４ｆで、暗号化用プロパティ管理テーブルを読み込み、ステップＳ４ｇで、各プロパティに値を設定し、ステップＳ４ｈで、設定した値を保存することにより行なわれる。これらの処理はコンテンツ再生をしていない状態で設定することとする。なお、各プロパティに設定される値は、暗号化前平文コンテンツを再生した際に、再生処理が停止されない任意の値を取り得るものとする。
【００３５】
その後、デバッグモジュール３４は、上記メソッド管理／変換モジュール３８により、図７（ａ）及び（ｂ）に示すような暗号化メソッド管理テーブルを設定／保存するための処理を実行する。この処理は、ステップＳ４ｉで、暗号化用メソッド管理テーブルを読み込み、ステップＳ４ｊで、各メソッドに置換内容を設定する。この場合、図７（ａ）に示すようなメソッドについては、図７（ｃ）に示すような置換内容一覧で定義される値を選択する。また、図７（ｂ）に示すようなメソッドについては、平文コンテンツ用のメソッドを選択する。その後、ステップＳ４ｋで、設定した置換内容を保存する。これらの処理も、暗号化用プロパティの場合と同様に、コンテンツ再生をしていない状態で設定することとする。なお、各メソッドに対する置換内容も、暗号化前平文コンテンツを再生した際に、再生処理が停止されない内容を取り得るものとする。
【００３６】
次に、デバッグモジュール３４は、ステップＳ４ｌで、暗号化コンテンツ再生モードを開始し、ステップＳ４ｍで、暗号化コンテンツ再生モードでの暗号化前平文コンテンツの再生を開始する。その後、デバッグモジュール３４は、ステップＳ４ｎで、アドバンストアプリケーションに含まれるスクリプトを解読する。この処理は、スクリプトエンジン３３が実行する。
【００３７】
上記ステップＳ４ｎでスクリプトを解析した結果に基づいて、デバッグモジュール３４は、ステップＳ４ｏで、図６に記載されているプロパティか否かを判定する。図６に記載されているプロパティであると判断された場合（ＹＥＳ）、デバッグモジュール３４は、ステップＳ４ｐで、設定されたプロパティ値を読み込み、ステップＳ４ｑで、暗号化前平文コンテンツの再生を継続して、処理を終了（Ｓ４ｔ）する。なお、図６に記載されているプロパティでないと判断された場合（ＮＯ）、デバッグモジュール３４は、ステップＳ４ｑの処理に移行される。
【００３８】
また、上記ステップＳ４ｎでスクリプトを解析した後、デバッグモジュール３４は、スクリプトの解析結果に基づいて、ステップＳ４ｒで、図７（ａ）及び（ｂ）に示すような暗号化用メソッド一覧に提示されるスレッドが呼ばれたか否かを判定する。図７（ａ）及び（ｂ）に記載されているメソッドであると判断された場合（ＹＥＳ）、デバッグモジュール３４は、ステップＳ４ｓで、設定された置換内容を読み込み、ステップＳ４ｑで、暗号化前平文コンテンツの再生を継続して、処理を終了（Ｓ４ｔ）する。なお、図７（ａ）及び（ｂ）に記載されているメソッドでないと判断された場合（ＮＯ）、デバッグモジュール３４は、ステップＳ４ｑの処理に移行される。
【００３９】
なお、上記ステップＳ４ｆ〜Ｓ４ｈに示した暗号化用プロパティ管理テーブルを設定／保存する処理と、上記ステップＳ４ｉ〜Ｓ４ｋに示した暗号化メソッド管理テーブルを設定／保存する処理とは、例えば、ステップＳ４ｑの後に実行され、その後、ステップＳ４ｌの処理に移行するようにしても良いものである。
【００４０】
上記した実施の形態によれば、暗号化前平文コンテンツの再生が要求された場合、その暗号化前平文コンテンツに含まれるプロパティの値及びメソッドの内容を、暗号化前平文コンテンツを再生した際に再生処理が停止されない値及び内容に変更することにより、暗号化コンテンツ再生モードでの暗号化前平文コンテンツの再生を継続させるようにしている。このため、暗号化処理が施される前の平文コンテンツに対しても動作検証を行なうことが可能となり、コンテンツの作成を十分に実用に適するレベルで支援することができるようになる。
【００４１】
先にも述べたように、コンテンツのＡＡＣＳ規格に基づく暗号化処理は、光ディスクの製盤工程を終えたときに完了する。このため、光ディスクの製盤工程が終了する前の段階で作成された平文コンテンツに対しては、光ディスク再生装置１１を暗号化コンテンツ再生モードで動作させて再生することが不可能となる。
【００４２】
例えば、上記ＡＡＣＳ ＡＰＩには、“pmsn”というプロパティが定義されている。コンテンツ制作者は、このpmsnを用いてディスクのＩＤ（識別番号）を知ることができる。これを利用して、コンテンツ制作者は、図８に示すようにスクリプトを記述することが可能である。
【００４３】
この場合、平文コンテンツの中のＡＡＣＳ ＡＰＩの振る舞いとしては、光ディスク再生装置１１が１行目の“aacs.pmsn”にアクセスした時点で、例外やundefinedを返すことになり、ユーザは、２行目のfunctionA()という関数を実行することができなくなる。このため、コンテンツ制作者が作ったコンテンツの検証は製盤工程終了後まで行なうことができなかった。
【００４４】
これに対し、上記した実施の形態によれば、暗号化コンテンツ再生モードでの暗号化前平文コンテンツの再生を行なうことができるため、暗号化処理が施される前の平文コンテンツに対しても動作検証を行なうことが可能となり、コンテンツの作成を十分に実用に適するレベルで支援することができるようになる。
【００４５】
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
【図面の簡単な説明】
【００４６】
【図１】この発明の実施の形態を示すもので、エミュレーション装置としての光ディスク再生装置を説明するために示すブロック構成図。
【図２】同実施の形態における光ディスク再生装置の主要部分をソフトウエアの観点から説明するために示すブロック構成図。
【図３】同実施の形態における光ディスク再生装置が再生するアドバンストコンテンツを作成する動作の一例を説明するために示すフローチャート。
【図４】同実施の形態における光ディスク再生装置が実行する主要な処理動作の一部を説明するために示すフローチャート。
【図５】同実施の形態における光ディスク再生装置が実行する主要な処理動作の残部を説明するために示すフローチャート。
【図６】同実施の形態における光ディスク再生装置が使用する暗号化用プロパティ管理テーブルの一例を説明するために示す図。
【図７】同実施の形態における光ディスク再生装置が使用する暗号化用メソッド管理テーブルの一例を説明するために示す図。
【図８】アドバンストコンテンツのアドバンストアプリケーションに含まれるスクリプトの記述例を説明するために示す図。
【符号の説明】
【００４７】
１１…光ディスク再生装置、１２…光ディスク、１３…ディスクドライブ部、１４…データプロセッサ部、１５…分離部、１６…主映像デコーダ部、１７…副映像デコーダ部、１８…グラフィックデコーダ部、１９…合成部、２０…Ｄ／Ａ変換部、２１…映像出力端子、２２…音声デコーダ部、２３…Ｄ／Ａ変換部、２４…音声出力端子、２５…制御部、２５ａ…ＣＰＵ、２５ｂ…メモリ部、２６…キー入力部、２７…接続部、２８…外部デバイス、２９…インターフェース部、３０…入出力端子、３１…アドバンストコンテンツ、３２…プレーヤ制御モジュール、３３…スクリプトエンジン、３４…デバッグモジュール、３５…状態監視モジュール、３６…モード切替モジュール、３７…プロパティ管理／設定モジュール、３８…メソッド管理／変換モジュール。
【図１】
0004874916.tif 000002
【図２】
0004874916.tif 000003
【図３】
0004874916.tif 000004
【図４】
0004874916.tif 000005
【図５】
0004874916.tif 000006
【図６】
0004874916.tif 000007
【図７】
0004874916.tif 000008
【図８】
0004874916.tif 000009