説明

デジタル放送録画装置

スクランブル映像録画時のデスクランブル不可または禁止状態に、不要な録画を防止することができるデジタル放送録画装置を提供する。
デジタル放送録画装置は、デスクランブル不可の状態になったチャンネルを検出するデスクランブル判定部515と、デスクランブル不可状態が検出されたチャンネルを録画中の録画データがあれば、録画を停止し、録画中にデスクランブル不可の状態になったことを管理テーブルへ書き込むサービスマネージャ1204とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スクランブルされたデジタル放送の受信するデジタル放送録画装置に関するものである。特に、番組等の予約録画といった録画処理を行うデジタル放送録画装置、または再生機能を組み込んだデジタル放送録画装置(デジタル放送録画再生装置とも言う)に関するものである。
【背景技術】
【0002】
デジタル放送では、有料の番組にスクランブル処理を掛けて配信する。配信された番組は、料金を支払ったユーザが持つ端末のみでデスクランブル可能になり、閲覧可能になる。
【0003】
このデスクランブル機能は、特定の条件なると機能しなくなる。例えば、放送業者との契約期限が切れた場合、契約者を認証するICカードやデスクランブルモジュールが受信端末から抜き取られた場合である。これらの場合、受信端末はスクランブルされた映像を出力するため、ユーザに不快感を与え、番組録画中である場合は不要なスクランブル映像が録画されてしまう。
【0004】
従来技術では、スクランブル放送の受信装置においてデスクランブルされない状態になった場合は、受信端末の映像出力を切り替えることで問題を回避している(例えば、特開平10−215444号公報参照。)。図1に示すように、従来のデスクランブル禁止または不可になったときの対処方法は、主に現在の受信チャンネルで番組が新しくなったかどうかを判定するステップ(ステップ3001)と、新しい番組が視聴可能かどうかを判定するステップ(ステップ3002)と、視聴可能ならば現在の受信チャンネルを受信するステップ(ステップ3003)と、視聴不可能ならばプロモーションチャンネルを受信するステップ(ステップ3004)で構成されている。
【0005】
このように従来技術では、デスクランブルが不可能になった場合、受信するチャンネルをデスクランブル可能なチャンネル、またはスクランブル処理が施されていないチャンネルに変更して受信し、出力することでスクランブルの掛かった映像が出力される事を防いでいた。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術においては、スクランブル映像の録画中にデスクランブル不可になった場合、スクランブルされたままの映像の録画は回避できるが、もと番組とは異なる映像へ切り替わった上で録画が継続されてしまうという問題がある。
【0007】
そのため、記録メディア(HD(ハードディスク)、書き換え可能な光ディスク、一度だけ書き込みが可能な光ディスク、メモリなど)に記録していた場合、無駄な録画を継続してしまい、結果として視聴者は録画した番組を実際に視聴している間に無駄な録画があることを確認することになり、大変不快な思いをするばかりでなく、記録メディアへ必要の無い無駄な情報が記録されることにより、記憶メディアの空き容量を不要に圧迫してしまう。更には、記録に用いる記録メディアが一度だけ書き込みができるCD−R(Compact Disk Recordable)やDVD−R(Digital Versatile Disk Recordable)などの記録メディアである場合には、上述の状態になると無駄な情報を記録した領域への上書きができなくなるため、最悪の場合、記録メディアそのものを無駄にしてしまう可能性がある。
【0008】
そこで、本発明は、前記従来の課題を解決するものであり、スクランブル映像録画時のデスクランブル不可または禁止状態において、視聴者にとって不要な録画を防止するまたは視聴者が録画した番組の内容を視聴することなく録画した番組の内容の不具合を認識することができるデジタル放送録画装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明に係るデジタル放送録画装置は、指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第1の復調手段と、前記第1の復調手段により復調されたスクランブルデータをデスクランブルし、MPEG2トランスポートストリームを出力するデスクランブル手段と、前記デスクランブル手段により出力されたMPEG2トランスポートストリームからAVデータと、アプリケーションを構成するファイルシステムとを取り出す取出手段と、前記ファイルシステムで構成されるアプリケーションを実行する実行手段と、前記実行されたアプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御手段と、前記取り出したAVデータを前記録画制御手段からの命令に従って録画する録画手段と、前記録画されたデータを管理するための管理情報を保持する保持手段と、前記スクランブルデータが前記第1の復調手段にて復調された後、前記AVデータが取り出されるまでの間の処理で発生する異常を検出する検出手段とを備え、前記録画手段によるデータの録画の最中に前記検出手段にて異常が検出された場合、前記録画制御手段は、前記検出された異常と前記異常の発生した時間を前記管理情報に書き込むことを特徴とする。
【0010】
これによって、AVデータの録画中に異常が検出された場合、検出された異常と異常の発生した時間をAVデータごとに管理することができる。
【0011】
ここで、前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止してもよい。
【0012】
これによって、異常が検出されたAVデータを録画することがないので、不要な録画を防止することができる。
【0013】
また、前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止した後、前記検出手段にて異常が検出されなくなると、所定の条件に従って前記録画手段による録画の再開を制御してもよい。
【0014】
これによって、デスクランブル処理ができない時間に応じてデータの録画を再開することができる。
【0015】
また、前記デジタル放送録画装置は、さらに、前記録画手段により録画されたAVデータを、書き込み可能なメディアに記録するメディア書き込み手段を備えてもよい。
【0016】
ここで、前記メディア書き込み手段は、前記録画されたAVデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするAVデータの録画中に異常が発生していた場合には、前記AVデータを前記メディアへ記録しなくてもよい。
【0017】
これによって、データの録画中に、異常が検出されたAVデータをメディアへ記録するのを防止することができる。
【0018】
また、前記デジタル放送録画装置は、さらに、前記録画されたAVデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするAVデータの録画中に異常が発生していた場合は、録画中に異常が発生したことをユーザに通知する通知手段を備えてもよい。
【0019】
これにより、ユーザはAVデータの内容を事前に確認することなく、記録されているデータが録画中に異常が検出されているといった不具合を認識できるようになり、メディアへ記録すべきかどうかを的確に判断ができるようになる。
【0020】
ここで、前記デジタル放送録画装置は、さらに、前記通知手段の前記通知に基づくユーザからの指示を取得する指示取得手段を備え、前記メディア書き込み手段は、前記指示取得手段で取得された前記指示が書き込みである場合に、前記データを前記メディアへ記録してもよい。
【0021】
これによって、データの録画中に、異常が検出されているデータをユーザの指示に応じてメディアへ記録することができるばかりか、メディア(特に1度のみデータの書き込みが可能なメディア)への無駄なデータの記録を防止することができる。
【0022】
なお、本発明は、このようなデジタル放送録画装置として実現することができるだけでなく、このようなデジタル放送録画装置が備える特徴的な手段をステップとするデジタル放送録画方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【0023】
以上のように、本発明に係るデジタル放送録画装置によれば、データの録画中に異常が検出された場合、検出された異常と異常の発生した時間をデータごとに管理することができる。また、データの録画中に、異常が検出された場合に、無駄なデータの録画の継続を防止することができ、データの録画に使われる資源を節約することができる。よって、スクランブルされたデータを受信し、録画するデジタル放送録画装置が普及している今日における実用的価値は極めて高い。
【0024】
2004年12月8日に出願された、明細書と図面と請求項とを含む日本国特許出願番号2004−355430を本願に引用して援用する。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0026】
(実施の形態1)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図2は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
【0027】
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。図3は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図4は、OOB周波数帯域の更に詳細な使用の一例である。70MHz〜74MHzはヘッドエンド101からのデータ送信に使用され、全ての端末装置A111、端末装置B112、端末装置C113が、ヘッドエンド101から同じデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111からヘッドエンド101へのデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112からヘッドエンド101へのデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113からヘッドエンド101へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113からヘッドエンド101に送信することができる。図5は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトランスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
【0028】
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【0029】
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの、端末装置は本実施の形態では同じ構成を取る。
【0030】
図6は、端末装置(デジタル放送録画装置)のハードウェア構成を表すブロック図である。端末装置500は、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、音声出力部507、ビデオデコーダ508、映像出力部509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514、デスクランブル判定部515、メディア書込み部516で構成される。また端末装置500には、POD504が着脱できる。
【0031】
図7は、端末装置500の外観の一例であるデジタル放送受信端末とテレビである。
端末装置601は、筐体内に、POD504を除く、端末装置500の構成要素すべてを内蔵している。
【0032】
信号入力端子602は、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子602は、図6のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
【0033】
PODカード603は、図6のPOD504に相当するPODカードである。POD504は、図7のPODカード603のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
【0034】
挿入スロット604は、PODカード603が挿入される挿入スロットである。
フロントパネル部605は、複数のボタンで構成され、図6の入力部513に相当する。フロントパネル部605のボタンの1つは、PODカード603を取り出す際に押す、取り出しボタンである。取り出しボタンを押すことでPOD603を取り出すことが出来る。
【0035】
映像ケーブル606は、端末装置601からの映像出力をテレビ608へ伝えるケーブルである。映像ケーブル606は、図6の映像出力部509と接続されている。音声ケーブル607は、端末装置601からの音声出力をテレビ608へ伝えるケーブルである。音声ケーブル607は、図6の音声出力部507と接続されている。
【0036】
テレビ608は、筐体内にディスプレイ609およびスピーカー610を備え、端末装置601からの映像出力と音声出力を映像ケーブル606と音声ケーブル607を通して受信したデータを、ディスプレイ609とスピーカー610から出力する。ディスプレイ609は、テレビ608が受信した映像データを出力する。スピーカー610は、テレビ608が受信した音声データを出力する。
【0037】
図6を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、CPUから指定される、POD504またはTSデコーダ505に引き渡す。
【0038】
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
【0039】
QPSK変調部503は、CPU514から指定された周波数を含む復調情報で、POD504から渡された信号をQPSK復調し、ヘッドエンド101に送信する。
【0040】
POD504は、図7のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(登録商標) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
【0041】
図8は、POD504の内部構成を表すブロック図である。POD504は、第1デスクランブラ部701、第2デスクランブラ部702、スクランブラ部703、第1記憶部704、第2記憶部705、CPU706で構成される。
【0042】
第1デスクランブラ部701は、CPU706からの指示により、端末装置500のQAM復調部501から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のTSデコーダ505と2次記憶部510に送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、TSデコーダ505と2次記憶部510に送る。
【0043】
第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。
【0044】
スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。
【0045】
第1記憶部704は、具体的にはRAM等の一次記憶メモリで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。
【0046】
第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。
【0047】
CPU706は、第1デスクランブラ部701または第2デスクランブラ部702でのデスクランブルが出来なくなったとき、図6のデスクランブル検出部515に、デスクランブル不可のメッセージを送る。具体的には、ユーザの契約期限が切れたことに起因してPOD504に記憶された鍵(第1の鍵、第2の鍵)が無効となった場合、通信ノイズなどの通信障害によりヘッドエンドから送られるデスクランブルに用いる復号鍵(第4の鍵:Out Of Bandに含まれるデータからQPSK復調部502により取り出してPOD504内に保存)が入手できなくなり、第1デスクランブラ部701または第2デスクランブラ部702がデスクランブル処理をしない場合である。また、CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図9は、第2記憶部705が記憶するプログラムの一例である。図9では、プログラム800は、メインプログラム801、初期化サブプログラム802、ネットワークサブプログラム803、再生サブプログラム804、PPVサブプログラム805等複数のサブプログラムで構成されている。
【0048】
ここでPPVとはPay Per Viewの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド101に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。
【0049】
メインプログラム801は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
【0050】
初期化サブプログラム802は、電源投入時にメインプログラム801によって起動され、端末装置500との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、OpenCable(登録商標) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム802は、第2記憶部705が記憶する第1の周波数を端末装置500のCPU514を通して、QPSK復調部502に通知する。QPSK復調部502は、与えられた第1の周波数でチューニングを行い、信号を第2デスクランブラ部702に送る。また、初期化サブプログラム802は、第2記憶部705が記憶する第1の鍵等の復号情報を第2デスクランブラ部702に与える。その結果、第2デスクランブラ部702は、デスクランブルを行い、初期化サブプログラム802を実行するCPU706に引き渡す。よって、初期化サブプログラム802は情報を受け取ることができる。本実施の形態では、初期化サブプログラム802はネットワークサブプログラム803を通して情報を受け取ることとする。詳細は後述する。
【0051】
また、初期化サブプログラム802は、第2記憶部705が記憶する第2の周波数を端末装置500のCPU514を通して、QPSK変調部503に通知する。初期化サブプログラム802は第2記憶部705が記憶する暗号化情報(例えば暗号化に必要なアルゴリズム、またはプログラム等)をスクランブラ部703に与える。初期化サブプログラム802が送信したい情報を、ネットワークサブプログラム803を介して、スクランブラ部703に与えると、スクランブラ部703は、与えられた暗号化情報を用いて、データを暗号化し、端末装置500のQPSK変調部503に与える。QPSK変調部503は、与えられた暗号化された情報を変調し、ヘッドエンド101に送信する。
【0052】
この結果、初期化サブプログラム802は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム803を通して、ヘッドエンド101と双方向通信を行うことができる。
【0053】
ネットワークサブプログラム803は、メインプログラム801、初期化サブプログラム802等の複数のサブプログラムから使用される、ヘッドエンド101との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム803を使用する他のサブプログラムに対して、TCP/IPによって、ヘッドエンド101と双方向通信を行っているように振舞う。TCP/IPは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム803は、電源投入時に初期化サブプログラム802に起動されると、予め第2記憶部705が記憶しているPOD504を識別する識別子であるMACアドレス(Media Access Controlアドレスの略)を、端末装置500を通してヘッドエンド101に通知し、IPアドレスの取得を要求する。ヘッドエンド101は、端末装置500を介してPOD504にIPアドレスを通知し、ネットワークサブプログラム803は、IPアドレスを第1記憶部704に記憶する。以降、ヘッドエンド101とPOD504は、このIPアドレスを、POD504の識別子として使用し、通信を行う。
【0054】
再生サブプログラム804は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム803を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム805を起動する。
【0055】
PPVサブプログラム805は、起動されると、端末装置500を通してテレビ608に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置500のCPU514に画面に表示したい情報を送ると、端末装置500のCPU514上で動作するプログラムが、端末装置500の映像出力部509にメッセージを表示する映像データを送り、テレビ608のディスプレイ609にメッセージを表示する。ユーザは、端末装置500の入力部513を通して暗証番号を入力すると、端末装置500のCPU514が、それを受け取り、POD504のCPU706上で動作するPPVサブプログラム805に通知する。PPVサブプログラム805は、ネットワークサブプログラム803を通してヘッドエンド101に受け取った暗証番号を送信する。ヘッドエンド101は、暗証番号が正しければ、ネットワークサブプログラム803を介して、PPVサブプログラム805に復号に必要な第4の鍵などの復号化情報(第4の鍵に加え、第4の鍵を用いた復号アルゴリズムまたは復号プログラムを含んでいても良い)を通知する。PPVサブプログラム805は受け取った第4の鍵などの復号化情報を第1デスクランブラ部701に与え、第1デスクランブラ部701は、入力されている信号をデスクランブルする。
【0056】
図6を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書ISO/IEC138181−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。図10はパケットの構成図である。900はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー901で、パケットの識別情報を格納しており、残り184バイトがペイロード902で、送信したい情報を含んでいる。903は、ヘッダー901の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図11は送られてくる複数のパケットの列を表現した模式図である。パケット1001は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの1番目の情報が入っている。パケット1002は、ヘッダーにパケットID「2」を持ち、ペイロードには音声Aの1番目の情報が入っている。パケット1003は、ヘッダーにパケットID「3」を持ち、ペイロードには音声Bの1番目の情報が入っている。
【0057】
パケット1004は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの2番目の情報が入っており、これはパケット1001の続きになっている。同様にパケット1005、1026、1027も他のパケットの後続データを格納している。このように、同じパケットIDを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
【0058】
図11を参照して、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図11においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図11においては、音声データのみをビデオデコーダ508に引き渡すことになる。
【0059】
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
【0060】
図6を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行い音声出力部507に出力する。
【0061】
音声出力部507は、オーディオデコーダ506から与えられた信号を出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行い映像出力部509に出力する。
【0062】
映像出力部509は、ビデオデコーダ508から与えられた信号を出力する。
2次記憶部510は、書き換え可能なストレージであり、具体的にはフラッシュメモリやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
【0063】
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一時的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
【0064】
ROM512は、書き換え不可能なメモリデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
【0065】
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図12は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図7のフロントパネル部603に相当する。フロントパネル1100は9つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107、録画ボタン1108、POD取出しボタン1109を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
【0066】
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、映像出力部509、2次記憶部510、1次記憶部511、ROM512、デスクランブル判定部515、メディア書込み部516を制御する。
【0067】
デスクランブル判定部515は、CPUから指定されたチャンネルをデスクランブルする条件が揃っているかどうかを判定する装置またはプログラムである。具体的には、POD504が物理的に端末500に挿入されているかの判定やPOD504のCPU706から受けるデスクランブル不可のメッセージによりデスクランブル可能かどうかの条件を判定する。
【0068】
メディア書込み部516は、書き込み可能なメディアのドライブであり、CPU514から書き込み命令を受け、2次記憶部510に保存されているデータをメディアに書き込む。具体的には書き込み可能な、DVD−RAM、DVD―R、DVD−RW+、DVD−RW−、Blue−ray Disc、CR―R、USBフラッシュメモリやSDメモリカードなどのフラッシュメモリのドライブである。
【0069】
また、メディア書込み部516は、図6では端末装置500の内部にあるものとしたが、端末装置500の外部にあって、配線などを介して端末装置500に接続する構成であっても良い。この場合、メディア書込み部516は2次記憶部510に保存されているデータを端末装置500の外部にある上述のメディア以外に、メディア書込み部516が書き込むことが可能なハードディスクなどにも書き込むことが可能となる。
【0070】
図13は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
【0071】
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、Java(登録商標)VM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。
【0072】
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とJavaVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能(例えば関数)を提供する。
【0073】
機能の一例として、チューニング機能、録画機能、メディア書き込み機能、時刻取得機能を説明する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504やTSデコーダ505に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
【0074】
録画機能は、他のサブプログラムから録画命令、または録画停止命令を受け取り、CPU514に引き渡す。録画命令を受け取ったCPU514は、録画番組がスクランブルされていない場合QAM復調部501が復調処理をしたデータを2次記憶部510へ保存する。録画番組がスクランブルされている場合POD504がデスクランブル処理をしたデータを2次記憶部510へ保存する。この結果、他のサブプログラムはライブラリ1201bを通して、指定した番組を2次記憶部へ保持することができる。録画停止命令を受け取ったCPU514は、上記保存処理を停止する。
【0075】
メディア書き込み機能は、他のサブプログラムから2次記憶部510に記録されている録画情報と書き込み情報を受け取り、2次記憶部510に保存されている録画番組をメディアに書き込むようにメディア書込み部516へ送る。この結果、他のサブプログラムはライブラリ1201bを通して、メディア書込み部516を制御し、2次記憶部510に保存されている録画番組をメディア書込み部516に挿入されているメディアへ書き込むことができる。
【0076】
時刻取得機能は、現在の時刻を取得するための機能である。
EPG1202は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1202bと録画を行う録画部1202cで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザからの入力を待つ。ここで、入力部513が図12で示されるフロントパネルで構成されている場合、ユーザが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報を映像出力部509を通してディスプレイ609に表示する。図14A及び図14Bは、ディスプレイ609に表示された番組表の一例である。図14Aを参照して、ディスプレイ609には、格子状に番組情報が表示されている。列1301には、時刻情報が表示されている。列1302には、チャンネル名「チャンネル1」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1303も列1302同様、チャンネル名「チャンネル2」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1330は、カーソルである。カーソル1330は、フロントパネル1100の左カーソル1103と右カーソル1104を押下すると移動する。図14Aの状態で、右カーソル1104を押下すると、カーソル1330は右に移動し、図14Bのようになる。また、図14Bの状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図14Aのようになる。
【0077】
図14Aの状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子を再生部1202bに通知する。図14Bの状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子を再生部1202bに通知する。また、ユーザが、入力部513の録画ボタン1108を押下すると、録画ボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報をディスプレイ609に表示する。図15A及び図15Bは、ディスプレイ609に表示された番組表の一例である。図15Aを参照して、ディスプレイ609には、格子状に番組情報が表示されている。列1401には、時刻情報が表示されている。列1402には、チャンネル名「チャンネル1」と、列1401の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1403も列1402同様、チャンネル名「チャンネル2」と、列1401の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1430は、フォーカス枠である。フォーカス枠1430は、フロントパネル1100の上カーソル1101と下カーソル1102と左カーソル1103と右カーソル1104を押下すると移動する。図15Aの状態で、右カーソル1104を押下すると、フォーカス枠1430は右に移動し、図15Bのようになる。また、図15Bの状態で、左カーソル1103を押下すると、フォーカス枠1430は左に移動し、図15Aのようになる。
【0078】
図15Aの状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子と「ニュース9」の開始時間と終了時間を録画部1202cに通知する。図15Bの状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子と「映画BBB」の開始日時と終了日時を録画部1202cに通知する。
【0079】
また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【0080】
再生部1202bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図16は2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1501は、チャンネルの識別子である。列1502は、チャンネル名である。列1503はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1504はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMTを識別するための番号である。PMTに関しては、後述する。行1511〜1514の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1511は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「312MHz」、プログラムナンバーが「101」を含む組となっている。再生部1202bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子と再生命令をサービスマネージャに引き渡す。
【0081】
また、再生部1202bは、再生中に、ユーザがフロントパネル1100の上カーソル1101と下カーソル1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部1202bは、1次記憶部511に現在再生中のチャンネルの識別子を記憶する。図16A、図16B及び図16Cは、1次記憶部511に保存しているチャンネルの識別子の例である。図17Aでは識別子「3」が記憶されており、図16を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図17Aの状態で、ユーザが上カーソル1101を押下すると再生部1202bは、図16のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図17Bは、チャンネル識別子が書き換えられた状態を表す。また、図17Aの状態で、ユーザが下カーソル1102を押下すると再生部1202bは、図16のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図17Cは、チャンネル識別子が書き換えられた状態を表す。
【0082】
録画部1202cは、受け取ったチャンネルの識別子と開始時刻と終了日時を録画データに関する管理情報として2次記憶部510に保存する。録画データに関する管理情報は、例えば管理テーブルに表形式で格納される。図18A及び図17Bは、2次記憶部510に保存されている管理テーブルの一例である。列1701は、録画データの録画データ識別子(録画番号)である。列1702はチャンネル識別子である。このチャンネル識別子は図16の列1501のチャンネル識別子に対応している。列1703は、録画を開始する時刻であり、録画を開始する年、月、日、時刻を表している。列1704は、録画を終了する時刻であり、録画を終了する年、月、日、時刻を表している。列1705は、録画状態を示す値であり、本実施の形態では、録画前は「0」、録画中は「1」、録画終了は「2」の値をもつ。列1706は、録画する番組がスクランブル放送かどうかを示す値であり、本実施の形態では、スクランブル放送の場合は「1」、スクランブル放送で無い場合は「0」をもつ。録画部1202cはライブラリ1201bを通して録画する番組がスクランブル放送か否かの情報を取得する。列1707は、スクランブル放送の録画中の時間にデスクランブルできない状態が存在したかどうかを示す値であり、本実施の形態では、存在した場合は「1」、存在しない場合は「0」の値をもつ。行1708、1709の各行は、各録画データに関する管理情報であり、録画データ識別子、チャンネル識別子、録画開始時刻、録画終了時刻、実行状態、スクランブル番組かどうかの値、録画中デスクランブルできない状態になったかどうかを示す値の組となる。
【0083】
また、録画部1202cは、現在時刻が録画データの開始時刻に達した場合、管理テーブルのこの録画データに対応する管理情報の実行状態を「1」に書き換え、録画データ識別子と録画命令をサービスマネージャ1204に渡す。例えば図18Aを参照して現在時刻が2004年3月10日の11:00である場合、行1709の録画開始時刻に達したので行1709の実行状態を「0」から「1」に書き換える。書き換え後の録画データを図18Bに示す。行1709の実行状態は1に書き換えられている。次に、録画部1202cは録画開始時刻に達した録画データである行1709の録画データ識別子「2」と録画命令をサービスマネージャ1204に引き渡す。
【0084】
JavaVM1203は、Java(登録商標)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJavaバーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。JavaVM1203は、カーネル1201aに実行するJavaプログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJavaプログラムとしてサービスマネージャ1204を指定する。Java言語の詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、JavaVM自体の詳細な動作などは、「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【0085】
サービスマネージャ1204は、Java言語で書かれたJavaプログラムであり、JavaVM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【0086】
サービスマネージャ1204は、JNIを通して、再生部1202bよりチャンネルの識別子と再生命令を受け取り、録画部1202cより録画データの識別子と録画命令を受け取る。
【0087】
サービスマネージャ1204は、再生部1202bよりチャンネルの識別子と再生命令を受け取った場合、Javaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図16の列1512を参照して、対応するチューニング情報「156MHz」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、復調したチャンネルがスクランブル放送の場合はPOD504に、スクランブル番組でない場合はTSデコーダ505に引き渡す。次にサービスマネージャ1204は、Javaライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
【0088】
次にサービスマネージャ1204は、Javaライブラリ1205の中にあるJMF1205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
【0089】
まず、最初にJMF1205aは、再生すべき映像と音声を特定するためのパケットIDをPAT、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。PATは、Program Association Tableの略で、パケットID「0」のパケットに格納され送信されている。JMF1205aは、PATを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PATのパケットを収集する。図19は、収集したPATの情報の一例を模式的に表した表である。列1801は、プログラムナンバーである。列1802は、パケットIDである。列1802のパケットIDはPMTを取得するために用いられる。行1811〜1813は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1811はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図16の列1512を参照して、対応するプログラムナンバー「102」を獲得し、次に、図19のPATの行1812を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。PMTは、Program Map Tableの略で、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1205aは、PMTを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PMTのパケットを収集する。図20は、収集したPMTの情報の一例を模式的に表した表である。列1901は、ストリーム種別であり。列1902は、パケットIDである。列1902で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1903は補足情報である。列1911〜1914はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。列1911は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図20を参照して、JMF1205aは、行1911から音声のパケットID「5011」を、行1912から映像のパケットID「5012」を獲得する。
【0090】
次に、JMF1205aは、OS1201のライブラリ1201bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行い音声出力部507へ出力する。ビデオデコーダ508は、与えられたパケットのデジタル−アナログ変換を行い映像出力部509に映像を出力する。
【0091】
最後にサービスマネージャ1204は、Javaライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJavaプログラムを抽出し、JavaVM1203に実行させることである。MPEG2トランスポートストリームにJavaプログラムを埋め込む方法は、MPEG規格書ISO/IEC138181−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJavaプログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略である。
【0092】
また、サービスマネージャ1204は、録画部1202cより録画データの識別子と録画命令を受け取った場合、2次記憶部510に保存されている録画データの列1701から受け取った録画識別子と一致するものを探し、同じ行のチャンネル識別子を、Javaライブラリ1205の中にあるTuner1205cに引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、録画部1202cが録画データ識別子「2」と録画命令をサービスマネージャ1204へ渡すと、サービスマネージャは図18Bの列1701から「2」を探し、録画識別子が「2」である行1709を特定する。次に録画データ行1709のチャンネル識別子である「2」をサービスマネージャ1204がTuner1205cに引き渡すと、Tuner1205cは、図16の列1512を参照して、対応するチューニング情報「156MHz」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、スクランブル番組の場合はPOD504に、スクランブル番組でない場合はTSデコーダに引き渡す。次にサービスマネージャ1204は、Javaライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505と2次記憶部510に引き渡す。次に、サービスマネージャ1204は、Javaライブラリ1205の中にあるREC1205eに録画を依頼する。REC1205eは、OS1201のライブラリ1201bを通して2次記憶部510に録画命令を与える。2次記憶部510は、POD504が出力するデータを保存する。ここで、2次記憶部510が保存するデータは、TSデコーダ505が出力するデータであっても良い。
【0093】
2次記憶部510は端末装置内部に存在するハードディスクなどの記録媒体を例に説明しているが、端末装置500の外部に存在し、配線などを介して接続するような構成であっても良い。また、2次記憶部510は、ハードディスクに限定される必要はなく、光ディスク装置に着脱可能な光ディスクであってもよいし、カードメディアなどの媒体であっても良い。
【0094】
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図19のPAT、図20のPMTが送信されていると、JMF1205aと同様の手順で、図20のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図20を参照して、行1913のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
【0095】
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。図21は、収集したAITの情報の一例を模式的に表した表である。列2001はJavaプログラムの識別子である。列2002はJavaプログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列2003は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列2004はJavaプログラムのプログラム名である。行2011と2012は、Javaプログラムの情報の組である。行2011で定義されるJavaプログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行1812で定義されるJavaプログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJavaプログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
【0096】
AM1205bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図21を参照して、AM1205bは行2011のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。
【0097】
次にAM1205bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
【0098】
今、DSMCC識別子が「1」であり、PMTが図20とすると、行1914のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。
【0099】
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポート中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
【0100】
図22は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、2101はルートディレクトリ、2102はディレクトリ「a」,2103はディレクトリ「b」,2104はファイル「TopXlet.class」、2105はファイル「GameXlet.class」である。
【0101】
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1203に引き渡す。今、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図22を参照して、ファイル2104が実行すべきJavaプログラムである。次にAM1205bは、ファイル2104をJavaVM1203に引き渡す。
【0102】
JavaVM1203は、引き渡されたJavaプログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子と再生命令を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。また、サービスマネージャ1204は、他のチャンネルの識別子と録画命令を受け取る場合は、Javaプログラムの実行は行わない。録画の場合は、Javaプログラムの実行を行わないことで、CPU514や1次記憶部511の使用量を削減することが出来る。また、サービスマネージャ1204は、スクランブル映像の録画中に、POD取出しボタン1109が押下されてもPOD603の取り出しを行わないように制御する。このとき、実際にPOD603の取出しが実行される前にデスクランブル映像を録画中であることを示すメッセージをユーザに通知することも可能である。
【0103】
Javaライブラリ1205は、ROM512に格納されている複数のJavaライブラリの集合である。本実施の形態では、ここでは、Javaライブラリ1205は、JMF1205a、AM1205b、Tuner1205c、CA1205d、REC1205e、POD Lib1205f等を含んでいる。
【0104】
REC1205eは、ライブラリ1201bを利用して録画を行う機能を持つ。REC1205eは、サービスマネージャ1204からの録画命令と録画停止命令を入力とする。REC1205eは、録画命令が入力された場合、ライブラリ1201bへ録画命令を出力する。また、録画停止命令が入力された場合、ライブラリ1201bへ録画停止命令を出力する。
【0105】
次に、本実施の形態の主要機能である録画自動停止機能について説明する。
サービスマネージャ1204は、録画部1202cから録画データ識別子と録画命令を受け取り、Javaライブラリ1205に含まれるREC1205eを通して、番組を2次記憶部510に保存することができる。
【0106】
本実施の形態の主要機能である録画自動停止機能は、録画実行中にデスクランブル不可の状態になった場合、サービスマネージャ1204が行っている録画を自動的に停止する。
【0107】
図23は、録画中にデスクランブル不可状態になった場合のフローチャートである。
まず、デスクランブル判定部515が、デスクランブル不可の状態になったチャンネルを検出する(ステップ2201)。これは、POD504の着脱状態を端末装置500側で検出(例えばPOD504の抜くための入力ボタンが押されたことを検出したり、POD504と端末装置500との間で一定時間毎に信号のやり取りを行いPOD504側からの信号が一定時間来ないことを端末装置が検出するなど)したり、POD504のCPU706から受けるデスクランブル不可のメッセージを受信することにより行われる。なお、POD504は、鍵自体が取得できない場合や取得した鍵が必要な鍵と異なっていた場合、鍵が無効な場合、POD504が複数のスクランブルデータをデスクランブルできる場合において録画対象のスクランブルデータがデスクランブルできない場合等に、デスクランブルが不可になった旨をデスクランブル判定部515へ通知する。
【0108】
次にデスクランブル判定部515は、サービスマネージャ1204へデスクランブル不可となったチャンネル識別子を引き渡す(ステップ2202)。
【0109】
次にサービスマネージャ1204は、デスクランブル判定部515から引き渡されたデスクランブル不可状態のチャンネル識別子で示されるチャンネルを録画中とする録画データに関する管理情報を、2次記憶部510に格納されている管理テーブルから探す(ステップ2203)。具体的には図18Bの列1702のチャンネル識別子が受け取ったチャンネル識別子と一致し、かつ録画実行状態を示す列1705の値が「1」である行を探す。今、サービスマネージャ1204がデスクランブル判定部515から、チャンネル識別子「2」のデスクランブルが不可状態となったメッセージを受け取ったとすると、図18Bに示す管理テーブルの行1709が該当する録画データとなる。
【0110】
次にサービスマネージャ1204は、デスクランブル不可となったチャンネルを録画中とする録画データを見つけた場合(ステップ2204でYes)、Javaライブラリ1205に含まれるREC1205eへ録画停止命令を出力する。録画停止命令を入力されたREC1205eは、ライブラリ1201bへ録画停止命令を出力し、録画を停止させる(ステップ2205)。もし、見つからなかった場合(ステップ2204でNo)は、何もしない。また、事前にユーザが設定した設定ファイルを参照して、録画を停止させるか否かを判断しても良い。
【0111】
次にサービスマネージャ1204は、2次記憶部510に保存されている管理テーブルに、録画中にデスクランブル不可の状態になったことを書き込む(ステップ2206)。具体的には、図18Bに示す管理テーブルの列1707の値を「0」から「1」に書き換える。
【0112】
なお、本実施の形態では、EPG1202、サービスマネージャ1204、Javaライブラリ1205は、Java言語で記述されたソフトウェアとして説明しているが、これらのプログラムはJava以外の言語であるC言語やネイティブ言語、またはハードウェアによって実装されていてもよい。
【0113】
なお、本実施の形態においてサービスマネージャ1204は、デスクランブル不可となったチャンネルを録画中とする録画データを見つけた場合、REC1205eを通じて録画を停止させるようにしたが、このとき録画要求を発行したEPG1202(ダウンロードしたアプリケーション)へ通知するようにしてもよい。このようにすると、EPG1202は、発行した録画要求に対する録画中に異常が発生したことを知ることができ、異常が発生した録画データに対して、正常な録画データに対する処理とは異なる処理を行うことが可能となる(例えば、異常が発生した録画データを削除したり、ユーザに異常が発生したことを通知したり、同じ番組が再放送される際に録画を再予約するなどの処理を行える)。
【0114】
以上が、本実施の形態における録画自動停止機能である。この機能により、録画中にデスクランブル不可の状態になった場合に無駄な録画を自動的に停止することが可能となるので、端末装置内に設けた録画データを記録、保存する2次記憶部510の空き容量を不必要に圧迫することがなくなる。
【0115】
(実施の形態2)
実施の形態1では、録画中にデスクランブル不可状態になった場合は録画を停止させていた。しかし、デスクランブル不可の状態である時間が短く、すぐにまたデスクランブル可能な状態になる場合、番組がスクランブルされた状態で録画される時間も短いため、その番組の録画を継続した方が、ユーザにとって良い場合もある。
【0116】
よって本実施の形態では、録画中にデスクランブル不可の状態になっても録画を継続する。しかし、2次記憶部510に録画された番組を、メディア書込み部516に挿入されているメディアに書き込む場合は、書き込みを行うかどうかをユーザに確認する。
【0117】
図24は、本実施の形態において番組録画中にデスクランブル不可状態になった場合の録画機能のフローチャートである。
【0118】
ステップ2301からステップ2304までは、実施の形態1における図23のフローチャートのステップ2201からステップ2204と同じ処理である。
【0119】
サービスマネージャ1204は、デスクランブル不可となったチャンネルを録画中とする録画データを見つけた場合(ステップ2304でYes)、2次記憶部510に保存されている管理テーブルに、録画中にデスクランブル不可の状態になったことを書き込む(ステップ2305)。ステップ2305の処理内容は、図23のステップ2206と同じである。
【0120】
以上のように、本実施の形態では、録画中にデスクランブル不可状態になっても2次記憶部510への録画を継続する。
【0121】
また、サービスマネージャ1204は、2次記憶部510に録画された番組をメディア書込み部516に挿入されたメディアに書き込むようメディア書込み部516に命令をする。この際、書き込む録画番組の録画中にデスクランブル不可の状態である時間が存在した場合は、ユーザに書き込みを行うかどうかを確認し、ユーザが書き込みをしない旨の入力をした場合は書き込みを中止する。
【0122】
図25は、録画番組をメディアに書き込む際のフローチャートである。
EPG1202が2次記憶部510に録画した番組一覧を映像出力部509をとしてディスプレイ609に表示する。図26は、EPGが表示する録画番組一覧の一例である。列2501は録画データの識別子であり、列2502は録画した番組名、列2503は録画中にデスクランブルができなくなる状況が発生したかどうかを示す値である。行2504は、録画データ識別子、番組名、録画中デスクランブルができなくなったかどうかを示す値の組である。ユーザはこの画面を用いることにより録画した番組の内容を視聴することなく録画中にデスクランブルできなくなったかどうかを判断でき、安心してメディアへ書き込みをする番組を選択できるようになる。EPGは入力部513を通してユーザが選択した番組の録画データ識別子を受信し、録画データ識別子と書き込み命令をサービスマネージャ1204へ引き渡す。サービスマネージャ1204は、EPGを通してユーザから録画する録画データ識別子と書き込み命令を受け取る(ステップ2401)。
【0123】
次に、サービスマネージャ1204は、書き込みをする録画番組の録画中にデスクランブル不可の状態が存在したかどうかを確認する(ステップ2402)。具体的には図18Bに示す管理テーブルから録画識別子が一致する行を探索し、見つけた行の列1707の値を確認する。値が「1」である場合は録画中にデスクランブル不可となる不具合が発生していたと判断し、値が「0」の場合は不具合が発生していなかったと判断する。不具合が発生していなかった場合(ステップ2403でNo)は、メディア書込み部516へ書き込み命令と録画データ識別子を引き渡し、メディア書込み部516は2次記憶部510に保存されている録画番組をメディアに書き込む(ステップ2408)。もし、録画中に不具合が発生していた場合(ステップ2403でYes)は、ユーザに書き込みを行うかどうかの確認メッセージを映像出力部509に出力する(ステップ2404)。図27は映像出力部509に出力されるユーザ確認の画面である。メッセージ2601は、メディアへ書き込みをする番組の録画中にデスクランブルできなくなった状況が発生したことをユーザに伝えるメッセージであり、YESボタン2602はユーザが書き込みを継続する選択をする場合に押されるボタンであり、NOボタン2603ユーザが書き込みを継続しない選択をする場合に押されるボタンである。次に、サービスマネージャ1204は、ユーザの指示を取得し(ステップ2405)、ユーザが書き込みを許可したか否かを判定する(ステップ2406)。ユーザが書き込みを許可した場合(ステップ2406でYes)、すなわちユーザがYESボタン2602を押下した場合、メディアへの書き込みを行う(ステップ2408)。一方、ユーザが書き込みを許可しない場合(ステップ2406でNo)、すなわちユーザがNOボタン2603を押下した場合は、メディア書込み部516への命令は渡さず、何もしない(ステップ2407)。また、ステップ2402、ステップ2404は実施せず、自動的にステップ2402から、ステップ2405またはステップ2406へ処理を移してもよい。
【0124】
なお、本実施の形態では、EPG1202、サービスマネージャ1204、Javaライブラリ1205は、Java言語で記述されたソフトウェアとして説明しているが、これらのプログラムはJava以外の言語であるC言語やネイティブ言語、またはハードウェアによって実装されていてもよい。
【0125】
以上の機能により、番組録画中にデスクランブル不可状態になった番組について、メディアへ書き込む前に録画中にデスクランブルの不可により録画データに不具合があることを認識できるようになるので、不要な録画データを記録メディアへ書き込む事を防止する。
【0126】
また、本実施の形態では、録画中に不具合が発生していたことだけをユーザに通知しているが、これに限られるものではない。例えば、デスクランブル不可となっている時間を計測し、録画中に不具合が発生していたことに加えてデスクランブル不可となっていた時間をユーザに通知しても構わない。この場合、サービスマネージャ1204は、計測された時間を図28に示すように2次記憶部510に保存されている管理テーブルに不具合時間2701として書き込む。そして、メディアへの書き込みが要求された際に、図29に示すようにデスクランブル不可となっていた時間2801を表示して、録画中に不具合が発生していたことをユーザに通知する。これによって、ユーザは、録画中に不具合が発生していた時間を知ることができ、メディアへの書き込みを行うか否かの判断に参考とすることができる。さらに、不具合が発生した原因をユーザに通知しても構わない。この場合、デスクランブル判定部515が、POD504が抜かれるのを端末装置500側で物理的に検出したのか、デスクランブルに必要な鍵を入手できなくなったことをPOD504から受信したのか等を判定する。そして、サービスマネージャ1204は、デスクランブル判定部515による判定結果を図28に示すように管理テーブルに不具合が発生した原因2702を書き込む。そして、メディアへの書き込みが要求された際に、図29に示すようにデスクランブル不可となっていた原因2802を表示して、録画中に不具合が発生していたことをユーザに通知する。これによって、ユーザは、録画中に不具合が発生していた原因を知ることができる。
【0127】
更に不具合が発生した前後の時間の録画データを表示させる要求を受け付けるようなインターフェース(図示せず)を図29の表示画面に設け、このインターフェースからの入力を受け付けると、例えば不具合時間2701の情報を用いてデスクランブル不可の状態が発生する前後の録画データを表示するようにすれば、デスクランブル不可となっていた時間中の録画データがユーザにとって必要なものかどうかを迅速に判断できるので、ユーザは記録メディアへ書き込むかどうかの判断をより的確かつ迅速に行えるようになる。
【0128】
また、デスクランブル不可となったチャンネルが録画実行中であれば、上記実施の形態1ではそのチャンネルの録画を停止させ、上記実施の形態2ではそのチャンネルの録画を継続させているが、これに限られるものではない。例えば、デスクランブル不可となっている時間を計測し、再びデスクランブルが可能になった場合に、デスクランブル不可となっていた時間に応じて録画を再開するか否かを決定しても構わない。この場合、図30Aに示すようにデスクランブル不可(NG)となっている時間が短く、所定の閾値T未満であれば、再びデスクランブルが可能になった時点で録画を再開する。また、図30Bに示すようにデスクランブル不可(NG)となっている時間が長く、所定の閾値T以上であれば、再びデスクランブルが可能になったとしても録画を再開しない。これにより、デスクランブル不可となっていた時間に応じて録画を制御することができる。
【0129】
なお、上述の例ではEPG1202が要求された録画番組に対応する管理情報を検索し、検索した管理情報の録画開始時刻1703、録画終了時刻1704、不具合時間2701を参照し、図26に示す不具合情報を作成するようにしたが、サービスマネージャ1204に要求された録画番組に対応する管理情報を検索するように依頼し、サービスマネージャ1204は必要な関数(または機能)を用いて受けた依頼に従って検索を行い、検索結果(管理情報の録画開始時刻1703、録画終了時刻1704、不具合時間2701)をEPG1202へ返し、EPG1202は検索結果を用いて、不具合情報を作成し、ディスプレイ609に表示するようにしても良い。
【0130】
(実施の形態3)
上記実施の形態2では、不具合のある録画データを記録メディアに書き込む際に、不具合情報をユーザに情報を通知していた。本実施の形態では、不具合のある録画データを、再生する際に、不具合情報をユーザに通知する。この例において、端末装置(デジタル放送録画装置)は、2次記憶部に記録した録画番組を再生する再生手段(図示せず)を備えるものとする。
【0131】
図31は、本実施の形態によりユーザに通知される不具合情報の一例を示す図である。
図31において609は、図7に示すディスプレイ609である。表示1710は、例えば図28に示す行1708に該当する管理情報に基づき作成した不具合情報である。ここでは、行1708に該当する録画番組が「映画A」であるものを例に説明する。時刻2701aは、録画した番組に含まれる不具合が発生した時刻を示し、時刻2701bは、録画した番組に含まれる不具合が終了した時刻を示す。部分2703aは、録画した番組に含まれる不具合が発生した部分を示す。部分2703bは、録画した番組に含まれる正常に録画された部分を示す。表示1711は、録画番組に含まれる正常に録画された部分の割合を示す。なお、表示1711は、録画番組に含まれる不具合が発生した割合を示しても良い。部分2703aの長さは、図28に示す不具合時間2701の時間の長さに応じて変化する。部分2703aの位置は、図28に示す不具合時間2701の時間開始時刻と終了時刻に応じて変化する。
【0132】
図31に示す不具合情報を表示するための処理を説明する。
EPG1202は、ユーザからの録画番組の再生要求があると、要求された録画番組に対応する管理情報を検索する。次に、EPG1202は、検索した管理情報の録画開始時刻1703、録画終了時刻1704、不具合時間2701を参照し、図31に示す不具合情報を作成し、ディスプレイ609に表示する。
【0133】
なお、上述の例ではEPG1202が要求された録画番組に対応する管理情報を検索し、検索した管理情報の録画開始時刻1703、録画終了時刻1704、不具合時間2701を参照し、図31に示す不具合情報を作成するようにしたが、サービスマネージャ1204に要求された録画番組に対応する管理情報を検索するように依頼し、サービスマネージャ1204は必要な関数(または機能)を用いて受けた依頼に従って検索を行い、検索結果(管理情報の録画開始時刻1703、録画終了時刻1704、不具合時間2701)をEPG1202へ返し、EPG1202は検索結果を用いて、不具合情報を作成し、ディスプレイ609に表示するようにしても良い。
【0134】
(実施の形態4)
図32は、本実施の形態において、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例を示す図である。
【0135】
なお、図32において図13に付した符号と同一のものは図13に示す同一の符号のものと同一またはこれに相当するものである。
【0136】
また、本実施の形態におけるハードウェア構成は図6に示すものと、ほぼ同じであるので、ここでは詳細な説明を省略する。
【0137】
デスクランブル不可となったチャンネルが録画実行中である場合、上記実施の形態1ではそのチャンネルの録画を停止させ、上記実施の形態2ではそのチャンネルの録画を継続させていた。本実施の形態では、デスクランブル不可の状態になるとチャンネルの録画を停止させ、再びデスクランブルが可能になった場合に、デスクランブル不可となっていた時間を計測し、計測した時間に応じて録画を再開するか否かを決定する録画再開判定部1205gを設けたことを特徴とする。
【0138】
具体的には、Javaライブラリ1205が録画再開判定部1205gを構成要素としてもつものを例に説明をする。また、図13に示すサービスマネージャ1204に追加の機能を付したので、ここでは、サービスマネージャ1204の符号を1204aとする。
【0139】
また、図6に示すデスクランブル判定部515は、上述した機能を有するとともに、デスクランブルが不可能な状態から、再びデスクランブル可能になった場合、サービスマネージャ1204aへ、再びデスクランブル可能となったチャンネル識別子を出力する機能を有するものとする。
【0140】
それ以外の部分は、実施の形態2と同じなので、本実施の形態では、録画再開処理に絞って説明を行う。
【0141】
ここでは、録画番号「1」において10時40分からデスクランブル不可の状態が起こり、10時45分に録画が再開される動作を説明する。
【0142】
まず、上述したようにデスクランブル判定部515は、デスクランブルが不可能な状態になったチャンネル識別子をサービスマネージャ1204aへ出力する。
【0143】
サービスマネージャ1204aは、デスクランブル判定部515からの、デスクランブル不可能となったチャンネル識別子を受け取ると、管理テーブルから、入力されたチャンネル識別子で録画している録画番号を探す。次に、見つけた録画番号の実行状態1705を、不具合による録画停止状態を示す「3」に書き換える。次に、見つけた録画番号の不具合時間の開始時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ1204aは、例えばOS1201内のライブラリ1201bにおける時刻取得機能を用いて現在の時刻の情報である10時40分を得た後、管理テーブルの不具合時間2701の開始時刻として10時40分を書き込む(図33参照)。
【0144】
サービスマネージャ1204aは、REC1205eへ録画停止命令を出力する。録画停止命令を受け取ったREC1205eは、命令の内容に従って対応する番組の録画を停止する。このとき、REC1205eは、OS1201内のライブラリ1201bの録画停止するために必要な機能を用いて録画停止を行う。
【0145】
次に、デスクランブル判定部515は、デスクランブル不可能と判断した後、再びデスクランブル可能と判断した場合、サービスマネージャ1204aへ再びデスクランブル可能となったチャンネル識別子を出力する。
【0146】
サービスマネージャ1204aは、デスクランブル判定部515からの、デスクランブル可能となったチャンネル識別子を受け取ると、管理テーブルから、入力されたチャンネル識別子に対応する録画番号を探す。次に、見つけた録画番号の不具合時間の終了時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ1204aは、例えばOS1201内のライブラリ1201bにおける時刻取得機能を用いて現在の時刻の情報である10時45分を得た後、管理テーブルの不具合時間の終了時刻として10時45分を書き込む(図34参照)。次にサービスマネージャ1204aは、録画再開判定部1205gへ、再開判定命令と見つけた録画番号を出力する。
【0147】
次に、録画再開判定部1205gは、受け取った録画番号に対応する録画番組の録画を再開してもよいかどうかを判定し、判定結果をサービスマネージャ1204aへ出力する。録画再開判定部1205gの具体的な動作は、後述する。
【0148】
次に、サービスマネージャ1204aは、録画再開判定部1205gからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、REC1205eに録画命令を出力し、録画番号に対応する列1705の値を不具合による録画停止状態からの録画再開を示す「4」に書き換える(図35参照)。録画命令を受け取ったREC1205eは、OS1201内のライブラリ1201bの録画するために必要な機能を用いて録画を行う。
【0149】
また、判定結果が録画再開しないことを示している場合、サービスマネージャ1204aは、REC1205eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0150】
次に、録画再開判定部1205gの具体的な動作を説明する。
録画再開判定部1205gは、番組録画中の不具合時間と所定の時間を比較し、録画を再開するか否かを決定する機能を持つ。
【0151】
録画再開判定部1205gは、サービスマネージャ1204aから、録画再開判定命令と録画番号を受け取ると、受け取った録画番号の不具合時間を管理テーブルを参照して得る。受け取った録画番号において、管理テーブル内で不具合時間が複数存在する場合、最新の不具合時間を参照し取り出す。例えば、管理テーブルが図34であるとし、録画再開判定部1205gが、録画番号「1」を受け取った場合、管理テーブルを参照して、複数の不具合時間のうち最新の不具合時間である「10:40〜10:45」を得る。録画再開判定部1205gは、入手した不具合時間と比較する所定の時間を計算する。例えば録画再開判定部1205gは、管理テーブルを参照して、入力された録画番号の列1704が示す予約録画の終了時刻から、列2701が示すデスクランブル不可が発生した不具合開始時刻を引いた値(つまり時間間隔)を、所定の時間とする。録画再開判定部1205gは、入手した不具合時間(この例では5分)と計算した所定の時間(この例では20分)を比較し、不具合時間の方が長い場合は、録画を再開しないと判定する。不具合時間が所定の時間より短い場合は、録画を再開すると判定する。録画再開判定部1205gは、録画を再開するか否かの判定結果をサービスマネージャ1204aへ出力する。このようにすることにより、録画終了時刻を越えて録画を再開することが無くなる。
【0152】
次に、本実施の形態における、録画再開処理についてフローチャートを用いて説明する。
【0153】
図36は、本実施の形態における録画再開処理の一例を示したフローチャートである。まず、デスクランブル判定部515が、デスクランブル不可の状態を検出し、サービスマネージャ1204aへ、デスクランブル不可能となったチャンネル識別子を出力する(ステップ3601)。
【0154】
次に、サービスマネージャ1204aは、デスクランブル判定部515からデスクランブル不可となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間2701の不具合開始時刻を書き込むとともに、REC1205eへ録画停止命令を出力することで、録画を停止させる(ステップ3602)。
【0155】
次に、デスクランブル判定部515が、デスクランブル可能の状態を検出し、サービスマネージャ1204aへ、デスクランブル可能となったチャンネル識別子を出力する(ステップ3603)。
【0156】
次に、サービスマネージャ1204aは、デスクランブル判定部515からデスクランブル可能となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間2701の不具合終了時刻を書き込む(ステップ3604)。
【0157】
次に、録画再開判定部1205gは、管理テーブルから該当するチャンネル識別子の録画番号に対応する不具合時間を参照し、所定の時間の計算を行い(ステップ3605)、不具合時間と所定の時間を比較する(ステップ3606)。比較の結果、不具合時間の方が短い場合(ステップ3606でYes)は、録画再開判定部1205gは、録画再開をすると判定し、サービスマネージャ1204aへ判定結果を出力する。サービスマネージャ1204aは、REC1205eへ録画命令を出力することで、停止されていた録画を再開させる(ステップ3607)。
【0158】
また、比較により、録画再開しないと判定した場合(ステップ3606でNo)、サービスマネージャ1204aは、REC1205eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0159】
以上が、本実施の形態における録画再開処理のフローチャートの説明である。
尚、録画再開判定部1205gは、所定の時間を計算する代わりに、2次記憶部510に予め所定の時間を記録しておき、記録した所定の時間と不具合時間2701をと比較し、比較結果に基づき録画再開を判定してもよい。
【0160】
この場合、図30Aと同様にデスクランブル不可(NG)となっている時間が短く、所定の閾値T未満であれば、再びデスクランブルが可能になった時点で録画を再開する。また、図30Bと同様にデスクランブル不可(NG)となっている時間が長く、所定の閾値T以上であれば、再びデスクランブルが可能になったとしても録画を再開しない。これにより、デスクランブル不可となっていた時間に応じて録画を制御することができる。
【0161】
また、録画再開判定部1205gが管理テーブルを参照し得られる不具合時間は、入力された録画番号における不具合時間の合計であってもよい。例えば、録画番号「1」が入力された場合、不具合時間の合計は、図35を参照して、不具合時間「9:35〜9:40」が示す5分と、不具合時間「10:10〜10:30」が示す20分と、・・・、不具合時間「10:40〜10:45」が示す5分との合計時間となる。
【0162】
(実施の形態5)
本実施の形態では、デスクランブル不可となったチャンネルが録画実行中である場合、そのチャンネルの録画を停止させ、再びデスクランブルが可能になった場合に、デスクランブル可能になった時刻と予約録画のスケジュールを比較し、比較結果に応じて録画を再開するか否かを決定する。
【0163】
本実施の形態では、録画再開判定部1205gの判断する機能が、実施の形態4とは異なる機能を持つ。それ以外の部分は、実施の形態4と同じであるので、ここでは説明を省略する。
【0164】
本実施の形態における録画再開判定部1205gの具体的な動作を説明する。
録画再開判定部1205gは、番組録画中の不具合時間の終了時刻と、録画予約の終了時刻とを比較し、録画を再開するか否かを決定するものである。
【0165】
録画再開判定部1205gは、サービスマネージャ1204aから、録画再開判定命令と録画番号を受け取ると、受け取った録画番号の不具合終了時刻を管理テーブルを参照して得る。受け取った録画番号において、管理テーブル内に不具合時間が複数存在する場合、最新の不具合時間終了時刻を参照する。例えば、管理テーブルが図34であるとし、録画再開判定部1205gが、録画番号「1」を受け取った場合、管理テーブルを参照して、複数の不具合時間のうち最新の不具合時間である「10:40〜10:45」を参照し、不具合終了時刻10時45分を得る。
【0166】
次に、録画再開判定部1205gは、入手した不具合終了時刻と、予約終了時刻を比較する。例えば録画再開判定部1205gは、管理テーブルを参照して、受け取った録画番号の予約録画の終了時刻1704と、不具合時間2701が示す不具合終了時刻とを比較する。
【0167】
録画再開判定部1205gは、参照した不具合終了時刻(この例では10時45分)と、予約録画の終了時刻(この例では11時00分)を比較し、不具合終了時刻の方が予約録画の終了時刻よりも後である場合、録画を再開しないと判定する。不具合終了時刻が予約録画の終了時刻より前である場合は、録画を再開すると判定する。録画再開判定部1205gは、録画を再開するか否かの判定結果をサービスマネージャ1204aへ出力する。このようにすることにより、録画終了時刻を越えて録画を再開することが無くなる。
【0168】
次に、本実施の形態における、録画再開処理についてフローチャートを用いて説明する。
【0169】
図37は、本実施の形態における録画再開処理の一例を示したフローチャートである。まず、デスクランブル判定部515が、デスクランブル不可の状態を検出し、サービスマネージャ1204aへ、デスクランブル不可能となったチャンネル識別子を出力する(ステップ3701)。
【0170】
次に、サービスマネージャ1204aは、デスクランブル判定部515からデスクランブル不可となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間2701の不具合開始時刻を書き込むとともに、REC1205eへ録画停止命令を出力することで、録画を停止させる(ステップ3702)。
【0171】
次に、デスクランブル判定部515が、デスクランブル可能の状態を検出し、サービスマネージャ1204aへ、デスクランブル可能となったチャンネル識別子を出力する(ステップ3703)。
【0172】
次に、サービスマネージャ1204aは、デスクランブル判定部515からデスクランブル可能となったチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間2701の不具合終了時刻を書き込む(ステップ3704)。
【0173】
次に、録画再開判定部1205gは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了時刻を参照し、得る(ステップ3705)。
【0174】
次に、録画再開判定部1205gは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了時刻を比較する(ステップ3706)。
【0175】
比較の結果、不具合終了時刻が予約録画の終了時刻よりも前の場合(ステップ3706でYes)は、録画再開判定部1205gは、録画再開をすると判定し、サービスマネージャ1204aへ判定結果を出力する。サービスマネージャ1204aは、REC1205eへ録画命令を出力することで、停止されていた録画を再開させる(ステップ3707)。
【0176】
また、比較により、録画再開しないと判定した場合(ステップ3706でNo)、サービスマネージャ1204aは、REC1205eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0177】
以上が、本実施の形態における録画再開処理のフローチャートの説明である。
本実施の形態により、不具合発生後、デスクランブル可能となった時刻に応じて録画を制御することができる。この場合、図38に示すようにデスクランブル不可(NG)となっている状態から、再びデスクランブル可能(OK)へ復帰した時刻が予約録画スケジュールの期間内であれば、再びデスクランブルが可能になった時点で録画を再開する。また、図39に示すように、再びデスクランブルが可能になった時刻が予約スケジュールの期間外であれば、再びデスクランブルが可能になったとしても録画を再開しない。
【0178】
(実施の形態6)
上記実施の形態1〜5では、デスクランブル可能、不可能の状態を、録画の停止、録画再開の条件にしていた。本実施の形態では、IOバンド幅(ハードウェア間におけるデータ転送量に関する性能)の不足、ノイズの影響を受けるチューニングの状態などのハードウェアに起因する不具合の状態も、録画の停止と録画再開の条件とする。ここでいうIOバンド幅の不足とは、TSデコーダ505から2次記憶部510へ転送するデータ量と比べて、TSデコーダ505と2次記憶部510の間のバンド幅が足りなくなることを指す。また、本実施の形態では、OS1201の上で動作しているプログラムが致命的なエラーを発生させたことに起因するサービスマネージャ1204、EPG1202、JavaVM1203の再起動も録画再開の条件とする。
【0179】
本実施の形態では、ハードウェアに起因する不具合状態により録画停止、録画再開を実行するため、Javaライブラリ1205のREC1205e、Tuner1205cの機能、サービスマネージャ1204aの機能が、実施の形態1〜5と異なる。それ以外は、実施の形態1〜5と同じであるので、本実施の形態では、ハードウェア不具合による、録画停止、録画再開処理に絞って説明をする。
【0180】
また、本実施の形態におけるハードウェア構成は図6に示すものと、ほぼ同じであるので、ここでは詳細な説明を省略する。
【0181】
CPU514は、上述の実施の形態で説明したCPU514がもつ機能に加え、データの入出力に関するエラーを検出し、REC12051eへエラーの発生をライブラリ1201bを通して出力する。また、CPU514は、2次記憶部510へ保存命令と保存するデータの入力先を出力する。CPU514は、2次記憶部510へ保存命令と保存するデータの入力先を出力する際に発生する、データ入出力に関するエラーを検出する。データ入出力に関するエラーは、例えば、TSデコーダ505から2次記憶部510へ転送するデータ量と比べて、TSデコーダ505と2次記憶部510の間のバンド幅が足りない場合に発生するIOバンド幅の不足によるエラーであってもよい。また、2次記憶部510の記憶容量を超えたデータを保存しようとした場合に発生する、記憶容量不足エラーであってもよい。また、CPU514は、上記IOバンド幅の不足によるエラーや記憶容量不足エラーから復帰したことを検出する。
【0182】
QAM復調部501は、チューニングに関するエラーを検出し、検出結果をTuner12051cへライブラリ1201bを通して出力する。チューニングに関するエラーは、例えば、ヘッドエンド101から送られてきたデータにノイズが入ってしまい、QAM復調部501へ正しいデータが入力されない場合や、ケーブルの不接触などが原因で、復調処理ができなくなった場合に発生するチューニング失敗エラーであっても良い。また、QAM復調部501は、チューニングに関するエラー発生後、エラーから復帰し正常な処理を行える状態になったことを、Tuner12051cへライブラリ1201bを通して出力する。
【0183】
以上が、本実施の形態における端末装置500の説明である。
次に、本実施の形態において、ROM512に記憶され、CPU514に実行されるプログラムを図40を使って説明をする。本実施の形態では、実施の形態1〜5における、Tuner1205c、REC1205e,サービスマネージャ1204に新たな機能が加わったので、それらの符号を、Tuner12051c、REC12051e,サービスマネージャ1204bとした。それ以外は実施の形態1〜5と同じである。
【0184】
Tuner12051cは、QAM復調部501で発生したチューニングエラーを、ライブラリ1201bを通して受け取る。エラーを受け取った後、Tuner12051cは、サービスマネージャ1204bへ、チューニングエラーが発生したチャンネル識別子を出力する。また、Tuner12051cは、QAM復調部501からチューニングに関するエラーからの復帰を受け取った場合、サービスマネージャ1204bへエラーから復帰したチャンネル識別子を出力する。
【0185】
REC12051eは、録画中にCPU514が検出したIOバンド幅の不足によるエラーや記憶容量不足エラーを、ライブラリ1201bを通して受け取る。REC12051eはエラーを受け取った後、サービスマネージャ1204bへIOバンド幅の不足によるエラーや記憶容量不足エラーの発生を通知する。また、REC12051eは、CPU514がIOバンド幅の不足によるエラーや記憶容量不足エラーからの復帰を検出した場合、ライブラリ1201bを通して、エラーからの復帰を受け取る。REC12051eは、エラーからの復帰を受け取った後、サービスマネージャ1204bへエラーから復帰したことを通知する。
【0186】
サービスマネージャ1204bは、Tuner12051cから、チューニングエラーが発生したチャンネル識別子を受け取ると、管理テーブルから、入力されたチャンネル識別子を録画している録画番号を探す。次に、見つけた録画番号の実行状態1705を、不具合による録画停止状態を示す「3」に書き換える。次に、見つけた録画番号の不具合時間の開始時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ1204bは、例えばOS1201内のライブラリ1201bにおける時刻取得機能を用いて現在の時刻の情報である10時40分を得た後、管理テーブルの不具合時間2701の開始時刻として10時40分を書き込む(図33参照)。
【0187】
サービスマネージャ1204bは、REC12051eへ録画停止命令を出力する。録画停止命令を受け取ったREC12051eは、命令の内容に従って対応する番組の録画を停止する。このとき、REC12051eは、OS1201内のライブラリ1201bの録画停止するために必要な機能を用いて録画停止を行う。
【0188】
次に、Tuner12051cは、QAM復調部501からチューニングに関するエラーからの復帰を受け取った場合、サービスマネージャ1204bへエラーから復帰したチャンネル識別子を出力する。
【0189】
サービスマネージャ1204bは、Tuner12051cから、エラーから復帰したチャンネル識別子を受け取ると、管理テーブルから、受け取ったチャンネル識別子に対応する録画番号を探す。次に、見つけた録画番号の不具合時間の終了時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ1204bは、例えばOS1201内のライブラリ1201bにおける時刻取得機能を用いて現在の時刻の情報である10時45分を得た後、管理テーブルの不具合時間の終了時刻として10時45分を書き込む(図34参照)。次にサービスマネージャ1204bは、録画再開判定部1205gへ、再開判定命令と見つけた録画番号を出力する。
【0190】
次に、録画再開判定部1205gは、受け取った録画番号に対応する録画番組の録画を再開してもよいかどうかを判定し、判定結果をサービスマネージャ1204bへ出力する。録画再開判定部1205gの具体的な動作は、実施の形態4、5で既に説明したので、ここでは説明を省略する(この例では、実施の形態5に説明したものを例示する)。
【0191】
次に、サービスマネージャ1204bは、録画再開判定部1205gからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、REC12051eに録画命令を出力し、録画番号に対応する列1705の値を不具合による録画停止状態からの録画再開を示す「4」に書き換える(図35参照)。録画命令を受け取ったREC12051eは、OS1201内のライブラリ1201bの録画するために必要な機能を用いて録画を行う。
【0192】
一方、判定結果が録画再開しないことを示している場合、サービスマネージャ1204bは、REC12051eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0193】
また、サービスマネージャ1204bは、REC12051eから、IOバンド幅の不足によるエラーや記憶容量不足エラーを受け取ると、管理テーブルから、REC12051eに録画をさせていた録画番号を探す。次に、見つけた録画番号の実行状態1705を、不具合による録画停止状態を示す「3」に書き換える。次に、見つけた録画番号の不具合時間の開始時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ1204bは、例えばOS1201内のライブラリ1201bにおける時刻取得機能を用いて現在の時刻の情報である10時40分を得た後、管理テーブルの不具合時間2701の開始時刻として10時40分を書き込む(図33参照)。
【0194】
サービスマネージャ1204bは、REC12051eへ録画停止命令を出力する。録画停止命令を受け取ったREC12051eは、命令の内容に従って対応する番組の録画を停止する。このとき、REC12051eは、OS1201内のライブラリ1201bの録画停止するために必要な機能を用いて録画停止を行う。
【0195】
次に、REC12051eは、CPU514からIOバンド幅の不足によるエラーや記憶容量不足エラーからの復帰を受け取った場合、サービスマネージャ1204bへエラーから復帰したチャンネル識別子を出力する。
【0196】
サービスマネージャ1204bは、REC12051eから、IOバンド幅の不足によるエラーや記憶容量不足エラーから復帰したことを受け取ると、管理テーブルから、停止させていた録画処理に対応する録画番号を探す。次に、見つけた録画番号の不具合時間の終了時刻として、現在の時刻を書き込む。具体的には、サービスマネージャ1204bは、例えばOS1201内のライブラリ1201bにおける時刻取得機能を用いて現在の時刻の情報である10時45分を得た後、管理テーブルの不具合時間の終了時刻として10時45分を書き込む(図34参照)。次にサービスマネージャ1204bは、録画再開判定部1205gへ、再開判定命令と見つけた録画番号を出力する。
【0197】
次に、録画再開判定部1205gは、受け取った録画番号に対応する録画番組の録画を再開してもよいかどうかを判定し、判定結果をサービスマネージャ1204bへ出力する。録画再開判定部1205gの具体的な動作は、実施の形態4、5で既に説明したので、ここでは説明を省略する(この例では、実施の形態5に説明したものを例示する)。
【0198】
次に、サービスマネージャ1204bは、録画再開判定部1205gからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、REC12051eに録画命令を出力し、録画番号に対応する列1705の値を不具合による録画停止状態からの録画再開を示す「4」に書き換える(図35参照)。録画命令を受け取ったREC12051eは、OS1201内のライブラリ1201bの録画するために必要な機能を用いて録画を行う。
【0199】
また、判定結果が録画再開しないことを示している場合、サービスマネージャ1204bは、REC12051eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0200】
また、本実施の形態におけるサービスマネージャ1204bは、予約録画中に、OS1201の上で動作しているプログラムが致命的なエラーを発生させたことに起因するサービスマネージャ1204b、EPG1202、JavaVM1203が再起動した後、管理テーブルから、実行状態1705が録画終了を示す「2」以外の値を持つ録画番号を探し出す。つまり、予約録画が最後まで完了していない予約録画処理を探す。次にサービスマネージャ1204bは、探し出した録画番号と録画再開判定命令を、録画再開判定部1205gへ出力する。
【0201】
録画再開判定部1205gは、サービスマネージャ1204bから録画再開判定命令と録画番号を受け取ると、管理テーブルから、受け取った録画番号の録画開始時刻と録画終了時刻を参照し、現在の時刻が、この間にあるならば、録画再開と判定する。現在の時刻が、この間になければ、録画を再開しないと判定する。録画再開判定部1205gは、判定結果をサービスマネージャ1204bに出力する。
【0202】
次に、サービスマネージャ1204bは、録画再開判定部1205gからの録画再開の判定結果を受け取り、判定結果に従った動作をする。例えば、判定結果が録画再開することを示している場合、REC12051eに録画命令を出力し、録画番号に対応する列1705の値を不具合による録画停止状態からの録画再開を示す「4」に書き換える(図35参照)。録画命令を受け取ったREC12051eは、OS1201内のライブラリ1201bの録画するために必要な機能を用いて録画を行う。
【0203】
また、判定結果が録画再開しないことを示している場合、サービスマネージャ1204bは、REC12051eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0204】
次に、本実施の形態における、録画再開処理についてフローチャートを用いて説明する。
【0205】
図41は、本実施の形態における録画再開処理の一例を示したフローチャートである。まず、IOバンド幅の不足によるエラーや記憶容量不足エラーが発生した場合、REC12051eは、IOバンド幅の不足によるエラーや記憶容量不足エラーをCPU514から受け取り、サービスマネージャ1204bへ、エラー発生を通知する。また、QAM復調部501がチューニングエラーを検出した場合、Tuner12051cは、QAM復調部501からチューニングエラーを受け取った後、サービスマネージャ1204bへ、チューニングエラーが発生したチャンネル識別子を出力する(ステップ4101)。
【0206】
次に、サービスマネージャ1204bは、REC12051eからエラー通知を受ける、または、Tuner12051cから、チューニングエラーが発生したチャンネル識別子を受け取ると、管理テーブルにおける該当する録画番号の不具合時間2701の不具合開始時刻を書き込むとともに、REC12051eへ録画停止命令を出力することで、録画を停止させる(ステップ4102)。
【0207】
次に、CPU514が、IOバンド幅の不足によるエラーや記憶容量不足エラーから復帰したことを検出した場合、REC12051eがCPU514からエラーからの復帰を受け取った後、サービスマネージャ1204bへエラーから復帰したことを通知する。また、QAM復調部501が、チューニングに関するエラー発生後、エラーから復帰し正常な処理を行える状態になったことを検出した場合、Tuner12051cがエラーからの復帰をQAM復調部501から受け取った後、サービスマネージャ1204bへエラーから復帰したチャンネル識別子を出力する(ステップ4103)。
【0208】
次に、サービスマネージャ1204bは、ステップ4103で受け取った情報に応じて、管理テーブルにおける該当する録画番号の不具合時間2701の不具合終了時刻を書き込む(ステップ4104)。
【0209】
次に、録画再開判定部1205gは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了を参照し、得る(ステップ4105)。
【0210】
次に、録画再開判定部1205gは、受け取った録画番号の不具合時間の不具合終了時刻と録画番号の予約録画の録画終了を比較する(ステップ4106)。
【0211】
比較の結果、不具合終了時刻が予約録画の終了時刻よりも前の場合(ステップ4106でYes)は、録画再開判定部1205gは、録画再開をすると判定し、サービスマネージャ1204bへ判定結果を出力する。サービスマネージャ1204bは、REC1205eへ録画命令を出力することで、停止されていた録画を再開させる(ステップ4107)。
【0212】
また、比較により、録画再開しないと判定した場合(ステップ4106でNo)、サービスマネージャ1204bは、REC12051eに対し録画命令を出力しない。このとき、管理テーブルは、図34のままである。
【0213】
以上が、本実施の形態における録画再開処理のフローチャートの説明である。
次に、本実施の形態における、サービスマネージャ1204b、EPG1202、JavaVM1203の再起動時の自動録画開始処理の流れについて説明をする。図42は、実施の形態6における再起動時の録画開始処理の一例を示すフローチャートである。
【0214】
まず、OS1201の上で動作しているプログラムが致命的なエラーを発生させたことに起因して、サービスマネージャ1204b、EPG1202、JavaVM1203が再起動される(ステップ4201)。
【0215】
次にサービスマネージャ1204bが、管理テーブルから、実行状態1705が録画終了を示す「2」以外の値を持つ録画番号を探し、探し出した録画番号と録画再開判定命令を、録画再開判定部1205gへ出力する。(ステップ4202)。
【0216】
次に、録画再開判定部1205gは、現在時刻が録画開始時刻と録画終了時刻の間にあるかどうかを判定する(ステップ4203)。
【0217】
現在時刻が録画開始時刻と録画終了時刻の間にあるならば(ステップ4203でYes)、録画を開始すると判定し、サービスマネージャ1204bへ録画開始の判定結果を出力する。録画開始の判定結果を入力されたサービスマネージャ1204bは、REC12051eに録画命令を出力する(ステップ4204)。現在時刻が録画開始時刻と録画終了時刻の間になければ(ステップ4203でNo)、サービスマネージャ1204bは、REC12051eに対し録画命令を出力することなく処理を終了する。
【0218】
これにより、番組を録画中にサービスマネージャ1204b、EPG1202、JavaVM1203の再起動が発生した場合でも、再起動後の時刻が予約録画スケジュール内ならば、録画処理が自動的に再開される。これにより、サービスマネージャ1204b、EPG1202、JavaVM1203の再起動後に、ダウンロードJavaアプリケーションであるEPG1202は、開始すべき録画予約を確認する必要が無くなるという効果がある。
【0219】
上記に詳細に説明した本発明の実施の形態は単なる例示にすぎず、本発明の新規な教示および効果から実質的に逸脱することなく例示として挙げた実施の形態において様々な変更が可能であることは、当業者であれば容易に理解するところである。したがって、かかる変更はすべて本発明の範囲内に含まれるものである。
【産業上の利用可能性】
【0220】
本発明に係るデジタル放送録画装置は、ユーザの意図しない不完全な番組映像を例えばCD−RやDVD−Rなどの記録メディアに記録することを防ぐので記憶容量の無駄を削減することができたり、ユーザの意図しない不完全な番組映像を録画した場合に、録画した不完全な番組映像を再生する前に知ることができるので、ユーザが不完全な番組を再生中に知って不快感を持つことがなくなるので有用である。本発明に係るデジタル放送録画装置は、例えばDVDレコーダ、デジタルテレビ、パーソナルコンピュータ、および携帯電話等のスクランブルされているデータを記憶する装置に有用である。
【図面の簡単な説明】
【0221】
本願におけるこれらの目的および他の目的や、効果、特徴は、実施の形態を示す付属図面に関する以下の説明から明らかになる。当該図面において、
【図1】図1は、従来のプログラム実行装置の構成を表す構成図である。
【図2】図2は、本発明に係るケーブルテレビシステムの実施の形態1の構成図である。
【図3】図3は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図4】図4は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図5】図5は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図6】図6は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。
【図7】図7は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例である。
【図8】図8は、本発明に係るPODのハードウェア構成の構成図である。
【図9】図9は、本発明に係るPODが保存するプログラム構成の構成図である。
【図10】図10は、MPEG規格で定義されているパケットの構成図である。
【図11】図11は、MPEG2トランスポートストリームの一例である。
【図12】図12は、入力部をフロントパネルで構成した場合の外観の一例である。
【図13】図13は、本発明に係る端末装置が保存するプログラム構成の構成図である。
【図14A】図14Aは、本発明に係るディスプレイの表示の一例である。
【図14B】図14Bは、本発明に係るディスプレイの表示の一例である。
【図15A】図15Aは、本発明に係るディスプレイの表示の一例である。
【図15B】図15Bは、本発明に係るディスプレイの表示の一例である。
【図16】図16は、本発明に係る2次記憶部が保存する情報の一例である。
【図17A】図17Aは、本発明に係る1次記憶部が保存する情報の一例である。
【図17B】図17Bは、本発明に係る1次記憶部が保存する情報の一例である。
【図17C】図17Cは、本発明に係る1次記憶部が保存する情報の一例である。
【図18A】図18Aは、本発明に係る2次記憶部に保存されている管理テーブルの一例である。
【図18B】図18Bは、本発明に係る2次記憶部に保存されている管理テーブルの一例である。
【図19】図19は、本発明に係るMPEG2規格が規定するPATの内容を表す模式図である。
【図20】図20は、本発明に係るMPEG2規格が規定するPMTの内容を表す模式図である。
【図21】図21は、本発明に係るOCAP規格が規定するAITの内容を表す模式図である。
【図22】図22は、実施の形態1において、ダウンロードしたファイルシステムの一例を示す図である。
【図23】図23は、実施の形態1において、録画中にデスクランブル不可状態になった際の動作を表すフローチャートである。
【図24】図24は、実施の形態2において、録画中にデスクランブル不可状態になった際の動作を表すフローチャートである。
【図25】図25は、実施の形態2において、録画番組を書き込み可能なメディアに書き込む際の動作を表すフローチャートである。
【図26】図26は、本発明に係るディスプレイの表示の一例である。
【図27】図27は、本発明に係るディスプレイの表示の一例である。
【図28】図28は、本発明に係る2次記憶部に保存されている管理テーブルの一例である。
【図29】図29は、本発明に係るディスプレイの表示の一例である。
【図30A】図30Aは、実施の形態2における、デスクランブル不可となっていた時間に応じた録画の再開を説明する図である。
【図30B】図30Bは、実施の形態2における、デスクランブル不可となっていた時間に応じた録画の再開を説明する図である。
【図31】図31は、実施の形態3によりユーザに通知される不具合情報の一例を示す図である。
【図32】図32は、実施の形態4におけるプログラムの構成図の一例を示す図である。
【図33】図33は、実施の形態4における管理テーブルの一例である。
【図34】図34は、実施の形態4における管理テーブルの一例である。
【図35】図35は、実施の形態4における管理テーブルの一例である。
【図36】図36は、実施の形態4における録画再開処理の一例を示すフローチャートである。
【図37】図37は、実施の形態5における録画再開処理の一例を示すフローチャートである。
【図38】図38は、実施の形態5における、デスクランブル不可となっていた時間に応じた録画の再開について説明する図である。
【図39】図39は、実施の形態5における、デスクランブル不可となっていた時間に応じた録画の再開について説明する図である。
【図40】図40は、実施の形態6におけるプログラムの構成図の一例を示す図である。
【図41】図41は、実施の形態6における録画再開処理の一例を示すフローチャートである。
【図42】図42は、実施の形態6における再起動時の録画開始処理の一例を示すフローチャートである。

【特許請求の範囲】
【請求項1】
指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第1の復調手段と、
前記第1の復調手段により復調されたスクランブルデータをデスクランブルし、MPEG2トランスポートストリームを出力するデスクランブル手段と、
前記デスクランブル手段により出力されたMPEG2トランスポートストリームからAVデータと、アプリケーションを構成するファイルシステムとを取り出す取出手段と、
前記ファイルシステムで構成されるアプリケーションを実行する実行手段と、
前記実行されたアプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御手段と、
前記取り出したAVデータを前記録画制御手段からの命令に従って録画する録画手段と、
前記録画されたデータを管理するための管理情報を保持する保持手段と、
前記スクランブルデータが前記第1の復調手段にて復調された後、前記AVデータが取り出されるまでの間の処理で発生する異常を検出する検出手段とを備え、
前記録画手段によるデータの録画の最中に前記検出手段にて異常が検出された場合、前記録画制御手段は、前記検出された異常と前記異常の発生した時間を前記管理情報に書き込む
ことを特徴とするデジタル放送録画装置。
【請求項2】
前記検出手段にて異常を検出した場合、前記録画制御手段は、前記録画要求を発行したアプリケーションに異常が検出されたことを通知する
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項3】
前記検出手段は、前記デスクランブル手段でのデスクランブル処理ができるか否かを判定し、前記デスクランブル処理ができない場合、異常を検出する
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項4】
前記検出手段は、前記デスクランブル手段の利用期限に該当する鍵情報が無効となった場合、異常を検出する
ことを特徴とする請求項3記載のデジタル放送録画装置。
【請求項5】
前記デジタル放送録画装置は、さらに、
前記スクランブルデータの周波数帯域とは異なる周波数帯域に含まれるデスクランブルに用いる鍵情報を復調する第2の復調手段を備え、
前記デスクランブル手段は、前記第2の復調手段により復調されたデスクランブルに用いる前記鍵情報を当該デスクランブル手段内部に保存し、
前記検出手段は、前記デスクランブル手段内部に保存されたデスクランブルに用いる前記鍵情報が無効、または、前記第2の復調手段により前記デスクランブルに用いる前記鍵情報が復調できなければ、異常を検出する
ことを特徴とする請求項3記載のデジタル放送録画装置。
【請求項6】
前記デスクランブル手段は、前記デジタル放送録画装置から着脱可能であり、
前記検出手段は、前記デスクランブル手段が前記デジタル放送録画装置から取り外されている場合、異常を検出する
ことを特徴とする請求項3記載のデジタル放送録画装置。
【請求項7】
前記デスクランブル手段は、前記デジタル放送録画装置から着脱可能であり、
前記デジタル放送録画装置は、さらに、
前記データの保存中に、前記デスクランブル手段が前記デジタル放送録画装置から取り出されることを禁止する取り出し制御手段を備える
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項8】
前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止する
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項9】
前記検出手段が異常を検出した場合、前記録画制御手段は、前記録画手段による録画を継続する
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項10】
前記検出手段が異常を検出した後、前記録画制御手段は、前記録画手段による録画を停止した後、前記検出手段にて異常が検出されなくなると、所定の条件に従って前記録画手段による録画の再開を制御する
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項11】
前記デジタル放送録画装置は、さらに、
前記AVデータの録画中に、前記検出手段が異常を検出した場合、前記異常が検出されてから回復するまでの時間を計測する計測手段を備え、
前記録画制御手段は、前記計測された時間を前記管理情報へ書き込む
ことを特徴とする請求項10記載のデジタル放送録画装置。
【請求項12】
前記所定の条件とは、前記計測手段により計測された前記時間が所定の時間以下であれば、前記録画手段による録画を再開する
ことを特徴とする請求項11記載のデジタル放送録画装置。
【請求項13】
前記検出手段が異常を検出した場合、前記録画制御手段は、前記異常の原因を特定し、前記特定した原因を前記管理情報へ書き込む
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項14】
前記デスクランブル手段は、複数のスクランブルデータを同時にデスクランブルし、
前記検出手段は、前記デスクランブル手段で複数の前記スクランブルデータのデスクランブル処理ができるか否かをそれぞれ判定し、複数の前記スクランブルデータのうち前記録画手段が録画するAVデータに対応するスクランブルデータのデスクランブル処理ができない場合、異常を検出する
ことを特徴とする請求項3記載のデジタル放送録画装置。
【請求項15】
前記デジタル放送録画装置は、さらに、
前記録画手段により録画されたAVデータを、書き込み可能なメディアに記録するメディア書き込み手段を備える
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項16】
前記メディア書き込み手段は、前記録画されたAVデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするAVデータの録画中に異常が発生していた場合には、前記AVデータを前記メディアへ記録しない
ことを特徴とする請求項15記載のデジタル放送録画装置。
【請求項17】
前記デジタル放送録画装置は、さらに、
前記録画されたAVデータを前記メディアに記録する際、前記管理情報を参照し、記録しようとするAVデータの録画中に異常が発生していた場合は、録画中に異常が発生したことをユーザに通知する通知手段を備える
ことを特徴とする請求項15記載のデジタル放送録画装置。
【請求項18】
前記デジタル放送録画装置は、さらに、
前記通知手段の前記通知に基づくユーザからの指示を取得する指示取得手段を備え、
前記メディア書き込み手段は、前記指示取得手段で取得された前記指示が書き込みである場合に、前記データを前記メディアへ記録する
ことを特徴とする請求項17記載のデジタル放送録画装置。
【請求項19】
前記デジタル放送録画装置は、さらに、
前記録画されたAVデータを再生する再生手段と、
前記再生手段により録画されたAVデータを再生する際、前記管理情報を参照し、再生しようとするAVデータの録画中に異常が発生していた場合は、録画中に異常が発生したことをユーザに通知する通知手段とを備える
ことを特徴とする請求項1記載のデジタル放送録画装置。
【請求項20】
指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第1の復調ステップと、
前記第1の復調ステップにおいて復調されたスクランブルデータをデスクランブルし、MPEG2トランスポートストリームを出力するデスクランブルステップと、
前記デスクランブルステップにおいて出力されたMPEG2トランスポートストリームからAVデータと、アプリケーションを構成するファイルシステムとを取り出す取出ステップと、
前記ファイルシステムで構成されるアプリケーションを実行する実行ステップと、
前記実行されたアプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御ステップと、
前記取り出したAVデータを前記録画制御ステップからの命令に従って録画する録画ステップと、
前記スクランブルデータが前記第1の復調ステップにて復調された後、前記AVデータが取り出されるまでの間の処理で発生する異常を検出する検出ステップとを含み、
前記録画ステップにおけるデータの録画の最中に前記検出ステップにおいて異常が検出された場合、前記録画制御ステップは、前記検出された異常と前記異常の発生した時間を、前記録画されたデータを管理するための管理情報に書き込む
ことを特徴とするデジタル放送録画方法。
【請求項21】
デジタル放送を録画するためのプログラムであって、
指定された周波数を含む情報を用いて、受信したスクランブルデータを復調し出力する第1の復調ステップと、
前記第1の復調ステップにおいて復調されたスクランブルデータをデスクランブルし、MPEG2トランスポートストリームを出力するデスクランブルステップと、
前記デスクランブルステップにおいて出力されたMPEG2トランスポートストリームからAVデータと、アプリケーションを構成するファイルシステムとを取り出す取出ステップと、
前記ファイルシステムで構成されるアプリケーションを実行する実行ステップと、
前記実行されたプリケーションからの録画要求を受け取り、前記受け取った録画要求に従って録画動作を制御する録画制御ステップと、
前記取り出したAVデータを前記録画制御ステップからの命令に従って録画する録画ステップと、
前記スクランブルデータが前記第1の復調ステップにて復調された後、前記AVデータが取り出されるまでの間の処理で発生する異常を検出する検出ステップとをコンピュータに実行させ、
前記録画ステップにおけるデータの録画の最中に前記検出ステップにおいて異常が検出された場合、前記録画制御ステップでは、前記検出された異常と前記異常の発生した時間を、前記録画されたデータを管理するための管理情報に書き込む
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図15A】
image rotate

【図15B】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図17C】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30A】
image rotate

【図30B】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate


【公表番号】特表2008−523645(P2008−523645A)
【公表日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願番号】特願2007−525098(P2007−525098)
【出願日】平成17年12月6日(2005.12.6)
【国際出願番号】PCT/JP2005/022727
【国際公開番号】WO2006/062225
【国際公開日】平成18年6月15日(2006.6.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】