(57)【要約】  スクランブル映像録画時のデスクランブル不可または禁止状態に、不要な録画を防止することができるデジタル放送録画装置を提供する。  デジタル放送録画装置は、デスクランブル不可の状態になったチャンネルを検出するデスクランブル判定部５１５と、デスクランブル不可状態が検出されたチャンネルを録画中の録画データがあれば、録画を停止し、録画中にデスクランブル不可の状態になったことを管理テーブルへ書き込むサービスマネージャ１２０４とを備える。
2008523645.tif 000002
【特許請求の範囲】
【請求項１】
指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第１の復調手段と、
前記第１の復調手段により復調されたスクランブルデータをデスクランブルし、ＭＰＥＧ２トランスポートストリームを出力するデスクランブル手段と、
前記デスクランブル手段により出力されたＭＰＥＧ２トランスポートストリームからＡＶデータと、アプリケーションを構成するファイルシステムとを取り出す取出手段と、
前記ファイルシステムで構成されるアプリケーションを実行する実行手段と、
前記実行されたアプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御手段と、
前記取り出したＡＶデータを前記録画制御手段からの命令に従って録画する録画手段と、
前記録画されたデータを管理するための管理情報を保持する保持手段と、
前記スクランブルデータが前記第１の復調手段にて復調された後、前記ＡＶデータが取り出されるまでの間の処理で発生する異常を検出する検出手段とを備え、
前記録画手段によるデータの録画の最中に前記検出手段にて異常が検出された場合、前記録画制御手段は、前記検出された異常と前記異常の発生した時間を前記管理情報に書き込む
ことを特徴とするデジタル放送録画装置。
【請求項２】
前記検出手段にて異常を検出した場合、前記録画制御手段は、前記録画要求を発行したアプリケーションに異常が検出されたことを通知する
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項３】
前記検出手段は、前記デスクランブル手段でのデスクランブル処理ができるか否かを判定し、前記デスクランブル処理ができない場合、異常を検出する
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項４】
前記検出手段は、前記デスクランブル手段の利用期限に該当する鍵情報が無効となった場合、異常を検出する
ことを特徴とする請求項３記載のデジタル放送録画装置。
【請求項５】
前記デジタル放送録画装置は、さらに、
前記スクランブルデータの周波数帯域とは異なる周波数帯域に含まれるデスクランブルに用いる鍵情報を復調する第２の復調手段を備え、
前記デスクランブル手段は、前記第２の復調手段により復調されたデスクランブルに用いる前記鍵情報を当該デスクランブル手段内部に保存し、
前記検出手段は、前記デスクランブル手段内部に保存されたデスクランブルに用いる前記鍵情報が無効、または、前記第２の復調手段により前記デスクランブルに用いる前記鍵情報が復調できなければ、異常を検出する
ことを特徴とする請求項３記載のデジタル放送録画装置。
【請求項６】
前記デスクランブル手段は、前記デジタル放送録画装置から着脱可能であり、
前記検出手段は、前記デスクランブル手段が前記デジタル放送録画装置から取り外されている場合、異常を検出する
ことを特徴とする請求項３記載のデジタル放送録画装置。
【請求項７】
前記デスクランブル手段は、前記デジタル放送録画装置から着脱可能であり、
前記デジタル放送録画装置は、さらに、
前記データの保存中に、前記デスクランブル手段が前記デジタル放送録画装置から取り出されることを禁止する取り出し制御手段を備える
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項８】
前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止する
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項９】
前記検出手段が異常を検出した場合、前記録画制御手段は、前記録画手段による録画を継続する
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項１０】
前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止した後、前記検出手段にて異常が検出されなくなると、所定の条件に従って前記録画手段による録画の再開を制御する
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項１１】
前記デジタル放送録画装置は、さらに、
前記ＡＶデータの録画中に、前記検出手段が異常を検出した場合、前記異常が検出されてから回復するまでの時間を計測する計測手段を備え、
前記録画制御手段は、前記計測された時間を前記管理情報へ書き込む
ことを特徴とする請求項１０記載のデジタル放送録画装置。
【請求項１２】
前記所定の条件とは、前記計測手段により計測された前記時間が所定の時間以下であれば、前記録画手段による録画を再開する
ことを特徴とする請求項１１記載のデジタル放送録画装置。
【請求項１３】
前記検出手段が異常を検出した場合、前記録画制御手段は、前記異常の原因を特定し、前記特定した原因を前記管理情報へ書き込む
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項１４】
前記デスクランブル手段は、複数のスクランブルデータを同時にデスクランブルし、
前記検出手段は、前記デスクランブル手段で複数の前記スクランブルデータのデスクランブル処理ができるか否かをそれぞれ判定し、複数の前記スクランブルデータのうち前記録画手段が録画するＡＶデータに対応するスクランブルデータのデスクランブル処理ができない場合、異常を検出する
ことを特徴とする請求項３記載のデジタル放送録画装置。
【請求項１５】
前記デジタル放送録画装置は、さらに、
前記録画手段により録画されたＡＶデータを、書き込み可能なメディアに記録するメディア書き込み手段を備える
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項１６】
前記メディア書き込み手段は、前記録画されたＡＶデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするＡＶデータの録画中に異常が発生していた場合には、前記ＡＶデータを前記メディアへ記録しない
ことを特徴とする請求項１５記載のデジタル放送録画装置。
【請求項１７】
前記デジタル放送録画装置は、さらに、
前記録画されたＡＶデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするＡＶデータの録画中に異常が発生していた場合は、録画中に異常が発生したことをユーザに通知する通知手段を備える
ことを特徴とする請求項１５記載のデジタル放送録画装置。
【請求項１８】
前記デジタル放送録画装置は、さらに、
前記通知手段の前記通知に基づくユーザからの指示を取得する指示取得手段を備え、
前記メディア書き込み手段は、前記指示取得手段で取得された前記指示が書き込みである場合に、前記データを前記メディアへ記録する
ことを特徴とする請求項１７記載のデジタル放送録画装置。
【請求項１９】
前記デジタル放送録画装置は、さらに、
前記録画されたＡＶデータを再生する再生手段と、
前記再生手段により録画されたＡＶデータを再生する際、前記管理情報を参照し、再生しようとするＡＶデータの録画中に異常が発生していた場合は、録画中に異常が発生したことをユーザに通知する通知手段とを備える
ことを特徴とする請求項１記載のデジタル放送録画装置。
【請求項２０】
指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第１の復調ステップと、
前記第１の復調ステップにおいて復調されたスクランブルデータをデスクランブルし、ＭＰＥＧ２トランスポートストリームを出力するデスクランブルステップと、
前記デスクランブルステップにおいて出力されたＭＰＥＧ２トランスポートストリームからＡＶデータと、アプリケーションを構成するファイルシステムとを取り出す取出ステップと、
前記ファイルシステムで構成されるアプリケーションを実行する実行ステップと、
前記実行されたアプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御ステップと、
前記取り出したＡＶデータを前記録画制御ステップからの命令に従って録画する録画ステップと、
前記スクランブルデータが前記第１の復調ステップにて復調された後、前記ＡＶデータが取り出されるまでの間の処理で発生する異常を検出する検出ステップとを含み、
前記録画ステップにおけるデータの録画の最中に前記検出ステップにおいて異常が検出された場合、前記録画制御ステップは、前記検出された異常と前記異常の発生した時間を、前記録画されたデータを管理するための管理情報に書き込む
ことを特徴とするデジタル放送録画方法。
【請求項２１】
デジタル放送を録画するためのプログラムであって、
指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第１の復調ステップと、
前記第１の復調ステップにおいて復調されたスクランブルデータをデスクランブルし、ＭＰＥＧ２トランスポートストリームを出力するデスクランブルステップと、
前記デスクランブルステップにおいて出力されたＭＰＥＧ２トランスポートストリームからＡＶデータと、アプリケーションを構成するファイルシステムとを取り出す取出ステップと、
前記ファイルシステムで構成されるアプリケーションを実行する実行ステップと、
前記実行されたプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御ステップと、
前記取り出したＡＶデータを前記録画制御ステップからの命令に従って録画する録画ステップと、
前記スクランブルデータが前記第１の復調ステップにて復調された後、前記ＡＶデータが取り出されるまでの間の処理で発生する異常を検出する検出ステップとをコンピュータに実行させ、
前記録画ステップにおけるデータの録画の最中に前記検出ステップにおいて異常が検出された場合、前記録画制御ステップでは、前記検出された異常と前記異常の発生した時間を、前記録画されたデータを管理するための管理情報に書き込む
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクランブルされたデジタル放送の受信するデジタル放送録画装置に関するものである。特に、番組等の予約録画といった録画処理を行うデジタル放送録画装置、または再生機能を組み込んだデジタル放送録画装置（デジタル放送録画再生装置とも言う）に関するものである。
【背景技術】
【０００２】
デジタル放送では、有料の番組にスクランブル処理を掛けて配信する。配信された番組は、料金を支払ったユーザが持つ端末のみでデスクランブル可能になり、閲覧可能になる。
【０００３】
このデスクランブル機能は、特定の条件なると機能しなくなる。例えば、放送業者との契約期限が切れた場合、契約者を認証するＩＣカードやデスクランブルモジュールが受信端末から抜き取られた場合である。これらの場合、受信端末はスクランブルされた映像を出力するため、ユーザに不快感を与え、番組録画中である場合は不要なスクランブル映像が録画されてしまう。
【０００４】
従来技術では、スクランブル放送の受信装置においてデスクランブルされない状態になった場合は、受信端末の映像出力を切り替えることで問題を回避している（例えば、特開平１０−２１５４４４号公報参照。）。図１に示すように、従来のデスクランブル禁止または不可になったときの対処方法は、主に現在の受信チャンネルで番組が新しくなったかどうかを判定するステップ（ステップ３００１）と、新しい番組が視聴可能かどうかを判定するステップ（ステップ３００２）と、視聴可能ならば現在の受信チャンネルを受信するステップ（ステップ３００３）と、視聴不可能ならばプロモーションチャンネルを受信するステップ（ステップ３００４）で構成されている。
【０００５】
このように従来技術では、デスクランブルが不可能になった場合、受信するチャンネルをデスクランブル可能なチャンネル、またはスクランブル処理が施されていないチャンネルに変更して受信し、出力することでスクランブルの掛かった映像が出力される事を防いでいた。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術においては、スクランブル映像の録画中にデスクランブル不可になった場合、スクランブルされたままの映像の録画は回避できるが、もと番組とは異なる映像へ切り替わった上で録画が継続されてしまうという問題がある。
【０００７】
そのため、記録メディア（ＨＤ（ハードディスク）、書き換え可能な光ディスク、一度だけ書き込みが可能な光ディスク、メモリなど）に記録していた場合、無駄な録画を継続してしまい、結果として視聴者は録画した番組を実際に視聴している間に無駄な録画があることを確認することになり、大変不快な思いをするばかりでなく、記録メディアへ必要の無い無駄な情報が記録されることにより、記憶メディアの空き容量を不要に圧迫してしまう。更には、記録に用いる記録メディアが一度だけ書き込みができるＣＤ−Ｒ（Compact Disk Recordable）やＤＶＤ−Ｒ（Digital Versatile Disk Recordable）などの記録メディアである場合には、上述の状態になると無駄な情報を記録した領域への上書きができなくなるため、最悪の場合、記録メディアそのものを無駄にしてしまう可能性がある。
【０００８】
そこで、本発明は、前記従来の課題を解決するものであり、スクランブル映像録画時のデスクランブル不可または禁止状態において、視聴者にとって不要な録画を防止するまたは視聴者が録画した番組の内容を視聴することなく録画した番組の内容の不具合を認識することができるデジタル放送録画装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るデジタル放送録画装置は、指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第１の復調手段と、前記第１の復調手段により復調されたスクランブルデータをデスクランブルし、ＭＰＥＧ２トランスポートストリームを出力するデスクランブル手段と、前記デスクランブル手段により出力されたＭＰＥＧ２トランスポートストリームからＡＶデータと、アプリケーションを構成するファイルシステムとを取り出す取出手段と、前記ファイルシステムで構成されるアプリケーションを実行する実行手段と、前記実行されたアプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御手段と、前記取り出したＡＶデータを前記録画制御手段からの命令に従って録画する録画手段と、前記録画されたデータを管理するための管理情報を保持する保持手段と、前記スクランブルデータが前記第１の復調手段にて復調された後、前記ＡＶデータが取り出されるまでの間の処理で発生する異常を検出する検出手段とを備え、前記録画手段によるデータの録画の最中に前記検出手段にて異常が検出された場合、前記録画制御手段は、前記検出された異常と前記異常の発生した時間を前記管理情報に書き込むことを特徴とする。
【００１０】
これによって、ＡＶデータの録画中に異常が検出された場合、検出された異常と異常の発生した時間をＡＶデータごとに管理することができる。
【００１１】
ここで、前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止してもよい。
【００１２】
これによって、異常が検出されたＡＶデータを録画することがないので、不要な録画を防止することができる。
【００１３】
また、前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止した後、前記検出手段にて異常が検出されなくなると、所定の条件に従って前記録画手段による録画の再開を制御してもよい。
【００１４】
これによって、デスクランブル処理ができない時間に応じてデータの録画を再開することができる。
【００１５】
また、前記デジタル放送録画装置は、さらに、前記録画手段により録画されたＡＶデータを、書き込み可能なメディアに記録するメディア書き込み手段を備えてもよい。
【００１６】
ここで、前記メディア書き込み手段は、前記録画されたＡＶデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするＡＶデータの録画中に異常が発生していた場合には、前記ＡＶデータを前記メディアへ記録しなくてもよい。
【００１７】
これによって、データの録画中に、異常が検出されたＡＶデータをメディアへ記録するのを防止することができる。
【００１８】
また、前記デジタル放送録画装置は、さらに、前記録画されたＡＶデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするＡＶデータの録画中に異常が発生していた場合は、録画中に異常が発生したことをユーザに通知する通知手段を備えてもよい。
【００１９】
これにより、ユーザはＡＶデータの内容を事前に確認することなく、記録されているデータが録画中に異常が検出されているといった不具合を認識できるようになり、メディアへ記録すべきかどうかを的確に判断ができるようになる。
【００２０】
ここで、前記デジタル放送録画装置は、さらに、前記通知手段の前記通知に基づくユーザからの指示を取得する指示取得手段を備え、前記メディア書き込み手段は、前記指示取得手段で取得された前記指示が書き込みである場合に、前記データを前記メディアへ記録してもよい。
【００２１】
これによって、データの録画中に、異常が検出されているデータをユーザの指示に応じてメディアへ記録することができるばかりか、メディア（特に１度のみデータの書き込みが可能なメディア）への無駄なデータの記録を防止することができる。
【００２２】
なお、本発明は、このようなデジタル放送録画装置として実現することができるだけでなく、このようなデジタル放送録画装置が備える特徴的な手段をステップとするデジタル放送録画方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【００２３】
以上のように、本発明に係るデジタル放送録画装置によれば、データの録画中に異常が検出された場合、検出された異常と異常の発生した時間をデータごとに管理することができる。また、データの録画中に、異常が検出された場合に、無駄なデータの録画の継続を防止することができ、データの録画に使われる資源を節約することができる。よって、スクランブルされたデータを受信し、録画するデジタル放送録画装置が普及している今日における実用的価値は極めて高い。
【００２４】
２００４年１２月８日に出願された、明細書と図面と請求項とを含む日本国特許出願番号２００４−３５５４３０を本願に引用して援用する。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２６】
（実施の形態１）
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図２は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド１０１及び３個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。本実施の形態では、１つのヘッドエンドに対して３つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
【００２７】
ヘッドエンド１０１は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間の伝送に用いられる周波数帯域は、分割して用いられる。図３は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主にヘッドエンド１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図４は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚはヘッドエンド１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、ヘッドエンド１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１からヘッドエンド１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２からヘッドエンド１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３からヘッドエンド１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３からヘッドエンド１０１に送信することができる。図５は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたトランスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【００２８】
ヘッドエンド１０１は、これらの周波数帯域に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、ヘッドエンド１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００２９】
端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、ヘッドエンド１０１からの放送信号を受信し再生する。また、ヘッドエンド１０１に対して、各端末装置固有のデータを送信する。３つの、端末装置は本実施の形態では同じ構成を取る。
【００３０】
図６は、端末装置（デジタル放送録画装置）のハードウェア構成を表すブロック図である。端末装置５００は、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＴＳデコーダ５０５、オーディオデコーダ５０６、音声出力部５０７、ビデオデコーダ５０８、映像出力部５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、入力部５１３、ＣＰＵ５１４、デスクランブル判定部５１５、メディア書込み部５１６で構成される。また端末装置５００には、ＰＯＤ５０４が着脱できる。
【００３１】
図７は、端末装置５００の外観の一例であるデジタル放送受信端末とテレビである。
端末装置６０１は、筐体内に、ＰＯＤ５０４を除く、端末装置５００の構成要素すべてを内蔵している。
【００３２】
信号入力端子６０２は、ヘッドエンド１０１との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子６０２は、図６のＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３と接続されている。
【００３３】
ＰＯＤカード６０３は、図６のＰＯＤ５０４に相当するＰＯＤカードである。ＰＯＤ５０４は、図７のＰＯＤカード６０３のように、端末装置５００とは独立した形態を取り、端末装置５００に着脱可能となっている。ＰＯＤ５０４の詳細は後述する。
【００３４】
挿入スロット６０４は、ＰＯＤカード６０３が挿入される挿入スロットである。
フロントパネル部６０５は、複数のボタンで構成され、図６の入力部５１３に相当する。フロントパネル部６０５のボタンの１つは、ＰＯＤカード６０３を取り出す際に押す、取り出しボタンである。取り出しボタンを押すことでＰＯＤ６０３を取り出すことが出来る。
【００３５】
映像ケーブル６０６は、端末装置６０１からの映像出力をテレビ６０８へ伝えるケーブルである。映像ケーブル６０６は、図６の映像出力部５０９と接続されている。音声ケーブル６０７は、端末装置６０１からの音声出力をテレビ６０８へ伝えるケーブルである。音声ケーブル６０７は、図６の音声出力部５０７と接続されている。
【００３６】
テレビ６０８は、筐体内にディスプレイ６０９およびスピーカー６１０を備え、端末装置６０１からの映像出力と音声出力を映像ケーブル６０６と音声ケーブル６０７を通して受信したデータを、ディスプレイ６０９とスピーカー６１０から出力する。ディスプレイ６０９は、テレビ６０８が受信した映像データを出力する。スピーカー６１０は、テレビ６０８が受信した音声データを出力する。
【００３７】
図６を参照して、ＱＡＭ復調部５０１は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＡＭ変調され送信されてきた信号を復調し、ＣＰＵから指定される、ＰＯＤ５０４またはＴＳデコーダ５０５に引き渡す。
【００３８】
ＱＰＳＫ復調部５０２は、ＣＰＵ５１４から指定された周波数を含むチューニング情報で、ヘッドエンド１０１でＱＰＳＫ変調され送信されてきた信号を復調し、ＰＯＤ５０４に引き渡す。
【００３９】
ＱＰＳＫ変調部５０３は、ＣＰＵ５１４から指定された周波数を含む復調情報で、ＰＯＤ５０４から渡された信号をＱＰＳＫ復調し、ヘッドエンド１０１に送信する。
【００４０】
ＰＯＤ５０４は、図７のように端末装置本体５００から着脱可能な形態をしている。端末本体５００とＰＯＤ５０４の接続インターフェースは、ＯｐｅｎＣａｂｌｅ（登録商標）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
【００４１】
図８は、ＰＯＤ５０４の内部構成を表すブロック図である。ＰＯＤ５０４は、第１デスクランブラ部７０１、第２デスクランブラ部７０２、スクランブラ部７０３、第１記憶部７０４、第２記憶部７０５、ＣＰＵ７０６で構成される。
【００４２】
第１デスクランブラ部７０１は、ＣＰＵ７０６からの指示により、端末装置５００のＱＡＭ復調部５０１から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置５００のＴＳデコーダ５０５と２次記憶部５１０に送る。デコードに必要な鍵などの情報はＣＰＵ７０６から適宜与えられる。具体的には、ヘッドエンド１０１はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第１デスクランブラ部７０１は、ＣＰＵ７０６から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第１デスクランブラ部７０１は、デスクランブルを行わず、受け取った信号をそのまま、ＴＳデコーダ５０５と２次記憶部５１０に送る。
【００４３】
第２デスクランブラ部７０２は、ＣＰＵ７０６からの指示により、端末装置５００のＱＰＳＫ復調部５０２から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをＣＰＵ７０６に引き渡す。
【００４４】
スクランブラ部７０３は、ＣＰＵ７０６からの指示により、ＣＰＵ７０６から受け取ったデータを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に送る。
【００４５】
第１記憶部７０４は、具体的にはＲＡＭ等の一次記憶メモリで構成され、ＣＰＵ７０６が処理を行う際、一時的にデータを保存するために使用される。
【００４６】
第２記憶部７０５は、具体的にはフラッシュＲＯＭ等の２次記憶メモリで構成され、ＣＰＵ７０６が実行するプログラムを格納し、また、電源ＯＦＦになっても消去されては困るデータの保存に使用される。
【００４７】
ＣＰＵ７０６は、第１デスクランブラ部７０１または第２デスクランブラ部７０２でのデスクランブルが出来なくなったとき、図６のデスクランブル検出部５１５に、デスクランブル不可のメッセージを送る。具体的には、ユーザの契約期限が切れたことに起因してＰＯＤ５０４に記憶された鍵（第１の鍵、第２の鍵）が無効となった場合、通信ノイズなどの通信障害によりヘッドエンドから送られるデスクランブルに用いる復号鍵（第４の鍵：Ｏｕｔ  Ｏｆ  Ｂａｎｄに含まれるデータからＱＰＳＫ復調部５０２により取り出してＰＯＤ５０４内に保存）が入手できなくなり、第１デスクランブラ部７０１または第２デスクランブラ部７０２がデスクランブル処理をしない場合である。また、ＣＰＵ７０６は、第２記憶部７０５が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図９は、第２記憶部７０５が記憶するプログラムの一例である。図９では、プログラム８００は、メインプログラム８０１、初期化サブプログラム８０２、ネットワークサブプログラム８０３、再生サブプログラム８０４、ＰＰＶサブプログラム８０５等複数のサブプログラムで構成されている。
【００４８】
ここでＰＰＶとはＰａｙ  Ｐｅｒ  Ｖｉｅｗの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド１０１に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。
【００４９】
メインプログラム８０１は、ＣＰＵ７０６が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
【００５０】
初期化サブプログラム８０２は、電源投入時にメインプログラム８０１によって起動され、端末装置５００との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、ＯｐｅｎＣａｂｌｅ（登録商標）  ＨＯＳＴ−ＰＯＤ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ−Ｉ１２−０３０２１０）及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ復調部５０２に通知する。ＱＰＳＫ復調部５０２は、与えられた第１の周波数でチューニングを行い、信号を第２デスクランブラ部７０２に送る。また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第１の鍵等の復号情報を第２デスクランブラ部７０２に与える。その結果、第２デスクランブラ部７０２は、デスクランブルを行い、初期化サブプログラム８０２を実行するＣＰＵ７０６に引き渡す。よって、初期化サブプログラム８０２は情報を受け取ることができる。本実施の形態では、初期化サブプログラム８０２はネットワークサブプログラム８０３を通して情報を受け取ることとする。詳細は後述する。
【００５１】
また、初期化サブプログラム８０２は、第２記憶部７０５が記憶する第２の周波数を端末装置５００のＣＰＵ５１４を通して、ＱＰＳＫ変調部５０３に通知する。初期化サブプログラム８０２は第２記憶部７０５が記憶する暗号化情報（例えば暗号化に必要なアルゴリズム、またはプログラム等）をスクランブラ部７０３に与える。初期化サブプログラム８０２が送信したい情報を、ネットワークサブプログラム８０３を介して、スクランブラ部７０３に与えると、スクランブラ部７０３は、与えられた暗号化情報を用いて、データを暗号化し、端末装置５００のＱＰＳＫ変調部５０３に与える。ＱＰＳＫ変調部５０３は、与えられた暗号化された情報を変調し、ヘッドエンド１０１に送信する。
【００５２】
この結果、初期化サブプログラム８０２は、端末装置５００、第２デスクランブラ部７０２、スクランブラ部７０３、ネットワークサブプログラム８０３を通して、ヘッドエンド１０１と双方向通信を行うことができる。
【００５３】
ネットワークサブプログラム８０３は、メインプログラム８０１、初期化サブプログラム８０２等の複数のサブプログラムから使用される、ヘッドエンド１０１との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム８０３を使用する他のサブプログラムに対して、ＴＣＰ／ＩＰによって、ヘッドエンド１０１と双方向通信を行っているように振舞う。ＴＣＰ／ＩＰは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム８０３は、電源投入時に初期化サブプログラム８０２に起動されると、予め第２記憶部７０５が記憶しているＰＯＤ５０４を識別する識別子であるＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略）を、端末装置５００を通してヘッドエンド１０１に通知し、ＩＰアドレスの取得を要求する。ヘッドエンド１０１は、端末装置５００を介してＰＯＤ５０４にＩＰアドレスを通知し、ネットワークサブプログラム８０３は、ＩＰアドレスを第１記憶部７０４に記憶する。以降、ヘッドエンド１０１とＰＯＤ５０４は、このＩＰアドレスを、ＰＯＤ５０４の識別子として使用し、通信を行う。
【００５４】
再生サブプログラム８０４は、第２記憶部７０５が記憶する第２の鍵等の復号情報や、端末装置５００から与えられる第３の鍵等の復号情報を第１デスクランブラ部７０１に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム８０３を通して、第１デスクランブラ部７０１に入力されている信号が、ＰＰＶチャンネルであることの情報を受け取る。ＰＰＶチャンネルと知ったときは、ＰＰＶサブプログラム８０５を起動する。
【００５５】
ＰＰＶサブプログラム８０５は、起動されると、端末装置５００を通してテレビ６０８に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置５００のＣＰＵ５１４に画面に表示したい情報を送ると、端末装置５００のＣＰＵ５１４上で動作するプログラムが、端末装置５００の映像出力部５０９にメッセージを表示する映像データを送り、テレビ６０８のディスプレイ６０９にメッセージを表示する。ユーザは、端末装置５００の入力部５１３を通して暗証番号を入力すると、端末装置５００のＣＰＵ５１４が、それを受け取り、ＰＯＤ５０４のＣＰＵ７０６上で動作するＰＰＶサブプログラム８０５に通知する。ＰＰＶサブプログラム８０５は、ネットワークサブプログラム８０３を通してヘッドエンド１０１に受け取った暗証番号を送信する。ヘッドエンド１０１は、暗証番号が正しければ、ネットワークサブプログラム８０３を介して、ＰＰＶサブプログラム８０５に復号に必要な第４の鍵などの復号化情報（第４の鍵に加え、第４の鍵を用いた復号アルゴリズムまたは復号プログラムを含んでいても良い）を通知する。ＰＰＶサブプログラム８０５は受け取った第４の鍵などの復号化情報を第１デスクランブラ部７０１に与え、第１デスクランブラ部７０１は、入力されている信号をデスクランブルする。
【００５６】
図６を参照して、ＴＳデコーダ５０５は、ＰＯＤ５０４から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ５０６及びビデオデコーダ５０８、ＣＰＵ５１４に引き渡す。ここで、ＰＯＤ５０４から来る信号はＭＰＥＧ２トランスポートストリームである。ＭＰＥＧ２トランスポートストリームの詳細はＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８１−１に記載されており、本実施の形態では詳細は省略する。ＭＰＥＧ２トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットＩＤが振られている。図１０はパケットの構成図である。９００はパケットであり、固定長の１８８バイトで構成される。先頭４バイトがヘッダー９０１で、パケットの識別情報を格納しており、残り１８４バイトがペイロード９０２で、送信したい情報を含んでいる。９０３は、ヘッダー９０１の内訳である。先頭から１２ビット目〜２４ビット目までの１３ビットにパケットＩＤが含まれている。図１１は送られてくる複数のパケットの列を表現した模式図である。パケット１００１は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの１番目の情報が入っている。パケット１００２は、ヘッダーにパケットＩＤ「２」を持ち、ペイロードには音声Ａの１番目の情報が入っている。パケット１００３は、ヘッダーにパケットＩＤ「３」を持ち、ペイロードには音声Ｂの１番目の情報が入っている。
【００５７】
パケット１００４は、ヘッダーにパケットＩＤ「１」を持ち、ペイロードには映像Ａの２番目の情報が入っており、これはパケット１００１の続きになっている。同様にパケット１００５、１０２６、１０２７も他のパケットの後続データを格納している。このように、同じパケットＩＤを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【００５８】
図１１を参照して、ＣＰＵ５１４がパケットＩＤ「１」と出力先として「ビデオデコーダ５０８」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「１」のパケットを抽出し、ビデオデコーダ５０８に引き渡す。図１１においては、映像データのみをビデオデコーダ５０８に引き渡すことになる。同時に、ＣＰＵ５１４がパケットＩＤ「２」と「オーディオデコーダ５０６」をＴＳデコーダ５０５に指示すると、ＴＳデコーダ５０５はＰＯＤ５０４から受け取ったＭＰＥＧ２トランスポートストリームからパケットＩＤ「２」のパケットを抽出し、オーディオデコーダ５０６に引き渡す。図１１においては、音声データのみをビデオデコーダ５０８に引き渡すことになる。
【００５９】
このパケットＩＤに応じて必要なパケットだけを取り出す処理が、ＴＳデコーダ５０５が行うフィルタリングである。ＴＳデコーダ５０５はＣＰＵ５１４から指示された複数のフィルタリングを同時に実行することができる。
【００６０】
図６を参照して、オーディオデコーダ５０６は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行い音声出力部５０７に出力する。
【００６１】
音声出力部５０７は、オーディオデコーダ５０６から与えられた信号を出力する。
ビデオデコーダ５０８は、ＴＳデコーダ５０５から与えられたＭＰＥＧ２トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行い映像出力部５０９に出力する。
【００６２】
映像出力部５０９は、ビデオデコーダ５０８から与えられた信号を出力する。
２次記憶部５１０は、書き換え可能なストレージであり、具体的にはフラッシュメモリやハードディスク等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された状態でも保存しつづける。
【００６３】
１次記憶部５１１は、具体的には、ＲＡＭ等で構成され、ＣＰＵ５１４から指示されたデータやプログラムを一時的に保存したり削除したりする。また、保存されているデータやプログラムはＣＰＵ５１４に参照される。保存されているデータやプログラムは、端末装置５００の電源が切断された際に、抹消される。
【００６４】
ＲＯＭ５１２は、書き換え不可能なメモリデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ５１２は、ＣＰＵ５１４が実行するプログラムが格納されている。
【００６５】
入力部５１３は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図１２は、フロントパネルで入力部５１３を構成した場合の一例である。１１００はフロントパネルであり、図７のフロントパネル部６０３に相当する。フロントパネル１１００は９つのボタン、上カーソルボタン１１０１、下カーソルボタン１１０２、左カーソルボタン１１０３、右カーソルボタン１１０４、ＯＫボタン１１０５、取消ボタン１１０６、ＥＰＧボタン１１０７、録画ボタン１１０８、ＰＯＤ取出しボタン１１０９を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ５１４に通知される。
【００６６】
ＣＰＵ５１４は、ＲＯＭ５１２が記憶するプログラムを実行する。実行するプログラムの指示に従い、ＱＡＭ復調部５０１、ＱＰＳＫ復調部５０２、ＱＰＳＫ変調部５０３、ＰＯＤ５０４、ＴＳデコーダ５０５、映像出力部５０９、２次記憶部５１０、１次記憶部５１１、ＲＯＭ５１２、デスクランブル判定部５１５、メディア書込み部５１６を制御する。
【００６７】
デスクランブル判定部５１５は、ＣＰＵから指定されたチャンネルをデスクランブルする条件が揃っているかどうかを判定する装置またはプログラムである。具体的には、ＰＯＤ５０４が物理的に端末５００に挿入されているかの判定やＰＯＤ５０４のＣＰＵ７０６から受けるデスクランブル不可のメッセージによりデスクランブル可能かどうかの条件を判定する。
【００６８】
メディア書込み部５１６は、書き込み可能なメディアのドライブであり、ＣＰＵ５１４から書き込み命令を受け、２次記憶部５１０に保存されているデータをメディアに書き込む。具体的には書き込み可能な、ＤＶＤ−ＲＡＭ、ＤＶＤ―Ｒ、ＤＶＤ−ＲＷ＋、ＤＶＤ−ＲＷ−、Ｂｌｕｅ−ｒａｙ  Ｄｉｓｃ、ＣＲ―Ｒ、ＵＳＢフラッシュメモリやＳＤメモリカードなどのフラッシュメモリのドライブである。
【００６９】
また、メディア書込み部５１６は、図６では端末装置５００の内部にあるものとしたが、端末装置５００の外部にあって、配線などを介して端末装置５００に接続する構成であっても良い。この場合、メディア書込み部５１６は２次記憶部５１０に保存されているデータを端末装置５００の外部にある上述のメディア以外に、メディア書込み部５１６が書き込むことが可能なハードディスクなどにも書き込むことが可能となる。
【００７０】
図１３は、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの構成図の一例である。
【００７１】
プログラム１２００は、複数のサブプログラムで構成され、具体的にはＯＳ１２０１、ＥＰＧ１２０２、Ｊａｖａ（登録商標）ＶＭ１２０３、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５で構成される。
【００７２】
ＯＳ１２０１は、端末装置５００の電源が投入されると、ＣＰＵ５１４が起動するサブプログラムである。ＯＳ１２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ等が一例である。ＯＳ１２０１は、他のサブプログラムを平行して実行するカーネル１２０１ａ及びライブラリ１２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ１２０１のカーネル１２０１ａは、ＥＰＧ１２０２とＪａｖａＶＭ１２０３をサブプログラムとして実行する。また、ライブラリ１２０１ｂは、これらサブプログラムに対して、端末装置５００が保持する構成要素を制御するための複数の機能（例えば関数）を提供する。
【００７３】
機能の一例として、チューニング機能、録画機能、メディア書き込み機能、時刻取得機能を説明する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをＱＡＭ復調部５０１に引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に基づき復調処理を行い、復調したデータをＰＯＤ５０４やＴＳデコーダ５０５に引き渡すことができる。この結果、他のサブプログラムはライブラリ１２０１ｂを通してＱＡＭ復調器を制御することができる。
【００７４】
録画機能は、他のサブプログラムから録画命令、または録画停止命令を受け取り、ＣＰＵ５１４に引き渡す。録画命令を受け取ったＣＰＵ５１４は、録画番組がスクランブルされていない場合ＱＡＭ復調部５０１が復調処理をしたデータを２次記憶部５１０へ保存する。録画番組がスクランブルされている場合ＰＯＤ５０４がデスクランブル処理をしたデータを２次記憶部５１０へ保存する。この結果、他のサブプログラムはライブラリ１２０１ｂを通して、指定した番組を２次記憶部へ保持することができる。録画停止命令を受け取ったＣＰＵ５１４は、上記保存処理を停止する。
【００７５】
メディア書き込み機能は、他のサブプログラムから２次記憶部５１０に記録されている録画情報と書き込み情報を受け取り、２次記憶部５１０に保存されている録画番組をメディアに書き込むようにメディア書込み部５１６へ送る。この結果、他のサブプログラムはライブラリ１２０１ｂを通して、メディア書込み部５１６を制御し、２次記憶部５１０に保存されている録画番組をメディア書込み部５１６に挿入されているメディアへ書き込むことができる。
【００７６】
時刻取得機能は、現在の時刻を取得するための機能である。
ＥＰＧ１２０２は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部１２０２ａと、チャンネル選局を行う再生部１２０２ｂと録画を行う録画部１２０２ｃで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ１２０２は、端末装置５００の電源が投入されると、カーネル１２０１ａによって起動される、起動されたＥＰＧ１２０２の内部では、番組表示部１２０２ａが端末装置５００の入力部５１３を通して、ユーザからの入力を待つ。ここで、入力部５１３が図１２で示されるフロントパネルで構成されている場合、ユーザが、入力部５１３のＥＰＧボタン１１０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報を映像出力部５０９を通してディスプレイ６０９に表示する。図１４Ａ及び図１４Ｂは、ディスプレイ６０９に表示された番組表の一例である。図１４Ａを参照して、ディスプレイ６０９には、格子状に番組情報が表示されている。列１３０１には、時刻情報が表示されている。列１３０２には、チャンネル名「チャンネル１」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１３０３も列１３０２同様、チャンネル名「チャンネル２」と、列１３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。１３３０は、カーソルである。カーソル１３３０は、フロントパネル１１００の左カーソル１１０３と右カーソル１１０４を押下すると移動する。図１４Ａの状態で、右カーソル１１０４を押下すると、カーソル１３３０は右に移動し、図１４Ｂのようになる。また、図１４Ｂの状態で、左カーソル１１０３を押下すると、カーソル１３３０は左に移動し、図１４Ａのようになる。
【００７７】
図１４Ａの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子を再生部１２０２ｂに通知する。図１４Ｂの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子を再生部１２０２ｂに通知する。また、ユーザが、入力部５１３の録画ボタン１１０８を押下すると、録画ボタンの識別子がＣＰＵ５１４に通知される。ＣＰＵ５１４上で動作するサブプログラムであるＥＰＧ１２０２の番組表示部１２０２ａは、この識別子を受け取り、番組情報をディスプレイ６０９に表示する。図１５Ａ及び図１５Ｂは、ディスプレイ６０９に表示された番組表の一例である。図１５Ａを参照して、ディスプレイ６０９には、格子状に番組情報が表示されている。列１４０１には、時刻情報が表示されている。列１４０２には、チャンネル名「チャンネル１」と、列１４０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列１４０３も列１４０２同様、チャンネル名「チャンネル２」と、列１４０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。１４３０は、フォーカス枠である。フォーカス枠１４３０は、フロントパネル１１００の上カーソル１１０１と下カーソル１１０２と左カーソル１１０３と右カーソル１１０４を押下すると移動する。図１５Ａの状態で、右カーソル１１０４を押下すると、フォーカス枠１４３０は右に移動し、図１５Ｂのようになる。また、図１５Ｂの状態で、左カーソル１１０３を押下すると、フォーカス枠１４３０は左に移動し、図１５Ａのようになる。
【００７８】
図１５Ａの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル１」の識別子と「ニュース９」の開始時間と終了時間を録画部１２０２ｃに通知する。図１５Ｂの状態で、フロントパネル１１００のＯＫボタン１１０５が押下されると、番組表示部１２０２ａは、「チャンネル２」の識別子と「映画ＢＢＢ」の開始日時と終了日時を録画部１２０２ｃに通知する。
【００７９】
また、番組表示部１２０２ａは、表示する番組情報を、ＰＯＤ５０４を通してヘッドエンド１０１から定期的に、１次記憶部５１１に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部５１３のＥＰＧボタン１１０７が押下された時、１次記憶部５１１に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【００８０】
再生部１２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部５１０に予め格納されている。図１６は２次記憶部５１０に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列１５０１は、チャンネルの識別子である。列１５０２は、チャンネル名である。列１５０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、ＱＡＭ復調部５０１に与える値である。列１５０４はプログラムナンバーである。プログラムナンバーとは、ＭＰＥＧ２規格で規定されているＰＭＴを識別するための番号である。ＰＭＴに関しては、後述する。行１５１１〜１５１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行１５１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「３１２ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部１２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子と再生命令をサービスマネージャに引き渡す。
【００８１】
また、再生部１２０２ｂは、再生中に、ユーザがフロントパネル１１００の上カーソル１１０１と下カーソル１１０２を押下すると、入力部５１３からＣＰＵ５１４を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部１２０２ｂは、１次記憶部５１１に現在再生中のチャンネルの識別子を記憶する。図１６Ａ、図１６Ｂ及び図１６Ｃは、１次記憶部５１１に保存しているチャンネルの識別子の例である。図１７Ａでは識別子「３」が記憶されており、図１６を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図１７Ａの状態で、ユーザが上カーソル１１０１を押下すると再生部１２０２ｂは、図１６のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「２」に書き換える。図１７Ｂは、チャンネル識別子が書き換えられた状態を表す。また、図１７Ａの状態で、ユーザが下カーソル１１０２を押下すると再生部１２０２ｂは、図１６のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部５１１に記憶されているチャンネル識別子「４」に書き換える。図１７Ｃは、チャンネル識別子が書き換えられた状態を表す。
【００８２】
録画部１２０２ｃは、受け取ったチャンネルの識別子と開始時刻と終了日時を録画データに関する管理情報として２次記憶部５１０に保存する。録画データに関する管理情報は、例えば管理テーブルに表形式で格納される。図１８Ａ及び図１７Ｂは、２次記憶部５１０に保存されている管理テーブルの一例である。列１７０１は、録画データの録画データ識別子（録画番号）である。列１７０２はチャンネル識別子である。このチャンネル識別子は図１６の列１５０１のチャンネル識別子に対応している。列１７０３は、録画を開始する時刻であり、録画を開始する年、月、日、時刻を表している。列１７０４は、録画を終了する時刻であり、録画を終了する年、月、日、時刻を表している。列１７０５は、録画状態を示す値であり、本実施の形態では、録画前は「０」、録画中は「１」、録画終了は「２」の値をもつ。列１７０６は、録画する番組がスクランブル放送かどうかを示す値であり、本実施の形態では、スクランブル放送の場合は「１」、スクランブル放送で無い場合は「０」をもつ。録画部１２０２ｃはライブラリ１２０１ｂを通して録画する番組がスクランブル放送か否かの情報を取得する。列１７０７は、スクランブル放送の録画中の時間にデスクランブルできない状態が存在したかどうかを示す値であり、本実施の形態では、存在した場合は「１」、存在しない場合は「０」の値をもつ。行１７０８、１７０９の各行は、各録画データに関する管理情報であり、録画データ識別子、チャンネル識別子、録画開始時刻、録画終了時刻、実行状態、スクランブル番組かどうかの値、録画中デスクランブルできない状態になったかどうかを示す値の組となる。
【００８３】
また、録画部１２０２ｃは、現在時刻が録画データの開始時刻に達した場合、管理テーブルのこの録画データに対応する管理情報の実行状態を「１」に書き換え、録画データ識別子と録画命令をサービスマネージャ１２０４に渡す。例えば図１８Ａを参照して現在時刻が２００４年３月１０日の１１：００である場合、行１７０９の録画開始時刻に達したので行１７０９の実行状態を「０」から「１」に書き換える。書き換え後の録画データを図１８Ｂに示す。行１７０９の実行状態は１に書き換えられている。次に、録画部１２０２ｃは録画開始時刻に達した録画データである行１７０９の録画データ識別子「２」と録画命令をサービスマネージャ１２０４に引き渡す。
【００８４】
ＪａｖａＶＭ１２０３は、Ｊａｖａ（登録商標）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ５１４が理解可能な実行形式に翻訳してから、ＣＰＵ５１４に引渡し、実行することも行う。ＪａｖａＶＭ１２０３は、カーネル１２０１ａに実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル１２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ１２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、ＪａｖａＶＭ自体の詳細な動作などは、「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【００８５】
サービスマネージャ１２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＪａｖａＶＭ１２０３によって逐次実行される。サービスマネージャ１２０４は、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【００８６】
サービスマネージャ１２０４は、ＪＮＩを通して、再生部１２０２ｂよりチャンネルの識別子と再生命令を受け取り、録画部１２０２ｃより録画データの識別子と録画命令を受け取る。
【００８７】
サービスマネージャ１２０４は、再生部１２０２ｂよりチャンネルの識別子と再生命令を受け取った場合、Ｊａｖａライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ１２０４がチャンネルの識別子「２」をＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１６の列１５１２を参照して、対応するチューニング情報「１５６ＭＨｚ」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、復調したチャンネルがスクランブル放送の場合はＰＯＤ５０４に、スクランブル番組でない場合はＴＳデコーダ５０５に引き渡す。次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５に引き渡す。
【００８８】
次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＪＭＦ１２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
【００８９】
まず、最初にＪＭＦ１２０５ａは、再生すべき映像と音声を特定するためのパケットＩＤをＰＡＴ、ＰＭＴから取得する。ＰＡＴやＰＭＴはＭＰＥＧ２規格で規定されている、ＭＰＥＧ２トランスポートストリーム内の番組構成を表現するテーブルであり、ＭＰＥＧ２トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。ＰＡＴは、Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅの略で、パケットＩＤ「０」のパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＡＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤ「０」とＣＰＵ５１４を指定する。ＴＳデコーダ５０５がパケットＩＤ「０」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＡＴのパケットを収集する。図１９は、収集したＰＡＴの情報の一例を模式的に表した表である。列１８０１は、プログラムナンバーである。列１８０２は、パケットＩＤである。列１８０２のパケットＩＤはＰＭＴを取得するために用いられる。行１８１１〜１８１３は、チャンネルのプログラムナンバーと対応するパケットＩＤの組である。ここでは、３つのチャンネルが定義されている。行１８１１はプログラムナンバー「１０１」とパケットＩＤ「５０１」の組が定義されている。今、ＪＭＦ１２０５ａに与えられたチャンネルの識別子が「２」とすると、ＪＭＦ１２０５ａは、図１６の列１５１２を参照して、対応するプログラムナンバー「１０２」を獲得し、次に、図１９のＰＡＴの行１８１２を参照し、プログラムナンバー「１０２」に対応するパケットＩＤ「５０２」を獲得する。ＰＭＴは、Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅの略で、ＰＡＴで規定されたパケットＩＤのパケットに格納され送信されている。ＪＭＦ１２０５ａは、ＰＭＴを取得するため、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＴＳデコーダ５０５にパケットＩＤとＣＰＵ５１４を指定する。ここで、指定するパケットＩＤは「５０２」とする。ＴＳデコーダ５０５がパケットＩＤ「５０２」でフィルタリングを行い、ＣＰＵ５１４に引き渡すことでＪＭＦ１２０５ａは、ＰＭＴのパケットを収集する。図２０は、収集したＰＭＴの情報の一例を模式的に表した表である。列１９０１は、ストリーム種別であり。列１９０２は、パケットＩＤである。列１９０２で指定されるパケットＩＤのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列１９０３は補足情報である。列１９１１〜１９１４はエレメンタリ−ストリームと呼ばれる、パケットＩＤと送信している情報の種別の組である。列１９１１は、ストリーム種別「音声」とパケットＩＤ「５０１１」の組であり、パケットＩＤ「５０１１」のペイロードには音声が格納されていることを表す。ＪＭＦ１２０５ａは、ＰＭＴから再生する映像と音声のパケットＩＤを獲得する。図２０を参照して、ＪＭＦ１２０５ａは、行１９１１から音声のパケットＩＤ「５０１１」を、行１９１２から映像のパケットＩＤ「５０１２」を獲得する。
【００９０】
次に、ＪＭＦ１２０５ａは、ＯＳ１２０１のライブラリ１２０１ｂを通して、獲得した音声のパケットＩＤと出力先としてオーディオデコーダ５０６、映像のパケットＩＤと出力先としてビデオデコーダ５０８の組を、ＴＳデコーダ５０５に与える。ＴＳデコーダ５０５は与えられたパケットＩＤと出力先に基づいて、フィルタリングを行う。ここではパケットＩＤ「５０１１」のパケットをオーディオデコーダ５０６に、パケットＩＤ「５０１２」のパケットをビデオデコーダ５０８に引き渡す。オーディオデコーダ５０６は、与えられたパケットのデジタル−アナログ変換を行い音声出力部５０７へ出力する。ビデオデコーダ５０８は、与えられたパケットのデジタル−アナログ変換を行い映像出力部５０９に映像を出力する。
【００９１】
最後にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＡＭ１２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＪａｖａＶＭ１２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書ＩＳＯ／ＩＥＣ１３８１８１−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのパケットの中に埋め込まれ送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【００９２】
また、サービスマネージャ１２０４は、録画部１２０２ｃより録画データの識別子と録画命令を受け取った場合、２次記憶部５１０に保存されている録画データの列１７０１から受け取った録画識別子と一致するものを探し、同じ行のチャンネル識別子を、Ｊａｖａライブラリ１２０５の中にあるＴｕｎｅｒ１２０５ｃに引き渡し、チューニングを依頼する。Ｔｕｎｅｒ１２０５ｃは、２次記憶部５１０が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、録画部１２０２ｃが録画データ識別子「２」と録画命令をサービスマネージャ１２０４へ渡すと、サービスマネージャは図１８Ｂの列１７０１から「２」を探し、録画識別子が「２」である行１７０９を特定する。次に録画データ行１７０９のチャンネル識別子である「２」をサービスマネージャ１２０４がＴｕｎｅｒ１２０５ｃに引き渡すと、Ｔｕｎｅｒ１２０５ｃは、図１６の列１５１２を参照して、対応するチューニング情報「１５６ＭＨｚ」を獲得する。Ｔｕｎｅｒ１２０５ｃは、ＯＳ１２０１のライブラリ１２０１ｂを通して、ＱＡＭ復調部５０１にチューニング情報を引き渡す。ＱＡＭ復調部５０１は与えられたチューニング情報に従ってヘッドエンド１０１から送信されてきた信号を復調し、スクランブル番組の場合はＰＯＤ５０４に、スクランブル番組でない場合はＴＳデコーダに引き渡す。次にサービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＣＡ１２０５ｄにデスクランブルを依頼する。ＣＡ１２０５ｄは、ＯＳ１２０１のライブラリ１２０１ｂを通して復号に必要な情報をＰＯＤ５０４に与える。ＰＯＤ５０４は、与えられた情報を元に、ＱＡＭ復調部５０１から与えられた信号を復号しＴＳデコーダ５０５と２次記憶部５１０に引き渡す。次に、サービスマネージャ１２０４は、Ｊａｖａライブラリ１２０５の中にあるＲＥＣ１２０５ｅに録画を依頼する。ＲＥＣ１２０５ｅは、ＯＳ１２０１のライブラリ１２０１ｂを通して２次記憶部５１０に録画命令を与える。２次記憶部５１０は、ＰＯＤ５０４が出力するデータを保存する。ここで、２次記憶部５１０が保存するデータは、ＴＳデコーダ５０５が出力するデータであっても良い。
【００９３】
２次記憶部５１０は端末装置内部に存在するハードディスクなどの記録媒体を例に説明しているが、端末装置５００の外部に存在し、配線などを介して接続するような構成であっても良い。また、２次記憶部５１０は、ハードディスクに限定される必要はなく、光ディスク装置に着脱可能な光ディスクであってもよいし、カードメディアなどの媒体であっても良い。
【００９４】
ＡＭ１２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ１２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているパケットのパケットＩＤを獲得する。今、与えられたチャンネルの識別子が「２」で、図１９のＰＡＴ、図２０のＰＭＴが送信されていると、ＪＭＦ１２０５ａと同様の手順で、図２０のＰＭＴを獲得する。ＡＭ１２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからパケットＩＤを抽出する。図２０を参照して、行１９１３のエレメンタリ−ストリームが該当し、パケットＩＤ「５０１３」を獲得する。
【００９５】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＡＩＴのパケットＩＤと出力先ＣＰＵ５１４を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、ＡＩＴのパケットを収集することができる。図２１は、収集したＡＩＴの情報の一例を模式的に表した表である。列２００１はＪａｖａプログラムの識別子である。列２００２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置５００がこのプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はプログラムを停止することを意味する。列２００３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるパケットＩＤを抽出するためのＤＳＭＣＣ識別子である。列２００４はＪａｖａプログラムのプログラム名である。行２０１１と２０１２は、Ｊａｖａプログラムの情報の組である。行２０１１で定義されるＪａｖａプログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行１８１２で定義されるＪａｖａプログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで２つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に２つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して４つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【００９６】
ＡＭ１２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図２１を参照して、ＡＭ１２０５ｂは行２０１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａプログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【００９７】
次にＡＭ１２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ＪａｖａプログラムをＤＳＭＣＣ方式で格納しているパケットのパケットＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのパケットＩＤを取得する。
【００９８】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図２０とすると、行１９１４のエレメンタリ−ストリームが合致し、パケットＩＤ「５０１４」を取り出す。
【００９９】
ＡＭ１２０５ｂは、ＯＳ１２０１のライブラリ１２０１ｂを通してＴＳデコーダ５０５にＤＳＭＣＣ方式でデータが埋めこめられたパケットのパケットＩＤと出力先としてＣＰＵ５１４を指定する。ここでは、パケットＩＤ「５０１４」を与える。ＴＳデコーダ５０５、与えられたパケットＩＤでフィルタリングを行い、ＣＰＵ５１４に引き渡す。この結果、ＡＭ１２０５ｂは、必要なパケットを収集することができる。ＡＭ１２０５ｂは、収集したパケットから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部５１１に保存する。ＭＰＥＧ２トランスポート中のパケットからファイルシステム等のデータを取り出し１次記憶部５１１等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
【０１００】
図２２は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、２１０１はルートディレクトリ、２１０２はディレクトリ「ａ」，２１０３はディレクトリ「ｂ」，２１０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、２１０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０１０１】
次にＡＭ１２０５ｂは、１次記憶部５１１にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ１２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２２を参照して、ファイル２１０４が実行すべきＪａｖａプログラムである。次にＡＭ１２０５ｂは、ファイル２１０４をＪａｖａＶＭ１２０３に引き渡す。
【０１０２】
ＪａｖａＶＭ１２０３は、引き渡されたＪａｖａプログラムを実行する。
サービスマネージャ１２０４は、他のチャンネルの識別子と再生命令を受け取ると、Ｊａｖａライブラリ１２０５に含まれる各ライブラリを通して再生している映像・音声及びＪａｖａプログラムの実行を、同じくＪａｖａライブラリ１２０５に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びＪａｖａプログラムの実行を行う。また、サービスマネージャ１２０４は、他のチャンネルの識別子と録画命令を受け取る場合は、Ｊａｖａプログラムの実行は行わない。録画の場合は、Ｊａｖａプログラムの実行を行わないことで、ＣＰＵ５１４や１次記憶部５１１の使用量を削減することが出来る。また、サービスマネージャ１２０４は、スクランブル映像の録画中に、ＰＯＤ取出しボタン１１０９が押下されてもＰＯＤ６０３の取り出しを行わないように制御する。このとき、実際にＰＯＤ６０３の取出しが実行される前にデスクランブル映像を録画中であることを示すメッセージをユーザに通知することも可能である。
【０１０３】
Ｊａｖａライブラリ１２０５は、ＲＯＭ５１２に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、ここでは、Ｊａｖａライブラリ１２０５は、ＪＭＦ１２０５ａ、ＡＭ１２０５ｂ、Ｔｕｎｅｒ１２０５ｃ、ＣＡ１２０５ｄ、ＲＥＣ１２０５ｅ、ＰＯＤ  Ｌｉｂ１２０５ｆ等を含んでいる。
【０１０４】
ＲＥＣ１２０５ｅは、ライブラリ１２０１ｂを利用して録画を行う機能を持つ。ＲＥＣ１２０５ｅは、サービスマネージャ１２０４からの録画命令と録画停止命令を入力とする。ＲＥＣ１２０５ｅは、録画命令が入力された場合、ライブラリ１２０１ｂへ録画命令を出力する。また、録画停止命令が入力された場合、ライブラリ１２０１ｂへ録画停止命令を出力する。
【０１０５】
次に、本実施の形態の主要機能である録画自動停止機能について説明する。
サービスマネージャ１２０４は、録画部１２０２ｃから録画データ識別子と録画命令を受け取り、Ｊａｖａライブラリ１２０５に含まれるＲＥＣ１２０５ｅを通して、番組を２次記憶部５１０に保存することができる。
【０１０６】
本実施の形態の主要機能である録画自動停止機能は、録画実行中にデスクランブル不可の状態になった場合、サービスマネージャ１２０４が行っている録画を自動的に停止する。
【０１０７】
図２３は、録画中にデスクランブル不可状態になった場合のフローチャートである。
まず、デスクランブル判定部５１５が、デスクランブル不可の状態になったチャンネルを検出する（ステップ２２０１）。これは、ＰＯＤ５０４の着脱状態を端末装置５００側で検出（例えばＰＯＤ５０４の抜くための入力ボタンが押されたことを検出したり、ＰＯＤ５０４と端末装置５００との間で一定時間毎に信号のやり取りを行いＰＯＤ５０４側からの信号が一定時間来ないことを端末装置が検出するなど）したり、ＰＯＤ５０４のＣＰＵ７０６から受けるデスクランブル不可のメッセージを受信することにより行われる。なお、ＰＯＤ５０４は、鍵自体が取得できない場合や取得した鍵が必要な鍵と異なっていた場合、鍵が無効な場合、ＰＯＤ５０４が複数のスクランブルデータをデスクランブルできる場合において録画対象のスクランブルデータがデスクランブルできない場合等に、デスクランブルが不可になった旨をデスクランブル判定部５１５へ通知する。
【０１０８】
次にデスクランブル判定部５１５は、サービスマネージャ１２０４へデスクランブル不可となったチャンネル識別子を引き渡す（ステップ２２０２）。
【０１０９】
次にサービスマネージャ１２０４は、デスクランブル判定部５１５から引き渡されたデスクランブル不可状態のチャンネル識別子で示されるチャンネルを録画中とする録画データに関する管理情報を、２次記憶部５１０に格納されている管理テーブルから探す（ステップ２２０３）。具体的には図１８Ｂの列１７０２のチャンネル識別子が受け取ったチャンネル識別子と一致し、かつ録画実行状態を示す列１７０５の値が「１」である行を探す。今、サービスマネージャ１２０４がデスクランブル判定部５１５から、チャンネル識別子「２」のデスクランブルが不可状態となったメッセージを受け取ったとすると、図１８Ｂに示す管理テーブルの行１７０９が該当する録画データとなる。
【０１１０】
次にサービスマネージャ１２０４は、デスクランブル不可となったチャンネルを録画中とする録画データを見つけた場合（ステップ２２０４でＹｅｓ）、Ｊａｖａライブラリ１２０５に含まれるＲＥＣ１２０５ｅへ録画停止命令を出力する。録画停止命令を入力されたＲＥＣ１２０５ｅは、ライブラリ１２０１ｂへ録画停止命令を出力し、録画を停止させる（ステップ２２０５）。もし、見つからなかった場合（ステップ２２０４でＮｏ）は、何もしない。また、事前にユーザが設定した設定ファイルを参照して、録画を停止させるか否かを判断しても良い。
【０１１１】
次にサービスマネージャ１２０４は、２次記憶部５１０に保存されている管理テーブルに、録画中にデスクランブル不可の状態になったことを書き込む（ステップ２２０６）。具体的には、図１８Ｂに示す管理テーブルの列１７０７の値を「０」から「１」に書き換える。
【０１１２】
なお、本実施の形態では、ＥＰＧ１２０２、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５は、Ｊａｖａ言語で記述されたソフトウェアとして説明しているが、これらのプログラムはＪａｖａ以外の言語であるＣ言語やネイティブ言語、またはハードウェアによって実装されていてもよい。
【０１１３】
なお、本実施の形態においてサービスマネージャ１２０４は、デスクランブル不可となったチャンネルを録画中とする録画データを見つけた場合、ＲＥＣ１２０５ｅを通じて録画を停止させるようにしたが、このとき録画要求を発行したＥＰＧ１２０２（ダウンロードしたアプリケーション）へ通知するようにしてもよい。このようにすると、ＥＰＧ１２０２は、発行した録画要求に対する録画中に異常が発生したことを知ることができ、異常が発生した録画データに対して、正常な録画データに対する処理とは異なる処理を行うことが可能となる（例えば、異常が発生した録画データを削除したり、ユーザに異常が発生したことを通知したり、同じ番組が再放送される際に録画を再予約するなどの処理を行える）。
【０１１４】
以上が、本実施の形態における録画自動停止機能である。この機能により、録画中にデスクランブル不可の状態になった場合に無駄な録画を自動的に停止することが可能となるので、端末装置内に設けた録画データを記録、保存する２次記憶部５１０の空き容量を不必要に圧迫することがなくなる。
【０１１５】
（実施の形態２）
実施の形態１では、録画中にデスクランブル不可状態になった場合は録画を停止させていた。しかし、デスクランブル不可の状態である時間が短く、すぐにまたデスクランブル可能な状態になる場合、番組がスクランブルされた状態で録画される時間も短いため、その番組の録画を継続した方が、ユーザにとって良い場合もある。
【０１１６】
よって本実施の形態では、録画中にデスクランブル不可の状態になっても録画を継続する。しかし、２次記憶部５１０に録画された番組を、メディア書込み部５１６に挿入されているメディアに書き込む場合は、書き込みを行うかどうかをユーザに確認する。
【０１１７】
図２４は、本実施の形態において番組録画中にデスクランブル不可状態になった場合の録画機能のフローチャートである。
【０１１８】
ステップ２３０１からステップ２３０４までは、実施の形態１における図２３のフローチャートのステップ２２０１からステップ２２０４と同じ処理である。
【０１１９】
サービスマネージャ１２０４は、デスクランブル不可となったチャンネルを録画中とする録画データを見つけた場合（ステップ２３０４でＹｅｓ）、２次記憶部５１０に保存されている管理テーブルに、録画中にデスクランブル不可の状態になったことを書き込む（ステップ２３０５）。ステップ２３０５の処理内容は、図２３のステップ２２０６と同じである。
【０１２０】
以上のように、本実施の形態では、録画中にデスクランブル不可状態になっても２次記憶部５１０への録画を継続する。
【０１２１】
また、サービスマネージャ１２０４は、２次記憶部５１０に録画された番組をメディア書込み部５１６に挿入されたメディアに書き込むようメディア書込み部５１６に命令をする。この際、書き込む録画番組の録画中にデスクランブル不可の状態である時間が存在した場合は、ユーザに書き込みを行うかどうかを確認し、ユーザが書き込みをしない旨の入力をした場合は書き込みを中止する。
【０１２２】
図２５は、録画番組をメディアに書き込む際のフローチャートである。
ＥＰＧ１２０２が２次記憶部５１０に録画した番組一覧を映像出力部５０９をとしてディスプレイ６０９に表示する。図２６は、ＥＰＧが表示する録画番組一覧の一例である。列２５０１は録画データの識別子であり、列２５０２は録画した番組名、列２５０３は録画中にデスクランブルができなくなる状況が発生したかどうかを示す値である。行２５０４は、録画データ識別子、番組名、録画中デスクランブルができなくなったかどうかを示す値の組である。ユーザはこの画面を用いることにより録画した番組の内容を視聴することなく録画中にデスクランブルできなくなったかどうかを判断でき、安心してメディアへ書き込みをする番組を選択できるようになる。ＥＰＧは入力部５１３を通してユーザが選択した番組の録画データ識別子を受信し、録画データ識別子と書き込み命令をサービスマネージャ１２０４へ引き渡す。サービスマネージャ１２０４は、ＥＰＧを通してユーザから録画する録画データ識別子と書き込み命令を受け取る（ステップ２４０１）。
【０１２３】
次に、サービスマネージャ１２０４は、書き込みをする録画番組の録画中にデスクランブル不可の状態が存在したかどうかを確認する（ステップ２４０２）。具体的には図１８Ｂに示す管理テーブルから録画識別子が一致する行を探索し、見つけた行の列１７０７の値を確認する。値が「１」である場合は録画中にデスクランブル不可となる不具合が発生していたと判断し、値が「０」の場合は不具合が発生していなかったと判断する。不具合が発生していなかった場合（ステップ２４０３でＮｏ）は、メディア書込み部５１６へ書き込み命令と録画データ識別子を引き渡し、メディア書込み部５１６は２次記憶部５１０に保存されている録画番組をメディアに書き込む（ステップ２４０８）。もし、録画中に不具合が発生していた場合（ステップ２４０３でＹｅｓ）は、ユーザに書き込みを行うかどうかの確認メッセージを映像出力部５０９に出力する（ステップ２４０４）。図２７は映像出力部５０９に出力されるユーザ確認の画面である。メッセージ２６０１は、メディアへ書き込みをする番組の録画中にデスクランブルできなくなった状況が発生したことをユーザに伝えるメッセージであり、ＹＥＳボタン２６０２はユーザが書き込みを継続する選択をする場合に押されるボタンであり、ＮＯボタン２６０３ユーザが書き込みを継続しない選択をする場合に押されるボタンである。次に、サービスマネージャ１２０４は、ユーザの指示を取得し（ステップ２４０５）、ユーザが書き込みを許可したか否かを判定する（ステップ２４０６）。ユーザが書き込みを許可した場合（ステップ２４０６でＹｅｓ）、すなわちユーザがＹＥＳボタン２６０２を押下した場合、メディアへの書き込みを行う（ステップ２４０８）。一方、ユーザが書き込みを許可しない場合（ステップ２４０６でＮｏ）、すなわちユーザがＮＯボタン２６０３を押下した場合は、メディア書込み部５１６への命令は渡さず、何もしない（ステップ２４０７）。また、ステップ２４０２、ステップ２４０４は実施せず、自動的にステップ２４０２から、ステップ２４０５またはステップ２４０６へ処理を移してもよい。
【０１２４】
なお、本実施の形態では、ＥＰＧ１２０２、サービスマネージャ１２０４、Ｊａｖａライブラリ１２０５は、Ｊａｖａ言語で記述されたソフトウェアとして説明しているが、これらのプログラムはＪａｖａ以外の言語であるＣ言語やネイティブ言語、またはハードウェアによって実装されていてもよい。
【０１２５】
以上の機能により、番組録画中にデスクランブル不可状態になった番組について、メディアへ書き込む前に録画中にデスクランブルの不可により録画データに不具合があることを認識できるようになるので、不要な録画データを記録メディアへ書き込む事を防止する。
【０１２６】
また、本実施の形態では、録画中に不具合が発生していたことだけをユーザに通知しているが、これに限られるものではない。例えば、デスクランブル不可となっている時間を計測し、録画中に不具合が発生していたことに加えてデスクランブル不可となっていた時間をユーザに通知しても構わない。この場合、サービスマネージャ１２０４は、計測された時間を図２８に示すように２次記憶部５１０に保存されている管理テーブルに不具合時間２７０１として書き込む。そして、メディアへの書き込みが要求された際に、図２９に示すようにデスクランブル不可となっていた時間２８０１を表示して、録画中に不具合が発生していたことをユーザに通知する。これによって、ユーザは、録画中に不具合が発生していた時間を知ることができ、メディアへの書き込みを行うか否かの判断に参考とすることができる。さらに、不具合が発生した原因をユーザに通知しても構わない。この場合、デスクランブル判定部５１５が、ＰＯＤ５０４が抜かれるのを端末装置５００側で物理的に検出したのか、デスクランブルに必要な鍵を入手できなくなったことをＰＯＤ５０４から受信したのか等を判定する。そして、サービスマネージャ１２０４は、デスクランブル判定部５１５による判定結果を図２８に示すように管理テーブルに不具合が発生した原因２７０２を書き込む。そして、メディアへの書き込みが要求された際に、図２９に示すようにデスクランブル不可となっていた原因２８０２を表示して、録画中に不具合が発生していたことをユーザに通知する。これによって、ユーザは、録画中に不具合が発生していた原因を知ることができる。
【０１２７】
更に不具合が発生した前後の時間の録画データを表示させる要求を受け付けるようなインターフェース（図示せず）を図２９の表示画面に設け、このインターフェースからの入力を受け付けると、例えば不具合時間２７０１の情報を用いてデスクランブル不可の状態が発生する前後の録画データを表示するようにすれば、デスクランブル不可となっていた時間中の録画データがユーザにとって必要なものかどうかを迅速に判断できるので、ユーザは記録メディアへ書き込むかどうかの判断をより的確かつ迅速に行えるようになる。
【０１２８】
また、デスクランブル不可となったチャンネルが録画実行中であれば、上記実施の形態１ではそのチャンネルの録画を停止させ、上記実施の形態２ではそのチャンネルの録画を継続させているが、これに限られるものではない。例えば、デスクランブル不可となっている時間を計測し、再びデスクランブルが可能になった場合に、デスクランブル不可となっていた時間に応じて録画を再開するか否かを決定しても構わない。この場合、図３０Ａに示すようにデスクランブル不可（ＮＧ）となっている時間が短く、所定の閾値Ｔ未満であれば、再びデスクランブルが可能になった時点で録画を再開する。また、図３０Ｂに示すようにデスクランブル不可（ＮＧ）となっている時間が長く、所定の閾値Ｔ以上であれば、再びデスクランブルが可能になったとしても録画を再開しない。これにより、デスクランブル不可となっていた時間に応じて録画を制御することができる。
【０１２９】
なお、上述の例ではＥＰＧ１２０２が要求された録画番組に対応する管理情報を検索し、検索した管理情報の録画開始時刻１７０３、録画終了時刻１７０４、不具合時間２７０１を参照し、図２６に示す不具合情報を作成するようにしたが、サービスマネージャ１２０４に要求された録画番組に対応する管理情報を検索するように依頼し、サービスマネージャ１２０４は必要な関数（または機能）を用いて受けた依頼に従って検索を行い、検索結果（管理情報の録画開始時刻１７０３、録画終了時刻１７０４、不具合時間２７０１）をＥＰＧ１２０２へ返し、ＥＰＧ１２０２は検索結果を用いて、不具合情報を作成し、ディスプレイ６０９に表示するようにしても良い。
【０１３０】
（実施の形態３）
上記実施の形態２では、不具合のある録画データを記録メディアに書き込む際に、不具合情報をユーザに情報を通知していた。本実施の形態では、不具合のある録画データを、再生する際に、不具合情報をユーザに通知する。この例において、端末装置（デジタル放送録画装置）は、２次記憶部に記録した録画番組を再生する再生手段（図示せず）を備えるものとする。
【０１３１】
図３１は、本実施の形態によりユーザに通知される不具合情報の一例を示す図である。
図３１において６０９は、図７に示すディスプレイ６０９である。表示１７１０は、例えば図２８に示す行１７０８に該当する管理情報に基づき作成した不具合情報である。ここでは、行１７０８に該当する録画番組が「映画Ａ」であるものを例に説明する。時刻２７０１ａは、録画した番組に含まれる不具合が発生した時刻を示し、時刻２７０１ｂは、録画した番組に含まれる不具合が終了した時刻を示す。部分２７０３ａは、録画した番組に含まれる不具合が発生した部分を示す。部分２７０３ｂは、録画した番組に含まれる正常に録画された部分を示す。表示１７１１は、録画番組に含まれる正常に録画された部分の割合を示す。なお、表示１７１１は、録画番組に含まれる不具合が発生した割合を示しても良い。部分２７０３ａの長さは、図２８に示す不具合時間２７０１の時間の長さに応じて変化する。部分２７０３ａの位置は、図２８に示す不具合時間２７０１の時間開始時刻と終了時刻に応じて変化する。
【０１３２】
図３１に示す不具合情報を表示するための処理を説明する。
ＥＰＧ１２０２は、ユーザからの録画番組の再生要求があると、要求された録画番組に対応する管理情報を検索する。次に、ＥＰＧ１２０２は、検索した管理情報の録画開始時刻１７０３、録画終了時刻１７０４、不具合時間２７０１を参照し、図３１に示す不具合情報を作成し、ディスプレイ６０９に表示する。
【０１３３】
なお、上述の例ではＥＰＧ１２０２が要求された録画番組に対応する管理情報を検索し、検索した管理情報の録画開始時刻１７０３、録画終了時刻１７０４、不具合時間２７０１を参照し、図３１に示す不具合情報を作成するようにしたが、サービスマネージャ１２０４に要求された録画番組に対応する管理情報を検索するように依頼し、サービスマネージャ１２０４は必要な関数（または機能）を用いて受けた依頼に従って検索を行い、検索結果（管理情報の録画開始時刻１７０３、録画終了時刻１７０４、不具合時間２７０１）をＥＰＧ１２０２へ返し、ＥＰＧ１２０２は検索結果を用いて、不具合情報を作成し、ディスプレイ６０９に表示するようにしても良い。
【０１３４】
（実施の形態４）
図３２は、本実施の形態において、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムの構成図の一例を示す図である。
【０１３５】
なお、図３２において図１３に付した符号と同一のものは図１３に示す同一の符号のものと同一またはこれに相当するものである。
【０１３６】
また、本実施の形態におけるハードウェア構成は図６に示すものと、ほぼ同じであるので、ここでは詳細な説明を省略する。
【０１３７】
デスクランブル不可となったチャンネルが録画実行中である場合、上記実施の形態１ではそのチャンネルの録画を停止させ、上記実施の形態２ではそのチャンネルの録画を継続させていた。本実施の形態では、デスクランブル不可の状態になるとチャンネルの録画を停止させ、再びデスクランブルが可能になった場合に、デスクランブル不可となっていた時間を計測し、計測した時間に応じて録画を再開するか否かを決定する録画再開判定部１２０５ｇを設けたことを特徴とする。
【０１３８】
具体的には、Ｊａｖａライブラリ１２０５が録画再開判定部１２０５ｇを構成要素としてもつものを例に説明をする。また、図１３に示すサービスマネージャ１２０４に追加の機能を付したので、ここでは、サービスマネージャ１２０４の符号を１２０４ａとする。
【０１３９】
また、図６に示すデスクランブル判定部５１５は、上述した機能を有するとともに、デスクランブルが不可能な状態から、再びデスクランブル可能になった場合、サービスマネージャ１２０４ａへ、再びデスクランブル可能となったチャンネル識別子を出力する機能を有するものとする。
【０１４０】
それ以外の部分は、実施の形態２と同じなので、本実施の形態では、録画再開処理に絞って説明を行う。
【０１４１】
ここでは、録画番号「１」において１０時４０分からデスクランブル不可の状態が起こり、１０時４５分に録画が再開される動作を説明する。
【０１４２】
まず、上述したようにデスクランブル判定部５１５は、デスクランブルが不可能な状態になったチャンネル識別子をサービスマネージャ１２０４ａへ出力する。
【０１４３】
サービスマネージャ１２０４ａは、デスクランブル判定部５１５からの、デスクランブル不可能となったチャンネル識別子を受け取ると、管理テーブルから、入力されたチャンネル識別子で録画している録画番号を探す。次に、見つけた録画番号の実行状態１７０５を、不具合による録画停止状態を示す「３」に書き換える。次に、見つけた録画番号の不具合時間の開始時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ１２０４ａは、例えばＯＳ１２０１内のライブラリ１２０１ｂにおける時刻取得機能を用いて現在の時刻の情報である１０時４０分を得た後、管理テーブルの不具合時間２７０１の開始時刻として１０時４０分を書き込む（図３３参照）。
【０１４４】
サービスマネージャ１２０４ａは、ＲＥＣ１２０５ｅへ録画停止命令を出力する。録画停止命令を受け取ったＲＥＣ１２０５ｅは、命令の内容に従って対応する番組の録画を停止する。このとき、ＲＥＣ１２０５ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画停止するために必要な機能を用いて録画停止を行う。
【０１４５】
次に、デスクランブル判定部５１５は、デスクランブル不可能と判断した後、再びデスクランブル可能と判断した場合、サービスマネージャ１２０４ａへ再びデスクランブル可能となったチャンネル識別子を出力する。
【０１４６】
サービスマネージャ１２０４ａは、デスクランブル判定部５１５からの、デスクランブル可能となったチャンネル識別子を受け取ると、管理テーブルから、入力されたチャンネル識別子に対応する録画番号を探す。次に、見つけた録画番号の不具合時間の終了時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ１２０４ａは、例えばＯＳ１２０１内のライブラリ１２０１ｂにおける時刻取得機能を用いて現在の時刻の情報である１０時４５分を得た後、管理テーブルの不具合時間の終了時刻として１０時４５分を書き込む（図３４参照）。次にサービスマネージャ１２０４ａは、録画再開判定部１２０５ｇへ、再開判定命令と見つけた録画番号を出力する。
【０１４７】
次に、録画再開判定部１２０５ｇは、受け取った録画番号に対応する録画番組の録画を再開してもよいかどうかを判定し、判定結果をサービスマネージャ１２０４ａへ出力する。録画再開判定部１２０５ｇの具体的な動作は、後述する。
【０１４８】
次に、サービスマネージャ１２０４ａは、録画再開判定部１２０５ｇからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、ＲＥＣ１２０５ｅに録画命令を出力し、録画番号に対応する列１７０５の値を不具合による録画停止状態からの録画再開を示す「４」に書き換える（図３５参照）。録画命令を受け取ったＲＥＣ１２０５ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画するために必要な機能を用いて録画を行う。
【０１４９】
また、判定結果が録画再開しないことを示している場合、サービスマネージャ１２０４ａは、ＲＥＣ１２０５ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０１５０】
次に、録画再開判定部１２０５ｇの具体的な動作を説明する。
録画再開判定部１２０５ｇは、番組録画中の不具合時間と所定の時間を比較し、録画を再開するか否かを決定する機能を持つ。
【０１５１】
録画再開判定部１２０５ｇは、サービスマネージャ１２０４ａから、録画再開判定命令と録画番号を受け取ると、受け取った録画番号の不具合時間を管理テーブルを参照して得る。受け取った録画番号において、管理テーブル内で不具合時間が複数存在する場合、最新の不具合時間を参照し取り出す。例えば、管理テーブルが図３４であるとし、録画再開判定部１２０５ｇが、録画番号「１」を受け取った場合、管理テーブルを参照して、複数の不具合時間のうち最新の不具合時間である「１０：４０〜１０：４５」を得る。録画再開判定部１２０５ｇは、入手した不具合時間と比較する所定の時間を計算する。例えば録画再開判定部１２０５ｇは、管理テーブルを参照して、入力された録画番号の列１７０４が示す予約録画の終了時刻から、列２７０１が示すデスクランブル不可が発生した不具合開始時刻を引いた値（つまり時間間隔）を、所定の時間とする。録画再開判定部１２０５ｇは、入手した不具合時間（この例では５分）と計算した所定の時間（この例では２０分）を比較し、不具合時間の方が長い場合は、録画を再開しないと判定する。不具合時間が所定の時間より短い場合は、録画を再開すると判定する。録画再開判定部１２０５ｇは、録画を再開するか否かの判定結果をサービスマネージャ１２０４ａへ出力する。このようにすることにより、録画終了時刻を越えて録画を再開することが無くなる。
【０１５２】
次に、本実施の形態における、録画再開処理についてフローチャートを用いて説明する。
【０１５３】
図３６は、本実施の形態における録画再開処理の一例を示したフローチャートである。まず、デスクランブル判定部５１５が、デスクランブル不可の状態を検出し、サービスマネージャ１２０４ａへ、デスクランブル不可能となったチャンネル識別子を出力する（ステップ３６０１）。
【０１５４】
次に、サービスマネージャ１２０４ａは、デスクランブル判定部５１５からデスクランブル不可となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間２７０１の不具合開始時刻を書き込むとともに、ＲＥＣ１２０５ｅへ録画停止命令を出力することで、録画を停止させる（ステップ３６０２）。
【０１５５】
次に、デスクランブル判定部５１５が、デスクランブル可能の状態を検出し、サービスマネージャ１２０４ａへ、デスクランブル可能となったチャンネル識別子を出力する（ステップ３６０３）。
【０１５６】
次に、サービスマネージャ１２０４ａは、デスクランブル判定部５１５からデスクランブル可能となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間２７０１の不具合終了時刻を書き込む（ステップ３６０４）。
【０１５７】
次に、録画再開判定部１２０５ｇは、管理テーブルから該当するチャンネル識別子の録画番号に対応する不具合時間を参照し、所定の時間の計算を行い（ステップ３６０５）、不具合時間と所定の時間を比較する（ステップ３６０６）。比較の結果、不具合時間の方が短い場合（ステップ３６０６でＹｅｓ）は、録画再開判定部１２０５ｇは、録画再開をすると判定し、サービスマネージャ１２０４ａへ判定結果を出力する。サービスマネージャ１２０４ａは、ＲＥＣ１２０５ｅへ録画命令を出力することで、停止されていた録画を再開させる（ステップ３６０７）。
【０１５８】
また、比較により、録画再開しないと判定した場合（ステップ３６０６でＮｏ）、サービスマネージャ１２０４ａは、ＲＥＣ１２０５ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０１５９】
以上が、本実施の形態における録画再開処理のフローチャートの説明である。
尚、録画再開判定部１２０５ｇは、所定の時間を計算する代わりに、２次記憶部５１０に予め所定の時間を記録しておき、記録した所定の時間と不具合時間２７０１をと比較し、比較結果に基づき録画再開を判定してもよい。
【０１６０】
この場合、図３０Ａと同様にデスクランブル不可（ＮＧ）となっている時間が短く、所定の閾値Ｔ未満であれば、再びデスクランブルが可能になった時点で録画を再開する。また、図３０Ｂと同様にデスクランブル不可（ＮＧ）となっている時間が長く、所定の閾値Ｔ以上であれば、再びデスクランブルが可能になったとしても録画を再開しない。これにより、デスクランブル不可となっていた時間に応じて録画を制御することができる。
【０１６１】
また、録画再開判定部１２０５ｇが管理テーブルを参照し得られる不具合時間は、入力された録画番号における不具合時間の合計であってもよい。例えば、録画番号「１」が入力された場合、不具合時間の合計は、図３５を参照して、不具合時間「９：３５〜９：４０」が示す５分と、不具合時間「１０：１０〜１０：３０」が示す２０分と、・・・、不具合時間「１０：４０〜１０：４５」が示す５分との合計時間となる。
【０１６２】
（実施の形態５）
本実施の形態では、デスクランブル不可となったチャンネルが録画実行中である場合、そのチャンネルの録画を停止させ、再びデスクランブルが可能になった場合に、デスクランブル可能になった時刻と予約録画のスケジュールを比較し、比較結果に応じて録画を再開するか否かを決定する。
【０１６３】
本実施の形態では、録画再開判定部１２０５ｇの判断する機能が、実施の形態４とは異なる機能を持つ。それ以外の部分は、実施の形態４と同じであるので、ここでは説明を省略する。
【０１６４】
本実施の形態における録画再開判定部１２０５ｇの具体的な動作を説明する。
録画再開判定部１２０５ｇは、番組録画中の不具合時間の終了時刻と、録画予約の終了時刻とを比較し、録画を再開するか否かを決定するものである。
【０１６５】
録画再開判定部１２０５ｇは、サービスマネージャ１２０４ａから、録画再開判定命令と録画番号を受け取ると、受け取った録画番号の不具合終了時刻を管理テーブルを参照して得る。受け取った録画番号において、管理テーブル内に不具合時間が複数存在する場合、最新の不具合時間終了時刻を参照する。例えば、管理テーブルが図３４であるとし、録画再開判定部１２０５ｇが、録画番号「１」を受け取った場合、管理テーブルを参照して、複数の不具合時間のうち最新の不具合時間である「１０：４０〜１０：４５」を参照し、不具合終了時刻１０時４５分を得る。
【０１６６】
次に、録画再開判定部１２０５ｇは、入手した不具合終了時刻と、予約終了時刻を比較する。例えば録画再開判定部１２０５ｇは、管理テーブルを参照して、受け取った録画番号の予約録画の終了時刻１７０４と、不具合時間２７０１が示す不具合終了時刻とを比較する。
【０１６７】
録画再開判定部１２０５ｇは、参照した不具合終了時刻（この例では１０時４５分）と、予約録画の終了時刻（この例では１１時００分）を比較し、不具合終了時刻の方が予約録画の終了時刻よりも後である場合、録画を再開しないと判定する。不具合終了時刻が予約録画の終了時刻より前である場合は、録画を再開すると判定する。録画再開判定部１２０５ｇは、録画を再開するか否かの判定結果をサービスマネージャ１２０４ａへ出力する。このようにすることにより、録画終了時刻を越えて録画を再開することが無くなる。
【０１６８】
次に、本実施の形態における、録画再開処理についてフローチャートを用いて説明する。
【０１６９】
図３７は、本実施の形態における録画再開処理の一例を示したフローチャートである。まず、デスクランブル判定部５１５が、デスクランブル不可の状態を検出し、サービスマネージャ１２０４ａへ、デスクランブル不可能となったチャンネル識別子を出力する（ステップ３７０１）。
【０１７０】
次に、サービスマネージャ１２０４ａは、デスクランブル判定部５１５からデスクランブル不可となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間２７０１の不具合開始時刻を書き込むとともに、ＲＥＣ１２０５ｅへ録画停止命令を出力することで、録画を停止させる（ステップ３７０２）。
【０１７１】
次に、デスクランブル判定部５１５が、デスクランブル可能の状態を検出し、サービスマネージャ１２０４ａへ、デスクランブル可能となったチャンネル識別子を出力する（ステップ３７０３）。
【０１７２】
次に、サービスマネージャ１２０４ａは、デスクランブル判定部５１５からデスクランブル可能となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間２７０１の不具合終了時刻を書き込む（ステップ３７０４）。
【０１７３】
次に、録画再開判定部１２０５ｇは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了時刻を参照し、得る（ステップ３７０５）。
【０１７４】
次に、録画再開判定部１２０５ｇは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了時刻を比較する（ステップ３７０６）。
【０１７５】
比較の結果、不具合終了時刻が予約録画の終了時刻よりも前の場合（ステップ３７０６でＹｅｓ）は、録画再開判定部１２０５ｇは、録画再開をすると判定し、サービスマネージャ１２０４ａへ判定結果を出力する。サービスマネージャ１２０４ａは、ＲＥＣ１２０５ｅへ録画命令を出力することで、停止されていた録画を再開させる（ステップ３７０７）。
【０１７６】
また、比較により、録画再開しないと判定した場合（ステップ３７０６でＮｏ）、サービスマネージャ１２０４ａは、ＲＥＣ１２０５ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０１７７】
以上が、本実施の形態における録画再開処理のフローチャートの説明である。
本実施の形態により、不具合発生後、デスクランブル可能となった時刻に応じて録画を制御することができる。この場合、図３８に示すようにデスクランブル不可（ＮＧ）となっている状態から、再びデスクランブル可能（ＯＫ）へ復帰した時刻が予約録画スケジュールの期間内であれば、再びデスクランブルが可能になった時点で録画を再開する。また、図３９に示すように、再びデスクランブルが可能になった時刻が予約スケジュールの期間外であれば、再びデスクランブルが可能になったとしても録画を再開しない。
【０１７８】
（実施の形態６）
上記実施の形態１〜５では、デスクランブル可能、不可能の状態を、録画の停止、録画再開の条件にしていた。本実施の形態では、IＯバンド幅（ハードウェア間におけるデータ転送量に関する性能）の不足、ノイズの影響を受けるチューニングの状態などのハードウェアに起因する不具合の状態も、録画の停止と録画再開の条件とする。ここでいうＩＯバンド幅の不足とは、ＴＳデコーダ５０５から２次記憶部５１０へ転送するデータ量と比べて、ＴＳデコーダ５０５と２次記憶部５１０の間のバンド幅が足りなくなることを指す。また、本実施の形態では、ＯＳ１２０１の上で動作しているプログラムが致命的なエラーを発生させたことに起因するサービスマネージャ１２０４、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３の再起動も録画再開の条件とする。
【０１７９】
本実施の形態では、ハードウェアに起因する不具合状態により録画停止、録画再開を実行するため、Ｊａｖａライブラリ１２０５のＲＥＣ１２０５ｅ、Ｔｕｎｅｒ１２０５ｃの機能、サービスマネージャ１２０４ａの機能が、実施の形態１〜５と異なる。それ以外は、実施の形態１〜５と同じであるので、本実施の形態では、ハードウェア不具合による、録画停止、録画再開処理に絞って説明をする。
【０１８０】
また、本実施の形態におけるハードウェア構成は図６に示すものと、ほぼ同じであるので、ここでは詳細な説明を省略する。
【０１８１】
ＣＰＵ５１４は、上述の実施の形態で説明したＣＰＵ５１４がもつ機能に加え、データの入出力に関するエラーを検出し、ＲＥＣ１２０５１ｅへエラーの発生をライブラリ１２０１ｂを通して出力する。また、ＣＰＵ５１４は、２次記憶部５１０へ保存命令と保存するデータの入力先を出力する。ＣＰＵ５１４は、２次記憶部５１０へ保存命令と保存するデータの入力先を出力する際に発生する、データ入出力に関するエラーを検出する。データ入出力に関するエラーは、例えば、ＴＳデコーダ５０５から２次記憶部５１０へ転送するデータ量と比べて、ＴＳデコーダ５０５と２次記憶部５１０の間のバンド幅が足りない場合に発生するＩＯバンド幅の不足によるエラーであってもよい。また、２次記憶部５１０の記憶容量を超えたデータを保存しようとした場合に発生する、記憶容量不足エラーであってもよい。また、ＣＰＵ５１４は、上記ＩＯバンド幅の不足によるエラーや記憶容量不足エラーから復帰したことを検出する。
【０１８２】
ＱＡＭ復調部５０１は、チューニングに関するエラーを検出し、検出結果をＴｕｎｅｒ１２０５１ｃへライブラリ１２０１ｂを通して出力する。チューニングに関するエラーは、例えば、ヘッドエンド１０１から送られてきたデータにノイズが入ってしまい、ＱＡＭ復調部５０１へ正しいデータが入力されない場合や、ケーブルの不接触などが原因で、復調処理ができなくなった場合に発生するチューニング失敗エラーであっても良い。また、ＱＡＭ復調部５０１は、チューニングに関するエラー発生後、エラーから復帰し正常な処理を行える状態になったことを、Ｔｕｎｅｒ１２０５１ｃへライブラリ１２０１ｂを通して出力する。
【０１８３】
以上が、本実施の形態における端末装置５００の説明である。
次に、本実施の形態において、ＲＯＭ５１２に記憶され、ＣＰＵ５１４に実行されるプログラムを図４０を使って説明をする。本実施の形態では、実施の形態１〜５における、Ｔｕｎｅｒ１２０５ｃ、ＲＥＣ１２０５ｅ，サービスマネージャ１２０４に新たな機能が加わったので、それらの符号を、Ｔｕｎｅｒ１２０５１ｃ、ＲＥＣ１２０５１ｅ，サービスマネージャ１２０４ｂとした。それ以外は実施の形態１〜５と同じである。
【０１８４】
Ｔｕｎｅｒ１２０５１ｃは、ＱＡＭ復調部５０１で発生したチューニングエラーを、ライブラリ１２０１ｂを通して受け取る。エラーを受け取った後、Ｔｕｎｅｒ１２０５１ｃは、サービスマネージャ１２０４ｂへ、チューニングエラーが発生したチャンネル識別子を出力する。また、Ｔｕｎｅｒ１２０５１ｃは、ＱＡＭ復調部５０１からチューニングに関するエラーからの復帰を受け取った場合、サービスマネージャ１２０４ｂへエラーから復帰したチャンネル識別子を出力する。
【０１８５】
ＲＥＣ１２０５１ｅは、録画中にＣＰＵ５１４が検出したＩＯバンド幅の不足によるエラーや記憶容量不足エラーを、ライブラリ１２０１ｂを通して受け取る。ＲＥＣ１２０５１ｅはエラーを受け取った後、サービスマネージャ１２０４ｂへＩＯバンド幅の不足によるエラーや記憶容量不足エラーの発生を通知する。また、ＲＥＣ１２０５１ｅは、ＣＰＵ５１４がＩＯバンド幅の不足によるエラーや記憶容量不足エラーからの復帰を検出した場合、ライブラリ１２０１ｂを通して、エラーからの復帰を受け取る。ＲＥＣ１２０５１ｅは、エラーからの復帰を受け取った後、サービスマネージャ１２０４ｂへエラーから復帰したことを通知する。
【０１８６】
サービスマネージャ１２０４ｂは、Ｔｕｎｅｒ１２０５１ｃから、チューニングエラーが発生したチャンネル識別子を受け取ると、管理テーブルから、入力されたチャンネル識別子を録画している録画番号を探す。次に、見つけた録画番号の実行状態１７０５を、不具合による録画停止状態を示す「３」に書き換える。次に、見つけた録画番号の不具合時間の開始時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ１２０４ｂは、例えばＯＳ１２０１内のライブラリ１２０１ｂにおける時刻取得機能を用いて現在の時刻の情報である１０時４０分を得た後、管理テーブルの不具合時間２７０１の開始時刻として１０時４０分を書き込む（図３３参照）。
【０１８７】
サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅへ録画停止命令を出力する。録画停止命令を受け取ったＲＥＣ１２０５１ｅは、命令の内容に従って対応する番組の録画を停止する。このとき、ＲＥＣ１２０５１ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画停止するために必要な機能を用いて録画停止を行う。
【０１８８】
次に、Ｔｕｎｅｒ１２０５１ｃは、ＱＡＭ復調部５０１からチューニングに関するエラーからの復帰を受け取った場合、サービスマネージャ１２０４ｂへエラーから復帰したチャンネル識別子を出力する。
【０１８９】
サービスマネージャ１２０４ｂは、Ｔｕｎｅｒ１２０５１ｃから、エラーから復帰したチャンネル識別子を受け取ると、管理テーブルから、受け取ったチャンネル識別子に対応する録画番号を探す。次に、見つけた録画番号の不具合時間の終了時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ１２０４ｂは、例えばＯＳ１２０１内のライブラリ１２０１ｂにおける時刻取得機能を用いて現在の時刻の情報である１０時４５分を得た後、管理テーブルの不具合時間の終了時刻として１０時４５分を書き込む（図３４参照）。次にサービスマネージャ１２０４ｂは、録画再開判定部１２０５ｇへ、再開判定命令と見つけた録画番号を出力する。
【０１９０】
次に、録画再開判定部１２０５ｇは、受け取った録画番号に対応する録画番組の録画を再開してもよいかどうかを判定し、判定結果をサービスマネージャ１２０４ｂへ出力する。録画再開判定部１２０５ｇの具体的な動作は、実施の形態４、５で既に説明したので、ここでは説明を省略する（この例では、実施の形態５に説明したものを例示する）。
【０１９１】
次に、サービスマネージャ１２０４ｂは、録画再開判定部１２０５ｇからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、ＲＥＣ１２０５１ｅに録画命令を出力し、録画番号に対応する列１７０５の値を不具合による録画停止状態からの録画再開を示す「４」に書き換える（図３５参照）。録画命令を受け取ったＲＥＣ１２０５１ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画するために必要な機能を用いて録画を行う。
【０１９２】
一方、判定結果が録画再開しないことを示している場合、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０１９３】
また、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅから、ＩＯバンド幅の不足によるエラーや記憶容量不足エラーを受け取ると、管理テーブルから、ＲＥＣ１２０５１ｅに録画をさせていた録画番号を探す。次に、見つけた録画番号の実行状態１７０５を、不具合による録画停止状態を示す「３」に書き換える。次に、見つけた録画番号の不具合時間の開始時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ１２０４ｂは、例えばＯＳ１２０１内のライブラリ１２０１ｂにおける時刻取得機能を用いて現在の時刻の情報である１０時４０分を得た後、管理テーブルの不具合時間２７０１の開始時刻として１０時４０分を書き込む（図３３参照）。
【０１９４】
サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅへ録画停止命令を出力する。録画停止命令を受け取ったＲＥＣ１２０５１ｅは、命令の内容に従って対応する番組の録画を停止する。このとき、ＲＥＣ１２０５１ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画停止するために必要な機能を用いて録画停止を行う。
【０１９５】
次に、ＲＥＣ１２０５１ｅは、ＣＰＵ５１４からＩＯバンド幅の不足によるエラーや記憶容量不足エラーからの復帰を受け取った場合、サービスマネージャ１２０４ｂへエラーから復帰したチャンネル識別子を出力する。
【０１９６】
サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅから、ＩＯバンド幅の不足によるエラーや記憶容量不足エラーから復帰したことを受け取ると、管理テーブルから、停止させていた録画処理に対応する録画番号を探す。次に、見つけた録画番号の不具合時間の終了時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ１２０４ｂは、例えばＯＳ１２０１内のライブラリ１２０１ｂにおける時刻取得機能を用いて現在の時刻の情報である１０時４５分を得た後、管理テーブルの不具合時間の終了時刻として１０時４５分を書き込む（図３４参照）。次にサービスマネージャ１２０４ｂは、録画再開判定部１２０５ｇへ、再開判定命令と見つけた録画番号を出力する。
【０１９７】
次に、録画再開判定部１２０５ｇは、受け取った録画番号に対応する録画番組の録画を再開してもよいかどうかを判定し、判定結果をサービスマネージャ１２０４ｂへ出力する。録画再開判定部１２０５ｇの具体的な動作は、実施の形態４、５で既に説明したので、ここでは説明を省略する（この例では、実施の形態５に説明したものを例示する）。
【０１９８】
次に、サービスマネージャ１２０４ｂは、録画再開判定部１２０５ｇからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、ＲＥＣ１２０５１ｅに録画命令を出力し、録画番号に対応する列１７０５の値を不具合による録画停止状態からの録画再開を示す「４」に書き換える（図３５参照）。録画命令を受け取ったＲＥＣ１２０５１ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画するために必要な機能を用いて録画を行う。
【０１９９】
また、判定結果が録画再開しないことを示している場合、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０２００】
また、本実施の形態におけるサービスマネージャ１２０４ｂは、予約録画中に、ＯＳ１２０１の上で動作しているプログラムが致命的なエラーを発生させたことに起因するサービスマネージャ１２０４ｂ、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３が再起動した後、管理テーブルから、実行状態１７０５が録画終了を示す「２」以外の値を持つ録画番号を探し出す。つまり、予約録画が最後まで完了していない予約録画処理を探す。次にサービスマネージャ１２０４ｂは、探し出した録画番号と録画再開判定命令を、録画再開判定部１２０５ｇへ出力する。
【０２０１】
録画再開判定部１２０５ｇは、サービスマネージャ１２０４ｂから録画再開判定命令と録画番号を受け取ると、管理テーブルから、受け取った録画番号の録画開始時刻と録画終了時刻を参照し、現在の時刻が、この間にあるならば、録画再開と判定する。現在の時刻が、この間になければ、録画を再開しないと判定する。録画再開判定部１２０５ｇは、判定結果をサービスマネージャ１２０４ｂに出力する。
【０２０２】
次に、サービスマネージャ１２０４ｂは、録画再開判定部１２０５ｇからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、ＲＥＣ１２０５１ｅに録画命令を出力し、録画番号に対応する列１７０５の値を不具合による録画停止状態からの録画再開を示す「４」に書き換える（図３５参照）。録画命令を受け取ったＲＥＣ１２０５１ｅは、ＯＳ１２０１内のライブラリ１２０１ｂの録画するために必要な機能を用いて録画を行う。
【０２０３】
また、判定結果が録画再開しないことを示している場合、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０２０４】
次に、本実施の形態における、録画再開処理についてフローチャートを用いて説明する。
【０２０５】
図４１は、本実施の形態における録画再開処理の一例を示したフローチャートである。まず、ＩＯバンド幅の不足によるエラーや記憶容量不足エラーが発生した場合、ＲＥＣ１２０５１ｅは、ＩＯバンド幅の不足によるエラーや記憶容量不足エラーをＣＰＵ５１４から受け取り、サービスマネージャ１２０４ｂへ、エラー発生を通知する。また、ＱＡＭ復調部５０１がチューニングエラーを検出した場合、Ｔｕｎｅｒ１２０５１ｃは、ＱＡＭ復調部５０１からチューニングエラーを受け取った後、サービスマネージャ１２０４ｂへ、チューニングエラーが発生したチャンネル識別子を出力する（ステップ４１０１）。
【０２０６】
次に、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅからエラー通知を受ける、または、Ｔｕｎｅｒ１２０５１ｃから、チューニングエラーが発生したチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間２７０１の不具合開始時刻を書き込むとともに、ＲＥＣ１２０５１ｅへ録画停止命令を出力することで、録画を停止させる（ステップ４１０２）。
【０２０７】
次に、ＣＰＵ５１４が、ＩＯバンド幅の不足によるエラーや記憶容量不足エラーから復帰したことを検出した場合、ＲＥＣ１２０５１ｅがＣＰＵ５１４からエラーからの復帰を受け取った後、サービスマネージャ１２０４ｂへエラーから復帰したことを通知する。また、ＱＡＭ復調部５０１が、チューニングに関するエラー発生後、エラーから復帰し正常な処理を行える状態になったことを検出した場合、Ｔｕｎｅｒ１２０５１ｃがエラーからの復帰をＱＡＭ復調部５０１から受け取った後、サービスマネージャ１２０４ｂへエラーから復帰したチャンネル識別子を出力する（ステップ４１０３）。
【０２０８】
次に、サービスマネージャ１２０４ｂは、ステップ４１０３で受け取った情報に応じて、管理テーブルにおける該当する録画番号の不具合時間２７０１の不具合終了時刻を書き込む（ステップ４１０４）。
【０２０９】
次に、録画再開判定部１２０５ｇは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了を参照し、得る（ステップ４１０５）。
【０２１０】
次に、録画再開判定部１２０５ｇは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了を比較する（ステップ４１０６）。
【０２１１】
比較の結果、不具合終了時刻が予約録画の終了時刻よりも前の場合（ステップ４１０６でＹｅｓ）は、録画再開判定部１２０５ｇは、録画再開をすると判定し、サービスマネージャ１２０４ｂへ判定結果を出力する。サービスマネージャ１２０４ｂは、ＲＥＣ１２０５ｅへ録画命令を出力することで、停止されていた録画を再開させる（ステップ４１０７）。
【０２１２】
また、比較により、録画再開しないと判定した場合（ステップ４１０６でＮｏ）、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅに対し録画命令を出力しない。このとき、管理テーブルは、図３４のままである。
【０２１３】
以上が、本実施の形態における録画再開処理のフローチャートの説明である。
次に、本実施の形態における、サービスマネージャ１２０４ｂ、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３の再起動時の自動録画開始処理の流れについて説明をする。図４２は、実施の形態６における再起動時の録画開始処理の一例を示すフローチャートである。
【０２１４】
まず、ＯＳ１２０１の上で動作しているプログラムが致命的なエラーを発生させたことに起因して、サービスマネージャ１２０４ｂ、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３が再起動される（ステップ４２０１）。
【０２１５】
次にサービスマネージャ１２０４ｂが、管理テーブルから、実行状態１７０５が録画終了を示す「２」以外の値を持つ録画番号を探し、探し出した録画番号と録画再開判定命令を、録画再開判定部１２０５ｇへ出力する。（ステップ４２０２）。
【０２１６】
次に、録画再開判定部１２０５ｇは、現在時刻が録画開始時刻と録画終了時刻の間にあるかどうかを判定する（ステップ４２０３）。
【０２１７】
現在時刻が録画開始時刻と録画終了時刻の間にあるならば（ステップ４２０３でＹｅｓ）、録画を開始すると判定し、サービスマネージャ１２０４ｂへ録画開始の判定結果を出力する。録画開始の判定結果を入力されたサービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅに録画命令を出力する（ステップ４２０４）。現在時刻が録画開始時刻と録画終了時刻の間になければ（ステップ４２０３でＮｏ）、サービスマネージャ１２０４ｂは、ＲＥＣ１２０５１ｅに対し録画命令を出力することなく処理を終了する。
【０２１８】
これにより、番組を録画中にサービスマネージャ１２０４ｂ、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３の再起動が発生した場合でも、再起動後の時刻が予約録画スケジュール内ならば、録画処理が自動的に再開される。これにより、サービスマネージャ１２０４ｂ、ＥＰＧ１２０２、ＪａｖａＶＭ１２０３の再起動後に、ダウンロードＪａｖａアプリケーションであるＥＰＧ１２０２は、開始すべき録画予約を確認する必要が無くなるという効果がある。
【０２１９】
上記に詳細に説明した本発明の実施の形態は単なる例示にすぎず、本発明の新規な教示および効果から実質的に逸脱することなく例示として挙げた実施の形態において様々な変更が可能であることは、当業者であれば容易に理解するところである。したがって、かかる変更はすべて本発明の範囲内に含まれるものである。
【産業上の利用可能性】
【０２２０】
本発明に係るデジタル放送録画装置は、ユーザの意図しない不完全な番組映像を例えばＣＤ−ＲやＤＶＤ−Ｒなどの記録メディアに記録することを防ぐので記憶容量の無駄を削減することができたり、ユーザの意図しない不完全な番組映像を録画した場合に、録画した不完全な番組映像を再生する前に知ることができるので、ユーザが不完全な番組を再生中に知って不快感を持つことがなくなるので有用である。本発明に係るデジタル放送録画装置は、例えばＤＶＤレコーダ、デジタルテレビ、パーソナルコンピュータ、および携帯電話等のスクランブルされているデータを記憶する装置に有用である。
【図面の簡単な説明】
【０２２１】
本願におけるこれらの目的および他の目的や、効果、特徴は、実施の形態を示す付属図面に関する以下の説明から明らかになる。当該図面において、
【図１】図１は、従来のプログラム実行装置の構成を表す構成図である。
【図２】図２は、本発明に係るケーブルテレビシステムの実施の形態１の構成図である。
【図３】図３は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図４】図４は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図５】図５は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図６】図６は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。
【図７】図７は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例である。
【図８】図８は、本発明に係るＰＯＤのハードウェア構成の構成図である。
【図９】図９は、本発明に係るＰＯＤが保存するプログラム構成の構成図である。
【図１０】図１０は、ＭＰＥＧ規格で定義されているパケットの構成図である。
【図１１】図１１は、ＭＰＥＧ２トランスポートストリームの一例である。
【図１２】図１２は、入力部をフロントパネルで構成した場合の外観の一例である。
【図１３】図１３は、本発明に係る端末装置が保存するプログラム構成の構成図である。
【図１４Ａ】図１４Ａは、本発明に係るディスプレイの表示の一例である。
【図１４Ｂ】図１４Ｂは、本発明に係るディスプレイの表示の一例である。
【図１５Ａ】図１５Ａは、本発明に係るディスプレイの表示の一例である。
【図１５Ｂ】図１５Ｂは、本発明に係るディスプレイの表示の一例である。
【図１６】図１６は、本発明に係る２次記憶部が保存する情報の一例である。
【図１７Ａ】図１７Ａは、本発明に係る１次記憶部が保存する情報の一例である。
【図１７Ｂ】図１７Ｂは、本発明に係る１次記憶部が保存する情報の一例である。
【図１７Ｃ】図１７Ｃは、本発明に係る１次記憶部が保存する情報の一例である。
【図１８Ａ】図１８Ａは、本発明に係る２次記憶部に保存されている管理テーブルの一例である。
【図１８Ｂ】図１８Ｂは、本発明に係る２次記憶部に保存されている管理テーブルの一例である。
【図１９】図１９は、本発明に係るＭＰＥＧ２規格が規定するＰＡＴの内容を表す模式図である。
【図２０】図２０は、本発明に係るＭＰＥＧ２規格が規定するＰＭＴの内容を表す模式図である。
【図２１】図２１は、本発明に係るＯＣＡＰ規格が規定するＡＩＴの内容を表す模式図である。
【図２２】図２２は、実施の形態１において、ダウンロードしたファイルシステムの一例を示す図である。
【図２３】図２３は、実施の形態１において、録画中にデスクランブル不可状態になった際の動作を表すフローチャートである。
【図２４】図２４は、実施の形態２において、録画中にデスクランブル不可状態になった際の動作を表すフローチャートである。
【図２５】図２５は、実施の形態２において、録画番組を書き込み可能なメディアに書き込む際の動作を表すフローチャートである。
【図２６】図２６は、本発明に係るディスプレイの表示の一例である。
【図２７】図２７は、本発明に係るディスプレイの表示の一例である。
【図２８】図２８は、本発明に係る２次記憶部に保存されている管理テーブルの一例である。
【図２９】図２９は、本発明に係るディスプレイの表示の一例である。
【図３０Ａ】図３０Ａは、実施の形態２における、デスクランブル不可となっていた時間に応じた録画の再開を説明する図である。
【図３０Ｂ】図３０Ｂは、実施の形態２における、デスクランブル不可となっていた時間に応じた録画の再開を説明する図である。
【図３１】図３１は、実施の形態３によりユーザに通知される不具合情報の一例を示す図である。
【図３２】図３２は、実施の形態４におけるプログラムの構成図の一例を示す図である。
【図３３】図３３は、実施の形態４における管理テーブルの一例である。
【図３４】図３４は、実施の形態４における管理テーブルの一例である。
【図３５】図３５は、実施の形態４における管理テーブルの一例である。
【図３６】図３６は、実施の形態４における録画再開処理の一例を示すフローチャートである。
【図３７】図３７は、実施の形態５における録画再開処理の一例を示すフローチャートである。
【図３８】図３８は、実施の形態５における、デスクランブル不可となっていた時間に応じた録画の再開について説明する図である。
【図３９】図３９は、実施の形態５における、デスクランブル不可となっていた時間に応じた録画の再開について説明する図である。
【図４０】図４０は、実施の形態６におけるプログラムの構成図の一例を示す図である。
【図４１】図４１は、実施の形態６における録画再開処理の一例を示すフローチャートである。
【図４２】図４２は、実施の形態６における再起動時の録画開始処理の一例を示すフローチャートである。
【図１】
2008523645.tif 000003
【図２】
2008523645.tif 000004
【図３】
2008523645.tif 000005
【図４】
2008523645.tif 000006
【図５】
2008523645.tif 000007
【図６】
2008523645.tif 000008
【図７】
2008523645.tif 000009
【図８】
2008523645.tif 000010
【図９】
2008523645.tif 000011
【図１０】
2008523645.tif 000012
【図１１】
2008523645.tif 000013
【図１２】
2008523645.tif 000014
【図１３】
2008523645.tif 000015
【図１４Ａ】
2008523645.tif 000016
【図１４Ｂ】
2008523645.tif 000017
【図１５Ａ】
2008523645.tif 000018
【図１５Ｂ】
2008523645.tif 000019
【図１６】
2008523645.tif 000020
【図１７Ａ】
2008523645.tif 000021
【図１７Ｂ】
2008523645.tif 000022
【図１７Ｃ】
2008523645.tif 000023
【図１８Ａ】
2008523645.tif 000024
【図１８Ｂ】
2008523645.tif 000025
【図１９】
2008523645.tif 000026
【図２０】
2008523645.tif 000027
【図２１】
2008523645.tif 000028
【図２２】
2008523645.tif 000029
【図２３】
2008523645.tif 000030
【図２４】
2008523645.tif 000031
【図２５】
2008523645.tif 000032
【図２６】
2008523645.tif 000033
【図２７】
2008523645.tif 000034
【図２８】
2008523645.tif 000035
【図２９】
2008523645.tif 000036
【図３０Ａ】
2008523645.tif 000037
【図３０Ｂ】
2008523645.tif 000038
【図３１】
2008523645.tif 000039
【図３２】
2008523645.tif 000040
【図３３】
2008523645.tif 000041
【図３４】
2008523645.tif 000042
【図３５】
2008523645.tif 000043
【図３６】
2008523645.tif 000044
【図３７】
2008523645.tif 000045
【図３８】
2008523645.tif 000046
【図３９】
2008523645.tif 000047
【図４０】
2008523645.tif 000048
【図４１】
2008523645.tif 000049
【図４２】
2008523645.tif 000050
【国際調査報告】
2008523645.tif 000051
2008523645.tif 000052