(57)【要約】【課題】  放送受信装置上でプログラムを動作させる環境に関し、そのプログラムが、放送受信装置が受信する放送信号内の情報にアクセスすることがある。さらに、その情報は暗号化されていることがある。このとき、Ｊａｖａプログラムはハードウェア上のデスクランブラ（２１０４）を用いて暗号解除を行う必要があるが、暗号解除は番組購入などの放送局側システムとの情報やりとりを含んだ面倒な操作である場合があり、Ｊａｖａプログラムがこれら操作を負担するのは大変な労力である。【解決手段】  放送受信装置上で動作するプログラムに対して、簡単に暗号解除を行う手段を提供する。【選択図】  図２１
2005102150.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報単位を含むサービスの実行依頼を受付け、実行するサービス実行手段と、
暗号化された情報単位を暗号解除する暗号解除手段と、
放送受信装置外部よりダウンロードされたアプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える暗号解除制御手段と
を備えることを特徴とする放送受信装置。
【請求項２】
請求項１記載の放送受信装置はさらに、
１以上の情報単位にアクセスする情報単位アクセス手段を備え、
第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項３】
請求項１記載の放送受信装置はさらに、
１以上の情報単位にアクセスする情報単位アクセス手段を備え、
アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項４】
請求項１記載の放送受信装置であって、
前記暗号解除手段は前記放送受信装置に着脱可能であり、
前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されており、かつ、前記アプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える
ことを特徴とする放送受信装置。
【請求項５】
請求項４記載の放送受信装置はさらに、
１以上の情報単位にアクセスする情報単位アクセス手段を備え、
第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項６】
請求項４記載の放送受信装置はさらに、
１以上の情報単位にアクセスする情報単位アクセス手段を備え、
アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項７】
請求項１記載の放送受信装置であって、
第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記サービス実行手段に第二のサービスの実行を依頼した時、前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令し、前記第二のサービスが含む全ての暗号化された情報単位の暗号解除を前記暗号解除手段に指令する
ことを特徴とする放送受信装置。
【請求項８】
請求項７記載の放送受信装置であって、
前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一のサービスが含む情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項９】
請求項１記載の放送受信装置であって、
前記暗号解除手段は、前記暗号解除制御手段から指令された第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のサービスが含む情報単位の暗号解除の指令を前記暗号解除制御手段から受け取った時、前記第一のサービスが含む情報単位の暗号解除を停止し、前記第二のサービスが含む情報単位の暗号解除を開始する
ことを特徴とする放送受信装置。
【請求項１０】
１以上の情報単位にアクセスする情報単位アクセス手段と、
暗号化された情報単位を暗号解除する暗号解除手段と、
放送受信装置外部よりダウンロードされたアプリケーションが前記情報単位アクセス手段に、前記情報単位へのアクセスを依頼した時、前記情報単位の暗号解除を前記暗号解除手段に指令を与える暗号解除制御手段
を備えることを特徴とする放送受信装置。
【請求項１１】
請求項１０記載の放送受信装置であって、
前記暗号解除手段は前記放送受信装置に着脱可能であり、前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されている時に前記アプリケーションが前記情報単位アクセス手段に対して前記情報単位へのアクセスを依頼した場合、前記情報単位の暗号解除を前記暗号解除手段に指令を与える
ことを特徴とする放送受信装置。
【請求項１２】
請求項１０記載の放送受信装置であって、
第一のアプリケーションが前記情報単位アクセス手段に対して第一の情報単位へのアクセスを依頼し、前記暗号解除手段が前記情報単位アクセス手段の依頼により前記第一の情報単位の暗号解除を行っている状況で、第二のアプリケーションが前記情報単位アクセス手段に対して第二の情報単位へのアクセスを依頼した時に、前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令してから前記第二の情報単位の暗号解除を前記暗号解除手段に指令する
ことを特徴とする放送受信装置。
【請求項１３】
請求項１２記載の放送受信装置であって、
前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一の情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項１４】
請求項１０記載の放送受信装置であって、
前記暗号解除手段は、第一の情報単位の暗号解除を行っている状況で、前記暗号解除制御手段から第二の情報単位の暗号解除を指令された時、前記第一の情報単位の暗号解除を停止し、前記第二の情報単位の暗号解除を開始する
ことを特徴とする放送受信装置。
【請求項１５】
請求項１０記載の放送受信装置であって、
前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、
前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高いまたは等しければ、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する
ことを特徴とする放送受信装置。
【請求項１６】
請求項１５記載の放送受信装置であって、
前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止する
ことを特徴とする放送受信装置。
【請求項１７】
請求項１６記載の放送受信装置であって、
前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項１８】
請求項１０記載の放送受信装置であって、
前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、
前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高い時、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する
ことを特徴とする放送受信装置。
【請求項１９】
請求項１８記載の放送受信装置であって、
前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止する
ことを特徴とする放送受信装置。
【請求項２０】
請求項１９記載の放送受信装置であって、
前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知する
ことを特徴とする放送受信装置。
【請求項２１】
請求項１記載の放送受信装置であって、
前記情報単位はエレメンタリーストリームである
ことを特徴とする放送受信装置。
【請求項２２】
請求項１０記載の放送受信装置であって、
前記情報単位はエレメンタリーストリームである
ことを特徴とする放送受信装置。
【請求項２３】
請求項１０記載の放送受信装置であって、
情報単位アクセス手段は、映像再生を行うために前記情報単位にアクセスする映像再生手段である
ことを特徴とする放送受信装置。
【請求項２４】
請求項１０記載の放送受信装置であって、
情報単位アクセス手段は、音声再生を行うために前記情報単位にアクセスする音声再生手段である
ことを特徴とする放送受信装置。
【請求項２５】
請求項１０記載の放送受信装置であって、
情報単位アクセス手段は、前記アプリケーションをダウンロードするために前記情報単位にアクセスするアプリケーションダウンロード手段である
ことを特徴とする放送受信装置。
【請求項２６】
請求項１０記載の放送受信装置であって、
情報単位アクセス手段は、アプリケーションが利用するデータを取得するために前記情報単位にアクセスするデータ取得手段である
ことを特徴とする放送受信装置。
【請求項２７】
請求項１記載の放送受信装置であって、
前記サービスに含まれる情報単位の少なくとも１つは前記サービスの実行時に再生される映像情報を含む
ことを特徴とする放送受信装置。
【請求項２８】
請求項１記載の放送受信装置であって、
前記サービスに含まれる情報単位の少なくとも１つは前記サービスの実行時に再生される音声情報を含む
ことを特徴とする放送受信装置。
【請求項２９】
請求項１記載の放送受信装置であって、
前記サービスに含まれる情報単位の少なくとも１つはアプリケーションを含む
ことを特徴とする放送受信装置。
【請求項３０】
請求項１記載の放送受信装置であって、
前記サービスに含まれる情報単位の少なくとも１つは前記サービスに含まれるアプリケーションが利用するデータを含む
ことを特徴とする放送受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送を受信する放送受信装置に関する。特に、放送受信装置において、暗号化された放送信号を参照するプログラムを実行する機構に関する。
【背景技術】
【０００２】
放送信号は多種多様な情報を含んで放送局より放送される。それら情報の中には、ユーザ毎にアクセス権限が設定されるものがある。例えば、スポーツチャンネルや映画チャンネルなどにおいて、契約を結んでいるユーザにのみ視聴可能な映像音声情報を伝送する。
【０００３】
このような形態を実現する機構として、ＣＡＳ（Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍ）が導入される。放送局は特定のユーザにのみアクセス可能な情報に対して暗号化処理を施し、そのデータを放送信号に載せて伝送する。同時に、放送局は、暗号解除に必要な鍵、特定ユーザに対して伝送する契約情報などの付加情報を、暗号化された情報と共に伝送する。
【０００４】
放送受信装置は、ユーザが暗号化された情報にアクセスする時、ユーザがその情報にアクセスする権限を保持しているかどうか判断し、可能であれば放送受信装置に存在するデスクランブラと呼ばれるデバイスを用いて暗号解除を行い、その後、暗号解除された情報にアクセスする。
【０００５】
このような環境において、放送受信装置はユーザのアクセス権限を判断する必要があるが、さらに「どの情報を」「どのタイミングで」暗号解除するかを判断する必要がある。
特許文献１には、放送受信装置が暗号化されたチャンネルを記憶しておき、ユーザがチャンネルを選択した際に、それが暗号化されたチャンネルであれば、自動的に放送受信装置外部に接続された外部デスクランブラを通す手法について詳述されている。この特許文献１においては、「選択されたチャンネルを」「選択時に」暗号解除を行う。
【特許文献１】特開平４−３２３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
現在、様々な地域において、プログラムを放送受信装置上で実行する環境に関する仕様が策定され、運用されている。例えば、ＤＶＢ−ＭＨＰ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ−Ｍｕｌｔｉｍｅｄｉａ  Ｈｏｍｅ  Ｐｌａｔｆｏｒｍ）と呼ばれる仕様が欧州で策定され、既に仕様に準拠した運用が開始されている。またＯＣＡＰ（ＯｐｅｎＣａｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ）と呼ばれるケーブル放送環境に対応する仕様が米国で策定されつつあり、２００５年に運用開始予定である。このような環境においては、放送受信装置上で実行されるプログラムは、放送受信装置上に存在するデバイスを用いて、自由に放送信号内の情報にアクセスすることが可能である。例えば、チューナデバイスを用いて放送受信装置が受信するＭＰＥＧ２トランスポートストリームを変更することが可能である。例えば、ＡＶデコーダデバイスを用いて、放送受信装置が受信するＭＰＥＧ２トランスポートストリームが伝送する映像・音声情報をデコードし、画面・スピーカに出力することが可能である。例えば、セクションフィルタデバイスを用いて、放送受信装置が受信するＭＰＥＧ２トランスポートストリームが伝送するデータ放送用データや番組情報を取得することが可能である。
【０００７】
このような環境において、プログラムがアクセスしようとする情報が暗号化されて伝送されていることがある。その場合、暗号化されたままでは放送受信装置上のデバイスは情報を利用することはできない。そのため、暗号化された情報を暗号解除する必要がある。
【０００８】
一つの手法として、放送受信装置が、放送受信装置上で動作するプログラムに対して、暗号解除するためのライブラリを提供する方法がある。プログラムは、暗号化された情報に対してアクセスを行う前に、暗号解除ライブラリを利用して暗号解除を開始する。この方法では、プログラム自身が暗号解除のタイミングを判断する。しかしながら、この方法はプログラム自身が、アクセスしたい情報の暗号解除に関して考慮しなければならない。暗号解除には予め契約したチャンネルに関する暗号解除を行う形態のみでなく、番組単位課金を行うＰＰＶ（Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ）などのその時点で番組の購入を行う形態もあり、複雑な処理を必要とする場合がある。そのため、プログラム自身の実装がより複雑になる、という欠点がある。
【課題を解決するための手段】
【０００９】
本発明では、放送受信装置上で動作するプログラムが放送信号内の暗号化された情報に、より容易にアクセスする手段を提供する。
その一つの形態は、プログラムが放送信号内の暗号化された情報にアクセスする際に、放送受信装置が暗黙的に暗号解除を行うことである。
【００１０】
もう一つの形態は、放送受信装置が、プログラムに対して、容易な暗号解除手段を提供することである。
【発明の効果】
【００１１】
本発明が記述する放送受信装置は、１以上の情報単位を含むサービスの実行依頼を受付け、実行するサービス実行手段と、暗号化された情報単位を暗号解除する暗号解除手段と、放送受信装置外部よりダウンロードされたアプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える暗号解除制御手段とを備えることで、サービスが実行された時にサービスが含む全ての暗号化された情報単位が暗号解除されることが可能となり、それ以降、サービスが実行されている間、サービスが含む情報単位へのアクセスが可能となる。
【００１２】
さらに、１以上の情報単位にアクセスする情報単位アクセス手段を備え、第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知することで、前記第二のアプリケーションが実行されていないサービスが含む暗号化された情報単位にアクセスした時に、暗号解除の不可能性を知ることが可能となる。
【００１３】
さらに、１以上の情報単位にアクセスする情報単位アクセス手段を備え、アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知することで、第二のアプリケーションが、暗号解除が不可能であることを知ることが可能となる。
【００１４】
さらに、前記暗号解除手段は前記放送受信装置に着脱可能であり、前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されており、かつ、前記アプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与えることで、着脱可能な前記暗号解除手段を用いても情報単位の暗号解除を行うことが可能となる。
【００１５】
さらに、１以上の情報単位にアクセスする情報単位アクセス手段を備え、第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知することを特徴とすることで、第二のアプリケーションが、暗号解除が不可能であることを知ることが可能となる。
【００１６】
さらに、１以上の情報単位にアクセスする情報単位アクセス手段を備え、アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知することで、第二のアプリケーションが、暗号解除が不可能であることを知ることが可能となる。
【００１７】
さらに、第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記サービス実行手段に第二のサービスの実行を依頼した時、前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令し、前記第二のサービスが含む全ての暗号化された情報単位の暗号解除を前記暗号解除手段に指令することで、前記第一のサービスの暗号解除を停止してから前記第二のサービスの暗号解除を開始することが可能となる。
【００１８】
さらに、前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一のサービスが含む情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のサービスの暗号解除が停止されたことを前記第一のアプリケーションが知ることを可能とする。
【００１９】
さらに、前記暗号解除手段は、前記暗号解除制御手段から指令された第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のサービスが含む情報単位の暗号解除の指令を前記暗号解除制御手段から受け取った時、前記第一のサービスが含む情報単位の暗号解除を停止し、前記第二のサービスが含む情報単位の暗号解除を開始することで、前記第一のサービスの暗号解除を停止してから前記第二のサービスの暗号解除を開始することが可能となる。
【００２０】
１以上の情報単位にアクセスする情報単位アクセス手段と、暗号化された情報単位を暗号解除する暗号解除手段と、放送受信装置外部よりダウンロードされたアプリケーションが前記情報単位アクセス手段に、前記情報単位へのアクセスを依頼した時、前記情報単位の暗号解除を前記暗号解除手段に指令を与える暗号解除制御手段とを備えることで、前記アプリケーションが指示しなくても、前記情報単位の暗号解除が暗黙的に開始されることが可能となる。
【００２１】
さらに、前記暗号解除手段は前記放送受信装置に着脱可能であり、前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されている時に前記アプリケーションが前記情報単位アクセス手段に対して前記情報単位へのアクセスを依頼した場合、前記情報単位の暗号解除を前記暗号解除手段に指令を与えることで、着脱可能な前記暗号解除手段を用いた場合も、前記アプリケーションが直接指示しなくても、前記情報単位の暗号解除が暗黙的に開始されることが可能となる。
【００２２】
さらに、第一のアプリケーションが前記情報単位アクセス手段に対して第一の情報単位へのアクセスを依頼し、前記暗号解除手段が前記情報単位アクセス手段の依頼により前記第一の情報単位の暗号解除を行っている状況で、第二のアプリケーションが前記情報単位アクセス手段に対して第二の情報単位へのアクセスを依頼した時に、前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令してから前記第二の情報単位の暗号解除を前記暗号解除手段に指令することで、前記暗号解除制御手段が明示的に前記第一の情報単位の暗号解除停止を指示してから、前記第二の情報単位の暗号解除を開始することが可能となる。
【００２３】
さらに、前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一の情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のアプリケーションは、第一の情報単位の暗号解除が停止されたタイミングを知ることが可能となる。
【００２４】
さらに、前記暗号解除手段は、第一の情報単位の暗号解除を行っている状況で、前記暗号解除制御手段から第二の情報単位の暗号解除を指令された時、前記第一の情報単位の暗号解除を停止し、前記第二の情報単位の暗号解除を開始することで、前記第一の情報単位の暗号解除を停止してから、前記第二の暗号解除を開始することが可能となる。
【００２５】
さらに、前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高いまたは等しければ、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令することで、前記第一のアプリケーションの優先度よりも前記第二のアプリケーションの優先度の方が高いか等しければ、前記第二のアプリケーションが指定した情報単位の暗号解除が優先されることが可能となる。
【００２６】
さらに、前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止することで、前記第一のアプリケーションが指定した情報単位の暗号解除を停止してから、前記第二のアプリケーションが指定した情報単位の暗号解除を開始することが可能となる。
【００２７】
さらに、前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のアプリケーションは、アクセスを依頼している情報単位の暗号解除が停止されたことを知ることが可能となる。
【００２８】
さらに、前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高い時、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令することで、前記第一のアプリケーションの優先度よりも前記第二のアプリケーションの優先度の方が高ければ、前記第二のアプリケーションが指定した情報単位の暗号解除が優先されることが可能となる。
【００２９】
さらに、前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止することで、前記第一のアプリケーションが指定した情報単位の暗号解除を停止してから、前記第二のアプリケーションが指定した情報単位の暗号解除を開始することが可能となる。
【００３０】
前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のアプリケーションが、前記情報単位アクセス手段に対してアクセスを依頼する情報単位の暗号解除が停止したことを知ることが可能となる。
【００３１】
さらに、前記情報単位はエレメンタリーストリームであることで、エレメンタリーストリームの暗号解除を可能とする。
さらに、情報単位アクセス手段は、映像再生を行うために前記情報単位にアクセスする映像再生手段であることで、映像再生時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
【００３２】
さらに、情報単位アクセス手段は、音声再生を行うために前記情報単位にアクセスする音声再生手段であることで、音声再生時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
【００３３】
情報単位アクセス手段は、前記アプリケーションをダウンロードするために前記情報単位にアクセスするアプリケーションダウンロード手段であることで、アプリケーションダウンロード開始時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
【００３４】
さらに、情報単位アクセス手段は、アプリケーションが利用するデータを取得するために前記情報単位にアクセスするデータ取得手段であることで、データ取得時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
【００３５】
さらに、前記サービスに含まれる情報単位の少なくとも１つは前記サービスの実行時に再生される映像情報を含むことで、前記サービス選択時に、前記サービスが含む、映像情報を含む前記情報単位の暗号解除を暗黙的に開始することが可能となる。
【００３６】
さらに、前記サービスに含まれる情報単位の少なくとも１つは前記サービスの実行時に再生される音声情報を含む前記サービス選択時に、前記サービスが含む、音声情報を含むことで、前記情報単位の暗号解除を暗黙的に開始することが可能となる。
【００３７】
さらに、前記サービスに含まれる情報単位の少なくとも１つはアプリケーションを含むことで、前記サービス選択時に、前記サービスが含む、前記アプリケーションを含む前記情報単位の暗号解除を暗黙的に開始することが可能となる。
【００３８】
さらに、前記サービスに含まれる情報単位の少なくとも１つは前記サービスに含まれるアプリケーションが利用するデータを含むことで、前記サービス選択時に、前記サービスが含む、データを含む前記情報単位の暗号解除を暗黙的に開始することが可能となる。
【発明を実施するための最良の形態】
【００３９】
（実施の形態１）
本発明は、対象となる放送システムとして、衛星システム、地上波システム、ケーブルシステムの三種類の運用形態を想定する。衛星システムは衛星を用いて放送信号を放送受信装置に伝送する形態、地上波システムは地上波信号送出装置を用いて放送信号を放送受信装置に伝送する形態、ケーブルシステムはケーブルヘッドエンドを用いて放送信号を放送受信装置に伝送する形態である。本発明は各放送システムの違いと直接的な関係を持たないため、放送システムに係らず適用可能である。
【００４０】
本発明に係る放送システムの実施の形態を、図面を参照しながら説明する。図１は、放送システムを構成する装置の関係を表したブロック図であり、放送局側システム１０１及び三個の端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３で構成される。放送局側システム〜各端末装置間の結合１２１については有線／無線の両場合が存在する。例えばケーブルシステムでは、放送局側システム〜各端末装置間は有線にて結合される。一方、衛星／地上波システムにおける放送局側システム〜各端末装置間には、下り（放送局側システムから各端末装置へ）方向には有線結合は存在せず、放送信号は電波を利用して伝送される。上り（各端末装置から放送局側システムへ）方向については電話回線、有線インターネット等を利用した有線結合、無線通信を利用した無線結合の両場合があり、各端末装置はユーザ入力等の情報を放送局側システムへ送信する。本実施の形態では、１つの放送局側システムに対して三つの端末装置が結合されているが、任意の数の端末装置を放送局側システムに結合しても、本発明は適用可能である。
【００４１】
放送局側システム１０１は、複数の端末装置に対して映像・音声・データ放送用データ等の情報を放送信号に含めて送信する。放送信号は放送システムの運用既定や、放送システムが運用される国・地域の法律により定められた周波数帯域内の周波数を利用して伝送される。
【００４２】
例として、ケーブルシステムに関する放送信号伝送既定の例を示す。本例に示すケーブルシステムでは、放送信号伝送に利用される周波数帯域は、そのデータの内容と伝送方向（上り、下り）について、分割して用いられる。図２は、周波数帯域の分割の一例を示す表である。周波数帯域は、Ｏｕｔ  Ｏｆ  Ｂａｎｄ（略称ＯＯＢ）とＩｎ−Ｂａｎｄの２種類に大別される。５〜１３０ＭＨｚがＯＯＢに割り当てられ、主に放送局側システム１０１と端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３間のデータのやり取りに使用される。１３０ＭＨｚ〜８６４ＭＨｚはＩｎ−Ｂａｎｄに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。ＯＯＢではＱＰＳＫ変調方式が、Ｉｎ−ＢａｎｄはＱＡＭ６４またはＱＡＭ２５６変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図３は、ＯＯＢ周波数帯域の更に詳細な使用の一例である。７０ＭＨｚ〜７４ＭＨｚは放送局側システム１０１からのデータ送信に使用され、全ての端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３が、放送局側システム１０１から同じデータを受け取ることになる。一方、１０．０ＭＨｚ〜１０．１ＭＨｚは端末装置Ａ１１１から放送局側システム１０１へのデータ送信に使用され、１０．１ＭＨｚ〜１０．２ＭＨｚは端末装置Ｂ１１２から放送局側システム１０１へのデータ送信に使用され、１０．２ＭＨｚ〜１０．３ＭＨｚは端末装置Ｃ１１３から放送局側システム１０１へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３から放送局側システム１０１に送信することができる。図４は、Ｉｎ−Ｂａｎｄの周波数帯に対する使用の一例である。１５０〜１５６ＭＨｚと１５６〜１６２ＭＨｚはそれぞれテレビチャンネル１とテレビチャンネル２に割り当てられ、以降、６ＭＨｚ間隔でテレビチャンネルが割り当てられている。３１０ＭＨｚ以降は、１ＭＨｚ単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、ＭＰＥＧ２仕様に基づいたＴＳパケット形式で伝送され、音声や映像に加え、各種データ放送用データやＥＰＧを構成するための番組編成情報も送信することができる。
【００４３】
放送局側システム１０１は、これらの周波数帯域を利用して端末装置に適切な放送信号を送信するため、ＱＰＳＫ変調部やＱＡＭ変調部等を有する。また、端末装置からのデータを受信するため、ＱＰＳＫ復調器を有する。また、放送局側システム１０１は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
【００４４】
端末装置Ａ１１１、端末装置Ｂ１１２、端末装置Ｃ１１３は、放送局側システム１０１からの放送信号を受信し再生する。また、放送局側システム１０１に対して、各端末装置固有のデータを送信する。三つの端末装置は、本実施の形態では同じ構成を取る。
【００４５】
なお、本例ではケーブルシステム運用に関する一例の詳細を紹介しているが、本発明は衛星、地上波システム及びケーブルシステムの他形態においても適用可能である。衛星及び地上波システムにおける放送局側システムと各端末装置の結合は、前記のように有線／無線の両場合が存在し、さらに周波数帯域や周波数間隔、変調方式、放送局側システムの構成等は放送システムの種別や運用に依存して異なるが、それらは本発明との関連性はなく、本発明はそれらがどのように既定されようと適用可能である。
【００４６】
放送局側システム１０１は、ＭＰＥＧ２トランスポートストリームを変調して放送信号に含めて伝送する。放送受信装置は放送信号を受信し、復調してＭＰＥＧ２トランスポートストリームを再現し、その中から必要な情報を抽出して用いる。デジタル放送受信装置に存在するデバイスの機能と接続の構成を説明するため、まずＭＰＥＧ２トランスポートストリームの構成を簡単に述べる。
【００４７】
図５はＴＳパケットの構成を表す図である。ＴＳパケット５００は１８８バイトの長さを持ち、ヘッダ５０１、アダプテーションフィールド５０２、ペイロード５０３からなる。ヘッダ５０１はＴＳパケットの制御情報を保持する。４バイトの長さを持ち、５０４で表される構成をとる。この中に“Ｐａｃｋｅｔ  ＩＤ（以下ＰＩＤ）”と記述されるフィールドを持ち、このＰＩＤの値によって、ＴＳパケットの識別を行う。アダプテーションフィールド５０２は時刻情報などの付加的な情報を保持する。アダプテーションフィールド５０２の存在は必須ではなく、存在しない場合もある。ペイロード５０３は映像・音声やデータ放送用データ等、ＴＳパケットが伝送する情報を保持する。
【００４８】
図６はＭＰＥＧ２トランスポートストリームの模式図である。ＴＳパケット６０１及びＴＳパケット６０３はヘッダにＰＩＤ１００を保持し、ペイロードに映像１に関する情報を保持する。ＴＳパケット６０２及びＴＳパケット６０５はヘッダにＰＩＤ２００を保持し、ペイロードにデータ１に関する情報を保持する。ＴＳパケット６０４はヘッダにＰＩＤ３００を保持し、ペイロードに音声１に関する情報を保持する。
【００４９】
ＭＰＥＧ２トランスポートストリーム６００はＴＳパケット６０１〜６０５のような連続したＴＳパケットによって構成される。ＴＳパケットはそのペイロードに映像や音声、データ放送用のデータなど様々な情報を保持する。放送受信装置はＴＳパケットを受信して、各ＴＳパケットが保持する情報を抽出することで、映像・音声を再生し、番組編成情報等のデータを利用する。この時、同一ＰＩＤを持つＴＳパケットは同一種類の情報を保持する。図６においても、ＴＳパケット６０１及びＴＳパケット６０３は共に映像１に関する情報を伝送し、またＴＳパケット６０２及びＴＳパケット６０５は共にデータ１に関する情報を伝送する。
【００５０】
映像及び音声は、ＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットと呼ばれる形式で表現される。ＰＥＳパケットはある時間帯の映像情報または音声情報を含み、放送受信装置は、ＰＥＳパケットを受信することで、そのＰＥＳパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がＰＥＳパケットを途切れなく伝送することで、放送受信装置は、映像・音声を途切れなく再生し続けることが可能となる。ＰＥＳパケットは、実際に伝送される際、一つのＴＳパケットのペイロードよりも大きいサイズを持つ場合は分割されて複数のＴＳパケットのペイロードに格納される。図７はＰＥＳパケットを伝送する際の分割例を表す。ＰＥＳパケット７０１は一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、ＰＥＳパケット分割Ａ７０２ａ、ＰＥＳパケット分割Ｂ７０２ｂ、ＰＥＳパケット分割Ｃ７０２ｃに分割され、同一ＰＩＤを持つ三つのＴＳパケット７０３〜７０５によって伝送される。なお、ＰＥＳパケットは運用によっては映像・音声だけでなく、サブタイトルと呼ばれる字幕用データを伝送することもある。
【００５１】
番組編成情報やデータ放送用のデータ等の情報はＭＰＥＧ２セクションと呼ばれる形式を用いて表現される。ＭＰＥＧ２セクションは実際に伝送される際、一つのＴＳパケットのペイロードよりも大きいサイズを持つ場合は分割されて複数のＴＳパケットのペイロードに格納される。図８はＭＰＥＧ２セクションを伝送する際の分割例を表す。ＭＰＥＧ２セクション８０１は一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、セクション分割Ａ８０２ａ、セクション分割Ｂ８０２ｂ、セクション分割Ｃ８０２ｃに分割され、同一ＰＩＤを持つ三つのＴＳパケット８０３〜８０５によって伝送される。
【００５２】
図９はＭＰＥＧ２セクションの構造を表現する。ＭＰＥＧ２セクション９００はヘッダ９０１及びペイロード９０２から構成される。ヘッダ９０１はＭＰＥＧ２セクションの制御情報を保持する。その構成はヘッダ構成９０３によって表現される。ペイロード９０２はＭＰＥＧ２セクション９００が伝送するデータを保持する。ヘッダ構成９０３に存在するｔａｂｌｅ＿ｉｄはＭＰＥＧ２セクションの種類を表現し、さらにｔａｂｌｅ＿ｉｄ＿ｅｘｔｅｎｓｉｏｎはｔａｂｌｅ＿ｉｄが等しいＭＰＥＧ２セクション同士を区別する際に用いられる拡張識別子である。ＭＰＥＧ２セクションの使用例として、図１０に番組編成情報を伝送する場合を挙げる。この例では、行１００４に記載されるように、放送信号の復調に必要な情報はヘッダ構成９０３内のｔａｂｌｅ＿ｉｄが６４であるＭＰＥＧ２セクションに記載され、さらにそのＭＰＥＧ２セクションはＰＩＤに１６が付与されたＴＳパケットによって伝送される。
【００５３】
ＭＰＥＧ２トランスポートストリーム内に存在するＴＳパケット列の中で、同一ＰＩＤによって識別されるもののみを抽出した部分ＴＳパケット列をエレメンタリーストリーム（ＥＳ）と呼ぶ。例えば、図７において、ＰＥＳパケット７０１を分割して伝送しているＴＳパケット７０３〜７０５は全てＰＩＤが１００で識別される。これはＰＥＳパケット７０１を伝送するＥＳである、と言うことができる。同様に、図８において、ＭＰＥＧ２セクション８０１を分割して伝送しているＴＳパケット８０３〜８０５は全てＰＩＤが２００で識別される。これはＭＰＥＧ２セクション８０１を伝送するＥＳである、と言うことができる。
【００５４】
ＭＰＥＧ２トランスポートストリーム内にはさらにプログラムという概念が存在する。プログラムはＥＳの集合として表現され、複数のＥＳをまとめて扱いたい場合に利用される。プログラムを利用すると、映像・音声や、それに付随するデータ放送用データなどを一まとめに扱うことが可能となる。例えば、同時に再生したい映像・音声をまとめて扱う場合、映像を含むＰＥＳパケットを伝送するＥＳと、音声を含むＰＥＳパケットを伝送するＥＳをプログラムとしてまとめることで、放送受信装置は二つのＥＳを同時に再生すべきであることがわかる。
【００５５】
プログラムを表現するために、ＭＰＥＧ２ではＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）及びＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）と呼ばれる二つのテーブルが利用される。詳細な説明はＩＳＯ／ＩＥＣ１３８１８−１、“ＭＰＥＧ２  Ｓｙｓｔｅｍｓ”仕様を参照されたい。以下ではＰＭＴ及びＰＡＴに関して簡単に説明する。
【００５６】
ＰＭＴはＭＰＥＧ２トランスポートストリーム中に、プログラムの数だけ含まれるテーブルである。ＰＭＴはＭＰＥＧ２セクションとして構成され、ｔａｂｌｅ＿ｉｄは２である。ＰＭＴにはプログラムの識別に用いられるプログラムナンバーとプログラムの付加情報、さらにプログラムに属するＥＳに関する情報を保持する。ＰＭＴの例を図１１に挙げる。１１００はプログラムナンバーである。プログラムナンバーは同一トランスポートストリーム内でプログラムに一意に割り当てられ、ＰＭＴの識別に用いられる。行１１１１〜１１１４は個々のＥＳに関する情報を表現する。列１１０１はＥＳのタイプであり、“映像”、“音声”、“データ”などが指定される。列１１０２はＥＳを構成するＴＳパケットのＰＩＤである。列１１０３はＥＳに関する付加情報である。例えば、行１１１１に表されるＥＳは、音声用ＰＥＳパケットを伝送するＥＳであり、ＰＩＤが５０１１であるＴＳパケットによって構成される。
【００５７】
ＰＡＴはＭＰＥＧ２トランスポートストリームに一つだけ存在するテーブルである。ＰＡＴはＭＰＥＧ２セクションとして構成され、ｔａｂｌｅ＿ｉｄは０であり、ＰＩＤが０であるＴＳパケットによって伝送される。ＰＡＴには、ＭＰＥＧ２トランスポートストリームの識別に用いられるｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄと、ＭＰＥＧ２トランスポートストリーム内に存在するプログラムを表現する全てのＰＭＴに関する情報を保持する。ＰＡＴの例を図１２に挙げる。１２００はｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄである。ｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄはＭＰＥＧ２トランスポートストリームの識別に用いられる。行１２１１〜１２１３はプログラムに関する情報を表現する。列１２０１はプログラムナンバーである。列１２０２はプログラムに対応するＰＭＴを伝送するＴＳパケットのＰＩＤである。例えば、行１２１１に表されるプログラムのＰＭＴは、プログラムナンバーが１０１であり、対応するＰＭＴはＰＩＤが５０１であるＴＳパケットによって伝送される。
【００５８】
放送受信装置において、ユーザがあるプログラムに属する映像・音声の再生指示を出した場合はＰＡＴ及びＰＭＴを用いて、指定された映像・音声の再生を行う。例えば図１２のＰＡＴ及び図１１のＰＭＴを伝送するＭＰＥＧ２トランスポートストリームに関して、プログラムナンバーが１０１であるプログラムに属する映像・音声の再生を行う場合は以下のような手順をとる。まずＰＩＤが“０”であるＴＳパケットより、ｔａｂｌｅ＿ｉｄが“０”のＭＰＥＧ２セクションとして伝送されるＰＡＴを取得する。ＰＡＴよりプログラムナンバーが“１０１”であるプログラムを探索し、行１２１１を得る。行１２１１より、プログラムナンバーが“１０１”であるプログラムのＰＭＴを伝送するＴＳパケットのＰＩＤ“５０１”を得る。次にＰＩＤが“５０１”であるＴＳパケットより、ｔａｂｌｅ＿ｉｄが“２”のＭＰＥＧ２セクションとして伝送されるＰＭＴを取得する。ＰＭＴより、音声のＥＳ情報である行１１１１及び映像のＥＳ情報である行１１１２を得る。行１１１１より、音声用ＰＥＳパケットを伝送するＥＳを構成するＴＳパケットのＰＩＤ“５０１１”を得る。また行１１１２より、映像用ＰＥＳパケットを伝送するＥＳを構成するＴＳパケットのＰＩＤ“５０１２”を得る。次にＰＩＤ“５０１１”のＴＳパケットより音声用ＰＥＳパケットを、ＰＩＤ“５０１２”のＴＳパケットより映像用ＰＥＳパケットを取得する。これにより、再生対象となる映像・音声のＰＥＳパケットを特定することが可能となり、これらが伝送する映像音声を再生することができる。
【００５９】
本発明は、ＭＰＥＧ２トランスポートストリームによって伝送される、暗号化された情報に対するアクセス制御に関する。ＭＰＥＧ２トランスポートストリームに含まれる情報の暗号化の形式をここで述べる。
【００６０】
一般に暗号化とは、あるデータを、暗号化アルゴリズムを利用して可逆変更し、元のデータの内容を隠蔽することである。暗号化されたデータは暗号解除アルゴリズムを利用することで元のデータに戻すことが可能である。放送では“鍵”と呼ばれるビット列を用いた暗号化・暗号解除アルゴリズムが用いられる。放送局は暗号化したいデータをある“暗号化鍵”を利用した暗号化アルゴリズムに従って可逆変更し、その“暗号化鍵”に対応する“暗号解除鍵”を暗号化されたデータと共に伝送する。放送受信装置は“暗号解除鍵”を利用した暗号解除アルゴリズムを利用して暗号化されたデータを復元し、元のデータを得る。本発明はこの暗号化・暗号解除アルゴリズム自身とは無関係であり、どのようなアルゴリズムが利用されたとしても本発明は適用可能である。
【００６１】
前述したように、ＭＰＥＧ２トランスポートストリームで伝送される情報はＰＥＳパケットまたはＭＰＥＧ２セクションの形式をとり、それが分割されてＴＳパケットで伝送される。この際、放送局で行われる暗号化処理はＰＥＳパケット及びＭＰＥＧ２セクション単位で行われ、暗号化されたＰＥＳパケット及び暗号化されたＭＰＥＧ２セクションが分割され、ＴＳパケットによって伝送される。例えば、ある映像・音声情報に対するアクセス制限を行う場合、その映像・音声情報を伝送するＰＥＳパケットに対して暗号化処理を行う。
【００６２】
図１３に暗号化されたＰＥＳパケットが伝送される状況を表す。ＰＥＳパケット１３０１は暗号化され、さらに、一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、ＰＥＳパケット分割Ａ１３０２ａ、ＰＥＳパケット分割Ｂ１３０２ｂ、ＰＥＳパケット分割Ｃ１３０２ｃに分割され、同一ＰＩＤを持つ三つのＴＳパケット１３０３〜１３０５によって伝送される。結果的に、ＴＳパケット１３０３〜１３０５のペイロード部分が暗号化された形となる。
【００６３】
図１４に暗号化されたＭＰＥＧ２セクションが伝送される状況を表す。ＭＰＥＧ２セクション１４０１は暗号化され、さらに、一つのＴＳパケット内のペイロードに格納して伝送するには大きいため、セクション分割Ａ１４０２ａ、セクション分割Ｂ１４０２ｂ、セクション分割Ｃ１４０２ｃに分割され、同一ＰＩＤを持つ三つのＴＳパケット１４０３〜１４０５によって伝送される。結果的に、ＴＳパケット１４０３〜１４０５のペイロード部分が暗号化された形となる。
【００６４】
放送受信装置は、暗号化された情報を利用するために、デスクランブラと呼ばれるデバイスを用いて暗号解除を行う。デスクランブラは一つで一本のＥＳに関する暗号解除を行うことが可能である。放送受信装置は、ＴＳパケットのＴＳパケットヘッダ構成５０４に保持されるｔｒａｎｓｐｏｒｔ＿ｓｃｒａｍｂｌｉｎｇ＿ｃｏｎｔｒｏｌに設定されている値を用いて、そのＴＳパケットがペイロードに含んで伝送するＰＥＳパケットまたはＭＰＥＧ２セクションが暗号化されているかどうかを知ることが可能である。もし暗号化されていたのであれば、それらペイロードにて伝送されるＰＥＳパケットまたはＭＰＥＧ２セクションはデスクランブラに伝送され、暗号解除が行われる。
【００６５】
放送受信装置が暗号解除を行うのに必要な情報は二種類ある。「暗号解除鍵などの暗号解除情報」及び「各契約者の契約情報」である。一般に、前者はＥＣＭ（Ｅｎｔｉｔｌｅｍｅｎｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ）、後者はＥＭＭ（Ｅｎｔｉｔｌｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｍｅｓｓａｇｅ）と呼ばれる形式で、ＭＰＥＧ２トランスポートストリームに含められて伝送される。ＥＣＭは暗号解除に必要な鍵を伝送し、それらはデスクランブラに設定されて暗号解除が行われる。ＥＭＭは各契約者の契約情報を伝送し、暗号解除処理対象である情報の暗号解除が契約上許されるかどうかを判定するのに用いられる。両方ともＰＥＳパケットまたはＭＰＥＧ２セクション形式で伝送されることが可能であり、どちらが用いられるか、及びどのように伝送されるかは、運用規定によって決定される。放送受信装置がＥＣＭ及びＥＭＭを取得するためには、それぞれを伝送するＴＳパケットのＰＩＤが必要となる。それを表現するために、ＭＰＥＧ２仕様ではＣＡ（Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ）記述子及びＣＡＴ（Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｔａｂｌｅ）を規定している。ＣＡ記述子はＥＣＭ及びＥＭＭを伝送するＴＳパケットのＰＩＤを保持する。ＣＡＴは暗号解除に関する情報を伝送するテーブルであり、それ自身ｔａｂｌｅ＿ｉｄが“１”のＭＰＥＧ２セクションとして構成され、ＰＩＤが“１”のＴＳパケットにより伝送される。ＣＡＴはＣＡ記述子を保持し、そのＣＡ記述子が保持するＰＩＤによって識別されるＴＳパケットはＥＭＭを伝送する。また、ＰＭＴもＣＡ記述子を保持することができ、ＰＭＴに存在するＣＡ記述子が保持するＰＩＤによって識別されるＴＳパケットはＥＣＭを伝送する。
【００６６】
ＥＭＭは契約情報を伝送しており、放送受信装置自体に関連する情報である。放送受信装置がＥＭＭを受信する場合、まずＰＩＤが“１”であるＴＳパケットよりｔａｂｌｅ＿ｉｄが“１”であるＣＡＴを取得し、ＣＡＴに記載されるＣＡ記述子より、ＥＭＭを伝送するＴＳパケットのＰＩＤを取得する。そのＰＩＤにより識別されるＴＳパケットよりＥＭＭを取得する。放送受信装置が暗号化された情報にアクセスする際、それが契約上可能であるかどうかを判断するのに用いられる。
【００６７】
ＥＣＭはアクセスしたい情報を暗号解除するための鍵を伝送しており、プログラムやＥＳに依存する情報である。放送受信装置が暗号化された情報にアクセスする場合、まずＰＡＴ及びＰＭＴを用いて暗号化された情報を伝送するＥＳを特定する。そのＥＳに関する情報が記載されるＰＭＴには、それにあわせて必ずＣＡ記述子が記載されている。そのＣＡ記述子に記載されるＰＩＤによって識別されるＴＳパケットはＥＣＭを伝送し、そのＥＳが伝送する情報を暗号解除するのに必要な暗号解除鍵を含む。ＥＣＭに記載される暗号解除鍵は、デスクランブラに設定され、暗号解除に用いられる。
【００６８】
暗号解除処理におけるＥＭＭ及びＥＣＭに関わる動作シーケンスを図１５に示す。まず放送受信装置は指定された識別子からＰＭＴを取得し、暗号解除すべきＥＳを特定する（Ｓ１５０１）。この識別子は基本的にプログラムあるいはＥＳを指定するものであるが、どのような識別子を用いるかは運用に依存して決定される。もっとも単純な例としてはプログラムナンバーやＥＳを構成するＴＳパケットのＰＩＤである。次にＥＭＭより契約情報を得る（Ｓ１５０２）。得られた契約情報より、Ｓ１５０１で特定したＥＳが伝送する情報が、契約上暗号解除可能であるかどうか判別する（Ｓ１５０３）。もし暗号解除可能であれば、ＥＣＭを取得し（Ｓ１５０４）、ＥＣＭに記載される暗号解除鍵をデスクランブラに設定し（Ｓ１５０５）、暗号解除を開始する（Ｓ１５０６）。
【００６９】
なお、ＭＰＥＧ２仕様はＥＣＭやＥＭＭの詳細や利用形態は規定しておらず、それらは各環境に合わせた運用規定によって決定される。具体的には、各環境において、ＥＣＭ及びＥＭＭの形態（ＰＥＳパケットかＭＰＥＧ２セクションか）、ＥＣＭ及びＥＭＭのフォーマット、ＥＣＭに記載される暗号解除鍵の長さや数、暗号解除鍵の更新間隔時間の長さ、ＥＭＭに記載される契約情報の内容、ＥＣＭ及びＥＭＭの送出間隔、などの情報はＭＰＥＧ２仕様が規定せず、運用にあわせて決定される。各環境において、ＥＣＭやＥＭＭは暗号解除に必要な情報を伝送しており、当然暗号解除に関わるが、本発明は“暗号解除を開始するタイミング”、及び“暗号解除する対象”を決定するアルゴリズムに関するものであり、実際の暗号解除処理に先立って行われる前処理に関するものである。本発明は暗号解除処理そのものとは関連性が薄く、本発明は、ＥＣＭやＥＭＭがどのように運用されようと適用可能である。図１５におけるシーケンスに関しても、本発明における暗号解除の開始には関わるが、図１５がどのように実現されるかとは関係がないため、図１５のシーケンスが実際にどのように実現されたとしても適用可能である。
【００７０】
ここまでＭＰＥＧ２仕様に関する簡単な説明を行ったが、ここで単語の詳細な定義を行う。本発明に関して、「プログラム」という単語が二種類存在する。一つはＭＰＥＧ２仕様に登場する「プログラム」であり、もう一つはＣＰＵが実行するコードの集合という意味での「プログラム」である。前者に関しては、運用規定で用いられる「サービス」という単語と同義であるため、混乱を避けるため、以降、前者を「サービス」と呼び、後者を単に「プログラム」と呼ぶ。さらに後者に関して、特にＪａｖａ(登録商標）言語で記述された「プログラム」を「Ｊａｖａプログラム」と呼ぶ。
【００７１】
以上、本発明に関わる、ＭＰＥＧ２仕様にて決定されるいくつかの情報に関して説明を行った。以降、本実施の形態の前提となるハードウェア構成に関して説明する。
デジタル放送受信装置の一般的なハードウェア構成を表すブロック図を図１６に示す。１６００は端末装置であり、チューナ１６０１、ＴＳデコーダ１６０２、ＡＶデコーダ１６０３、スピーカ１６０４、ディスプレイ１６０５、ＣＰＵ１６０６、２次記憶部１６０７、１次記憶部１６０８、ＲＯＭ１６０９、入力部１６１０で構成される。
【００７２】
チューナ１６０１はＣＰＵ１６０６が指定する周波数を含むチューニング情報に従って、放送局側システム１０１内で変調され伝送されてきた放送信号を復調するデバイスである。チューナ１６０１が復調して得られるＭＰＥＧ２トランスポートストリームはＴＳデコーダ１６０２に送信される。
【００７３】
ＴＳデコーダ１６０２は、ＣＰＵ１６０６が指定するＰＩＤ，セクション選別条件等の指定に基づいてＭＰＥＧ２トランスポートストリームから指定条件に合致するＰＥＳパケットやＭＰＥＧ２セクションを選別する機能を有するデバイスである。ＴＳデコーダ１６０２が選別したＰＥＳパケットはＡＶデコーダ１６０３に転送される。また、ＴＳデコーダ１６０２が選別したＭＰＥＧ２セクションは、１次記憶部１６０８にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送され、ＣＰＵ１６０６が実行するプログラムによって利用される。また、ＴＳデコーダ１６０２内にはデスクランブラが存在し、暗号化されたＰＥＳパケット及びＭＰＥＧ２セクションの暗号解除を行う。
【００７４】
ＡＶデコーダ１６０３はエンコードされた映像及び音声をデコードする機能を有するデバイスである。ＡＶデコーダ１６０３がデコードして得られたＡＶ信号は、スピーカ１６０４、ディスプレイ１６０５に送信される。なお、ＡＶデコーダ１６０３は必ずしも映像及び音声を同時にデコードできない場合もある。映像デコーダ、音声デコーダ単体として存在することもある。なお、ＡＶデコーダ１６０３は場合によってはサブタイトルデータに対するデコード機能を有する場合もある。また、ＡＶデコーダ１６０３は、暗号化されたＰＥＳパケットが伝送する映像・音声情報をデコードすることはできない。そのため、ＴＳデコーダ１６０２内のデスクランブラにてＰＥＳパケットの暗号解除が行われない場合は、ユーザはそのＰＥＳパケットが伝送する映像・音声を視聴することは不可能となる。
【００７５】
スピーカ１６０４、ディスプレイ１６０５はそれぞれＡＶデコーダ１６０３から送信された音声、映像を出力する機能を有するデバイスである。
ＣＰＵ１６０６は放送受信装置上で動作するプログラムを実行する。ＣＰＵ１６０６が実行するプログラムは、ＲＯＭ１６０９に含まれる場合、放送信号やネットワークよりダウンロードされ１次記憶部１６０８に保持されている場合、放送信号やネットワークよりダウンロードされ２次記憶部１６０７に保存されている場合などが存在する。実行するプログラムの指示に従い、チューナ１６０１、ＴＳデコーダ１６０２、ＡＶデコーダ１６０３、スピーカ１６０４、ディスプレイ１６０５、２次記憶部１６０７、１次記憶部１６０８、ＲＯＭ１６０９、入力部１６１０を制御する。
【００７６】
２次記憶部１６０７はＦＬＡＳＨ−ＲＯＭなどの不揮発性メモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ−ＲやＤＶＤ−Ｒなどの書き換え可能のメディアなど、端末装置１６００の電源断の際にも情報が消去されない機器によって構成され、ＣＰＵ１６０６の指示により情報の保存を行う。端末装置１６００の電源断によって消えては困るデータの保存に利用される。
【００７７】
１次記憶部１６０８はＲＡＭ等によって構成され、ＣＰＵ１６０６やＤＭＡ可能なデバイスの指示に従って情報を一時的に保存する機能を有するデバイスである。１次記憶部１６０８に保持された情報は、端末装置１６００の電源断によって消去される。
【００７８】
ＲＯＭ１６０９は、書き換え不可能なメモリーデバイスであり、具体的にはＲＯＭやＣＤ−ＲＯＭ、ＤＶＤなどで構成される。ＲＯＭ１６０９には、ＣＰＵ１６０６が実行するプログラムが格納されている。
【００７９】
入力部１６１０は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図１７は、フロントパネルで入力部１６１０を構成した場合の一例である。フロントパネル１７００は七つのボタン、上カーソルボタン１７０１、下カーソルボタン１７０２、左カーソルボタン１７０３、右カーソルボタン１７０４、ＯＫボタン１７０５、取消ボタン１７０６、ＥＰＧボタン１７０７を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、ＣＰＵ１６０６に通知される。
【００８０】
なお、図１６ではディスプレイ１６０５、スピーカ１６０４を放送受信装置内部に包含する形で表現するが、放送受信装置にはディスプレイ１６０５、スピーカ１６０４を内包せず、外部にＡＶ信号のみ出力するタイプのものも存在する。ディスプレイ１６０５及びスピーカ１６０４の存在場所は本発明と関連性がなく、どちらのタイプに対しても本発明は適用可能である。また図１６では、チューナ１６０１やＡＶデコーダ１６０３は端末装置１６００内に一つずつしか存在しないが、これらデバイスが複数存在するハードウェア構成もあり、その場合においても本発明は適用可能である。
【００８１】
図１６に表されるハードウェア構成において、デスクランブラは端末装置１６００のＴＳデコーダ１６０２に出荷時にデフォルトで内包されている。しかし、端末装置と、デスクランブラを含む外部アダプタを接続し、外部アダプタ内のデスクランブラを利用して暗号解除を行うハードウェア構成をとる端末装置が存在する。このようなハードウェア構成例として図１８を表す。１８００は端末装置であり、チューナ１８０１、ＴＳデコーダ１８０２、ＡＶデコーダ１６０３、スピーカ１６０４、ディスプレイ１６０５、ＣＰＵ１８０６、２次記憶部１６０７、１次記憶部１６０８、ＲＯＭ１６０９、入力部１６１０で構成される。端末装置１８００に搭載される、図１６と同じ番号で識別されるデバイスは図１６の場合と同じ機能を有するため、説明を省略する。端末装置１８００にはアダプタ１８１１が付与される。
【００８２】
アダプタ１８１１はデスクランブラを搭載する。図１８のハードウェア構成例に登場するアダプタ１８１１にはＭＰＥＧ２トランスポートストリームを入力とし、入力されたＭＰＥＧ２トランスポートストリームに含まれるＴＳパケットに関して、ＣＰＵ１８０６が指定したＰＩＤを持つＴＳパケットが伝送するＰＥＳパケットあるいはＭＰＥＧ２セクションに対して暗号解除を行う1以上のデスクランブラを保持する。アダプタ１８１１が保持するデスクランブラを動作させるためにはアダプタ１８１１に対してチューナ１８０１が復調したＭＰＥＧ２トランスポートストリームを入力する必要がある。そのため、チューナ１８０１は復調したＭＰＥＧ２トランスポートストリームをアダプタ１８１１に入力する。アダプタ１８１１は、入力されたＭＰＥＧ２トランスポートストリーム内の、ＣＰＵ１８０６が指定したＴＳパケットが伝送するＰＥＳパケットあるいはＭＰＥＧ２セクションに対する暗号解除を終えた後、ＭＰＥＧ２トランスポートストリームをＴＳデコーダ１８０２に送信する。ＴＳデコーダ１８０２は、図１６におけるＴＳデコーダ１６０２がチューナ１６０１から入力されるＭＰＥＧ２トランスポートストリームに対して処理を行うことができるのと同様、アダプタ１８１１から入力されたＭＰＥＧ２トランスポートストリームに対して処理を行うことが可能である。ＣＰＵ１８０６は端末装置１８００内に存在するデバイスだけでなく、アダプタ１８１１内のデバイスと通信あるいは制御することが可能である。
【００８３】
なお、アダプタ１８１１はカード型のデバイスとして実現されて端末装置１８００のカード接続端子と接続されて利用されたり、ボックス型のデバイスとして実現されて端末装置１８００のＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子やＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１３９４端子などの接続端子と接続されて利用されたり等、様々な形態で実現されるが、本発明はそのようなアダプタ１８１１のデバイス形態や、端末装置との接続方法に依存せずに適用可能である。また、端末装置１８００が同時に物理的に接続することが可能なアダプタの数にも依存しないため、複数のアダプタ１８１１と物理的に接続可能であっても適用可能である。また、図１８のハードウェア構成例では、チューナ１８０１からアダプタ１８１１に対して直接ＭＰＥＧ２トランスポートストリームが入力される構成をとるが、チューナ１８０１から出力されたＭＰＥＧ２トランスポートストリームが一度ＴＳデコーダ１８０２を経由し、その後アダプタ１８１１に入力されるハードウェア構成も考えられる。この場合、ＴＳデコーダ１８０２は、ＭＰＥＧ２トランスポートストリームをアダプタ１８１１に対して中継する機能を保持し、その機能を利用してチューナ１８０１から入力されるＭＰＥＧ２トランスポートストリームをアダプタ１８１１に対して出力する。また、図１８のハードウェア構成例にはチューナ１８０１やＡＶデコーダ１６０３が一つずつしか存在しないが、これらが複数存在するハードウェア構成も存在することがあり、その場合においても本発明は適用可能である。
【００８４】
アダプタの第一例として、欧州で利用されるＤＶＢ−ＣＩ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｆａｃｅ）カードについて説明する。ＤＶＢ−ＣＩの仕様については“ＥＴＳＩ  ＥＮ５０２２１”に示される。ここではＤＶＢ−ＣＩ仕様について簡単に説明する。ＤＶＢ−ＣＩ仕様は端末装置にアダプタを付与するためのインタフェース仕様であり、端末装置とアダプタを、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）インタフェースを用いて接続する。ＤＶＢ−ＣＩカードは内部にデスクランブラを内包し、図１８におけるハードウェア構成例と同様の構成下において利用される。図１６におけるハードウェア構成例では、図１５のシーケンスをすべて端末装置１６００が行う必要があるが、ＤＶＢ−ＣＩでは、図１５のシーケンスはＤＶＢ−ＣＩカードに搭載されるＣＰＵが行う。端末装置１８００内のＣＰＵ１８０６は、ＤＶＢ−ＣＩカードに対して、ＣＡ記述子が記述されたＰＭＴ（ＣＡ−ＰＭＴ）をバイナリで送信することで、ＤＶＢ−ＣＩがＥＭＭやＥＣＭの操作を行って、自動的に暗号解除を開始する。
【００８５】
アダプタの第二例として、米国ケーブルシステムで利用されるＰＯＤ（Ｐｏｉｎｔ  Ｏｆ  Ｄｅｐｌｏｙｍｅｎｔ）について説明する。ＰＯＤの仕様は、“ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ”仕様に示される。ここでは簡単にＰＯＤについて説明する。ＰＯＤもＤＶＢ−ＣＩ同様カード型の形態をとり、端末装置とＰＣＭＣＩＡインタフェースを用いて接続される。図１９はＰＯＤ１９１１が付与された端末装置のハードウェア構成を表す。端末装置１９００内に存在するデバイスで、図１６あるいは図１８と同じ番号で識別されるデバイスは、図１６あるいは図１８の場合と同様の機能を持つ。ＰＯＤ１９１１はデスクランブラを搭載しており、図１８におけるアダプタ１８１１と同様に、チューナ１９０１からＭＰＥＧ２トランスポートストリームを入力され、ＴＳデコーダ１９０２に対して、暗号解除処理済みのＭＰＥＧ２トランスポートストリームを出力する。また、米国ケーブルシステムでは、図２、図３で表されるように、ＯＯＢと言われる周波数帯域を用いて、様々な情報が上り及び下り方向に伝送されている。このとき、放送局側システム１０１が端末装置に対して送出する情報の形式と、端末装置１９００が解釈可能な情報の形式は異なるため、そのままでは情報のやりとりが不可能となる。ＰＯＤ１９１１はこれらＯＯＢで伝送される上り、下りの情報の形式変換を行うデバイスを備えている。ＯＯＢで伝送される情報はＱＰＳＫ変調方式で変調される。本変調方式は公知の技術であり、詳細な説明は省略する。端末装置はＱＰＳＫ復調器１９１２とＱＰＳＫ変調器１９１３を備える。ＣＰＵ１９０６は端末装置１９００内のデバイスだけでなく、ＰＯＤ１９１１内のデバイスを制御可能である。
【００８６】
下り方向の端末装置１９００の情報受信に関し、まずＱＰＳＫ復調器１９１２はＯＯＢで放送局側システム１０１から送信されてくる下りの信号を復調し、生成されたビットストリームをＰＯＤ１９１１に入力する。ＰＯＤ１９１１はビットストリームが含む様々な情報の中から、ＣＰＵ１９０６が指定する情報を抽出して、ＣＰＵ１９０６上で動作するプログラムが解釈可能な形式に変換して、ＣＰＵ１９０６に提供する。
【００８７】
上り方向の端末装置１９００の情報送信に関し、まずＣＰＵ１９０６が放送局側システム１０１に対して送信したい情報を、ＰＯＤ１９１１に送信する。ＰＯＤ１９１１はＣＰＵ１９０６から入力された情報を放送局側システム１０１が解釈可能な形式に変換し、ＱＰＳＫ変調器１９１３に送信する。ＱＰＳＫ変調器１９１３はＰＯＤ１９１１から入力された情報をＱＰＳＫ変調し、放送局側システム１０１に送信する。
【００８８】
なお、ＰＯＤ１９１１もＤＶＢ−ＣＩ同様にＣＰＵを搭載しており、図１５のシーケンスをＰＯＤ１９１１内のＣＰＵが実行する。端末装置１９００内のＣＰＵ１９０６は、ＰＯＤ１９１１に対して、ＣＡ記述子が記述されたＰＭＴ（ＣＡ−ＰＭＴ）をバイナリで送信することで、ＰＯＤ１９１１がＥＭＭやＥＣＭに関する操作を行って、自動的に暗号解除を開始する。また、ＰＯＤ１９１１が利用される環境では、ＥＭＭやＥＣＭはＩｎ−Ｂａｎｄで伝送されることもあれば、ＯＯＢで伝送されることもあるが、ＥＭＭやＥＣＭの取得手法は本発明と無関係であり、それがどのように伝送されても本発明は適用可能である。また、図１８同様、図１９に関しても、チューナ１９０１からＰＯＤ１９１１に対して直接ＭＰＥＧ２トランスポートストリームが入力される構成となっているが、一度ＴＳデコーダ１９０２を経由してＰＯＤ１９１１に入力される構成となっていてもよい。この場合、ＴＳデコーダ１９０２はチューナ１９０１から入力されるＭＰＥＧ２トランスポートストリームをＰＯＤ１９１１に中継する機能を持つ。また、端末装置１９００はチューナ、ＡＶデコーダ等の各デバイスを一つずつしか保持しないが、本発明は各デバイスの数には依存しないため、それぞれが複数あろうと適用可能である。但し、チューナが複数存在して、それぞれが受信するＭＰＥＧ２トランスポートストリームをＰＯＤ１９１１内のデスクランブラを用いて暗号解除するのであれば、ＰＯＤ１９１１は複数のＭＰＥＧ２トランスポートストリームの入力を許す構成をとる必要があり、さらに端末装置１９００はＰＯＤ１９１１に複数のＭＰＥＧ２トランスポートストリームを入力し、ＰＯＤ１９１１から複数のＭＰＥＧ２トランスポートストリームを受け取る機能を持つ必要がある。
【００８９】
ここで、端末装置１６００内部にデスクランブラが存在する場合と、外部のアダプタ内にデスクランブラが存在する場合に関する暗号解除処理の違いについて簡単に説明する。
図１６に表されるハードウェア構成では、端末装置１６００内にデスクランブラが存在する。暗号解除を行うためにはデスクランブラに対して暗号解除鍵及びＰＩＤを指定する必要がある。そのため、このようなハードウェア構成では、端末装置１６００自身がＥＣＭを取得し、さらにそこから暗号解除鍵を取得してデスクランブラにそれら値を設定する。
【００９０】
図１８に表されるハードウェア構成では、端末装置１８００の外にデスクランブラが存在する。前述したように、その代表例としてＤＶＢ−ＣＩ及びＰＯＤがある。外部アダプタ１８１１のように端末装置１８００の外にデスクランブラが存在する場合、端末装置１８００は、暗号解除開始及び停止すべきＥＳの情報を外部アダプタ１８１１に伝える必要がある。ＤＶＢ−ＣＩ及びＰＯＤの場合、そのためにＣＡ−ＰＭＴと呼ばれるメッセージを用いる。ＣＡ−ＰＭＴはＰＭＴと同様の形態をとり内部にＥＳの情報を包含する。ＣＡ−ＰＭＴはＰＭＴから“暗号解除に関する情報以外の情報”を削除し、さらに暗号解除を開始するか停止するかを表す暗号解除制御フラグを付与したものである。ＤＶＢ−ＣＩ及びＰＯＤは、暗号解除制御フラグが“開始”であるＣＡ−ＰＭＴを端末装置１８００より受信すると、そのＣＡ−ＰＭＴに記載されているＥＳの暗号解除を開始する。ＤＶＢ−ＣＩ及びＰＯＤは内部にデスクランブラのみならず、ＣＰＵ、暗号解除プログラムが記録されたＲＯＭ、１次記憶、ＥＭＭ・ＥＣＭを取得するデバイスを保持しており、ＥＭＭ及びＥＣＭの取得、ＥＭＭ情報に基づいた契約上の判断や、ＥＣＭに記載される暗号解除鍵のデスクランブラへの設定、ＰＩＤのデスクランブラへの設定といった操作はＤＶＢ−ＣＩ及びＰＯＤ上のプログラムが行う。また、ＤＶＢ−ＣＩ及びＰＯＤは、暗号解除制御フラグが“停止”であるＣＡ−ＰＭＴを端末装置１８００より受信すると、そのＣＡ−ＰＭＴに記載されているＥＳの暗号解除を停止する。端末装置１８００はＣＡ−ＰＭＴを構成してＤＶＢ−ＣＩやＰＯＤに対して投げることでＤＶＢ−ＣＩ及びＰＯＤに対して暗号解除の開始・停止指示やＥＳに関する情報を通知することができ、暗号解除の制御を行うことが可能となる。
【００９１】
図１６〜図１９に登場する各デバイスを利用して、放送受信装置は、放送信号に含まれて伝送される映像・音声を画面に出力する機能や、放送信号が含む番組編成情報などのデータを抽出し、ユーザに提示する機能を実現する。図２０に、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。２０００は端末装置であり、チューナ２００１、ＰＩＤフィルタ２００２、セクションフィルタ２００３、デスクランブラ２００４、ＡＶデコーダ２００５、ディスプレイ／スピーカ２００６、１次記憶部２００７を有する。図２０に登場するデバイスは図１６に登場するデバイスと１対１または１対多で対応する。
【００９２】
チューナ２００１はチューナ１６０１と対応し、放送信号を入力とし、ＭＰＥＧ２トランスポートストリームを出力する。
ＴＳデコーダ１６０２内にはＭＰＥＧ２トランスポートストリームに対して処理を行う３種類のデバイス、ＰＩＤフィルタ２００２、セクションフィルタ２００３、デスクランブラ２００４が存在する。これらの機能についてここで詳述する。
【００９３】
ＰＩＤフィルタ２００２は、入力されたＭＰＥＧ２トランスポートストリームから、ＣＰＵ１６０６が指定したＰＩＤを持つＴＳパケットを抽出し、さらにそのペイロードに存在するＰＥＳパケットやＭＰＥＧ２セクションを抽出する。例えば図７に表される状況でＰＥＳパケット７０１を抽出する場合を例にとる。まずＣＰＵ１６０６はＰＩＤフィルタ２００２にＰＩＤ１００を設定し、ＰＥＳパケットを抽出するように要求を出す。するとＰＩＤフィルタ２００２は、ＭＰＥＧ２トランスポートストリーム中を流れるＴＳパケットの中からＰＩＤが１００であるＴＳパケット７０３〜７０５を抽出し、さらに抽出されたＴＳパケット７０３〜７０５のペイロードに含まれるＰＥＳパケット分割Ａ７０２ａ、ＰＥＳパケット分割Ｂ７０２ｂ、ＰＥＳパケット分割Ｃ７０２ｃを取り出して連結し、ＰＥＳパケット７０１を構成する。ＰＩＤフィルタ２００２は、ＴＳデコーダ１６０２内に一つ以上存在する。
【００９４】
デスクランブラ２００４はＰＩＤフィルタ２００２が出力するＰＥＳパケット、ＭＰＥＧ２セクションに対して暗号解除を行う。ＰＥＳパケット及びＭＰＥＧ２セクションは暗号化された場合も図７及び図８同様に分割されて伝送される。デスクランブラ２００４は、ＣＰＵ１６０６のＰＩＤ指定により、暗号化されたＰＥＳパケット及びＭＰＥＧ２セクションを伝送するＴＳパケットを特定することができ、その上でＣＰＵ１６０６が指定する暗号解除鍵を用いて暗号解除処理を行う。デスクランブラ２００４は、暗号解除処理済みのＰＥＳパケットをＡＶデコーダ２００５へ、暗号解除処理済みのＭＰＥＧ２セクションをセクションフィルタ２００３へそれぞれ出力する。暗号解除は暗号化されたＰＥＳパケット及びＭＰＥＧ２セクションにのみ適用される処理であり、デスクランブラ２００４はＣＰＵ１６０６の指示により、必要な場合のみＰＩＤフィルタ２００２からＰＥＳパケット及びＭＰＥＧ２セクションを入力され、暗号解除処理を行う。スクランブルされていないＰＥＳパケット及びＭＰＥＧ２セクションについては、ＰＩＤフィルタ２００２から直接ＡＶデコーダ２００５及びセクションフィルタ２００３にそれぞれ出力される。デスクランブラ２００４はＴＳデコーダ１６０２内に一つ以上存在する。
【００９５】
セクションフィルタ２００３は、入力されたＭＰＥＧ２セクションの中から、ＣＰＵ１６０６が指定するセクションフィルタ条件に合致するＭＰＥＧ２セクションを抽出し、１次記憶部２００７にＤＭＡ転送する。１次記憶部２００７に保持されたＭＰＥＧ２セクションはＣＰＵ１６０６によって読み出され、利用される。例えば、図１０においてチューニング情報を保持するＭＰＥＧ２セクションを取得する場合を例にとる。ＣＰＵ１６０６はまずＰＩＤフィルタ２００２にＰＩＤ１６を設定し、セクションを取得するように要求を出す。ＰＩＤフィルタ２００２はＰＩＤが１６であるＴＳパケットからセクションを抽出し、セクションフィルタ２００３に提供する。次にＣＰＵ１６０６はｔａｂｌｅ＿ｉｄが６４であるセクションを抽出するようにセクションフィルタ２００３に対して要求する。セクションフィルタ２００３はＰＩＤフィルタ２００２によって入力されるＭＰＥＧ２セクションの中からｔａｂｌｅ＿ｉｄが６４であるセクションを抽出し、１次記憶部２００７にＤＭＡ転送する。セクションフィルタ２００３はＴＳデコーダ１６０２内に一つ以上存在する。
【００９６】
ＡＶデコーダ２００５は、ＡＶデコーダ１６０３と対応し、ＰＥＳパケットを入力、ＡＶ信号をディスプレイ／スピーカ２００６に出力する。ディスプレイ／スピーカ２００６はディスプレイ１６０５及びスピーカ１６０４に対応し、ＡＶ信号を入力とし、ディスプレイ１６０５に映像を、スピーカ１６０４に音声を出力する。
【００９７】
１次記憶部２００７は１次記憶部１６０８と対応し、ＭＰＥＧ２セクションを入力とし、ＣＰＵ１６０６が実行するプログラムに対してその内容の参照を可能とする。
図２０の表現を用いて、映像及び音声をそれぞれディスプレイ及びスピーカに出力する手続きを例示する。放送受信装置に入力された放送信号は、まず、チューナ２００１によってＭＰＥＧ２トランスポートストリームに復調される。次にＰＩＤフィルタ２００２によって、ＣＰＵ１６０６が指定したＰＩＤを持つＴＳパケットが伝送する、映像及び音声情報を内包するＰＥＳパケットが抽出される。必要であればＰＥＳパケットはデスクランブラ２００４に送信され、暗号解除処理が施される。その後、ＰＥＳパケットはＡＶデコーダ２００５に入力され、デコードされてＡＶ信号が出力される。その後、ＡＶ信号はディスプレイ及びスピーカ２００６に入力され、映像及び音声の再生を行うことができる。
【００９８】
図２０の表現を用いて、番組編成情報等のデータを放送信号から抽出するための手続きを例示する。放送受信装置に入力された放送信号は、まず、チューナ２００１によってＭＰＥＧ２トランスポートストリームに復調される。次にＰＩＤフィルタ２００２によって、ＣＰＵ１６０６が指定したＰＩＤを持つＴＳパケットが伝送する、データを内包するＭＰＥＧ２セクションが抽出される。必要であればＭＰＥＧ２セクションはデスクランブラ２００４に送信され暗号解除処理が施される。さらに、ＭＰＥＧ２セクションはセクションフィルタ２００３に入力され、ＣＰＵ１６０６が指定したセクションフィルタ条件に合致するＭＰＥＧ２セクションのみが出力される。その後、ＭＰＥＧ２セクションは、１次記憶部２００７に入力され、ＣＰＵ１６０６に提供される。
【００９９】
なお図２０も図１６同様、自身がディスプレイ／スピーカ２００６を有する放送受信装置として概念図化されているが、ディスプレイ／スピーカ２００６は放送受信装置が内包せず、外部に存在するタイプもある。どちらのタイプに対しても本発明は適用可能である。また、図２０が表す概念図では、デスクランブラ２００４はＴＳデコーダ１６０２内に存在するが、ハードウェア構成によっては、ＴＳデコーダ外部に存在することもある。その場合でも本発明は適用可能である。
【０１００】
次に図１８に表される、アダプタが物理的に接続されるハードウェア構成に対応する、概念図を図２１に示す。２１００は端末装置であり、チューナ２１０１、ＰＩＤフィルタ２１０２，セクションフィルタ２００３、ＡＶデコーダ２００５、ディスプレイ／スピーカ２００６、１次記憶部２００７が存在する。さらに、アダプタ１８１１が存在し、デスクランブラ２１０４が存在する。図２０の場合と同一の番号で識別されるデバイスは、図２０の場合と同等の機能を有するため、説明を省略する。図２０における端末と異なるのはデスクランブラの接続箇所と機能である。図２０においては、デスクランブラ２００４はＴＳデコーダ１６０２内に存在し、ＣＰＵ１６０６が指定する暗号解除鍵を用いて、ＰＩＤフィルタ２００２が出力するＰＥＳパケット及びＭＰＥＧ２セクションの暗号解除を行う。それに対し、図２１においては、デスクランブラ２１０４はチューナ２１０１と接続され、チューナ２１０１が復調したＭＰＥＧ２トランスポートストリームが入力される。デスクランブラ２１０４はＣＰＵ１８０６が指定するＰＩＤをもつＴＳパケットを抽出し、自身でＭＰＥＧ２トランスポートストリーム中より暗号解除に必要な鍵を抽出し、暗号解除を行う。デスクランブラ２１０４が暗号解除処理を行ったＭＰＥＧ２トランスポートストリームはＴＳデコーダ１８０２に入力され、それ以降は図２０と同様に処理が流れる。ＰＩＤフィルタ２１０２は、デスクランブラ２１０４から入力されたＭＰＥＧ２トランスポートストリームに対して、ＴＳパケットの抽出及びＰＥＳパケット、ＭＰＥＧ２セクションの構成が可能である。
【０１０１】
図１９に表すＰＯＤが存在するハードウェア構成に関してはＩｎ−Ｂａｎｄにて伝送される信号の処理に関しては図２１に表されるのと同様であるため、説明は省略する。
ここまでは、本発明に関するハードウェアの構成例に関して述べたが、以降、端末装置上でのプログラム動作手続きについて述べる。図２２は、ＲＯＭ１６０９に記憶され、ＣＰＵ１６０６に実行されるプログラムの構成図の一例である。
【０１０２】
プログラム２２００は、複数のサブプログラムで構成され、具体的にはＯＳ２２０１、ＥＰＧ２２０２、ＪａｖａＶＭ２２０３、サービスマネージャ２２０４、Ｊａｖａライブラリ２２０５で構成される。
【０１０３】
ＯＳ２２０１は、端末装置１６００の電源が投入されると、ＣＰＵ１６０６が起動するサブプログラムである。ＯＳ２２０１は、オペレーティングシステムの略であり、Ｌｉｎｕｘ、Ｗｉｎｄｏｗｓ（登録商標）等が一例である。ＯＳ２２０１は、他のサブプログラムを並行して実行するカーネル２２０１ａ及びライブラリ２２０１ｂで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、ＯＳ２２０１のカーネル２２０１ａは、ＥＰＧ２２０２とＪａｖａＶＭ２２０３をサブプログラムとして実行する。また、ライブラリ２２０１ｂは、これらサブプログラムに対して、端末装置１６００が保持する構成要素を制御するための複数の機能を提供する。
【０１０４】
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをチューナ１６０１に引き渡す。チューナ１６０１は与えられたチューニング情報に基づき復調処理を行い、復調したＭＰＥＧ２トランスポートストリームをＴＳデコーダ１６０２に引き渡すことができる。この結果、他のサブプログラムはライブラリ２２０１ｂを通してチューナ１６０１を制御することができる。
【０１０５】
ＥＰＧ２２０２は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部２２０２ａと、チャンネル選局を行う再生部２２０２ｂで構成される。ここで、ＥＰＧはＥｌｅｃｔｒｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅの略である。ＥＰＧ２２０２は、端末装置１６００の電源が投入されると、カーネル２２０１ａによって起動される、起動されたＥＰＧ２２０２の内部では、番組表示部２２０２ａが端末装置１６００の入力部１６１０を通して、ユーザーからの入力を待つ。ここで、入力部１６１０が図１７で示されるフロントパネルで構成されている場合、ユーザーが、入力部１６１０のＥＰＧボタン１７０７を押下すると、ＥＰＧボタンの識別子がＣＰＵ１６０６に通知される。ＣＰＵ１６０６上で動作するサブプログラムであるＥＰＧ２２０２の番組表示部２２０２ａは、この識別子を受け取り、番組情報をディスプレイ１６０５に表示する。図２３（１）及び（２）は、ディスプレイ１６０５に表示された番組表の一例である。図２３（１）を参照して、ディスプレイ１６０５には、格子状に番組情報が表示されている。列２３０１には、時刻情報が表示されている。列２３０２には、チャンネル名「チャンネル１」と、列２３０１の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル１」では、９：００〜１０：３０に番組「ニュース９」が放映され、１０：３０〜１２：００は「映画ＡＡＡ」が放映されることを表す。列２３０３も列２３０２同様、チャンネル名「チャンネル２」と、列２３０１の時刻に対応する時間帯に放映される番組が表示されている。９：００〜１１：００に番組「映画ＢＢＢ」が放映され、１１：００〜１２：００は「ニュース１１」が放映される。２３３０は、カーソルである。カーソル２３３０は、フロントパネル１７００の左カーソル１７０３と右カーソル１７０４を押下すると移動する。図２３（１）の状態で、右カーソル１７０４を押下すると、カーソル２３３０は右に移動し、図２３（２）のようになる。また、図２３（２）の状態で、左カーソル１７０３を押下すると、カーソル２３３０は左に移動し、図２３（１）のようになる。
【０１０６】
図２３（１）の状態で、フロントパネル１７００のＯＫボタン１７０５が押下されると、番組表示部２２０２ａは、「チャンネル１」の識別子を再生部２２０２ｂに通知する。図２３（２）の状態で、フロントパネル１７００のＯＫボタン１７０５が押下されると、番組表示部２２０２ａは、「チャンネル２」の識別子を再生部２２０２ｂに通知する。
【０１０７】
また、番組表示部２２０２ａは、表示する番組情報を、放送局側システム１０１から定期的に、１次記憶部１６０８または２次記憶部１６０７に記憶しておく。一般的に、放送局側システムからの番組情報の取得は時間が掛かる。入力部１６１０のＥＰＧボタン１７０７が押下された時、１次記憶部１６０８または２次記憶部１６０７に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
【０１０８】
再生部２２０２ｂは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、２次記憶部１６０７に予め格納されている。図２４は２次記憶部１６０７に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列２４０１は、チャンネルの識別子である。列２４０２は、チャンネル名である。列２４０３はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、チューナ１６０１に与える値である。列２４０４はプログラムナンバーである。行２４１１〜２４１４の各行は、各チャンネルの識別子、チャンネル名、チューニング情報、プログラムナンバーの組となる。行２４１１は識別子が「１」、チャンネル名が「チャンネル１」、チューニング情報に周波数「１５０ＭＨｚ」、プログラムナンバーが「１０１」を含む組となっている。再生部２２０２ｂは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
【０１０９】
また、再生部２２０２ｂは、再生中に、ユーザーがフロントパネル１７００の上カーソル１７０１と下カーソル１７０２を押下すると、入力部１６１０からＣＰＵ１６０６を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部２２０２ｂは、１次記憶部１６０８に現在再生中のチャンネルの識別子を記憶する。図２５（１）（２）及び（３）は、１次記憶部１６０８に保存しているチャンネルの識別子の例である。図２５（１）では識別子「３」が記憶されており、図２４を参照し、チャンネル名「ＴＶ  ３」のチャンネルが再生中であることを示す。図２５（１）の状態で、ユーザーが上カーソル１７０１を押下すると再生部２２０２ｂは、図２４のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル２」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル２」の識別子「２」を引き渡す。同時に、１次記憶部１６０８に記憶されているチャンネル識別子「２」に書き換える。図２５（２）は、チャンネル識別子が書き換えられた状態を表す。また、図２５（１）の状態で、ユーザーが下カーソル１７０２を押下すると再生部２２０２ｂは、図２４のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「ＴＶ  Ｊａｐａｎ」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「ＴＶ  Ｊａｐａｎ」の識別子「４」を引き渡す。同時に、１次記憶部１６０８に記憶されているチャンネル識別子「４」に書き換える。図２５（３）は、チャンネル識別子が書き換えられた状態を表す。
【０１１０】
ＪａｖａＶＭ２２０３は、Ｊａｖａ（ＴＭ）言語で記述されたプログラムを逐次解析し実行するＪａｖａバーチャルマシンである。Ｊａｖａ言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Ｊａｖａバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のＪａｖａバーチャルマシンは、バイトコードをＣＰＵ１６０６が理解可能な実行形式に翻訳してから、ＣＰＵ１６０６に引渡し、実行することも行う。ＪａｖａＶＭ２２０３は、カーネル２２０１ａに実行するＪａｖａプログラムを指定され起動される。本実施の形態では、カーネル２２０１ａは、実行するＪａｖａプログラムとしてサービスマネージャ２２０４を指定する。Ｊａｖａ言語の詳細は、書籍「Ｊａｖａ  Ｌａｎｇｕａｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１−１）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、ＪａｖａＶＭ自体の詳細な動作などは、「Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＩＳＢＮ  ０−２０１−６３４５１―Ｘ）」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１１１】
サービスマネージャ２２０４は、Ｊａｖａ言語で書かれたＪａｖａプログラムであり、ＪａｖａＶＭ２２０３によって逐次実行される。サービスマネージャ２２０４は、ＪＮＩ（Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ）を通して、Ｊａｖａ言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。ＪＮＩに関しても、書籍「Ｊａｖａ  Ｎａｔｉｖｅ  Ｉｎｔｅｒｆａｃｅ」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
【０１１２】
サービスマネージャ２２０４は、ＪＮＩを通して、再生部２２０２ｂよりチャンネルの識別子を受け取る。
サービスマネージャ２２０４は、最初にＪａｖａライブラリ２２０５の中にあるＴｕｎｅｒ２２０５ｃに、チャンネルの識別子を引き渡し、チューニングを依頼する。Ｔｕｎｅｒ２２０５ｃは、２次記憶部１６０７が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ２２０４がチャンネルの識別子「１」をＴｕｎｅｒ２２０５ｃに引き渡すと、Ｔｕｎｅｒ２２０５ｃは、図２４の行２４１２を参照して、対応するチューニング情報「１５０ＭＨｚ」を獲得する。Ｔｕｎｅｒ２２０５ｃは、ＯＳ２２０１のライブラリ２２０１ｂを通してチューナ１６０１にチューニング情報を引き渡す。チューナ１６０１は与えられたチューニング情報に従って放送局側システム１０１から送信されてきた信号を復調し、ＴＳデコーダ１６０２に引き渡す。
【０１１３】
次にサービスマネージャ２２０４は、ＣＡライブラリ２２０６に暗号解除を依頼する。ＣＡライブラリ２２０６は、ＯＳ２２０１のライブラリ２２０１ｂを通して暗号解除に必要な情報をＴＳデコーダ１６０２内のデスクランブラ２００４に与える。これに関する詳細は後述する。
【０１１４】
次にサービスマネージャ２２０４は、Ｊａｖａライブラリ２２０５の中にあるＪＭＦ２２０５ａにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にＪＭＦ２２０５ａは、再生すべき映像と音声を特定するためのＰＩＤをＰＡＴ、ＰＭＴから取得する。ＪＭＦ２２０５ａは、ＰＡＴを取得するため、ＯＳ２２０１のライブラリ２２０１ｂを通して、ＴＳデコーダ１６０２にＰＩＤ「０」とＣＰＵ１６０６を指定する。ＴＳデコーダ１６０２がＰＩＤ「０」及びｔａｂｌｅ＿ｉｄ「０」でフィルタリングを行い、１次記憶部１６０８を通してＣＰＵ１６０６に引き渡すことで、ＪＭＦ２２０５ａは、ＰＡＴを収集する。ここで、ＰＡＴの例として図１２を挙げる。今、ＪＭＦ２２０５ａに与えられたチャンネルの識別子が「１」とすると、ＪＭＦ２２０５ａは、図２４の行２４１１を参照して、対応するプログラムナンバー「１０１」を獲得し、次に、図１２のＰＡＴの行１２１１を参照し、プログラムナンバー「１０１」に対応するＰＩＤ「５０１」を獲得する。ＪＭＦ２２０５ａは、ＰＭＴを取得するため、ＯＳ２２０１のライブラリ２２０１ｂを通して、ＴＳデコーダ１６０２にＰＡＴより取得したＰＩＤとｔａｂｌｅ＿ｉｄ「２」を指定する。ここで、指定するＰＩＤは「５０１」とする。ＴＳデコーダ１６０２がＰＩＤ「５０１」及びｔａｂｌｅ＿ｉｄ「２」でフィルタリングを行い、１次記憶部１６０８を通してＣＰＵ１６０６に引き渡すことで、ＪＭＦ２２０５ａはＰＭＴを収集する。ここでＰＭＴの例として図１１を挙げる。ＪＭＦ２２０５ａは、ＰＭＴから再生する映像と音声のＰＩＤを獲得する。図１１を参照して、ＪＭＦ２２０５ａは、行１１１１から音声のＰＩＤ「５０１１」を、行１１１２から映像のＰＩＤ「５０１２」を獲得する。
【０１１５】
次に、ＪＭＦ２２０５ａは、ＯＳ２２０１のライブラリ２２０１ｂを通して、獲得した映像／音声のＰＩＤと出力先としてＡＶデコーダ１６０３を、ＴＳデコーダ１６０２に与える。ＴＳデコーダ１６０２は与えられたＰＩＤに基づいて、フィルタリングを行う。ここではＰＩＤ「５０１１」「５０１２」のＴＳパケットをＡＶデコーダ１６０３に引き渡す。ＡＶデコーダ１６０３は、与えられたＰＥＳパケットのデコードを行いディスプレイ１６０５、スピーカ１６０４を通して映像／音声を再生する。
【０１１６】
最後にサービスマネージャ２２０４は、Ｊａｖａライブラリ２２０５の中にあるＡＭ２２０５ｂにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、ＭＰＥＧ２トランスポートストリームに含まれるＪａｖａプログラムを抽出し、ＪａｖａＶＭ２２０３に実行させることである。ＭＰＥＧ２トランスポートストリームにＪａｖａプログラムを埋め込む方法は、ＭＰＥＧ規格書  ＩＳＯ／ＩＥＣ１３８１８−６に記述されたＤＳＭＣＣという方式を用いる。ここではＤＳＭＣＣの詳細な説明は省略する。ＤＳＭＣＣ方式は、ＭＰＥＧ２トランスポートストリームのＴＳパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをＭＰＥＧ２セクションを用いてエンコードする方法を規定している。また、実行するＪａｖａプログラムの情報はＡＩＴと呼ばれる形式で、ＭＰＥＧ２トランスポートストリームのＴＳパケットの中に埋め込まれ、ｔａｂｌｅ＿ｉｄが「０ｘ７４」であるＭＰＥＧ２セクションとして送信されている。ＡＩＴは、ＤＶＢ−ＭＨＰ規格（正式には、ＥＴＳＩ  ＴＳ  １０１  ８１２  ＤＶＢ−ＭＨＰ仕様Ｖ１．０．２）の１０章に定義されている、Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅの略である。
【０１１７】
ＡＭ２２０５ｂは、まず、ＡＩＴを獲得するため、ＪＭＦ２２０５ａ同様ＰＡＴ、ＰＭＴを取得し、ＡＩＴが格納されているＴＳパケットのＰＩＤを獲得する。今、与えられたチャンネルの識別子が「１」で、図１２のＰＡＴ、図１１のＰＭＴが送信されているとすると、ＪＭＦ２２０５ａと同様の手順で、図１１のＰＭＴを獲得する。ＡＭ２２０５ｂは、ＰＭＴからストリーム種別が「データ」で補足情報として「ＡＩＴ」を持つエレメンタリ−ストリームからＰＩＤを抽出する。図１１を参照して、行１１１３のエレメンタリ−ストリームが該当し、ＰＩＤ「５０１３」を獲得する。
【０１１８】
ＡＭ２２０５ｂは、ＯＳ２２０１のライブラリ２２０１ｂを通してＴＳデコーダ１６０２にＡＩＴのＰＩＤとｔａｂｌｅ＿ｉｄ「０ｘ７４」を与える。ＴＳデコーダ１６０２は、与えられたＰＩＤ及びｔａｂｌｅ＿ｉｄでフィルタリングを行い、１次記憶部１６０８を通してＣＰＵ１６０６に引き渡す。この結果、ＡＭ２２０５ｂは、ＡＩＴの収集することができる。図２６は、収集したＡＩＴの情報の一例を模式的に表した表である。列２６０１はＪａｖａプログラムの識別子である。列２６０２はＪａｖａプログラムの制御情報である。制御情報には「ａｕｔｏｓｔａｒｔ」「ｐｒｅｓｅｎｔ」「ｋｉｌｌ」などがあり、「ａｕｔｏｓｔａｒｔ」は即時に端末装置１６００がこのＪａｖａプログラムを自動的に実行することを意味し、「ｐｒｅｓｅｎｔ」は自動実行しないことを意味し、「ｋｉｌｌ」はＪａｖａプログラムを停止することを意味する。列２６０３は、ＤＳＭＣＣ方式でＪａｖａプログラムを含んでいるＰＩＤを抽出するためのＤＳＭＣＣ識別子である。列２６０４はＪａｖａプログラムのプログラム名である。行２６１１と２６１２は、Ｊａｖａプログラムの情報の組である。行２６１１で定義されるＪａｖａプログラムは、識別子「３０１」、制御情報「ａｕｔｏｓｔａｒｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ａ／ＴｏｐＸｌｅｔ」の組である。行２６１２で定義されるＪａｖａプログラムは、識別子「３０２」、制御情報「ｐｒｅｓｅｎｔ」、ＤＳＭＣＣ識別子「１」、プログラム名「ｂ／ＧａｍｅＸｌｅｔ」の組である。ここで二つのＪａｖａプログラムは同じＤＳＭＣＣ識別子を持つが、これは１つのＤＳＭＣＣ方式でエンコードされたファイルシステム内に二つのＪａｖａプログラムが含まれていることを表す。ここでは、Ｊａｖａプログラムに対して四つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はＤＶＢ−ＭＨＰ規格を参照されたい。
【０１１９】
ＡＭ２２０５ｂは、ＡＩＴの中から「ａｕｔｏｓｔａｒｔ」のＪａｖａプログラムを見つけ出し、対応するＤＳＭＣＣ識別子及びＪａｖａプログラム名を抽出する。図２６を参照して、ＡＭ２２０５ｂは行２６１１のＪａｖａプログラムを抽出し、ＤＳＭＣＣ識別子「１」及びＪａｖａプログラム名「ａ／ＴｏｐＸｌｅｔ」を獲得する。
【０１２０】
次にＡＭ２２０５ｂは、ＡＩＴから取得したＤＳＭＣＣ識別子を用いて、ファイルシステムをＤＳＭＣＣ方式で格納しているＴＳパケットのＰＩＤをＰＭＴから獲得する。具体的には、ＰＭＴの中でストリーム種別が「データ」で、補足情報のＤＳＭＣＣ識別子が合致するエレメンタリ−ストリームのＰＩＤを取得する。
【０１２１】
今、ＤＳＭＣＣ識別子が「１」であり、ＰＭＴが図１１とすると、行１１１４のエレメンタリ−ストリームが合致し、ＰＩＤ「５０１４」を取り出す。
ＡＭ２２０５ｂは、ＯＳ２２０１のライブラリ２２０１ｂを通してＴＳデコーダ１６０２にＤＳＭＣＣ方式でデータが埋めこまれたＭＰＥＧ２セクションを伝送するＴＳパケットのＰＩＤ及びセクションフィルタ条件を指定する。ここでは、ＰＩＤ「５０１４」を与える。ＴＳデコーダ１６０２は与えられたＰＩＤを用いてＤＳＭＣＣ用ＭＰＥＧ２セクションのフィルタリングを行い、１次記憶部１６０８を通してＣＰＵ１６０６に引き渡す。この結果、ＡＭ２２０５ｂは、必要なＤＳＭＣＣ用ＭＰＥＧ２セクションを収集することができる。ＡＭ２２０５ｂは、収集したＭＰＥＧ２セクションから、ＤＳＭＣＣ方式に従ってファイルシステムを復元し、１次記憶部１６０８に保存する。ＭＰＥＧ２トランスポートストリーム中のＴＳパケットからファイルシステム等のデータを取り出し１次記憶部１６０８、２次記憶部１６０７等の記憶手段に保存することを以降、ダウンロードと呼ぶ。
【０１２２】
図２７は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、２７０１はルートディレクトリ、２７０２はディレクトリ「ａ」，２７０３はディレクトリ「ｂ」，２７０４はファイル「ＴｏｐＸｌｅｔ．ｃｌａｓｓ」、２７０５はファイル「ＧａｍｅＸｌｅｔ．ｃｌａｓｓ」である。
【０１２３】
次にＡＭ２２０５ｂは、１次記憶部１６０８にダウンロードしたファイルシステム中から実行するＪａｖａプログラムをＪａｖａＶＭ２２０３に引き渡す。今、実行するＪａｖａプログラム名が「ａ／ＴｏｐＸｌｅｔ」とすると、Ｊａｖａプログラム名の最後に「．ｃｌａｓｓ」を付加したファイル「ａ／ＴｏｐＸｌｅｔ．ｃｌａｓｓ」が実行すべきファイルとなる。「／」はディレクトリやファイル名の区切りであり、図２７を参照して、ファイル２７０４が実行すべきＪａｖａプログラムである。次にＡＭ２２０５ｂは、ファイル２７０４をＪａｖａＶＭ２２０３に引き渡す。
【０１２４】
なお、ＡＭ２２０５ｂが実行すべきＪａｖａプログラムを参照する手法はＡＩＴによるものだけではない。米国ケーブルシステムで利用されることが想定されるＯＣＡＰでは図３に記載されるＯＯＢにてアプリケーションの参照情報を記載するＸＡＩＴが利用されている。その他、ＲＯＭ１６０９に予め記録されているものを起動する、２次記憶部１６０７にダウンロードして記憶したものを起動する、などの方法も考えられる。
【０１２５】
ＪａｖａＶＭ２２０３は、引き渡されたＪａｖａプログラムを実行する。
以上のような手続きで、サービスマネージャ２２０４はチャンネル識別子を受け取ってチューニング、暗号解除、映像・音声再生、Ｊａｖａプログラム起動を行う。この一連の手続きを、まとめて「サービスの選択」と呼ぶ。「サービスの選択を行う」とは、「サービスに属するＥＳが保有する情報をユーザに対して可視化することである」と定義することが可能である。サービスの選択を行うと、上記手続きに従って、“サービスに属するＥＳによって伝送される映像・音声が再生”され、“サービスに属するＥＳによって伝送されるＪａｖａプログラムが起動”される。サービスの選択によって再生された映像・音声は、そのサービスに属している、と表現できる。同様に、サービスの選択によって起動されたＪａｖａプログラムは、そのサービスに属している、と表現できる。
【０１２６】
サービスマネージャ２２０４は、他のチャンネルの識別子を受け取ると、Ｊａｖａライブラリ２２０５に存在するライブラリを利用して再度サービスの選択を行う。本実施の形態では、サービスマネージャ２２０４が選択可能なサービスの数は一つである。
【０１２７】
一般に、チャンネル識別子は一つのサービスを表す。本実施の形態では、図２４に表されるようなチャンネル情報がチャンネル識別子からプログラムナンバーを求める際に利用されている。チャンネル識別子からプログラムナンバーの解決方法として代表的なのは、ＳＩ（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ）が用いられる方法である。ＳＩはＥＰＧ等に利用される番組編成情報であり、各放送環境によって規定され、伝送される。代表例として欧州における放送環境ではＥＮ４００−３６８に規定されるＤＶＢ−ＳＩが利用される。また米国ケーブル放送環境ではＡＮＳＩ／ＳＣＴＥ６５に規定されるＳＩが利用される。これらＳＩにおいては、サービスを特定するための何らかの識別子が既に規定されており、その識別子からプログラムナンバーを解決するための仕組みが既に考慮されている。チャンネル識別子は、これらＳＩが規定した識別子を利用する。その場合、放送受信装置は、ＳＩを利用し、チャンネル識別子からＰＭＴの取得に用いるプログラムナンバーへの解決を行う。その場合、本発明はそのＳＩの形態には依存しないため、どのようなＳＩが用いられても適用可能である。図２４のチャンネル情報も、ＳＩを利用して取得される。
【０１２８】
Ｊａｖａライブラリ２２０５は、ＲＯＭ１６０９に格納されている複数のＪａｖａライブラリの集合である。本実施の形態では、Ｊａｖａライブラリ２２０５は、ＪＭＦ２２０５ａ，ＡＭ２２０５ｂ，Ｔｕｎｅｒ２２０５ｃ，ＤＳＭ−ＣＣ２２０５ｄ、Ｓｅｃｔｉｏｎ  Ｆｉｌｔｅｒ（ＳＦ）２２０５ｅ、サービスマネージャ管理ライブラリ２２０５ｆを含んでいる。Ｊａｖａプログラムはこれらライブラリを利用しながら、Ｊａｖａプログラムの機能を実現する。
【０１２９】
Ｊａｖａライブラリ２２０５に含まれるライブラリの中で、特にＪＭＦ２２０５ａ、ＤＳＭ−ＣＣ２２０５ｄ、ＳＦ２２０５ｅの三種類は、ＭＰＥＧ２トランスポートストリーム内の情報にアクセスするためのライブラリである。このようなライブラリを、ストリーム情報アクセスライブラリと呼ぶ。ＪＭＦ２２０５ａは映像・音声の再生機能を持つライブラリ、ＤＳＭ−ＣＣ２２０５ｄはＭＰＥＧ２トランスポートストリーム内にて伝送されるファイルを取得する機能を持つライブラリ、ＳＦ２２０５ｅはＭＰＥＧ２トランスポートストリーム内のＭＰＥＧ２セクションを取得するライブラリである。これらライブラリを用いて、ＪａｖａプログラムはＭＰＥＧ２トランスポートストリーム内の情報にアクセスすることが可能である。また、ストリーム情報アクセスライブラリはそれぞれ１以上の実行単位を持ち、Ｊａｖａプログラムはその実行単位毎にストリーム情報にアクセスすることが可能である。例えば、ＪＭＦ２２０５ｄは映像音声を再生可能な“プレイヤー”を実行単位として保持する。Ｊａｖａプログラムは“プレイヤー”に対して映像音声の再生命令を出すことで映像音声を再生できる。さらに、画面を分割して複数の映像を出力することが可能な端末装置の場合、“プレイヤー”は複数存在し、Ｊａｖａプログラムはそれぞれに対して映像再生命令を出すことで別々の映像を画面に表示することも可能である。例えばＳＦ２２０５ｅは“セクションフィルタ”を実行単位として保持する。“セクションフィルタ”は図２０におけるセクションフィルタ２００３に相当し、その単位でＭＰＥＧ２セクションを取得することができる。セクションフィルタ２００３が複数存在するハードウェア構成上では、ＳＦ２２０５ｅが保持する“セクションフィルタ”も複数存在し、Ｊａｖａプログラムは各“セクションフィルタ”に対してセクション取得命令を出すことで、別々のＭＰＥＧ２セクションを同時に取得することが可能である。
【０１３０】
またＪａｖａプログラムはサービスマネージャ管理ライブラリ２２０５ｆを利用することで、サービスマネージャ２２０４によるサービスの選択を行うことが可能である。具体的には、Ｊａｖａプログラムがサービスマネージャ管理ライブラリ２２０５ｆにチャンネル識別子を渡すと、サービス管理ライブラリ２２０５ｆは受け取ったチャンネル識別子をサービスマネージャ２２０４に引き渡す。その後はＥＰＧ２２０２を用いたチャンネル選択時と同様にサービスマネージャ２２０４によるサービスの選択が行われ、チャンネル識別子に対応するプログラムナンバーによって識別されるＰＭＴに記載される情報に基づき、そのサービスに属する映像・音声が再生され、そのサービスに属するＪａｖａプログラムが起動される。また、サービスマネージャ２２０４も、ストリーム情報アクセスライブラリ同様、１以上の実行単位を持つ。サービスマネージャ２２０４の場合、実行単位は“サービスコンテキスト”と呼ばれ、サービスの選択は実行単位“サービスコンテキスト”毎に行われる。“サービスコンテキスト”一つにつき、一つのサービスを選択可能である。サービスマネージャ２２０４が複数のサービスを同時に選択可能である場合は実行単位“サービスコンテキスト”をその数だけ保持することになる。ＥＰＧ２２０２及びサービスマネージャ管理ライブラリ２２０５ｆは実行単位“サービスコンテキスト”に対してサービス選択命令を発行し、サービスマネージャ２２０４は指定された実行単位“サービスコンテキスト”に新たに選択したサービスに関する情報をセットする。
【０１３１】
Ｊａｖａプログラムは情報のアクセス単位として、ストリーム情報アクセスライブラリに対してサービスまたはＥＳを指定することが可能である。サービスが指定された場合、Ｊａｖａプログラムはサービスに対応するＰＭＴに記載される、全てのＥＳが伝送する情報にアクセスすることを指す。ＥＳが指定された場合、Ｊａｖａプログラムは指定ＥＳが伝送する情報にアクセスすることを指す。このどちらの指定を用いるかはライブラリの種類により異なる。なお、ライブラリにサービスを指定する方法は多岐にわたるが、代表的なのはチャンネル識別子を用いる方法である。またライブラリにＥＳを指定する方法も多岐にわたるが、代表的なのはＰＩＤを用いる方法である。本発明はその指定形式には依存しないので、どのような指定形式であろうと適用可能である。
【０１３２】
例えばＪａｖａプログラムはＪＭＦ２２０５ａに対して、サービスを指定することができる。この場合、ＪＭＦ２２０５ａは指定されたサービスのＰＭＴより映像・音声を伝送するＥＳのＰＩＤを取得して再生を開始することが可能である。
【０１３３】
例えばＪａｖａプログラムはＳＦ２２０５ｅに対して、ＥＳを指定することができる。この場合、ＳＦ２２０５ｅは指定ＥＳが伝送するＭＰＥＧ２セクションをバイナリ形式でそのまま取得することが可能である。またＪＭＦ２２０５ａに対してもＥＳを指定することができる。この場合、ＪＭＦ２２０５ａは指定されたＥＳが伝送するＰＥＳパケット内に存在する映像音声を再生する。  このように、ＪａｖａプログラムはＪａｖａライブラリ２２０５内に存在するライブラリを利用することで、放送信号内の情報に対してアクセスすることが可能である。しかし、もしアクセス対象が暗号化されていた場合、暗号解除を行わなければ情報を取得することができない。そのため、放送受信装置はＪａｖａプログラムに対して、暗号解除手段を提供する必要がある。
【０１３４】
本実施の形態では、放送受信装置は、“ＥＰＧ２２０２を用いたユーザによるチャンネル選択”または“Ｊａｖａプログラムによるサービスマネージャ管理ライブラリ２２０５ｆの利用”に従って、サービスマネージャ２２０４が新たなサービスを選択する場合に、暗黙的にサービス内のＥＳの暗号解除を開始する。具体的には、サービスマネージャ２２０４が取得するＰＭＴに属する全ＥＳを暗号解除対象とし、サービスマネージャ２２０４がチューニングを終えた時点で、暗号解除を開始する。また本実施の形態ではサービスマネージャ２２０４が同時に選択できるサービスは一つである。つまりサービスマネージャ２２０４が保持する実行単位“サービスコンテキスト”は常に一つである。同様に、同時に暗号解除可能なサービスは一つのみとし、二つ以上のサービスを同時に暗号解除することはできない。
【０１３５】
本実施の形態では、上記を実現するために、暗号解除状態管理部、デスクランブラ管理部、暗号解除開始部を導入する。その模式図を図２８に表す。ＣＡライブラリ２２０６内に暗号解除状態管理部２８０１、デスクランブラ管理部２８０２、暗号解除開始部２８０３を導入する。
【０１３６】
暗号解除状態管理部２８０１は暗号解除されている対象となる情報を保持する。暗号解除状態管理部２８０１は１次記憶部１６０８上に実現される。暗号解除状態管理部２８０１はデスクランブラによって暗号解除されているサービスのプログラムナンバーを一つだけ保持する機能を持つ。保持されたプログラムナンバーは暗号解除開始部２８０３によって参照される。
【０１３７】
デスクランブラ管理部２８０２はハードウェア上に存在するデスクランブラの使用状態を管理する。デスクランブラの使用状態は“未使用”、“使用中”の二状態のどちらかを持つ。図２９にデスクランブラ管理部２８０２の実現例を示す。行２９１１〜２９１４は各デスクランブラの情報である。列２９０１はデスクランブラ名、列２９０２は使用状態を表す。デスクランブラ管理部２８０２に問い合わせることで、使用されているデスクランブラの数や、空いているデスクランブラの数を取得することが可能である。デスクランブラ管理部２８０２は、デスクランブラが図１６のように端末装置１６００内に存在する場合、１次記憶部１６０８上に実現され、暗号解除開始部２８０３によって参照される。また、そうでなくても、実際にデスクランブラの使用状態に関する問い合わせが行われた際に、その時点でデスクランブラの状態を調査して使用状態を返す実装になっていてもよい。図１８のように端末装置１８００内にデスクランブラが存在せず、アダプタ１８１１内に存在する場合は、アダプタ１８１１内の１次記憶部上に実現され、ＣＰＵ１８０６の問い合わせに対し、デスクランブラの使用状態を返す。
【０１３８】
暗号解除開始部２８０３は、暗号解除を開始するためのライブラリとして実現される。本実施の形態における暗号解除開始部２８０３は、指定されたプログラムナンバーによって識別されるサービスの暗号解除を開始する機能を持つ。既にこれから暗号解除を開始しようとするサービスが暗号解除されていた場合は、何もしない。もし既に別サービスが暗号解除されていた場合は、その暗号解除を停止し、指定されたサービスの暗号解除を新規に開始する。図３０、図３１に暗号解除開始部２８０３の動作シーケンスを表す。暗号解除開始部２８０３がプログラムナンバーを受け取る（Ｓ３００１）と、まず暗号解除状態管理部２８０１に問い合わせて、その時点で暗号解除されているサービスのプログラムナンバーを取得する（Ｓ３００２）。Ｓ３００１で受け取ったプログラムナンバーとＳ３００２で取得したプログラムナンバーを比較し、既に暗号解除されているサービスがＳ３００１で指定されたサービスであるかどうか判定する（Ｓ３００３）。もしＳ３００１で指定されたプログラムナンバーが識別するサービスが既に暗号解除されていたのであれば、シーケンスは終了する。もし別のサービスが暗号解除されているまたは、暗号解除自体が行われていないのであれば、Ｓ３００１で取得したプログラムナンバーによって識別されるＰＭＴを取得し（Ｓ３００４）、図３１のシーケンスへ入る（Ｓ３００５）。図３１では、まずＰＭＴを受け取り（Ｓ３１０１）、その時点で行われている別サービスの暗号解除を停止する（Ｓ３１０２〜Ｓ３１０４）。次にＰＭＴより暗号解除が必要なＥＳを取得し（Ｓ３１０５）、デスクランブラ管理部２８０２からデスクランブラを取得（Ｓ３１０６）、Ｓ３１０５で取得した全てのＥＳを暗号解除するのに充分なデスクランブラが存在すれば（Ｓ３１０７）、図１５のシーケンスでＥＭＭやＥＣＭに関する処理を行って暗号解除を開始し（Ｓ３１０８）、今回の暗号解除に用いられたデスクランブラに関して、デスクランブラ管理部２８０２内の状態を“使用中”に変更する（Ｓ３１０９）。図３０のシーケンスに戻り、暗号解除状態管理部２８０１にプログラムナンバーを記録して処理を終了する（Ｓ３００６）。
【０１３９】
暗号解除開始部２８０３は、図１６のハードウェア構成例のようにデスクランブラが端末装置１６００内にある場合は、ＲＯＭ１６０９にライブラリとして記録され、ＣＰＵ１６０６によって実行される。図１８のハードウェア構成例のように、デスクランブラが端末装置１８００の外にある場合はＲＯＭ１６０９と、外部アダプタ１８１１内のＲＯＭに機能が分割して記録される。図３０に表されるシーケンスに関してはライブラリとして端末装置１８００内のＲＯＭ１６０９に記録され、ＣＰＵ１８０６によって実行される。その場合、Ｓ３００４において、取得したＰＭＴよりＣＡ−ＰＭＴを構成して外部アダプタ１８１１に送信する。図３１のシーケンスを行うプログラムはＤＶＢ−ＣＩやＰＯＤなどの外部アダプタ１８１１内のＲＯＭに記録され、図３０におけるＳ３００６の時点で、端末装置１８００が外部アダプタ１８１１に対してＣＡ−ＰＭＴを送信した時に、外部アダプタ１８１１内のＣＰＵによって起動される。さらに図３０及び図３１では、暗号解除開始部２８０３は同期シーケンスで操作を行うように表現されるが、図３０におけるＳ３００６においてＣＡ−ＰＭＴを端末装置１８００が外部アダプタ１８１１に送信すると、それ以降の処理はＣＰＵ１８０６及び外部アダプタ１８１１内のＣＰＵによって並行して行われることもある。具体的には、Ｓ３００５において、ＣＰＵ１８０６がＣＡ−ＰＭＴを外部アダプタ１８１１に投げると、外部アダプタ１８１１内のＣＰＵが図３１に表されるシーケンスを開始するが、それと平行してＣＰＵ１８０６はＳ３００６に表される動作を行い、図３０のシーケンスが図３１のシーケンスよりも先に終了する実装もありうる。この状況の簡単な説明図を図３３に表す。Ｓ３００４においてＣＡ−ＰＭＴを端末装置１８００が外部アダプタ１８１１に送信すると、端末装置１８００は外部アダプタ１８１１内での図３１のシーケンスの終了を待たずにＳ３００６へと処理を進める。このような実装が行われることもある。
【０１４０】
本実施の形態においては、Ｊａｖａプログラムによってサービスマネージャ管理部２２０５ｆが利用されたり、ＥＰＧ２２０２よりチャンネル識別子が渡されたりして、サービスマネージャ２２０４が起動して映像・音声再生及びＪａｖａプログラム起動を開始する際に、それら操作の前に、暗号解除開始部２８０３を用いて暗号解除を行う。
【０１４１】
本実施の形態では、サービスマネージャ２２０４によるサービス選択時に暗号解除を開始する。そのシーケンスを図３２に表す。サービスマネージャ２２０４は、まずチャンネル識別子を受け取る（Ｓ３２０１）と、チャンネル識別子よりプログラムナンバーを得る（Ｓ３２０２）。ここでは前述したように図２４のようなＳＩより構成したチャンネル情報を用いて、チャンネル識別子をプログラムナンバーに変換する。次にＴｕｎｅｒ２２０５ｃを用いてチューニングを行う（Ｓ３２０３）。その後、サービスが暗号化されているかどうか判断し（Ｓ３２０４）、もし暗号化されていれば暗号解除開始部２８０３を利用して、サービスの暗号解除を開始する（Ｓ３２０５）。Ｓ３２０４におけるサービスが暗号化されているかどうかの判断は、サービスのＰＭＴにＣＡ記述子が記載されていれば暗号化されており、記載されていなければ暗号化されていない、という基準に基づいて行う。その後、映像・音声再生（Ｓ３２０６）、Ｊａｖａプログラムの実行（Ｓ３２０７）を行う。なお、Ｓ３２０６及びＳ３２０７は平行して行われることもある。また、本実施の形態では、暗号解除開始部２８０３自身は指定されたサービスが暗号化されているかどうか判定しないために、サービスマネージャ２２０４がその判定を行うが、暗号解除開始部２８０３自身がその判定を行い、暗号化されていなければ暗号解除しない、という判断を行っても良い。暗号解除開始部２８０３を利用する側は、暗号解除開始部２８０３に指定する情報が暗号化されているかどうかを気にする必要はなく、その場合でも本発明は適用可能である。
【０１４２】
本実施の形態では、サービスマネージャ２２０４によるサービス選択時に暗号解除を開始するが、Ｊａｖａプログラムによりストリーム情報アクセスライブラリが利用された場合は暗号解除を開始しない。そのため、アクセス対象となる情報が、サービスマネージャ２２０４が選択したサービスに属しているものであれば、Ｊａｖａプログラムが動作している時点で既に暗号解除が施されているため、改めて暗号解除をする必要なくアクセス可能である。例えば、図１１のＰＭＴによって表現されるサービスが選択されている場合、行１１１１〜１１１４によって表される四本のＥＳはサービスマネージャ２２０４によるサービス選択時に暗黙的に暗号解除されている。そのため、ＥＳ１１１４に含まれるファイルを基に起動されたＪａｖａプログラムが、例えば行１１１１によって表される映像を伝送するＰＥＳパケットに対してＪＭＦ２２０５ａを用いてアクセスする場合、改めて暗号を解除する必要はない。しかし、アクセスしたい対象が他サービスに属しているものであれば、ストリーム情報アクセスライブラリによって暗黙的に暗号解除が開始されないため、Ｊａｖａプログラムがこれにアクセスして情報を正しく読み出すことは不可能である。
【０１４３】
本実施の形態により実装可能なＪａｖａプログラム例を図３４に表す。また、その時のＰＭＴ例を図３５に表す。Ｊａｖａプログラムはディスプレイ１６０５上において、３４０１にデータ放送用データ、３４０２に映像を表示する。このＪａｖａプログラムは、図３５のＰＭＴの行３５１４によって表されるＥＳに含まれており、サービスマネージャ２２０４がこのＰＭＴが表現するサービスを選択することで起動される。そのサービス選択の過程で、ＰＭＴに含まれる全てのＥＳの暗号解除が開始される。ＪａｖａプログラムはＪＭＦ２２０５ａを用いてＰＩＤが５０２２であるＴＳパケットが伝送する映像を３４０２に表示する。またＪａｖａプログラムはＳＦ２２０５ｅを用いて、ＰＩＤが５０２５であるＴＳパケットが伝送するデータ放送用データを取得して、３４０１に表示する。このように、Ｊａｖａプログラムは、自身が属するサービスに含まれるＥＳに関する限り、暗号解除を気にせずに情報にアクセスすることが可能である。
【０１４４】
本実施の形態により、Ｊａｖａプログラムは自身が属するサービスに含まれるＥＳが伝送する情報であれば、暗号化されているかどうかを気にせずにアクセス可能である。
なお、本実施の形態では、ストリーム情報アクセスライブラリとして、ＪＭＦ２２０５ａ、ＤＳＭ−ＣＣ２２０５ｄ、ＳＦ２２０５ｅを挙げているが、ストリーム情報アクセスライブラリは、ＭＰＥＧ２トランスポートストリームによって伝送される情報に対してアクセスするためのライブラリであれば全て含まれ、それは上の三種類に限らず、また上の三種類が全て含まれている必要はない。その種類はＤＶＢ−ＭＨＰやＯＣＡＰなどのプログラム実行環境の仕様によって決定される。
【０１４５】
また、本実施の形態では、ＲＯＭ１６０９が保存する内容を２次記憶部１６０７が保存することで、ＲＯＭ１６０９を削除することも実施可能である。また、２次記憶部１６０７は、複数のサブ２次記憶部で構成し、個々のサブ２次記憶部が異なる情報を保存しても実施可能である。例えば、１つのサブ２次記憶部はチューニング情報のみを保存し、別のサブ２次記憶部は、ＯＳ２２０１のライブラリ２２０１ｂを保存し、更に別のサブ２次記憶部は、ダウンロードしたＪａｖａプログラムを保存するなど、詳細に分割することが可能である。
【０１４６】
また、本実施の形態においては、ダウンロードしたＪａｖａプログラムを２次記憶部１６０７に保存していたが、１次記憶部１６０８に保存することも実施可能である。１次記憶部１６０８に保存する場合、電源ＯＦＦ時に、保存された情報は全て消える。
【０１４７】
また、本実施の形態においては、明記していない部分は参照ハードウェア構成例を図１６としているが、図１８のようにアダプタを利用するハードウェア構成でももちろん本発明は適用可能である。その場合は同一デバイスで図１６と図１８で識別番号が異なるものは、識別番号を置き換えた表現を用いることで、図１８の説明とする。例えば、ＣＰＵ１６０６はＣＰＵ１８０６として解釈される。また図２０と図２１においても同様である。基本参照ハードウェア構成として図２０を用いているが、図２１においてももちろん本発明は適用可能である。
【０１４８】
（実施の形態２）
実施の形態１では、サービスマネージャ２２０４がサービスの選択を行う際に暗号解除をサービス単位で開始していた。このような場合、Ｊａｖａプログラムは、自身が属するサービス以外のサービスに属する暗号化された情報にアクセスすることができない。しかしながら、Ｊａｖａプログラムは自身が属するサービスとは別のサービスに属する映像・音声を再生したい場合がある。例えば、ＥＰＧを実現するＪａｖａプログラムがある場合、ＥＰＧには一般にユーザが選択中の映像・音声を画面の一部において再生する機能があるが、実施の形態１では、自身が属するサービス以外の暗号化された情報にアクセスすることができないため、このようなＥＰＧは実現不可能である。例として、図３６にこのＥＰＧを実現するＪａｖａプログラムの画面表示例を表した。ディスプレイ１６０５の左半分に番組表を表示している。行３６１１〜３６１４は選択候補のチャンネルを表す。列３６０１はチャンネル識別子、列３６０２はチャンネル名である。また、３６２１には番組表においてカーソルが合っているチャンネルの映像が表示される。図３６の場合、カーソルはチャンネル１に合っているため、チャンネル１の映像が３６２１に表示される。この時、行３６１１〜３６１４で表される四つのチャンネルの映像・音声は、通常それぞれ一つのサービスによって伝送される。実施の形態１では、Ｊａｖａプログラムが属するサービスに関する暗号解除しか行われないため、このようなＥＰＧを実現することはできない。
【０１４９】
実施の形態２では、暗黙的に放送受信装置がサービス単位で暗号解除をする点では実施の形態１と変わらないが、暗号解除を開始するタイミングを変更し、サービスマネージャ２２０４がサービス選択を行う時に暗号解除を開始するのではなく、Ｊａｖａプログラムがストリーム情報アクセスライブラリを利用するたびに暗号解除を行うサービスを変更する。具体的には、例えば、ＪＭＦ２２０５ａに対してサービスが指定された場合、ＪＭＦ２２０５ａは、映像・音声を再生する前に、指定されたサービスのＰＭＴに記載されたＥＳが伝送する情報の暗号解除を、暗号解除開始部２８０３を利用して行う。さらに、ＳＦ２２０５ｅのようにＥＳが指定されうるストリーム情報アクセスライブラリであっても、そのＥＳが属するサービス内の全てのＥＳに関する暗号解除を行う。その際は、まずＭＰＥＧ２トランスポートストリーム内の全てのＰＭＴを調べ、指定されたＥＳのＰＩＤを含むものを利用する。
【０１５０】
図３７にサービスを指定されるストリーム情報アクセスライブラリの例として、ＪＭＦ２２０５ａの動作シーケンスを表す。チャンネル識別子を受け取る（Ｓ３７０１）と、チャンネル識別子よりプログラムナンバーを得る（Ｓ３７０２）。前述したようにチャンネル識別子として用いられる対象によりプログラムナンバーを得る手段は異なる。例として、ＰＡＴ上の順序を用いたり、ＳＩを用いたりする方法がある。もしサービスが暗号化されていれば（Ｓ３７０３）、暗号解除開始部２８０３を用いてサービスの暗号解除を開始する（Ｓ３７０４）。その後、映像・音声の再生を開始する（Ｓ３７０５）。
【０１５１】
図３８にＥＳを指定されるストリーム情報アクセスライブラリの例としてＳＦ２２０５ｅの動作シーケンスを表す。ＰＩＤを受け取る（Ｓ３８０１）と、ＭＰＥＧ２トランスポートストリーム中に存在する全ＰＭＴを取得し、その中で指定されたＰＩＤを含むものを探す（Ｓ３８０２）。もしも見つからなければ、指定されたＰＩＤが識別するＴＳパケットは暗号化されていないため、暗号解除を行う必要はない。もしも見つかれば（Ｓ３８０３）、次にそのＰＩＤを含むサービスが暗号化されているかどうか判断し（Ｓ３８０４）、暗号解除開始部２８０３を利用して暗号解除を開始する（Ｓ３８０５）。その後、ＭＰＥＧ２セクションの取得を開始する。
【０１５２】
本実施の形態では、まずサービスマネージャ２２０４によってサービス選択が行われた際、ＪＭＦ２２０５ａやＤＳＭ−ＣＣ２２０５ｄなどのストリーム情報アクセスライブラリが利用されるため、まずその時点で暗号解除が開始される。そのサービス選択によって起動されたＪａｖａプログラムがストリーム情報アクセスライブラリを用いた時、それまでの暗号解除を停止し、“ストリーム情報アクセスライブラリに指定したサービス”、または“ストリーム情報アクセスライブラリに指定したＥＳを含むサービス”について暗号解除を開始する。
【０１５３】
図３６に表されるＥＰＧを実現するＪａｖａプログラムの例を示す。まず放送受信装置自身のＥＰＧ２２０２上で行われるユーザのチャンネル選択に基づいてサービスマネージャ２２０４はサービスの選択を行う。この場合、ＥＰＧを実現するＪａｖａプログラムは図２４の行２４１１で表される“チャンネル１”に含まれ、ユーザは“チャンネル１”を選択したものとする。すると、サービスマネージャ２２０４は“チャンネル１”のチャンネル識別子“１”に基づいてプログラムナンバーを取得してサービス選択を行い、暗号解除が開始される。映像音声が再生され、図３６のＥＰＧを実現するＪａｖａプログラムが起動する。このＪａｖａプログラムはディスプレイに図３６のような画面を表示する。この時、デフォルトでカーソルが合わせられるのは、Ｊａｖａプログラムが属し、既に暗号解除が行われている“チャンネル１”であり、Ｊａｖａプログラムは、３６２１に“チャンネル１”に属する映像を、ＪＭＦ２２０５ａを用いて表示する。以降、ユーザがカーソルを上下に動かすと、カーソルが合わされたチャンネルのチャンネル識別子に対応するサービスの映像を３６２１にＪＭＦ２２０５ａを用いて表示する。この際、ＪＭＦ２２０５ａが利用される度にそれまで行われていた暗号解除が停止され、新たなサービスに対する暗号解除が開始される。このようにして、Ｊａｖａプログラムが特に暗号解除を意識せずに図３６のようなＥＰＧを実現することが可能となる。
【０１５４】
本実施の形態においては、Ｊａｖａプログラムが利用したい、最も新しくアクセスされた暗号化情報に関して暗黙的な暗号解除を行うことが可能である。
なお、本実施の形態ではサービスマネージャ２２０４は暗号解除を行わず、ストリーム情報アクセスライブラリが暗黙的な暗号解除を行うが、サービスマネージャ２２０４によるサービス選択時にも暗黙的な暗号解除を行う形態をとっても本発明は適用可能である。
【０１５５】
（実施の形態３）
実施の形態２では、Ｊａｖａプログラムが、ストリーム情報アクセスライブラリを利用した時点で暗号解除が開始されるため、最も新しくアクセスされた情報に対する暗黙的な暗号解除が可能であった。しかしながら、同時に暗号解除可能なサービスは実施の形態１同様一つであったため、複数のサービスを同時に暗号解除することは不可能であった。例えば、Ｊａｖａプログラムが実施の形態２におけるものよりも高機能なＥＰＧを実現する場合を考える。このようなＥＰＧの例を図３９に表す。ＥＰＧは、画面左半分に番組表を表示する。行３９１１〜３９１４は各チャンネルの選択候補を表す。また列３９０１はチャンネル識別子を、列３９０２はチャンネル名を表す。さらに番組表において選択候補カーソル（破線）が指し示す選択候補の映像を画面右下の３９２２に表示し、選択済みカーソル（実線）が指し示す選択済みの映像を画面右上の３９２１に表示する。図３９の時点では、選択候補カーソルは“ＴＶ  Ｊａｐａｎ”、選択済みカーソルは“チャンネル１”を指している。このようなＥＰＧを実現するＪａｖａプログラムを考えた場合、選択候補の映像と選択済みの映像情報を二つ同時に暗号解除する必要がある。行３９１１〜３９１４のチャンネルの映像音声は通常それぞれ一サービスにて伝送されるため、そのような場合、二つのサービスを同時に暗号解除する必要がある。実施の形態１及び２では、同時に暗号解除可能なサービスは一つであったため、このようなＥＰＧをＪａｖａプログラムで実現することは不可能である。また実施の形態１ではサービスマネージャ２２０４が同時に選択可能なサービスは一つのみであったが、サービスマネージャ２２０４が同時に複数のサービスを選択可能であった場合も、複数のサービスを同時に暗号解除する必要がある。これに関しても実施の形態１では対応不可能である。
【０１５６】
本実施の形態では、複数サービスを同時に暗号解除可能である。この実現のためのＣＡライブラリ２２０６の様子を図４０に表す。暗号解除状態管理部２８０１、デスクランブラ管理部２８０２、暗号解除開始部２８０３に変更を加え、さらに暗号解除停止部４００４を導入する。
【０１５７】
暗号解除状態管理部２８０１は、実施の形態１においては一つのプログラムナンバーのみを保持可能であったが、本実施の形態においては複数のプログラムナンバーを保持することが可能とする。さらに、各プログラムナンバーに関してカウントを保持する。
【０１５８】
デスクランブラ管理部２８０２は、一つのサービスのみが暗号解除される場合は、暗号解除されているサービス毎にデスクランブラの管理を行う必要がなかったため、デスクランブラの使用状態として“使用中”、“未使用”を管理するだけで充分であった。しかし、本実施の形態では、複数サービスの同時暗号解除を許しているため、どのサービスの暗号解除にどのデスクランブラが使用されているかわからなければ、サービスの暗号解除を適切に停止することができない。本実施の形態におけるデスクランブラ管理部２８０２は、デスクランブラ毎に、使用状態とともに、プログラムナンバーを保持する。これにより、どのサービスの暗号解除にどのデスクランブラが利用されているか判断可能となる。図４１に本実施の形態におけるデスクランブラ管理部２８０２の管理の様子を示した図を表す。図２９に追加されたのは列４１０３である。列４１０３はプログラムナンバーを表し、どのデスクランブラがどのサービスの暗号解除に使用されているかを表す。
【０１５９】
暗号解除開始部２８０３は、実施の形態１においては図３１のシーケンスにおいて既存の暗号解除を停止し、新たな暗号解除を開始していた。これは同時に暗号解除可能なサービスが一つのみであったために新たな暗号解除を開始するためには、既存の暗号解除を停止させなければならないための処理であった。本実施の形態における暗号解除開始部２８０３は既に開始されている暗号解除の停止を行わない。本実施の形態における暗号解除開始部２８０３の動作シーケンスを図４２及び図４３に表す。暗号解除開始部２８０３がプログラムナンバーを受け取る（Ｓ４２０１）と、まず暗号解除状態管理部２８０１に問い合わせて、その時点で暗号解除されているサービスのプログラムナンバーを取得する（Ｓ４２０２）。Ｓ４２０１で受け取ったプログラムナンバーとＳ４２０２で取得したプログラムナンバーを比較し、既に暗号解除されているサービスがＳ４２０１で指定されたサービスであるかどうか判定する（Ｓ４２０３）。もしＳ４２０１で指定されたプログラムナンバーが識別するサービスが既に暗号解除されていたのであれば、暗号解除状態管理部２８０１が管理するカウントを１増やして（Ｓ４２０７）、シーケンスは終了する。カウントが０であり暗号解除自体が行われていないのであれば、Ｓ４２０１で取得したプログラムナンバーによって識別されるＰＭＴを取得し（Ｓ４２０４）、図４３のシーケンスへ入る（Ｓ４２０５）。図４３において、ＰＭＴを受け取る（Ｓ４３０１）と、ＰＭＴより暗号解除が必要なＥＳを取得する（Ｓ４３０２）。その後、デスクランブラ管理部２８０２に問い合わせて“未使用”のデスクランブラを取得する（Ｓ４３０３）。Ｓ４３０２にて取得したＥＳを暗号解除するのに充分なデスクランブラが存在する場合は（Ｓ４３０４）、図１５のシーケンスに基づき、暗号解除を開始する（Ｓ４３０５）。さらに、本実施の形態におけるデスクランブラ管理部２８０２はデスクランブラの使用状態とともに暗号解除するプログラムナンバーを記録するため、今回暗号解除を開始したデスクランブラについて、使用状態を“使用中”にし、ＰＭＴに記載されるプログラムナンバーを設定する。その後、図４２に戻り、暗号解除が成功したなら、暗号解除状態管理部２８０１にプログラムナンバーを記録し、カウントを１にセットする。なお、本実施の形態においても、図４３に表されるシーケンスは、デスクランブラが外部アダプタ１８１１に存在する場合は実施の形態１同様、外部アダプタ１８１１内のプログラムとして実現されうる。その場合でも本発明は実現可能である。さらにその場合、図４２のシーケンスと図４３のシーケンスが同期せずに実行される実現形態であっても本発明は適用可能である。
【０１６０】
暗号解除停止部４００４は、指定されたサービスの暗号解除を停止する。暗号解除停止部４００４に関しては、図１６のようなデスクランブラが端末装置１６００内にあるハードウェア構成と、図１８のようなデスクランブラが端末装置１８００外にあるハードウェア構成とでは若干動作シーケンスが異なる。
【０１６１】
図１６のようにデスクランブラが端末装置１６００内にあるハードウェア構成の場合について考える。この場合の動作シーケンスは図４４によって表される。まず指定されたプログラムナンバーを受け取り（Ｓ４４０１）、暗号解除状態管理部２８０１に問い合わせて全てのプログラムナンバーのカウントを取得する（Ｓ４４０２）。Ｓ４４０２で取得したプログラムナンバーのカウントを調べ、（Ｓ４４０３）、カウントが０であり、暗号解除されていないのであればシーケンスを終了する。カウントが２以上であれば、暗号解除状態管理部２８０１の対応するプログラムナンバーのカウントを１減らして（Ｓ４４０８）、シーケンスを終了する。カウントが１であれば、デスクランブラ管理部２８０２より状態が“使用中”かつプログラムナンバーがＳ４４０１で受け取ったプログラムナンバーと合致するデスクランブラを取得し（Ｓ４４０４）、暗号解除を停止する（Ｓ４４０５）。さらに今回暗号解除を停止したデスクランブラに関してデスクランブラ管理部２８０２の使用状態を“未使用”に設定し、プログラムナンバーをクリアする（Ｓ４４０６）。その後、暗号解除状態管理部２８０１よりプログラムナンバーを削除する（Ｓ４４０７）。この場合、暗号解除停止部４００４は暗号解除を停止するライブラリとしてＲＯＭ１６０９上に記録され、ＣＰＵ１６０６によって実行される。
【０１６２】
図１８のように、デスクランブラが端末装置１８００外にあるハードウェア構成の場合について考える。この場合の動作シーケンスは図４５と図４６に表す。まず指定されたプログラムナンバーを受け取り（Ｓ４５０１）、暗号解除状態管理部２８０１に問い合わせてプログラムナンバーのカウントを取得する（Ｓ４５０２）。カウントの値を判定し（Ｓ４５０３）、０であれば、プログラムナンバーに対応するサービスの暗号解除が行われていないためシーケンスを終了する。２以上であれば、暗号解除状態管理部２８０１よりプログラムナンバーに対応するカウントの値を１減らして（Ｓ４５０７）、シーケンスを終了する。１であれば、実際に暗号解除を停止するために、ＰＭＴを取得してＣＡ−ＰＭＴを構成し（Ｓ４５０４）、図４６のシーケンスへ入る（Ｓ４５０５）。実際にはＳ４５０５では、ＣＡ−ＰＭＴを外部アダプタ１８１１に対して送信する。図４６のシーケンスでは、ＰＭＴを受け取る（Ｓ４６０１）と、ＰＭＴよりプログラムナンバーを取得し（Ｓ４６０２）、デスクランブラ管理部２８０２より使用状態が“使用中”かつＳ４６０１で取得したプログラムナンバーと合致するデスクランブラを取得する（Ｓ４６０３）。それらデスクランブラに関して暗号解除を停止し（Ｓ４６０４）、停止したデスクランブラに関してデスクランブラ管理部２８０２内の状態を“未使用”に変更し、プログラムナンバーもクリアする。その後図４５のシーケンスに戻り、暗号解除状態管理部２８０１からプログラムナンバーを削除する（Ｓ４５０６）。この場合、図４５に表されるシーケンスを実現するライブラリは、ＲＯＭ１６０９に記憶され、ＣＰＵ１８０６によって実行される。図４６に表されるシーケンスに関しては、外部アダプタ１８１１のＲＯＭにプログラムとして記憶され、外部アダプタ１８１１がＣＡ−ＰＭＴを受信するときに外部アダプタ１８１１のＣＰＵによって実行される。なお、実施の形態１における暗号解除開始部２８０３同様、図４５のシーケンスと図４６のシーケンスは同期せずに実行されることもある。
【０１６３】
本実施の形態では、複数サービスを同時に暗号解除可能であり、サービスマネージャ２２０４のサービス選択時及びＪａｖａプログラムのストリーム情報アクセスライブラリ使用時の両方で暗号解除が開始される。
【０１６４】
実施の形態２では、実施の形態１同様、同時に暗号解除可能なサービスは一つに限定されていたため、ストリーム情報アクセスライブラリ使用時には、以前の暗号解除を停止、新規に暗号解除を開始していた。しかし本実施の形態では、複数のサービスの暗号解除が可能であるため、単に暗号解除を行うサービスを置き換えることはできない。そのため、ストリーム情報アクセスライブラリの利用開始時にサービスの暗号解除を開始し、終了時にサービスの暗号解除を停止する。そのためには暗号解除しているサービスのプログラムナンバーを覚えておく必要がある。そのため、各ストリーム情報アクセスライブラリにサービス記憶部を導入する。
【０１６５】
サービス記憶部はストリーム情報アクセスライブラリ毎に存在し、その時点でそのストリーム情報アクセスライブラリが暗号解除しているサービスのプログラムナンバーを保持する。一時記憶部１６０８に存在し、各ストリーム情報アクセスライブラリによって参照される。ストリーム情報アクセスライブラリは同時に複数の暗号解除を行うことが可能なため、複数のプログラムナンバーを保持可能である。その場合は、ストリーム情報アクセスライブラリが保持する実行単位の識別子との組として記録され、実行単位の識別子を指定することで、その実行単位に基づいて暗号解除されるサービスのプログラムナンバーを取得可能である。サービス記憶部が各ストリーム情報アクセスライブラリに存在する様子を図４９に表す。この図において、サービス記憶部４９００ａはＪＭＦ２２０５ａに属し、サービス記憶部４９００ｄはＤＳＭ−ＣＣ２２０５ｄに属し、サービス記憶部４９００ｅはＳＦ２２０５ｅに属する。以降、サービス記憶部を４９００と称する。
【０１６６】
ストリーム情報アクセスライブラリの例としてＪＭＦ２２０５ａの場合を述べる。利用の開始に関しては、図４７のシーケンスを用いる。Ｊａｖａプログラムが、ＪＭＦ２２０５ａ中のある実行単位に対して、映像・音声の再生命令を出すと、まずチャンネル識別子を受け取り（Ｓ４７０１）、プログラムナンバーを取得（Ｓ４７０２）、サービスが暗号化されていれば（Ｓ４７０３）、暗号解除開始部２８０３を利用して暗号解除を開始する（Ｓ４７０４）。その際、サービス記憶部４９００に対して、その実行単位の識別子とプログラムナンバーを組にして記録する（Ｓ４７０５）。その後映像音声を再生する（Ｓ４７０６）。
【０１６７】
利用の停止に関しては、図４８のシーケンスを用いる。Ｊａｖａプログラムが、ある実行単位に対して、映像音声の再生停止命令を出すと、その時点でその実行単位が再生していた映像・音声の再生を停止する（Ｓ４８０１）。さらに、その時点で、その実行単位に基づく暗号解除があれば停止する必要があるので、まずサービス記憶部４９００より、その実行単位の識別子と組になるプログラムナンバーを取得する（Ｓ４８０２）。もし取得できれば（Ｓ４８０３）、暗号解除が行われていたということなので、暗号解除停止部４００４を利用して暗号解除を停止し（Ｓ４８０４）、サービス記憶部４９００より、実行単位の識別子とプログラムナンバーの組を削除する（Ｓ４８０５）。
【０１６８】
このように操作することで、ＪＭＦ２２０５ａの利用開始・停止と同時に暗号解除の開始・停止を行う。これらは他のストリーム情報アクセスライブラリにも適用される。
実施の形態１におけるサービスマネージャ２２０４は、同時に選択可能なサービスが一つであったため、新規にサービスの選択を行う時点で、その前に選択されていたサービスの選択が終了していた。暗号解除に関しては、以前に選択されていたサービスの暗号解除は、新規サービスの選択を行う時点で終了することが可能であった。しかし、本実施の形態におけるサービスマネージャ２２０４は複数のサービスを同時に選択することが可能である。そのため、新規サービスの選択処理と、以前のサービスの選択終了処理は対にならない。例えば、前述のＯＣＡＰ環境においては、サービスマネージャ２２０４は同時に複数の実行単位“サービスコンテキスト”を保持することが許され、それに従って同時に複数のサービスを選択可能である。さらに、実行単位“サービスコンテキスト”の数は動的に変化するため、同時に選択されるサービスの数は可変である。つまり本実施の形態におけるサービスマネージャ２２０４は、サービス選択及び、サービス選択終了の機能を持つ。この環境において、サービス単位の暗号解除を実現するために、上記ストリーム管理ライブラリ同様、サービスマネージャ２２０４内にもサービス記憶部４９００を導入する。
【０１６９】
サービスマネージャ２２０４によるサービスの選択は、実施の形態１同様“ＥＰＧ２２０２を用いたユーザによるチャンネル選択”及び“Ｊａｖａプログラムによるサービスマネージャ管理ライブラリ２２０５ｆの利用”によって開始される。またサービスマネージャ２２０４によるサービスの選択終了は、既にサービスを選択している実行単位“サービスコンテキスト”に関してさらなるサービス選択が行われる場合に、そのサービス選択に先立って行われるか、サービスマネージャ管理ライブラリ２２０５ｆに存在するサービス選択終了機能をＪａｖａプログラムが利用したときに行われる。サービスマネージャ２２０４についても、前述したＪＭＦ２２０５ａのシーケンス同様、サービス選択時に暗号解除を開始してサービス記憶部４９００に実行単位の識別子とプログラムナンバーの組を記録し、サービス選択終了時にサービス記憶部４９００より実行単位に対応するプログラムナンバーを取得して暗号解除を停止し、その実行単位の識別子とプログラムナンバーの組を削除する。
【０１７０】
なお、本実施の形態では、各ストリーム情報アクセスライブラリ内部に保持するサービス記憶部４９００は実行単位の識別子とプログラムナンバーの組を保持するが、さらに、手続きＳ４７０４において、ストリーム情報アクセスライブラリを利用したＪａｖａプログラムをただ一つ識別するための識別子も同時にサービス記憶部４９００に記録する実装も可能である。つまり、サービス記憶部４９００は実行単位の識別子、プログラムナンバー、Ｊａｖａプログラムの識別子の三要素を持つ組を保持する実装も可能である。この場合、Ｊａｖａプログラムがストリーム情報アクセスライブラリを利用してＭＰＥＧ２トランスポートストリーム内の暗号化された情報にアクセスし、暗号解除が行われた後、利用が行われたまま、Ｊａｖａプログラムが終了された場合、そのＪａｖａプログラムがストリーム情報アクセスライブラリを利用して開始された暗号解除を、暗黙的に終了する実装が可能である。Ｊａｖａプログラムの起動・終了機能を持つのはＡＭ２２０５ｂであり、ＡＭ２２０５ｂはＪａｖａプログラムを終了する際、そのＪａｖａプログラムの識別子を指定して、各ストリーム情報アクセスライブラリに通知を行う。通知を受けた各ストリーム情報アクセスライブラリは、各自が保持するサービス記憶部４９００が、終了したＪａｖａプログラムの識別子を含む組を保持する場合、その組に存在するプログラムナンバーによって識別されるサービスの暗号解除を、暗号解除停止部４００４を利用して停止する。同時に、終了したＪａｖａプログラムの識別子を含む組をサービス記憶部４９００から削除する。例えば、あるＪａｖａプログラムが映像・音声を再生するためにストリーム情報アクセスライブラリを利用したとき、それが暗号化されていれば、ストリーム情報アクセスライブラリは暗号解除を開始するが、その際に、Ｊａｖａプログラムの識別子、実行単位“プレイヤー”の識別子、プログラムナンバーの組をサービス記憶部４９００に保持しておく。そのＪａｖａプログラムがＡＭ２２０５ｂによって終了されると、ＡＭ２２０５ｂはそのＪａｖａプログラムの識別子を指定して終了通知を各ストリーム情報アクセスライブラリに対して行う。ＪＭＦ２２０５ａはそれを受けて、そのＪａｖａプログラムの識別子を含む組をサービス記憶部４９００より探索し、その組が見つかればその組に含まれるプログラムナンバーを指定して暗号解除停止部４００４を利用し、暗号解除を停止する。さらにこの実装をとった場合、サービスマネージャ２２０４があるサービスの選択を終了した際、選択終了したサービスが含むＪａｖａプログラムがストリーム情報アクセスライブラリを利用することで暗黙的に開始された暗号解除を停止することも可能である。サービスマネージャ２２０４は、サービスの選択を終了する際、ＡＭ２２０５ｂに対して、Ｊａｖａプログラムの終了命令を発行する。ＡＭ２２０５ｂはそれを受けて、そのサービスに含まれるＪａｖａプログラムの実行を終了する。その際、ＡＭ２２０５ｂはＪａｖａプログラムの識別子を指定して各ストリーム情報アクセスライブラリに対して終了通知を行うため、各ストリーム情報アクセスライブラリは、終了されるＪａｖａプログラムに関する暗号解除を停止することが可能である。また、Ｊａｖａプログラムの中には、サービスが選択終了しても、終了しないＪａｖａプログラムが存在する。このようなＪａｖａプログラムの管理もＡＭ２２０５ｂが行うため、サービス選択が終了した際も終了されないＪａｖａプログラムに関しては、サービスの選択終了時にも実行は停止されず、ストリーム情報アクセスライブラリに対してもＪａｖａプログラム実行終了通知が行われないため、そのＪａｖａプログラムが開始した暗号解除を残すことが可能である。
【０１７１】
なお、本実施の形態における暗号解除状態管理部２８０１及び、暗号解除開始部２８０３及び暗号解除停止部４００４は、同じサービスに対して何回暗号解除開始部２８０３が利用されたかを表すカウントを利用している。カウントを利用することで、暗号解除開始部２８０３が呼ばれた数だけ暗号解除停止部４００４が呼ばれない限り、暗号解除が停止されることはない。しかし、カウントを廃止し、暗号解除開始部２８０３が何度利用されても一度暗号解除停止部４００４が利用されれば暗号解除を停止する実装も可能である。その場合、まだ必要な暗号解除を停止してしまわないように、暗号解除開始部２８０３及び暗号解除停止部４００４を利用する側である、サービスマネージャ２２０４及びストリーム情報アクセスライブラリが注意する必要がある。例えば、ＪＭＦ２２０５ａとＳＦ２２０５ｅが同じサービス内の暗号化されたＥＳが伝送する情報を利用していたとして、ＪＭＦ２２０５ａの利用が終わったときに暗号解除停止部４００４を利用するとＳＦ２２０５ｅの利用がまだ終わっていないにも関わらず暗号解除が停止してしまう。このような状況を避けるため、暗号解除開始部２８０３及び暗号解除停止部４００４の利用者に共通のサービス記憶部４９００を設け、そちらでカウントを行う実装も可能である。
【０１７２】
図３９のＥＰＧを実現するＪａｖａプログラムの動作例を挙げる。まず放送受信装置自身のＥＰＧ２２０２上で行われるユーザのチャンネル選択に基づいてサービスマネージャ２２０４はサービスの選択を行う。この場合、ＥＰＧを実現するＪａｖａプログラムは図２４の行２４１１で表される“チャンネル１”に含まれ、ユーザは“チャンネル１”を選択したものとする。すると、サービスマネージャ２２０４は“チャンネル１”のチャンネル識別子“１”に基づいてプログラムナンバーを取得してサービス選択を行い、暗号解除が開始される。映像音声が再生され、図３９のＥＰＧを実現するＪａｖａプログラムが起動する。このＪａｖａプログラムはディスプレイに図３９のような画面を表示する。この時、デフォルトで選択済みとされるのは“チャンネル１”であり、３９２１にはサービスマネージャ２２０４がサービスの選択を行った時点で暗号解除されている映像が表示される。また、デフォルトで選択候補のカーソルが合わせられるのが番組表の一番下の“ＴＶ  Ｊａｐａｎ”だった場合、ＪａｖａプログラムはＪＭＦ２２０５ａを用いて、“ＴＶ  Ｊａｐａｎ”の映像を３９２２に表示する。この際に、ＪＭＦ２２０５ａは暗号解除開始部２８０３を利用する。ここでは、まだ暗号解除されていないサービスなので、新たに暗号解除を開始する。後は、選択候補のカーソル（破線）がユーザによって上下に動かされるたびに、ＪａｖａプログラムはＪＭＦ２２０５ａを用いて再生の停止・再生開始を繰り返す。と同時に、ＪＭＦ２２０５ａは暗号解除の停止と開始を行うことになる。複数サービスの暗号解除を許すことで、このようなＪａｖａプログラムを実現することが可能となる。
【０１７３】
なお本実施の形態において、暗黙的に暗号解除が行われるタイミングは、サービスマネージャ２２０４によるサービスの選択時、または、Ｊａｖａプログラムによるストリーム情報アクセスライブラリの利用時、または両方、の三種類であるが、このどれであっても本発明は適用可能である。サービスマネージャ２２０４によるサービスの選択時のみであった場合、サービスマネージャ２２０４によって選択されているサービスのＰＭＴに含まれるＥＳのみが暗号解除される。ストリーム情報アクセスライブラリの利用時であった場合、サービスマネージャ２２０４が選択しているサービスに関わらず、アプリケーションが利用したい情報を含むＰＭＴに基づく暗号解除が行われる。両方であった場合は、どちらも含まれる。
【０１７４】
なお、本実施の形態において、デスクランブラの数が足りなくなった場合、既に開始されている暗号解除が停止されない限りは、暗号解除を行うことが不可能である。そのような場合は、サービスマネージャ２２０４のサービス選択やストリーム情報アクセスライブラリを用いたＭＰＥＧ２トランスポートストリームが含む情報へのアクセスは実質的には不可能となる。この場合において、暗号解除失敗ということで、サービス選択やストリーム情報へのアクセス自身のエラーを返す実装も可能であり、また、エラーは返さず、暗号化されていない情報のみに対するアクセスに対してのみ取得を行う実装も可能である。例えば、映像音声用ＥＳは暗号化されているがＪａｖａプログラムを伝送するＭＰＥＧ２セクション用ＥＳは暗号化されていないサービスがあり、それに対してサービス選択を行ったサービスマネージャ２２０４が暗号解除を開始できなかった場合、映像・音声はあきらめて、Ｊａｖａプログラムのみを起動することによりサービス選択成功として扱ってもよいし、暗号解除失敗を理由にサービス選択失敗として扱う実装もありうる。
【０１７５】
また前述のＯＣＡＰ環境ではサービスは二種類存在する。一つはＰＭＴと結びついて存在する通常のサービスで、もう一つはＰＭＴと結びつかずに存在する抽象サービスである。抽象サービスはＪａｖａプログラムのみを内包して存在し、サービスの選択時には映像・音声の再生は行わず、ＤＳＭ−ＣＣ２２０５ｄを用いてＪａｖａプログラムをダウンロードするのみである。また抽象サービスはＪａｖａプログラムの実行が終了するとサービスの選択が終了される。ＯＣＡＰ環境のように、サービスのタイプが二種類あるような環境では、サービスマネージャ２２０４によるサービス選択の際、サービスタイプに応じて、暗号解除を開始、停止するタイミングを変えてもよい。例えば、通常のサービスの選択においては、サービスマネージャ２２０４によるサービス選択の際に暗黙的に暗号解除を開始するが、抽象サービスの場合はサービス選択の際には暗号解除を行わない。その場合、抽象サービス選択の過程で、ＤＳＭ−ＣＣ２２０５ｄによるＪａｖａプログラムのダウンロードの間のみ暗号解除が行われ、ダウンロードが終了するとＤＳＭ−ＣＣ２２０５ｄによってその暗号解除は停止される。この環境では、通常サービスに関してはサービスが選択されている間暗号解除が続くが、抽象サービスに関してはサービスの選択開始時にＤＳＭ−ＣＣ２２０５ｄによる暗号解除が行われるのみで、後はサービスが選択されている間も暗号解除は行われない。
【０１７６】
（実施の形態４）
以前の実施の形態においては、暗号解除の単位としてサービスを用いていた。しかしながら、サービスを暗号解除の単位とした場合、実際にはＪａｖａプログラムが利用しない暗号化された情報まで暗号解除が行われるため、デスクランブラの無駄である。より有効にデスクランブラを利用するためには、必要なときに必要な暗号解除を行うべきである。例えば、ＥＳを指定してセクションの選別を行うＳＦ２２０５ｅがＪａｖａプログラムによって利用され、その過程で暗黙的に暗号解除を行う場合、指定されたＥＳは一つであり、一つのデスクランブラを占有して暗号解除を行えば充分だが、以前の実施の形態では、サービス単位で暗号解除を行うため、指定ＥＳを含むサービス全体を暗号解除する必要があった。もしもそのサービスが映像・音声などの他ＥＳを多く包含していた場合、必要のないＥＳの暗号解除が行われてしまい、非効率的である。
【０１７７】
本実施の形態では、暗号解除の単位として、ＥＳを受け付けることを可能とする。これにより、ＥＳを指定して暗号解除を行うことが可能となる。これを実現するために暗号解除状態管理部２８０１、デスクランブラ管理部２８０２、暗号解除開始部２８０３、暗号解除停止部４００４の動作を変更する。
【０１７８】
暗号解除状態管理部２８０１においては、以前の実施の形態ではプログラムナンバーを記憶していたが、本実施の形態では、プログラムナンバーとＰＩＤの組を記録する。さらに、各組に関してカウントを保持し、対象となるＥＳが暗号解除開始部２８０３を用いて暗号解除が開始された数をカウントする。
【０１７９】
デスクランブラ管理部２８０２は、以前の実施の形態では、使用状態やプログラムナンバーを記録していたが、本実施の形態では、プログラムナンバーに加え、ＰＩＤを記録する。これにより、ＥＳを指定しての暗号解除の開始や停止に対応可能となる。
【０１８０】
暗号解除開始部２８０３の動作は図５０、図５１のように変更する。まずサービス指定と同時にＥＳ指定を受け入れるため、プログラムナンバーと同時にＰＩＤを受け取る（Ｓ５００１）。次に暗号解除状態管理部２８０１より、プログラムナンバーとＰＩＤの組に対応するカウントを取得する（Ｓ５００２）。カウントが１以上であれば（Ｓ５００３）、カウントを１増やして（Ｓ５００８）、シーケンスを終了する。カウントが０であれば、まだ指定ＰＩＤのＴＳパケットが構成するＥＳは暗号解除が開始されていない。プログラムナンバーに対応するＰＭＴを取得し（Ｓ５００４）、その中から抽出したＰＩＤに合致するＥＳに関する情報を取得する（Ｓ５００５）。その後、図５１のシーケンスに入る（Ｓ５００６）。図５１のシーケンスでは、まずＥＳ情報を取得し（Ｓ５１０１）、次にデスクランブラ管理部２８０２に問い合わせて“未使用”状態にあるデスクランブラを取得する（Ｓ５１０２）。もし全てのＥＳを暗号解除可能なデスクランブラが存在すれば（Ｓ５１０３）、図１５のシーケンスにて暗号解除を開始する（Ｓ５１０４）。その後、今回暗号解除を開始したデスクランブラに関して、デスクランブラ管理部２８０２に使用状態を“使用中”に変更し、プログラムナンバーとＰＩＤを記録する（Ｓ５１０５）。その後、図５０のシーケンスに戻り、暗号解除状態管理部２８０１にプログラムナンバーとＰＩＤの組を記録し、カウントを１にする（Ｓ５００７）。なお、本実施の形態における暗号解除開始部２８０３に関しても、実施の形態１における暗号解除開始部２８０３同様、外部アダプタ１８１１にデスクランブラが存在する場合は、図５０のシーケンスはＲＯＭ１６０９に存在するライブラリとして実現され、図５１のシーケンスは外部アダプタ１８１１内のＲＯＭにあるプログラムとして実現されることもある。さらにその二つは、同期せずに動作する実装形態をとる場合もある。いずれにおいても本発明は適用可能である。
【０１８１】
暗号解除停止部４００４の動作シーケンスはデスクランブラが放送受信装置の中にあるか外にあるかで異なる。
図１６のようにデスクランブラが端末装置１６００内部に存在する場合の動作シーケンスを図５２に表す。まずプログラムナンバー及びＰＩＤを受け取る（Ｓ５２０１）と、暗号解除状態管理部２８０１に問い合わせて、プログラムナンバーとＰＩＤの組のカウントを取得する（Ｓ５２０２）。カウントの値を判定し（Ｓ５２０３）、０であればそのＰＩＤのＴＳパケットが構成するＥＳは暗号解除が開始されていないため、何もせずに終了する。２以上であれば、暗号解除状態管理部２８０１のプログラムナンバーとＰＩＤの組のカウンタを１減らして（Ｓ５２０８）シーケンスを終了する。１であれば、暗号解除を停止するため、デスクランブラ管理部２８０２から“使用中”かつプログラムナンバー及びＰＩＤに合致するデスクランブラを取得し（Ｓ５２０４）、暗号解除を停止する（Ｓ５２０５）。その後、今回暗号解除を停止したデスクランブラに関して、デスクランブラ管理部２８０２にて状態を“未使用”に変更し、プログラムナンバー及びＰＩＤをクリアする（Ｓ５２０６）。さらに、暗号解除状態管理部２８０１より、プログラムナンバー及びＰＩＤを削除する（Ｓ５２０７）。
【０１８２】
図１８のようにデスクランブラが端末装置１８００の外、外部アダプタ１８１１内に存在する場合の動作シーケンスを図５３及び図５４に表す。まずプログラムナンバー及びＰＩＤを受け取る（Ｓ５３０１）と、暗号解除状態管理部２８０１に問い合わせて、プログラムナンバーとＰＩＤの組のカウントを取得する（Ｓ５３０２）。カウントの値を判定し（Ｓ５３０３）、０であれば、指定されたＰＩＤのＴＳパケットが構成するＥＳは暗号解除が開始されていないのでシーケンスを終了する。２以上であれば、暗号解除状態管理部２８０１が管理するプログラムナンバーとＰＩＤの組のカウンタを１減らして（Ｓ５３０８）、シーケンスを終了する。１であれば、暗号解除を停止するため、プログラムナンバーに対応するＰＭＴを取得し（Ｓ５３０４）、Ｓ５３０３で抽出されたＰＩＤに合致するＥＳ情報を取得し、ＣＡ−ＰＭＴを構成する（Ｓ５３０５）。それを外部アダプタ１８１１に送信することで図５４のシーケンスに入る（Ｓ５３０６）。図５４では、まずＣＡ−ＰＭＴを受け取り（Ｓ５４０１）、ＥＳ情報を取得する（Ｓ５４０２）。デスクランブラ管理部２８０２に問い合わせて“使用中”かつプログラムナンバー及びＰＩＤが合致するデスクランブラを取得し（Ｓ５４０３）、暗号解除を停止する（Ｓ５４０４）。その後、今回暗号解除を停止したデスクランブラに関して、デスクランブラ管理部２８０２にて状態を“未使用”に変更し、プログラムナンバー及びＰＩＤをクリアする（Ｓ５４０５）。さらに図５３に戻り、暗号解除状態管理部２８０１よりプログラムナンバー及びＰＩＤの組を削除する（Ｓ５３０７）。本実施の形態においても、ＲＯＭ１６０９に図５３のシーケンスを実現するライブラリが記録され、図５４のシーケンスを実現するプログラムが外部アダプタ１８１１内のＲＯＭに記録される実装形態は可能である。さらに、二つが同期せずに実行される形態も可能である。いずれの場合も本発明は適用可能である。
【０１８３】
本実施の形態では、サービスマネージャ２２０４による暗黙的な暗号解除であっても、ストリーム情報アクセスライブラリによる暗黙的な暗号解除であってもよい。さらにその暗号解除の開始・停止のタイミングは、実施の形態３と同様、サービスマネージャ２２０４のサービス選択時に開始して、サービス選択終了時に停止、及びストリーム情報アクセスライブラリの利用開始時に暗号解除開始して、利用終了時に暗号解除を停止する。ただ、暗号解除開始部２８０３及び暗号解除停止部４００４に指定する情報はプログラムナンバーのみではなく、ＰＩＤを指定可能なので、ＳＦ２２０５ｅなど、ＰＩＤが指定されるストリーム情報アクセスライブラリに関しては、指定されたＰＩＤのみを指定することで、無駄な暗号解除を行わないようにする。
【０１８４】
なお、本実施の形態における暗号解除状態管理部２８０１及び、暗号解除開始部２８０３及び暗号解除停止部４００４は、プログラムナンバー及びＰＩＤで識別される同じＥＳに対して何回暗号解除開始部２８０３が利用されたかを表すカウントを利用している。カウントを利用することで、暗号解除開始部２８０３が呼ばれた数だけ暗号解除停止部４００４が呼ばれない限り、ＥＳの暗号解除が停止されることはない。しかし、カウントを廃止し、暗号解除開始部２８０３が何度利用されても一度暗号解除停止部４００４が利用されれば暗号解除を停止する実装も可能である。その場合、まだ必要な暗号解除を停止してしまわないように、暗号解除開始部２８０３及び暗号解除停止部４００４を利用する側である、ストリーム情報アクセスライブラリが注意する必要がある。そうでないとまだ暗号解除が必要なＥＳの暗号解除が停止されてしまうことがありうる。このような状況を避けるため、暗号解除開始部２８０３及び暗号解除停止部４００４の利用者に共通のサービス記憶部４９００を設け、そちらでカウントを行う実装も可能である。
【０１８５】
また、本実施の形態における暗号解除状態管理部２８０１はプログラムナンバーとＰＩＤの組と、そのカウントを保持するが、ＥＳはＰＩＤのみでも指定可能なので、ＰＩＤとそのカウントを保持する実装でもよい。
【０１８６】
また、本実施の形態における暗号解除開始部２８０３及び暗号解除停止部４００４はプログラムナンバーを受け取らない実装も可能である。その場合、ＰＭＴに記載されるＥＳの情報が必要な場合や、ＣＡ−ＰＭＴを利用する場合、プログラムナンバーによるＰＭＴの指定が不可能なため、全てのＰＭＴを取得し、その中からＰＩＤが合致するＰＭＴを探しだして、利用する。
【０１８７】
なお、本実施の形態における暗号解除開始部２８０３及び暗号解除停止部４００４はプログラムナンバー一つとＰＩＤ一つを受け取るが、ＰＩＤが複数であっても実装可能である。その場合、暗号解除開始部２８０３及び暗号解除停止部４００４の動作シーケンス内で、本実施の形態で述べた単体のＥＳに対する操作を指定されたＥＳ分繰り返す。また、サービスを指定してＰＩＤ指定を省略することでＰＭＴ内の全てのＥＳを表現したい場合は、単にプログラムナンバーだけ指定することで、そのように動作するように実装可能である。
【０１８８】
本実施の形態を用いることで、Ｊａｖａプログラムに意識させずに、効率的にデスクランブラを利用することが可能となる。
（実施の形態５）
実施の形態３においては、暗号解除開始部２８０３は、デスクランブラがある限り、複数のサービスの同時暗号解除を実現することが可能である。例えば、ＥＳを１０個含むサービスが１０個合った場合、デスクランブラが１００個あれば全てのサービスを同時に暗号解除可能である。また、実施の形態４では、サービス単位ではなくＥＳ単位での暗号解除を実現し、必要とされるＥＳのみを暗号解除する形態について述べた。これらは端末装置内にデスクランブラが存在するかしないかに関わらず、どれだけのサービスまたはＥＳを同時に暗号解除することができるか、という最大値は、利用可能なデスクランブラの数に依存した。例えば、図５１の手続きＳ５１０３のように、空いたデスクランブラが存在すれば暗号解除を開始する、という判断が暗号解除開始部２８０３の動作シーケンスの中に存在している。しかしながら、ハードウェア制限やソフトウェア制限により、同時に暗号解除可能なサービスの数が決まっていることがある。例えば、実施の形態１では同時に暗号解除可能なサービスは一つと決まっていた。例えば、外部アダプタ１８１１を利用するハードウェア構成においては、同時に暗号解除可能なサービスの最大数は外部アダプタ１８１１に依存して決まる。さらに外部アダプタ１８１１は端末装置１８００に対して着脱可能であるので、端末装置１８００にとってサービスの最大数管理を予め固定しておくことは不可能である。そこで、本実施の形態ではサービス最大数を管理する機構を導入する。
【０１８９】
本実施の形態では図５５に表した構成図のように、ＣＡライブラリ２２０６に、新たにサービス最大数管理部５５０５を導入する。
サービス最大数管理部５５０５は、同時に暗号解除可能なサービスの最大数を保持する。例えば、同時に一つのサービスしか暗号解除できない場合は“１”を保持し、同時に三つのサービスまで同時に暗号解除可能である場合は“３”を保持する。サービス最大数管理部５５０５は図１６のようにデスクランブラが端末装置１６００内に存在する場合はＲＯＭ１６０９に保持され、暗号解除開始部２８０３によって参照される。図１８のようにデスクランブラが端末装置１８００の外の外部アダプタ１８１１内に存在する場合は外部アダプタ１８１１内のＲＯＭに保持され、外部アダプタ１８１１上で動作するプログラムによって参照される。また、外部アダプタ１８１１上にデスクランブラが存在する場合でも、前もって端末装置１８００が外部アダプタ１８１１より同時に暗号解除できるサービスの最大数を取得できる場合は、その値を１次記憶部１６０８または２次記憶部１６０７に保持することでサービス最大数管理部５５０５の実装とする場合もありうる。さらに、同時に暗号解除可能なサービスの最大数が動的に変動する場合、１次記憶部１６０８または２次記憶部１６０７にサービス最大数管理部５５０５が存在し、動的に変動する同時暗号解除が可能なサービスの最大値を保持してもよい。いずれの場合も本発明は適用可能である。
【０１９０】
さらにＣＡライブラリ２２０６内の暗号解除開始部２８０３に変更を加える。
暗号解除開始部２８０３については、サービス最大数管理部５５０５が端末装置上に存在するか外部アダプタ上に存在するかによりシーケンスが異なる。サービス最大数管理部５５０５が端末装置上に存在する場合、暗号解除開始部２８０３が指定プログラムナンバーを受け取った時点で、サービス最大数管理部５５０５よりサービス最大数を取得し、また暗号解除状態管理部２８０１より、その時点で暗号解除をしているサービス数を取得する。二つの値を比較し、最大数の方が大きい場合は、暗号解除を開始する。サービス最大数管理部５５０５が外部アダプタ１８１１上に存在する場合、外部アダプタ１８１１がＣＡ−ＰＭＴを受け取った際、外部アダプタ１８１１上で動作する暗号解除シーケンスを実現するプログラムによって、サービス最大数管理部５５０５より同時暗号解除サービスの最大数が取得され、またデスクランブラ管理部２８０２よりその時点で行われている暗号解除の数を取得する。その二つの値を比較し、最大数の方が大きい場合は、暗号解除を開始する。
【０１９１】
本実施の形態についても、サービスマネージャ２２０４及びストリーム情報アクセスライブラリのどちらか、あるいは両方で暗黙的な暗号解除を行うことが可能であり、そのサービスマネージャ２２０４及びストリーム情報アクセスライブラリの動作シーケンスは、実施の形態３及び実施の形態４と同様である。
【０１９２】
本実施の形態により、デスクランブラ自身の最大数でなく、同時に暗号解除可能なサービスの最大数によって暗号解除を制御することが可能となる。
（実施の形態６）
以前の実施の形態３〜４では、サービスが複数選択可能であるため、複数のＪａｖａプログラムが同時に動作することがある。利用可能なデスクランブラの数は有限であるため、同時に暗号解除可能なサービス及びＥＳには限界がある。そのため、限界に達した場合、デスクランブラの競合が発生する。本実施の形態では、複数のＪａｖａプログラムが同時に動作し、同時に放送信号内の情報にアクセスする場合を想定する。
【０１９３】
本実施の形態では、このように複数のＪａｖａプログラムが暗号解除を開始する場合、先に開始された暗号解除が優先する形態を考える。
実施の形態３及び４に関しては、暗号解除開始部２８０３及び暗号解除停止部４００４の動作シーケンスは既に先勝ちを実現している。複数サービス及びＥＳを指定して暗号解除を開始した場合、デスクランブラに余裕がある場合は複数サービスの暗号解除を同時に実行可能であるが、デスクランブラに余裕がなくなった場合、先に開始されている暗号解除を停止しない限り暗号解除を開始できない。つまり複数サービスの暗号解除を許す場合は実施の形態３及び実施の形態４のＣＡライブラリ２２０６を利用することで既に先勝ちに対応されている。
【０１９４】
実施の形態１及び２に関しては暗号解除停止部４００４が存在せず、暗号解除開始部２８０３の動作シーケンスは後勝ちを実現している。つまり後に暗号解除を開始しようとしたＪａｖａプログラムが常に暗号解除を開始できる動作シーケンスとなっている。これを変更するため、実施の形態１及び２で利用するＣＡライブラリ２２０６に変更を加える。
【０１９５】
ＣＡライブラリ２２０６内の暗号解除開始部２８０３を変更する。さらに暗号解除停止部４００４を導入する。
暗号解除開始部２８０３の動作シーケンスを実施の形態１における図３０及び図３１のシーケンスから、図５６及び図３１のシーケンスに変更する。図３１に関しては等しいため説明は省略する。図５６において、まず指定されたプログラムナンバーを受け取り（Ｓ５６０１）、暗号解除状態管理部２８０１に問い合わせてプログラムナンバーを取得する（Ｓ５６０２）。ここでプログラムナンバーは暗号解除が既に開始されている場合のみ取得可能であるはずなので、もしもプログラムナンバーが取得可能であれば、既に暗号解除が開始されており、もしもプログラムナンバーを取得不可能であれば、暗号解除は行われていないと判断可能である。その判断を行い（Ｓ５６０３）、既に暗号解除が行われていれば何もせずにシーケンスを終了する。もし暗号解除が行われていなければ、ＰＭＴを取得し（Ｓ５６０４）、図３１のシーケンスを利用して暗号解除を開始し（Ｓ５６０５）、暗号解除状態管理部２８０１にプログラムナンバーを記録する（Ｓ５６０６）。
【０１９６】
暗号解除停止部４００４の動作シーケンスは実施の形態３と同様でよい。
つまり指定されたプログラムナンバーにおける暗号解除が既に開始されていれば、その暗号解除を停止する。
【０１９７】
上記構成の実現により、一つのサービスしか同時に暗号解除を行うことのできないハードウェア構成においても、先勝ちを実現可能である。例えば、二つのＪａｖａプログラム（Ｊａｖａプログラム１、Ｊａｖａプログラム２）が同時に動作している場合、Ｊａｖａプログラム１が先にＪＭＦ２２０５ａにて映像音声再生を開始、それに伴い暗黙的に暗号解除を開始していた場合、Ｊａｖａプログラム２がＪＭＦ２２０５ａを利用して別のサービスに含まれる映像音声の再生を開始したくても、暗号解除は既にＪａｖａプログラム１が指定したサービスに対して行われているため、図５６における手続きＳ５６０３の判断により、Ｊａｖａプログラム２が指定したサービスは暗号解除を開始できない。このようにして先勝ちが実現される。
【０１９８】
（実施の形態７）
実施の形態６では、複数のＪａｖａプログラムが動作する環境を想定するが、デスクランブラの競合が起こった場合、先に暗号解除を開始しているＪａｖａプログラムの使用権が優先されていた。本実施の形態では、複数のＪａｖａプログラムが動作し、さらに各Ｊａｖａプログラムに優先度が設定されている状況を想定する。このような状況の模式図を図５７（１）に表す。ＪａｖａプログラムＡ５７０１によって既にデスクランブラ５７１１、デスクランブラ５７１２、デスクランブラ５７１３が利用されている。ここで、ＪａｖａプログラムＢ５７０２が同時に二つのＥＳの暗号解除を行いたい場合、デスクランブラ５７１４しか未使用のデスクランブラが存在しないため、暗号解除を開始することができない。ここで、各Ｊａｖａプログラムに優先度が設定されており、ＪａｖａプログラムＡ５７０１よりもＪａｖａプログラムＢ５７０２の方が優先度が高く設定されている場合、本実施の形態では、図５７（２）のようにＪａｖａプログラムＡ５７０１による暗号解除が停止され、ＪａｖａプログラムＢ５７０２による暗号解除が開始される。
【０１９９】
本実施の形態では、複数のＪａｖａプログラム間でデスクランブラの競合が起こった際、高優先度のＪａｖａプログラムによる放送信号内情報へのアクセスライブラリの利用に対応する暗黙的な暗号解除が優先する。これを実現するために、以前の実施の形態における暗号解除状態管理部２８０１、暗号解除開始部２８０３に変更を行う。またデスクランブラ管理部２８０２については実施の形態３同様とする。
【０２００】
暗号解除状態管理部２８０１は、プログラムナンバー、カウンタとともに、暗号解除の基となるストリーム情報アクセスライブラリの利用を行ったＪａｖａプログラムの優先度を記録する。さらに複数のＪａｖａプログラムが優先度を利用した場合、全てのＪａｖａプログラムの優先度を記録する。
【０２０１】
暗号解除開始部２８０３は、既に暗号解除が行われていた場合、既に開始される暗号解除の基となるサービスマネージャ管理ライブラリ２２０５ｆまたはストリーム情報アクセスライブラリを利用したＪａｖａプログラムの優先度が、新規にサービスマネージャ管理ライブラリ２２０５ｆまたはストリーム情報アクセスライブラリを利用したＪａｖａプログラムの優先度よりも低い場合、既に行われている暗号解除を暗黙的に停止し、新規に暗号解除を開始する。ただし、既に複数のＪａｖａプログラムから暗号解除されているサービスがある場合、暗号解除状態管理部２８０１はこれら全てのＪａｖａプログラムの優先度を記録している。図５８にこのような状況を表す。図５８では、ＪａｖａプログラムＡ５８０１及びＪａｖａプログラムＢ５８０２が、プログラムナンバーが１０１であるサービスの暗号解除を行っている。この状況での暗号解除状態管理部２８０１は図５９のようになっている。プログラムナンバーが１０１であるプログラムを暗号解除しているのは、優先度が“１０”であるＪａｖａプログラムＡ５８０１と、優先度が“２０”であるＪａｖａプログラムＢ５８０２であることを表している。この時、ＪａｖａプログラムＣ５８０３が暗号解除を開始したいとき、もしＪａｖａプログラムＣ５８０３の優先度が２０を超えていればデスクランブラを奪い取ることが可能である。しかし、もしＪａｖａプログラムＣ５８０３の優先度が２０以下であれば、その優先度がＪａｖａプログラムＡ５８０１を上回っていたとしても、ＪａｖａプログラムＢ５８０２の優先度以下なので、デスクランブラを奪い取ることはできない。
【０２０２】
図６０に本実施の形態における全体シーケンス図を表す。Ｊａｖａプログラム１及びＪａｖａプログラム２は放送受信装置上で同時に動作する二つのＪａｖａプログラムであり、Ｊａｖａプログラム２の方が優先度が高いとする。まずＪａｖａプログラム１がＪＭＦ２２０５ａを利用して映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６００１）。ＣＡライブラリ２２０６は暗号解除を開始する（Ｓ６００２）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを利用して別の映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６００３）。ＣＡライブラリ２２０６は、既に開始されている暗号解除を行ったＪａｖａプログラム１の優先度と、新規に暗号解除を行いたいＪａｖａプログラム２の優先度を比較し、Ｊａｖａプログラム２の方が優先度が高いため、Ｊａｖａプログラム１の暗号解除を停止して、Ｊａｖａプログラム２の暗号解除を開始する（Ｓ６００４）。
【０２０３】
なお本実施の形態において、暗黙的に暗号解除が行われるタイミングは、実施の形態１同様サービスマネージャ２２０４によるサービスの選択時のみの場合と、実施の形態２同様ストリーム情報アクセスライブラリ利用時の場合、両方の場合、の三種類存在する。このどれでも本発明は適用可能である。また、同時に複数サービスの暗号解除が可能であっても、本発明は適用可能である。その場合、暗号解除状態管理部２８０１及びデスクランブラ管理部２８０２は実施の形態３のものをベースとして用いる。また、暗号解除の単位はＥＳであっても本発明は適用可能である。ＥＳを単位とする場合は暗号解除状態管理部２８０１及びデスクランブラ管理部２８０２は実施の形態４のものをベースとして用いる。
【０２０４】
また、本実施の形態では、Ｊａｖａプログラム同士の優先度を用いた競合の解決に関して述べているが、サービスマネージャ２２０４によるサービス選択時に暗黙的に暗号解除が開始される場合、Ｊａｖａプログラムによるサービスマネージャ管理ライブラリ２２０５ｆの利用だけでなく、ＥＰＧ２２０２を用いたユーザによるチャンネル選択によってサービス選択が開始されることがある。そのため、ＥＰＧ２２０２によるサービス選択に基づく暗号解除に関しても優先度を設定し、優先度を用いて暗号解除を行うことが可能である。例えば、全てのＪａｖａプログラムよりも高い優先度をユーザに与えると、ユーザがＥＰＧ２２０２でチャンネル選択をすることによるサービス選択がサービスマネージャ２２０４によって開始される際、Ｊａｖａプログラムのサービスマネージャ管理ライブラリ２２０５ｆの利用またはストリーム情報アクセスライブラリの利用に起因する暗号解除に優先して、サービスの暗号解除が開始される。また、Ｊａｖａプログラムがとりうる優先度の範囲内の一点をユーザの優先度と設定すると、その点未満の優先度を有するＪａｖａプログラムが開始した暗号解除を行うデスクランブラを奪えるが、その点より高い優先度を持つＪａｖａプログラムが開始した暗号解除を行うデスクランブラを奪うことはできない。前述のＯＣＡＰ環境では、システム管理を行うためにＪａｖａプログラムがとりうる範囲で最高の優先度を有する管理用Ｊａｖａプログラムが放送受信装置上で動作するが、例えば、ユーザの優先度が管理用Ｊａｖａプログラムの優先度より高ければ、管理用Ｊａｖａプログラムに優先して暗号解除を行うことが可能であり、また、管理用Ｊａｖａプログラムより低ければ管理用Ｊａｖａプログラムが開始した暗号解除に利用されるデスクランブラを奪うことができなくなる。このようなユーザの優先度を設定して、Ｊａｖａプログラムとユーザ操作間の競合を解決することが可能である。
【０２０５】
また、Ｊａｖａプログラムとユーザ以外に、放送受信装置によってストリーム情報アクセスライブラリが利用されることがある。例えば前述のＯＣＡＰ環境では、放送受信装置は、ＡＭ２２０５ｂを用いて、ＯＯＢにて伝送されるＸＡＩＴという情報を常時監視する。これは抽象サービスに関する情報を含んでおり、ＸＡＩＴの情報が更新された場合、抽象サービスに含まれるＪａｖａプログラムをダウンロードしなければならない場合がある。その場合、ＡＭ２２０５ｂは、ＤＳＭ−ＣＣ２２０５ｄを用いてＪａｖａプログラムを構成するファイルをダウンロードしなければならない。これはＪａｖａプログラムでもユーザでもなく、放送受信装置上のシステムによるストリーム情報アクセスライブラリの利用であり、もしもＪａｖａプログラムを構成するファイルを伝送するＭＰＥＧ２セクションが暗号化されていたら、暗号解除を行う必要がある。このような場合に関してもユーザ操作同様に、独自の優先度を設定し、Ｊａｖａプログラム及びユーザ操作との間で競合が発生した場合、その優先度を用いて競合を解決することが可能であり、その場合も本発明は適用可能である。例えば、Ｊａｖａプログラム及びユーザ操作よりも高い優先度を設定しておくと、あらゆる場合において常に暗号解除を優先して実行可能となる。またＪａｖａプログラムより高く、ユーザより低く設定しておけば、Ｊａｖａプログラムが開始した暗号解除からデスクランブラを奪うことができるが、ユーザが開始した暗号解除から奪うことはできない。またＪａｖａプログラムがとりうる優先度の範囲の一点に設定すれば、それより高い優先度で動くＪａｖａプログラムからもデスクランブラを奪うことはできなくなる。
【０２０６】
なお、優先度を考慮する際に、サービスマネージャ２２０４からの暗号解除か、ストリーム情報アクセスライブラリによる暗号解除かを判断し、優先度による競合解決を、互いに影響を与えないように行うことも可能である。例えば、ストリーム情報アクセスライブラリによって暗号解除開始部２８０３が利用された際に競合が起こった場合、同じくストリーム情報アクセスライブラリによって既に開始されている暗号解除を調べて優先度による競合解決を行い、サービスマネージャ２２０４によって既に行われている暗号解除に関しては、もしもより優先度の低い暗号解除が存在したとしても、これを競合の解決に用いない。さらに、サービスマネージャ２２０４からの暗号解除開始部２８０３の利用の際は自由に優先度による競合解決が可能だが、ストリーム情報アクセスライブラリからの暗号解除開始部２８０３の利用の際は、ストリーム情報アクセスライブラリからの暗号解除の中だけで優先度による競合解決を行う、という形態も可能である。逆に、ストリーム情報アクセスライブラリからの暗号解除開始部２８０３の利用の際は自由に優先度による競合解決が可能だが、サービスマネージャ２２０４からの暗号解除開始部２８０３の利用の際はサービスマネージャ２２０４からの暗号解除の中だけで優先度による競合解決を行う、という形態も可能である。
【０２０７】
（実施の形態８）
実施の形態１〜７においては、Ｊａｖａプログラムは暗黙的に開始された暗号解除に関する情報を知る手段が存在しない。
【０２０８】
さらに、実施の形態７においては、高優先度のＪａｖａプログラムによって、相対的に低優先度であるＪａｖａプログラムに基づく暗黙的な暗号解除が停止されることがある。しかしながら、暗号解除が停止されたＪａｖａプログラムは、それを知る手段がない。
【０２０９】
本実施の形態では、暗号解除の停止を知るためのイベントリスナを登録する機能をＪａｖａプログラムに提供する。本実施の形態でのＪａｖａライブラリ２２０５内の構成を図６１に表す。Ｊａｖａライブラリ２２０５内部にＣＡ管理ライブラリ６１００を設け、その中にイベントリスナ管理部６１０１、イベントリスナ登録部６１０２、イベントリスナ削除部６１０３を導入する。
【０２１０】
イベントリスナ管理部６１０１はＪａｖａプログラムによって登録されたイベントリスナを保持するモジュールであり、１次記憶部１６０８内に記録され、イベントリスナ登録部６１０２によってイベントリスナが登録され、イベントリスナ削除部６１０３によってイベントリスナが削除される。またＣＡライブラリ２２０６内の暗号解除開始部２８０３及び暗号解除停止部４００４の利用によって暗号解除が開始・終了されたときに、イベントリスナ管理部６１０１が管理するイベントリスナに対して通知を行う。
【０２１１】
イベントリスナ登録部６１０２はＪａｖａプログラムがイベントリスナを登録するためのライブラリとして実現される。ＲＯＭ１６０９に保存され、ＣＰＵ１６０６によって実行される。イベントリスナ登録部６１０２によって登録されたイベントリスナはイベントリスナ管理部６１０１によって管理され、暗号解除に関するイベントを通知するのに用いられる。
【０２１２】
イベントリスナ削除部６１０３はＪａｖａプログラムがイベントリスナ管理部６１０１に登録されたイベントリスナを削除するためのライブラリとして実現される。ＲＯＭ１６０９に保存され、ＣＰＵ１６０６によって実行される。
【０２１３】
イベントリスナ登録部６１０２及びイベントリスナ削除部６１０３はＪａｖａプログラムによって利用される。
なお、通知されるイベントは、イベントの理由を保持することがあってもよい。例えば、暗号解除停止イベントである場合、それがなぜ停止したのかを表す理由を保持してもよい。またイベントリスナは必ずしも暗号解除停止イベントのみを受け取る必要はない。本実施の形態では、暗号解除が別のＪａｖａプログラムによって奪われた時のみイベントが通知されるが、実装によっては、通常の暗号解除の開始イベントや別の理由による暗号解除停止イベントが通知されてもよい。
【０２１４】
図６２に本実施の形態におけるシーケンス図を表す。Ｊａｖａプログラム１及びＪａｖａプログラム２は放送受信装置上で同時に動作する二つのＪａｖａプログラムであり、Ｊａｖａプログラム２の方が優先度が高いとする。まずＪａｖａプログラム１がイベントリスナ登録部６１０２を利用する（Ｓ６２０１）と、ＣＡライブラリ２２０６はそのイベントリスナをイベントリスナ管理部６１０１に登録する（Ｓ６２０２）。次にＪａｖａプログラム１がＪＭＦ２２０５ａを利用して映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６２０３）。ＣＡライブラリ２２０６は暗号解除を開始する（Ｓ６２０４）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを利用して別の映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６２０５）。ＣＡライブラリ２２０６は、既に開始されている暗号解除を行ったＪａｖａプログラム１の優先度と、新規に暗号解除を行いたいＪａｖａプログラム２の優先度を比較し、Ｊａｖａプログラム２の方が優先度が高いため、Ｊａｖａプログラム１の暗号解除を停止して、Ｊａｖａプログラム２の暗号解除を開始する（Ｓ６２０６）。その際、Ｊａｖａプログラム１の暗号解除は停止されたため、Ｊａｖａプログラム１のイベントリスナに対して暗号解除が停止された旨の通知を行う（Ｓ６２０７）。
【０２１５】
本実施の形態により、Ｊａｖａプログラムは暗号解除開始・終了のタイミングを知ることが可能となる。
（実施の形態９）
実施の形態８では、複数のＪａｖａプログラムが同時に動作し、高優先度のＪａｖａプログラムが低優先度のＪａｖａプログラムの暗号解除を停止した場合、低優先度のＪａｖａプログラムは、自分の暗号解除が停止されたことを通知されるイベントリスナを登録・削除する手段を得た。本実施の形態では、さらにその後、高優先度のＪａｖａプログラムによる暗号解除が終了した場合、暗号解除が停止された低優先度のＪａｖａプログラムが設定したイベントリスナに対して、暗号解除が開始可能になった旨の通知を行う。
【０２１６】
図６３に本実施の形態におけるシーケンス図を表す。Ｊａｖａプログラム１及びＪａｖａプログラム２は放送受信装置上で同時に動作する二つのＪａｖａプログラムであり、Ｊａｖａプログラム２の方が優先度が高いとする。まずＪａｖａプログラム１がイベントリスナ登録部６１０２を利用する（Ｓ６３０１）と、ＣＡライブラリ２２０６はそのイベントリスナをイベントリスナ管理部６１０１に登録する（Ｓ６３０２）。次にＪａｖａプログラム１がＪＭＦ２２０５ａを利用して映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６３０３）。ＣＡライブラリ２２０６は暗号解除を開始する（Ｓ６３０４）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを利用して別の映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６３０５）。ＣＡライブラリ２２０６は、既に開始されている暗号解除を行ったＪａｖａプログラム１の優先度と、新規に暗号解除を行いたいＪａｖａプログラム２の優先度を比較し、Ｊａｖａプログラム２の方が優先度が高いため、Ｊａｖａプログラム１の暗号解除を停止して、Ｊａｖａプログラム２の暗号解除を開始する（Ｓ６３０６）。その際、Ｊａｖａプログラム１の暗号解除は停止されたため、Ｊａｖａプログラム１のイベントリスナに対して暗号解除が停止された旨の通知を行う（Ｓ６３０７）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを用いて映像・音声の再生を停止すると、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を停止しようとする（Ｓ６３０８）。ＣＡライブラリ２２０６は暗号解除を停止し（Ｓ６３０９）、Ｊａｖａプログラム１に対して、暗号解除が再開可能になった旨の通知を行う（Ｓ６３１０）。
【０２１７】
（実施の形態１０）
実施の形態８では、複数のＪａｖａプログラムが同時に動作し、高優先度のＪａｖａプログラムが低優先度のＪａｖａプログラムの暗号解除を停止した場合、低優先度のＪａｖａプログラムは、自分の暗号解除が停止されたことを通知されるイベントリスナを登録・削除する手段を得た。本実施の形態では、さらにその後、高優先度のＪａｖａプログラムによる暗号解除が終了した場合、暗号解除が停止された低優先度のＪａｖａプログラムが必要とする暗号解除を暗黙的に開始し、暗号解除を再開した旨の通知を低優先度のＪａｖａプログラムのイベントリスナに対して行う。
【０２１８】
図６４に本実施の形態におけるシーケンス図を表す。Ｊａｖａプログラム１及びＪａｖａプログラム２は放送受信装置上で同時に動作する二つのＪａｖａプログラムであり、Ｊａｖａプログラム２の方が優先度が高いとする。まずＪａｖａプログラム１がイベントリスナ登録部６１０２を利用する（Ｓ６４０１）と、ＣＡライブラリ２２０６はそのイベントリスナをイベントリスナ管理部６１０１に登録する（Ｓ６４０２）。次にＪａｖａプログラム１がＪＭＦ２２０５ａを利用して映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６４０３）。ＣＡライブラリ２２０６は暗号解除を開始する（Ｓ６４０４）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを利用して別の映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６４０５）。ＣＡライブラリ２２０６は、既に開始されている暗号解除を行ったＪａｖａプログラム１の優先度と、新規に暗号解除を行いたいＪａｖａプログラム２の優先度を比較し、Ｊａｖａプログラム２の方が優先度が高いため、Ｊａｖａプログラム１の暗号解除を停止して、Ｊａｖａプログラム２の暗号解除を開始する（Ｓ６４０６）。その際、Ｊａｖａプログラム１の暗号解除は停止されたため、Ｊａｖａプログラム１のイベントリスナに対して暗号解除が停止された旨の通知を行う（Ｓ６４０７）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを用いて映像・音声の再生を停止すると、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を停止しようとする（Ｓ６４０８）。ＣＡライブラリ２２０６は暗号解除を停止してＪａｖａプログラム１の暗号解除を再開し（Ｓ６４０９）、Ｊａｖａプログラム１に対して、暗号解除が再開された旨の通知を行う（Ｓ６４１０）。
【０２１９】
本実施の形態を用いると、Ｊａｖａプログラムは自分が行うストリーム情報アクセスに関する暗号解除が停止され、また再開できる状態になったら、通知によりそれを知ることが可能となる。
【０２２０】
（実施の形態１１）
実施の形態７では、複数のＪａｖａプログラムが同時に動作し、高優先度のＪａｖａプログラムが低優先度のＪａｖａプログラムの暗号解除を停止する。本実施の形態では、さらにその後、高優先度のＪａｖａプログラムによる暗号解除が終了した場合、暗号解除が停止された低優先度のＪａｖａプログラムが必要とする暗号解除を暗黙的に開始する。実施の形態１０では、この時、イベントリスナに対する通知が行われるが、本実施の形態では通知は行わない。
【０２２１】
図６５に本実施の形態におけるシーケンス図を表す。Ｊａｖａプログラム１及びＪａｖａプログラム２は放送受信装置上で同時に動作する二つのＪａｖａプログラムであり、Ｊａｖａプログラム２の方が優先度が高いとする。まずＪａｖａプログラム１がＪＭＦ２２０５ａを利用して映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６５０１）。ＣＡライブラリ２２０６は暗号解除を開始する（Ｓ６５０２）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを利用して別の映像・音声の再生を行うと、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を開始しようとする（Ｓ６５０３）。ＣＡライブラリ２２０６は、既に開始されている暗号解除を行ったＪａｖａプログラム１の優先度と、新規に暗号解除を行いたいＪａｖａプログラム２の優先度を比較し、Ｊａｖａプログラム２の方が優先度が高いため、Ｊａｖａプログラム１の暗号解除を停止して、Ｊａｖａプログラム２の暗号解除を開始する（Ｓ６５０４）。その後、Ｊａｖａプログラム２がＪＭＦ２２０５ａを用いて映像・音声の再生を停止すると、ＪＭＦ２２０５ａは暗黙的にＣＡライブラリ２２０６を利用して暗号解除を停止しようとする（Ｓ６５０５）。ＣＡライブラリ２２０６は暗号解除を停止してＪａｖａプログラム１の暗号解除を再開する（Ｓ６５０６）。
【０２２２】
本実施の形態を用いると、Ｊａｖａプログラムは、より高優先度のＪａｖａプログラムに暗号解除を奪われても、その利用が終了した際、自動的に暗号解除を復活できる。
（実施の形態１２）
実施の形態１〜１１では、ＣＡライブラリ２２０６は放送受信装置が暗黙的に暗号解除を行うのに用いられ、Ｊａｖａプログラム自身がこれを利用することは不可能であった。本実施の形態では、ＣＡライブラリ２２０６をＪａｖａプログラムに対して解放し、Ｊａｖａプログラムが独自に暗号解除を行うことを可能とする。これに際し、まずＣＡライブラリ２２０６はＪａｖａ言語を用いたライブラリになる。また、以前の実施の形態では、“ＥＰＧ２２０２を用いたユーザによるチャンネル選択”及び“Ｊａｖａプログラムによるサービスマネージャ管理ライブラリ２２０５ｆの利用”及び“Ｊａｖａプログラムによるストリーム情報アクセスライブラリの利用”及び“放送受信装置によるストリーム情報アクセスライブラリの利用”の四種類の暗号解除の開始タイミングが存在したが、本実施の形態では、“Ｊａｖａプログラムによるサービスマネージャ管理ライブラリ２２０５ｆの利用”及び“Ｊａｖａプログラムによるストリーム情報アクセスライブラリの利用”の際は、暗黙的な暗号解除は開始されない。この場合はＪａｖａプログラム自身が、ＣＡライブラリ２２０６を利用して暗号解除を開始する。
【０２２３】
単純な例として図６６にＪａｖａプログラムがＣＡライブラリ２２０６の機構を利用して暗号解除し、映像音声を利用する動作シーケンスを表す。チャンネル識別子を取得した（Ｓ６６０１）ら、チャンネル識別子よりプログラムナンバーを得る（Ｓ６６０２）。ＰＭＴは暗号化されない環境なのでＳＦ２２０５ｅを利用してＰＭＴを取得し（Ｓ６６０３）、もしＣＡ記述子が含まれていて暗号化がなされていたら（Ｓ６６０４）、暗号解除開始部２８０３を利用してサービスの暗号解除を開始する（Ｓ６６０５）。その後、ＪＭＦ２２０５ａを利用して映像・音声の再生を開始する。
【０２２４】
なお、以前の実施の形態における、暗黙的な暗号解除開始・停止に基づく機構は全てＪａｖａプログラム自身がＣＡライブラリ２２０６を利用する形態においても適用可能である。ＥＳ単位での暗号解除処理、複数プログラムの競合処理や、放送受信装置との競合処理など、以前の実施の形態で述べたものはすべてＪａｖａプログラム自身がＣＡライブラリ２２０６を利用する際にも適用可能である。
【０２２５】
例えば、実施の形態７におけるＪａｖａプログラムが複数同時に実行される環境において、Ｊａｖａプログラム自身がＣＡライブラリ２２０６内の暗号解除開始部２８０３を用いて暗号解除を開始した場合、Ｊａｖａプログラム自身の優先度が暗号解除状態管理部２８０１に記録され、競合の際に優先度判断が行われる。さらに、実施の形態８において導入されたイベントリスナ通知機構に関しても、イベントリスナ登録部６１０２を追加することで、暗号解除の開始、停止時に通知を受けることが可能である。実施の形態１〜４で表されるようなサービス・ＥＳ単位での暗号解除も可能である。また実施の形態３で述べたように、Ｊａｖａプログラムが終了する際に、Ｊａｖａプログラムが開始した暗号解除はすべて終了される実装形態や、サービスの選択終了時に、そのサービスに属するＪａｖａプログラムに関する暗号解除がすべて停止される実装形態も可能である。
【０２２６】
（実施の形態１３）
実施の形態１２では、ＪａｖａプログラムがＣＡライブラリ２２０６を利用することを可能とした。これによりＪａｖａプログラムがＣＡライブラリ２２０６を自身で利用し、暗号解除を行うことが可能となる。この場合においても、Ｊａｖａプログラムは“ＥＰＧ２２０２を用いたユーザによるチャンネル選択”及び“放送受信装置によるストリーム情報アクセスライブラリの利用”による暗号解除により、Ｊａｖａプログラムが開始した暗号解除が奪われることがある。以前の実施の形態では、Ｊａｖａプログラムの優先度のみ注目しているため、Ｊａｖａプログラムが複数サービスの暗号解除を行っている場合、どちらのサービスの暗号解除が停止されるかをＪａｖａプログラムが指定することは不可能であった。
【０２２７】
本実施の形態では、暗号解除状態管理部２８０１、暗号解除開始部２８０３に変更を加え、Ｊａｖａプログラムが、自身が開始する暗号解除に優先度を設定することを可能とする。
【０２２８】
暗号解除状態管理部２８０１は、Ｊａｖａプログラムの優先度だけではなく、Ｊａｖａプログラムが指定した優先度も記録する。
暗号解除開始部２８０３は、デスクランブラの競合を解決する際、すでに暗号解除を開始しているＪａｖａプログラムの中でもっとも優先度の低いＪａｖａプログラムが開始した暗号解除を取得し、さらにその中で、Ｊａｖａプログラムが指定した暗号解除の優先度の低いものから順に暗号解除を停止する。
【０２２９】
これにより、その時点で開始されている暗号解除の中で、優先度の低い暗号解除から順に暗号解除が停止されるため、Ｊａｖａプログラムは自身が開始する暗号解除の停止順序を指定することが可能となる。
【０２３０】
（実施の形態１４）
実施の形態５では、サービス最大数管理部５５０５が存在し、サービス最大数管理部５５０５を利用して、サービスの最大数を管理していた。しかし、図１８のように外部アダプタ１８１１を利用する場合、サービスの最大数は予めわからず、実際に暗号解除制御フラグが“問い合わせ”であるＣＡ−ＰＭＴを外部アダプタ１８１１に送信するまでサービスが暗号解除可能かどうかわからないケースが存在する。本実施の形態の暗号解除開始部２８０３は、実際に暗号解除を開始するためのＣＡ−ＰＭＴメッセージを外部アダプタ１８１１に送信する前に、外部アダプタと通信を行って、サービスが含むＥＳの暗号解除を開始できるかどうか問い合わせ、可能であれば、暗号解除を開始するためのＣＡ−ＰＭＴメッセージを外部アダプタ１８１１に送信する。なお、本実施の形態でも、実施の形態３同様、サービスマネージャ２２０４及びストリーム情報アクセスライブラリが暗号解除開始部２８０３を用いて開始された暗号解除は、サービスマネージャ２２０４及びストリーム情報アクセスライブラリが暗号解除を必要としなくなった場合は暗号解除停止部４００４を利用する。それにより、暗号解除状態を常に適切に管理することが可能となる。
【０２３１】
本実施の形態の暗号解除開始部２８０３の動作シーケンスを図６７に示す。図６７は外部アダプタ１８１１がＰＯＤであるケースを例にとる。まずプログラムナンバーを受け取り（Ｓ６７０１）、暗号解除状態管理部２８０１に問い合わせて指定されたプログラムナンバーと組になって保存されるカウントを取得する（Ｓ６７０２）。その値を判定し（Ｓ６７０３），もしカウントが１以上で、既に暗号解除が開始されていれば、暗号解除状態管理部２８０１が管理するカウントに１を足して（Ｓ６７０９）、シーケンスを終了する。もしカウントが０で、まだ暗号解除が開始されていなければ、暗号解除を開始するために、まずプログラムナンバーに対応するＰＭＴを取得する（Ｓ６７０４）。ここでは外部アダプタ１８１１がＰＯＤであるケースを例にとっているが、ＰＯＤはＣＡ−ＰＭＴの暗号解除制御フラグを“問い合わせ”に設定すると、そのＣＡ−ＰＭＴが表現するサービスに含まれるＥＳを暗号解除可能かどうか返答する仕様になっているため、そのようなＣＡ−ＰＭＴを、Ｓ６７０４で取得したＰＭＴを基にして構成し、それを外部アダプタ１８１１に送信し、その返答を受け取る（Ｓ６７０５）。次にその返答を判定する（Ｓ６７０６）。もし暗号解除不可能であれば、暗号解除をあきらめ、もし暗号解除可能であれば、暗号解除制御フラグが“開始”にセットされたＣＡ−ＰＭＴを外部アダプタ１８１１に送信して、図４３のシーケンスに入る（Ｓ６７０７）。図４３のシーケンスは外部アダプタ１８１１上の暗号解除プログラムが実行し、暗号解除を実際に開始する。図４３のシーケンスの詳細な説明については前の実施の形態で説明されているため割愛する。図４３のシーケンスが終了すると、暗号解除状態管理部２８０１が管理する、指定されたプログラムナンバーと対応するカウントを１にして（Ｓ６７０８）、シーケンスを終了する。なお、図６７のＳ６７０８は、図４３のシーケンスの終了を待たず、図４３のシーケンスと並行して行われるような実装であってもよい。
【０２３２】
本実施の形態で用いた暗号解除開始部２８０３を用いると、外部アダプタ１８１１を用いる図１８のような構成をとる場合、暗号解除が可能かどうかを外部アダプタ１８１１自身に問い合わせて判断することが可能となる。
【０２３３】
（実施の形態１５）
実施の形態７では、１以上のサービスの同時暗号解除が可能な環境で、サービスマネージャ２２０４によるサービス選択時、及びストリーム情報アクセスライブラリが利用された時に暗号解除が開始され、さらに優先度の概念が導入されてより高い優先度を保持するＪａｖａプログラムによる暗号解除が優先された。本実施の形態では、優先される暗号解除の判断基準として、ストリーム情報アクセスライブラリを用いてアクセスされるサービスよりも、サービスマネージャ２２０４によってサービス選択されるサービスを優先する。
【０２３４】
この形態を実現するために、暗号解除状態管理部２８０１を変更し、暗号解除を行うプログラムナンバー、カウンタ、Ｊａｖａプログラムの優先度とともに、暗号解除のきっかけがサービス選択であるか、ストリーム情報アクセスライブラリであるかを表現するフラグを保持する。図６８は暗号解除状態管理部２８０１が管理する表である。列６８０１は暗号解除されているサービスのプログラムナンバーを表す。列６８０２はいくつのプログラムが暗号解除を要求しているかを数えるためのカウンタである。列６８０３は暗号解除を要求したＪａｖａプログラムの優先度である。列６８０４は暗号解除のきっかけとなったのがサービス選択であるか、ストリーム情報アクセスライブラリであるかを表現する呼び出し元判別フラグである。また行６８１１〜行６８１４のそれぞれは１サービスの情報を表す。図６８では４つのサービスがこの時点で暗号解除され、行６８１１が表すサービスはサービス選択によって暗号解除が開始された。行６８１２〜行６８１４が表すサービスはストリーム情報アクセスによって暗号解除が開始された。なお、同一のサービスに対して、複数のＪａｖａプログラムに起因する暗号解除が行われる可能性がある。この場合は、一つのサービスに、複数のＪａｖａプログラムの優先度及び呼び出し元判別フラグが保持される。
【０２３５】
暗号解除開始部２８０３は、プログラムナンバーとともに暗号解除をサービスマネージャ２２０４より指示されたが、既に暗号解除されているサービスの暗号解除を停止しなければ新たなサービスの暗号解除の開始が行えないために、暗号解除を停止するサービスを決定しなければならない場合、まず暗号解除状態管理部２８０１より、その時点で暗号解除されているサービスの情報を取得する。取得した現在暗号解除されているサービスの中で、ストリーム情報アクセスライブラリを呼び出すことで暗黙的に暗号解除開始されたサービスを「暗号解除停止候補」として選択し、さらにその中で最も優先度の低いＪａｖａプログラムによって暗号解除されたサービスを一つ選び、その暗号解除を停止する。その後、暗号解除開始部２８０３は、サービスマネージャ２２０４より指示されたサービスの暗号解除を開始する。
【０２３６】
例えば、暗号解除状態が図６８によって示される状態である場合に、新たにサービスマネージャ２２０４が、プログラムナンバーが“５００”であるサービスの暗号解除を要求してきた場合、ストリーム情報アクセスライブラリをきっかけに暗号解除が開始された行６８１２〜行６８１４のサービスの中から、もっとも優先度の低いＪａｖａプログラムによって開始された行６８１４のサービスの暗号解除が停止される。
【０２３７】
暗号解除開始部２８０３は、プログラムナンバーとともに暗号解除をストリーム情報アクセスライブラリより指示されたが、既に暗号解除されているサービスの暗号解除を停止しなければ新たなサービスの暗号解除の開始が行えないために、暗号解除を停止するサービスを決定しなければならない場合、まず暗号解除状態管理部２８０１より、その時点で暗号解除されているサービスの情報を取得する。取得した現在暗号解除されているサービスの中で、ストリーム情報アクセスライブラリを呼び出すことで暗黙的に暗号解除開始されたサービスを「暗号解除停止候補」として選択し、さらにその中で、優先度比較を行い、ストリーム情報アクセスライブラリを利用したＪａｖａプログラムよりも低い優先度を持つＪａｖａプログラムにより暗号解除されたサービスがあれば、そのサービスの暗号解除を停止する。その後、暗号解除開始部２８０３は、ストリーム情報アクセスライブラリより新たに指示されたサービスの暗号解除を開始する。
【０２３８】
例えば、暗号解除状態が図６８によって示される状態である場合に、新たにストリーム情報アクセスライブラリが、プログラムナンバーが“５００”であるサービスの暗号解除を要求してきた場合、ストリーム情報アクセスライブラリをきっかけに暗号解除が開始された行６８１２〜行６８１４のサービスの中から、もっとも優先度の低いＪａｖａプログラムによって開始された行６８１４のサービスの暗号解除が停止される。
【０２３９】
なお、上記のように暗号解除を停止するサービスを決定するプロセスにおいて、暗号解除状態管理部２８０１が保持するサービス情報の中に、複数のＪａｖａプログラムにアクセスされるサービスが存在した場合、まず、一つでもサービスマネージャ２２０４からの暗号解除開始要求に基づく暗号解除がされていれば暗号解除は停止しない。さらに、ストリーム情報アクセスライブラリからの暗号解除開始要求に基づく暗号解除のみをきっかけにして暗号解除が開始されたサービスについては、記録されるＪａｖａプログラムの優先度のうち、最も高いものがそのサービスの優先度として選ばれる。例えば、図６９の場合、行６９０１についてはサービスマネージャ２２０４の暗号解除要求が行われているため、暗号解除が停止されることはない。行６９０２については、ストリーム情報アクセスライブラリをきっかけに暗号解除が開始されており、またストリーム情報アクセスライブラリを利用したのは優先度“１２７”と“６４”のＪａｖａプログラムであるため、“１２７”の優先度が採用される。
【０２４０】
本実施の形態では、サービスマネージャ２２０４が暗号解除開始部２８０３を利用して暗号解除を開始したサービスは、ストリーム情報アクセスライブラリが暗号解除開始部２８０３を利用して暗号解除を開始しようとしたときに停止されることがなくなる。これにより、サービスマネージャ２２０４が選択しているサービスの暗号解除は、サービスマネージャ２２０４による選択が解除されるまでは常に継続されることを保証することができる。
【０２４１】
例えば、あるサービスに属するＥＳをＨＤＤ、ＢＤ、ＤＶＤや、ＳＤなどの半導体メモリに記録する際、暗号解除が記録途中で停止されると、正しく記録を継続できないことがある。本実施の形態が採用された環境において、蓄積対象のＥＳを含むサービスをサービスマネージャ２２０４が選択しておくと、その選択が解除されるまでは暗号解除が停止することがないので、意図しない暗号解除の停止を防ぐことが可能となる。
【０２４２】
なお、本実施の形態では、サービスマネージャ２２０４によって選択されるサービスは必ず暗号解除されていることを保証しているが、サービスマネージャ２２０４によって暗号解除が開始されたサービスであっても、ストリーム情報アクセスライブラリによって暗号解除が開始されたサービス同様に、暗号解除停止候補として優先度評価される、という実装も考えられる。この場合、暗号解除状態管理部２８０１には、呼び出し元判別フラグは必要なく、単に優先度評価のみによって判断が行われる。この場合は、サービスマネージャ２２０４が暗号解除を開始したサービスを特別視せず、選択中のサービスであっても暗号解除を継続することを保証することはできなくなり、常に優先度の高いＪａｖａプログラムの要求に従って暗号解除が行われる。
【０２４３】
なお、本実施の形態において、「既に暗号解除されているサービスの暗号解除を停止しなければ新たなサービスの暗号解除が開始できない場合」とは、実施の形態５のケースで、同時に暗号解除可能なサービスの最大数を越えている場合や、実施の形態１４のケースで、図６７の手続きＳ６７０５にて外部アダプタ１８１１より暗号解除不可通知が返ってきた場合等が考えられる。
【０２４４】
なお、本実施の形態では、ストリーム情報アクセスライブラリが呼ばれた時に同時に暗号解除可能なサービスの最大値を超えている場合、暗号解除開始部２８０３は、「ストリーム情報アクセスライブラリが暗号解除開始部２８０３に依頼して暗号解除が開始されたサービス」の中から暗号解除停止するサービスを選択している。このとき、優先度による判断を用いて停止するサービスを選択しているが、この選択には様々な方法が考えられる。例えば、「先に開始されるサービスの暗号解除を停止せず、後から要求された暗号解除は行わない（先勝ち）」「最も先に暗号解除が開始されたサービスを停止する（ＦｉｒｓｔＩｎＦｉｒｓｔＯｕｔ）」などである。このような選択アルゴリズムが利用されてもよい。また優先度判断を行う場合であっても、優先度の等しいＪａｖａプログラムが暗号解除したサービスが複数存在する場合は、「先勝ち」「ＦｉｒｓｔＩｎＦｉｒｓｔＯｕｔ」などの対応が考えられる。
【０２４５】
なお、本実施の形態では、ストリーム情報アクセスライブラリが呼ばれた時に、同時に暗号解除可能なサービスの最大値を超えた場合、「ストリーム情報アクセスライブラリが暗号解除２８０３に依頼して暗号解除が開始されたサービス」の中から暗号解除停止するサービスを選択している。しかし、ストリーム情報アクセスライブラリが開始した暗号解除であっても、奪われることを禁止したいケースは考えられる。例えば、ＪＭＦ２２０５ａを利用して再生中の映像・音声が含まれるサービスの暗号解除は停止されたくないが、ＳＦ２２０５ｅを利用してデータを参照しているサービスの暗号解除は奪われてもよい場合などである。これを実現するために、暗号解除状態管理部２８０１が、さらに暗号解除を開始したストリーム情報アクセスライブラリの種類を記録しておき、暗号解除を停止するサービスを選択する際、予め決められたストリーム情報アクセスライブラリが開始した暗号解除は停止しない、という実装であってもよい。例えば、ＪＭＦ２２０５ａが開始した暗号解除は開始しない、という実装であった場合、暗号解除を停止するサービスを選択する際、サービスマネージャ２２０４及びＪＭＦ２２０５ａが暗号解除開始部２８０３を利用して暗号解除を開始したサービスは除外される。さらに、前述したサービスマネージャ２２０４が開始した暗号解除を暗号解除停止候補に含めない実装だった場合、予め決められたストリーム情報アクセスライブラリのみ特別視され、そのストリーム情報アクセスライブラリを用いて開始されたもののみ、暗号解除停止候補から除外される。
【０２４６】
さらに、例えば同じＪＭＦ２２０５ａが開始した暗号解除であっても、あるサービスＡに関する暗号解除は停止されたくなく、サービスＢに関する暗号解除は停止されてもよい、というケースも考えられる。これを実現するために、暗号解除状態管理部２８０１が、さらにプログラムナンバー毎に暗号解除停止可能フラグを保持する実装も考えられる。このとき、ストリーム情報アクセスライブラリが暗号解除開始部２８０３を利用してサービスＡの暗号解除を開始する際に、暗号解除停止可能フラグをＯＦＦにしておき、サービスＢの暗号解除を開始する際には暗号解除停止可能フラグをＯＮにしておくと、のちに暗号解除開始部２８０３が暗号解除停止するサービスを選択しなければならないとき、暗号解除停止可能フラグがＯＦＦになっているサービスを暗号解除停止候補から除外する。このように実装することで、特定のサービスについては暗号解除を停止したくない場合に対応することが可能となる。さらに、前述したサービスマネージャ２２０４が開始した暗号解除を暗号解除停止候補に含めない実装だった場合、ストリーム情報アクセスライブラリが開始し、暗号解除停止フラグがＯＦＦに設定されたサービスのみ、暗号解除停止候補から除外される。また、サービスマネージャ２２０４が開始した暗号解除を暗号解除停止候補に含めない実装であって、サービスマネージャ２２０４も暗号解除停止フラグを設定可能で、サービスマネージャ２２０４が選択した特定のサービスのみ暗号解除停止候補から除外する実装も可能である。
【０２４７】
なお、本実施の形態において、サービスマネージャ２２０４が同時に選択可能なサービスの数はいくつであってもよい。例えば、同時に暗号解除可能なサービスの数が“５”で、サービスマネージャ２２０４が同時に選択可能なサービスの数が“２”であった場合、サービスマネージャ２２０４が、暗号解除開始部２８０３を用いて既に二つのサービスの暗号解除を開始している時には、ストリーム情報アクセスライブラリが暗号解除開始部２８０３を利用することで同時に暗号解除可能なサービスは三つである。例えば、同時に暗号解除可能なサービス数が“５”であり、サービスマネージャ２２０４が同時に選択可能なサービス数も“５”であった場合、サービスマネージャ２２０４が、暗号解除開始部２８０３を用いて既に五つのサービスの暗号解除を開始している時には、ストリーム情報アクセスライブラリが暗号解除開始部２８０３を利用しても、暗号解除を開始することは不可能である。例えば、同時に暗号解除可能なサービス数が“１”であり、サービスマネージャ２２０４が同時に選択可能なサービス数も“１”である場合は、実施の形態１と同様である。
【０２４８】
なお、前述したように、ＯＣＡＰ環境には“通常のサービス”と“抽象サービス”が存在する。通常のサービスは、映像、音声、アプリケーション等を含み、サービス選択されたときには、もしそのサービスが暗号化されたＥＳを含んでいれば、暗号解除が必要である。一方抽象サービスは、アプリケーションのみを内包しており、さらに、抽象サービスが内包するアプリケーションは、端末装置内部に記録され、そこから起動する場合もある。そのため、サービス選択された場合でも、常に暗号解除が必要であるわけではない。このようなケースでは、サービスマネージャ２２０４が「通常のサービス」を選択する際には、暗号解除を開始し、選択中はそのサービスに属する暗号が常に解除されていることを保障するが、「抽象サービス」を選択する際には、起動するＪａｖａプログラムを暗号化されたＥＳからダウンロードしなければならない場合、などの必要な場合のみ暗号解除を開始し、そのＥＳに関してはサービスの選択中暗号解除を保証する、という実装であってもよい。また、抽象サービスの選択の場合は、Ｊａｖａプログラムをダウンロードし終わった後は暗号解除を自動で停止し、サービス選択中であっても、Ｊａｖａプログラムを伝送するＥＳが暗号解除されていることを保証しない、という実装であってもよい。
【０２４９】
なお、本実施の形態では、Ｊａｖａプログラムがストリーム情報アクセスライブラリを利用して暗号解除が開始されたサービスが、別Ｊａｖａプログラムのストリーム情報アクセスライブラリあるいはサービスマネージャ２２０４によって停止されることがある。この場合、暗号解除が停止されたＪａｖａプログラムに対して、暗号解除が停止されたことをストリーム情報アクセスライブラリから通知するような実装であってもよい。
【０２５０】
なお、本実施の形態では、サービスマネージャ２２０４によって選択されるサービスは必ず暗号解除されていることを保証しているが、図１６におけるチューナ１６０１の設定が変更された場合など、選択されているサービスを含むＭＰＥＧ２トランスポートストリームが変更され、サービス自身を端末装置１６００や端末装置１８００が受信し続けることができなくなる場合があり得る。この場合、サービス選択中のサービスであっても自動的に暗号解除を停止するような実装であってもよい。
【０２５１】
なお、本実施の形態におけるサービス選択には、“チューニング”、“暗号解除”、“映像・音声再生”、“アプリ起動”などの動作を含んでいるが、これは選択すべきサービスが含むＥＳを利用して行う動作であれば、他の動作を含むこともありうるし、さらに“映像・音声再生”や“アプリ起動”を含まないこともありうる。例えば、「あるサービスが含むＥＳが伝送する映像・音声をＨＤＤ、ＢＤ、ＤＶＤやＳＤなどの半導体メモリに蓄積する」、「サービスが含むＥＳが伝送する情報をネットワーク接続、ＵＳＢ接続、ＩＥＥＥ１３９４接続などの方法で物理的に接続された別端末装置へ伝送する」などの追加動作が考えられる。
【０２５２】
なお、本実施の形態における暗号解除状態管理部２８０１は、暗号解除中のサービスの情報として、プログラムナンバーを保持している。しかし、複数のサービスを暗号解除可能な外部アダプタ１８１１は、複数のＭＰＥＧ２トランスポートストリーム内に属するサービスであっても暗号解除可能な場合がある。そのような場合は、例えば、ＭＰＥＧ２トランスポートストリームＡに含まれるサービスＢとＭＰＥＧ２トランスポートストリームＣに含まれるサービスＤを同時に暗号解除可能である。プログラムナンバーは同一ＭＰＥＧ２トランスポートストリーム内において一意にサービスを特定できるように決定されるが、サービスＢとサービスＤは異なるＭＰＥＧ２トランスポートストリームに含まれるため、同じプログラムナンバーが割り当てられている場合があり、その場合、プログラムナンバーのみ記録していると、それがサービスＢなのかサービスＤなのか特定できない。そのようなサービスを特定するために、暗号解除状態管理部２８０１がＭＰＥＧ２トランスポートストリームを特定する情報をプログラムナンバーとともに記録しておく実装も可能である。例えば、ＭＰＥＧ２トランスポートストリームはＴＳＩＤ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ  ＩＤｅｎｔｉｆｉｅｒ）と呼ばれるＩＤを有しているため、このＴＳＩＤとプログラムナンバーを組にして保持していれば、サービスを一意に特定可能である。他にも、ＭＰＥＧ２トランスポートストリームを特定するための情報として周波数やＳＩに基づくＩＤを記録してもよい。
【０２５３】
なお、本実施の形態で、外部アダプタ１８１１が利用される図１８の構成であった場合、暗号解除開始部２８０３及び暗号解除停止部４００４が外部アダプタ１８１１に送信するとき、暗号化されたＥＳの情報のみでなく、暗号化されていないＥＳの情報を含んでいてもよい。
【０２５４】
なお、本実施の形態においても、実施の形態３で述べたように、暗号解除状態管理部２８０１が、サービス毎にＪａｖａプログラムの識別子を記録しておき、ＡＭ２２０５ｂがＪａｖａプログラムを終了する際、各ストリーム情報アクセスライブラリに終了するＪａｖａプログラムの識別子を通知するので、各ストリーム情報アクセスライブラリは、暗号解除停止部４００４を用いて、そのＪａｖａプログラムがストリーム情報アクセスライブラリを用いることで開始された暗号解除を自動的に停止してもよい。さらに、サービスマネージャ２２０４は、サービスの選択を解除する際にサービスマネージャ２２０４が開始した選択解除されるサービスの暗号解除を停止するが、その他に、ＡＭ２２０５ｂに対して、そのサービスに属するＪａｖａプログラムの終了を指示する。この時に、同じようにＪａｖａプログラムがストリーム情報アクセスライブラリを用いることで開始された暗号解除を自動的に停止する実装であってもよい。
【０２５５】
なお、本実施の形態において、同時に暗号解除可能なサービス数が実施の形態１同様に“１”である場合、サービスマネージャ２２０４が一つのサービスを選択している場合はその暗号解除が保証される点で実施の形態１と同様である。ただ、本実施の形態では、サービスマネージャ２２０４が暗号解除を一つも行っていない場合は、ストリーム情報アクセスライブラリが暗号解除を開始することが可能である。ただ、ストリーム情報アクセスライブラリが暗号解除を開始していたとしても、サービスマネージャ２２０４が暗号解除を暗号解除開始部２８０３に暗号解除依頼した場合は、サービスマネージャ２２０４が依頼した暗号解除が優先される。
【０２５６】
なお、本実施の形態において、暗号化されたＥＳが含まれないサービスが選択された場合は、暗号解除は開始されない。これにより、サービスマネージャ２２０４がたとえ同時に１サービスのみ同時に暗号解除可能な環境であったとしても、サービス選択中でも、ストリーム情報アクセスライブラリを用いた暗号解除を行うことは可能である。
【０２５７】
なお、本実施の形態において、外部アダプタ１８１１を利用する環境において、暗号化されたＥＳが含まれないサービスが選択された場合でも、ＣＡ−ＰＭＴを外部アダプタ１８１１に送信する実装も可能である。外部アダプタ１８１１は暗号解除以外にもコピープロテクション用メッセージとしてＣＡ−ＰＭＴを用いるケースがあり、この場合、とくにＥＳの暗号解除が必要でなくても、ＣＡ−ＰＭＴを送信しなければならない。
【０２５８】
（実施の形態１６）
実施の形態１〜１５で述べた外部アダプタ１８１１の例であるＤＶＢ−ＣＩ及びＰＯＤは、暗号解除制御フラグが“問い合わせ”であるＣＡ−ＰＭＴを端末装置１８００より受信すると、そのＣＡ−ＰＭＴに記載されているＥＳの暗号解除が可能かどうか判定し、端末装置１８００に対して、判定結果を通知する。
【０２５９】
また、ＤＶＢ−ＣＩやＰＯＤによっては、暗号解除制御フラグが“開始”であるＣＡ−ＰＭＴを端末装置１８００より受信したとき、既に別の暗号解除を行っていた場合、自動的に既に行われている暗号解除を停止し、受信したＣＡ−ＰＭＴに基づいて暗号解除を開始することもある。
【０２６０】
（実施の形態１７）
実施の形態１〜１６について、“ＰＯＤ”と記述した部分は“ＣａｂｌｅＣＡＲＤ”でもよい。ＰＯＤの場合、“ＯＣ−ＳＰ−ＨＯＳＴＰＯＤ−ＩＦ”仕様を参照しているが、ＣａｂｌｅＣＡＲＤである場合、“ＯＣ−ＳＰ−ＣＣ−ＩＦ”を参照する。
【０２６１】
また、実施の形態１〜１５において、外部アダプタ１８１１を用いて暗号解除を行う場合、暗号解除開始部２８０３が、暗号解除制御フラグが“開始”であるＣＡ−ＰＭＴを外部アダプタ１８１１に送信することで暗号解除の開始を指示するが、その際にＣＡ−ＰＭＴに含まれるＥＳは暗号化されたもののみである必要はない。暗号化されていないＥＳの情報を含んでいてもよい。
【０２６２】
また、実施の形態１〜１５において、外部アダプタ１８１１を用いて暗号解除を行う場合、実施の形態によっては、暗号解除開始部２８０３あるいはサービスマネージャ２２０４あるいは各ストリーム情報アクセスライブラリが、サービス内部に暗号化されたＥＳが存在するかどうかＣＡ−ＰＭＴを送信する前にチェックしているが、チェックせずに、毎サービス選択時、あるいは毎ストリーム情報アクセスライブラリ呼び出し時に、対象となるサービスのＰＭＴから暗号制御フラグが“開始”であるＣＡ−ＰＭＴを構成して、外部アダプタ１８１１に送信するような実装であってもよい。また、送信する際は、暗号化されたＥＳの情報だけでなく、暗号化されていないＥＳの情報を含んでいてもよい。さらに、ストリーム情報アクセスライブラリにＥＳが指定された場合は、ＰＭＴの中から、指定されたＥＳの情報のみを利用してＣＡ−ＰＭＴを構成し、それを外部アダプタ１８１１に送信してもよい。
【０２６３】
なお、実施の形態１〜１５において、「サービス選択」はチューニング、暗号解除、映像音声再生、アプリ起動を含むシーケンスとして説明されるが、チューニング及び暗号解除後に行われる動作が本シーケンスと異なっていてもよい。例えば、映像音声再生を行わずアプリ起動のみを行う場合や、アプリ起動を行わず映像音声再生のみ行う場合であってもよく、さらに、蓄積機器への暗号解除を開始したＥＳの記録など、サービス内のＥＳへのアクセスであってもよい。
【０２６４】
（実施の形態１８）
実施の形態１〜１５について、サービスマネージャ２２０４が保有するサービス記憶部を“４９００”と呼んでいるが、これはサービスマネージャ２２０４内部に存在する場合もある。この実現図を図７０に示す。サービスマネージャ２２０４が管理する領域にサービス記憶部７０００が存在する。サービスマネージャ２２０４が管理するサービス記憶部はストリーム情報アクセスライブラリが管理するサービス記憶部４９００とは別として扱う実装でもよい。
【０２６５】
（実施の形態１９）
実施の形態８〜１０では、Ｊａｖａプログラムがイベントリスナ登録部６１０２及びイベントリスナ削除部６１０３はＪａｖａプログラムから直接利用され、Ｊａｖａプログラムは、ＣＡライブラリ２２０６から直接イベントを受け取るが、Ｊａｖａプログラムがストリーム情報アクセスライブラリにイベントリスナを登録し、ストリーム情報アクセスライブラリから暗号解除が停止されたことを通知するイベントが投げられる実装であってもよい。
【０２６６】
（実施の形態２０）
実施の形態１〜２においては、同時に選択可能なサービスの数、及びサービスコンテキストの数を１として説明しているが、同時に選択可能なサービスの数が１であってもサービスコンテキストが複数存在するような環境であっても本発明は適用可能である。実際に、ＯＣＡＰ仕様に準拠する環境では、サービスコンテキストは、同時に選択可能なサービスの数よりも多く存在することが可能である。例えば、同時に選択可能なサービスが１である端末上に、１以上のサービスコンテキストが存在可能である。この場合、Ｊａｖａプログラムは複数のサービスコンテキスト毎に異なるサービス選択要求を行うことができる。しかしながら、同時に選択できるサービスは１つのみなので、後に要求されたサービスが選択され、その時点で別のサービスが既に選択されていた場合、その選択は解除される。暗号解除開始タイミングは、後に要求されたサービスが選択された時点であり、また同時に、その時点で選択解除されたサービスに関する暗号解除は停止される。
【０２６７】
（実施の形態２１）
実施の形態１〜１５において、前述のＯＣＡＰ環境ではサービスは二種類存在する場合がある。一つはＰＭＴと結びついて存在する通常のサービスで、もう一つはＰＭＴと結びつかずに存在する抽象サービスである。通常のサービスは実施の形態１〜２で説明してきたサービスと同義であり、通常のサービスが選択されると、チューニング、暗号解除、映像音声再生、Ｊａｖａプログラム起動がサービスマネージャ２２０４により行われる。一方、抽象サービスはＪａｖａプログラムのみを内包して存在し、サービスの選択時には映像・音声の再生は行われない。また、抽象サービスが内包するＪａｖａプログラムは、抽象サービスが選択された時にダウンロードされ起動されるが、その時、２次記憶部１６０７に記録される場合がある。一度２次記憶部１６０７にＪａｖａプログラムが記録されると、それ以降は、記録したＪａｖａプログラムよりも新しいＪａｖａプログラムがダウンロード可能でない限り、サービス選択時、Ｊａｖａプログラムは２次記憶部１６０７よりロードされて起動されるようになる。ＯＣＡＰ環境のように、サービスのタイプが二種類以上あるような環境では、サービスマネージャ２２０４によるサービス選択の際、サービスタイプに応じて、暗号解除を開始、停止するタイミングを変えてもよい。例えば、通常のサービスの選択においては、サービスマネージャ２２０４によるサービス選択の際に暗黙的に暗号解除を開始する。抽象サービスの場合はサービス選択の際、ＪａｖａプログラムをＥＳよりダウンロードする場合で、かつＪａｖａプログラムを伝送するＥＳが暗号化されている時にのみ暗号解除を開始し、Ｊａｖａプログラムを２次記憶部１６０７よりロードして起動する場合など、暗号解除が必要でない場合には暗号解除を開始しない、という形態をとってもよい。
【０２６８】
また、このような複数種類のサービスが存在する環境において、さらにサービスマネージャ２２０４が管理するサービスコンテキストが複数存在していて、各々のサービスコンテキストが選択可能なサービスの種類が決まっているケースも想定される。例えば、サービスの種類として、通常サービスと抽象サービスが存在した場合、通常サービス用サービスコンテキストと抽象サービス用サービスコンテキストが存在するケースである。このような場合、通常サービス用サービスコンテキストのケースは通常サービスの選択時に暗号解除が開始され、抽象サービス用サービスコンテキストでは抽象サービスの選択時に暗号化されたＥＳが伝送するＪａｖａプログラムをダウンロードする時のみ暗号解除を開始する、という形態をとってもよい。
【０２６９】
また、実施の形態１において、「通常のサービス」と「抽象サービス」が存在するような環境では、複数のサービスに属するＪａｖａプログラムが同時に動作するが、この場合でも、その時点で選択されている「通常のサービス」に属するＥＳは暗号解除が行われることが保証されるので、ストリーム情報アクセスライブラリを用いたアクセスが可能である。
【０２７０】
（実施の形態２２）
実施の形態１〜１５において、ストリーム情報アクセスライブラリはＪＭＦ２２０５ａ、ＤＳＭ−ＣＣ２２０５ｄ、ＳＦ２２０５ｅが挙げられているが、この三つ以外に存在してもよく、またこの三つが含まれている必要もない。例えば、ＥＳが伝送する情報を２次記憶部１６０７に蓄積する機能を実現するライブラリや、端末装置１６００または端末装置１８００に外部接続された他の端末に対して、ＭＰＥＧ２トランスポートストリームや、ＭＰＥＧ２トランスポートストリームから取得可能な映像・音声・データ・Ｊａｖａプログラムなどの情報を転送するライブラリなどが挙げられる。
【０２７１】
（実施の形態２３）
実施の形態１〜１５において、ＪａｖａプログラムはＤＳＭＣＣ方式でＭＰＥＧ２トランスポートストリームによって送信されるものをダウンロードするだけでなく、ネットワークで端末装置と接続されたサーバからダウンロードしたり、ＤＶＤ、ＢＤ、ＳＤカードなどの持ち運び可能なメディアからロードしたりする方法も考えられ、その場合も本発明は適用可能である。
【０２７２】
（実施の形態２４）
実施の形態１〜１５において、ストリーム情報アクセスライブラリに、アクセス対象として一度に指定可能なＥＳの数はストリーム情報アクセスライブラリの種類により異なる。例えばＳＦ２２０５ｅに対しては常に１つのＥＳを指定するが、ＪＭＦ２２０５ａに対しては映像用ＥＳと音声用ＥＳのように複数のＥＳを指定することができる。また、さらに列挙した以外の種類のストリーム情報アクセスライブラリがあった場合、指定可能なのは「１つのＥＳ」「複数のＥＳ」「サービス」の３タイプ考えられ、それはストリーム情報ライブラリ毎に異なる。
【０２７３】
（実施の形態２５）
実施の形態１〜１５において、図１８のように、外部アダプタ１８１１を利用して暗号解除を行う場合、暗号解除開始部２８０３の処理中に外部アダプタ１８１１に対して送信するＣＡ−ＰＭＴは、明示されていない場合、暗号開始制御フラグが“開始”である。
また、実施の形態１〜１５において、図１８のように、外部アダプタ１８１１を利用して暗号解除を停止する場合、暗号解除停止部４００４の処理中に外部アダプタ１８１１に対して送信するＣＡ−ＰＭＴは、明示されていない場合、暗号解除制御フラグが“停止”である。
【０２７４】
また、実施の形態１〜１５において、暗号解除開始部２８０３の処理中に暗号解除開始を表すＣＡ−ＰＭＴを外部アダプタ１８１１に送信するが、その前に、「暗号解除が可能かどうかの問い合わせ」を表すＣＡ−ＰＭＴを外部アダプタに送信し、外部アダプタ１８１１が、ＣＡ−ＰＭＴが含むＥＳを暗号解除可能かどうかの結果を受け取り、可能であれば改めて「暗号解除開始」を表すＣＡ−ＰＭＴを外部アダプタ１８１１に送信する、といった実装もありうる。
【０２７５】
（実施の形態２６）
実施の形態３におけるサービスマネージャ２２０４の暗号解除に関する動作も図７１及び図７２を用いて説明する。まずサービス選択時のシーケンスについて説明する。Ｊａｖａプログラムが、サービスマネージャ管理ライブラリ２２０５ｆを利用してサービスマネージャ２２０４が管理する実行単位“サービスコンテキスト”に対して、サービス選択命令を出すと、サービスマネージャ２２０４は、指定実行単位“サービスコンテキスト”がその時点で別サービスを選択していれば、その選択を解除する。選択解除シーケンスについて、詳細は後述するが、そのシーケンスの中で、選択解除されたサービスの暗号解除は停止される。その後、図７１のシーケンスに入る。チャンネル識別子を受け取り（Ｓ７１０１）、チャンネル識別子に基づいてプログラムナンバーを取得（Ｓ７１０２）、サービスが暗号化されていれば（Ｓ７１０３）、暗号解除開始部２８０３を利用して暗号解除を開始する（Ｓ７１０４）。その際、サービス記憶部４９００に対して、その実行単位“サービスコンテキスト”の識別子とプログラムナンバーを組にして記録する（Ｓ７１０５）。その後、残りのサービス選択処理（映像音声再生、アプリ起動等）を行う（Ｓ７１０６）。
【０２７６】
次にサービス選択解除シーケンスについて説明する。サービス選択解除時の暗号解除停止に関しては、図７２のシーケンスを用いる。「Ｊａｖａプログラムがサービスマネージャ管理ライブラリ２２０５ｆを利用してサービスマネージャ２２０４が管理する実行単位“サービスコンテキスト”に対して、サービス選択解除命令を出した場合」や「Ｊａｖａプログラムがサービス選択命令を出した時に、その実行単位“サービスコンテキスト”が既に別サービスを選択していた場合」、まず、その時点でその実行単位“サービスコンテキスト”が選択していたサービスの映像音声を停止し、そのサービスに属するアプリの実行も停止する（Ｓ７２０１）。その後、図７２のシーケンスに入る。その時点で、その実行単位“サービスコンテキスト”に基づく暗号解除があれば停止する必要があるので、まずサービス記憶部４９００より、その実行単位“サービスコンテキスト”の識別子と組になるプログラムナンバーを取得する（Ｓ７２０２）。もし取得できれば（Ｓ７２０３）、暗号解除が行われていたということなので、暗号解除停止部４００４を利用して暗号解除を停止し（Ｓ７２０４）、サービス記憶部４９００より、実行単位の識別子とプログラムナンバーの組を削除する（Ｓ７２０５）。このように動作することで、サービスマネージャ２２０４はサービスの選択・選択解除とともに暗号解除の開始・停止を行う。
【０２７７】
本サービスマネージャ２２０４のシーケンスは、実施の形態３以降の、明記のない実施の形態にて用いられる。
（実施の形態２７）
実施の形態１〜１５において、サービスマネージャ２２０４や各ストリーム情報アクセスライブラリを用いた暗号解除に失敗した場合、サービスマネージャ２２０４にサービスマネージャ管理ライブラリ２２０５ｆを用いてサービスの選択を依頼したＪａｖａプログラムや、ストリーム情報アクセスライブラリを利用してＭＰＥＧ２トランスポートストリーム内の情報にアクセスしようとしたＪａｖａプログラムに暗号解除開始に失敗したことを表すエラーを返す実装であってもよい。
【０２７８】
（実施の形態２８）
実施の形態３において、図４６の手続きＳ４６０１において、受け取るのはＣＡ−ＰＭＴである。
【０２７９】
（実施の形態２９）
実施の形態１において、デスクランブラ管理部２８０２は、外部アダプタ１８１１を利用して暗号解除を行う図１８のような構成を取る場合、外部アダプタ１８１１上に存在するデスクランブラ２８０２は、外部１８１１のＣＰＵ上で動作する予め外部１８１１上のＲＯＭに記録されたプログラムによって参照され、デスクランブラの割り当てに利用される場合もある。
【０２８０】
（実施の形態３０）
実施の形態１〜１５において、暗号解除開始部２８０３及び暗号解除停止部４００４は、図１８のように外部アダプタ１８１１を利用して暗号解除を行う場合、「端末装置１８００内部のＲＯＭ１６０９に置かれるライブラリ部分」と、「外部アダプタ１８１１上のＲＯＭに置かれるプログラム」に分割される。この様子を簡単のために図７３に一例を図示する。図７３は図１８における端末装置１８００及び外部アダプタ１８１１の接続を模式化したものである。端末装置１８００内のＣＰＵ１８０６及び１次記憶部１６０８及びＲＯＭ１６０９はそれぞれ互い信号線で物理的に接続される。一方、外部アダプタ１８１１上のＣＰＵ７３０１及び１次記憶部７３０２及びＲＯＭ７３０３もそれぞれ互いに物理的に接続されている。信号線７３０４は、端末装置１８００及び外部アダプタ１８１１間で情報をやり取りするための信号線である。
【０２８１】
端末装置１８００上の１次記憶部１６０８には、暗号解除状態管理部２８０１が置かれる。ＲＯＭ１６０９には暗号解除開始部Ａ２８０３ａ及び暗号解除停止部Ａ４００４ａが置かれ、ＣＰＵ１８０６によって読み出されて実行される。暗号解除開始部Ａ２８０３ａ及び暗号解除停止部Ａ４００４ａは、それぞれ暗号解除開始部２８０３及び暗号解除停止部４００４の「端末装置１８００内部のＲＯＭ１６０９に置かれるライブラリ部分」である。
【０２８２】
一方、外部アダプタ１８１１内の１次記憶部７３０２には、デスクランブラ管理部２８０２が置かれる。ＲＯＭ７３０３内には、暗号解除開始部Ｂ２８０３ｂ及び暗号解除停止部Ｂ４００４ｂが置かれ、外部アダプタ１８１１内のＣＰＵ７３０１が読み出して実行する。暗号解除開始部Ｂ２８０３ｂ及び暗号解除停止部Ｂ４００４ｂは、それぞれ暗号解除開始部２８０３及び暗号解除停止部４００４の「外部アダプタ１８１１上のＲＯＭに置かれるプログラム」である。
【０２８３】
実施の形態１には暗号解除開始部２８０３が存在する。図３０のシーケンスを実行するのが暗号解除開始部Ａ２８０３ａであり、図３１のシーケンスを実行するのが暗号解除開始部Ｂ２８０３ｂである。手続きＳ３００５において、暗号解除開始部Ａ２８０３ａが、暗号解除制御フラグが“開始”であるＣＡ−ＰＭＴを作成して外部アダプタ１８１１に送信すると、それを受信した外部アダプタ１８１１は暗号解除開始部Ｂ２８０３ｂを起動して、図３１のシーケンスに従って暗号解除を開始する。手続きＳ３１０４等では、暗号解除開始部Ｂ２８０３ｂは、デスクランブラ管理部２８０２にアクセスするが、デスクランブラ管理部も外部アダプタ１８１１上に存在するため問題はない。同様に、実施の形態１〜１５において、暗号解除開始部２８０３が端末装置１８００と外部アダプタ１８１１に分割して置かれる旨の記述が存在する部分は、図７３のように配置される。
【０２８４】
実施の形態３には暗号解除停止部４００４が存在する。図４５のシーケンスを実行するのが暗号解除停止部Ａ４００４ａであり、図４６のシーケンスを実行するのが暗号解除停止部Ｂ４００４ｂである。手続きＳ４５０５において、暗号解除停止部Ａ４００４ａが、暗号解除制御フラグが“停止”であるＣＡ−ＰＭＴを作成して外部アダプタ１８１１に送信すると、それを受信した外部アダプタ１８１１は暗号解除停止部Ｂ４００４ｂを起動して図４６のシーケンスに従って暗号解除を停止する。手続きＳ４６０３においては、暗号解除停止部Ｂ４００４ｂは、デスクランブラ管理部２８０２にアクセスするが、デスクランブラ管理部２８０２も外部アダプタ１８１１上に存在するため、問題はない。同様に、実施の形態１〜１５において、暗号解除停止部４００４が端末装置１８００と外部アダプタ１８１１に分割して置かれる旨の記述が存在する部分は、図７３のように配置される。
【０２８５】
なお、外部アダプタ１８１１の種類によっては、これとは異なる構成をとる場合もあるが、本発明は端末装置１８００内部の動作に基づいており、ＣＡ−ＰＭＴに変わるメッセージを用いて通信可能な外部アダプタ１８１１であれば、本発明は適用可能である。また、ＤＶＢ−ＣＩやＣａｂｌｅＣＡＲＤであっても、内部構成に多少の違いがある場合も考えられるが、本発明は端末装置１８００内部の動作に基づいているため、そうであっても本発明は適用可能である。
【０２８６】
なお、外部アダプタに対して暗号解除開始部Ａ２８０３ａが、暗号解除制御フラグが“問い合わせ”であるＣＡ−ＰＭＴを送信することがある。それを受け取った外部アダプタ１８１１は、暗号解除が可能であるかどうか判断して、端末装置１８００に対して返答を送り返す。この返答は暗号解除開始部Ａ２８０３ａが、暗号解除制御フラグが“開始”であるＣＡ−ＰＭＴを外部アダプタ１８１１に対して送信するかどうかの判定に用いる。
【０２８７】
（実施の形態３１）
実施の形態１〜１５において、暗号解除開始部２８０３は、明記がなければ、実際に暗号解除を行う前に、暗号化されたＥＳがサービスに含まれているかどうか判定し、暗号化されたＥＳが含まれていれば、暗号解除を行う。特に外部アダプタ１８１１を利用する環境で、暗号化されたＥＳのあるなしに関わらず、暗号解除制御フラグが“開始”であるＣＡ−ＰＭＴを外部アダプタ１８１１に送信する実装であってもよい。
【産業上の利用可能性】
【０２８８】
本発明では、１以上の情報単位を含むサービスの実行依頼を受付け、実行するサービス実行手段と、暗号化された情報単位を暗号解除する暗号解除手段と、放送受信装置外部よりダウンロードされたアプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える暗号解除制御手段とを備えることを特徴とする放送受信装置を提案し、暗黙的に情報単位の暗号解除を行える手法をアプリケーションに対して提供した。
【０２８９】
本発明は、放送受信装置をベースとするが、携帯電話などの他の情報機器において暗号化された放送を受信する機能を持つものであれば適用可能である。
【図面の簡単な説明】
【０２９０】
【図１】本発明に係る放送システムの構成図である。
【図２】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図３】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図４】本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。
【図５】ＭＰＥＧ２仕様で既定されるＴＳパケットの構成図である。
【図６】ＭＰＥＧ２トランスポートストリームの模式図である。
【図７】ＭＰＥＧ２仕様で既定されるＰＥＳパケットがＴＳパケットを用いて伝送される際の分割例である。
【図８】ＭＰＥＧ２仕様で既定されるＭＰＥＧ２セクションがＴＳパケットを用いて伝送される際の分割例である。
【図９】ＭＰＥＧ２仕様で既定されるＭＰＥＧ２セクションの構成図である。
【図１０】ＭＰＥＧ２仕様で既定されるＭＰＥＧ２セクションの利用例である。
【図１１】ＭＰＥＧ２仕様で規定されるＰＭＴの利用例である。
【図１２】ＭＰＥＧ２仕様で規定されるＰＡＴの利用例である。
【図１３】ＭＰＥＧ２仕様で規定されるＰＥＳパケットが暗号化される場合の例である。
【図１４】ＭＰＥＧ２仕様で規定されるＭＰＥＧ２セクションが暗号化される場合の例である。
【図１５】ＥＭＭやＥＣＭを用いた暗号化の判定シーケンスである。
【図１６】本発明に係る放送受信装置のハードウエア構成の構成例である。
【図１７】本発明に係る端末装置のハードウェア構成における入力部のフロントパネル例である。
【図１８】本発明に係る放送受信装置のハードウェア構成の構成例である。
【図１９】本発明に係るＰＯＤを利用する放送受信装置のハードウェア構成例である。
【図２０】本発明に係る放送受信装置のデバイス接続例である。
【図２１】本発明に係る放送受信装置のデバイス接続例である。
【図２２】本発明に係る端末装置が保存するプログラム構成の構成図である。
【図２３】本発明に係る端末装置が実行するＥＰＧの例である。
【図２４】本発明に係る２次記憶部が保存する情報の一例である。
【図２５】本発明に係る１次記憶部が保存する情報の一例である。
【図２６】本発明に係るＤＶＢ−ＭＨＰ規格が規定するＡＩＴの内容を表す模式図である。
【図２７】本発明に係るＤＳＭＣＣ方式で送信されるファイルシステムを表す模式図である。
【図２８】本発明に係るＣＡライブラリの内部構成である。
【図２９】本発明に係るデスクランブラ管理部の情報保持例である。
【図３０】本発明に係る暗号解除開始部の実施の形態１におけるシーケンスである。
【図３１】本発明に係る暗号解除開始部の実施の形態１におけるシーケンスである。
【図３２】本発明に係るサービスマネージャの実施の形態１におけるシーケンスである。
【図３３】本発明に係る暗号解除開始部のシーケンスの一部が外部アダプタによって実行される場合のシーケンス例である。
【図３４】実施の形態１で例示するＪａｖａプログラムの画面表示例である。
【図３５】実施の形態１で例示するＪａｖａプログラムが属するサービスのＰＭＴ例である。
【図３６】実施の形態２で例示するＪａｖａプログラムの画面表示例である。
【図３７】実施の形態２で例示するストリーム情報アクセスライブラリの例である。
【図３８】実施の形態２で例示するストリーム情報アクセスライブラリの例である。
【図３９】実施の形態３で例示するＪａｖａプログラムの画面表示例である。
【図４０】実施の形態３におけるＣＡライブラリの構成図である。
【図４１】実施の形態３におけるデスクランブラ管理部の情報保持例である。
【図４２】実施の形態３における暗号解除開始部のシーケンスである。
【図４３】実施の形態３における暗号解除開始部のシーケンスである。
【図４４】実施の形態３における暗号解除停止部のシーケンスである。
【図４５】実施の形態３における暗号解除停止部のシーケンスである。
【図４６】実施の形態３における暗号解除停止部のシーケンスである。
【図４７】実施の形態３におけるストリーム情報アクセスライブラリの暗号解除開始時の動作シーケンスである。
【図４８】実施の形態３におけるストリーム情報アクセスライブラリの暗号解除停止時の動作シーケンスである。
【図４９】実施の形態３におけるサービス記憶部を持つストリーム情報アクセスライブラリの構成である。
【図５０】実施の形態４における暗号解除開始部のシーケンスである。
【図５１】実施の形態４における暗号解除開始部のシーケンスである。
【図５２】実施の形態４における暗号解除停止部のシーケンスである。
【図５３】実施の形態４における暗号解除停止部のシーケンスである。
【図５４】実施の形態４における暗号解除停止部のシーケンスである。
【図５５】実施の形態５におけるＣＡライブラリの内部構成図である。
【図５６】実施の形態６における暗号解除開始部のシーケンスである。
【図５７】実施の形態７におけるデスクランブラ競合の模式図である。
【図５８】実施の形態７におけるデスクランブラ競合の模式図である。
【図５９】実施の形態７における暗号解除状態管理部の情報保持の様子である。
【図６０】実施の形態７における複数プログラムの暗号解除による競合の例である。
【図６１】実施の形態８におけるＪａｖａライブラリの構成図である。
【図６２】実施の形態８における複数プログラムの暗号解除による競合の例である。
【図６３】実施の形態９における複数プログラムの暗号解除による競合の例である。
【図６４】実施の形態１０における複数プログラムの暗号解除による競合の例である。
【図６５】実施の形態１１における複数プログラムの暗号解除による競合の例である。
【図６６】実施の形態１２におけるＪａｖａプログラムが暗号解除開始部を利用するシーケンスである。
【図６７】実施の形態１４における、暗号解除開始部が外部アダプタに暗号解除が可能かどうか問い合わせる際のシーケンスである。
【図６８】実施の形態１５における、暗号解除状態管理部の構成例である。
【図６９】実施の形態１５における、暗号解除状態管理部の構成例である。
【図７０】実施の形態１８におけるサービスマネージャが管理するサービス記憶部の模式図である。
【図７１】実施の形態２６におけるサービスマネージャの暗号解除開始時の動作シーケンスである。
【図７２】実施の形態２６におけるサービスマネージャの暗号解除停止時の動作シーケンスである。
【図７３】実施の形態３０における、外部アダプタを利用して暗号解除を行う場合の、暗号解除開始部及び暗号解除停止部の分割例である。
【符号の説明】
【０２９１】
２１００  端末装置
１８１１  アダプタ
１８０２  ＴＳデコーダ
２１０１  チューナ
２１０４  デスクランブラ
２１０２  ＰＩＤフィルタ
２００３  セクションフィルタ
２００５  ＡＶデコーダ
２００６  ディスプレイ／スピーカ
２００７  １次記憶部
【図１】
2005102150.tif 000003
【図２】
2005102150.tif 000004
【図３】
2005102150.tif 000005
【図４】
2005102150.tif 000006
【図５】
2005102150.tif 000007
【図６】
2005102150.tif 000008
【図７】
2005102150.tif 000009
【図８】
2005102150.tif 000010
【図９】
2005102150.tif 000011
【図１０】
2005102150.tif 000012
【図１１】
2005102150.tif 000013
【図１２】
2005102150.tif 000014
【図１３】
2005102150.tif 000015
【図１４】
2005102150.tif 000016
【図１５】
2005102150.tif 000017
【図１６】
2005102150.tif 000018
【図１７】
2005102150.tif 000019
【図１８】
2005102150.tif 000020
【図１９】
2005102150.tif 000021
【図２０】
2005102150.tif 000022
【図２１】
2005102150.tif 000023
【図２２】
2005102150.tif 000024
【図２３】
2005102150.tif 000025
【図２４】
2005102150.tif 000026
【図２５】
2005102150.tif 000027
【図２６】
2005102150.tif 000028
【図２７】
2005102150.tif 000029
【図２８】
2005102150.tif 000030
【図２９】
2005102150.tif 000031
【図３０】
2005102150.tif 000032
【図３１】
2005102150.tif 000033
【図３２】
2005102150.tif 000034
【図３３】
2005102150.tif 000035
【図３４】
2005102150.tif 000036
【図３５】
2005102150.tif 000037
【図３６】
2005102150.tif 000038
【図３７】
2005102150.tif 000039
【図３８】
2005102150.tif 000040
【図３９】
2005102150.tif 000041
【図４０】
2005102150.tif 000042
【図４１】
2005102150.tif 000043
【図４２】
2005102150.tif 000044
【図４３】
2005102150.tif 000045
【図４４】
2005102150.tif 000046
【図４５】
2005102150.tif 000047
【図４６】
2005102150.tif 000048
【図４７】
2005102150.tif 000049
【図４８】
2005102150.tif 000050
【図４９】
2005102150.tif 000051
【図５０】
2005102150.tif 000052
【図５１】
2005102150.tif 000053
【図５２】
2005102150.tif 000054
【図５３】
2005102150.tif 000055
【図５４】
2005102150.tif 000056
【図５５】
2005102150.tif 000057
【図５６】
2005102150.tif 000058
【図５７】
2005102150.tif 000059
【図５８】
2005102150.tif 000060
【図５９】
2005102150.tif 000061
【図６０】
2005102150.tif 000062
【図６１】
2005102150.tif 000063
【図６２】
2005102150.tif 000064
【図６３】
2005102150.tif 000065
【図６４】
2005102150.tif 000066
【図６５】
2005102150.tif 000067
【図６６】
2005102150.tif 000068
【図６７】
2005102150.tif 000069
【図６８】
2005102150.tif 000070
【図６９】
2005102150.tif 000071
【図７０】
2005102150.tif 000072
【図７１】
2005102150.tif 000073
【図７２】
2005102150.tif 000074
【図７３】
2005102150.tif 000075