(57)【要約】【課題】  ＩＣカードのようなシングルタスクデバイスにおいて、リアルタイム性が要求される処理と、時間のかかる処理を並行して行うことは難しい。【解決手段】  ＩＣカード３００は、処理を複数の処理ブロックに分割し、各処理ブロックを処理するために要する時間を保持する。受信機２００はＩＣカード３００に対し処理を行わせる際、ＩＣカードが非リアルタイム処理データの処理に費やしうる時間を通知する。ＩＣカードは、通知された時間内に処理できる処理ブロックを処理する。処理後、受信機へ一旦応答を返したのち、新たな要求を受信可能な状態へと遷移する。これにより、ＩＣカード３００ではＥＣＭなどのリアルタイム処理データの処理が可能になる。受信機は、中断された処理を継続したい場合、継続する旨をＩＣカード３００へ通知することで非リアルタイム処理データの処理を継続させることができる。【選択図】      図３
2005316960.tif 000002
【特許請求の範囲】
【請求項１】
受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムにおける処理端末であって、
前記受信端末から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信する通信手段と、
前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間内に、処理可能なだけの前記非リアルタイム処理データを処理する処理手段とを備え、
前記通信手段は、前記時間内に処理された処理結果を前記受信端末に返信する
ことを特徴とする処理端末。
【請求項２】
前記通信手段は、さらに、前記受信端末から、前記非リアルタイム処理データの処理に費やし得る時間を示す時間情報を受信し、
前記処理手段は、受信された前記時間情報で示される時間内に、処理可能なだけの前記非リアルタイム処理データを処理する
ことを特徴とする請求項１記載の処理端末。
【請求項３】
前記処理手段は、さらに、前記非リアルタイム処理データを複数の処理ブロックに分割する処理分割部を備え、
前記処理手段は、前記時間情報で示される時間内に処理可能な数の前記処理ブロックの処理を行なう
ことを特徴とする請求項２記載の処理端末。
【請求項４】
前記処理手段は、分割された前記処理ブロックの処理に要した時間を通算して計測する処理時間計測部を備え、
前記処理手段は、前記時間情報と、計測された通算処理時間との差分である残り時間内に、新たな処理ブロックを処理可能か否か判定し、前記時間情報で示される時間内に処理可能な数の前記処理ブロックの処理を行なう
ことを特徴とする請求項３記載の処理端末。
【請求項５】
前記処理分割部は、前記非リアルタイム処理の機能を単位として前記非リアルタイム処理データを分割し、
前記処理手段は、さらに、前記各処理ブロックの処理に要する時間を示した処理時間テーブルをあらかじめ保持する処理時間テーブル保持部を備え、
前記処理手段は、前記処理時間テーブルを参照して、前記時間情報で示される時間の間に処理可能な数の前記処理ブロックの処理を行う
ことを特徴とする請求項３記載の処理端末。
【請求項６】
前記処理分割部は、前記非リアルタイム処理データを一定の処理時間を単位として分割し、
前記処理手段は、前記一定の処理時間に基づいて、前記時間情報で示される時間の間に処理可能な処理ブロックの数を算出し、算出された数の前記処理ブロックの処理を行う
ことを特徴とする請求項３記載の処理端末。
【請求項７】
前記通信手段は、さらに、前記受信端末から、非リアルタイム処理データを複数の処理ブロックに分割することを指示する分割フラグを受信し、
前記処理分割部は、前記分割フラグが受信されると、前記非リアルタイム処理データを分割する
ことを特徴とする請求項３記載の処理端末。
【請求項８】
前記処理手段は、前記分割フラグが受信されると、前記時間情報で示される時間内に処理可能な数の前記処理ブロックの処理を行ない、前記分割フラグが受信されないと、前記非リアルタイム処理データを一括処理する
ことを特徴とする請求項７記載の処理端末。
【請求項９】
前記処理手段は、前記分割フラグが受信されると、分割された前記処理ブロックのうち１つだけ処理する
ことを特徴とする請求項７記載の処理端末。
【請求項１０】
前記処理手段は、前記時間情報で示される時間内に処理可能な数だけ前記処理ブロックの処理を行ない、前記処理ブロックを含む前記非リアルタイム処理データの処理が完了されなかった場合には、前記非リアルタイム処理データの処理を中断し、リアルタイム処理データの処理を行なう
ことを特徴とする請求項３記載の処理端末。
【請求項１１】
前記通信手段は、前記非リアルタイム処理データの処理が中断されたときには、前記受信端末に中断された旨を通知し、前記非リアルタイム処理データの処理が完了されたときには完了された旨を通知する
ことを特徴とする請求項１０記載の処理端末。
【請求項１２】
前記処理手段は、さらに、中断された前記非リアルタイム処理データの中断時点の処理状態を示した中断情報を生成し保持する中断状態保持部を備え、
前記処理手段は、前記リアルタイム処理データの処理が完了した後、前記中断情報で示される中断時点の前記処理状態から、前記非リアルタイム処理データの処理を開始する
ことを特徴とする請求項１０記載の処理端末。
【請求項１３】
前記処理手段は、前記リアルタイム処理データの処理を処理ブロックに分割せず、一括処理で行なう
ことを特徴とする請求項１０記載の処理端末。
【請求項１４】
前記通信手段は、前記受信端末から、複数の処理ブロックに分割された非リアルタイム処理データを受信し、
前記処理手段は、分割された前記処理ブロックの処理に要した時間を通算して計測する処理時間計測部を備え、
前記処理手段は、前記時間情報と、計測された通算処理時間との差分である残り時間内に、新たな処理ブロックを処理可能か否か判定し、前記時間情報で示される時間内に処理可能な数の前記処理ブロックの処理を行なう
ことを特徴とする請求項２記載の処理端末。
【請求項１５】
前記通信手段は、前記受信端末から、複数の処理ブロックに分割された非リアルタイム処理データと、前記各処理ブロックの処理に要する時間を示した処理時間テーブルとを受信し、
前記処理手段は、受信された前記処理時間テーブルに基づいて、前記時間情報で示される時間の間に処理可能な数の前記処理ブロックの処理を行う
ことを特徴とする請求項２記載の処理端末。
【請求項１６】
前記処理手段は、さらに、前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間を算出する時間算出部を備え、
前記処理手段は、算出された時間内に処理可能なだけの前記非リアルタイム処理データを処理する
ことを特徴とする請求項１記載の処理端末。
【請求項１７】
前記処理手段は、さらに、前記非リアルタイム処理データを複数の処理ブロックに分割する処理分割部を備え、
前記通信手段は、さらに、前記受信端末から、非リアルタイム処理データを複数の処理ブロックに分割することを指示する分割フラグを受信し、
前記処理分割部は、前記分割フラグが受信されると、前記非リアルタイム処理データを複数の処理ブロックに分割し、
前記処理手段は、前記リアルタイム処理データの受信間隔に基づいてあらかじめ定められた時間内に処理可能なだけの処理ブロックを処理する
ことを特徴とする請求項１記載の処理端末。
【請求項１８】
受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムにおける受信端末であって、
外部装置から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信する受信手段と、
前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間を算出する非リアルタイム処理時間算出手段と、
算出された前記時間を示す時間情報を生成する時間情報生成手段と、
前記リアルタイム処理データ、前記非リアルタイム処理データ及び生成された前記時間情報を前記処理端末に送信する送信手段と
を備えることを特徴とする受信端末。
【請求項１９】
前記受信端末は、さらに、算出された前記時間に基づき、前記処理端末において前記非リアルタイム処理データの処理中にリアルタイム処理データの処理が必要になるか否かに応じて、前記非リアルタイム処理データの分割の要否を判定する判定手段を備え、
前記送信手段は、分割が必要になると判定されたときには、前記非リアルタイム処理データを複数の処理ブロックに分割して処理すべきことを示す分割指示を前記処理端末に送信する
ことを特徴とする請求項１８記載の受信端末。
【請求項２０】
前記受信端末は、さらに、利用者からの指示を受け付ける指示受け付け手段を備え、
前記非リアルタイム処理データは、蓄積されている暗号化コンテンツを復号するためのコンテンツ鍵及び復号されたコンテンツを再生するための利用条件を含んだライセンスデータであって、
前記リアルタイム処理データは、放送を介して受信した暗号化コンテンツを復号するためのスクランブル鍵を含んだＥＣＭであって、
前記判定手段は、蓄積されている前記暗号化コンテンツを再生中に、放送を介した暗号化コンテンツの録画を指示する録画指示が受け付けられた場合、前記非リアルタイム処理データの分割が必要と判定する
ことを特徴とする請求項１９記載の受信端末。
【請求項２１】
前記判定手段は、蓄積されている前記暗号化コンテンツの前記ライセンスデータを用いた再生に関する非リアルタイム処理が終了するまでの間に、放送暗号化コンテンツの録画を開始する旨の録画予約指示が受け付けられている場合、前記非リアルタイム処理データの分割が必要と判定する
ことを特徴とする請求項２０記載の受信端末。
【請求項２２】
前記受信端末は、さらに、前記判定手段によって、前記非リアルタイム処理データの分割が必要と判定された場合、前記非リアルタイム処理データを複数の処理ブロックに分割する処理分割部を備え、
前記送信手段は、分割された複数の前記処理ブロックからなる非リアルタイム処理データを前記処理端末に送信する
ことを特徴とする請求項１８記載の受信端末。
【請求項２３】
前記受信端末は、さらに、非リアルタイム処理データの種類に応じて、機能を単位として分割された各処理ブロックの処理に要する時間を示した処理時間テーブルをあらかじめ保持している処理時間テーブル保持手段を備え、
前記送信手段は、複数の処理ブロックに分割された非リアルタイム処理データと、前記処理時間テーブルとを前記処理端末に送信する
ことを特徴とする請求項２２記載の受信端末。
【請求項２４】
前記受信端末は、さらに、
前記処理端末に対して非リアルタイム処理データの処理を要求する要求コマンドを生成する要求コマンド生成手段と、
前記処理端末から非リアルタイム処理データ及びリアルタイム処理データの処理結果を受信する処理結果受信手段とを備え、
前記要求コマンド生成手段は、前記処理結果受信手段において前記処理端末から前記リアルタイム処理データの処理結果が受信されると、前記要求コマンドを生成し、
前記送信手段は、生成された前記要求コマンドを前記処理端末に送信する
ことを特徴とする請求項１８記載の受信端末。
【請求項２５】
前記受信端末は、さらに、
前記処理端末に対して非リアルタイム処理データの処理を要求する要求コマンドを生成する要求コマンド生成手段と、
外部から受信したリアルタイム処理データの暗号鍵の更新を検出する鍵更新検出手段とを備え、
前記要求コマンド生成手段は、前記暗号鍵の更新が検出されると、前記要求コマンドを生成し、
前記送信手段は、生成された前記要求コマンドを前記処理端末に送信する
ことを特徴とする請求項１８記載の受信端末。
【請求項２６】
受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムの処理端末における受信データ処理方法であって、
受信端末から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信し、
前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間内に、処理可能なだけの前記非リアルタイム処理データを処理し、
前記時間内に処理された処理結果を前記受信端末に返信する
ことを特徴とする受信データ処理方法。
【請求項２７】
受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムの受信端末における受信データ処理方法であって、
外部装置から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信し、
前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間を算出し、
算出された前記時間を示す時間情報を生成し、
前記リアルタイム処理データ、前記非リアルタイム処理データ及び生成された前記時間情報を前記処理端末に送信する
ことを特徴とする受信データ処理方法。
【請求項２８】
受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムであって、
前記受信端末は、
リアルタイム処理データを受信するリアルタイム処理データ受信手段と、
非リアルタイム処理データを受信する非リアルタイム処理データ受信手段と、
前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間を示す時間情報を生成する時間情報生成手段と、
前記リアルタイム処理データ、前記非リアルタイム処理データおよび前記時間情報を前記処理端末に送信する第１通信手段とを備え、
前記処理端末は、
前記受信端末から、前記リアルタイム処理データ、前記非リアルタイム処理データおよび前記時間情報を受信する第２通信手段と、
受信された前記時間情報で示される時間内に、処理可能なだけの前記非リアルタイム処理データを処理する処理手段とを備える
ことを特徴とする受信データ処理システム。
【請求項２９】
受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムであって、
前記受信端末は、
リアルタイム処理データと非リアルタイム処理データとを受信する受信手段と、
受信された前記リアルタイム処理データおよび前記非リアルタイム処理データを前記処理端末に送信する送信手段とを備え、
前記処理端末は、
前記受信端末から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信する通信手段と、
前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間内に、処理可能なだけの前記非リアルタイム処理データを処理する処理手段とを備え、
前記通信手段は、前記時間内に処理された処理結果を前記受信端末に返信する
ことを特徴とする受信データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルコンテンツ再生装置に関し、ＩＣカード等のシングルタスクデバイスにおいて、複数の処理を切り替えて処理する方法に関する。
【背景技術】
【０００２】
近年、音楽、映像、ゲームなどのデジタルコンテンツ（以下、コンテンツと記述）を、インターネットなどの通信や、デジタル放送、ＣＡＴＶ（Ｃａｂｌｅ  Ｔｅｌｅｖｉｓｉｏｎ）などを通じて、サーバから受信機に配信し、受信機においてコンテンツを利用することが可能なコンテンツ配信サービスが実用化されつつある。
【０００３】
現在放送経由でコンテンツを配信するサービスとして、ＢＳ（Ｂｒｏａｄｃａｓｔ  Ｓａｔｅｌｌｉｔｅ）／ＣＳ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）を利用した有料放送サービスが既に実用化されている。これらは日本におけるデジタル放送の規格化団体であるＡＲＩＢ（Ａｓｓｏｃｉａｔｉｏｎ  ｏｆ  Ｒａｄｉｏ  Ｉｎｄｕｓｔｒｉｅｓ  ａｎｄ  Ｂｕｓｉｎｅｓｓｅｓ）によって規格化された限定受信システム（以後ＣＡＳと記述：Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍ）を利用している。ＣＡＳについては非特許文献１が詳しい（非特許文献１参照）。
【０００４】
現在利用されているＣＡＳでは、放送事業者はコンテンツを暗号化して配信する。受信機は前記暗号化コンテンツを受信すると、受信機に挿入されたＩＣカードからコンテンツを復号するための鍵を取得し、コンテンツを復号し視聴する。本ＣＡＳでは、定期的に暗号化する鍵を変更する時変鍵が用いられている。従って、受信機は鍵が更新されるタイミングで、ＩＣカードから復号鍵を取得する必要がある。
【０００５】
ところで、近年、ＩＣカードの耐タンパ性の向上と記憶容量の増大等により、認証や電子マネーといったセキュリティが要求されるサービスにおいてＩＣカードが利用されるようになってきた。また、前記のＡＲＩＢにて予め配信されたコンテンツを一旦受信機に蓄積し、ユーザが好きなときに好きなコンテンツを視聴するという、ユーザ利便性の高い利用形態であるサーバ型放送について検討されている。
【０００６】
これら各種のサービスを利用するために、サービス個別のＩＣカードを受信機に都度挿入し、利用することはユーザにとって利便性が低い。従って、各種サービスを１枚のＩＣカードで複数のサービスを処理する方法として、Ｊａｖａ（登録商標）カードのようなマルチアプリケーションカードが提案されている。このマルチアプリケーションカードを利用すれば、受信機に挿入するＩＣカードは１枚でよく、各種サービスが享受できるため、ユーザの利便性が高いと言える。
【非特許文献１】「デジタル方法におけるアクセス制御方式  ４．１版」、社団法人  電波産業会、２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで現在一般に流通しているＩＣカードは、シングルタスクデバイスとして動作する。つまりＩＣカードは、挿入された受信機からの処理要求を受けた際、処理を開始し、処理が完了すると受信機へ応答を返し処理を終了するデバイスである。このようなシングルタスクデバイスでは、デバイスが処理を行っている最中、受信機はその他の処理をデバイスにて行わせることができない。
【０００８】
例えばコンテンツ配信システムにおいて、セキュリティに関する処理をＩＣカードに行わせる場合を考える。一般にセキュリティに関わる処理は、暗号処理や著作権情報の解釈等、負荷が高い処理が必要となる。従って、このような処理をＩＣカードで行うと処理が完了するまで長い時間がかかり、受信機はその間ＩＣカードへの新たな処理要求を送ることはできない場合が想定される。
【０００９】
ところで、現在使用されているＣＡＳでは、コンテンツの暗号化に時変鍵を利用している。従って、前記のような時間のかかる処理をＩＣカードにて行っている場合、復号鍵が更新されたタイミングでＩＣカードから復号鍵を取得することが出来ず、コンテンツが復号できなくなるという問題があった。つまり、リアルタイム性が重要となる処理と、処理に時間がかかる処理を切り替えてＩＣカードに行わせる場合、リアルタイム性が必要な処理が行えない場合がある点が問題となる。
【００１０】
本発明は、このような点を省みてなされたものであり、ＩＣカード等のシングルタスクデバイスにおいてリアルタイム性が要求される処理と、時間のかかる処理とを切り替えて処理可能にすることを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の処理端末は、受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムにおける処理端末であって、前記受信端末から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信する通信手段と、前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間内に、処理可能なだけの前記非リアルタイム処理データを処理する処理手段とを備え、前記通信手段は、前記時間内に処理された処理結果を前記受信端末に返信することを特徴とする。
【００１２】
また、本発明の受信端末は、受信端末と処理端末とからなり、所定のタイミングでリアルタイムに処理されるべきリアルタイム処理データを受信してリアルタイムに処理し、処理のリアルタイム性を要求されない非リアルタイム処理データを前記リアルタイム処理の合間に処理する受信データ処理システムにおける受信端末であって、外部装置から、前記リアルタイム処理データおよび前記非リアルタイム処理データを受信する受信手段と、前記リアルタイム処理データの受信間隔に基づいて、前記非リアルタイム処理データの処理に費やし得る時間を算出する非リアルタイム処理時間算出手段と、算出された前記時間を示す時間情報を生成する時間情報生成手段と、前記リアルタイム処理データ、前記非リアルタイム処理データ及び生成された前記時間情報を前記処理端末に送信する送信手段とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、１枚のＩＣカードにて複数のＣＡＳや、通信回線網を利用した各種サービスを利用することが可能となり、受信機のコスト削減が可能となり、ユーザ利便性が向上する。
【００１４】
なお、本発明は、このような受信端末又は処理端末として実現することができるだけでなく、このような受信端末又は処理端末が備える特徴的な手段を機能としてコンピュータに実現させるためのプログラムとして実現したり、このような受信端末又は処理端末が備える特徴的な手段をステップとする受信データ処理方法として実現したり、このような端末装置が備える特徴的な手段に用いられるデータを含む媒体として実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
図１は、本発明の実施の形態におけるコンテンツ配信システムの全体構成を示すブロック図である。ここで開示するコンテンツ配信システムは、受信機が、デジタル放送を介して暗号化されたコンテンツを受信しつつ、内部に蓄積されたコンテンツを再生したり、通信網を介して受信したコンテンツを再生したりするシステムであって、サーバ１００、受信機２００及びＩＣカード３００を備える。サーバ１００は、暗号化コンテンツを配信する。受信機２００は、サーバ１００から配信されたコンテンツを受信し、ＩＣカード３００から取得したスクランブル鍵を使用して暗号化コンテンツを復号し視聴する。コンテンツと共に配信されるスクランブル鍵を取得し受信機２００へセットする。例えば、本実施の形態の受信機２００とＩＣカード３００とは、受信機２００に蓄積されているコンテンツをライセンス情報の利用条件に従って再生し、その再生中に、デジタル放送を介して配信される暗号化コンテンツを録画するような受信システムを構成する。
【００１６】
図２は、本発明の実施の形態における受信機２００の内部構成を示すブロック図である。
【００１７】
受信機２００は、デジタル放送及び通信回線網を介して、暗号化コンテンツ及びＩＣカード３００で処理されるべきデータなどを受信する受信機であって、受信部２０１、分離部２０２、復号部２０３、伸張処理部２０４、制御部２０５、中断処理ＤＢ２０６、通信部２０７、通信データ処理部２０８、メッセージ処理部２０９、処理時間管理部２１０及び中断情報管理部２１１を備える。受信部２０１は、放送及び通信等を介して、配信された暗号化コンテンツを受信する。分離部２０２は、受信部２０１にて受信したＭＰＥＧ２−ＴＳ等の映像・音声等が多重化された伝送ストリームを分離する。復号部２０３は、暗号化されたコンテンツ等を復号する。伸張処理部２０４は、ＭＰＥＧ２等により圧縮された映像・音声を伸張処理する。制御部２０５は、受信機の各機能部を制御する。中断処理ＤＢ２０６は、ＩＣカード３００との処理において中断している処理を記憶する。通信部２０７は、ＩＣカード３００と通信を行う。通信データ処理部２０８は、ＩＣカードとの通信プロトコルであるＩＳＯ７８１６−４準拠の通信データを処理する。メッセージ処理部２０９は、ＩＣカード３００と送受信するメッセージを処理する。処理時間管理部２１０は、ＩＣカード３００が処理可能な時間を管理する。中断情報管理部２１１は、中断情報ＤＢ２０６にて記憶する中断情報識別子テーブルを管理する。
【００１８】
図３は、本発明の実施の形態におけるＩＣカード３００の内部構成を示すブロック図である。
【００１９】
ＩＣカード３００は、受信機２００で受信されたデータのうち、セキュアに処理される必要のあるデータを処理するセキュアな端末装置であって、通信部３０１、通信データ処理部３０２、制御部３０３、処理時間管理部３０４、処理情報ＤＢ３０５、要求処理部３０６、メッセージ処理部３０７、中断情報管理部３０８および中断情報ＤＢ３０９を備える。ここで、セキュアに実行される必要のある処理とは、例えば、受信機２００で受信されたライセンス情報からコンテンツの暗号を復号するためのコンテンツ鍵を抽出したり利用条件を抽出したり、デジタル放送の多重化データからスクランブル鍵を復号したりする処理などのことである。また、セキュアに処理される必要のあるデータとは、コンテンツ鍵や利用条件を含んだライセンス情報、暗号化されたワーク鍵を含んだＥＭＭ（Ｅｎｔｉｔｌｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｍｅｓｓａｇｅ）及び暗号化されたスクランブル鍵を含んだＥＣＭ（Ｅｎｔｉｔｌｅｍｅｎｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ）などである。通信部３０１は、受信機２００と通信を行う。通信データ処理部３０２は、ＩＣカードの通信プロトコルであるＩＳＯ７８１６−４準拠の通信データを処理する。制御部３０３は、ＩＣカード３００の各機能部を制御する。処理時間管理部３０４は、ＩＣカード３００にてリアルタイムに実行される必要がない非リアルタイム処理を実行可能な時間を管理する。処理情報ＤＢ３０５は、ＩＣカード３００が各種処理に要する時間情報を記憶する。要求処理部３０６は、受信機２００からの要求を処理する。メッセージ処理部３０７は、受信機２００と送受信するメッセージを処理する。中断情報管理部３０８は、処理途中の中断状態を記憶／復元する。中断情報ＤＢ３０９は、各種中断処理の内部状態を中断情報として記憶する。
【００２０】
次に本発明の実施の形態における、受信機２００とＩＣカード３００の通信方法に使用するメッセージ、および通信データの構造について説明する。
【００２１】
図４を参照して受信機２００およびＩＣカード３００間で送受信されるメッセージの構造について説明する。図４（ａ）は、受信機２００からＩＣカード３００に処理を要求するための要求メッセージのデータ構造の一例を示す図である。図４（ｂ）は、図４（ａ）に示した要求メッセージに対して、ＩＣカード３００から受信機２００に応答する応答メッセージのデータ構造の一例を示す図である。
【００２２】
受信機２００からＩＣカード３００へ送信される要求メッセージ４００は、メッセージＩＤ４０１、メッセージサイズ４０２及びパラメータ４０３から構成される。メッセージＩＤ４０１の項目には、要求メッセージの種別を示すメッセージＩＤが格納されている。メッセージサイズ４０２の項目には、パラメータ４０３の項目のサイズを示すデータが格納されている。パラメータ４０３の項目には、要求する処理に必要となる各種パラメータが格納されている。
【００２３】
またＩＣカード３００から受信機２００へ送信される応答メッセージ４１０は、メッセージＩＤ４１１、メッセージサイズ４１２及び結果情報４１３から構成される。メッセージＩＤ４１１の項目には、応答メッセージの種別を示すメッセージＩＤが格納されている。メッセージサイズ４１２の項目には、結果情報４１３のサイズを示すデータが格納されている。結果情報４１３の項目には、ＩＣカード３００が処理した結果が格納される。
【００２４】
次に受信機２００とＩＣカード３００が通信する際に使用する通信データの構造について、図５を参照して説明する。図５（ａ）は、受信機２００からＩＣカード３００へ送信する要求コマンドＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）５００のデータ構造を示す図である。
【００２５】
受信機２００からＩＣカード３００へ送信する要求コマンドＡＰＤＵ５００は、ＣＬＡ５０１と、ＩＮＳ５０２と、Ｐ１（５０３）と、Ｐ２（５０４）と、Ｌｃ５０５と、Ｄａｔａ領域５０６と、Ｌｅ５０７とから構成される。ＣＬＡ５０１は、送信するコマンドがＩＳＯ７８１６−４規定のデータ構造にどれだけ準拠しているかを示す。ＩＮＳ５０２は、コマンドの種別を示す。Ｐ１（５０３）は、コマンドに対するパラメータを格納する。Ｌｃ５０５は、Ｄａｔａ領域５０６のサイズを格納する。Ｄａｔａ領域５０６は、要求処理に必要となる各種データを格納する。Ｌｅ５０７は、送信するコマンドに対する応答として期待する応答コマンドのサイズを格納する。
【００２６】
ＣＬＡ５０１〜Ｌｅ５０７は、ＩＳＯ７８１６−４のコマンドＡＰＤＵとして規定されているデータ構造である。本実施の形態におけるコマンドＡＰＤＵ５００のＤａｔａ領域５０６は、さらに、処理可能時間５０８と、処理フラグ５０９と、処理情報５１０とから構成される。処理可能時間５０８には、ＩＣカード３００が非リアルタイム処理を実行できる時間を格納する。処理フラグ５０９には、コマンドＡＰＤＵ５００が新規処理の開始指示を表しているのか、中断処理の継続指示を表しているのかを指定するフラグが格納されている。処理情報５１０の項目は、ＩＣカード３００が処理を行う為に必要となる情報を格納する。処理情報５１０には、処理フラグ５０９によって新規処理の開始指示が指定された場合には処理の要求メッセージ４００が格納され、中断処理の継続指示が指定された場合には継続する処理の中断情報識別子が格納される。
【００２７】
図５（ｂ）は、ＩＣカード３００から受信機２００へ送信する応答コマンドＡＰＤＵ５２０のデータ構造を示す図である。次に、ＩＣカード３００から受信機２００へ送信するレスポンスＡＰＤＵ５２０は、Ｄａｔａ領域５２１と、ＳＷ１／ＳＷ２（５２２）とから構成される。Ｄａｔａ領域５２１は、ＩＣカード３００が処理した結果である各種情報を格納する。ＳＷ１／ＳＷ２（５２２）は、ＩＣカード３００の処理ステータスを格納する。
【００２８】
Ｄａｔａ領域５２１およびＳＷ１／ＳＷ２（５２２）は、ＩＳＯ７８１６−４のレスポンスＡＰＤＵとして規定されているデータ構造である。本実施の形態におけるレスポンスＡＰＤＵ５２０のＤａｔａ領域５２１は、さらに、処理状態フラグ５２３と、データサイズ５２４と、処理応答５２５とから構成される。処理状態フラグ５２３は、ＩＣカード３００における処理状況を「処理完了／処理中断」として通知する。データサイズ５２４には、処理応答５２５のサイズが格納される。処理応答５２５には、ＩＣカード３００による処理結果が格納される。ここで処理応答５２５は、処理状態フラグ５２３に処理完了が格納される場合には処理に対する応答メッセージ４１０が格納され、処理中断が格納される場合には中断処理を識別する為の中断処理識別子が格納される。
【００２９】
次にＩＣカード３００が、時間を元に処理を分割するために必要となる処理の時間情報について、図６を参照して説明する。図６は、非リアルタイム処理を複数の処理ブロックに分割した場合、各処理ブロックの処理に要する時間を記録したテーブルの一例を示す図である。
【００３０】
処理時間情報６００は、ＩＣカード３００にて行われる処理に要する時間を管理するテーブルの一例である。ＩＣカード３００は、前記非リアルタイム処理を行う為に必要となる各種処理ブロックと、その処理に必要となる時間を処理時間情報６００として管理する。具体的には、処理ブロック１（６０１）の処理にかかる時間はｘｘ１ｍｓ（６０２）、例えば、８０ｍｓであり、処理ブロック２（６０３）の処理にかかる時間はｘｘ２ｍｓ（６０４）、例えば、４０ｍｓ、・・・、処理ブロックＮ６０５の処理に要する時間はｘｘＮｍｓ（６０６）といった各処理ブロックに対する時間情報を管理する。
【００３１】
ＩＣカード３００は、処理時間情報６００を参照することで、処理しようとしている処理ブロックが想定時間内に終了するか否かを判定することが可能となる。例えば１００ｍｓだけ処理を行いたい場合、処理ブロック１は例えば、８０ｍｓなので処理可能であり、処理ブロック２は例えば、４０ｍｓなので引き続いて処理ブロック２を処理することはできないことが判定できる。ＩＣカード３００は、この時間管理情報６００を処理情報ＤＢ３０５にて保持する。
【００３２】
次に受信機２００およびＩＣカード３００が、ＩＣカード３００にて中断している処理を管理する為に必要となる中断情報の管理方法について説明する。
【００３３】
図７は、受信機２００が中断処理ＤＢ２０６に保持する中断情報識別子テーブルの一例を示す図である。まず、図７を参照して、受信機２００が保持する中断情報について説明する。
【００３４】
受信機２００は、ＩＣカード３００が処理を中断した場合、当該中断処理に対してＩＣカード３００が発行した中断情報識別子を中断情報識別子テーブル７００にて保持する。具体的には、中断識別子テーブル７００は、中断処理に対してＩＣカード３００が発行する中断識別子７０１〜７０３と、中断しているそれぞれの処理の種別を識別する処理種別７０４〜７０６とから構成される。受信機２００は、この中断識別子テーブル７００を中断処理ＤＢ２０６にて保持する。
【００３５】
図８は、ＩＣカード３００が中断情報ＤＢ３０９に保持する中断情報テーブルの一例を示す図である。次に図８を参照して、ＩＣカード３００が保持する中断情報について説明する。
【００３６】
ＩＣカード３００は、非リアルタイム処理を中断した場合の内部状態と中断情報識別子とを関連付けて中断情報テーブル８００として保持する。中断情報テーブル８００は、中断情報識別子８０４〜８０７と、それぞれの中断情報識別子に対応する中断情報８０８〜８１１から構成される。中断情報８０８〜８１１は、例えば中断している処理の種別を示す処理種別８０１と、次に処理するブロックの番号を示す処理ブロックカウンタ８０２と、その他内部で保持するパラメータである各種パラメータ８０３とから構成される。ＩＣカード３００において非リアルタイム処理がどこで中断されているか、すなわち、どの処理ブロックまで処理が完了されたかは、処理ブロックカウンタ８０２のカウント値で示される。ＩＣカード３００は、この中断情報テーブル８００を中断情報ＤＢ３０９にて保持する。
【００３７】
以上の構成要素から、ＩＣカード３００においてリアルタイム処理と非リアルタイム処理とを切り替えて処理する方法について説明する。ここでは詳しくは後述するが、定期的にＩＣカード３００にて行われる必要があるリアルタイム処理の例としてＣＡＳにおける復号鍵の取得処理について説明する。以後、この処理を、ＣＡＳのリアルタイム処理と呼ぶこととする。
【００３８】
図９は、ＣＡＳにおいて、サーバから配信される暗号化コンテンツを受信機で復号する場合のデータの流れを示す図である。まずＣＡＳのリアルタイム処理について、図９を参照して説明する。なお、ここでの説明はＣＡＳのリアルタイム処理の概要にとどめ、受信機２００およびＩＣカード３００の詳細な動作については言及しない。
【００３９】
サーバ１００とＩＣカード３００とは予め共通の秘密であるマスター鍵９０４（以後、Ｋｍと記述）を保持しているとする。まずコンテンツを暗号化して配信する前に、サーバ１００は暗号化部９０６にてワーク鍵９０３（以後、Ｋｗと記述）が格納されたＥＭＭをＫｍ９０４にて暗号化し、多重化部９０７にてＭＰＥＧ２−ＴＳ等の伝送ストリームに多重化して配信する。
【００４０】
受信機２００は、分離部９０８にて受信した伝送ストリームから暗号化ＥＭＭを分離し、ＩＣカード３００へ送信する。ＩＣカード３００は復号部９０９にて保持するＫｍ９０４にてＥＭＭを復号しＫｗ９０３を取得し保持する。
【００４１】
次にサーバ１００は、コンテンツを暗号化する鍵であるスクランブル鍵９０２（以後、Ｋｓと記述）をＥＣＭに格納し、暗号化部９０５にてＫｗ９０３で暗号化する。サーバ１００はＫｓ９０２を定期的に（例えば、２秒ごとに）更新するため、更新の度に上記の処理を行う。次にＥＣＭを暗号化した後、前記ＥＣＭに格納しているＫｓ９０２を用いてコンテンツを暗号化部９０１にて暗号化する。その後、暗号化部９０５にて暗号化した暗号化ＥＣＭと暗号化部９０１にて暗号化した暗号化コンテンツを多重化部９０７にて多重化し、配信する。
【００４２】
受信機２００は伝送ストリームを受信すると、分離部９０８にて暗号化ＥＣＭおよび暗号化コンテンツに分離し、暗号化ＥＣＭをＩＣカード３００へ送信する。ＩＣカード３００は、暗号化ＥＣＭを復号部９１０にて前記取得したＫｗ９０３にて復号し、暗号化ＥＣＭに格納してあるＫｓ９０２を受信機２００へ返信する。受信機２００は、ＩＣカード３００から取得したＫｓ９０２を利用し復号部９１１にて暗号化コンテンツを復号する。以上の処理は、Ｋｓ９０２が定期的に更新される度に行われる。従って、ＩＣカード３００が何かしらの処理を行っており前記のＫｓ９０２の取得処理が行えない場合、受信機２００はコンテンツを復号することができなくなる。
【００４３】
図１０（ａ）および図１０（ｂ）は、ＩＣカード３００においてリアルタイム処理の合間に非リアルタイム処理を行なう場合のＩＣカード３００の概略的動作を示す図である。図１０（ａ）では受信機２００とＩＣカード３００との間のリアルタイム処理データのやり取りは細い線の矢印で示し、非リアルタイム処理データのやり取りは太い線の矢印で示している。図１０（ａ）に示すように、ＩＣカード３００にはリアルタイム処理データを処理するプログラムＡと、非リアルタイム処理データを処理するプログラムＢとがインストールされている。既に図９を用いて説明したように、サーバ１００はＫｓ９０２を定期的に（例えば、２秒ごとに）更新するため、受信機２００は２秒ごとに暗号化されたＥＣＭを受信する。受信機２００は、受信した暗号化ＥＣＭをＩＣカード３００に送信し、暗号化ＥＣＭをＫｗで復号し、スクランブル鍵Ｋｓを返信するよう要求する要求コマンドを送信する。一般に、プログラムＡのリアルタイム処理に要する最大処理時間は、受信機２００がＩＣカード３００に要求コマンドを送信する時間と、ＩＣカード３００が要求コマンドへの応答としてＫｓを受信機２００へ返信する時間とを含めて１秒以内と定められている。従って、この場合、プログラムＢが非リアルタイム処理データを処理するために費やすことができる時間は、次のＥＣＭが受信されるまでの約１秒間ということになる。なお、このプログラムＡのリアルタイム処理に要する時間が１秒以内に定められていない場合には、このリアルタイム処理に要する時間は、受信機２００にあらかじめ記憶されており、受信機２００が非リアルタイム処理に使うことができる時間を算出して、ＩＣカード３００に通知するものとする。図１０（ａ）に太線の矢印で示すように、プログラムＢは、受信機２００から要求された非リアルタイム処理データの処理を、その１秒以内または受信機２００から通知された時間内に実行完了することができない場合は、途中で処理を中断し、プログラムＡに制御を渡し、プログラムＡに次のリアルタイム処理を実行させる。このとき、プログラムＢは、中断した時点の内部状態を記憶しておき、プログラムＡのリアルタイム処理が終了すると、中断した時点の状態に内部状態を復元し、続きの非リアルタイム処理を継続する。例えば、図１０（ｂ）に示すように、非リアルタイム処理データが処理１〜処理４までの４個の処理ブロックに分割できた場合、プログラムＢは、１秒間に処理３までの処理を実行できる。処理３までを実行した段階で、プログラムＢは、次の処理４を実行することができないことを判断し、非リアルタイム処理を中断する。このとき、プログラムＢは、処理３までの処理を完了していることを記憶しておき、プログラムＡによるリアルタイム処理が終了すると、処理３の処理が完了した時点の内部状態を復元し、処理４から実行を開始する。
【００４４】
図１１は、暗号化ＥＣＭと暗号化コンテンツとが多重化された伝送ストリームのデータ構造を概略的に示す図である。次に暗号化ＥＣＭと暗号化コンテンツとが多重化された伝送ストリームの構造について図１１を参照して説明する。
【００４５】
多重化され受信機２００へ伝送される伝送ストリーム１０００は、暗号化ＥＣＭと、前記暗号化ＥＣＭに格納されたＫｓ９０２にて暗号化されたコンテンツの一部とから構成される。Ｋｓ９０２は定期的に変化する時変鍵である為、伝送ストリーム１０００はＫｓ９０２に依存したコンテンツブロックから構成される。具体的には、コンテンツブロックは例えばＫｓ９０２としてＫｓ１が格納されている暗号化ＥＣＭ１００１と、Ｋｓ１により暗号化したコンテンツの一部である暗号化コンテンツブロック１００２とから構成される。つまり、受信機２００はＫｓ９０２の取得に失敗した場合、鍵の更新間隔１００３であるＸｍｓの時間だけコンテンツを正しく復号できないこととなる。
【００４６】
図１２は、伝送ストリーム中の暗号化コンテンツと、Ｋｓの更新のためのＥＣＭ処理とのタイミングの関係を示す図である。図１２の左側にスクランブル鍵（ｅｖｅｎ）、スクランブル鍵（ｏｄｄ）、スクランブル鍵（ｅｖｅｎ）、・・・と書かれたブロックは、それぞれ伝送ストリーム中の暗号化コンテンツを示し、スクランブル鍵（ｅｖｅｎ）、スクランブル鍵（ｏｄｄ）、スクランブル鍵（ｅｖｅｎ）で暗号化されていることを示している。また、同図のＩＣカード３００から受信機２００への応答をみると、一回のＥＣＭ処理で、スクランブル鍵（ｅｖｅｎ）と（ｏｄｄ）とが復号されることがわかる。すなわち、１つの暗号化ＥＣＭには２つのＫｓが含まれており、一回のＥＣＭ処理によって、スクランブル鍵（ｅｖｅｎ）で暗号化されたコンテンツ約２秒間と、スクランブル鍵(ｏｄｄ）で暗号化されたコンテンツ約２秒間との合計約４秒間、コンテンツを再生することができる。しかし、次の暗号化ＥＣＭで送られてくるスクランブル鍵（ｏｄｄ）と(ｅｖｅｎ）とを受信できなかったり、復号できなかったりした場合、４秒後の鍵の切り替えでスクランブル鍵が（ｅｖｅｎ）に更新されたとき、新たなＥＣＭを受信して復号するまで、以後の暗号化コンテンツを再生することができなくなってしまう。なお、スクランブル鍵の切り替えはＴＳ（ｔｒａｎｓｐｏｒｔ  ｓｔｒｅａｍ）パケットのｔｒａｎｓｐｏｒｔ＿ｓｃｒａｍｂｌｉｎｇ＿ｃｏｎｔｒｏｌのビットで制御されている。従って、受信機２００は、スクランブル鍵の切り替えが行なわれる時刻を知っている必要はなく、ＴＳパケットのこのビットを検出するごとにＥＣＭ処理の要求コマンドをＩＣカード３００に送信し、ＩＣカード３００から応答としてＫｓを受信した直後に非リアルタイム処理の要求コマンドを送信するようにしてもよい。他にも、ＥＣＭが更新されたことを検出し、更新されたＥＣＭをＩＣカード３００へ送信し、応答を受信したことを検出して、非リアルタイム処理の要求コマンドを送信するようにしてもよい。
【００４７】
前記の問題を回避するためには、鍵の更新処理時にＩＣカード３００において何も処理を行っていなければよい。従って、リアルタイムに行う必要のある処理の合間に、その他の非リアルタイムでよい処理を行えばよいこことなる。
【００４８】
図１３は、ＩＣカード３００が非リアルタイム処理に費やせる時間を算出するために参照するリアルタイム処理時間テーブルの一例を示す図である。以下、図１３を参照して、ＩＣカード３００が非リアルタイムの処理に費やせる時間の算出方法について説明する。
【００４９】
まず、受信機２００がリアルタイムの処理に必要となる時間の管理方法について説明する。リアルタイム処理時間テーブル１１００は、リアルタイム処理の種別を識別する処理識別１１０１、１１０２と、それぞれのリアルタイム処理に必要となる処理時間１１０３、１１０４とから構成される。例えば、ＣＡＳでリアルタイムに行う必要のあるＥＣＭ処理を行うための時間は、Ｙ１ｍｓである。受信機２００は、このリアルタイム処理時間テーブル１１００を処理時間管理部２１０にて管理する。
【００５０】
次に非リアルタイムの処理をＩＣカード３００にて行うことができる時間の算出方法について説明する。受信機２００において、リアルタイム処理中にＩＣカード３００にて非リアルタイム処理に費やせる処理可能時間は、「（Ｋｓ９０２の鍵更新期間）−（リアルタイム処理にかかる時間）」から算出される。
【００５１】
従って、非リアルタイム処理に費やせる処理可能時間内にＩＣカード３００で非リアルタイム処理を終了すれば、リアルタイム処理を問題なく行うことが可能となる。よって、リアルタイム処理の合間に、ＩＣカード３００にて行う処理を、処理可能時間内に終了する仕組みが必要となる。この仕組みを実現する為の、受信機２００およびＩＣカード３００のそれぞれの動作について説明する。
【００５２】
図１４は、受信機２００における要求待ち状態から要求コマンドをＩＣカード３００に送信するまでの処理手順を示すフローチャートである。図１５は、受信機２００がＩＣカード３００に要求コマンドを送信してから、応答コマンドに対応する処理を完了するまでの処理手順を示すフローチャートである。まず図１４、及び図１５を参照して受信機２００の動作について説明する。
【００５３】
まず、予め受信機２００は起動し、ＳＴ１２０１にて要求待ち状態となっているとする。
【００５４】
次に受信機はタイマーやユーザ動作等の何かしらのイベントを受け取った後、ＳＴ１２０２にて制御部２０５は、ＩＣカード３００に対する処理が必要であるか否かを判定する。ここでＩＣカード３００での処理が不必要である場合にはＳＴ１２０３へ進み、ＩＣカード３００での処理が必要である場合にはＳＴ１２０４へ進む。
【００５５】
まずＩＣカード３００での処理が必要な場合について説明する。ＳＴ１２０４において、制御部２０５は、処理する対象がリアルタイム処理であるか否かを判定する。ここではＣＡＳのリアルタイム処理であるＥＣＭ処理を例に説明するため、ここで制御部２０５は、分離部２０２からＥＣＭの処理要求を受信したか否かを判定する。判定した結果が、ＥＣＭ処理でない場合にはＳＴ１２０５へ進み、ＥＣＭ処理である場合には分離部２０２から渡されたＥＣＭを取得しＳＴ１２０７へ進む。
【００５６】
ＥＣＭ処理でない場合、ＳＴ１２０５にて要求処理中にリアルタイム処理をＩＣカード３００にて切り替え処理する必要があるか否かを判定する。制御部２０５は、これを、現在ＣＡＳを用いてコンテンツを視聴しているか否か、または現在ＣＡＳを用いてコンテンツを裏録画しているか否かに基づいて判定する。なお、裏録画とは、コンテンツを視聴中に、バックグラウンドで受信した他のコンテンツを録画することを言う。ＣＡＳのコンテンツを視聴中でも裏録画中でもない場合、受信機２００はＥＣＭ処理をＩＣカード３００にて行う必要がないため、ＩＣカード３００にて切り替え処理は不要と判定しＳＴ１２０７へ進む。ＣＡＳのコンテンツを視聴中又は裏録画中である場合、ＥＣＭ処理をＩＣカード３００にて行う必要があるため、ＳＴ１２０６へ進む。
【００５７】
ＳＴ１２０６では、受信機２００は、ＩＣカード３００が非リアルタイム処理に費やせる時間を算出する。この算出方法については前述したが、制御部２０５は処理時間管理部２１０からリアルタイム処理時間テーブル１１００を取得する。次にＥＣＭ処理１１０１に必要となる時間（Ｙ１ｍｓ）１１０３を取得する。次に制御部２０５は、Ｋｓ９０２の更新間隔１００３であるＸｍｓから前記Ｙ１ｍｓを引くことにより、当該処理に費やせる処理可能な時間を算出する。本実施の形態においてこのＫｓ９０２の更新間隔（Ｘｍｓ）は、非特許文献１で定義された「ＥＣＭの更新の最小時間間隔」値を使用することとするが、特に設定方法は限定しない。
【００５８】
次にＳＴ１２０４にてＥＣＭ処理であると判定した場合における処理について説明する。
【００５９】
ＥＣＭ処理はリアルタイムに中断せず処理する必要があるため、制御部２０５は、ＩＣカード３００における処理可能な時間を設定しない。従ってここではＳＴ１２０７にて、処理可能な時間を「処理可能時間を設定しない」を意味する値である「０」とする。
【００６０】
次にＳＴ１２０８にて、要求処理に対する要求メッセージ４００を作成する。制御部２０５は、メッセージ処理部２０９への要求に必要となる各種パラメータをセットし、対応する要求メッセージ４００を作成させる。
【００６１】
ＳＴ１２０９にて制御部２０５は、ＩＣカード３００へ送信するコマンドＡＰＤＵ５００を作成する。制御部２０５は、ＳＴ１２０８にて生成した要求メッセージ４００と、ＳＴ１２０６もしくはＳＴ１２０７にて算出した処理可能な時間と、新規処理を指定した処理フラグとをセットする。通信データ処理部２０８は、セットされた処理可能な時間をＤａｔａ領域５０６の処理可能時間５０８に、セットされた処理フラグを処理フラグ５０９に、セットされた要求メッセージ４００を処理情報５１０に格納し、コマンドＡＤＰＵ５００を生成する。なお、ここでは、ＩＣカード３００へ当該処理がリアルタイム処理であり、処理を分割する必要がない旨を「処理可能時間＝０」にて通知しているが、別にフラグ等にて通知してもよく、特に本発明を限定するものではない。
【００６２】
次にＳＴ１２０３にて中断処理があった場合の処理について説明する。制御部２０５は、中断情報管理部２１１に対し、中断処理があるか否かを問い合わせる。中断情報管理部２１１は、中断処理ＤＢ２０６から中断情報識別子テーブル７００を取得し、中断処理が記述してあるかチェックする。中断処理がない場合、ＳＴ１２０１へ進む。中断処理がある場合、中断情報識別子および処理種別を取得し、制御部２０５へ戻す。次に中断情報管理部２１１は、前記制御部２０５へ戻した中断情報識別子および処理種別を、中断情報識別子テーブル７００から削除し、中断情報識別子テーブル７００を中断情報ＤＢ２０６へ再度記録する。
【００６３】
ＳＴ１２１０にて、ＳＴ１２０５と同様に、非リアルタイム処理の継続処理の最中にリアルタイム処理をＩＣカード３００にて切り替え処理する必要があるか否か判定する。制御部２０５は、現在ＣＡＳを用いてコンテンツを視聴も裏録画もしていない場合、ＥＣＭ処理をＩＣカード３００にて行う必要がないため、ＩＣカード３００にて切り替え処理は不要と判定し、ＳＴ１２１２へ進む。ＣＡＳでコンテンツを視聴中または裏録画中である場合、ＥＣＭ処理をＩＣカード３００にて行う必要があるためＳＴ１２１１へ進む。
【００６４】
ＳＴ１２１１での処理は、ＳＴ１２０６と同様でＩＣカード３００が、非リアルタイム処理に費やせる時間を算出する。算出方法はＳＴ１２０６と同様であるため、ここでは省略する。
【００６５】
ＳＴ１２１２での処理も、ＳＴ１２０７と同様であるため、ここでは省略する。
次にＳＴ１２１３にて、中断処理を再開するためのコマンドＡＰＤＵ５００を生成する。制御部２０５は、ＳＴ１２１１もしくはＳＴ１２１２にて算出した処理可能な時間と、ＳＴ１２０３にて取得した中断情報識別子と、処理継続を示す処理フラグとを通信データ処理部２０８へセットする。通信データ処理部２０８は、セットされた処理可能な時間をＤａｔａ領域５０６の処理可能時間５０８に、セットされた処理フラグを処理フラグ５０９に、セットされた中断情報識別子を処理情報５１０に格納し、コマンドＡＤＰＵ５００を生成する。
【００６６】
ＳＴ１２１４にて、制御部２０５はＳＴ１２０９およびＳＴ１２１３にて生成したコマンドＡＰＤＵ５００を、通信部２０７を介してＩＣカード３００に対して送信する。
【００６７】
以下、図１５のフローチャートを参照する。その後、ＳＴ１２１５にて制御部２０５は、ＩＣカード３００からの応答であるレスポンスＡＰＤＵ５２０を待つ。ＩＣカード３００が処理を行い、レスポンスＡＰＤＵ５２０を返信した場合、制御部２０５はＳＴ１２１６へ進む。
【００６８】
ＳＴ１２１６において受信機２００は、ＩＣカード３００が非リアルタイム処理を完了したのか、途中の処理ブロックで中断したのかを判定する。制御部２０５は、通信部２０７を介して取得したレスポンスＡＰＤＵ５２０を通信データ処理部２０８へセットする。次に制御部２０５は、通信データ処理部２０８から処理状態フラグ５２３を取得する。ここで制御部２０５は、処理状態フラグ５２３が処理完了であればＳＴ１２１７の処理を実行し、処理中断であればＳＴ１２１８の処理を実行する。
【００６９】
まず処理が完了した場合のＳＴ１２１７の処理について説明する。
制御部２０５は、通信データ処理部２０８から応答メッセージ４１０を取得し、メッセージ処理部２０９へセットする。制御部２０５は、メッセージ処理部２０９から、応答メッセージ４１０に格納された各種結果情報に基づいて、対応した処理を行う。例えばＩＣカード３００に対して要求した処理が、ＥＣＭからＫｓ９０２を取得する処理であった場合、制御部２０５は取得したＫｓ９０２を復号部２０３へセットし、コンテンツの復号を開始する。以上の処理ののち、制御部２０５は図１４に示したＳＴ１２０１へ戻る。
【００７０】
次に処理が中断した場合のＳＴ１２１８の処理について説明する。
制御部２０５は、通信データ処理部２０８から中断情報識別子を取得する。次にＳＴ１２１９にて制御部２０５は、前記取得した中断情報識別子とそれに対応する処理を識別する処理種別を対応づけ、中断情報管理部２１１へセットする。中断情報管理部２１１は、中断情報ＤＢ２０６にて保持している中断識別子テーブル７００に前記セットされた情報を関連付けて追記し、再度中断情報ＤＢ２０６へ記録する。記録完了後、制御部２０５はＳＴ１２０１へ戻る。
【００７１】
図１６は、ＩＣカード３００が受信機２００から要求コマンドを受信し、要求コマンドに対する処理を実行するまでの動作を示すフローチャートである。図１７は、ＩＣカード３００が要求コマンドに対する処理の完了を判定してから応答コマンドを受信機２００に送信するまでの動作を示すフローチャートである。次にＩＣカード３００の動作について、図１６及び図１７を参照して説明する。
【００７２】
ＳＴ１３０１にてＩＣカード３００は、受信機２００が送信したコマンドＡＰＤＵ５００を受信した時点から処理を開始する。
【００７３】
まずＳＴ１３０１にて制御部３０３は、通信部３０１を介して受信したコマンドＡＰＤＵ５００を取得する。次に制御部３０３は、前記取得したコマンドＡＰＤＵ５００を通信データ処理部３０２へセットする。
【００７４】
次にＳＴ１３０２にて制御部３０３は、通信データ処理部３０２から受信機２００が要求する処理種別を取得する。通信データ処理部３０２は、セットされたコマンドＡＰＤＵ５００のＩＮＳ５０２を取得し、処理種別として制御部３０３へ戻す。制御部３０３は、前記取得した処理種別を処理時間管理部３０４へセットする。
【００７５】
次にＳＴ１３０３にて制御部３０３は、受信機２００から要求された処理を行う際に、処理可能な時間が指定されているか通信データ処理部３０２へ確認する。通信データ処理部３０２は、処理可能時間５０８に値が格納されていた場合には処理可能な時間が設定されている旨を制御部３０３へ通知し、「０」が格納されていた場合には処理可能な時間が設定されていない旨を制御部３０３へ通知する。通知された結果に基づき、制御部３０３は処理可能時間が指定されている場合にはＳＴ１３０４へ、指定されていない場合にはＳＴ１３０６へ進む。
【００７６】
まず処理可能時間が指定されている場合について説明する。
ＳＴ１３０４にて制御部３０３は、処理可能時間が設定されていることから、処理を分割して行う必要がある旨を処理時間管理部３０４へ通知する。処理時間管理部３０４は、ＳＴ１３０２にてセットされた処理種別に対応した処理時間情報６００を、処理情報ＤＢ３０５から取得する。
【００７７】
ＳＴ１３０５にて制御部３０３は、通信データ処理部３０２から処理可能時間５０８を取得し、処理時間管理部３０４へセットする。通信データ処理部３０２は、処理可能時間５０８を取得し、制御部３０３へ戻す。また、処理時間管理部３０４は、セットされた処理可能時間を内部で保持する。
【００７８】
次に処理可能時間が指定されていない場合について説明する。
ＳＴ１３０６にて制御部３０３は、処理可能時間は設定されていないことから、処理を分割して行う必要がなく、一括して処理できる旨を処理時間管理部３０４へ通知する。処理時間管理部３０４は、内部で保持する処理時間情報６００を削除する。
【００７９】
ＳＴ１３０７にて制御部３０３は、受信機２００から新たな処理の開始を要求されたのか、中断している処理の継続を要求されたのかを通信データ処理部３０２へ確認する。通信データ処理部３０２は、処理フラグ５０９で指定された処理が新規処理であるのか、継続処理であるのかを判断し、その結果を制御部３０３へ戻す。制御部３０３は、新たな処理の開始要求である場合にはＳＴ１３０８へ進み、継続処理の要求である場合にはＳＴ１３０９へ進む。
【００８０】
まず新たな処理の開始要求であった場合について説明する。
ＳＴ１３０８にて制御部３０３は、通信データ処理部３０２から要求メッセージ４００を取得する。次に制御部３０３は、前記取得した要求メッセージ４００を要求処理部３０６へセットし、処理開始を指示する。要求処理部３０６はセットされた要求メッセージ４００をメッセージ処理部３０７にて解釈し、処理すべき内容や処理に必要となるパラメータ等を取得する。次に内部で保持する処理ブロックカウンタを「１」に設定したのちＳＴ１３１０へ進む。
【００８１】
次に中断処理の継続要求であった場合について説明する。
ＳＴ１３０９では前回中断した処理を継続するため、内部の状態を中断前に戻す処理を行う。まず制御部３０３は、通信データ処理部３０２から中断情報識別子を取得する。通信データ処理部３０２は、処理情報５１０に格納された値を中断情報識別子として制御部３０３へ戻す。次に制御部３０３は、取得した中断情報識別子を中断情報管理部３０８へセットし、対応する中断情報（処理種別８０１、処理ブロックカウンタ８０２及び各種パラメータ８０３などを含む）を取得する。具体的には、中断情報管理部３０８は、中断情報ＤＢ３０９から中断情報テーブル８００を取得し、中断情報識別子に対応する中断情報を取得し、制御部３０３へ戻す。また、取得した中断情報およびそれに対応する中断情報識別子のエントリを中断情報テーブル８００から削除し、その中断情報テーブル８００を中断情報ＤＢ３０９へ記録する。制御部３０３は、取得した各種パラメータが格納された中断情報を用い、中断前の状態に内部状態を復元した後に要求処理部３０６に対し処理の継続を指示する。
【００８２】
以上の処理開始準備を行ったのち、要求処理部３０６は受信機２００から指示された処理を開始する。
【００８３】
以下、図１７のフローチャートを参照する。まず、ＳＴ１３２０にて要求処理部３０６は、処理時間管理部３０４が処理時間情報６００を保持しているか否かを調べ、要求された処理が一括処理であるか否かを判定する。要求処理部３０６は要求された処理が一括処理と判定されればＳＴ１３２１に進み、一括処理でないと判定されればＳＴ１３１０に進む。まず、要求された処理が一括処理である場合について説明する。ＳＴ１３２１にて要求処理部３０６はさらに一括処理が完了したか否かを判定し、完了していない場合にはＳＴ１３２２にて一括処理を継続し、ＳＴ１３２１に戻る。一括処理が完了した場合、要求処理部３０６はＳＴ１３１６の処理に進む。
【００８４】
ＳＴ１３２０で要求された処理が一括処理でない場合、ＳＴ１３１０の処理に進む。ＳＴ１３１０にて要求処理部３０６は、処理が完了したか否かを判定する。処理が完了した場合にはＳＴ１３１６へ進む。処理が完了していない場合にはＳＴ１３１１へ進む。
【００８５】
まず、処理が完了していない場合について説明する。
ＳＴ１３１１にて要求処理部３０６は、内部で保持する処理ブロックカウンタの値を処理時間管理部３０４へセットし、対応する処理ブロックを処理可能であるのか確認する。処理時間管理部３０４は、保持する処理時間情報６００から、対応する番号ブロックを処理する為に必要となる処理時間を取得する。次に処理時間管理部３０４は、内部で保持する処理可能時間と処理時間を比較する。ここで、「処理可能時間≧処理時間」である場合には要求処理部３０６へ処理可能である旨を通知し、「処理可能時間＝処理可能時間−処理時間」を計算したのち、内部で保持する処理可能時間を更新する。対して、「処理可能時間＜処理時間」である場合には処理継続不可を通知する。要求処理部３０６は、通知された結果が処理可能である場合にはＳＴ１３１２へ進み、処理継続不可である場合にはＳＴ１３１４へ進む。
【００８６】
まず処理可能であると通知された場合の動作について説明する。
ＳＴ１３１２にて要求処理部３０６は、処理ブロックカウンタで指定された処理ブロックを処理する。
【００８７】
次にＳＴ１３１３にて要求処理部３０６は、内部で保持する処理ブロックカウンタを１増加させ、終了判定もしくは次の処理ブロックを処理可能であるか確認するためＳＴ１３１０へ戻る。
【００８８】
次に処理継続不可と通知された場合の動作について説明する。
ＳＴ１３１４にて要求処理部３０６は、制御部３０３へ中断情報を記録するよう通知する。制御部３０３は前記通知に基づき、要求処理部３０６から内部状態を取得する。次に中断情報管理部３０８へ前記取得した内部状態をセットし、中断情報として格納するよう指示する。中断情報管理部３０８は、セットされた中断情報に中断情報識別子を割り振り、中断情報ＤＢ３０９にて保持している中断情報テーブル８００へ追記する。以上の処理のあと、中断情報管理部３０８は生成した中断情報識別子を制御部３０３へ戻す。
【００８９】
ＳＴ１３１５にて制御部３０３は、処理中断であることを示す処理状態フラグと、ＳＴ１３１４にて取得した中断情報識別子を通信データ処理部３０２へセットし、レスポンスＡＰＤＵ５２０の生成を指示する。通信データ処理部３０２は、セットされた処理状態フラグを処理状態フラグ５２３に、中断情報識別子を結果情報５２５に格納し、中断情報識別子のサイズをデータサイズ５２４へ格納する。次にＳＷ１／ＳＷ２（５２２）へ正常終了を示すステータスコードを格納し、作成したレスポンスＡＰＤＵ５２０を制御部３０３へ戻す。
【００９０】
次に処理が完了した場合の動作について説明する。
まずＳＴ１３１６にて要求処理部３０６は、処理結果をメッセージ処理部３０７にセットし、応答メッセージ４１０の作成を指示する。メッセージ処理部３０７は、ＳＴ１３０８にてセットされた要求メッセージ４００に対する応答メッセージのメッセージＩＤをメッセージＩＤ４１１へ、セットされた結果情報のサイズをメッセージサイズ４１２へ、セットされた結果情報を結果情報４１３へ格納することで応答メッセージ４１０を作成する。要求処理部３０６は、メッセージ処理部３０７から応答メッセージ４１０を取得し、制御部３０３へ処理完了通知と共に送信する。
【００９１】
ＳＴ１３１７にて制御部３０３は、レスポンスＡＰＤＵ５２０を生成する。
まずＳＴ１３１６にて受信した処理完了通知を処理状態フラグ、応答メッセージ４１０を処理応答として通信データ処理部３０２へセットし、レスポンスＡＰＤＵ５２０を作成させ取得する。通信データ処理部３０２は、セットされた処理状態フラグを処理状態フラグ５２３へ、セットされた処理応答のサイズをデータサイズ５２４へ、セットされた処理応答を処理応答５２５へ格納し、ＳＷ１／ＳＷ２（５２２）へ正常終了を示すステータスコードを格納し、作成したレスポンスＡＰＤＵ５２０を制御部３０３へ戻す。
【００９２】
制御部３０３は、ＳＴ１３１５およびＳＴ１３１７にて生成されたレスポンスＡＰＤＵ５２０を、通信部３０１を介して受信機２００へ送信する。
【００９３】
以上のように、受信機２００はＩＣカード３００に要求する処理に、処理可能時間を設定することでリアルタイム処理および非リアルタイム処理を切り替えて行わせることが可能となる。
【００９４】
なお、本実施の形態ではＩＣカード３００を例に説明をしたが、これは特に本発明を限定するものではない。例えば、ＩＣカード３００は、受信機２００に組み込まれるＬＳＩやボードなどであってもよい。
【００９５】
なお、受信機２００はＩＣカード３００へ処理を中断する条件として処理可能時間５０８を通知したが、その他の条件であってもよい。例えば、コマンドＡＰＤＵ５００に分割フラグにて「１処理ブロックを処理／一括処理」を指定し、ＩＣカード３００が処理可能時間の間に処理する範囲を制御してもよい。また、処理範囲の指定の方法も、常に１処理ブロックを一括処理するように指定してもよいし、処理可能時間内で処理可能な限りの処理ブロックの数を指定するようにしてもよい。
【００９６】
また、ＩＣカード３００は１つの処理ブロックの処理が終了する都度、処理可能時間内に次の処理を完了できるかを判定したが、この判定は、非リアルタイム処理の開始からタイマーなどにより各処理ブロックの処理の累積時間を測定しておき、処理可能時間から累積時間を減算した残り時間と、次の処理ブロックの処理に要する時間とを比較することによって判定してもよい。また、各処理ブロックの処理に要する時間を処理時間情報から読み出して加算し、処理可能時間と比較することによって、次の処理を処理可能時間内に完了することができるか否か判定するとしてもよい。
【００９７】
なお、ここではＩＣカード３００は処理するブロックを機能単位で分離したが、単位時間あたりで分割してもよい。
【００９８】
なお、ここでは次の処理ブロックを時間内に処理可能か否かの判定はＳＴ１３１１にてＩＣカード３００側で行っているが、受信機２００側で行ってもよい。すなわち、ＩＣカード３００で保持している処理時間情報６００を受信機２００が取得し、処理する処理ブロックの範囲、すなわち、処理可能時間内に処理できる処理ブロックを直接指定してもよい。また前記処理時間情報６００は、利用するＩＣカード３００から取得しても良いし、その他の装置、メディア等から取得しても良い。
【００９９】
なお、ＩＣカード３００が保持する処理時間情報６００は更新できても良い。例えばＩＣカード３００上のアプリケーションの一部もしくは全部をインターネット経由で更新した場合、ＩＣカード３００における処理速度が変化する場合がある。この場合でも、処理時間情報６００を更新することで対応することが可能となる。
【０１００】
なお、ＩＣカード３００はある処理に対する処理時間情報６００を複数保持していてもよい。ＩＣカード３００は、供給される動作周波数により処理能力が変化する。従って、供給される周波数により参照する処理時間情報６００を選択し、適切に動作させることが可能となる。
【０１０１】
なお、中断処理の識別にＩＣカード３０がＳＴ１３１４にて生成した中断情報識別子を用いているが、受信機２００において生成してもよい。この場合、受信機２００は生成した中断情報識別子を、コマンドＡＰＤＵ５００にてＩＣカード３００へ通知すればよい。
【０１０２】
なお、ＩＣカード３００は中断した処理毎に中断情報を保持できるとしたが、ＩＣカード３００において１つだけ保持できるとしてもよい。その場合、中断情報識別子により再開する中断処理を選択する仕組みは必要ない。また、処理する種別に対して１つだけ中断情報を保持する場合も同様に中断情報識別子を使用しなくてもよい。この場合、コマンドＡＰＤＵ５００のＩＮＳ５０２および処理フラグ５０９にて継続する処理が一意に識別可能であるからである。
【０１０３】
なお、ＩＣカード３００が中断情報を中断情報ＤＢ３０９に格納するとしたが、受信機２００側で保持してもよい。この場合、ＩＣカード３００は処理を中断した際の応答で中断情報を中断情報識別子の代わりに返信する。受信機２００は、前記返信された中断情報を、中断情報識別子テーブル７００の中断情報識別子の代わりに管理し、継続処理を行わせる際には、コマンドＡＰＤＵ５００にて前記保持している中断情報をＩＣカード３００へ送信すればよい。
【０１０４】
なお、受信機２００は中断情報を管理し、ＳＴ１２０３にて中断している処理がある場合、必ず中断処理の再開を行っているが、処理をキャンセルしてもよい。この場合、コマンドＡＰＤＵ５００の処理フラグ５０９に「処理キャンセル」を意味する値を格納し、処理情報５１０にキャンセルする中断情報識別子を格納すればよい。また、ＩＣカード３００が中断情報を保持する場合も、同様に行うことで処理をキャンセルしてもよい。また、複数の処理を中断している場合には、処理の種別に応じて処理を再開する優先順位を設けるとしてもよい。
【０１０５】
以上のように、本発明におけるＩＣカード等のシングルタスクデバイスでの複数処理を切り替えて行う方法は、１枚のＩＣカード等において複数のサービスを利用する場合に有用となる。
【０１０６】
なお、上記実施の形態では、受信機２００とＩＣカード３００とが蓄積型コンテンツなどを利用条件に従って再生している最中に、デジタル放送で配信されるコンテンツの裏録画をする場合などに、非リアルタイム処理を処理ブロックに分割して処理する例について説明したが、本発明はこれに限定されない。例えば、受信機２００とＩＣカード３００とが蓄積型コンテンツを利用条件に従って再生している最中に、ＣＡＳで配信されるコンテンツの録画予約が入っている場合も同様に、非リアルタイム処理の最中にＥＣＭ処理が必要になる場合には、ＩＣカード３００は非リアルタイム処理を分割して処理する。図１８は、ＣＡＳの録画予約がある場合に、非リアルタイム処理を分割して行なうか否かを判定する基準の一例を示す図である。図１８に示すように、制御部２０５は、ＩＣカード３００で非リアルタイム処理を行う場合、そのときから処理分割不要期間（例えば、非リアルタイム処理の一括処理に要する最大処理時間が経過するまで）の間に、録画予約が入っているか否かによって切り替え処理の必要性を判断する。具体的には、処理分割不要期間の間にＣＡＳの録画予約が入っていれば、制御部２０５は、非リアルタイム処理の分割を指示する。なお、制御部２０５は、前記処理分割不要期間を予め保持していてもよいし、ＩＣカード３００から取得してもよく、取得先については特に限定しない。
【産業上の利用可能性】
【０１０７】
本発明にかかるＩＣカードの処理方法により、複数の処理を切り替えて行うことが可能となり、コスト削減、ユーザ利便性の向上につながり、ＩＣカードを利用したコンテンツ配信サービスにおける受信機として有用である。
【０１０８】
本発明の受信機は、内部に蓄積されたコンテンツの再生または通信回線網を介して受信したコンテンツの再生と、デジタル放送の受信とを並行して行う受信データ処理システムの受信機として有用である。本発明のＩＣカードは、内部に蓄積されたコンテンツの再生または通信回線網を介して受信したコンテンツの再生と、デジタル放送の受信とを並行して行う受信データ処理システムにおいて、認証処理および暗号鍵の取得処理を行なうＩＣカードとして有用である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態におけるコンテンツ配信システムの全体構成を示すブロック図である。
【図２】本発明の実施の形態における受信機の内部構成を示すブロック図である。
【図３】本発明の実施の形態におけるＩＣカードの内部構成を示すブロック図である。
【図４】（ａ）は、受信機からＩＣカードに処理を要求するための要求メッセージのデータ構造の一例を示す図である。（ｂ）は、（ａ）に示した要求メッセージに対して、ＩＣカードから受信機に応答する応答メッセージのデータ構造の一例を示す図である。
【図５】（ａ）は、受信機からＩＣカードへ送信する要求コマンドＡＰＤＵのデータ構造を示す図である。（ｂ）は、ＩＣカードから受信機へ送信する応答コマンドＡＰＤＵのデータ構造を示す図である。
【図６】非リアルタイム処理を複数の処理ブロックに分割した場合、各処理ブロックの処理に要する時間を記録したテーブルの一例を示す図である。
【図７】受信機が中断処理ＤＢに保持する中断情報識別子テーブルの一例を示す図である。
【図８】ＩＣカードが中断情報ＤＢに保持する中断情報テーブルの一例を示す図である。
【図９】ＣＡＳにおいて、サーバから配信される暗号化コンテンツを受信機で復号する場合のデータの流れを示す図である。
【図１０】（ａ）および（ｂ）は、ＩＣカードにおいてリアルタイム処理の合間に非リアルタイム処理を行なう場合のＩＣカードの概略的動作を示す図である。
【図１１】暗号化ＥＣＭと暗号化コンテンツとが多重化された伝送ストリームのデータ構造を概略的に示す図である。
【図１２】伝送ストリーム中の暗号化コンテンツと、Ｋｓの更新のためのＥＣＭ処理とのタイミングの関係を示す図である。
【図１３】ＩＣカードが非リアルタイム処理に費やせる時間を算出するために参照するリアルタイム処理時間テーブルの一例を示す図である。
【図１４】受信機における要求待ち状態から要求コマンドをＩＣカードに送信するまでの処理手順を示すフローチャートである。
【図１５】受信機がＩＣカードに要求コマンドを送信してから、応答コマンドに対応する処理を完了するまでの処理手順を示すフローチャートである。
【図１６】ＩＣカードが受信機から要求コマンドを受信し、要求コマンドに対する処理を実行するまでの動作を示すフローチャートである。
【図１７】ＩＣカードが要求コマンドに対する処理の完了を判定してから応答コマンドを受信機に送信するまでの動作を示すフローチャートである。
【図１８】ＣＡＳの録画予約がある場合に、非リアルタイム処理を分割して行なうか否かを判定する基準の一例を示す図である。
【符号の説明】
【０１１０】
１００  サーバ
２００  受信機
２０１  受信部
２０２  分離部
２０３  復号部
２０４  伸張処理部
２０５、３０３  制御部
２０６  中断処理ＤＢ
２０７、３０１  通信部
２０８、３０２  通信データ処理部
２０９、３０７  メッセージ処理部
２１０、３０４  処理時間管理部
２１１、３０８  中断情報管理部
３００  ＩＣカード
３０５  処理情報ＤＢ
３０６  要求処理部
３０９  中断情報ＤＢ
【図１】
2005316960.tif 000003
【図２】
2005316960.tif 000004
【図３】
2005316960.tif 000005
【図４】
2005316960.tif 000006
【図５】
2005316960.tif 000007
【図６】
2005316960.tif 000008
【図７】
2005316960.tif 000009
【図８】
2005316960.tif 000010
【図９】
2005316960.tif 000011
【図１０】
2005316960.tif 000012
【図１１】
2005316960.tif 000013
【図１２】
2005316960.tif 000014
【図１３】
2005316960.tif 000015
【図１４】
2005316960.tif 000016
【図１５】
2005316960.tif 000017
【図１６】
2005316960.tif 000018
【図１７】
2005316960.tif 000019
【図１８】
2005316960.tif 000020