(57)【特許請求の範囲】
【請求項１】
主コンテンツ処理を行う主コンテンツ処理部と、
従コンテンツ処理を行う従コンテンツ処理部と、
前記主コンテンツ処理部および前記従コンテンツ処理部によって排他的に使用され、設定内容に基づいて、前記主コンテンツ処理および前記従コンテンツ処理のうち選択された処理に適合した処理を行う共用処理部と、
少なくとも前記従コンテンツ処理部の動作状態を示す動作状態データを記憶する記憶部と、
前記従コンテンツ処理部の前記従コンテンツ処理を開始させるとともに、開始させた前記従コンテンツ処理の動作状態を監視し、当該監視結果を基に、前記記憶部に記憶された前記動作態データを更新する監視部と
を有し、
前記主コンテンツ処理部は、前記監視部を起動し、
前記主コンテンツ処理部は、外部から前記従コンテンツ処理の開始要求を受け付けると、前記記憶部の前記動作状態データを、開始要求受付を示すデータに更新し、
前記監視部は、前記記憶部の前記動作状態データが開始要求受付を示すデータに更新されたら前記従コンテンツ処理部の前記従コンテンツ処理を開始させ、
前記従コンテンツ処理部は、前記監視部によって前記従コンテンツ処理が開始されたら、前記従コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更後、前記共用処理部を用いた所定の処理を実行するとともに前記監視部に開始完了メッセージを送信し、
前記監視部は、前記従コンテンツ処理部から開始完了メッセージを受信したら、前記記憶部の前記動作状態データを、前記従コンテンツ処理の開始完了を示すデータに更新し、
前記主コンテンツ処理部は、外部から前記従コンテンツ処理の停止要求を受け付けると、前記記憶部の前記動作状態データを、停止要求受付を示すデータに更新し、
前記監視部は、前記記憶部の前記動作状態データが停止要求受付を示すデータに更新されたことを検出したら、このデータを前記従コンテンツ処理の終了を示すデータに更新し、
前記前記主コンテンツ処理部は、前記記憶部の前記動作状態データが前記従コンテンツ処理の終了を示すデータに更新されたら、前記主コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更し、前記共用処理部を用いた所定の処理を実行する
コンテンツ処理装置。
【請求項２】
主コンテンツ処理を行う主コンテンツ処理部と、
従コンテンツ処理を行う従コンテンツ処理部と、
少なくとも前記従コンテンツ処理部の動作状態を示す動作状態データを記憶する記憶部と、
前記従コンテンツ処理部の前記従コンテンツ処理を開始させるとともに、開始させた前記従コンテンツ処理の動作状態を監視し、当該監視結果を基に、前記記憶部に記憶された前記動作態データを更新する監視部と
を機能として備え、
前記主コンテンツ処理部および前記従コンテンツ処理部によって排他的に使用され、設定内容に基づいて、前記主コンテンツ処理および前記従コンテンツ処理のうち選択された処理に適合した処理を行う共用処理部を制御する
処理回路が行うコンテンツ処理方法であって、
前記主コンテンツ処理部が、前記監視部を起動する第１の工程と、
前記主コンテンツ処理部が、外部から前記従コンテンツ処理の開始要求を受け付けると、前記記憶部の前記動作状態データを、開始要求受付を示すデータに更新する第２の工程と、
前記監視部が、前記記憶部の前記動作状態データが開始要求受付を示すデータに前記第２の工程にて更新されたら前記従コンテンツ処理部の前記従コンテンツ処理を開始させる第３の工程と、
前記従コンテンツ処理部が、前記監視部によって前記従コンテンツ処理が前記第３の工程にて開始されたら、前記従コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更後、前記共用処理部が所定の処理を実行するように制御するとともに前記監視部に開始完了メッセージを送信する第４の工程と、
前記監視部が、前記従コンテンツ処理部から前記第３の工程にて開始完了メッセージを受信したら、前記記憶部の前記動作状態データを、前記従コンテンツ処理の開始完了を示すデータに更新する第５の工程と、
前記主コンテンツ処理部が、外部から前記従コンテンツ処理の停止要求を受け付けると、前記記憶部の前記動作状態データを、停止要求受付を示すデータに更新する第６の工程と、
前記監視部が、前記記憶部の前記動作状態データが停止要求受付を示すデータに前記第６の工程にて更新されたことを検出したら、このデータを前記従コンテンツ処理の終了を示すデータに更新する第７の工程と、
前記前記主コンテンツ処理部が、前記記憶部の前記動作状態データが前記従コンテンツ処理の終了を示すデータに前記第７の工程にて更新されたら、前記主コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更し、前記共用処理部が所定の処理を実行するように制御する第８の工程と
を有するコンテンツ処理方法。
【請求項３】
主コンテンツ処理を行う主コンテンツ処理部と、
従コンテンツ処理を行う従コンテンツ処理部と、
少なくとも前記従コンテンツ処理部の動作状態を示す動作状態データを記憶する記憶部と、
前記従コンテンツ処理部の前記従コンテンツ処理を開始させるとともに、開始させた前記従コンテンツ処理の動作状態を監視し、当該監視結果を基に、前記記憶部に記憶された前記動作態データを更新する監視部と
の機能と、
前記主コンテンツ処理部および前記従コンテンツ処理部によって排他的に使用され、設定内容に基づいて、前記主コンテンツ処理および前記従コンテンツ処理のうち選択された処理に適合した処理を行う共用処理部を制御する機能と
を処理回路によって実行されて実現するプログラムであって、
処理回路が実行するプログラムであって、
前記主コンテンツ処理部は、前記監視部を起動する第１の手順と、
前記主コンテンツ処理部が、外部から前記従コンテンツ処理の開始要求を受け付けると、前記記憶部の前記動作状態データを、開始要求受付を示すデータに更新する第２の手順と、
前記監視部が、前記記憶部の前記動作状態データが開始要求受付を示すデータに前記第２の手順にて更新されたら前記従コンテンツ処理部の前記従コンテンツ処理を開始させる第３の手順と、
前記従コンテンツ処理部が、前記監視部によって前記従コンテンツ処理が前記第３の手順にて開始されたら、前記従コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更後、前記共用処理部が所定の処理を実行するように制御するとともに前記監視部に開始完了メッセージを送信する第４の手順と、
前記監視部が、前記従コンテンツ処理部から前記第４の手順にて開始完了メッセージを受信したら、前記記憶部の前記動作状態データを、前記従コンテンツ処理の開始完了を示すデータに更新する第５の手順と、
前記主コンテンツ処理部が、外部から前記従コンテンツ処理の停止要求を受け付けると、前記記憶部の前記動作状態データを、停止要求受付を示すデータに更新する第６の手順と、
前記監視部が、前記記憶部の前記動作状態データが停止要求受付を示すデータに前記第６の手順にて更新されたことを検出したら、このデータを前記従コンテンツ処理の終了を示すデータに更新する第７の手順と、
前記前記主コンテンツ処理部が、前記記憶部の前記動作状態データが前記従コンテンツ処理の終了を示すデータに前記第７の手順にて更新されたら、前記主コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更し、前記共用処理部が所定の処理を実行するように制御する第８の手順と
を前記処理回路に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主コンテンツ処理と従コンテンツ処理とを起動して実行するコンテンツ処理装置、その方法およびそのプログラムに関する。
【背景技術】
【０００２】
近年、一般家庭内にて、テレビやＶＴＲ(Video Tape Recorder)、ＨＤＤ(Hard
Disk Drive)、ＤＶＲ(Digital Video Recorder)といった画像録画装置を複数保有し、各々を有線ないし無線ＬＡＮ（ローカルエリアネットワーク）インターフェースやＩＥＥＥ１３９４規格のシリアルインターフェースにより接続し、接続された装置同士の操作を連動させるシステムがある。このようなシステムでは、相互接続された装置間の限定された機能の制御情報交換が可能である。加えて、ＤＬＮＡ（Digital  Living  Network  Alliance）等の仕様に基づいてネットワーク上でコンテンツ共有できる機器もあり、サーバ装置内のコンテンツをネットワークで接続された再生装置で視聴するといった楽しみ方をするユーザも増えてきている。
【０００３】
テレビに代表されるＡＶクライアント装置が、ネットワークＨＤＤやＨＤＤレコーダといったＡＶサーバ装置とネットワークによって接続される環境において、上記ＡＶサーバ装置に格納してあるコンテンツをＡＶクライアント装置で視聴するケースが増えている。
これらの機能のうち根幹機能である動画デコーダおよび音声デコーダは、ハードウェアを搭載して実現し、その制御をソフトウェアにて実現している。
ここで、テレビ放送再生とネットワークからのストリーミング再生とは、必要とされるハードウェア機能の基本的な部分は同じであるが、その制御方法が異なる。この場合に、複数のハードウェア機能を個別に搭載すれば、その機能実現が容易であるが、商品コストの上昇に繋がる。
【０００４】
そこで、上述したテレビ放送再生用ハードウェアとストリーミング再生用ハードウェアとを共用化し、その制御方法をソフトウェアだけで実現しようという動きも出てきている。
しかし、ハードウェア機能の共用化にあたり、その機能実現のためのアプリケーション機能の管理、制御において、副機能であるストリーミング再生機能の起動、正常終了、異常終了の状態監視、並びに異常終了によるアプリケーションのデッドロック検出と復帰処理を行う必要がある。
この解決方法として、特開２００５−７８１２２号に開示された「ロック状態検出装置およびロック状態検出方法ならびにそのプログラム」においては、既に起動した監視対象のアプリケーションプロセスに対して、一定周期毎に通信を行いその応答内容、応答の有無により、プロセスの異常検出、並びにロック状態の判定を行い、該異常検出時には、強制終了を行う方法、装置が提案されている。
【０００５】
また、特開２００２−３４２０９５号に開示された「アプリケーションの異常終了検出・復帰方法」においては、システム稼動状態監視部により、起動されたアプリケーションの状態を、前記起動されたアプリケーションから所定時間毎に受信して、起動状態記録を行う。また、前記システム稼動状態監視部は、稼動アプリケーションの異常を検出すると、直ちに、該起動されたアプリケーションを強制終了させ、該当するアプリケーションに前記記録状態を基に、再起動したアプリケーションの状態設定を戻す。
【０００６】
これらの技術は、監視するアプリケーションをシステム起動時に予め起動させておき、その運用状態を常時監視し、異常状態発生時に、その終了方法、復帰方法について、デッドロック回避や、主アプリケーションや監視プロセス間との通信による稼動状態情報保持と再起動時の復帰を行う。また、主アプリケーションとの共有リソースは、副アプリケーションの再起動により初期化することで、復帰が可能である。
【０００７】
【特許文献１】特開２００２−３４２０９５号公報
【特許文献２】特開２００５−０７８１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上述したＡＶクライアント装置において、主ストリーミング再生機能から、従ストリーミング再生機能を直接起動して監視すると、当該起動処理および監視処理によって、主ストリーミング再生処理に停止等の悪影響が出ることがあるという問題がある。
【０００９】
また、上述した特開２００２−３４２０９５号および特開２００５−０７８１２２号においては、起動する副アプリケーションは、それぞれが単独で動作可能な上、システムにおける共有リソースのデッドロックは、異常状態を引き起こした前記副アプリケーションを終了させることで、主アプリケーションの機能復帰が可能であるシステムに関するものである。例えば、ネットワークのメールサーバやバッチ処理を行うサーバ装置である。
ところが、本方法では、例えば、共有リソースを副アプリケーションが使用するにあたり、その設定変更を行う場合に異常が検出され、副アプリケーションの起動ができない場合がある。また、副アプリケーションでの異常状態での終了によっては、正常終了時の場合と共通リソースの再設定方法が異なり、それぞれに対応したプログラムモジュールを構築する必要がある。そのため、プログラムコード数が多くなり、開発負担が大きいという問題があった。
【００１０】
また、上述した従来のシステムでは、主アプリケーションと副アプリケーション、あるいは監視プロセスと副アプリケーションの間でアプリケーションレベルでのメッセージ通信を行い、異常検出を行っている。そのため、通常、副アプリケーションにおいて異常がある場合には、該通信ができないケースもある。このような場合に、タイマを用いた応答時間制限により復帰をさせてことも考えられる。しかしながら、タイマ制御の処理では、応答時間制限値の設定がアプリケーションにより異なり、応答時間が最長のアプリケーションに合わせる必要があり、応答時間が長期化してしまうという問題がある。
【００１１】
本発明はかかる事情に鑑みてなされたものであり、主コンテンツ処理が、従コンテンツ処理の起動や監視等の処理から受ける影響を低減し、主コンテンツ処理を安定にできるコンテンツ処理装置、その方法およびそのプログラムを提供することを目的とする。
また、本発明は、従コンテンツ処理が正常終了および異常終了した場合に、主コンテンツ処理および従コンテンツ処理で共用される処理手段の設定を変更するための処理負担を軽減できるコンテンツ処理装置を提供することを目的とする。
また、本発明は、従コンテンツ処理の終了を早いタイミングで特定して処理時間を短縮できるコンテンツ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の観点の発明のコンテンツ処理装置は、主コンテンツ処理を行う主コンテンツ処理部と、従コンテンツ処理を行う従コンテンツ処理部と、前記主コンテンツ処理部および前記従コンテンツ処理部によって排他的に使用され、設定内容に基づいて、前記主コンテンツ処理および前記従コンテンツ処理のうち選択された処理に適合した処理を行う処理部と、少なくとも前記従コンテンツ処理部の動作状態を示す動作状態データを記憶する記憶部と、前記従コンテンツ処理部の前記従コンテンツ処理を開始させるとともに、開始させた前記従コンテンツ処理の動作状態を監視し、当該監視結果を基に、前記記憶部に記憶された前記動作態データを更新する監視部とを有し、前記主コンテンツ処理部は、外部から前記従コンテンツ処理の開始要求を受け付けると、前記記憶部の前記動作状態データを、開始要求受付を示すデータに更新し、前記監視部は、前記記憶部の前記動作状態データが開始要求受付を示すデータに更新されたら前記従コンテンツ処理部の前記従コンテンツ処理を開始させ、前記従コンテンツ処理部は、前記監視部によって前記従コンテンツ処理が開始されたら、前記従コンテンツ処理に適合するように前記処理部の前記設定内容を変更後、前記処理部を用いた所定の処理を実行するとともに前記監視部に開始完了メッセージを送信し、前記監視部は、前記従コンテンツ処理部から開始完了メッセージを受信したら、前記記憶部の前記動作状態データを、前記従コンテンツ処理の開始完了を示すデータに更新し、前記主コンテンツ処理部は、外部から前記従コンテンツ処理の停止要求を受け付けると、前記記憶部の前記動作状態データを、停止要求受付を示すデータに更新し、前記監視部は、前記記憶部の前記動作状態データが停止要求受付を示すデータに更新されたことを検出したら、このデータを前記従コンテンツ処理の終了を示すデータに更新し、前記前記主コンテンツ処理部は、前記記憶部の前記動作状態データが前記従コンテンツ処理の終了を示すデータに更新されたら、前記主コンテンツ処理に適合するように前記処理部の前記設定内容を変更し、前記処理部を用いた所定の処理を実行する。

【００１３】
第２の観点の発明のコンテンツ処理方法は、主コンテンツ処理を行う主コンテンツ処理部と、従コンテンツ処理を行う従コンテンツ処理部と、少なくとも前記従コンテンツ処理部の動作状態を示す動作状態データを記憶する記憶部と、前記従コンテンツ処理部の前記従コンテンツ処理を開始させるとともに、開始させた前記従コンテンツ処理の動作状態を監視し、当該監視結果を基に、前記記憶部に記憶された前記動作態データを更新する監視部とを機能として備え、前記主コンテンツ処理部および前記従コンテンツ処理部によって排他的に使用され、設定内容に基づいて、前記主コンテンツ処理および前記従コンテンツ処理のうち選択された処理に適合した処理を行う共用処理部を制御する処理回路が行うコンテンツ処理方法であって、前記主コンテンツ処理部が、前記監視部を起動する第１の工程と、前記主コンテンツ処理部が、外部から前記従コンテンツ処理の開始要求を受け付けると、前記記憶部の前記動作状態データを、開始要求受付を示すデータに更新する第２の工程と、前記監視部が、前記記憶部の前記動作状態データが開始要求受付を示すデータに前記第２の工程にて更新されたら前記従コンテンツ処理部の前記従コンテンツ処理を開始させる第３の工程と、前記従コンテンツ処理部が、前記監視部によって前記従コンテンツ処理が前記第３の工程にて開始されたら、前記従コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更後、前記共用処理部が所定の処理を実行するように制御するとともに前記監視部に開始完了メッセージを送信する第４の工程と、前記監視部が、前記従コンテンツ処理部から前記第３の工程にて開始完了メッセージを受信したら、前記記憶部の前記動作状態データを、前記従コンテンツ処理の開始完了を示すデータに更新する第５の工程と、前記主コンテンツ処理部が、外部から前記従コンテンツ処理の停止要求を受け付けると、前記記憶部の前記動作状態データを、停止要求受付を示すデータに更新する第６の工程と、前記監視部が、前記記憶部の前記動作状態データが停止要求受付を示すデータに前記第６の工程にて更新されたことを検出したら、このデータを前記従コンテンツ処理の終了を示すデータに更新する第７の工程と、前記前記主コンテンツ処理部が、前記記憶部の前記動作状態データが前記従コンテンツ処理の終了を示すデータに前記第７の工程にて更新されたら、前記主コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更し、前記共用処理部が所定の処理を実行するように制御する第８の工程とを有する。
【００１４】
第３の観点の発明のプログラムは、主コンテンツ処理を行う主コンテンツ処理部と、従コンテンツ処理を行う従コンテンツ処理部と、少なくとも前記従コンテンツ処理部の動作状態を示す動作状態データを記憶する記憶部と、前記従コンテンツ処理部の前記従コンテンツ処理を開始させるとともに、開始させた前記従コンテンツ処理の動作状態を監視し、当該監視結果を基に、前記記憶部に記憶された前記動作態データを更新する監視部との機能と、前記主コンテンツ処理部および前記従コンテンツ処理部によって排他的に使用され、設定内容に基づいて、前記主コンテンツ処理および前記従コンテンツ処理のうち選択された処理に適合した処理を行う共用処理部を制御する機能とを処理回路によって実行されて実現するプログラムであって、前記主コンテンツ処理部は、前記監視部を起動する第１の手順と、前記主コンテンツ処理部が、外部から前記従コンテンツ処理の開始要求を受け付けると、前記記憶部の前記動作状態データを、開始要求受付を示すデータに更新する第２の手順と、前記監視部が、前記記憶部の前記動作状態データが開始要求受付を示すデータに前記第２の手順にて更新されたら前記従コンテンツ処理部の前記従コンテンツ処理を開始させる第３の手順と、前記従コンテンツ処理部が、前記監視部によって前記従コンテンツ処理が前記第３の手順にて開始されたら、前記従コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更後、前記共用処理部が所定の処理を実行するように制御するとともに前記監視部に開始完了メッセージを送信する第４の手順と、前記監視部が、前記従コンテンツ処理部から前記第４の手順にて開始完了メッセージを受信したら、前記記憶部の前記動作状態データを、前記従コンテンツ処理の開始完了を示すデータに更新する第５の手順と、前記主コンテンツ処理部が、外部から前記従コンテンツ処理の停止要求を受け付けると、前記記憶部の前記動作状態データを、停止要求受付を示すデータに更新する第６の手順と、前記監視部が、前記記憶部の前記動作状態データが停止要求受付を示すデータに前記第６の手順にて更新されたことを検出したら、このデータを前記従コンテンツ処理の終了を示すデータに更新する第７の手順と、前記前記主コンテンツ処理部が、前記記憶部の前記動作状態データが前記従コンテンツ処理の終了を示すデータに前記第７の手順にて更新されたら、前記主コンテンツ処理に適合するように前記共用処理部の前記設定内容を変更し、前記共用処理部が所定の処理を実行するように制御する第８の手順とを前記処理回路に実行させる。
【発明の効果】
【００１９】
本発明によれば、主コンテンツ処理が、従コンテンツ処理の起動や監視等の処理から受ける影響を低減し、主コンテンツ処理を安定にできるコンテンツ処理装置、コンテンツ処理方法およびプログラムを提供することができる。
また、本発明によれば、従コンテンツ処理が正常終了および異常終了した場合に、主コンテンツ処理および従コンテンツ処理で共用される処理手段の設定を変更するための処理負担を軽減できるコンテンツ処理装置を提供することができる。
また、本発明によれば、従コンテンツ処理の終了を早いタイミングで特定して処理時間を短縮できるコンテンツ処理装置を提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態に係るテレビ受像機１について説明する。
図１は、本発明の実施形態に係るテレビ受像機１の構成を説明するための図である。
図１に示すように、テレビ受像機１は、例えば、ハードウェアとして、フロントエンド回路３０、メイン処理回路３２および共通リソース部３４を有する。
なお、図１には、テレビ受像機１が備えるハードウェアおよび機能のうち、本発明の関連性が高いもののみを示している。
【００２１】
本実施形態の構成要素と、本発明の構成用との対応関係の一例は以下のようになる。
ＤＢＳアプリケーションプロセス５２が本発明の主コンテンツ処理手段の一例であり、ＤＬＮＡプロセス５６が本発明の従コンテンツ処理手段の一例であり、監視プロセス５４が本発明の監視手段の一例である。
また、共通リソース部３４が本発明の処理手段の一例である。
また、状態保存部６８が保持する状態遷移データが、本発明の動作状態データの一例である。
【００２２】
先ず、テレビ受像機１の概要を説明する。
テレビ受像機１では、図示しない操作部からの要求に応じてＤＢＳ(Digital
Broadcast Satellite)アプリケーションプロセス５２のテレビアプリケーション処理部６２が監視プロセス５４を起動し、監視プロセス５４がＤＬＮＡプロセス５６を起動してその動作状態を監視する。
そのため、ＤＬＮＡプロセス５６の動作が、ＤＢＳアプリケーションプロセス５２の動作に直接的に影響せず、ＤＢＳアプリケーションプロセス５２の動作を安定化できる。
【００２３】
また、監視プロセス５４は、ＤＬＮＡプロセス５６の動作を監視して、状態保存部６８に記憶されたＤＬＮＡプロセス５６等の動作状態を示す状態遷移データを更新する。ＤＢＳアプリケーションプロセス５２のＩＦアプリケーション部６６は、上記状態遷移データに基づいて、ＤＬＮＡプロセス５６が正常終了した場合と異常終了した場合とで同じシーケンスで共通リソース部３４の設定内容を更新する。当該更新により、共通リソース部３４の設定内容がテレビアプリケーション処理部６２の処理に適合した内容に更新される。
【００２４】
また、テレビ受像機１では、システム機能によるassert処理をＤＬＮＡプロセス５６に行わせることで、共通リソース部３４にデットロック等が生じた場合にプロセスを自動終了させてプロセス終了通知を監視プロセス５４に出力する。また、ＩＦアプリケーション部６６が、正常時においてもＤＬＮＡプロセス５６をシステムコールにより強制終了する。そのため、従来のようにＤＬＮＡプロセスの応答時間の相違による処理時間の長期化を回避できる。
【００２５】
［フロントエンド回路３０］
フロントエンド回路３０は、アンテナ１０で受信したデジタル放送信号にフロントエンド処理を施す。
当該デジタル放送信号は、映像データ、音声データに加えて、番組情報等の付加データを多重化した信号であり、例えば、地上デジタルテレビ放送に利用されるＭＰＥＧ２のＴＳ（Transport Stream）により実現される信号である。
フロントエンド回路３０は、受信した放送波に復調等の処理を行ないＴＳを生成する。
そして、フロントエンド回路３０は、当該ＴＳを、オーディオストリーム（ＡＳ）、ビデオストリーム（ＶＳ）、番組情報等を含むセクションデータ（Ｓ）に分離してメイン処理回路３２に出力する。
【００２６】
以下、テレビ受像機１の構成要素について詳細に説明する。
［メイン処理回路３２］
図１に示すように、メイン処理回路３２は、例えば、ＤＢＳアプリケーションプロセス５２、監視プロセス５４、ＤＬＮＡプロセス５６、コマンドＡ通信部７０、コマンドＢ通信部７２、システム通信部７４をプロセスとして適宜起動する。
メイン処理回路３２の上記プロセスは、例えば、メイン処理回路３２がプログラムを実行することで実現される。
【００２７】
図１に示す各プロセスは、ＬＩＮＵＸ等のオペレーティング・システム上で動作する。
図１において、コマンドＢ通信部７２およびシステム通信部７４の各々は、オペレーティング・システム依存のシステムコールによる通信を行う。
また、相互実行通信部６４およびコマンドＡ通信部７０の各々は、通信先を呼び出し、相手側からの発信を求めるｃａｌｌ  ｂａｃｋ方式の通信を行う。
【００２８】
ＤＢＳアプリケーションプロセス５２は、テレビ放送用受信ビットストリームの再生機能を有するプロセスである。
ＤＢＳアプリケーションプロセス５２は、テレビアプリケーション処理部６２、相互実行通信部６４、ＩＦアプリケーション部６６および状態保存部６８を有する。
テレビアプリケーション処理部６２は、例えば、フロントエンド回路３０から入力したストリームを共通リソース部３４に出力してデコードさせてディスプレイ等に出力する機能を有する。
【００２９】
相互実行通信部６４は、テレビアプリケーション処理部６２とＩＦアプリケーション部６６との間で関数呼び出しを行う機能を有する。
ＩＦアプリケーション部６６は、テレビアプリケーション処理部６２からの要求に応じてシステム通信部７４を介してＤＬＮＡプロセス５６を起動／終了する。
また、ＩＦアプリケーション部６６は、状態保存部６８が記憶された状態遷移データを更新する。
また、ＩＦアプリケーション部６６は、テレビアプリケーション処理部６２からの停止要求に応じて、システムコールにより、ＤＬＮＡプロセス５６を強制終了する。
また、ＩＦアプリケーション部６６は、ＤＬＮＡプロセス５６からテレビアプリケーション処理部６２にプロセスを変更する際に、共通リソース部３４の設定内容をＤＢＳアプリケーションプロセス５２に適合するように変更する。
ＩＦアプリケーション部６６の動作例については後に詳細に説明する。
【００３０】
状態保存部６８は、状態遷移データを記憶し、ＩＦアプリケーション部６６および監視プロセス５４から上記状態遷移データが更新（設定）および参照される。
状態遷移データは、現在の設定状態に応じて次の状態遷移が決定されるステートマシン情報である。
なお、状態保存部６８の記憶機能自体は、例えば、メイン処理回路３２内のメモリで実現される。
また、状態保存部６８への参照および更新のアクセス処理は、複数のプロセス、スレッド間における排他アクセスを行うような制御機能を有しており、本実施形態では、Ｍｕｔｅｘ(Mutal Exclusion:相互排他ロック)取得によるアクセス方法を使用しているが、排他的なアクセスを実現できる方法ならば特に限定されない。
【００３１】
図２は、状態保存部６８が記憶する状態遷移データが示す状態を説明するための図である。
状態遷移データは、後述するように、監視プロセス５４およびＩＦアプリケーション部６６によって、それまでの状態およびＤＬＮＡプロセス５６等からの通知に基づいて構成される。
【００３２】
図２に示すように、状態遷移が示す状態には、例えば、「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」，「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」，「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」，「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」，「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」，「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」の６つがある。
【００３３】
状態「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」は、初期状態を示している。ＩＦアプリケーション部６６が、テレビアプリケーション処理部６２からＤＬＮＡプロセス５６の起動開始要求を受け付ける前および直後は、状態「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」になっている。
また、状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」において、テレビアプリケーション処理部６２のテレビ機能への復帰のために共通リソース部３４のＨＷ（ハードウェア）設定が終了した場合に状態「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」に切り換えられる。
【００３４】
状態「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」は、状態「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」において、ＤＬＮＡプロセス５６の起動開始要求をＩＦアプリケーション部６６が受け付けて、テレビアプリケーション処理部６２の処理の終了等の一連の処理を経た後の状態を示す。状態「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」は、ＤＬＮＡプロセス５６の起動受付完了を示す。
【００３５】
状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」は、状態「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」において、監視プロセス５４がＤＬＮＡプロセス５６を起動した後に切り換えられる状態である。
状態「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」は、状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」においてＩＦアプリケーション部６６がＤＬＮＡプロセス５６の停止要求を受けた場合に切り換えられる状態である。
【００３６】
状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」は、状態「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」において監視プロセス５４がＤＬＮＡプロセス５６からプロセス終了通知を受けた場合に切り換えられる状態である。
状態「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」は、状態「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」においてＤＬＮＡプロセス５６の起動に失敗した場合、状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」においてＤＬＮＡプロセス５６が終了した場合、状態「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」においてＤＬＮＡプロセス５６の終了以外の状態になった場合等に切り換えられる状態である。
【００３７】
監視プロセス５４は、例えば、テレビアプリケーション処理部６２の起動と同時に起動されてもよいし、テレビアプリケーション処理部６２の起動後にテレビアプリケーション処理部６２によって起動されてもよい。
監視プロセス５４は、テレビアプリケーション処理部６２からの開始要求に応じてＤＬＮＡプロセス５６を起動する。
監視プロセス５４は、ＤＬＮＡプロセス５６の動作を監視して、状態保存部６８に記憶されたＤＬＮＡプロセス５６等の動作状態を示す状態遷移データを更新する。
監視プロセス５４は、ＤＬＮＡプロセス５６からのプロセス終了通知と、状態遷移データが示す状態とに基づいて、ＤＬＮＡプロセス５６が正常終了および異常終了のいずれで終了したかを判断し、それに基づいて状態遷移データを更新する。
監視プロセス５４の動作例については後に詳細に説明する。
【００３８】
ＤＬＮＡプロセス５６は、ネットワークからのストリーミングビットデータの再生機能を有するストリーミング再生アプリケーションプロセスである。
コマンドＡ通信部７０は、ＩＦアプリケーション部６６と監視プロセス５４との間のコマンド通信を行う。
コマンドＢ通信部７２は、監視プロセス５４とＤＬＮＡプロセス５６との間のコマンド通信を行う。
システム通信部７４は、ＩＦアプリケーション部６６からＤＬＮＡプロセス５６への通信で、ＬＩＮＵＸ上のシステム関数呼び出しを行う。
【００３９】
ＤＬＮＡプロセス５６は、例えば、監視プロセス５４によって起動され、テレビ受像機１に対してホームネットワーク等を介して接続されているサーバ４０から受信したコンテンツを、共通リソース部３４の機能を用いてデコードしてストリーム再生等するプロセスである。
ＤＬＮＡプロセス５６は、システム機能によるassert処理を行い、デットロック等が生じた場合にプロセスを自動終了させてプロセス終了通知を監視プロセス５４に出力する。
サーバ４０は、デジタル・コンテンツの保存や配信といった機能を備えたＤＭＳ(Digital  Media  Server)であり、テレビ受像機１が当該コンテンツの再生を行うＤＭＳ(Digital  Media  Player）となる。
ホームネットワークは、有線ＬＡＮや無線ＬＡＮ、ＩＰｖ４、ＵＰｎＰ（universal
plug and play）などのネットワークである。
サーバ４０としては、パソコンやセットトップ・ボックス、デジタル・カメラやビデオ・カメラ、多機能な携帯電話機などがある。
【００４０】
［共通リソース部３４］
共通リソース部３４は、フロントエンド回路３０から入力したテレビ放送用受信ビットストリームのデコード処理を行うデコーダ機能及び、画像表示処理を行う表示部のハードウェア機能を有する。デコーダ機能の設定としては、例えば、ＭＰＥＧ-２  ＡＡＣ（Advanced Audio Coding）等の処理の設定がある。ＭＰＥＧ−４，Ｈ２６４．ＡＶＣ等の処理の設定がある。
共通リソース部３４は、ＤＢＳアプリケーションプロセス５２およびＤＬＮＡプロセス５６から、排他的に使用される。
共通リソース部３４は、テレビ放送用受信ビットストリーム再生時と、ネットワークからのストリーミングビットデータ再生時とで異なる設定がなされる。
共通リソース部３４自身は、内部エラーが発生した場合のセルフリセット機能は備えていない。
【００４１】
テレビ受像機１では、共通リソース部３４が、ＤＬＮＡプロセス５６の終了状態によっては、更なる設定が必要であり、その判定も必要となる。
そこで、テレビ受像機１は、ＤＬＮＡプロセス５６の起動に至る経過状態を示す状態遷移データを状態保存部６８に記憶（設定）する。
テレビ受像機１では、ＤＬＮＡプロセス５６が終了した際に、状態保存部６８に記憶された状態遷移データを基に状態判定を行い、テレビ機能へ復帰する再設定方法を分岐処理させている。
本実施形態では、ＤＬＮＡプロセス５６の起動時においては、ストリーミングビットデータ再生用のハードウェア設定を行い、その際に発生した異常終了検出を行い、ＤＬＮＡプロセス５６の未起動時の終了処理を行う。
また、本実施形態では、ストリーミング再生アプリケーションの終了を行う際には、正常終了と異常終了検出のどちらの場合でも、前記テレビ放送用受信ビットストリーム再生設定を、全く同じシーケンスで行い、テレビアプリケーション処理部６２によるテレビ機能プロセスへの復帰に対して影響しない。
【００４２】
以下、図１に示すＩＦアプリケーション部６６の動作例を説明する。
図４は、図１に示すＩＦアプリケーション部６６の動作例を説明するためのフローチャートである。
ＩＦアプリケーション部６６は、メイン処理回路３２のＵＩ(User
Interface)入力と、ＤＬＮＡプロセス５６の終了メッセージ入力との双方に共通に規定したテレビアプリケーション機能要求の受付処理を行う（ステップＳＴ１１）。ここで、ＵＩ入力は、例えば、図示しない操作部のユーザによる操作入力である。
次に、ＩＦアプリケーション部６６は、ＵＩ入力受付であると判断するとステップＳＴ１３に進み、そうでない場合にはステップＳＴ２２に進む。
【００４３】
ＩＦアプリケーション部６６は、ＵＩ入力受付待ちを行い（ステップＳＴ１３）、ＵＩ入力を受けるとステップＳＴ１４に進む。
ＩＦアプリケーション部６６は、受付したＵＩ入力の種別を判定し（ステップＳＴ１４）、ＤＬＮＡプロセス５６の開始要求であれば、開始受付を行う（ステップＳＴ１５）。
ＩＦアプリケーション部６６は、開始受付可能であると判断すると（ステップＳＴ１６）、状態保存部６８に記憶する状態遷移データを状態「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」に更新する（ステップＳＴ１７）。
【００４４】
ＩＦアプリケーション部６６は、受付したＵＩ入力の種別を判定し（ステップＳＴ１４）、ＤＬＮＡプロセス５６の終了要求であれば、終了受付を行う（ステップＳＴ１８）。
ＩＦアプリケーション部６６は、終了受付可能であると判断すると（ステップＳＴ１９）、状態保存部６８に記憶する状態遷移データを状態「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」に更新する（ステップＳＴ２０）。
ＩＦアプリケーション部６６は、プロセス停止コマンド（システムコールｋｉｌｌ）でＤＬＮＡプロセス５６のプロセスを終了させる（ステップＳＴ２１）。
【００４５】
ＩＦアプリケーション部６６は、メッセージ受付であると判断すると（ステップＳＴ２２）、終了メッセージ待ち状態になる（ステップＳＴ２３）。
ＩＦアプリケーション部６６は、受け付けたメッセージの種別を判断し（ステップＳＴ２４）、異常を示す場合に、エラー表示処理を行う（ステップＳＴ２５）。
一方、ＩＦアプリケーション部６６は、メッセージが正常を示す場合に、共通リソース部３４のＨＷ設定を、テレビアプリケーション処理部６２に適合した設定に切り換える（ステップＳＴ２６）。
【００４６】
次に、ＩＦアプリケーション部６６は、状態保存部６８に記憶する状態遷移データを状態「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」に更新する（ステップＳＴ２７）。
そして、ＩＦアプリケーション部６６は、共通リソース部３４を利用したテレビ機能にテレビアプリケーション処理部６２を復帰させる（ステップＳＴ２８）。
【００４７】
以下、図１に示す監視プロセス５４の動作例を説明する。
図５は、図１に示す監視プロセス５４の動作例を説明するためのフローチャートである。
監視プロセス５４は、例えば、テレビアプリケーション処理部６２からＤＬＮＡプロセス５６の起動要求を受けて、ＤＬＮＡプロセス５６を起動可能な状態になったか否かを判断する（ステップＳＴ４１）。
監視プロセス５４は、起動可能な状態であると判断すると、ＤＬＮＡプロセス５６を起動する（ステップＳＴ４２）。当該起動は、例えば、ＩＦアプリケーション部６６が、状態保存部６８の状態遷移データを状態「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」に更新し、それを監視プロセス５４が検出して実行される。
【００４８】
監視プロセス５４は、ＤＬＮＡプロセス５６の終了待ち状態となる（ステップＳＴ４３）。監視プロセス５４は、ＤＬＮＡプロセス５６からのシステムコールによる終了通知を基に、ＤＬＮＡプロセス５６のプロセス終了を検出する。
監視プロセス５４は、ＤＬＮＡプロセス５６が正常終了したと判断すると（ステップＳＴ４４）、正常終了処理を行う（ステップＳＴ４５）。監視プロセス５４は、正常終了処理において、状態遷移データを状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」に更新する。
監視プロセス５４は、ＤＬＮＡプロセス５６が異常終了したと判断すると（ステップＳＴ４６）、正常終了処理を行う（ステップＳＴ４７）。監視プロセス５４は、異常終了処理において、状態遷移データを状態「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」に更新する。
【００４９】
以下、図１に示すテレビ受像機１の全体動作例を説明する。
［ＤＬＮＡプロセス５６の正常起動時の動作例］
以下、テレビアプリケーション処理部６２が開始要求を受けてから、ＤＬＮＡプロセス５６を正常に起動するまでの動作例を説明する。
図６は、当該動作例を説明するための処理フロー図である。
【００５０】
例えば、図示しない操作部からテレビ受像機１にＤＬＮＡプロセス５６の開始指示が入力されると、テレビアプリケーション処理部６２がＤＬＮＡプロセス開始要求をＩＦアプリケーション部６６に出力する（ステップＳＴ１０１）。
このとき、状態保存部６８が記憶する状態遷移データは、初期状態である「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」を示している。
【００５１】
ＩＦアプリケーション部６６は、テレビアプリケーション処理部６２からＤＬＮＡプロセス開始要求を受けると、例えば、テレビ受像機１がＩＰアドレスを既に取得しているか否かを示す問合せ要求をテレビアプリケーション処理部６２に出力する（ステップＳＴ１０２）。
ＩＦアプリケーション部６６は、正常動作時には、既にＩＰアドレスを取得しているため、ＩＰアドレスを取得していることを示す正常応答をＩＦアプリケーション部６６に出力する（ステップＳＴ１０３）。
ＩＦアプリケーション部６６は、テレビアプリケーション処理部６２が共通リソース部３４の機能を用いてデコード処理をすることを停止することを示すＡＶデコード停止要求をテレビアプリケーション処理部６２に出力する（ステップＳＴ１０４）。
テレビアプリケーション処理部６２は、共通リソース部３４を用いたデコード処理を終了し、終了したことを示す正常応答ＩＦアプリケーション部６６に出力する（ステップＳＴ１０５）。
【００５２】
ＩＦアプリケーション部６６は、状態保存部６８が示す状態遷移データを、初期状態を示す「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」から、ＤＬＮＡプロセス５６の起動受付完了を示す「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」に遷移させる（ステップＳＴ１０６）。
【００５３】
一方、監視プロセス５４は、状態遷移データがＤＬＮＡプロセス５６の起動受付が完了したことを示す「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」に遷移することを待っている状態にあり（ステップＳＴ１０７）、上記ステップＳＴ１０６で状態遷移データが「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」に遷移したことを検出すると、ＤＬＮＡプロセス５６を起動する（ステップＳＴ１０８）。
このとき、監視プロセス５４は、コマンドＢ通信部７２により、システムコール「ｆｏｒｋ」を用いて、ＤＬＮＡプロセス５６を起動する。
【００５４】
ＤＬＮＡプロセス５６は、起動されると、先ず、共通リソース部３４の設定をＤＬＮＡプロセス５６に適合したものに変更する。そして、ＤＬＮＡプロセス５６は、例えば、サーバ４０から受信したコンテンツデータを、共通リソース部３４でデコードしながらストリーム再生する（ステップＳＴ１０９）。
ＤＬＮＡプロセス５６は、起動が完了すると、コマンドＢ通信部７２を用いたシステムコールにより、起動完了メッセージを監視プロセス５４に出力する（ステップＳＴ１１０）。
【００５５】
一方、監視プロセス５４は、上記ステップＳＴ１０８の後に、ＤＬＮＡプロセス５６の起動完了待ち状態になり（ステップＳＴ１１１）、上記ステップＳＴ１１０でＤＬＮＡプロセス５６から起動完了メッセージを入力すると、状態遷移データが示す状態を「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」から、ＤＬＮＡプロセス５６の起動済みを示す「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」に遷移させる（ステップＳＴ１１２）。
これにより、ＤＬＮＡプロセス５６の起動に関する一連の処理が完了する。
【００５６】
［ＤＬＮＡプロセス５６の異常起動時の動作例］
以下、テレビアプリケーション処理部６２が開始要求を受けてから、ＤＬＮＡプロセス５６の起動が異常になった場合の動作例を説明する。
図７は、当該動作例を説明するための処理フロー図である。
【００５７】
例えば、図示しない操作部からテレビ受像機１にＤＬＮＡプロセス５６の開始指示が入力されると、テレビアプリケーション処理部６２がＤＬＮＡプロセスの開始要求をＩＦアプリケーション部６６に出力する（ステップＳＴ２０１）。
このとき、状態保存部６８が記憶する状態遷移データは、初期状態である「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」を示している。
【００５８】
ＩＦアプリケーション部６６は、テレビアプリケーション処理部６２が共通リソース部３４の機能を用いてデコード処理をすることを停止することを示すＡＶデコード停止要求をテレビアプリケーション処理部６２に出力する（ステップＳＴ２０２）。
テレビアプリケーション処理部６２は、共通リソース部３４を用いたデコード処理や画面制御処理を終了してＤＬＮＡプロセス５６に制御を引き渡すための処理を行い、制御引き渡し不可と判断すると、エラー応答をＩＦアプリケーション部６６に出力する（ステップＳＴ２０３）。
なお、ＩＦアプリケーション部６６が、例えば、テレビ受像機１がＩＰアドレスを既に取得しているか否かを問合せ要求をテレビアプリケーション処理部６２に出力し、テレビアプリケーション処理部６２がＩＰアドレスを取得していない場合に、上記エラー応答をＩＦアプリケーション部６６に出力してもよい。
【００５９】
ＩＦアプリケーション部６６は、状態保存部６８が示す状態遷移データを、初期状態を示す「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」から、ＤＬＮＡプロセス５６の起動が異常であった（失敗した）ことを示す「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」に遷移させる（ステップＳＴ２０４）。
【００６０】
一方、監視プロセス５４は、状態遷移データがＤＬＮＡプロセス５６の起動受付が完了したことを示す「ＣＴＣ＿ＣＴＣ＿ＳＴＡＲＴ」に遷移することを待っている状態であるが（ステップＳＴ２０５）、当該遷移は行われないため、ＤＬＮＡプロセス５６の起動は行われない。
【００６１】
監視プロセス５４は、ステップＳＴ２０４に続いて、終了条件待ち状態になる（ステップＳＴ２０６）。すなわち、監視プロセス５４は、状態遷移データが、ＤＬＮＡプロセス５６の起動失敗を示す「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」、あるいはＤＬＮＡプロセス５６の正常終了を示す「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」の何れかに遷移した場合に、終了条件を満たしたと判断して、ステップＳＴ２０７に進む。
当該動作例では、状態遷移データが起動失敗を示す「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」に遷移し、監視プロセス５４は異常終了であると判断して（ステップＳＴ２０７）、ユーザへの異常通知として第１エラー表示通知要求をテレビアプリケーション処理部６２に出力する（ステップＳＴ２０８）。
【００６２】
テレビアプリケーション処理部６２は、第１エラー表示通知要求を入力すると、ディスプレイ２８にエラー発生通知を表示する処理を行い、表示完了を示す第１表示完了応答をＩＦアプリケーション部６６に出力する（ステップＳＴ２０９）。ここで、特に、図示しないが、ディスプレイ２８へのエラー発生通知は、ダイアログ表示のように視覚で通知する方法でも、音声案内のように聴覚へ通知する方法でもかまわない。
【００６３】
ＩＦアプリケーション部６６は、第１表示完了応答を受け付けると、アラーム待ち状態となる（ステップＳＴ２１０）。これは、異常検出表示の消去時間経過を待つものである。
そして、ＩＦアプリケーション部６６は、上記消去時間経過後、テレビアプリケーション処理部６２から、アラーム通知を受け付けると（ステップＳＴ２１１）、テレビ機能への復帰のため、共用リソース部３４の再設定処理（ＨＷ再生設定処理）を行う（ステップＳＴ２１４）。
【００６４】
ＩＦアプリケーション部６６は、上記ＨＷ再設定処理が完了すると、完了通知をテレビアプリケーション処理部６２に出力する（ステップＳＴ２１３）。
また、ＩＦアプリケーション部６６は、状態遷移データを初期状態を示す「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」に更新する（ステップＳＴ２１４）。
テレビアプリケーション処理部６２は、上記完了通知を入力すると、共通リソース部３４を用いてテレビ機能を実行する。
【００６５】
［ＤＬＮＡプロセス５６の正常終了時の動作例］
以下、テレビアプリケーション処理部６２が停止要求を受けてから、動作中のＤＬＮＡプロセス５６が正常終了する場合の動作例を説明する。
図８は、当該動作例を説明するための処理フロー図である。
【００６６】
例えば、図示しない操作部からテレビ受像機１にＤＬＮＡプロセス５６の終了指示が入力されると、テレビアプリケーション処理部６２がＤＬＮＡプロセス終了要求をＩＦアプリケーション部６６に出力する（ステップＳＴ３０１）。
このとき、状態保存部６８が記憶する状態遷移データは、ＤＬＮＡプロセス５６が起動されたことを示す状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」を示している。
【００６７】
ＩＦアプリケーション部６６は、状態遷移データを、ＤＬＮＡプロセス５６の停止要求を受けたことを示す状態「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」に遷移させる（ステップＳＴ３０２）。
ＩＦアプリケーション部６６は、ＤＬＮＡプロセス５６を停止する（ステップＳＴ３０３）。このとき、ＩＦアプリケーション部６６は、コマンドＢ通信部７２を用いて、システムコール「ｋｉｌｌ」、すなわちプロセス終了コマンドにより、ＤＬＮＡプロセス５６を停止する。
【００６８】
一方、監視プロセス５４は、先にプロセス終了待ちとしてシステム関数waitpidにて待ち状態にある（ステップＳＴ３０４）。
ここで、システム関数のプロセス終了コマンドによるＤＬＮＡプロセス５６の強制終了を行うと、前記システム関数waitpidへ終了通知が返される（ステップＳＴ３０５）。
これにより、監視プロセス５４は、状態遷移データを、ＤＬＮＡプロセス５６の停止要求を受けたことを示す状態「ＣＴＣ＿ＣＴＣ＿ＳＴＯＰ」から、プロセス終了を示す状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」に遷移させる（ステップＳＴ３０６）。
【００６９】
ＩＦアプリケーション部６６は、ＤＬＮＡプロセス５６を停止した後、状態遷移データが、プロセス終了を示す状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」に遷移したという終了条件が満たされたか否かを判断し、満たされたと判断すると（ステップＳＴ３０７）、終了の種別を判断する（ステップＳＴ３０８）。ここで、ステップＳＴ３０７において、更新の最大待ち時間の設定は、オペレーティング・システムのカーネルのスケジューリング応答時間を考慮したタイムアウト時間を設定し、無限ループ解除を行っている。
【００７０】
そして、ＩＦアプリケーション部６６は、正常終了であると判断すると、テレビ機能への復帰のため、共用リソース部３４の再設定処理（ＨＷ再生設定処理）を行う（ステップＳＴ３０９）。
また、ＩＦアプリケーション部６６は、状態遷移データを初期状態を示す「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」に更新する（ステップＳＴ３１０）。
テレビアプリケーション処理部６２は、上記完了通知を入力すると、共通リソース部３４を用いてテレビ機能を実行する。
【００７１】
［ＤＬＮＡプロセス５６の異常終了時の動作例］
以下、ＤＬＮＡプロセス５６が何らかの要因で異常終了した場合の動作例を説明する。
図９は、当該動作例を説明するための処理フロー図である。
【００７２】
前提として、図６に示すＤＬＮＡプロセス５６の起動完了状態において、状態保存部６８に記憶された状態遷移データは、ＤＬＮＡプロセス５６の起動状態を示す状態「ＣＴＣ＿ＤＬＮＡ＿ＳＴＡＲＴ」になっている。
一方、監視プロセス５４は、先にプロセス終了待ちとしてシステム関数waitpidにて待ち状態にある（ステップＳＴ４０１）。
ＤＬＮＡプロセス５６は、通常ネットワークから受信したストリーミングデータを共通リソース部３４に出力して再生を行っている。
ここで、ＤＬＮＡプロセス５６は、当該ストリーミングデータが異常データ等で共通リソース部３４にて、応答がロックした際に、一定時間無応答により、プロセスを終了する機能を有するとともに、異常なアクセス発生によるオペレーティング・システムのシステム機能による終了も行う。
【００７３】
ここでは、共通リソース部３４の無応答が発生した場合を考えると、ＤＬＮＡプロセス５６は異常状態発生を検出し（ステップＳＴ４０２）、assertにより条件判断処理を行ってプロセス終了を行う。ここで、assertは、プログラム内の所定箇所に挿入され、その場所で成立しているはずの条件を記述しており、デットロック検出を行うために用いられる。
そして、ＤＬＮＡプロセス５６は、コマンドＢ通信部７２を用いたオペレーティング・システムのシステム機能により、プロセス終了通知を監視プロセス５４に出力する（ステップＳＴ４０３）。
【００７４】
監視プロセス５４は、プロセス終了待ち状態で、ＤＬＮＡプロセス５６からプロセス終了通知を入力すると、ＤＬＮＡプロセス５６の異常を検出する。そして、監視プロセス５４は、状態遷移データを、ＤＬＮＡプロセス５６の異常を示す状態「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」に更新する（ＳＴ４０４）。
そして、監視プロセス５４は、ユーザへの異常通知として第２エラー表示通知要求をテレビアプリケーション処理部６２に出力する（ステップＳＴ４０５）。
【００７５】
テレビアプリケーション処理部６２は、第２エラー表示通知要求を入力すると、ディスプレイ２８にエラー発生通知を表示する処理を行い、表示完了を示す第２表示完了応答をＩＦアプリケーション部６６に出力する（ステップＳＴ４０６）。ここで、特に、図示しないが、ディスプレイ２８へのエラー発生通知は、ダイアログ表示のように視覚で通知する方法でも、音声案内のように聴覚へ通知する方法でもかまわない。
【００７６】
ＩＦアプリケーション部６６は、終了条件待ち状態になる（ステップＳＴ４０７）。すなわち、ＩＦアプリケーション部６６は、状態遷移データが、ＤＬＮＡプロセス５６の起動失敗を示す「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」、あるいはＤＬＮＡプロセス５６の正常終了を示す「ＣＴＣ＿ＤＬＮＡ＿ＳＴＯＰ」の何れかに遷移した場合に、終了条件を満たしたと判断して、ステップＳＴ４０８に進む。
当該動作例では、状態遷移データが起動失敗を示す「ＣＴＣ＿ＤＬＮＡ＿ＥＲＲＯＲ」に遷移し、ＩＦアプリケーション部６６は異常終了であると判断して（ステップＳＴ４０８）、アラーム待ち状態となる（ステップＳＴ４０９）。これは、異常検出表示の消去時間経過を待つものである。
そして、ＩＦアプリケーション部６６は、上記消去時間経過後、テレビアプリケーション処理部６２から、アラーム通知を受け付けると（ステップＳＴ４１０）、テレビ機能への復帰のため、共用リソース部３４の再設定処理（ＨＷ再生設定処理）を行う（ステップＳＴ４１１）。
【００７７】
ＩＦアプリケーション部６６は、上記ＨＷ再設定処理が完了すると、完了通知をテレビアプリケーション処理部６２に出力する（ステップＳＴ４１２）。
また、ＩＦアプリケーション部６６は、状態遷移データを初期状態を示す「ＣＴＣ＿ＤＬＮＡ＿ＩＮＩＴ」に更新する（ステップＳＴ４１３）。
テレビアプリケーション処理部６２は、上記完了通知を入力すると、共通リソース部３４を用いてテレビ機能を実行する。
【００７８】
以下、テレビ受像機１の効果を説明する。
上述したように、テレビ受像機１では、図示しない操作部からの要求に応じてＤＢＳアプリケーションプロセス５２のテレビアプリケーション処理部６２が監視プロセス５４を起動し、監視プロセス５４がＤＬＮＡプロセス５６を起動してその動作状態を監視する。
そのため、ＤＬＮＡプロセス５６の動作が、ＤＢＳアプリケーションプロセス５２の動作に直接的に影響せず、ＤＢＳアプリケーションプロセス５２の動作を安定化できる。
【００７９】
また、図８および図９に示すように、テレビ受像機１では、ＤＢＳアプリケーションプロセス５２のＩＦアプリケーション部６６は、監視プロセス５４等によって更新された上記状態遷移データに基づいて、ＤＬＮＡプロセス５６が正常終了した場合と異常終了した場合とで同じシーケンスで、共通リソース部３４の設定内容をテレビアプリケーション処理部６２の処理に適合した内容に更新する。そのため、テレビアプリケーション処理部６２のプログラムコード数を少なくでき、開発負担を軽減できる。
【００８０】
また、テレビ受像機１では、ＤＬＮＡプロセス５６に、システム機能によるassert処理を行わせることで、デットロック等が生じた場合にプロセスを自動終了させてプロセス終了通知を監視プロセス５４に出力させる。また、ＩＦアプリケーション部６６が、正常時においてもＤＬＮＡプロセス５６をシステムコールにより強制終了させる。そのため、従来のようにＤＬＮＡプロセスの応答時間の相違による処理時間の長期化を回避できる。
すなわち、ステートマシン方式によるイベントステート管理と、ＤＬＮＡプロセス５６側のエラー時の終了処理により、プロセス間のメッセージ通信を行わなくとも、リソースのロック状態の監視及び回避が行うことができる。
【００８１】
また、テレビ受像機１では、監視プロセス５４は、状態遷移データを基にＤＬＮＡプロセス５６を起動した後にＤＬＮＡプロセス５６の監視を開始する。そのため、ＤＬＮＡプロセス５６が動作していないときには監視プロセス５４の監視ループ処理を停止でき、メイン処理回路３２のリソースを無駄に使用することなく有効利用できる。また、省電力化が図れる。
【００８２】
また、上述したテレビ受像機１では、ＤＬＮＡプロセス５６からのシステムコールによる終了通知と、状態保存部６８に記憶された状態遷移データとの組み合わせ等によって規定される図２および図３に示す状態遷移により、ＩＦアプリケーション部６６等がＤＬＮＡプロセス５６の終了状態を判断する。そのため、ＩＦアプリケーション部６６は早いタイミングでＤＬＮＡプロセス５６の終了を検出でき、共通リソース部３４の設定変更をＤＢＳアプリケーションプロセス５２が自ら適切なタイミングで行うことができる。これにより、ＤＬＮＡプロセス５６からＤＢＳアプリケーションプロセス５２への変更を早いタイミングで安定して行うことが可能になる。
【００８３】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
例えば、上述した実施形態では、本発明の主コンテンツ処理としてＤＢＳアプリケーションプロセス５２を例示し、従コンテンツ処理としてＤＬＮＡプロセス５６を例示したが、これらは例示であり、ＤＢＳアプリケーションプロセス５２もＤＬＮＡプロセスであってもよい。
【００８４】
また、上述した実施形態では、監視プロセス５４が単数のＤＬＮＡプロセス５６を起動する場合を例示したが、複数のＤＬＮＡプロセス５６を起動してもよい。
また、図２および図３に示す状態遷移データが示す状態は一例であり、ＤＬＮＡプロセス５６の正常終了と異常終了とを特定できれば、様々なものが利用できる。
【００８５】
上述した実施形態では、本発明のコンテンツ処理装置の一例としてテレビ受像機１を例示したが、その他、オーディオ再生装置等のその他の再生装置であってもよい。また、再生装置に限らず、コンテンツに対して何らかの処理をする装置であれば特に限定されない。
【産業上の利用可能性】
【００８６】
本発明は、主コンテンツ処理と従コンテンツ処理とを起動して関連づけて処理を行うシステムに適用可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施形態に係るテレビ受像機の構成を説明するための図である。
【図２】図１に示す状態保存部が記憶する状態遷移データが示す状態を説明するための図である。
【図３】図１に示す状態保存部が記憶する状態遷移データが示す状態の遷移パターンを説明するための図である。
【図４】図１に示すＩＦアプリケーション部の処理を説明するためのフローチャートである。
【図５】図１に示す監視プロセスの処理を説明するためのフローチャートである。
【図６】図１に示すＤＬＮＡプロセス５６の正常起動時の動作例を説明するためのフロー図である。
【図７】図１に示すＤＬＮＡプロセス５６の異常起動時の動作例を説明するためのフロー図である。
【図８】図１に示すＤＬＮＡプロセス５６の正常終了時の動作例を説明するためのフロー図である。
【図９】図１に示すＤＬＮＡプロセス５６の異常終了時の動作例を説明するためのフロー図である。
【符号の説明】
【００８８】
１…テレビ受像機
１０…アンテナ
２８…ディスプレイ
３０…フロントエンド回路
３２…メイン処理回路
３４…共通リソース部
４０…サーバ
５２…ＤＢＳアプリケーションプロセス（本発明の主表示処理手段の一例）
５４…監視プロセス（本発明の監視手段の一例）
５６…ＤＬＮＡプロセス（本発明の従表示処理手段の一例）
６２…テレビアプリケーション処理部
６４…相互実行通信部
６６…ＩＦアプリケーション部
６８…状態保存部（本発明の記憶手段の一例）
７０…コマンドＡ通信部
７２…コマンドＢ通信部
７４…システム通信部
【図１】
0004984144.tif 000002
【図２】
0004984144.tif 000003
【図３】
0004984144.tif 000004
【図４】
0004984144.tif 000005
【図５】
0004984144.tif 000006
【図６】
0004984144.tif 000007
【図７】
0004984144.tif 000008
【図８】
0004984144.tif 000009
【図９】
0004984144.tif 000010