(57)【要約】【課題】デバッグ用のソフトウェアモジュールを必要に応じてインストールすることができるデバッグ装置、及びデバッグ方法を提供すること。【解決手段】再生装置（１００）は、デバッグ装置の動作を制御するための制御モジュール（２０１）と、プログラムを実行するスクリプトエンジン（２０３）を備える。状態監視モジュール（２０５）は、制御モジュール（２０１）及びスクリプトエンジン（２０３）の状態を監視し、状態の変化を検出する。状態通知モジュール（２０４、２０６、２０７、２０８、２０９）は、状態監視モジュール（２０５）により検出された変化を、再生装置（１００）に接続されたネットワーク機器（２）に送信し、変化をユーザに通知する。状態監視モジュール（２０５）及び状態通知モジュール（２０４、２０６、２０７、２０８、２０９）は、外部デバイス（３）から再生装置（１００）にインストールされる。【選択図】      図２
2008102874.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブな機能を実現するためのプログラムを含むコンテンツを再生可能なデバッグ装置であって、
前記デバッグ装置の動作を制御するための制御モジュールと、
前記プログラムを実行するスクリプトエンジンと、
前記制御モジュール及び前記スクリプトエンジンの状態を監視し、前記制御モジュール及び前記スクリプトエンジンの前記状態の変化を検出する状態監視モジュールと、
前記状態監視モジュールによって検出された前記変化を、前記デバッグ装置に接続された表示端末に送信し、前記変化をユーザに通知する状態通知モジュールと、
を具備し、
前記状態監視モジュール及び前記状態通知モジュールは、前記デバッグ装置に接続可能な外部デバイスから前記デバッグ装置にインストールされる、デバッグ装置。
【請求項２】
前記状態監視モジュールは、前記デバッグ装置での前記コンテンツ再生状態の変化、前記デバッグ装置によるＣＰＵ利用率、及び前記コンテンツで利用可能なリソースの使用率のうちの少なくとも１つを監視する、請求項１記載のデバッグ装置。
【請求項３】
前記状態通知モジュールは、前記変化をＷｅｂブラウザが処理可能なデータ形式のデータで前記表示端末に送信する、請求項１記載のデバッグ装置。
【請求項４】
前記状態通知モジュールは、
前記デバッグ装置の状態を制御するプレイヤスクリプトファイルと、
前記デバッグ装置の前記状態が変化した場合、前記変化を前記表示端末が処理可能なデータ形式のデータに変換するデータ変換モジュールと、
前記データ変換モジュールによって、前記データ形式に変換された前記データを、前記表示端末に送信するＨＴＴＰサーバモジュールと、
前記ＨＴＴＰサーバモジュールによって前記表示端末に配信されるＧＵＩ画面ファイル及び端末スクリプトファイルと、
を具備する、請求項１記載のデバッグ装置。
【請求項５】
前記デバッグ装置は、前記状態監視モジュール及び前記状態通知モジュールの機能を無効にした通常モード、並びに前記状態監視モジュール及び前記状態通知モジュールの前記機能を有効にしたデバッグモードのうちの１つで動作可能な、請求項１記載のデバッグ装置。
【請求項６】
前記デバッグ装置は、
前記状態監視モジュール及び前記状態通知モジュールが前記デバッグ装置にインストールされた後、前記デバッグ装置と前記外部デバイスとの間の接続が絶たれた場合、前記通常モードで動作し、
前記状態監視モジュール及び前記状態通知モジュールが前記デバッグ装置にインストールされ、前記デバッグ装置と前記外部デバイスとの間の接続が絶たれた後に、前記外部デバイスが前記デバッグ装置に接続された場合、前記デバッグモードで動作する、
請求項５記載のデバッグ装置。
【請求項７】
インタラクティブな機能を有するプログラムを含むコンテンツを、前記コンテンツを再生可能な再生装置を用いてデバッグするデバッグ方法であって、
前記コンテンツをデバッグするためのデバッグモードモジュールを記憶した外部デバイスを、前記再生装置に接続するステップと、
前記デバッグモードモジュールを、前記外部デバイスから前記再生装置にインストールするステップと、
前記デバッグモードモジュールによって、前記コンテンツ処理時の前記再生装置の状態を監視し、前記状態を前記再生装置に接続された表示端末に表示されるＧＵＩ画面で表示し、ユーザに前記状態を通知するステップと、
を具備するデバッグ方法。
【請求項８】
前記接続するステップは、
前記デバッグモードモジュールを記憶した、ＵＳＢデバイス、メモリカード、ハードディスクドライブ、及び、パーソナルコンピュータから成る組から選択される１つを、前記外部デバイスとして前記再生装置に接続するステップを含む、請求項７記載のデバッグ方法。
【請求項９】
前記外部デバイスと前記再生装置との間の接続が絶たれた場合、前記再生装置にインストールされた前記デバッグモードモジュールの機能を無効にするステップ、
を更に具備する、請求項７記載のデバッグ方法。
【請求項１０】
前記外部デバイスと前記再生装置との間の接続が絶たれた後に、前記外部デバイスが前記再生装置に再度接続された場合、前記再生装置にインストールされた前記デバッグモードモジュールの機能を有効にするステップ、
を更に具備する、請求項７記載のデバッグ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、デバッグ装置及びデバッグ方法に関し、特にコンテンツをデバッグすることができるデバッグ装置及びデバッグ方法に関する。
【背景技術】
【０００２】
従来、ソフトウェア／ハードウェアの欠陥及び誤りを発見し、除去するために、種々のデバッグ方法が開発されてきた。このようなデバッグ方法の一例として、テスト端子によりデバッグモードを設定することでＲＯＭに格納されたデバッグ用ブートプログラムを起動し、このデバッグ用ブートプログラムの実行により通信回路を介しての外部からのＲＡＭへのデバッグプログラムの書き込みを可能とし、デバッグコマンドの入力に従ってそのデバッグコマンドの実行に必要なデバッグ用プログラムを前記ＲＡＭの所定の領域に格納し、この格納されたデバッグ用プログラムを実行することによりユーザプログラムのデバッグを行う、マイクロコンピュータのデバッグ方法がある（例えば、特許文献１参照）。
【特許文献１】特開２００６−９１９９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、近年では、従来のＤＶＤよりも大きな記憶容量を有する次世代ＤＶＤ（ＨＤ  ＤＶＤ等）が提案されている。次世代ＤＶＤは、従来のＤＶＤとは異なり、インタラクティブ性の高いコンテンツを含む。このようなコンテンツは、例えば、スクリプト言語及びＸＭＬ（Extensible Markup Language）等を利用して、スタジオ等のコンテンツオーサによって作成される。従って、インタラクティブな機能を有するコンテンツを作成する場合には、スクリプト言語又はＸＭＬで記述されたコンテンツに含まれるプログラムをデバッグする必要がある。
【０００４】
コンテンツをデバッグする方法は、以下の２つの方法に大別できる。一つは、エミュレータ上でコンテンツをデバッグする方法である。この方法では、実際の（市販用の）再生装置とは異なる装置（例えば、パーソナルコンピュータ）上にエミュレーション環境（エミュレータ）を構築し、当該エミュレーション環境上でコンテンツをデバッグする。もう一つは、再生装置自体にデバッグ機能を埋め込んで、コンテンツをデバッグする方法である。
【０００５】
しかし、前者の方法では、実際の再生装置とパーソナルコンピュータ上のエミュレータとが全く同じ動作をすることを保障するのは困難である。例えば、実際の再生装置とエミュレータとの間のＣＰＵ性能の違い、ビデオ／グラフィックスのデコード性能等の違い、スクリプトファイル及びＸＭＬファイルを動作させるアプリケーションソフトウェア（ミドルウェア）そのものによる違い等に起因して、実際の再生装置とエミュレータとでは動作が異なるという問題がある。
【０００６】
一方、後者の方法では、前者の方法のような装置間における性能的な違いは無い。しかし、実際の再生装置とデバッグ機能が組込まれた再生装置との間には、ソフトウェアの面で違いがある。例えば、実際の再生装置用にコンパイルされたプログラムと、デバッグ機能を有する再生装置用にコンパイルされたプログラムとの間では、機能及び処理タイミング等に差異が生じる。
【０００７】
また、従来、再生装置のような組み込み機器においては、リモートデバッグと称される方法も用いられている。リモートデバッグとは、デバッグ機能を持つ専用のソフトウェア（デバッグ用ソフトウェア）を搭載した端末を再生装置と接続して、デバッグを行う方法である。リモートデバッグを行うためには、デバッグ用ソフトウェアが、再生装置の開発環境や内部のＡＰＩ等を利用する必要がある。このため、再生装置の製造者とは異なる第三者（例えば、スタジオ等）に、再生装置の開発環境や内部のＡＰＩ等に関する情報を開示しなければならないという問題がある。
【０００８】
そこで、本発明の目的は、市販用の再生装置と同一のハードウェア及びソフトウェアを搭載し、デバッグ用のソフトウェアモジュールを必要に応じてインストールすることができるデバッグ装置、並びに、市販用の再生装置と同一のハードウェア及びソフトウェアを搭載するデバッグ装置に、デバッグ用のソフトウェアモジュールを必要に応じてインストールすることができデバッグ方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一つの面によれば、インタラクティブな機能を実現するためのプログラムを含むコンテンツを再生可能なデバッグ装置であって、前記デバッグ装置の動作を制御するための制御モジュールと、前記プログラムを実行するスクリプトエンジンと、前記制御モジュール及び前記スクリプトエンジンの状態を監視し、前記制御モジュール及び前記スクリプトエンジンの前記状態の変化を検出する状態監視モジュールと、前記状態監視モジュールによって検出された前記変化を、前記デバッグ装置に接続された表示端末に送信し、前記変化をユーザに通知する状態通知モジュールとを具備し、前記状態監視モジュール及び前記状態通知モジュールは、前記デバッグ装置に接続可能な外部デバイスから前記デバッグ装置にインストールされるデバッグ装置が提供される。
【００１０】
また、本発明の別の面によれば、インタラクティブな機能を有するプログラムを含むコンテンツを、前記コンテンツを再生可能な再生装置を用いてデバッグするデバッグ方法であって、前記コンテンツをデバッグするためのデバッグモードモジュールを、外部デバイスから前記再生装置にインストールするステップと、前記デバッグモードモジュールによって、前記再生装置における前記コンテンツ起動時の状態を、前記再生装置に接続された表示端末に表示してユーザに前記状態を通知するステップとを具備するデバッグ方法が提供される。
【発明の効果】
【００１１】
本発明によれば、市販用の再生装置と同一のハードウェア及びソフトウェアを搭載し、デバッグ用のソフトウェアモジュールを必要に応じてインストールすることができるデバッグ装置、並びに、市販用の再生装置と同一のハードウェア及びソフトウェアを搭載するデバッグ装置に、デバッグ用のソフトウェアモジュールを必要に応じてインストールすることができるデバッグ方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しつつ本発明の実施形態について説明する。
【００１３】
まず、図１を参照しつつ、本発明の一実施形態に係るデバッグ装置について説明する。
【００１４】
図１は、本発明の一実施形態に係るデバッグ装置の概略構成を示すブロック図である。このデバッグ装置は、例えばＨＤ  ＤＶＤ再生装置（以下、単に「再生装置」と称する）１００によって実現される。再生装置１００は、通常モードとデバッグモードの２つのモードで動作する。
【００１５】
再生装置１００は、ディスクドライブ部１０１、ネットワーク制御部１０２、メディアドライブ部１０３、データプロセッサ部１０４、メモリ部１０５、分離部（ＤＭＵＸ）１０６、ビデオデコーダ部１０７、サブピクチャ部１０８、グラフィックデコーダ部１０９、オーディオデコーダ部１１０、ビデオプロセッサ部１１１、デジタル／アナログ（Ｄ／Ａ）変換部１１２及び１１３、ＭＰＵ部１１４、キー入力部１１５、並びにＲＯＭ部１１６等を備える。
【００１６】
再生装置１００は、光ディスク（ＨＤ  ＤＶＤ等）１といった情報記憶媒体から、情報を読み出して再生する。光ディスク１は、再生装置１００のディスクドライブ部１０１に装着される。ディスクドライブ部１０１は、装着されたディスク１を回転駆動し、光ピックアップ（図示せず）を用いてディスク１に記憶されている情報を取得する。
【００１７】
ネットワーク制御部１０２は、再生装置１００にネットワークを介して接続されたネットワーク機器２と通信を行うための制御部である。ネットワーク機器２は、パーソナルコンピュータといったネットワーク機能を有する機器である。また、ネットワーク機器２には、Ｗｅｂブラウザ１１８がインストールされている。再生装置１００とネットワーク機器２とを接続するネットワークは、例えば、インターネット、ＬＡＮ（Local Area Network）等である。なお、ネットワーク機器２はパーソナルコンピュータに限定されず、Ｗｅｂブラウザ機能を有するデジタルテレビであってもよい。また、ネットワーク機器２にインストールされるソフトウェアは、Ｗｅｂブラウザ１１８に限定されず、ＨＴＭＬ及びＪａｖａＳｃｒｉｐｔ（登録商標）で記述されたプログラムを処理することができるアプリケーションであってもよい。
【００１８】
メディアドライブ部１０３は、メディアドライブ部１０３に接続された外部デバイス（ストレージメディア）３にアクセスして、外部デバイス３から情報を取得する。外部デバイス３は、再生装置１００に接続可能なデバイスであり、プラグインモジュール（デバッグモードモジュール）１１７を格納している。デバッグモードモジュール１１７は、メディアドライブ部１０３及びデータプロセッサ部１０４を介してメモリ部１０５にインストールされる。外部デバイス３は、例えば、ＵＳＢデバイスやメモリカードといった取り外し可能なメディアである。また、外部デバイス３は、ＨＤＤ又はパーソナルコンピュータであってもよい。
【００１９】
なお、ＵＳＢデバイスは、機器毎に有効又は無効を設定することができる（機器認証機能）。このため、ＵＳＢデバイスを外部デバイス３として用いる場合、再生装置１００のセキュリティ機能を高めることができる。
【００２０】
上述したようにディスクドライブ部１０１、ネットワーク制御部１０２、又はメディアドライブ部１０３で取得された情報は、データプロセッサ部１０４に供給される。
【００２１】
データプロセッサ部１０４は、供給された情報にエラー訂正処理を施し、データプロセッサ部１０４内のバッファ（図示せず）に格納する。バッファに格納される情報には、例えば、管理情報や動画像情報等が含まれる。管理情報はメモリ部１０５に供給され、動画像情報は分離部１０６に供給される。
【００２２】
メモリ部１０５は、供給された管理情報を記録する。また、メモリ部１０５は、管理情報を再生制御やデータ管理等に利用する。
【００２３】
分離部１０６は、供給された動画像情報を、ビデオ情報、グラフィックユニット情報、オーディオ情報、及びサブピクチャ情報に分離する。また、分離部１０６は、ビデオ情報、グラフィックユニット情報、オーディオ情報、及びサブピクチャ情報を、それぞれビデオデコーダ部１０７、サブピクチャデコーダ部１０８、グラフィックデコーダ部１０９、及びオーディオデコーダ部１１０に供給する。なお、サブピクチャ情報とは、字幕等の画像の情報をいう。
【００２４】
ビデオデコーダ部１０７は、ビデオ情報にデコード処理を施す。また、サブピクチャデコーダ部１０８は、サブピクチャ情報にデコード処理を施す。更に、グラフィックデコーダ部１０９は、グラフィックユニット情報にデコード処理を施す。ビデオデコーダ部１０７でデコード処理が施されたビデオ情報と、サブピクチャデコーダ部１０８でデコード処理が施されたサブピクチャ情報と、グラフィックデコーダ部１０９でデコード処理が施されたグラフィック情報とは、ビデオプロセッサ部１１１に供給される。一方、オーディオデコーダ部１１０でデコード処理が施されたオーディオ情報は、Ｄ／Ａ変換器１１３に供給される。
【００２５】
ビデオプロセッサ部１１１は、ビデオデコーダ部１０７と、サブピクチャデコーダ部１０８と、グラフィックデコーダ部１０９とから供給された情報に重畳処理を施す。また、ビデオプロセッサ部１１１は、重畳した情報をＤ／Ａ変換器１１２に供給する。
【００２６】
Ｄ／Ａ変換器１１２は、ビデオプロセッサ１１１から供給された情報をアナログ信号に変換する。変換された信号は、再生装置１００に接続された映像表示装置（図示せず）にビデオ信号として出力される。映像表示装置は、例えば、液晶ディスプレイ、プラズマディスプレイ、ＣＲＴ（Cathode-Ray Tube）等であってよい。
【００２７】
Ｄ／Ａ変換器１１３は、オーディオデコーダ部１１０から供給されたオーディオ情報をアナログ信号に変換し、変換したアナログ信号をオーディオ信号として音声再生装置（図示せず）に出力する。音声再生装置は、例えば、スピーカ等であってよい。
【００２８】
ＭＰＵ部１１４は、上述したような光ディスク１、ネットワーク機器２、及び外部デバイス３に対する一連の再生動作を制御する制御部として機能する。ＭＰＵ部１１４は、キー入力部１１５からの操作情報を受け、ＲＯＭ部１１６に格納されたプログラムに基づいて、再生装置１００の各部（例えば、図１において、ＭＰＵ部１１４と矢印で接続されている部）を制御する。
【００２９】
次に、図２を参照しつつ、デバッグモードモジュール１１７について、より詳細に説明する。
【００３０】
図２は、デバッグモードモジュール１１７が、外部デバイス３から図１に示す再生装置１００にインストール（アップロード）された後の状態を示すブロック図である。より具体的には、図２は、デバッグモードモジュール１１７を記憶している外部デバイス３と、デバッグモードモジュール１１７を外部デバイス３からインストールした再生装置１００と、再生装置１００に接続されたネットワーク機器２とを表示している。
【００３１】
デバッグモードモジュール１１７は、ユーザに対するインタラクティブな機能を実現するためのコンテンツ（プログラム）をデバッグする機能を有するソフトウェアモジュール（プラグインモジュール）である。このインタラクティブな機能を実現するためのコンテンツは、再生装置１００で再生可能なコンテンツのうちの一部として含まれてもよい。インタラクティブな機能を実現するためのコンテンツには、例えば、ＨＤ  ＤＶＤ規格におけるアドバンストコンテンツが含まれる。また、デバッグモードモジュール１１７は、外部デバイス３から再生装置１００に、必要に応じて（動的に）インストールすることができる。さらに、図２に示すように、外部デバイス３に記憶されるデバッグモードモジュール１１７は、ＨＴＴＰサーバモジュール１１７Ａ、デバッグ端末プラグイン１１７Ｂ、及びプレイヤプラグイン１１７Ｃを含む。
【００３２】
ＨＴＴＰサーバモジュール１１７Ａは、ＨＴＴＰサーバ機能を有する動的ライブラリで構成される。この動的ライブラリは、再生装置１００で実行中のプロセスで用いられ、再生装置１００のＭＰＵ部１１４（図１）で独立したスレッド（ＨＴＴＰサーバスレッド）として実行される。
【００３３】
デバッグ端末プラグイン１１７Ｂは、ＨＴＭＬファイル、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイル、ＰＮＧ／ＪＰＥＧイメージファイル等を含む。これらのファイルは、ＨＴＴＰサーバ２０４（後述）を介してネットワーク機器２に配信されるファイルである。
【００３４】
プレイヤプラグイン１１７Ｃは、スクリプトエンジン２０３（後述）上で実行されるスクリプトファイル、ＸＭＬファイル等を含む。
【００３５】
なお、外部デバイス３に記憶されるデバッグモードモジュール１１７が再生装置１００にインストールされると、ＨＴＴＰサーバモジュール１１７ＡはＨＴＴＰサーバ２０４として機能し、デバッグ端末プラグイン１１７Ｂは、ＧＵＩ画面ファイル２０６及び端末スクリプトファイル２０７として機能し、プレイヤプラグイン１１７Ｃは、状態監視モジュール２０５、プレイヤスクリプトファイル２０８、及びデータ変換モジュール２０９として機能する。
【００３６】
次に、図２を図１と共に参照しつつ、上述したデバッグモードモジュール１１７のインストール後の再生装置１００について、ソフトウェアの観点から説明する。
【００３７】
図２に示されるように、デバッグモードモジュール１１７のインストール後の再生装置１００は、制御モジュール２０１、アドバンストコンテンツアプリケーション２０２、スクリプトエンジン２０３、及びデバッグモードモジュール１１７を含む。デバッグモードモジュール１１７は、ＨＴＴＰサーバ２０４、ＧＵＩ画面ファイル２０６、端末スクリプトファイル２０７、状態監視モジュール２０５、プレイヤスクリプトファイル２０８、及びデータ変換モジュール２０９を含む。なお、図２中、再生装置１００にインストールされたデバッグモードモジュール１１７は、破線で囲まれている。
【００３８】
再生装置１００が通常モードで使用される場合、制御モジュール２０１、アドバンストコンテンツアプリケーション２０２、及びスクリプトエンジン２０３が使用される。一方、再生装置１００がデバッグモードで使用される場合、通常モードで使用される上記モジュールに加えて、デバッグモードモジュール１１７に含まれる各モジュールが使用される。
【００３９】
まず、通常モードで使用されるモジュールについて説明する。
【００４０】
制御モジュール２０１は、再生装置１００のＲＯＭ部１１６（図１）に記憶されている実行プログラムであり、再生装置１００を制御する。より具体的には、制御モジュール２０１は、例えば、ビデオ映像の再生制御、アドバンストコンテンツで必要な状態管理、リソース管理等を行う。制御モジュール２０１は、再生装置１００が起動されると同時に、ＭＰＵ部１１４上で実行される。
【００４１】
アドバンストコンテンツアプリケーション２０２は、例えば、光ディスク１等の情報記憶媒体から再生装置１００に供給される。この場合、アドバンストコンテンツアプリケーション２０２は、光ディスク１から、ディスクドライブ部１０１、データプロセッサ部１０４、及び分離部１０６を介してメモリ部１０５にロードされる。アドバンストコンテンツアプリケーション２０２は、従来のビデオ映像に加えて、ユーザに対するインタラクティブな機能を有する。アドバンストコンテンツアプリケーション２０２は、ビデオコンテンツと同様に、映像スタジオ等のコンテンツオーサ（コンテンツプロバイダ）によって作成される。アドバンストコンテンツアプリケーション２０２は、スクリプト言語（例えば、ＥＣＭＡスクリプト）を用いて記述されたスクリプトファイルと、マークアップ言語（例えば、ＸＭＬ）を用いて記述されたＸＭＬファイルとを含む。スクリプトファイルはスクリプトエンジン２０３によって実行される。ＸＭＬファイルは、スクリプトエンジンと連携し、ＸＭＬエンジン（図示せず）によって処理される。
【００４２】
スクリプトエンジン２０３の実行モジュールは、再生装置１００のＲＯＭ部１１６に記憶されおり、再生装置１００の起動後にＭＰＵ部１１４によって実行される。スクリプトエンジン２０３は、スクリプト言語で記述されたアドバンストコンテンツを実行するモジュールである。スクリプトエンジン２０３は、制御モジュール２０１に対して、ビデオ映像の再生／停止を指示するコマンドや、コンテンツのタイトル一覧の表示を指示するコマンドといった各種のコマンドを発行する。
【００４３】
次に、デバッグモードで使用されるモジュールについて説明する。
【００４４】
ＨＴＴＰサーバ２０４は、再生装置１００とネットワークを介して接続されたネットワーク機器２と通信を行うためのサーバである。ＨＴＴＰサーバ２０４は、再生装置１００のＭＰＵ部１１４で独立したスレッドとして実行され、ネットワーク制御部１０２を介してネットワーク機器２と通信を行う。また、ネットワーク機器２は、ＨＴＴＰサーバ２０４へ各種のコマンドを送信したり、ＨＴＴＰサーバ２０４からの応答をＧＵＩ画面上に表示したりするためのＷｅｂブラウザ１１８を塔載している。
【００４５】
なお、再生装置１００自身がＷｅｂブラウザ機能を有する場合、ネットワーク機器２を再生装置１００に接続する必要はない。この場合は、ネットワーク機器２の代わりに、ビデオプロセッサ部１１１を介してＤ／Ａ変換部１１２から出力されるビデオ信号を映像として表示するＴＶモニタといった表示端末を使用することができる。この際、ＨＤ  ＤＶＤのコンテンツと、デバッグ作業用のＧＵＩ画面とを、表示端末の同一画面上にピクチャーインピクチャー（ＰＩＰ）したり、半透明に重ね合わせて表示したりすることができる。また、ＨＤ  ＤＶＤのコンテンツと、デバッグ作業用のＧＵＩ画面とを、異なる表示端末に表示してもよい。
【００４６】
状態監視モジュール２０５は、制御モジュール２０１及びスクリプトエンジン２０３の状態を監視し、状態変化を検出する。制御モジュール２０１の状態変化には、例えば、映像（コンテンツ）再生状態の変化、ＣＰＵの利用率の変化、コンテンツで利用可能なリソースの使用率の変化等が含まれる。映像再生状態の変化には、例えば、アドバンストアプリケーションの実行の開始／停止、ビデオ映像の再生の開始／停止、タイトルジャンプ、チャプタージャンプ、及び、再生時刻、サブタイトル又は音声等の変化が含まれる。一方、スクリプトエンジン２０３の状態変化の例には、ブレークポイントでの実行中断、ステップ実行、例外発生等が含まれる。また、状態監視モジュール２０５は、コンテンツの再生中（アドバンストアプリケーションの実行中）にエラーが発生したか否かを判定する。
【００４７】
ＧＵＩ画面ファイル２０６は、ＨＴＴＰサーバ２０４によりネットワーク機器２のＷｅｂブラウザ１１８に配信されるファイルであり、例えば、ＨＴＭＬファイル及びイメージファイル等で構成される。ＧＵＩ画面ファイル２０６は、状態監視モジュール２０５によって検出される再生装置１００の状態変化を、ユーザ（コンテンツオーサ）に通知することが可能なＧＵＩ画面を構成する。
【００４８】
端末スクリプトファイル２０７は、ＧＵＩ画面ファイル２０６と同様に、ＨＴＴＰサーバ２０４によってネットワーク機器２のＷｅｂブラウザ１１８に配信されるファイルである。端末スクリプトファイル２０７は、Ｗｅｂブラウザ１１８上で実行される、スクリプト言語で記述されたファイルから構成される。
【００４９】
プレイヤスクリプトファイル２０８は、スクリプト言語で記述されるファイルであり、再生装置１００の状態を制御する。プレイヤスクリプトファイル２０８は、状態監視モジュール２０５によって検出されたアドバンストアプリケーションの開始／停止に応じて、制御モジュール２０１を介してスクリプトエンジン２０３に読み込まれて実行される。
【００５０】
データ変換モジュール２０９は、状態監視モジュール２０５で検出された状態変化を、ＨＴＴＰサーバ２０４を介してネットワーク機器２（又は、Ｗｅｂブラウザ１１８）に送信するためのデータフォーマットに変換する。換言すれば、データ変換モジュール２０９は、上記状態変化をネットワーク機器２（又は、Ｗｅｂブラウザ１１８）が処理可能なデータ形式に変換する。このデータフォーマットには、ＸＭＬやＪＳＯＮ（JavaScript Object Notation）形式等が含まれる。
【００５１】
なお、上述したＨＴＴＰサーバ２０４、ＧＵＩ画面ファイル２０６、端末スクリプトファイル２０７、プレイヤスクリプトファイル２０８、及びデータ変換モジュール２０９は、再生装置１００の状態の変化を、再生装置１００に接続されたネットワーク機器２に送信し、当該変化をユーザに通知する状態通知モジュールとしての機能を実現する。
【００５２】
上記の説明では、デバッグモードモジュール１１７は、必要に応じて外部デバイス３から再生装置１００にインストールされる。但し、デバッグモードモジュール１１７を、予め再生装置１００にインストールしておくことも可能である。
【００５３】
上述したように、本発明の一実施形態によるデバッグ装置（再生装置１００）によれば、デバッグ専用のソフトウェアを搭載した端末を用意することなく、Ｗｅｂブラウザを利用してコンテンツをデバッグすることが可能となる。このため、既存のネットワークを利用したデバッグ環境を容易に構築することができ、デバッグに要するコストを削減することができる。また、広く用いられているＷｅｂブラウザを利用してデバッグ処理を行うことで、コンテンツオーサによるデバッグ処理を簡易化し、開発効率を向上させることができる。
【００５４】
また、本発明の一実施形態によるデバッグ装置によれば、デバッグ本来のハードウェア及びソフトウェア上に、デバッグモードモジュール（１１７）をプラグインモジュールとして必要に応じてインストール（アップロード）することができる。このため、デバッグ装置のファームウェア等を再構築する必要がない。また、予めデバッグ機能が組み込まれたデバッグ装置を使用してデバッグを行う場合と比較して、デバッグの動作環境と実際の動作環境との間の差異が少ない。従って、より正確なデバッグを行うことが可能となる。
【００５５】
さらに、本発明の一実施形態によるデバッグ装置によれば、デバッグ装置のＡＰＩ等を第３者に公開することなく、スタジオ等の第３者によるコンテンツのデバッグが可能となる。
【００５６】
また、本発明の一実施形態によるデバッグ装置によれば、デバッグ装置を通常モードとデバッグモードとの間で簡単に切り替えることができる。このため、例えば、デバッグ装置をデバッグモードに設定してコンテンツをデバッグした後に、デバッグ装置を通常モードに設定して当該コンテンツを再生し、当該コンテンツが正常に動作するかどうかを確認することができる。従って、デバッグ処理の効率を向上させることができる。
【００５７】
次に、図３を参照しつつ、本発明の一実施形態に係るデバッグ方法について説明する。このデバッグ方法は、例えば、図１及び図２に示される再生装置１００に適用することができる。以下、説明の都合上、本実施形態に係るデバッグ方法を再生装置１００に適用した場合を例に説明する。
【００５８】
図３に示すデバッグ方法は、大別して２つの処理、即ち、デバッグ機能を有効にするための処理とデバッグ処理とを含む。これらの処理は、ユーザに対するインタラクティブな機能を実現するためのコンテンツに対して行われる。インタラクティブな機能を有するコンテンツには、例えば、ＨＤ  ＤＶＤ規格におけるアドバンストコンテンツが含まれる。また、本実施形態によるデバッグ方法は、コンテンツの作成時に、コンテンツオーサによって利用される。例えば、映画コンテンツの作成時には、スタジオの従業員によって利用される。
【００５９】
まず、デバッグ機能を有効にするための処理（ステップＳ３０１乃至Ｓ３０８）について説明する。デバッグモードモジュール１１７を格納した外部デバイス３が再生装置１００に接続される（ステップＳ３０１）。外部デバイス３が再生装置１００に接続されると、制御モジュール２０１は、デバッグモードモジュール１１７が再生装置１００に既にインストール（アップロード）されているか否かを判定する（ステップＳ３０２）。この判定は、例えば、ＥＣＭＡスクリプトの特定のクラスが再生装置１００に存在するか否かに基づいて行うことができる。
【００６０】
デバッグモードモジュール１１７が再生装置１００にインストールされていない場合（ステップＳ３０２でＮＯ）、デバッグモードモジュール１１７を外部デバイス３から再生装置１００の特定のメモリ領域にインストールする（ステップＳ３０３）。一方、デバッグモードモジュール１１７が再生装置１００に既にインストールされている場合（ステップＳ３０２でＹＥＳ）、処理はステップＳ３０４に進む。
【００６１】
続いて、ＨＴＴＰサーバ２０４が起動される（ステップＳ３０４）。更に、状態監視モジュール２０５が起動される（ステップＳ３０５）。この状態で、制御モジュール２０１は、アドバンストアプリケーションの起動タイミングか否かを判断する（ステップＳ３０６）。ステップＳ３０６の処理は、アドバンストアプリケーションの起動タイミングに達するまで繰り返される。
【００６２】
アドバンストアプリケーションの起動タイミングに達すると（ステップＳ３０６でＹＥＳ）、デバッグモードモジュール１１７中のプレイヤスクリプトファイル２０８を、アドバンストアプリケーションのコンテンツと共に、スクリプトエンジン２０３に渡す（ステップＳ３０７）。その後、アドバンストアプリケーションが起動される（ステップＳ３０８）。なお、図２には示していないが、ステップＳ３０６において既にアドバンストアプリケーションが起動している場合には、処理はステップＳ３１０へ進む。
【００６３】
次に、デバッグ処理（ステップＳ３０９及びＳ３１０）について説明する。アドバンストアプリケーションの起動（ステップＳ３０８）後、状態監視モジュール２０５は、エラーが発生したか否かを判定する（ステップＳ３０９）。エラーは、例えば、スクリプトファイル又はＸＭＬファイルの実行中に発生し得る。例えば、再生装置１００に接続されたテレビ等の表示装置において、当該表示装置のディスプレイ上の意図しない場所にアイコンが表示され得る。
【００６４】
エラーが発生した場合（ステップＳ３０９でＹＥＳ）、当該エラーをユーザ（コンテンツオーサ）に通知するＷｅｂブラウザ１１８のＧＵＩ画面が、ネットワーク機器２のディスプレイ上に表示され、ユーザは、表示されたＧＵＩ画面を介してエラーを確認し、アドバンストアプリケーションのデバッグ作業を行う（ステップＳ３１０）。例えば、デバッグ作業においては、スクリプトファイル又はＸＭＬファイルが修正される。この場合、例えば、汎用エディタ等を使用して、修正対象のファイルが編集される。編集された（修正された）ファイルは、アドバンストコンテンツの仕様で規定されているフォーマットに変換される。この変換後、修正されたファイル等が、光ディスク１といった情報記憶媒体に記憶され、アドバンストアプリケーションが再度起動される。
【００６５】
なお、デバッグ対象のコンテンツが、再生装置１００に接続されたハードディスクドライブ（ＨＤＤ）から再生される場合、デバッグ作業においては、ＨＤＤに記憶されているスクリプトファイル又はＸＭＬファイルをネットワーク機器２から直接編集（修正）し、その後アプリケーションが再起動される。
【００６６】
ステップＳ３１０におけるデバッグ作業（及びコンパイル）の後、処理はステップＳ３０８に戻る。一方、エラーが発生することなく、アドバンストアプリケーションの処理が終了した場合（ステップＳ３０９でＮＯ）、デバッグ処理は終了する。なお、上記の説明では、ステップＳ３０９で状態監視モジュール２０５がエラーを検出しているが、ネットワーク機器２のディスプレイ上に表示されたＧＵＩ画面をユーザが見て、意図した動作と異なる動作が行われたと判断した場合、その動作もエラーとして扱うこともできる。
【００６７】
次に、図４を参照しつつ、再生装置１００にインストールされたデバッグモードモジュール１１７の機能を有効又は無効にする処理、即ち、再生装置１００をデバッグモードと通常モードとの間で切り替える処理について説明する。
【００６８】
図４は、デバッグモードモジュール１１７がインストールされた再生装置１００を、デバッグモードと通常モードとの間で切り替える処理を説明するためのフローチャートである。なお、図４に示される処理は、外部デバイス３が再生装置１００に接続され、デバッグモードモジュール１１７が、外部デバイス３から再生装置１００インストールされ、デバッグ処理が終了した後に開始される。換言すれば、図３の処理が終了した後に開始される。デバッグ処理の終了時、再生装置１００はデバッグモードで動作している。
【００６９】
まず、制御モジュール２０１は、外部デバイス３が再生装置１００に接続されているか否かを判定する（ステップＳ４０１）。制御モジュール２０１が、外部デバイス３は再生装置１００に接続されていると判定した場合（ステップＳ４０１でＹＥＳ）、再生装置１００はデバッグモードに維持される（ステップＳ４０２）。より具体的には、制御モジュール２０１は、ＨＴＴＰサーバ２０４と状態監視モジュール２０５の動作を停止しない。即ち、再生装置１００内のデバッグモードモジュール１１７の機能は、有効に維持される。ステップＳ４０１及びＳ４０２の処理は、外部デバイス３が再生装置１００に接続されていないと判定されるまで、繰り返される。
【００７０】
一方、制御モジュール２０１が、外部デバイス３は再生装置１００に接続されていない（外部デバイス３と再生装置１００との間の接続が絶たれた）と判定した場合（ステップＳ４０１でＮＯ）、再生装置１００はデバッグモードから通常モードに切り替えられる（ステップＳ４０３）。より具体的には、制御モジュール２０１は、ＨＴＴＰサーバ２０４及び状態監視モジュール２０５の動作を停止する。即ち、再生装置１００内のデバッグモードモジュール１１７の機能は無効になる。従って、再生装置１００は通常モードに維持される（ステップＳ４０４）。
【００７１】
次いで、制御モジュール２０１は、外部デバイス３が再生装置１００に接続されたか否かを判定する（ステップＳ４０５）。制御モジュール２０１が、外部デバイス３は再生装置１００に接続されていないと判定した場合（ステップＳ４０５でＮＯ）、処理はステップＳ４０４に戻る。ステップＳ４０４及びＳ４０５の処理は、外部デバイス３が再生装置１００に接続されたと判定するまで、繰り返される。
【００７２】
一方、制御モジュール２０１が、外部デバイス３は再生装置１００に接続されたと判定した場合（ステップＳ４０５でＹＥＳ）、再生装置１００は通常モードからデバッグモードに切り替えられる（ステップＳ４０６）。より具体的には、制御モジュール２０１は、ＨＴＴＰサーバ２０４及び状態監視モジュール２０５の動作を再起動する。即ち、再生装置１００内のデバッグモードモジュール１１７の機能は有効になる。再生装置１００が通常モードからデバッグモードに切り替えられた後、処理はステップＳ４０１に戻る。
【００７３】
なお、図４及び図５を参照した上記の説明では、通常モードとデバッグモードとの間での切り替えが、外部デバイス３は再生装置１００に接続されているか否かに基づいてなされている。しかし、通常モードとデバッグモードとの間の切替は、別の方法で行うこともできる。例えば、通常モードに対応する隠しコマンドと、デバッグモードに対応する隠しコマンドとを再生装置１００に予め設定しておく方法を採用することができる。この場合、再生装置１００に各種の指示を送信できるリモートコントローラ（図示せず）を用いて当該隠しコマンドを送信することで、通常モードとデバッグモードとの間の切替を行うことができる。
【００７４】
また、再生装置１００にインストール（アップロード）されたデバッグモードモジュール１１７は、その機能を無効にするだけでなく、必要に応じてアンインストールすることもできる。
【００７５】
なお、上述した本発明の一実施形態によるデバッグ方法は、コンピュータによって実行可能なプログラムによって実現することもできる。
【００７６】
上述したように、本発明の一実施形態によるデバッグ方法によれば、デバッグ専用のソフトウェアを搭載した端末を用意することなく、Ｗｅｂブラウザを利用してコンテンツをデバッグすることが可能となる。このため、既存のネットワークを利用したデバッグ環境を容易に構築することができ、デバッグに要するコストを削減することができる。また、広く用いられているＷｅｂブラウザを利用してデバッグ処理を行うことで、コンテンツオーサによるデバッグ処理を簡易化し、開発効率を向上させることができる。
【００７７】
また、本発明の一実施形態によるデバッグ方法によれば、デバッグ装置（再生装置１００）本来のハードウェア及びソフトウェア上に、デバッグモードモジュール（１１７）をプラグインモジュールとして必要に応じてインストール（アップロード）することができる。このため、デバッグ装置のファームウェア等を再構築する必要がない。また、予めデバッグ機能が組み込まれたデバッグ装置を使用してデバッグを行う場合と比較して、デバッグの動作環境と実際の動作環境との間の差異が少ない。従って、より正確なデバッグを行うことが可能となる。
【００７８】
さらに、本発明の一実施形態によるデバッグ方法によれば、デバッグ装置のＡＰＩ等を第３者に公開することなく、スタジオ等の第３者によるコンテンツのデバッグが可能となる。
【００７９】
また、本発明の一実施形態によるデバッグ方法によれば、デバッグ装置を通常モードとデバッグモードとの間で簡単に切り替えることができる。このため、例えば、デバッグ装置をデバッグモードに設定してコンテンツをデバッグした後に、デバッグ装置を通常モードに設定して当該コンテンツを再生し、当該コンテンツが正常に動作するかどうかを確認することができる。従って、デバッグ処理の効率を向上させることができる。
【００８０】
なお、本発明は、上述した実施形態そのままに限定されるものではない。本発明は、実施段階では、その要旨を逸脱しない範囲で構成要素を変更して具現化できる。
【００８１】
また、上記実施形態に開示されている複数の構成要素を適宜に組み合わせることで、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係る、デバッグ装置の概略構成を示すブロック図である。
【図２】デバッグモードモジュールが、外部デバイスから図１に示すデバッグ装置にインストールされた後の状態を示すブロック図である。
【図３】本発明の一実施形態によるデバッグ方法を説明するためのフローチャートである。
【図４】デバッグモードモジュールがインストールされたデバッグ装置を、デバッグモードと通常モードとの間で切り替える処理を説明するためのフローチャートである。
【符号の説明】
【００８３】
１…ディスク、２…ネットワーク機器、３…外部デバイス（外部デバイス）、１００…ＨＤ  ＤＶＤ記録／再生装置、１０１…ディスクドライブ部、１０２…ネットワーク制御部、１０３…メディアドライブ部、１０４…データプロセッサ部、１０５…メモリ部、１０６…分離部（ＤＭＵＸ）、１０７…ビデオデコーダ部、１０８…サブピクチャデコーダ部、１０９…グラフィックデコーダ部、１１０…オーディオデコーダ部、１１１…ビデオプロセッサ部、１１２…Ｄ／Ａ変換部、１１３…Ｄ／Ａ変換部、１１４…ＭＰＵ部、１１５…キー入力部、１１６…ＲＯＭ部、１１７…デバッグモードモジュール、１１７Ａ…ＨＴＴＰサーバモジュール、１１７Ｂ…デバッグ端末プラグイン、１１７Ｃ…プレイヤプラグイン、１１８…Ｗｅｂブラウザ、２０１…制御モジュール、２０２…アドバンストコンテンツアプリケーション、２０３…スクリプトエンジン、２０４…ＨＴＴＰサーバ、２０５…状態監視モジュール、２０６…ＧＵＩ画面ファイル、２０７…端末スクリプトファイル、２０８…プレイヤスクリプトファイル、２０９…データ変換モジュール。
【図１】
2008102874.tif 000003
【図２】
2008102874.tif 000004
【図３】
2008102874.tif 000005
【図４】
2008102874.tif 000006