JP2005102150A - 放送受信装置 - Google Patents

放送受信装置 Download PDF

Info

Publication number
JP2005102150A
JP2005102150A JP2004197338A JP2004197338A JP2005102150A JP 2005102150 A JP2005102150 A JP 2005102150A JP 2004197338 A JP2004197338 A JP 2004197338A JP 2004197338 A JP2004197338 A JP 2004197338A JP 2005102150 A JP2005102150 A JP 2005102150A
Authority
JP
Japan
Prior art keywords
descrambling
service
information
information unit
broadcast receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004197338A
Other languages
English (en)
Inventor
Takasato Suzuki
孝聡 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004197338A priority Critical patent/JP2005102150A/ja
Priority to US10/927,245 priority patent/US7584356B2/en
Priority to CNB2004100748254A priority patent/CN100479521C/zh
Priority to KR1020040068510A priority patent/KR20050021970A/ko
Priority to EP04020515A priority patent/EP1511297A3/en
Publication of JP2005102150A publication Critical patent/JP2005102150A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • H04H60/16Arrangements for conditional access to broadcast information or to broadcast-related services on playing information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/14Arrangements for conditional access to broadcast information or to broadcast-related services
    • H04H60/23Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/38Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
    • H04H60/40Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Abstract

【課題】 放送受信装置上でプログラムを動作させる環境に関し、そのプログラムが、放送受信装置が受信する放送信号内の情報にアクセスすることがある。さらに、その情報は暗号化されていることがある。このとき、Javaプログラムはハードウェア上のデスクランブラ(2104)を用いて暗号解除を行う必要があるが、暗号解除は番組購入などの放送局側システムとの情報やりとりを含んだ面倒な操作である場合があり、Javaプログラムがこれら操作を負担するのは大変な労力である。
【解決手段】 放送受信装置上で動作するプログラムに対して、簡単に暗号解除を行う手段を提供する。
【選択図】 図21

Description

本発明は、放送を受信する放送受信装置に関する。特に、放送受信装置において、暗号化された放送信号を参照するプログラムを実行する機構に関する。
放送信号は多種多様な情報を含んで放送局より放送される。それら情報の中には、ユーザ毎にアクセス権限が設定されるものがある。例えば、スポーツチャンネルや映画チャンネルなどにおいて、契約を結んでいるユーザにのみ視聴可能な映像音声情報を伝送する。
このような形態を実現する機構として、CAS(Conditional Access System)が導入される。放送局は特定のユーザにのみアクセス可能な情報に対して暗号化処理を施し、そのデータを放送信号に載せて伝送する。同時に、放送局は、暗号解除に必要な鍵、特定ユーザに対して伝送する契約情報などの付加情報を、暗号化された情報と共に伝送する。
放送受信装置は、ユーザが暗号化された情報にアクセスする時、ユーザがその情報にアクセスする権限を保持しているかどうか判断し、可能であれば放送受信装置に存在するデスクランブラと呼ばれるデバイスを用いて暗号解除を行い、その後、暗号解除された情報にアクセスする。
このような環境において、放送受信装置はユーザのアクセス権限を判断する必要があるが、さらに「どの情報を」「どのタイミングで」暗号解除するかを判断する必要がある。
特許文献1には、放送受信装置が暗号化されたチャンネルを記憶しておき、ユーザがチャンネルを選択した際に、それが暗号化されたチャンネルであれば、自動的に放送受信装置外部に接続された外部デスクランブラを通す手法について詳述されている。この特許文献1においては、「選択されたチャンネルを」「選択時に」暗号解除を行う。
特開平4−32392号公報
現在、様々な地域において、プログラムを放送受信装置上で実行する環境に関する仕様が策定され、運用されている。例えば、DVB−MHP(Digital Video Broadcasting−Multimedia Home Platform)と呼ばれる仕様が欧州で策定され、既に仕様に準拠した運用が開始されている。またOCAP(OpenCable Application Platform)と呼ばれるケーブル放送環境に対応する仕様が米国で策定されつつあり、2005年に運用開始予定である。このような環境においては、放送受信装置上で実行されるプログラムは、放送受信装置上に存在するデバイスを用いて、自由に放送信号内の情報にアクセスすることが可能である。例えば、チューナデバイスを用いて放送受信装置が受信するMPEG2トランスポートストリームを変更することが可能である。例えば、AVデコーダデバイスを用いて、放送受信装置が受信するMPEG2トランスポートストリームが伝送する映像・音声情報をデコードし、画面・スピーカに出力することが可能である。例えば、セクションフィルタデバイスを用いて、放送受信装置が受信するMPEG2トランスポートストリームが伝送するデータ放送用データや番組情報を取得することが可能である。
このような環境において、プログラムがアクセスしようとする情報が暗号化されて伝送されていることがある。その場合、暗号化されたままでは放送受信装置上のデバイスは情報を利用することはできない。そのため、暗号化された情報を暗号解除する必要がある。
一つの手法として、放送受信装置が、放送受信装置上で動作するプログラムに対して、暗号解除するためのライブラリを提供する方法がある。プログラムは、暗号化された情報に対してアクセスを行う前に、暗号解除ライブラリを利用して暗号解除を開始する。この方法では、プログラム自身が暗号解除のタイミングを判断する。しかしながら、この方法はプログラム自身が、アクセスしたい情報の暗号解除に関して考慮しなければならない。暗号解除には予め契約したチャンネルに関する暗号解除を行う形態のみでなく、番組単位課金を行うPPV(Pay−Per−View)などのその時点で番組の購入を行う形態もあり、複雑な処理を必要とする場合がある。そのため、プログラム自身の実装がより複雑になる、という欠点がある。
本発明では、放送受信装置上で動作するプログラムが放送信号内の暗号化された情報に、より容易にアクセスする手段を提供する。
その一つの形態は、プログラムが放送信号内の暗号化された情報にアクセスする際に、放送受信装置が暗黙的に暗号解除を行うことである。
もう一つの形態は、放送受信装置が、プログラムに対して、容易な暗号解除手段を提供することである。
本発明が記述する放送受信装置は、1以上の情報単位を含むサービスの実行依頼を受付け、実行するサービス実行手段と、暗号化された情報単位を暗号解除する暗号解除手段と、放送受信装置外部よりダウンロードされたアプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える暗号解除制御手段とを備えることで、サービスが実行された時にサービスが含む全ての暗号化された情報単位が暗号解除されることが可能となり、それ以降、サービスが実行されている間、サービスが含む情報単位へのアクセスが可能となる。
さらに、1以上の情報単位にアクセスする情報単位アクセス手段を備え、第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知することで、前記第二のアプリケーションが実行されていないサービスが含む暗号化された情報単位にアクセスした時に、暗号解除の不可能性を知ることが可能となる。
さらに、1以上の情報単位にアクセスする情報単位アクセス手段を備え、アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知することで、第二のアプリケーションが、暗号解除が不可能であることを知ることが可能となる。
さらに、前記暗号解除手段は前記放送受信装置に着脱可能であり、前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されており、かつ、前記アプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与えることで、着脱可能な前記暗号解除手段を用いても情報単位の暗号解除を行うことが可能となる。
さらに、1以上の情報単位にアクセスする情報単位アクセス手段を備え、第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知することを特徴とすることで、第二のアプリケーションが、暗号解除が不可能であることを知ることが可能となる。
さらに、1以上の情報単位にアクセスする情報単位アクセス手段を備え、アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知することで、第二のアプリケーションが、暗号解除が不可能であることを知ることが可能となる。
さらに、第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記サービス実行手段に第二のサービスの実行を依頼した時、前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令し、前記第二のサービスが含む全ての暗号化された情報単位の暗号解除を前記暗号解除手段に指令することで、前記第一のサービスの暗号解除を停止してから前記第二のサービスの暗号解除を開始することが可能となる。
さらに、前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一のサービスが含む情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のサービスの暗号解除が停止されたことを前記第一のアプリケーションが知ることを可能とする。
さらに、前記暗号解除手段は、前記暗号解除制御手段から指令された第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のサービスが含む情報単位の暗号解除の指令を前記暗号解除制御手段から受け取った時、前記第一のサービスが含む情報単位の暗号解除を停止し、前記第二のサービスが含む情報単位の暗号解除を開始することで、前記第一のサービスの暗号解除を停止してから前記第二のサービスの暗号解除を開始することが可能となる。
1以上の情報単位にアクセスする情報単位アクセス手段と、暗号化された情報単位を暗号解除する暗号解除手段と、放送受信装置外部よりダウンロードされたアプリケーションが前記情報単位アクセス手段に、前記情報単位へのアクセスを依頼した時、前記情報単位の暗号解除を前記暗号解除手段に指令を与える暗号解除制御手段とを備えることで、前記アプリケーションが指示しなくても、前記情報単位の暗号解除が暗黙的に開始されることが可能となる。
さらに、前記暗号解除手段は前記放送受信装置に着脱可能であり、前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されている時に前記アプリケーションが前記情報単位アクセス手段に対して前記情報単位へのアクセスを依頼した場合、前記情報単位の暗号解除を前記暗号解除手段に指令を与えることで、着脱可能な前記暗号解除手段を用いた場合も、前記アプリケーションが直接指示しなくても、前記情報単位の暗号解除が暗黙的に開始されることが可能となる。
さらに、第一のアプリケーションが前記情報単位アクセス手段に対して第一の情報単位へのアクセスを依頼し、前記暗号解除手段が前記情報単位アクセス手段の依頼により前記第一の情報単位の暗号解除を行っている状況で、第二のアプリケーションが前記情報単位アクセス手段に対して第二の情報単位へのアクセスを依頼した時に、前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令してから前記第二の情報単位の暗号解除を前記暗号解除手段に指令することで、前記暗号解除制御手段が明示的に前記第一の情報単位の暗号解除停止を指示してから、前記第二の情報単位の暗号解除を開始することが可能となる。
さらに、前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一の情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のアプリケーションは、第一の情報単位の暗号解除が停止されたタイミングを知ることが可能となる。
さらに、前記暗号解除手段は、第一の情報単位の暗号解除を行っている状況で、前記暗号解除制御手段から第二の情報単位の暗号解除を指令された時、前記第一の情報単位の暗号解除を停止し、前記第二の情報単位の暗号解除を開始することで、前記第一の情報単位の暗号解除を停止してから、前記第二の暗号解除を開始することが可能となる。
さらに、前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高いまたは等しければ、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令することで、前記第一のアプリケーションの優先度よりも前記第二のアプリケーションの優先度の方が高いか等しければ、前記第二のアプリケーションが指定した情報単位の暗号解除が優先されることが可能となる。
さらに、前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止することで、前記第一のアプリケーションが指定した情報単位の暗号解除を停止してから、前記第二のアプリケーションが指定した情報単位の暗号解除を開始することが可能となる。
さらに、前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のアプリケーションは、アクセスを依頼している情報単位の暗号解除が停止されたことを知ることが可能となる。
さらに、前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高い時、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令することで、前記第一のアプリケーションの優先度よりも前記第二のアプリケーションの優先度の方が高ければ、前記第二のアプリケーションが指定した情報単位の暗号解除が優先されることが可能となる。
さらに、前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止することで、前記第一のアプリケーションが指定した情報単位の暗号解除を停止してから、前記第二のアプリケーションが指定した情報単位の暗号解除を開始することが可能となる。
前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知することで、前記第一のアプリケーションが、前記情報単位アクセス手段に対してアクセスを依頼する情報単位の暗号解除が停止したことを知ることが可能となる。
さらに、前記情報単位はエレメンタリーストリームであることで、エレメンタリーストリームの暗号解除を可能とする。
さらに、情報単位アクセス手段は、映像再生を行うために前記情報単位にアクセスする映像再生手段であることで、映像再生時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
さらに、情報単位アクセス手段は、音声再生を行うために前記情報単位にアクセスする音声再生手段であることで、音声再生時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
情報単位アクセス手段は、前記アプリケーションをダウンロードするために前記情報単位にアクセスするアプリケーションダウンロード手段であることで、アプリケーションダウンロード開始時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
さらに、情報単位アクセス手段は、アプリケーションが利用するデータを取得するために前記情報単位にアクセスするデータ取得手段であることで、データ取得時に暗黙的に前記情報単位の暗号解除を開始することが可能となる。
さらに、前記サービスに含まれる情報単位の少なくとも1つは前記サービスの実行時に再生される映像情報を含むことで、前記サービス選択時に、前記サービスが含む、映像情報を含む前記情報単位の暗号解除を暗黙的に開始することが可能となる。
さらに、前記サービスに含まれる情報単位の少なくとも1つは前記サービスの実行時に再生される音声情報を含む前記サービス選択時に、前記サービスが含む、音声情報を含むことで、前記情報単位の暗号解除を暗黙的に開始することが可能となる。
さらに、前記サービスに含まれる情報単位の少なくとも1つはアプリケーションを含むことで、前記サービス選択時に、前記サービスが含む、前記アプリケーションを含む前記情報単位の暗号解除を暗黙的に開始することが可能となる。
さらに、前記サービスに含まれる情報単位の少なくとも1つは前記サービスに含まれるアプリケーションが利用するデータを含むことで、前記サービス選択時に、前記サービスが含む、データを含む前記情報単位の暗号解除を暗黙的に開始することが可能となる。
(実施の形態1)
本発明は、対象となる放送システムとして、衛星システム、地上波システム、ケーブルシステムの三種類の運用形態を想定する。衛星システムは衛星を用いて放送信号を放送受信装置に伝送する形態、地上波システムは地上波信号送出装置を用いて放送信号を放送受信装置に伝送する形態、ケーブルシステムはケーブルヘッドエンドを用いて放送信号を放送受信装置に伝送する形態である。本発明は各放送システムの違いと直接的な関係を持たないため、放送システムに係らず適用可能である。
本発明に係る放送システムの実施の形態を、図面を参照しながら説明する。図1は、放送システムを構成する装置の関係を表したブロック図であり、放送局側システム101及び三個の端末装置A111、端末装置B112、端末装置C113で構成される。放送局側システム〜各端末装置間の結合121については有線/無線の両場合が存在する。例えばケーブルシステムでは、放送局側システム〜各端末装置間は有線にて結合される。一方、衛星/地上波システムにおける放送局側システム〜各端末装置間には、下り(放送局側システムから各端末装置へ)方向には有線結合は存在せず、放送信号は電波を利用して伝送される。上り(各端末装置から放送局側システムへ)方向については電話回線、有線インターネット等を利用した有線結合、無線通信を利用した無線結合の両場合があり、各端末装置はユーザ入力等の情報を放送局側システムへ送信する。本実施の形態では、1つの放送局側システムに対して三つの端末装置が結合されているが、任意の数の端末装置を放送局側システムに結合しても、本発明は適用可能である。
放送局側システム101は、複数の端末装置に対して映像・音声・データ放送用データ等の情報を放送信号に含めて送信する。放送信号は放送システムの運用既定や、放送システムが運用される国・地域の法律により定められた周波数帯域内の周波数を利用して伝送される。
例として、ケーブルシステムに関する放送信号伝送既定の例を示す。本例に示すケーブルシステムでは、放送信号伝送に利用される周波数帯域は、そのデータの内容と伝送方向(上り、下り)について、分割して用いられる。図2は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主に放送局側システム101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64またはQAM256変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図3は、OOB周波数帯域の更に詳細な使用の一例である。70MHz〜74MHzは放送局側システム101からのデータ送信に使用され、全ての端末装置A111、端末装置B112、端末装置C113が、放送局側システム101から同じデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111から放送局側システム101へのデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112から放送局側システム101へのデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113から放送局側システム101へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113から放送局側システム101に送信することができる。図4は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたTSパケット形式で伝送され、音声や映像に加え、各種データ放送用データやEPGを構成するための番組編成情報も送信することができる。
放送局側システム101は、これらの周波数帯域を利用して端末装置に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、放送局側システム101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、放送局側システム101からの放送信号を受信し再生する。また、放送局側システム101に対して、各端末装置固有のデータを送信する。三つの端末装置は、本実施の形態では同じ構成を取る。
なお、本例ではケーブルシステム運用に関する一例の詳細を紹介しているが、本発明は衛星、地上波システム及びケーブルシステムの他形態においても適用可能である。衛星及び地上波システムにおける放送局側システムと各端末装置の結合は、前記のように有線/無線の両場合が存在し、さらに周波数帯域や周波数間隔、変調方式、放送局側システムの構成等は放送システムの種別や運用に依存して異なるが、それらは本発明との関連性はなく、本発明はそれらがどのように既定されようと適用可能である。
放送局側システム101は、MPEG2トランスポートストリームを変調して放送信号に含めて伝送する。放送受信装置は放送信号を受信し、復調してMPEG2トランスポートストリームを再現し、その中から必要な情報を抽出して用いる。デジタル放送受信装置に存在するデバイスの機能と接続の構成を説明するため、まずMPEG2トランスポートストリームの構成を簡単に述べる。
図5はTSパケットの構成を表す図である。TSパケット500は188バイトの長さを持ち、ヘッダ501、アダプテーションフィールド502、ペイロード503からなる。ヘッダ501はTSパケットの制御情報を保持する。4バイトの長さを持ち、504で表される構成をとる。この中に“Packet ID(以下PID)”と記述されるフィールドを持ち、このPIDの値によって、TSパケットの識別を行う。アダプテーションフィールド502は時刻情報などの付加的な情報を保持する。アダプテーションフィールド502の存在は必須ではなく、存在しない場合もある。ペイロード503は映像・音声やデータ放送用データ等、TSパケットが伝送する情報を保持する。
図6はMPEG2トランスポートストリームの模式図である。TSパケット601及びTSパケット603はヘッダにPID100を保持し、ペイロードに映像1に関する情報を保持する。TSパケット602及びTSパケット605はヘッダにPID200を保持し、ペイロードにデータ1に関する情報を保持する。TSパケット604はヘッダにPID300を保持し、ペイロードに音声1に関する情報を保持する。
MPEG2トランスポートストリーム600はTSパケット601〜605のような連続したTSパケットによって構成される。TSパケットはそのペイロードに映像や音声、データ放送用のデータなど様々な情報を保持する。放送受信装置はTSパケットを受信して、各TSパケットが保持する情報を抽出することで、映像・音声を再生し、番組編成情報等のデータを利用する。この時、同一PIDを持つTSパケットは同一種類の情報を保持する。図6においても、TSパケット601及びTSパケット603は共に映像1に関する情報を伝送し、またTSパケット602及びTSパケット605は共にデータ1に関する情報を伝送する。
映像及び音声は、PES(Packetized Elementary Stream)パケットと呼ばれる形式で表現される。PESパケットはある時間帯の映像情報または音声情報を含み、放送受信装置は、PESパケットを受信することで、そのPESパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がPESパケットを途切れなく伝送することで、放送受信装置は、映像・音声を途切れなく再生し続けることが可能となる。PESパケットは、実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズを持つ場合は分割されて複数のTSパケットのペイロードに格納される。図7はPESパケットを伝送する際の分割例を表す。PESパケット701は一つのTSパケット内のペイロードに格納して伝送するには大きいため、PESパケット分割A702a、PESパケット分割B702b、PESパケット分割C702cに分割され、同一PIDを持つ三つのTSパケット703〜705によって伝送される。なお、PESパケットは運用によっては映像・音声だけでなく、サブタイトルと呼ばれる字幕用データを伝送することもある。
番組編成情報やデータ放送用のデータ等の情報はMPEG2セクションと呼ばれる形式を用いて表現される。MPEG2セクションは実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズを持つ場合は分割されて複数のTSパケットのペイロードに格納される。図8はMPEG2セクションを伝送する際の分割例を表す。MPEG2セクション801は一つのTSパケット内のペイロードに格納して伝送するには大きいため、セクション分割A802a、セクション分割B802b、セクション分割C802cに分割され、同一PIDを持つ三つのTSパケット803〜805によって伝送される。
図9はMPEG2セクションの構造を表現する。MPEG2セクション900はヘッダ901及びペイロード902から構成される。ヘッダ901はMPEG2セクションの制御情報を保持する。その構成はヘッダ構成903によって表現される。ペイロード902はMPEG2セクション900が伝送するデータを保持する。ヘッダ構成903に存在するtable_idはMPEG2セクションの種類を表現し、さらにtable_id_extensionはtable_idが等しいMPEG2セクション同士を区別する際に用いられる拡張識別子である。MPEG2セクションの使用例として、図10に番組編成情報を伝送する場合を挙げる。この例では、行1004に記載されるように、放送信号の復調に必要な情報はヘッダ構成903内のtable_idが64であるMPEG2セクションに記載され、さらにそのMPEG2セクションはPIDに16が付与されたTSパケットによって伝送される。
MPEG2トランスポートストリーム内に存在するTSパケット列の中で、同一PIDによって識別されるもののみを抽出した部分TSパケット列をエレメンタリーストリーム(ES)と呼ぶ。例えば、図7において、PESパケット701を分割して伝送しているTSパケット703〜705は全てPIDが100で識別される。これはPESパケット701を伝送するESである、と言うことができる。同様に、図8において、MPEG2セクション801を分割して伝送しているTSパケット803〜805は全てPIDが200で識別される。これはMPEG2セクション801を伝送するESである、と言うことができる。
MPEG2トランスポートストリーム内にはさらにプログラムという概念が存在する。プログラムはESの集合として表現され、複数のESをまとめて扱いたい場合に利用される。プログラムを利用すると、映像・音声や、それに付随するデータ放送用データなどを一まとめに扱うことが可能となる。例えば、同時に再生したい映像・音声をまとめて扱う場合、映像を含むPESパケットを伝送するESと、音声を含むPESパケットを伝送するESをプログラムとしてまとめることで、放送受信装置は二つのESを同時に再生すべきであることがわかる。
プログラムを表現するために、MPEG2ではPMT(Program Map Table)及びPAT(Program Association Table)と呼ばれる二つのテーブルが利用される。詳細な説明はISO/IEC13818−1、“MPEG2 Systems”仕様を参照されたい。以下ではPMT及びPATに関して簡単に説明する。
PMTはMPEG2トランスポートストリーム中に、プログラムの数だけ含まれるテーブルである。PMTはMPEG2セクションとして構成され、table_idは2である。PMTにはプログラムの識別に用いられるプログラムナンバーとプログラムの付加情報、さらにプログラムに属するESに関する情報を保持する。PMTの例を図11に挙げる。1100はプログラムナンバーである。プログラムナンバーは同一トランスポートストリーム内でプログラムに一意に割り当てられ、PMTの識別に用いられる。行1111〜1114は個々のESに関する情報を表現する。列1101はESのタイプであり、“映像”、“音声”、“データ”などが指定される。列1102はESを構成するTSパケットのPIDである。列1103はESに関する付加情報である。例えば、行1111に表されるESは、音声用PESパケットを伝送するESであり、PIDが5011であるTSパケットによって構成される。
PATはMPEG2トランスポートストリームに一つだけ存在するテーブルである。PATはMPEG2セクションとして構成され、table_idは0であり、PIDが0であるTSパケットによって伝送される。PATには、MPEG2トランスポートストリームの識別に用いられるtransport_stream_idと、MPEG2トランスポートストリーム内に存在するプログラムを表現する全てのPMTに関する情報を保持する。PATの例を図12に挙げる。1200はtransport_stream_idである。transport_stream_idはMPEG2トランスポートストリームの識別に用いられる。行1211〜1213はプログラムに関する情報を表現する。列1201はプログラムナンバーである。列1202はプログラムに対応するPMTを伝送するTSパケットのPIDである。例えば、行1211に表されるプログラムのPMTは、プログラムナンバーが101であり、対応するPMTはPIDが501であるTSパケットによって伝送される。
放送受信装置において、ユーザがあるプログラムに属する映像・音声の再生指示を出した場合はPAT及びPMTを用いて、指定された映像・音声の再生を行う。例えば図12のPAT及び図11のPMTを伝送するMPEG2トランスポートストリームに関して、プログラムナンバーが101であるプログラムに属する映像・音声の再生を行う場合は以下のような手順をとる。まずPIDが“0”であるTSパケットより、table_idが“0”のMPEG2セクションとして伝送されるPATを取得する。PATよりプログラムナンバーが“101”であるプログラムを探索し、行1211を得る。行1211より、プログラムナンバーが“101”であるプログラムのPMTを伝送するTSパケットのPID“501”を得る。次にPIDが“501”であるTSパケットより、table_idが“2”のMPEG2セクションとして伝送されるPMTを取得する。PMTより、音声のES情報である行1111及び映像のES情報である行1112を得る。行1111より、音声用PESパケットを伝送するESを構成するTSパケットのPID“5011”を得る。また行1112より、映像用PESパケットを伝送するESを構成するTSパケットのPID“5012”を得る。次にPID“5011”のTSパケットより音声用PESパケットを、PID“5012”のTSパケットより映像用PESパケットを取得する。これにより、再生対象となる映像・音声のPESパケットを特定することが可能となり、これらが伝送する映像音声を再生することができる。
本発明は、MPEG2トランスポートストリームによって伝送される、暗号化された情報に対するアクセス制御に関する。MPEG2トランスポートストリームに含まれる情報の暗号化の形式をここで述べる。
一般に暗号化とは、あるデータを、暗号化アルゴリズムを利用して可逆変更し、元のデータの内容を隠蔽することである。暗号化されたデータは暗号解除アルゴリズムを利用することで元のデータに戻すことが可能である。放送では“鍵”と呼ばれるビット列を用いた暗号化・暗号解除アルゴリズムが用いられる。放送局は暗号化したいデータをある“暗号化鍵”を利用した暗号化アルゴリズムに従って可逆変更し、その“暗号化鍵”に対応する“暗号解除鍵”を暗号化されたデータと共に伝送する。放送受信装置は“暗号解除鍵”を利用した暗号解除アルゴリズムを利用して暗号化されたデータを復元し、元のデータを得る。本発明はこの暗号化・暗号解除アルゴリズム自身とは無関係であり、どのようなアルゴリズムが利用されたとしても本発明は適用可能である。
前述したように、MPEG2トランスポートストリームで伝送される情報はPESパケットまたはMPEG2セクションの形式をとり、それが分割されてTSパケットで伝送される。この際、放送局で行われる暗号化処理はPESパケット及びMPEG2セクション単位で行われ、暗号化されたPESパケット及び暗号化されたMPEG2セクションが分割され、TSパケットによって伝送される。例えば、ある映像・音声情報に対するアクセス制限を行う場合、その映像・音声情報を伝送するPESパケットに対して暗号化処理を行う。
図13に暗号化されたPESパケットが伝送される状況を表す。PESパケット1301は暗号化され、さらに、一つのTSパケット内のペイロードに格納して伝送するには大きいため、PESパケット分割A1302a、PESパケット分割B1302b、PESパケット分割C1302cに分割され、同一PIDを持つ三つのTSパケット1303〜1305によって伝送される。結果的に、TSパケット1303〜1305のペイロード部分が暗号化された形となる。
図14に暗号化されたMPEG2セクションが伝送される状況を表す。MPEG2セクション1401は暗号化され、さらに、一つのTSパケット内のペイロードに格納して伝送するには大きいため、セクション分割A1402a、セクション分割B1402b、セクション分割C1402cに分割され、同一PIDを持つ三つのTSパケット1403〜1405によって伝送される。結果的に、TSパケット1403〜1405のペイロード部分が暗号化された形となる。
放送受信装置は、暗号化された情報を利用するために、デスクランブラと呼ばれるデバイスを用いて暗号解除を行う。デスクランブラは一つで一本のESに関する暗号解除を行うことが可能である。放送受信装置は、TSパケットのTSパケットヘッダ構成504に保持されるtransport_scrambling_controlに設定されている値を用いて、そのTSパケットがペイロードに含んで伝送するPESパケットまたはMPEG2セクションが暗号化されているかどうかを知ることが可能である。もし暗号化されていたのであれば、それらペイロードにて伝送されるPESパケットまたはMPEG2セクションはデスクランブラに伝送され、暗号解除が行われる。
放送受信装置が暗号解除を行うのに必要な情報は二種類ある。「暗号解除鍵などの暗号解除情報」及び「各契約者の契約情報」である。一般に、前者はECM(Entitlement Control Message)、後者はEMM(Entitlement Management Message)と呼ばれる形式で、MPEG2トランスポートストリームに含められて伝送される。ECMは暗号解除に必要な鍵を伝送し、それらはデスクランブラに設定されて暗号解除が行われる。EMMは各契約者の契約情報を伝送し、暗号解除処理対象である情報の暗号解除が契約上許されるかどうかを判定するのに用いられる。両方ともPESパケットまたはMPEG2セクション形式で伝送されることが可能であり、どちらが用いられるか、及びどのように伝送されるかは、運用規定によって決定される。放送受信装置がECM及びEMMを取得するためには、それぞれを伝送するTSパケットのPIDが必要となる。それを表現するために、MPEG2仕様ではCA(Conditional Access)記述子及びCAT(Conditional Access Table)を規定している。CA記述子はECM及びEMMを伝送するTSパケットのPIDを保持する。CATは暗号解除に関する情報を伝送するテーブルであり、それ自身table_idが“1”のMPEG2セクションとして構成され、PIDが“1”のTSパケットにより伝送される。CATはCA記述子を保持し、そのCA記述子が保持するPIDによって識別されるTSパケットはEMMを伝送する。また、PMTもCA記述子を保持することができ、PMTに存在するCA記述子が保持するPIDによって識別されるTSパケットはECMを伝送する。
EMMは契約情報を伝送しており、放送受信装置自体に関連する情報である。放送受信装置がEMMを受信する場合、まずPIDが“1”であるTSパケットよりtable_idが“1”であるCATを取得し、CATに記載されるCA記述子より、EMMを伝送するTSパケットのPIDを取得する。そのPIDにより識別されるTSパケットよりEMMを取得する。放送受信装置が暗号化された情報にアクセスする際、それが契約上可能であるかどうかを判断するのに用いられる。
ECMはアクセスしたい情報を暗号解除するための鍵を伝送しており、プログラムやESに依存する情報である。放送受信装置が暗号化された情報にアクセスする場合、まずPAT及びPMTを用いて暗号化された情報を伝送するESを特定する。そのESに関する情報が記載されるPMTには、それにあわせて必ずCA記述子が記載されている。そのCA記述子に記載されるPIDによって識別されるTSパケットはECMを伝送し、そのESが伝送する情報を暗号解除するのに必要な暗号解除鍵を含む。ECMに記載される暗号解除鍵は、デスクランブラに設定され、暗号解除に用いられる。
暗号解除処理におけるEMM及びECMに関わる動作シーケンスを図15に示す。まず放送受信装置は指定された識別子からPMTを取得し、暗号解除すべきESを特定する(S1501)。この識別子は基本的にプログラムあるいはESを指定するものであるが、どのような識別子を用いるかは運用に依存して決定される。もっとも単純な例としてはプログラムナンバーやESを構成するTSパケットのPIDである。次にEMMより契約情報を得る(S1502)。得られた契約情報より、S1501で特定したESが伝送する情報が、契約上暗号解除可能であるかどうか判別する(S1503)。もし暗号解除可能であれば、ECMを取得し(S1504)、ECMに記載される暗号解除鍵をデスクランブラに設定し(S1505)、暗号解除を開始する(S1506)。
なお、MPEG2仕様はECMやEMMの詳細や利用形態は規定しておらず、それらは各環境に合わせた運用規定によって決定される。具体的には、各環境において、ECM及びEMMの形態(PESパケットかMPEG2セクションか)、ECM及びEMMのフォーマット、ECMに記載される暗号解除鍵の長さや数、暗号解除鍵の更新間隔時間の長さ、EMMに記載される契約情報の内容、ECM及びEMMの送出間隔、などの情報はMPEG2仕様が規定せず、運用にあわせて決定される。各環境において、ECMやEMMは暗号解除に必要な情報を伝送しており、当然暗号解除に関わるが、本発明は“暗号解除を開始するタイミング”、及び“暗号解除する対象”を決定するアルゴリズムに関するものであり、実際の暗号解除処理に先立って行われる前処理に関するものである。本発明は暗号解除処理そのものとは関連性が薄く、本発明は、ECMやEMMがどのように運用されようと適用可能である。図15におけるシーケンスに関しても、本発明における暗号解除の開始には関わるが、図15がどのように実現されるかとは関係がないため、図15のシーケンスが実際にどのように実現されたとしても適用可能である。
ここまでMPEG2仕様に関する簡単な説明を行ったが、ここで単語の詳細な定義を行う。本発明に関して、「プログラム」という単語が二種類存在する。一つはMPEG2仕様に登場する「プログラム」であり、もう一つはCPUが実行するコードの集合という意味での「プログラム」である。前者に関しては、運用規定で用いられる「サービス」という単語と同義であるため、混乱を避けるため、以降、前者を「サービス」と呼び、後者を単に「プログラム」と呼ぶ。さらに後者に関して、特にJava(登録商標)言語で記述された「プログラム」を「Javaプログラム」と呼ぶ。
以上、本発明に関わる、MPEG2仕様にて決定されるいくつかの情報に関して説明を行った。以降、本実施の形態の前提となるハードウェア構成に関して説明する。
デジタル放送受信装置の一般的なハードウェア構成を表すブロック図を図16に示す。1600は端末装置であり、チューナ1601、TSデコーダ1602、AVデコーダ1603、スピーカ1604、ディスプレイ1605、CPU1606、2次記憶部1607、1次記憶部1608、ROM1609、入力部1610で構成される。
チューナ1601はCPU1606が指定する周波数を含むチューニング情報に従って、放送局側システム101内で変調され伝送されてきた放送信号を復調するデバイスである。チューナ1601が復調して得られるMPEG2トランスポートストリームはTSデコーダ1602に送信される。
TSデコーダ1602は、CPU1606が指定するPID,セクション選別条件等の指定に基づいてMPEG2トランスポートストリームから指定条件に合致するPESパケットやMPEG2セクションを選別する機能を有するデバイスである。TSデコーダ1602が選別したPESパケットはAVデコーダ1603に転送される。また、TSデコーダ1602が選別したMPEG2セクションは、1次記憶部1608にDMA(Direct Memory Access)転送され、CPU1606が実行するプログラムによって利用される。また、TSデコーダ1602内にはデスクランブラが存在し、暗号化されたPESパケット及びMPEG2セクションの暗号解除を行う。
AVデコーダ1603はエンコードされた映像及び音声をデコードする機能を有するデバイスである。AVデコーダ1603がデコードして得られたAV信号は、スピーカ1604、ディスプレイ1605に送信される。なお、AVデコーダ1603は必ずしも映像及び音声を同時にデコードできない場合もある。映像デコーダ、音声デコーダ単体として存在することもある。なお、AVデコーダ1603は場合によってはサブタイトルデータに対するデコード機能を有する場合もある。また、AVデコーダ1603は、暗号化されたPESパケットが伝送する映像・音声情報をデコードすることはできない。そのため、TSデコーダ1602内のデスクランブラにてPESパケットの暗号解除が行われない場合は、ユーザはそのPESパケットが伝送する映像・音声を視聴することは不可能となる。
スピーカ1604、ディスプレイ1605はそれぞれAVデコーダ1603から送信された音声、映像を出力する機能を有するデバイスである。
CPU1606は放送受信装置上で動作するプログラムを実行する。CPU1606が実行するプログラムは、ROM1609に含まれる場合、放送信号やネットワークよりダウンロードされ1次記憶部1608に保持されている場合、放送信号やネットワークよりダウンロードされ2次記憶部1607に保存されている場合などが存在する。実行するプログラムの指示に従い、チューナ1601、TSデコーダ1602、AVデコーダ1603、スピーカ1604、ディスプレイ1605、2次記憶部1607、1次記憶部1608、ROM1609、入力部1610を制御する。
2次記憶部1607はFLASH−ROMなどの不揮発性メモリ、HDD(Hard Disk Drive)、CD−RやDVD−Rなどの書き換え可能のメディアなど、端末装置1600の電源断の際にも情報が消去されない機器によって構成され、CPU1606の指示により情報の保存を行う。端末装置1600の電源断によって消えては困るデータの保存に利用される。
1次記憶部1608はRAM等によって構成され、CPU1606やDMA可能なデバイスの指示に従って情報を一時的に保存する機能を有するデバイスである。1次記憶部1608に保持された情報は、端末装置1600の電源断によって消去される。
ROM1609は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM1609には、CPU1606が実行するプログラムが格納されている。
入力部1610は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図17は、フロントパネルで入力部1610を構成した場合の一例である。フロントパネル1700は七つのボタン、上カーソルボタン1701、下カーソルボタン1702、左カーソルボタン1703、右カーソルボタン1704、OKボタン1705、取消ボタン1706、EPGボタン1707を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、CPU1606に通知される。
なお、図16ではディスプレイ1605、スピーカ1604を放送受信装置内部に包含する形で表現するが、放送受信装置にはディスプレイ1605、スピーカ1604を内包せず、外部にAV信号のみ出力するタイプのものも存在する。ディスプレイ1605及びスピーカ1604の存在場所は本発明と関連性がなく、どちらのタイプに対しても本発明は適用可能である。また図16では、チューナ1601やAVデコーダ1603は端末装置1600内に一つずつしか存在しないが、これらデバイスが複数存在するハードウェア構成もあり、その場合においても本発明は適用可能である。
図16に表されるハードウェア構成において、デスクランブラは端末装置1600のTSデコーダ1602に出荷時にデフォルトで内包されている。しかし、端末装置と、デスクランブラを含む外部アダプタを接続し、外部アダプタ内のデスクランブラを利用して暗号解除を行うハードウェア構成をとる端末装置が存在する。このようなハードウェア構成例として図18を表す。1800は端末装置であり、チューナ1801、TSデコーダ1802、AVデコーダ1603、スピーカ1604、ディスプレイ1605、CPU1806、2次記憶部1607、1次記憶部1608、ROM1609、入力部1610で構成される。端末装置1800に搭載される、図16と同じ番号で識別されるデバイスは図16の場合と同じ機能を有するため、説明を省略する。端末装置1800にはアダプタ1811が付与される。
アダプタ1811はデスクランブラを搭載する。図18のハードウェア構成例に登場するアダプタ1811にはMPEG2トランスポートストリームを入力とし、入力されたMPEG2トランスポートストリームに含まれるTSパケットに関して、CPU1806が指定したPIDを持つTSパケットが伝送するPESパケットあるいはMPEG2セクションに対して暗号解除を行う1以上のデスクランブラを保持する。アダプタ1811が保持するデスクランブラを動作させるためにはアダプタ1811に対してチューナ1801が復調したMPEG2トランスポートストリームを入力する必要がある。そのため、チューナ1801は復調したMPEG2トランスポートストリームをアダプタ1811に入力する。アダプタ1811は、入力されたMPEG2トランスポートストリーム内の、CPU1806が指定したTSパケットが伝送するPESパケットあるいはMPEG2セクションに対する暗号解除を終えた後、MPEG2トランスポートストリームをTSデコーダ1802に送信する。TSデコーダ1802は、図16におけるTSデコーダ1602がチューナ1601から入力されるMPEG2トランスポートストリームに対して処理を行うことができるのと同様、アダプタ1811から入力されたMPEG2トランスポートストリームに対して処理を行うことが可能である。CPU1806は端末装置1800内に存在するデバイスだけでなく、アダプタ1811内のデバイスと通信あるいは制御することが可能である。
なお、アダプタ1811はカード型のデバイスとして実現されて端末装置1800のカード接続端子と接続されて利用されたり、ボックス型のデバイスとして実現されて端末装置1800のUSB(Universal Serial Bus)端子やIEEE(Institute of Electrical and Electronics Engineers)1394端子などの接続端子と接続されて利用されたり等、様々な形態で実現されるが、本発明はそのようなアダプタ1811のデバイス形態や、端末装置との接続方法に依存せずに適用可能である。また、端末装置1800が同時に物理的に接続することが可能なアダプタの数にも依存しないため、複数のアダプタ1811と物理的に接続可能であっても適用可能である。また、図18のハードウェア構成例では、チューナ1801からアダプタ1811に対して直接MPEG2トランスポートストリームが入力される構成をとるが、チューナ1801から出力されたMPEG2トランスポートストリームが一度TSデコーダ1802を経由し、その後アダプタ1811に入力されるハードウェア構成も考えられる。この場合、TSデコーダ1802は、MPEG2トランスポートストリームをアダプタ1811に対して中継する機能を保持し、その機能を利用してチューナ1801から入力されるMPEG2トランスポートストリームをアダプタ1811に対して出力する。また、図18のハードウェア構成例にはチューナ1801やAVデコーダ1603が一つずつしか存在しないが、これらが複数存在するハードウェア構成も存在することがあり、その場合においても本発明は適用可能である。
アダプタの第一例として、欧州で利用されるDVB−CI(Common Interface)カードについて説明する。DVB−CIの仕様については“ETSI EN50221”に示される。ここではDVB−CI仕様について簡単に説明する。DVB−CI仕様は端末装置にアダプタを付与するためのインタフェース仕様であり、端末装置とアダプタを、PCMCIA(Personal Computer Memory Card International Association)インタフェースを用いて接続する。DVB−CIカードは内部にデスクランブラを内包し、図18におけるハードウェア構成例と同様の構成下において利用される。図16におけるハードウェア構成例では、図15のシーケンスをすべて端末装置1600が行う必要があるが、DVB−CIでは、図15のシーケンスはDVB−CIカードに搭載されるCPUが行う。端末装置1800内のCPU1806は、DVB−CIカードに対して、CA記述子が記述されたPMT(CA−PMT)をバイナリで送信することで、DVB−CIがEMMやECMの操作を行って、自動的に暗号解除を開始する。
アダプタの第二例として、米国ケーブルシステムで利用されるPOD(Point Of Deployment)について説明する。PODの仕様は、“OC−SP−HOSTPOD−IF”仕様に示される。ここでは簡単にPODについて説明する。PODもDVB−CI同様カード型の形態をとり、端末装置とPCMCIAインタフェースを用いて接続される。図19はPOD1911が付与された端末装置のハードウェア構成を表す。端末装置1900内に存在するデバイスで、図16あるいは図18と同じ番号で識別されるデバイスは、図16あるいは図18の場合と同様の機能を持つ。POD1911はデスクランブラを搭載しており、図18におけるアダプタ1811と同様に、チューナ1901からMPEG2トランスポートストリームを入力され、TSデコーダ1902に対して、暗号解除処理済みのMPEG2トランスポートストリームを出力する。また、米国ケーブルシステムでは、図2、図3で表されるように、OOBと言われる周波数帯域を用いて、様々な情報が上り及び下り方向に伝送されている。このとき、放送局側システム101が端末装置に対して送出する情報の形式と、端末装置1900が解釈可能な情報の形式は異なるため、そのままでは情報のやりとりが不可能となる。POD1911はこれらOOBで伝送される上り、下りの情報の形式変換を行うデバイスを備えている。OOBで伝送される情報はQPSK変調方式で変調される。本変調方式は公知の技術であり、詳細な説明は省略する。端末装置はQPSK復調器1912とQPSK変調器1913を備える。CPU1906は端末装置1900内のデバイスだけでなく、POD1911内のデバイスを制御可能である。
下り方向の端末装置1900の情報受信に関し、まずQPSK復調器1912はOOBで放送局側システム101から送信されてくる下りの信号を復調し、生成されたビットストリームをPOD1911に入力する。POD1911はビットストリームが含む様々な情報の中から、CPU1906が指定する情報を抽出して、CPU1906上で動作するプログラムが解釈可能な形式に変換して、CPU1906に提供する。
上り方向の端末装置1900の情報送信に関し、まずCPU1906が放送局側システム101に対して送信したい情報を、POD1911に送信する。POD1911はCPU1906から入力された情報を放送局側システム101が解釈可能な形式に変換し、QPSK変調器1913に送信する。QPSK変調器1913はPOD1911から入力された情報をQPSK変調し、放送局側システム101に送信する。
なお、POD1911もDVB−CI同様にCPUを搭載しており、図15のシーケンスをPOD1911内のCPUが実行する。端末装置1900内のCPU1906は、POD1911に対して、CA記述子が記述されたPMT(CA−PMT)をバイナリで送信することで、POD1911がEMMやECMに関する操作を行って、自動的に暗号解除を開始する。また、POD1911が利用される環境では、EMMやECMはIn−Bandで伝送されることもあれば、OOBで伝送されることもあるが、EMMやECMの取得手法は本発明と無関係であり、それがどのように伝送されても本発明は適用可能である。また、図18同様、図19に関しても、チューナ1901からPOD1911に対して直接MPEG2トランスポートストリームが入力される構成となっているが、一度TSデコーダ1902を経由してPOD1911に入力される構成となっていてもよい。この場合、TSデコーダ1902はチューナ1901から入力されるMPEG2トランスポートストリームをPOD1911に中継する機能を持つ。また、端末装置1900はチューナ、AVデコーダ等の各デバイスを一つずつしか保持しないが、本発明は各デバイスの数には依存しないため、それぞれが複数あろうと適用可能である。但し、チューナが複数存在して、それぞれが受信するMPEG2トランスポートストリームをPOD1911内のデスクランブラを用いて暗号解除するのであれば、POD1911は複数のMPEG2トランスポートストリームの入力を許す構成をとる必要があり、さらに端末装置1900はPOD1911に複数のMPEG2トランスポートストリームを入力し、POD1911から複数のMPEG2トランスポートストリームを受け取る機能を持つ必要がある。
ここで、端末装置1600内部にデスクランブラが存在する場合と、外部のアダプタ内にデスクランブラが存在する場合に関する暗号解除処理の違いについて簡単に説明する。
図16に表されるハードウェア構成では、端末装置1600内にデスクランブラが存在する。暗号解除を行うためにはデスクランブラに対して暗号解除鍵及びPIDを指定する必要がある。そのため、このようなハードウェア構成では、端末装置1600自身がECMを取得し、さらにそこから暗号解除鍵を取得してデスクランブラにそれら値を設定する。
図18に表されるハードウェア構成では、端末装置1800の外にデスクランブラが存在する。前述したように、その代表例としてDVB−CI及びPODがある。外部アダプタ1811のように端末装置1800の外にデスクランブラが存在する場合、端末装置1800は、暗号解除開始及び停止すべきESの情報を外部アダプタ1811に伝える必要がある。DVB−CI及びPODの場合、そのためにCA−PMTと呼ばれるメッセージを用いる。CA−PMTはPMTと同様の形態をとり内部にESの情報を包含する。CA−PMTはPMTから“暗号解除に関する情報以外の情報”を削除し、さらに暗号解除を開始するか停止するかを表す暗号解除制御フラグを付与したものである。DVB−CI及びPODは、暗号解除制御フラグが“開始”であるCA−PMTを端末装置1800より受信すると、そのCA−PMTに記載されているESの暗号解除を開始する。DVB−CI及びPODは内部にデスクランブラのみならず、CPU、暗号解除プログラムが記録されたROM、1次記憶、EMM・ECMを取得するデバイスを保持しており、EMM及びECMの取得、EMM情報に基づいた契約上の判断や、ECMに記載される暗号解除鍵のデスクランブラへの設定、PIDのデスクランブラへの設定といった操作はDVB−CI及びPOD上のプログラムが行う。また、DVB−CI及びPODは、暗号解除制御フラグが“停止”であるCA−PMTを端末装置1800より受信すると、そのCA−PMTに記載されているESの暗号解除を停止する。端末装置1800はCA−PMTを構成してDVB−CIやPODに対して投げることでDVB−CI及びPODに対して暗号解除の開始・停止指示やESに関する情報を通知することができ、暗号解除の制御を行うことが可能となる。
図16〜図19に登場する各デバイスを利用して、放送受信装置は、放送信号に含まれて伝送される映像・音声を画面に出力する機能や、放送信号が含む番組編成情報などのデータを抽出し、ユーザに提示する機能を実現する。図20に、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。2000は端末装置であり、チューナ2001、PIDフィルタ2002、セクションフィルタ2003、デスクランブラ2004、AVデコーダ2005、ディスプレイ/スピーカ2006、1次記憶部2007を有する。図20に登場するデバイスは図16に登場するデバイスと1対1または1対多で対応する。
チューナ2001はチューナ1601と対応し、放送信号を入力とし、MPEG2トランスポートストリームを出力する。
TSデコーダ1602内にはMPEG2トランスポートストリームに対して処理を行う3種類のデバイス、PIDフィルタ2002、セクションフィルタ2003、デスクランブラ2004が存在する。これらの機能についてここで詳述する。
PIDフィルタ2002は、入力されたMPEG2トランスポートストリームから、CPU1606が指定したPIDを持つTSパケットを抽出し、さらにそのペイロードに存在するPESパケットやMPEG2セクションを抽出する。例えば図7に表される状況でPESパケット701を抽出する場合を例にとる。まずCPU1606はPIDフィルタ2002にPID100を設定し、PESパケットを抽出するように要求を出す。するとPIDフィルタ2002は、MPEG2トランスポートストリーム中を流れるTSパケットの中からPIDが100であるTSパケット703〜705を抽出し、さらに抽出されたTSパケット703〜705のペイロードに含まれるPESパケット分割A702a、PESパケット分割B702b、PESパケット分割C702cを取り出して連結し、PESパケット701を構成する。PIDフィルタ2002は、TSデコーダ1602内に一つ以上存在する。
デスクランブラ2004はPIDフィルタ2002が出力するPESパケット、MPEG2セクションに対して暗号解除を行う。PESパケット及びMPEG2セクションは暗号化された場合も図7及び図8同様に分割されて伝送される。デスクランブラ2004は、CPU1606のPID指定により、暗号化されたPESパケット及びMPEG2セクションを伝送するTSパケットを特定することができ、その上でCPU1606が指定する暗号解除鍵を用いて暗号解除処理を行う。デスクランブラ2004は、暗号解除処理済みのPESパケットをAVデコーダ2005へ、暗号解除処理済みのMPEG2セクションをセクションフィルタ2003へそれぞれ出力する。暗号解除は暗号化されたPESパケット及びMPEG2セクションにのみ適用される処理であり、デスクランブラ2004はCPU1606の指示により、必要な場合のみPIDフィルタ2002からPESパケット及びMPEG2セクションを入力され、暗号解除処理を行う。スクランブルされていないPESパケット及びMPEG2セクションについては、PIDフィルタ2002から直接AVデコーダ2005及びセクションフィルタ2003にそれぞれ出力される。デスクランブラ2004はTSデコーダ1602内に一つ以上存在する。
セクションフィルタ2003は、入力されたMPEG2セクションの中から、CPU1606が指定するセクションフィルタ条件に合致するMPEG2セクションを抽出し、1次記憶部2007にDMA転送する。1次記憶部2007に保持されたMPEG2セクションはCPU1606によって読み出され、利用される。例えば、図10においてチューニング情報を保持するMPEG2セクションを取得する場合を例にとる。CPU1606はまずPIDフィルタ2002にPID16を設定し、セクションを取得するように要求を出す。PIDフィルタ2002はPIDが16であるTSパケットからセクションを抽出し、セクションフィルタ2003に提供する。次にCPU1606はtable_idが64であるセクションを抽出するようにセクションフィルタ2003に対して要求する。セクションフィルタ2003はPIDフィルタ2002によって入力されるMPEG2セクションの中からtable_idが64であるセクションを抽出し、1次記憶部2007にDMA転送する。セクションフィルタ2003はTSデコーダ1602内に一つ以上存在する。
AVデコーダ2005は、AVデコーダ1603と対応し、PESパケットを入力、AV信号をディスプレイ/スピーカ2006に出力する。ディスプレイ/スピーカ2006はディスプレイ1605及びスピーカ1604に対応し、AV信号を入力とし、ディスプレイ1605に映像を、スピーカ1604に音声を出力する。
1次記憶部2007は1次記憶部1608と対応し、MPEG2セクションを入力とし、CPU1606が実行するプログラムに対してその内容の参照を可能とする。
図20の表現を用いて、映像及び音声をそれぞれディスプレイ及びスピーカに出力する手続きを例示する。放送受信装置に入力された放送信号は、まず、チューナ2001によってMPEG2トランスポートストリームに復調される。次にPIDフィルタ2002によって、CPU1606が指定したPIDを持つTSパケットが伝送する、映像及び音声情報を内包するPESパケットが抽出される。必要であればPESパケットはデスクランブラ2004に送信され、暗号解除処理が施される。その後、PESパケットはAVデコーダ2005に入力され、デコードされてAV信号が出力される。その後、AV信号はディスプレイ及びスピーカ2006に入力され、映像及び音声の再生を行うことができる。
図20の表現を用いて、番組編成情報等のデータを放送信号から抽出するための手続きを例示する。放送受信装置に入力された放送信号は、まず、チューナ2001によってMPEG2トランスポートストリームに復調される。次にPIDフィルタ2002によって、CPU1606が指定したPIDを持つTSパケットが伝送する、データを内包するMPEG2セクションが抽出される。必要であればMPEG2セクションはデスクランブラ2004に送信され暗号解除処理が施される。さらに、MPEG2セクションはセクションフィルタ2003に入力され、CPU1606が指定したセクションフィルタ条件に合致するMPEG2セクションのみが出力される。その後、MPEG2セクションは、1次記憶部2007に入力され、CPU1606に提供される。
なお図20も図16同様、自身がディスプレイ/スピーカ2006を有する放送受信装置として概念図化されているが、ディスプレイ/スピーカ2006は放送受信装置が内包せず、外部に存在するタイプもある。どちらのタイプに対しても本発明は適用可能である。また、図20が表す概念図では、デスクランブラ2004はTSデコーダ1602内に存在するが、ハードウェア構成によっては、TSデコーダ外部に存在することもある。その場合でも本発明は適用可能である。
次に図18に表される、アダプタが物理的に接続されるハードウェア構成に対応する、概念図を図21に示す。2100は端末装置であり、チューナ2101、PIDフィルタ2102,セクションフィルタ2003、AVデコーダ2005、ディスプレイ/スピーカ2006、1次記憶部2007が存在する。さらに、アダプタ1811が存在し、デスクランブラ2104が存在する。図20の場合と同一の番号で識別されるデバイスは、図20の場合と同等の機能を有するため、説明を省略する。図20における端末と異なるのはデスクランブラの接続箇所と機能である。図20においては、デスクランブラ2004はTSデコーダ1602内に存在し、CPU1606が指定する暗号解除鍵を用いて、PIDフィルタ2002が出力するPESパケット及びMPEG2セクションの暗号解除を行う。それに対し、図21においては、デスクランブラ2104はチューナ2101と接続され、チューナ2101が復調したMPEG2トランスポートストリームが入力される。デスクランブラ2104はCPU1806が指定するPIDをもつTSパケットを抽出し、自身でMPEG2トランスポートストリーム中より暗号解除に必要な鍵を抽出し、暗号解除を行う。デスクランブラ2104が暗号解除処理を行ったMPEG2トランスポートストリームはTSデコーダ1802に入力され、それ以降は図20と同様に処理が流れる。PIDフィルタ2102は、デスクランブラ2104から入力されたMPEG2トランスポートストリームに対して、TSパケットの抽出及びPESパケット、MPEG2セクションの構成が可能である。
図19に表すPODが存在するハードウェア構成に関してはIn−Bandにて伝送される信号の処理に関しては図21に表されるのと同様であるため、説明は省略する。
ここまでは、本発明に関するハードウェアの構成例に関して述べたが、以降、端末装置上でのプログラム動作手続きについて述べる。図22は、ROM1609に記憶され、CPU1606に実行されるプログラムの構成図の一例である。
プログラム2200は、複数のサブプログラムで構成され、具体的にはOS2201、EPG2202、JavaVM2203、サービスマネージャ2204、Javaライブラリ2205で構成される。
OS2201は、端末装置1600の電源が投入されると、CPU1606が起動するサブプログラムである。OS2201は、オペレーティングシステムの略であり、Linux、Windows(登録商標)等が一例である。OS2201は、他のサブプログラムを並行して実行するカーネル2201a及びライブラリ2201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS2201のカーネル2201aは、EPG2202とJavaVM2203をサブプログラムとして実行する。また、ライブラリ2201bは、これらサブプログラムに対して、端末装置1600が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをチューナ1601に引き渡す。チューナ1601は与えられたチューニング情報に基づき復調処理を行い、復調したMPEG2トランスポートストリームをTSデコーダ1602に引き渡すことができる。この結果、他のサブプログラムはライブラリ2201bを通してチューナ1601を制御することができる。
EPG2202は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部2202aと、チャンネル選局を行う再生部2202bで構成される。ここで、EPGはElectric Program Guideの略である。EPG2202は、端末装置1600の電源が投入されると、カーネル2201aによって起動される、起動されたEPG2202の内部では、番組表示部2202aが端末装置1600の入力部1610を通して、ユーザーからの入力を待つ。ここで、入力部1610が図17で示されるフロントパネルで構成されている場合、ユーザーが、入力部1610のEPGボタン1707を押下すると、EPGボタンの識別子がCPU1606に通知される。CPU1606上で動作するサブプログラムであるEPG2202の番組表示部2202aは、この識別子を受け取り、番組情報をディスプレイ1605に表示する。図23(1)及び(2)は、ディスプレイ1605に表示された番組表の一例である。図23(1)を参照して、ディスプレイ1605には、格子状に番組情報が表示されている。列2301には、時刻情報が表示されている。列2302には、チャンネル名「チャンネル1」と、列2301の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列2303も列2302同様、チャンネル名「チャンネル2」と、列2301の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。2330は、カーソルである。カーソル2330は、フロントパネル1700の左カーソル1703と右カーソル1704を押下すると移動する。図23(1)の状態で、右カーソル1704を押下すると、カーソル2330は右に移動し、図23(2)のようになる。また、図23(2)の状態で、左カーソル1703を押下すると、カーソル2330は左に移動し、図23(1)のようになる。
図23(1)の状態で、フロントパネル1700のOKボタン1705が押下されると、番組表示部2202aは、「チャンネル1」の識別子を再生部2202bに通知する。図23(2)の状態で、フロントパネル1700のOKボタン1705が押下されると、番組表示部2202aは、「チャンネル2」の識別子を再生部2202bに通知する。
また、番組表示部2202aは、表示する番組情報を、放送局側システム101から定期的に、1次記憶部1608または2次記憶部1607に記憶しておく。一般的に、放送局側システムからの番組情報の取得は時間が掛かる。入力部1610のEPGボタン1707が押下された時、1次記憶部1608または2次記憶部1607に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部2202bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部1607に予め格納されている。図24は2次記憶部1607に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列2401は、チャンネルの識別子である。列2402は、チャンネル名である。列2403はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、チューナ1601に与える値である。列2404はプログラムナンバーである。行2411〜2414の各行は、各チャンネルの識別子、チャンネル名、チューニング情報、プログラムナンバーの組となる。行2411は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を含む組となっている。再生部2202bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
また、再生部2202bは、再生中に、ユーザーがフロントパネル1700の上カーソル1701と下カーソル1702を押下すると、入力部1610からCPU1606を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部2202bは、1次記憶部1608に現在再生中のチャンネルの識別子を記憶する。図25(1)(2)及び(3)は、1次記憶部1608に保存しているチャンネルの識別子の例である。図25(1)では識別子「3」が記憶されており、図24を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図25(1)の状態で、ユーザーが上カーソル1701を押下すると再生部2202bは、図24のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部1608に記憶されているチャンネル識別子「2」に書き換える。図25(2)は、チャンネル識別子が書き換えられた状態を表す。また、図25(1)の状態で、ユーザーが下カーソル1702を押下すると再生部2202bは、図24のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部1608に記憶されているチャンネル識別子「4」に書き換える。図25(3)は、チャンネル識別子が書き換えられた状態を表す。
JavaVM2203は、Java(TM)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJavaバーチャルマシンは、バイトコードをCPU1606が理解可能な実行形式に翻訳してから、CPU1606に引渡し、実行することも行う。JavaVM2203は、カーネル2201aに実行するJavaプログラムを指定され起動される。本実施の形態では、カーネル2201aは、実行するJavaプログラムとしてサービスマネージャ2204を指定する。Java言語の詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、JavaVM自体の詳細な動作などは、「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ2204は、Java言語で書かれたJavaプログラムであり、JavaVM2203によって逐次実行される。サービスマネージャ2204は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ2204は、JNIを通して、再生部2202bよりチャンネルの識別子を受け取る。
サービスマネージャ2204は、最初にJavaライブラリ2205の中にあるTuner2205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner2205cは、2次記憶部1607が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ2204がチャンネルの識別子「1」をTuner2205cに引き渡すと、Tuner2205cは、図24の行2412を参照して、対応するチューニング情報「150MHz」を獲得する。Tuner2205cは、OS2201のライブラリ2201bを通してチューナ1601にチューニング情報を引き渡す。チューナ1601は与えられたチューニング情報に従って放送局側システム101から送信されてきた信号を復調し、TSデコーダ1602に引き渡す。
次にサービスマネージャ2204は、CAライブラリ2206に暗号解除を依頼する。CAライブラリ2206は、OS2201のライブラリ2201bを通して暗号解除に必要な情報をTSデコーダ1602内のデスクランブラ2004に与える。これに関する詳細は後述する。
次にサービスマネージャ2204は、Javaライブラリ2205の中にあるJMF2205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF2205aは、再生すべき映像と音声を特定するためのPIDをPAT、PMTから取得する。JMF2205aは、PATを取得するため、OS2201のライブラリ2201bを通して、TSデコーダ1602にPID「0」とCPU1606を指定する。TSデコーダ1602がPID「0」及びtable_id「0」でフィルタリングを行い、1次記憶部1608を通してCPU1606に引き渡すことで、JMF2205aは、PATを収集する。ここで、PATの例として図12を挙げる。今、JMF2205aに与えられたチャンネルの識別子が「1」とすると、JMF2205aは、図24の行2411を参照して、対応するプログラムナンバー「101」を獲得し、次に、図12のPATの行1211を参照し、プログラムナンバー「101」に対応するPID「501」を獲得する。JMF2205aは、PMTを取得するため、OS2201のライブラリ2201bを通して、TSデコーダ1602にPATより取得したPIDとtable_id「2」を指定する。ここで、指定するPIDは「501」とする。TSデコーダ1602がPID「501」及びtable_id「2」でフィルタリングを行い、1次記憶部1608を通してCPU1606に引き渡すことで、JMF2205aはPMTを収集する。ここでPMTの例として図11を挙げる。JMF2205aは、PMTから再生する映像と音声のPIDを獲得する。図11を参照して、JMF2205aは、行1111から音声のPID「5011」を、行1112から映像のPID「5012」を獲得する。
次に、JMF2205aは、OS2201のライブラリ2201bを通して、獲得した映像/音声のPIDと出力先としてAVデコーダ1603を、TSデコーダ1602に与える。TSデコーダ1602は与えられたPIDに基づいて、フィルタリングを行う。ここではPID「5011」「5012」のTSパケットをAVデコーダ1603に引き渡す。AVデコーダ1603は、与えられたPESパケットのデコードを行いディスプレイ1605、スピーカ1604を通して映像/音声を再生する。
最後にサービスマネージャ2204は、Javaライブラリ2205の中にあるAM2205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJavaプログラムを抽出し、JavaVM2203に実行させることである。MPEG2トランスポートストリームにJavaプログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのTSパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをMPEG2セクションを用いてエンコードする方法を規定している。また、実行するJavaプログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのTSパケットの中に埋め込まれ、table_idが「0x74」であるMPEG2セクションとして送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略である。
AM2205bは、まず、AITを獲得するため、JMF2205a同様PAT、PMTを取得し、AITが格納されているTSパケットのPIDを獲得する。今、与えられたチャンネルの識別子が「1」で、図12のPAT、図11のPMTが送信されているとすると、JMF2205aと同様の手順で、図11のPMTを獲得する。AM2205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからPIDを抽出する。図11を参照して、行1113のエレメンタリ−ストリームが該当し、PID「5013」を獲得する。
AM2205bは、OS2201のライブラリ2201bを通してTSデコーダ1602にAITのPIDとtable_id「0x74」を与える。TSデコーダ1602は、与えられたPID及びtable_idでフィルタリングを行い、1次記憶部1608を通してCPU1606に引き渡す。この結果、AM2205bは、AITの収集することができる。図26は、収集したAITの情報の一例を模式的に表した表である。列2601はJavaプログラムの識別子である。列2602はJavaプログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置1600がこのJavaプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はJavaプログラムを停止することを意味する。列2603は、DSMCC方式でJavaプログラムを含んでいるPIDを抽出するためのDSMCC識別子である。列2604はJavaプログラムのプログラム名である。行2611と2612は、Javaプログラムの情報の組である。行2611で定義されるJavaプログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行2612で定義されるJavaプログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで二つのJavaプログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に二つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して四つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM2205bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図26を参照して、AM2205bは行2611のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。
次にAM2205bは、AITから取得したDSMCC識別子を用いて、ファイルシステムをDSMCC方式で格納しているTSパケットのPIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのPIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図11とすると、行1114のエレメンタリ−ストリームが合致し、PID「5014」を取り出す。
AM2205bは、OS2201のライブラリ2201bを通してTSデコーダ1602にDSMCC方式でデータが埋めこまれたMPEG2セクションを伝送するTSパケットのPID及びセクションフィルタ条件を指定する。ここでは、PID「5014」を与える。TSデコーダ1602は与えられたPIDを用いてDSMCC用MPEG2セクションのフィルタリングを行い、1次記憶部1608を通してCPU1606に引き渡す。この結果、AM2205bは、必要なDSMCC用MPEG2セクションを収集することができる。AM2205bは、収集したMPEG2セクションから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部1608に保存する。MPEG2トランスポートストリーム中のTSパケットからファイルシステム等のデータを取り出し1次記憶部1608、2次記憶部1607等の記憶手段に保存することを以降、ダウンロードと呼ぶ。
図27は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、2701はルートディレクトリ、2702はディレクトリ「a」,2703はディレクトリ「b」,2704はファイル「TopXlet.class」、2705はファイル「GameXlet.class」である。
次にAM2205bは、1次記憶部1608にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM2203に引き渡す。今、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図27を参照して、ファイル2704が実行すべきJavaプログラムである。次にAM2205bは、ファイル2704をJavaVM2203に引き渡す。
なお、AM2205bが実行すべきJavaプログラムを参照する手法はAITによるものだけではない。米国ケーブルシステムで利用されることが想定されるOCAPでは図3に記載されるOOBにてアプリケーションの参照情報を記載するXAITが利用されている。その他、ROM1609に予め記録されているものを起動する、2次記憶部1607にダウンロードして記憶したものを起動する、などの方法も考えられる。
JavaVM2203は、引き渡されたJavaプログラムを実行する。
以上のような手続きで、サービスマネージャ2204はチャンネル識別子を受け取ってチューニング、暗号解除、映像・音声再生、Javaプログラム起動を行う。この一連の手続きを、まとめて「サービスの選択」と呼ぶ。「サービスの選択を行う」とは、「サービスに属するESが保有する情報をユーザに対して可視化することである」と定義することが可能である。サービスの選択を行うと、上記手続きに従って、“サービスに属するESによって伝送される映像・音声が再生”され、“サービスに属するESによって伝送されるJavaプログラムが起動”される。サービスの選択によって再生された映像・音声は、そのサービスに属している、と表現できる。同様に、サービスの選択によって起動されたJavaプログラムは、そのサービスに属している、と表現できる。
サービスマネージャ2204は、他のチャンネルの識別子を受け取ると、Javaライブラリ2205に存在するライブラリを利用して再度サービスの選択を行う。本実施の形態では、サービスマネージャ2204が選択可能なサービスの数は一つである。
一般に、チャンネル識別子は一つのサービスを表す。本実施の形態では、図24に表されるようなチャンネル情報がチャンネル識別子からプログラムナンバーを求める際に利用されている。チャンネル識別子からプログラムナンバーの解決方法として代表的なのは、SI(Service Information)が用いられる方法である。SIはEPG等に利用される番組編成情報であり、各放送環境によって規定され、伝送される。代表例として欧州における放送環境ではEN400−368に規定されるDVB−SIが利用される。また米国ケーブル放送環境ではANSI/SCTE65に規定されるSIが利用される。これらSIにおいては、サービスを特定するための何らかの識別子が既に規定されており、その識別子からプログラムナンバーを解決するための仕組みが既に考慮されている。チャンネル識別子は、これらSIが規定した識別子を利用する。その場合、放送受信装置は、SIを利用し、チャンネル識別子からPMTの取得に用いるプログラムナンバーへの解決を行う。その場合、本発明はそのSIの形態には依存しないため、どのようなSIが用いられても適用可能である。図24のチャンネル情報も、SIを利用して取得される。
Javaライブラリ2205は、ROM1609に格納されている複数のJavaライブラリの集合である。本実施の形態では、Javaライブラリ2205は、JMF2205a,AM2205b,Tuner2205c,DSM−CC2205d、Section Filter(SF)2205e、サービスマネージャ管理ライブラリ2205fを含んでいる。Javaプログラムはこれらライブラリを利用しながら、Javaプログラムの機能を実現する。
Javaライブラリ2205に含まれるライブラリの中で、特にJMF2205a、DSM−CC2205d、SF2205eの三種類は、MPEG2トランスポートストリーム内の情報にアクセスするためのライブラリである。このようなライブラリを、ストリーム情報アクセスライブラリと呼ぶ。JMF2205aは映像・音声の再生機能を持つライブラリ、DSM−CC2205dはMPEG2トランスポートストリーム内にて伝送されるファイルを取得する機能を持つライブラリ、SF2205eはMPEG2トランスポートストリーム内のMPEG2セクションを取得するライブラリである。これらライブラリを用いて、JavaプログラムはMPEG2トランスポートストリーム内の情報にアクセスすることが可能である。また、ストリーム情報アクセスライブラリはそれぞれ1以上の実行単位を持ち、Javaプログラムはその実行単位毎にストリーム情報にアクセスすることが可能である。例えば、JMF2205dは映像音声を再生可能な“プレイヤー”を実行単位として保持する。Javaプログラムは“プレイヤー”に対して映像音声の再生命令を出すことで映像音声を再生できる。さらに、画面を分割して複数の映像を出力することが可能な端末装置の場合、“プレイヤー”は複数存在し、Javaプログラムはそれぞれに対して映像再生命令を出すことで別々の映像を画面に表示することも可能である。例えばSF2205eは“セクションフィルタ”を実行単位として保持する。“セクションフィルタ”は図20におけるセクションフィルタ2003に相当し、その単位でMPEG2セクションを取得することができる。セクションフィルタ2003が複数存在するハードウェア構成上では、SF2205eが保持する“セクションフィルタ”も複数存在し、Javaプログラムは各“セクションフィルタ”に対してセクション取得命令を出すことで、別々のMPEG2セクションを同時に取得することが可能である。
またJavaプログラムはサービスマネージャ管理ライブラリ2205fを利用することで、サービスマネージャ2204によるサービスの選択を行うことが可能である。具体的には、Javaプログラムがサービスマネージャ管理ライブラリ2205fにチャンネル識別子を渡すと、サービス管理ライブラリ2205fは受け取ったチャンネル識別子をサービスマネージャ2204に引き渡す。その後はEPG2202を用いたチャンネル選択時と同様にサービスマネージャ2204によるサービスの選択が行われ、チャンネル識別子に対応するプログラムナンバーによって識別されるPMTに記載される情報に基づき、そのサービスに属する映像・音声が再生され、そのサービスに属するJavaプログラムが起動される。また、サービスマネージャ2204も、ストリーム情報アクセスライブラリ同様、1以上の実行単位を持つ。サービスマネージャ2204の場合、実行単位は“サービスコンテキスト”と呼ばれ、サービスの選択は実行単位“サービスコンテキスト”毎に行われる。“サービスコンテキスト”一つにつき、一つのサービスを選択可能である。サービスマネージャ2204が複数のサービスを同時に選択可能である場合は実行単位“サービスコンテキスト”をその数だけ保持することになる。EPG2202及びサービスマネージャ管理ライブラリ2205fは実行単位“サービスコンテキスト”に対してサービス選択命令を発行し、サービスマネージャ2204は指定された実行単位“サービスコンテキスト”に新たに選択したサービスに関する情報をセットする。
Javaプログラムは情報のアクセス単位として、ストリーム情報アクセスライブラリに対してサービスまたはESを指定することが可能である。サービスが指定された場合、Javaプログラムはサービスに対応するPMTに記載される、全てのESが伝送する情報にアクセスすることを指す。ESが指定された場合、Javaプログラムは指定ESが伝送する情報にアクセスすることを指す。このどちらの指定を用いるかはライブラリの種類により異なる。なお、ライブラリにサービスを指定する方法は多岐にわたるが、代表的なのはチャンネル識別子を用いる方法である。またライブラリにESを指定する方法も多岐にわたるが、代表的なのはPIDを用いる方法である。本発明はその指定形式には依存しないので、どのような指定形式であろうと適用可能である。
例えばJavaプログラムはJMF2205aに対して、サービスを指定することができる。この場合、JMF2205aは指定されたサービスのPMTより映像・音声を伝送するESのPIDを取得して再生を開始することが可能である。
例えばJavaプログラムはSF2205eに対して、ESを指定することができる。この場合、SF2205eは指定ESが伝送するMPEG2セクションをバイナリ形式でそのまま取得することが可能である。またJMF2205aに対してもESを指定することができる。この場合、JMF2205aは指定されたESが伝送するPESパケット内に存在する映像音声を再生する。 このように、JavaプログラムはJavaライブラリ2205内に存在するライブラリを利用することで、放送信号内の情報に対してアクセスすることが可能である。しかし、もしアクセス対象が暗号化されていた場合、暗号解除を行わなければ情報を取得することができない。そのため、放送受信装置はJavaプログラムに対して、暗号解除手段を提供する必要がある。
本実施の形態では、放送受信装置は、“EPG2202を用いたユーザによるチャンネル選択”または“Javaプログラムによるサービスマネージャ管理ライブラリ2205fの利用”に従って、サービスマネージャ2204が新たなサービスを選択する場合に、暗黙的にサービス内のESの暗号解除を開始する。具体的には、サービスマネージャ2204が取得するPMTに属する全ESを暗号解除対象とし、サービスマネージャ2204がチューニングを終えた時点で、暗号解除を開始する。また本実施の形態ではサービスマネージャ2204が同時に選択できるサービスは一つである。つまりサービスマネージャ2204が保持する実行単位“サービスコンテキスト”は常に一つである。同様に、同時に暗号解除可能なサービスは一つのみとし、二つ以上のサービスを同時に暗号解除することはできない。
本実施の形態では、上記を実現するために、暗号解除状態管理部、デスクランブラ管理部、暗号解除開始部を導入する。その模式図を図28に表す。CAライブラリ2206内に暗号解除状態管理部2801、デスクランブラ管理部2802、暗号解除開始部2803を導入する。
暗号解除状態管理部2801は暗号解除されている対象となる情報を保持する。暗号解除状態管理部2801は1次記憶部1608上に実現される。暗号解除状態管理部2801はデスクランブラによって暗号解除されているサービスのプログラムナンバーを一つだけ保持する機能を持つ。保持されたプログラムナンバーは暗号解除開始部2803によって参照される。
デスクランブラ管理部2802はハードウェア上に存在するデスクランブラの使用状態を管理する。デスクランブラの使用状態は“未使用”、“使用中”の二状態のどちらかを持つ。図29にデスクランブラ管理部2802の実現例を示す。行2911〜2914は各デスクランブラの情報である。列2901はデスクランブラ名、列2902は使用状態を表す。デスクランブラ管理部2802に問い合わせることで、使用されているデスクランブラの数や、空いているデスクランブラの数を取得することが可能である。デスクランブラ管理部2802は、デスクランブラが図16のように端末装置1600内に存在する場合、1次記憶部1608上に実現され、暗号解除開始部2803によって参照される。また、そうでなくても、実際にデスクランブラの使用状態に関する問い合わせが行われた際に、その時点でデスクランブラの状態を調査して使用状態を返す実装になっていてもよい。図18のように端末装置1800内にデスクランブラが存在せず、アダプタ1811内に存在する場合は、アダプタ1811内の1次記憶部上に実現され、CPU1806の問い合わせに対し、デスクランブラの使用状態を返す。
暗号解除開始部2803は、暗号解除を開始するためのライブラリとして実現される。本実施の形態における暗号解除開始部2803は、指定されたプログラムナンバーによって識別されるサービスの暗号解除を開始する機能を持つ。既にこれから暗号解除を開始しようとするサービスが暗号解除されていた場合は、何もしない。もし既に別サービスが暗号解除されていた場合は、その暗号解除を停止し、指定されたサービスの暗号解除を新規に開始する。図30、図31に暗号解除開始部2803の動作シーケンスを表す。暗号解除開始部2803がプログラムナンバーを受け取る(S3001)と、まず暗号解除状態管理部2801に問い合わせて、その時点で暗号解除されているサービスのプログラムナンバーを取得する(S3002)。S3001で受け取ったプログラムナンバーとS3002で取得したプログラムナンバーを比較し、既に暗号解除されているサービスがS3001で指定されたサービスであるかどうか判定する(S3003)。もしS3001で指定されたプログラムナンバーが識別するサービスが既に暗号解除されていたのであれば、シーケンスは終了する。もし別のサービスが暗号解除されているまたは、暗号解除自体が行われていないのであれば、S3001で取得したプログラムナンバーによって識別されるPMTを取得し(S3004)、図31のシーケンスへ入る(S3005)。図31では、まずPMTを受け取り(S3101)、その時点で行われている別サービスの暗号解除を停止する(S3102〜S3104)。次にPMTより暗号解除が必要なESを取得し(S3105)、デスクランブラ管理部2802からデスクランブラを取得(S3106)、S3105で取得した全てのESを暗号解除するのに充分なデスクランブラが存在すれば(S3107)、図15のシーケンスでEMMやECMに関する処理を行って暗号解除を開始し(S3108)、今回の暗号解除に用いられたデスクランブラに関して、デスクランブラ管理部2802内の状態を“使用中”に変更する(S3109)。図30のシーケンスに戻り、暗号解除状態管理部2801にプログラムナンバーを記録して処理を終了する(S3006)。
暗号解除開始部2803は、図16のハードウェア構成例のようにデスクランブラが端末装置1600内にある場合は、ROM1609にライブラリとして記録され、CPU1606によって実行される。図18のハードウェア構成例のように、デスクランブラが端末装置1800の外にある場合はROM1609と、外部アダプタ1811内のROMに機能が分割して記録される。図30に表されるシーケンスに関してはライブラリとして端末装置1800内のROM1609に記録され、CPU1806によって実行される。その場合、S3004において、取得したPMTよりCA−PMTを構成して外部アダプタ1811に送信する。図31のシーケンスを行うプログラムはDVB−CIやPODなどの外部アダプタ1811内のROMに記録され、図30におけるS3006の時点で、端末装置1800が外部アダプタ1811に対してCA−PMTを送信した時に、外部アダプタ1811内のCPUによって起動される。さらに図30及び図31では、暗号解除開始部2803は同期シーケンスで操作を行うように表現されるが、図30におけるS3006においてCA−PMTを端末装置1800が外部アダプタ1811に送信すると、それ以降の処理はCPU1806及び外部アダプタ1811内のCPUによって並行して行われることもある。具体的には、S3005において、CPU1806がCA−PMTを外部アダプタ1811に投げると、外部アダプタ1811内のCPUが図31に表されるシーケンスを開始するが、それと平行してCPU1806はS3006に表される動作を行い、図30のシーケンスが図31のシーケンスよりも先に終了する実装もありうる。この状況の簡単な説明図を図33に表す。S3004においてCA−PMTを端末装置1800が外部アダプタ1811に送信すると、端末装置1800は外部アダプタ1811内での図31のシーケンスの終了を待たずにS3006へと処理を進める。このような実装が行われることもある。
本実施の形態においては、Javaプログラムによってサービスマネージャ管理部2205fが利用されたり、EPG2202よりチャンネル識別子が渡されたりして、サービスマネージャ2204が起動して映像・音声再生及びJavaプログラム起動を開始する際に、それら操作の前に、暗号解除開始部2803を用いて暗号解除を行う。
本実施の形態では、サービスマネージャ2204によるサービス選択時に暗号解除を開始する。そのシーケンスを図32に表す。サービスマネージャ2204は、まずチャンネル識別子を受け取る(S3201)と、チャンネル識別子よりプログラムナンバーを得る(S3202)。ここでは前述したように図24のようなSIより構成したチャンネル情報を用いて、チャンネル識別子をプログラムナンバーに変換する。次にTuner2205cを用いてチューニングを行う(S3203)。その後、サービスが暗号化されているかどうか判断し(S3204)、もし暗号化されていれば暗号解除開始部2803を利用して、サービスの暗号解除を開始する(S3205)。S3204におけるサービスが暗号化されているかどうかの判断は、サービスのPMTにCA記述子が記載されていれば暗号化されており、記載されていなければ暗号化されていない、という基準に基づいて行う。その後、映像・音声再生(S3206)、Javaプログラムの実行(S3207)を行う。なお、S3206及びS3207は平行して行われることもある。また、本実施の形態では、暗号解除開始部2803自身は指定されたサービスが暗号化されているかどうか判定しないために、サービスマネージャ2204がその判定を行うが、暗号解除開始部2803自身がその判定を行い、暗号化されていなければ暗号解除しない、という判断を行っても良い。暗号解除開始部2803を利用する側は、暗号解除開始部2803に指定する情報が暗号化されているかどうかを気にする必要はなく、その場合でも本発明は適用可能である。
本実施の形態では、サービスマネージャ2204によるサービス選択時に暗号解除を開始するが、Javaプログラムによりストリーム情報アクセスライブラリが利用された場合は暗号解除を開始しない。そのため、アクセス対象となる情報が、サービスマネージャ2204が選択したサービスに属しているものであれば、Javaプログラムが動作している時点で既に暗号解除が施されているため、改めて暗号解除をする必要なくアクセス可能である。例えば、図11のPMTによって表現されるサービスが選択されている場合、行1111〜1114によって表される四本のESはサービスマネージャ2204によるサービス選択時に暗黙的に暗号解除されている。そのため、ES1114に含まれるファイルを基に起動されたJavaプログラムが、例えば行1111によって表される映像を伝送するPESパケットに対してJMF2205aを用いてアクセスする場合、改めて暗号を解除する必要はない。しかし、アクセスしたい対象が他サービスに属しているものであれば、ストリーム情報アクセスライブラリによって暗黙的に暗号解除が開始されないため、Javaプログラムがこれにアクセスして情報を正しく読み出すことは不可能である。
本実施の形態により実装可能なJavaプログラム例を図34に表す。また、その時のPMT例を図35に表す。Javaプログラムはディスプレイ1605上において、3401にデータ放送用データ、3402に映像を表示する。このJavaプログラムは、図35のPMTの行3514によって表されるESに含まれており、サービスマネージャ2204がこのPMTが表現するサービスを選択することで起動される。そのサービス選択の過程で、PMTに含まれる全てのESの暗号解除が開始される。JavaプログラムはJMF2205aを用いてPIDが5022であるTSパケットが伝送する映像を3402に表示する。またJavaプログラムはSF2205eを用いて、PIDが5025であるTSパケットが伝送するデータ放送用データを取得して、3401に表示する。このように、Javaプログラムは、自身が属するサービスに含まれるESに関する限り、暗号解除を気にせずに情報にアクセスすることが可能である。
本実施の形態により、Javaプログラムは自身が属するサービスに含まれるESが伝送する情報であれば、暗号化されているかどうかを気にせずにアクセス可能である。
なお、本実施の形態では、ストリーム情報アクセスライブラリとして、JMF2205a、DSM−CC2205d、SF2205eを挙げているが、ストリーム情報アクセスライブラリは、MPEG2トランスポートストリームによって伝送される情報に対してアクセスするためのライブラリであれば全て含まれ、それは上の三種類に限らず、また上の三種類が全て含まれている必要はない。その種類はDVB−MHPやOCAPなどのプログラム実行環境の仕様によって決定される。
また、本実施の形態では、ROM1609が保存する内容を2次記憶部1607が保存することで、ROM1609を削除することも実施可能である。また、2次記憶部1607は、複数のサブ2次記憶部で構成し、個々のサブ2次記憶部が異なる情報を保存しても実施可能である。例えば、1つのサブ2次記憶部はチューニング情報のみを保存し、別のサブ2次記憶部は、OS2201のライブラリ2201bを保存し、更に別のサブ2次記憶部は、ダウンロードしたJavaプログラムを保存するなど、詳細に分割することが可能である。
また、本実施の形態においては、ダウンロードしたJavaプログラムを2次記憶部1607に保存していたが、1次記憶部1608に保存することも実施可能である。1次記憶部1608に保存する場合、電源OFF時に、保存された情報は全て消える。
また、本実施の形態においては、明記していない部分は参照ハードウェア構成例を図16としているが、図18のようにアダプタを利用するハードウェア構成でももちろん本発明は適用可能である。その場合は同一デバイスで図16と図18で識別番号が異なるものは、識別番号を置き換えた表現を用いることで、図18の説明とする。例えば、CPU1606はCPU1806として解釈される。また図20と図21においても同様である。基本参照ハードウェア構成として図20を用いているが、図21においてももちろん本発明は適用可能である。
(実施の形態2)
実施の形態1では、サービスマネージャ2204がサービスの選択を行う際に暗号解除をサービス単位で開始していた。このような場合、Javaプログラムは、自身が属するサービス以外のサービスに属する暗号化された情報にアクセスすることができない。しかしながら、Javaプログラムは自身が属するサービスとは別のサービスに属する映像・音声を再生したい場合がある。例えば、EPGを実現するJavaプログラムがある場合、EPGには一般にユーザが選択中の映像・音声を画面の一部において再生する機能があるが、実施の形態1では、自身が属するサービス以外の暗号化された情報にアクセスすることができないため、このようなEPGは実現不可能である。例として、図36にこのEPGを実現するJavaプログラムの画面表示例を表した。ディスプレイ1605の左半分に番組表を表示している。行3611〜3614は選択候補のチャンネルを表す。列3601はチャンネル識別子、列3602はチャンネル名である。また、3621には番組表においてカーソルが合っているチャンネルの映像が表示される。図36の場合、カーソルはチャンネル1に合っているため、チャンネル1の映像が3621に表示される。この時、行3611〜3614で表される四つのチャンネルの映像・音声は、通常それぞれ一つのサービスによって伝送される。実施の形態1では、Javaプログラムが属するサービスに関する暗号解除しか行われないため、このようなEPGを実現することはできない。
実施の形態2では、暗黙的に放送受信装置がサービス単位で暗号解除をする点では実施の形態1と変わらないが、暗号解除を開始するタイミングを変更し、サービスマネージャ2204がサービス選択を行う時に暗号解除を開始するのではなく、Javaプログラムがストリーム情報アクセスライブラリを利用するたびに暗号解除を行うサービスを変更する。具体的には、例えば、JMF2205aに対してサービスが指定された場合、JMF2205aは、映像・音声を再生する前に、指定されたサービスのPMTに記載されたESが伝送する情報の暗号解除を、暗号解除開始部2803を利用して行う。さらに、SF2205eのようにESが指定されうるストリーム情報アクセスライブラリであっても、そのESが属するサービス内の全てのESに関する暗号解除を行う。その際は、まずMPEG2トランスポートストリーム内の全てのPMTを調べ、指定されたESのPIDを含むものを利用する。
図37にサービスを指定されるストリーム情報アクセスライブラリの例として、JMF2205aの動作シーケンスを表す。チャンネル識別子を受け取る(S3701)と、チャンネル識別子よりプログラムナンバーを得る(S3702)。前述したようにチャンネル識別子として用いられる対象によりプログラムナンバーを得る手段は異なる。例として、PAT上の順序を用いたり、SIを用いたりする方法がある。もしサービスが暗号化されていれば(S3703)、暗号解除開始部2803を用いてサービスの暗号解除を開始する(S3704)。その後、映像・音声の再生を開始する(S3705)。
図38にESを指定されるストリーム情報アクセスライブラリの例としてSF2205eの動作シーケンスを表す。PIDを受け取る(S3801)と、MPEG2トランスポートストリーム中に存在する全PMTを取得し、その中で指定されたPIDを含むものを探す(S3802)。もしも見つからなければ、指定されたPIDが識別するTSパケットは暗号化されていないため、暗号解除を行う必要はない。もしも見つかれば(S3803)、次にそのPIDを含むサービスが暗号化されているかどうか判断し(S3804)、暗号解除開始部2803を利用して暗号解除を開始する(S3805)。その後、MPEG2セクションの取得を開始する。
本実施の形態では、まずサービスマネージャ2204によってサービス選択が行われた際、JMF2205aやDSM−CC2205dなどのストリーム情報アクセスライブラリが利用されるため、まずその時点で暗号解除が開始される。そのサービス選択によって起動されたJavaプログラムがストリーム情報アクセスライブラリを用いた時、それまでの暗号解除を停止し、“ストリーム情報アクセスライブラリに指定したサービス”、または“ストリーム情報アクセスライブラリに指定したESを含むサービス”について暗号解除を開始する。
図36に表されるEPGを実現するJavaプログラムの例を示す。まず放送受信装置自身のEPG2202上で行われるユーザのチャンネル選択に基づいてサービスマネージャ2204はサービスの選択を行う。この場合、EPGを実現するJavaプログラムは図24の行2411で表される“チャンネル1”に含まれ、ユーザは“チャンネル1”を選択したものとする。すると、サービスマネージャ2204は“チャンネル1”のチャンネル識別子“1”に基づいてプログラムナンバーを取得してサービス選択を行い、暗号解除が開始される。映像音声が再生され、図36のEPGを実現するJavaプログラムが起動する。このJavaプログラムはディスプレイに図36のような画面を表示する。この時、デフォルトでカーソルが合わせられるのは、Javaプログラムが属し、既に暗号解除が行われている“チャンネル1”であり、Javaプログラムは、3621に“チャンネル1”に属する映像を、JMF2205aを用いて表示する。以降、ユーザがカーソルを上下に動かすと、カーソルが合わされたチャンネルのチャンネル識別子に対応するサービスの映像を3621にJMF2205aを用いて表示する。この際、JMF2205aが利用される度にそれまで行われていた暗号解除が停止され、新たなサービスに対する暗号解除が開始される。このようにして、Javaプログラムが特に暗号解除を意識せずに図36のようなEPGを実現することが可能となる。
本実施の形態においては、Javaプログラムが利用したい、最も新しくアクセスされた暗号化情報に関して暗黙的な暗号解除を行うことが可能である。
なお、本実施の形態ではサービスマネージャ2204は暗号解除を行わず、ストリーム情報アクセスライブラリが暗黙的な暗号解除を行うが、サービスマネージャ2204によるサービス選択時にも暗黙的な暗号解除を行う形態をとっても本発明は適用可能である。
(実施の形態3)
実施の形態2では、Javaプログラムが、ストリーム情報アクセスライブラリを利用した時点で暗号解除が開始されるため、最も新しくアクセスされた情報に対する暗黙的な暗号解除が可能であった。しかしながら、同時に暗号解除可能なサービスは実施の形態1同様一つであったため、複数のサービスを同時に暗号解除することは不可能であった。例えば、Javaプログラムが実施の形態2におけるものよりも高機能なEPGを実現する場合を考える。このようなEPGの例を図39に表す。EPGは、画面左半分に番組表を表示する。行3911〜3914は各チャンネルの選択候補を表す。また列3901はチャンネル識別子を、列3902はチャンネル名を表す。さらに番組表において選択候補カーソル(破線)が指し示す選択候補の映像を画面右下の3922に表示し、選択済みカーソル(実線)が指し示す選択済みの映像を画面右上の3921に表示する。図39の時点では、選択候補カーソルは“TV Japan”、選択済みカーソルは“チャンネル1”を指している。このようなEPGを実現するJavaプログラムを考えた場合、選択候補の映像と選択済みの映像情報を二つ同時に暗号解除する必要がある。行3911〜3914のチャンネルの映像音声は通常それぞれ一サービスにて伝送されるため、そのような場合、二つのサービスを同時に暗号解除する必要がある。実施の形態1及び2では、同時に暗号解除可能なサービスは一つであったため、このようなEPGをJavaプログラムで実現することは不可能である。また実施の形態1ではサービスマネージャ2204が同時に選択可能なサービスは一つのみであったが、サービスマネージャ2204が同時に複数のサービスを選択可能であった場合も、複数のサービスを同時に暗号解除する必要がある。これに関しても実施の形態1では対応不可能である。
本実施の形態では、複数サービスを同時に暗号解除可能である。この実現のためのCAライブラリ2206の様子を図40に表す。暗号解除状態管理部2801、デスクランブラ管理部2802、暗号解除開始部2803に変更を加え、さらに暗号解除停止部4004を導入する。
暗号解除状態管理部2801は、実施の形態1においては一つのプログラムナンバーのみを保持可能であったが、本実施の形態においては複数のプログラムナンバーを保持することが可能とする。さらに、各プログラムナンバーに関してカウントを保持する。
デスクランブラ管理部2802は、一つのサービスのみが暗号解除される場合は、暗号解除されているサービス毎にデスクランブラの管理を行う必要がなかったため、デスクランブラの使用状態として“使用中”、“未使用”を管理するだけで充分であった。しかし、本実施の形態では、複数サービスの同時暗号解除を許しているため、どのサービスの暗号解除にどのデスクランブラが使用されているかわからなければ、サービスの暗号解除を適切に停止することができない。本実施の形態におけるデスクランブラ管理部2802は、デスクランブラ毎に、使用状態とともに、プログラムナンバーを保持する。これにより、どのサービスの暗号解除にどのデスクランブラが利用されているか判断可能となる。図41に本実施の形態におけるデスクランブラ管理部2802の管理の様子を示した図を表す。図29に追加されたのは列4103である。列4103はプログラムナンバーを表し、どのデスクランブラがどのサービスの暗号解除に使用されているかを表す。
暗号解除開始部2803は、実施の形態1においては図31のシーケンスにおいて既存の暗号解除を停止し、新たな暗号解除を開始していた。これは同時に暗号解除可能なサービスが一つのみであったために新たな暗号解除を開始するためには、既存の暗号解除を停止させなければならないための処理であった。本実施の形態における暗号解除開始部2803は既に開始されている暗号解除の停止を行わない。本実施の形態における暗号解除開始部2803の動作シーケンスを図42及び図43に表す。暗号解除開始部2803がプログラムナンバーを受け取る(S4201)と、まず暗号解除状態管理部2801に問い合わせて、その時点で暗号解除されているサービスのプログラムナンバーを取得する(S4202)。S4201で受け取ったプログラムナンバーとS4202で取得したプログラムナンバーを比較し、既に暗号解除されているサービスがS4201で指定されたサービスであるかどうか判定する(S4203)。もしS4201で指定されたプログラムナンバーが識別するサービスが既に暗号解除されていたのであれば、暗号解除状態管理部2801が管理するカウントを1増やして(S4207)、シーケンスは終了する。カウントが0であり暗号解除自体が行われていないのであれば、S4201で取得したプログラムナンバーによって識別されるPMTを取得し(S4204)、図43のシーケンスへ入る(S4205)。図43において、PMTを受け取る(S4301)と、PMTより暗号解除が必要なESを取得する(S4302)。その後、デスクランブラ管理部2802に問い合わせて“未使用”のデスクランブラを取得する(S4303)。S4302にて取得したESを暗号解除するのに充分なデスクランブラが存在する場合は(S4304)、図15のシーケンスに基づき、暗号解除を開始する(S4305)。さらに、本実施の形態におけるデスクランブラ管理部2802はデスクランブラの使用状態とともに暗号解除するプログラムナンバーを記録するため、今回暗号解除を開始したデスクランブラについて、使用状態を“使用中”にし、PMTに記載されるプログラムナンバーを設定する。その後、図42に戻り、暗号解除が成功したなら、暗号解除状態管理部2801にプログラムナンバーを記録し、カウントを1にセットする。なお、本実施の形態においても、図43に表されるシーケンスは、デスクランブラが外部アダプタ1811に存在する場合は実施の形態1同様、外部アダプタ1811内のプログラムとして実現されうる。その場合でも本発明は実現可能である。さらにその場合、図42のシーケンスと図43のシーケンスが同期せずに実行される実現形態であっても本発明は適用可能である。
暗号解除停止部4004は、指定されたサービスの暗号解除を停止する。暗号解除停止部4004に関しては、図16のようなデスクランブラが端末装置1600内にあるハードウェア構成と、図18のようなデスクランブラが端末装置1800外にあるハードウェア構成とでは若干動作シーケンスが異なる。
図16のようにデスクランブラが端末装置1600内にあるハードウェア構成の場合について考える。この場合の動作シーケンスは図44によって表される。まず指定されたプログラムナンバーを受け取り(S4401)、暗号解除状態管理部2801に問い合わせて全てのプログラムナンバーのカウントを取得する(S4402)。S4402で取得したプログラムナンバーのカウントを調べ、(S4403)、カウントが0であり、暗号解除されていないのであればシーケンスを終了する。カウントが2以上であれば、暗号解除状態管理部2801の対応するプログラムナンバーのカウントを1減らして(S4408)、シーケンスを終了する。カウントが1であれば、デスクランブラ管理部2802より状態が“使用中”かつプログラムナンバーがS4401で受け取ったプログラムナンバーと合致するデスクランブラを取得し(S4404)、暗号解除を停止する(S4405)。さらに今回暗号解除を停止したデスクランブラに関してデスクランブラ管理部2802の使用状態を“未使用”に設定し、プログラムナンバーをクリアする(S4406)。その後、暗号解除状態管理部2801よりプログラムナンバーを削除する(S4407)。この場合、暗号解除停止部4004は暗号解除を停止するライブラリとしてROM1609上に記録され、CPU1606によって実行される。
図18のように、デスクランブラが端末装置1800外にあるハードウェア構成の場合について考える。この場合の動作シーケンスは図45と図46に表す。まず指定されたプログラムナンバーを受け取り(S4501)、暗号解除状態管理部2801に問い合わせてプログラムナンバーのカウントを取得する(S4502)。カウントの値を判定し(S4503)、0であれば、プログラムナンバーに対応するサービスの暗号解除が行われていないためシーケンスを終了する。2以上であれば、暗号解除状態管理部2801よりプログラムナンバーに対応するカウントの値を1減らして(S4507)、シーケンスを終了する。1であれば、実際に暗号解除を停止するために、PMTを取得してCA−PMTを構成し(S4504)、図46のシーケンスへ入る(S4505)。実際にはS4505では、CA−PMTを外部アダプタ1811に対して送信する。図46のシーケンスでは、PMTを受け取る(S4601)と、PMTよりプログラムナンバーを取得し(S4602)、デスクランブラ管理部2802より使用状態が“使用中”かつS4601で取得したプログラムナンバーと合致するデスクランブラを取得する(S4603)。それらデスクランブラに関して暗号解除を停止し(S4604)、停止したデスクランブラに関してデスクランブラ管理部2802内の状態を“未使用”に変更し、プログラムナンバーもクリアする。その後図45のシーケンスに戻り、暗号解除状態管理部2801からプログラムナンバーを削除する(S4506)。この場合、図45に表されるシーケンスを実現するライブラリは、ROM1609に記憶され、CPU1806によって実行される。図46に表されるシーケンスに関しては、外部アダプタ1811のROMにプログラムとして記憶され、外部アダプタ1811がCA−PMTを受信するときに外部アダプタ1811のCPUによって実行される。なお、実施の形態1における暗号解除開始部2803同様、図45のシーケンスと図46のシーケンスは同期せずに実行されることもある。
本実施の形態では、複数サービスを同時に暗号解除可能であり、サービスマネージャ2204のサービス選択時及びJavaプログラムのストリーム情報アクセスライブラリ使用時の両方で暗号解除が開始される。
実施の形態2では、実施の形態1同様、同時に暗号解除可能なサービスは一つに限定されていたため、ストリーム情報アクセスライブラリ使用時には、以前の暗号解除を停止、新規に暗号解除を開始していた。しかし本実施の形態では、複数のサービスの暗号解除が可能であるため、単に暗号解除を行うサービスを置き換えることはできない。そのため、ストリーム情報アクセスライブラリの利用開始時にサービスの暗号解除を開始し、終了時にサービスの暗号解除を停止する。そのためには暗号解除しているサービスのプログラムナンバーを覚えておく必要がある。そのため、各ストリーム情報アクセスライブラリにサービス記憶部を導入する。
サービス記憶部はストリーム情報アクセスライブラリ毎に存在し、その時点でそのストリーム情報アクセスライブラリが暗号解除しているサービスのプログラムナンバーを保持する。一時記憶部1608に存在し、各ストリーム情報アクセスライブラリによって参照される。ストリーム情報アクセスライブラリは同時に複数の暗号解除を行うことが可能なため、複数のプログラムナンバーを保持可能である。その場合は、ストリーム情報アクセスライブラリが保持する実行単位の識別子との組として記録され、実行単位の識別子を指定することで、その実行単位に基づいて暗号解除されるサービスのプログラムナンバーを取得可能である。サービス記憶部が各ストリーム情報アクセスライブラリに存在する様子を図49に表す。この図において、サービス記憶部4900aはJMF2205aに属し、サービス記憶部4900dはDSM−CC2205dに属し、サービス記憶部4900eはSF2205eに属する。以降、サービス記憶部を4900と称する。
ストリーム情報アクセスライブラリの例としてJMF2205aの場合を述べる。利用の開始に関しては、図47のシーケンスを用いる。Javaプログラムが、JMF2205a中のある実行単位に対して、映像・音声の再生命令を出すと、まずチャンネル識別子を受け取り(S4701)、プログラムナンバーを取得(S4702)、サービスが暗号化されていれば(S4703)、暗号解除開始部2803を利用して暗号解除を開始する(S4704)。その際、サービス記憶部4900に対して、その実行単位の識別子とプログラムナンバーを組にして記録する(S4705)。その後映像音声を再生する(S4706)。
利用の停止に関しては、図48のシーケンスを用いる。Javaプログラムが、ある実行単位に対して、映像音声の再生停止命令を出すと、その時点でその実行単位が再生していた映像・音声の再生を停止する(S4801)。さらに、その時点で、その実行単位に基づく暗号解除があれば停止する必要があるので、まずサービス記憶部4900より、その実行単位の識別子と組になるプログラムナンバーを取得する(S4802)。もし取得できれば(S4803)、暗号解除が行われていたということなので、暗号解除停止部4004を利用して暗号解除を停止し(S4804)、サービス記憶部4900より、実行単位の識別子とプログラムナンバーの組を削除する(S4805)。
このように操作することで、JMF2205aの利用開始・停止と同時に暗号解除の開始・停止を行う。これらは他のストリーム情報アクセスライブラリにも適用される。
実施の形態1におけるサービスマネージャ2204は、同時に選択可能なサービスが一つであったため、新規にサービスの選択を行う時点で、その前に選択されていたサービスの選択が終了していた。暗号解除に関しては、以前に選択されていたサービスの暗号解除は、新規サービスの選択を行う時点で終了することが可能であった。しかし、本実施の形態におけるサービスマネージャ2204は複数のサービスを同時に選択することが可能である。そのため、新規サービスの選択処理と、以前のサービスの選択終了処理は対にならない。例えば、前述のOCAP環境においては、サービスマネージャ2204は同時に複数の実行単位“サービスコンテキスト”を保持することが許され、それに従って同時に複数のサービスを選択可能である。さらに、実行単位“サービスコンテキスト”の数は動的に変化するため、同時に選択されるサービスの数は可変である。つまり本実施の形態におけるサービスマネージャ2204は、サービス選択及び、サービス選択終了の機能を持つ。この環境において、サービス単位の暗号解除を実現するために、上記ストリーム管理ライブラリ同様、サービスマネージャ2204内にもサービス記憶部4900を導入する。
サービスマネージャ2204によるサービスの選択は、実施の形態1同様“EPG2202を用いたユーザによるチャンネル選択”及び“Javaプログラムによるサービスマネージャ管理ライブラリ2205fの利用”によって開始される。またサービスマネージャ2204によるサービスの選択終了は、既にサービスを選択している実行単位“サービスコンテキスト”に関してさらなるサービス選択が行われる場合に、そのサービス選択に先立って行われるか、サービスマネージャ管理ライブラリ2205fに存在するサービス選択終了機能をJavaプログラムが利用したときに行われる。サービスマネージャ2204についても、前述したJMF2205aのシーケンス同様、サービス選択時に暗号解除を開始してサービス記憶部4900に実行単位の識別子とプログラムナンバーの組を記録し、サービス選択終了時にサービス記憶部4900より実行単位に対応するプログラムナンバーを取得して暗号解除を停止し、その実行単位の識別子とプログラムナンバーの組を削除する。
なお、本実施の形態では、各ストリーム情報アクセスライブラリ内部に保持するサービス記憶部4900は実行単位の識別子とプログラムナンバーの組を保持するが、さらに、手続きS4704において、ストリーム情報アクセスライブラリを利用したJavaプログラムをただ一つ識別するための識別子も同時にサービス記憶部4900に記録する実装も可能である。つまり、サービス記憶部4900は実行単位の識別子、プログラムナンバー、Javaプログラムの識別子の三要素を持つ組を保持する実装も可能である。この場合、Javaプログラムがストリーム情報アクセスライブラリを利用してMPEG2トランスポートストリーム内の暗号化された情報にアクセスし、暗号解除が行われた後、利用が行われたまま、Javaプログラムが終了された場合、そのJavaプログラムがストリーム情報アクセスライブラリを利用して開始された暗号解除を、暗黙的に終了する実装が可能である。Javaプログラムの起動・終了機能を持つのはAM2205bであり、AM2205bはJavaプログラムを終了する際、そのJavaプログラムの識別子を指定して、各ストリーム情報アクセスライブラリに通知を行う。通知を受けた各ストリーム情報アクセスライブラリは、各自が保持するサービス記憶部4900が、終了したJavaプログラムの識別子を含む組を保持する場合、その組に存在するプログラムナンバーによって識別されるサービスの暗号解除を、暗号解除停止部4004を利用して停止する。同時に、終了したJavaプログラムの識別子を含む組をサービス記憶部4900から削除する。例えば、あるJavaプログラムが映像・音声を再生するためにストリーム情報アクセスライブラリを利用したとき、それが暗号化されていれば、ストリーム情報アクセスライブラリは暗号解除を開始するが、その際に、Javaプログラムの識別子、実行単位“プレイヤー”の識別子、プログラムナンバーの組をサービス記憶部4900に保持しておく。そのJavaプログラムがAM2205bによって終了されると、AM2205bはそのJavaプログラムの識別子を指定して終了通知を各ストリーム情報アクセスライブラリに対して行う。JMF2205aはそれを受けて、そのJavaプログラムの識別子を含む組をサービス記憶部4900より探索し、その組が見つかればその組に含まれるプログラムナンバーを指定して暗号解除停止部4004を利用し、暗号解除を停止する。さらにこの実装をとった場合、サービスマネージャ2204があるサービスの選択を終了した際、選択終了したサービスが含むJavaプログラムがストリーム情報アクセスライブラリを利用することで暗黙的に開始された暗号解除を停止することも可能である。サービスマネージャ2204は、サービスの選択を終了する際、AM2205bに対して、Javaプログラムの終了命令を発行する。AM2205bはそれを受けて、そのサービスに含まれるJavaプログラムの実行を終了する。その際、AM2205bはJavaプログラムの識別子を指定して各ストリーム情報アクセスライブラリに対して終了通知を行うため、各ストリーム情報アクセスライブラリは、終了されるJavaプログラムに関する暗号解除を停止することが可能である。また、Javaプログラムの中には、サービスが選択終了しても、終了しないJavaプログラムが存在する。このようなJavaプログラムの管理もAM2205bが行うため、サービス選択が終了した際も終了されないJavaプログラムに関しては、サービスの選択終了時にも実行は停止されず、ストリーム情報アクセスライブラリに対してもJavaプログラム実行終了通知が行われないため、そのJavaプログラムが開始した暗号解除を残すことが可能である。
なお、本実施の形態における暗号解除状態管理部2801及び、暗号解除開始部2803及び暗号解除停止部4004は、同じサービスに対して何回暗号解除開始部2803が利用されたかを表すカウントを利用している。カウントを利用することで、暗号解除開始部2803が呼ばれた数だけ暗号解除停止部4004が呼ばれない限り、暗号解除が停止されることはない。しかし、カウントを廃止し、暗号解除開始部2803が何度利用されても一度暗号解除停止部4004が利用されれば暗号解除を停止する実装も可能である。その場合、まだ必要な暗号解除を停止してしまわないように、暗号解除開始部2803及び暗号解除停止部4004を利用する側である、サービスマネージャ2204及びストリーム情報アクセスライブラリが注意する必要がある。例えば、JMF2205aとSF2205eが同じサービス内の暗号化されたESが伝送する情報を利用していたとして、JMF2205aの利用が終わったときに暗号解除停止部4004を利用するとSF2205eの利用がまだ終わっていないにも関わらず暗号解除が停止してしまう。このような状況を避けるため、暗号解除開始部2803及び暗号解除停止部4004の利用者に共通のサービス記憶部4900を設け、そちらでカウントを行う実装も可能である。
図39のEPGを実現するJavaプログラムの動作例を挙げる。まず放送受信装置自身のEPG2202上で行われるユーザのチャンネル選択に基づいてサービスマネージャ2204はサービスの選択を行う。この場合、EPGを実現するJavaプログラムは図24の行2411で表される“チャンネル1”に含まれ、ユーザは“チャンネル1”を選択したものとする。すると、サービスマネージャ2204は“チャンネル1”のチャンネル識別子“1”に基づいてプログラムナンバーを取得してサービス選択を行い、暗号解除が開始される。映像音声が再生され、図39のEPGを実現するJavaプログラムが起動する。このJavaプログラムはディスプレイに図39のような画面を表示する。この時、デフォルトで選択済みとされるのは“チャンネル1”であり、3921にはサービスマネージャ2204がサービスの選択を行った時点で暗号解除されている映像が表示される。また、デフォルトで選択候補のカーソルが合わせられるのが番組表の一番下の“TV Japan”だった場合、JavaプログラムはJMF2205aを用いて、“TV Japan”の映像を3922に表示する。この際に、JMF2205aは暗号解除開始部2803を利用する。ここでは、まだ暗号解除されていないサービスなので、新たに暗号解除を開始する。後は、選択候補のカーソル(破線)がユーザによって上下に動かされるたびに、JavaプログラムはJMF2205aを用いて再生の停止・再生開始を繰り返す。と同時に、JMF2205aは暗号解除の停止と開始を行うことになる。複数サービスの暗号解除を許すことで、このようなJavaプログラムを実現することが可能となる。
なお本実施の形態において、暗黙的に暗号解除が行われるタイミングは、サービスマネージャ2204によるサービスの選択時、または、Javaプログラムによるストリーム情報アクセスライブラリの利用時、または両方、の三種類であるが、このどれであっても本発明は適用可能である。サービスマネージャ2204によるサービスの選択時のみであった場合、サービスマネージャ2204によって選択されているサービスのPMTに含まれるESのみが暗号解除される。ストリーム情報アクセスライブラリの利用時であった場合、サービスマネージャ2204が選択しているサービスに関わらず、アプリケーションが利用したい情報を含むPMTに基づく暗号解除が行われる。両方であった場合は、どちらも含まれる。
なお、本実施の形態において、デスクランブラの数が足りなくなった場合、既に開始されている暗号解除が停止されない限りは、暗号解除を行うことが不可能である。そのような場合は、サービスマネージャ2204のサービス選択やストリーム情報アクセスライブラリを用いたMPEG2トランスポートストリームが含む情報へのアクセスは実質的には不可能となる。この場合において、暗号解除失敗ということで、サービス選択やストリーム情報へのアクセス自身のエラーを返す実装も可能であり、また、エラーは返さず、暗号化されていない情報のみに対するアクセスに対してのみ取得を行う実装も可能である。例えば、映像音声用ESは暗号化されているがJavaプログラムを伝送するMPEG2セクション用ESは暗号化されていないサービスがあり、それに対してサービス選択を行ったサービスマネージャ2204が暗号解除を開始できなかった場合、映像・音声はあきらめて、Javaプログラムのみを起動することによりサービス選択成功として扱ってもよいし、暗号解除失敗を理由にサービス選択失敗として扱う実装もありうる。
また前述のOCAP環境ではサービスは二種類存在する。一つはPMTと結びついて存在する通常のサービスで、もう一つはPMTと結びつかずに存在する抽象サービスである。抽象サービスはJavaプログラムのみを内包して存在し、サービスの選択時には映像・音声の再生は行わず、DSM−CC2205dを用いてJavaプログラムをダウンロードするのみである。また抽象サービスはJavaプログラムの実行が終了するとサービスの選択が終了される。OCAP環境のように、サービスのタイプが二種類あるような環境では、サービスマネージャ2204によるサービス選択の際、サービスタイプに応じて、暗号解除を開始、停止するタイミングを変えてもよい。例えば、通常のサービスの選択においては、サービスマネージャ2204によるサービス選択の際に暗黙的に暗号解除を開始するが、抽象サービスの場合はサービス選択の際には暗号解除を行わない。その場合、抽象サービス選択の過程で、DSM−CC2205dによるJavaプログラムのダウンロードの間のみ暗号解除が行われ、ダウンロードが終了するとDSM−CC2205dによってその暗号解除は停止される。この環境では、通常サービスに関してはサービスが選択されている間暗号解除が続くが、抽象サービスに関してはサービスの選択開始時にDSM−CC2205dによる暗号解除が行われるのみで、後はサービスが選択されている間も暗号解除は行われない。
(実施の形態4)
以前の実施の形態においては、暗号解除の単位としてサービスを用いていた。しかしながら、サービスを暗号解除の単位とした場合、実際にはJavaプログラムが利用しない暗号化された情報まで暗号解除が行われるため、デスクランブラの無駄である。より有効にデスクランブラを利用するためには、必要なときに必要な暗号解除を行うべきである。例えば、ESを指定してセクションの選別を行うSF2205eがJavaプログラムによって利用され、その過程で暗黙的に暗号解除を行う場合、指定されたESは一つであり、一つのデスクランブラを占有して暗号解除を行えば充分だが、以前の実施の形態では、サービス単位で暗号解除を行うため、指定ESを含むサービス全体を暗号解除する必要があった。もしもそのサービスが映像・音声などの他ESを多く包含していた場合、必要のないESの暗号解除が行われてしまい、非効率的である。
本実施の形態では、暗号解除の単位として、ESを受け付けることを可能とする。これにより、ESを指定して暗号解除を行うことが可能となる。これを実現するために暗号解除状態管理部2801、デスクランブラ管理部2802、暗号解除開始部2803、暗号解除停止部4004の動作を変更する。
暗号解除状態管理部2801においては、以前の実施の形態ではプログラムナンバーを記憶していたが、本実施の形態では、プログラムナンバーとPIDの組を記録する。さらに、各組に関してカウントを保持し、対象となるESが暗号解除開始部2803を用いて暗号解除が開始された数をカウントする。
デスクランブラ管理部2802は、以前の実施の形態では、使用状態やプログラムナンバーを記録していたが、本実施の形態では、プログラムナンバーに加え、PIDを記録する。これにより、ESを指定しての暗号解除の開始や停止に対応可能となる。
暗号解除開始部2803の動作は図50、図51のように変更する。まずサービス指定と同時にES指定を受け入れるため、プログラムナンバーと同時にPIDを受け取る(S5001)。次に暗号解除状態管理部2801より、プログラムナンバーとPIDの組に対応するカウントを取得する(S5002)。カウントが1以上であれば(S5003)、カウントを1増やして(S5008)、シーケンスを終了する。カウントが0であれば、まだ指定PIDのTSパケットが構成するESは暗号解除が開始されていない。プログラムナンバーに対応するPMTを取得し(S5004)、その中から抽出したPIDに合致するESに関する情報を取得する(S5005)。その後、図51のシーケンスに入る(S5006)。図51のシーケンスでは、まずES情報を取得し(S5101)、次にデスクランブラ管理部2802に問い合わせて“未使用”状態にあるデスクランブラを取得する(S5102)。もし全てのESを暗号解除可能なデスクランブラが存在すれば(S5103)、図15のシーケンスにて暗号解除を開始する(S5104)。その後、今回暗号解除を開始したデスクランブラに関して、デスクランブラ管理部2802に使用状態を“使用中”に変更し、プログラムナンバーとPIDを記録する(S5105)。その後、図50のシーケンスに戻り、暗号解除状態管理部2801にプログラムナンバーとPIDの組を記録し、カウントを1にする(S5007)。なお、本実施の形態における暗号解除開始部2803に関しても、実施の形態1における暗号解除開始部2803同様、外部アダプタ1811にデスクランブラが存在する場合は、図50のシーケンスはROM1609に存在するライブラリとして実現され、図51のシーケンスは外部アダプタ1811内のROMにあるプログラムとして実現されることもある。さらにその二つは、同期せずに動作する実装形態をとる場合もある。いずれにおいても本発明は適用可能である。
暗号解除停止部4004の動作シーケンスはデスクランブラが放送受信装置の中にあるか外にあるかで異なる。
図16のようにデスクランブラが端末装置1600内部に存在する場合の動作シーケンスを図52に表す。まずプログラムナンバー及びPIDを受け取る(S5201)と、暗号解除状態管理部2801に問い合わせて、プログラムナンバーとPIDの組のカウントを取得する(S5202)。カウントの値を判定し(S5203)、0であればそのPIDのTSパケットが構成するESは暗号解除が開始されていないため、何もせずに終了する。2以上であれば、暗号解除状態管理部2801のプログラムナンバーとPIDの組のカウンタを1減らして(S5208)シーケンスを終了する。1であれば、暗号解除を停止するため、デスクランブラ管理部2802から“使用中”かつプログラムナンバー及びPIDに合致するデスクランブラを取得し(S5204)、暗号解除を停止する(S5205)。その後、今回暗号解除を停止したデスクランブラに関して、デスクランブラ管理部2802にて状態を“未使用”に変更し、プログラムナンバー及びPIDをクリアする(S5206)。さらに、暗号解除状態管理部2801より、プログラムナンバー及びPIDを削除する(S5207)。
図18のようにデスクランブラが端末装置1800の外、外部アダプタ1811内に存在する場合の動作シーケンスを図53及び図54に表す。まずプログラムナンバー及びPIDを受け取る(S5301)と、暗号解除状態管理部2801に問い合わせて、プログラムナンバーとPIDの組のカウントを取得する(S5302)。カウントの値を判定し(S5303)、0であれば、指定されたPIDのTSパケットが構成するESは暗号解除が開始されていないのでシーケンスを終了する。2以上であれば、暗号解除状態管理部2801が管理するプログラムナンバーとPIDの組のカウンタを1減らして(S5308)、シーケンスを終了する。1であれば、暗号解除を停止するため、プログラムナンバーに対応するPMTを取得し(S5304)、S5303で抽出されたPIDに合致するES情報を取得し、CA−PMTを構成する(S5305)。それを外部アダプタ1811に送信することで図54のシーケンスに入る(S5306)。図54では、まずCA−PMTを受け取り(S5401)、ES情報を取得する(S5402)。デスクランブラ管理部2802に問い合わせて“使用中”かつプログラムナンバー及びPIDが合致するデスクランブラを取得し(S5403)、暗号解除を停止する(S5404)。その後、今回暗号解除を停止したデスクランブラに関して、デスクランブラ管理部2802にて状態を“未使用”に変更し、プログラムナンバー及びPIDをクリアする(S5405)。さらに図53に戻り、暗号解除状態管理部2801よりプログラムナンバー及びPIDの組を削除する(S5307)。本実施の形態においても、ROM1609に図53のシーケンスを実現するライブラリが記録され、図54のシーケンスを実現するプログラムが外部アダプタ1811内のROMに記録される実装形態は可能である。さらに、二つが同期せずに実行される形態も可能である。いずれの場合も本発明は適用可能である。
本実施の形態では、サービスマネージャ2204による暗黙的な暗号解除であっても、ストリーム情報アクセスライブラリによる暗黙的な暗号解除であってもよい。さらにその暗号解除の開始・停止のタイミングは、実施の形態3と同様、サービスマネージャ2204のサービス選択時に開始して、サービス選択終了時に停止、及びストリーム情報アクセスライブラリの利用開始時に暗号解除開始して、利用終了時に暗号解除を停止する。ただ、暗号解除開始部2803及び暗号解除停止部4004に指定する情報はプログラムナンバーのみではなく、PIDを指定可能なので、SF2205eなど、PIDが指定されるストリーム情報アクセスライブラリに関しては、指定されたPIDのみを指定することで、無駄な暗号解除を行わないようにする。
なお、本実施の形態における暗号解除状態管理部2801及び、暗号解除開始部2803及び暗号解除停止部4004は、プログラムナンバー及びPIDで識別される同じESに対して何回暗号解除開始部2803が利用されたかを表すカウントを利用している。カウントを利用することで、暗号解除開始部2803が呼ばれた数だけ暗号解除停止部4004が呼ばれない限り、ESの暗号解除が停止されることはない。しかし、カウントを廃止し、暗号解除開始部2803が何度利用されても一度暗号解除停止部4004が利用されれば暗号解除を停止する実装も可能である。その場合、まだ必要な暗号解除を停止してしまわないように、暗号解除開始部2803及び暗号解除停止部4004を利用する側である、ストリーム情報アクセスライブラリが注意する必要がある。そうでないとまだ暗号解除が必要なESの暗号解除が停止されてしまうことがありうる。このような状況を避けるため、暗号解除開始部2803及び暗号解除停止部4004の利用者に共通のサービス記憶部4900を設け、そちらでカウントを行う実装も可能である。
また、本実施の形態における暗号解除状態管理部2801はプログラムナンバーとPIDの組と、そのカウントを保持するが、ESはPIDのみでも指定可能なので、PIDとそのカウントを保持する実装でもよい。
また、本実施の形態における暗号解除開始部2803及び暗号解除停止部4004はプログラムナンバーを受け取らない実装も可能である。その場合、PMTに記載されるESの情報が必要な場合や、CA−PMTを利用する場合、プログラムナンバーによるPMTの指定が不可能なため、全てのPMTを取得し、その中からPIDが合致するPMTを探しだして、利用する。
なお、本実施の形態における暗号解除開始部2803及び暗号解除停止部4004はプログラムナンバー一つとPID一つを受け取るが、PIDが複数であっても実装可能である。その場合、暗号解除開始部2803及び暗号解除停止部4004の動作シーケンス内で、本実施の形態で述べた単体のESに対する操作を指定されたES分繰り返す。また、サービスを指定してPID指定を省略することでPMT内の全てのESを表現したい場合は、単にプログラムナンバーだけ指定することで、そのように動作するように実装可能である。
本実施の形態を用いることで、Javaプログラムに意識させずに、効率的にデスクランブラを利用することが可能となる。
(実施の形態5)
実施の形態3においては、暗号解除開始部2803は、デスクランブラがある限り、複数のサービスの同時暗号解除を実現することが可能である。例えば、ESを10個含むサービスが10個合った場合、デスクランブラが100個あれば全てのサービスを同時に暗号解除可能である。また、実施の形態4では、サービス単位ではなくES単位での暗号解除を実現し、必要とされるESのみを暗号解除する形態について述べた。これらは端末装置内にデスクランブラが存在するかしないかに関わらず、どれだけのサービスまたはESを同時に暗号解除することができるか、という最大値は、利用可能なデスクランブラの数に依存した。例えば、図51の手続きS5103のように、空いたデスクランブラが存在すれば暗号解除を開始する、という判断が暗号解除開始部2803の動作シーケンスの中に存在している。しかしながら、ハードウェア制限やソフトウェア制限により、同時に暗号解除可能なサービスの数が決まっていることがある。例えば、実施の形態1では同時に暗号解除可能なサービスは一つと決まっていた。例えば、外部アダプタ1811を利用するハードウェア構成においては、同時に暗号解除可能なサービスの最大数は外部アダプタ1811に依存して決まる。さらに外部アダプタ1811は端末装置1800に対して着脱可能であるので、端末装置1800にとってサービスの最大数管理を予め固定しておくことは不可能である。そこで、本実施の形態ではサービス最大数を管理する機構を導入する。
本実施の形態では図55に表した構成図のように、CAライブラリ2206に、新たにサービス最大数管理部5505を導入する。
サービス最大数管理部5505は、同時に暗号解除可能なサービスの最大数を保持する。例えば、同時に一つのサービスしか暗号解除できない場合は“1”を保持し、同時に三つのサービスまで同時に暗号解除可能である場合は“3”を保持する。サービス最大数管理部5505は図16のようにデスクランブラが端末装置1600内に存在する場合はROM1609に保持され、暗号解除開始部2803によって参照される。図18のようにデスクランブラが端末装置1800の外の外部アダプタ1811内に存在する場合は外部アダプタ1811内のROMに保持され、外部アダプタ1811上で動作するプログラムによって参照される。また、外部アダプタ1811上にデスクランブラが存在する場合でも、前もって端末装置1800が外部アダプタ1811より同時に暗号解除できるサービスの最大数を取得できる場合は、その値を1次記憶部1608または2次記憶部1607に保持することでサービス最大数管理部5505の実装とする場合もありうる。さらに、同時に暗号解除可能なサービスの最大数が動的に変動する場合、1次記憶部1608または2次記憶部1607にサービス最大数管理部5505が存在し、動的に変動する同時暗号解除が可能なサービスの最大値を保持してもよい。いずれの場合も本発明は適用可能である。
さらにCAライブラリ2206内の暗号解除開始部2803に変更を加える。
暗号解除開始部2803については、サービス最大数管理部5505が端末装置上に存在するか外部アダプタ上に存在するかによりシーケンスが異なる。サービス最大数管理部5505が端末装置上に存在する場合、暗号解除開始部2803が指定プログラムナンバーを受け取った時点で、サービス最大数管理部5505よりサービス最大数を取得し、また暗号解除状態管理部2801より、その時点で暗号解除をしているサービス数を取得する。二つの値を比較し、最大数の方が大きい場合は、暗号解除を開始する。サービス最大数管理部5505が外部アダプタ1811上に存在する場合、外部アダプタ1811がCA−PMTを受け取った際、外部アダプタ1811上で動作する暗号解除シーケンスを実現するプログラムによって、サービス最大数管理部5505より同時暗号解除サービスの最大数が取得され、またデスクランブラ管理部2802よりその時点で行われている暗号解除の数を取得する。その二つの値を比較し、最大数の方が大きい場合は、暗号解除を開始する。
本実施の形態についても、サービスマネージャ2204及びストリーム情報アクセスライブラリのどちらか、あるいは両方で暗黙的な暗号解除を行うことが可能であり、そのサービスマネージャ2204及びストリーム情報アクセスライブラリの動作シーケンスは、実施の形態3及び実施の形態4と同様である。
本実施の形態により、デスクランブラ自身の最大数でなく、同時に暗号解除可能なサービスの最大数によって暗号解除を制御することが可能となる。
(実施の形態6)
以前の実施の形態3〜4では、サービスが複数選択可能であるため、複数のJavaプログラムが同時に動作することがある。利用可能なデスクランブラの数は有限であるため、同時に暗号解除可能なサービス及びESには限界がある。そのため、限界に達した場合、デスクランブラの競合が発生する。本実施の形態では、複数のJavaプログラムが同時に動作し、同時に放送信号内の情報にアクセスする場合を想定する。
本実施の形態では、このように複数のJavaプログラムが暗号解除を開始する場合、先に開始された暗号解除が優先する形態を考える。
実施の形態3及び4に関しては、暗号解除開始部2803及び暗号解除停止部4004の動作シーケンスは既に先勝ちを実現している。複数サービス及びESを指定して暗号解除を開始した場合、デスクランブラに余裕がある場合は複数サービスの暗号解除を同時に実行可能であるが、デスクランブラに余裕がなくなった場合、先に開始されている暗号解除を停止しない限り暗号解除を開始できない。つまり複数サービスの暗号解除を許す場合は実施の形態3及び実施の形態4のCAライブラリ2206を利用することで既に先勝ちに対応されている。
実施の形態1及び2に関しては暗号解除停止部4004が存在せず、暗号解除開始部2803の動作シーケンスは後勝ちを実現している。つまり後に暗号解除を開始しようとしたJavaプログラムが常に暗号解除を開始できる動作シーケンスとなっている。これを変更するため、実施の形態1及び2で利用するCAライブラリ2206に変更を加える。
CAライブラリ2206内の暗号解除開始部2803を変更する。さらに暗号解除停止部4004を導入する。
暗号解除開始部2803の動作シーケンスを実施の形態1における図30及び図31のシーケンスから、図56及び図31のシーケンスに変更する。図31に関しては等しいため説明は省略する。図56において、まず指定されたプログラムナンバーを受け取り(S5601)、暗号解除状態管理部2801に問い合わせてプログラムナンバーを取得する(S5602)。ここでプログラムナンバーは暗号解除が既に開始されている場合のみ取得可能であるはずなので、もしもプログラムナンバーが取得可能であれば、既に暗号解除が開始されており、もしもプログラムナンバーを取得不可能であれば、暗号解除は行われていないと判断可能である。その判断を行い(S5603)、既に暗号解除が行われていれば何もせずにシーケンスを終了する。もし暗号解除が行われていなければ、PMTを取得し(S5604)、図31のシーケンスを利用して暗号解除を開始し(S5605)、暗号解除状態管理部2801にプログラムナンバーを記録する(S5606)。
暗号解除停止部4004の動作シーケンスは実施の形態3と同様でよい。
つまり指定されたプログラムナンバーにおける暗号解除が既に開始されていれば、その暗号解除を停止する。
上記構成の実現により、一つのサービスしか同時に暗号解除を行うことのできないハードウェア構成においても、先勝ちを実現可能である。例えば、二つのJavaプログラム(Javaプログラム1、Javaプログラム2)が同時に動作している場合、Javaプログラム1が先にJMF2205aにて映像音声再生を開始、それに伴い暗黙的に暗号解除を開始していた場合、Javaプログラム2がJMF2205aを利用して別のサービスに含まれる映像音声の再生を開始したくても、暗号解除は既にJavaプログラム1が指定したサービスに対して行われているため、図56における手続きS5603の判断により、Javaプログラム2が指定したサービスは暗号解除を開始できない。このようにして先勝ちが実現される。
(実施の形態7)
実施の形態6では、複数のJavaプログラムが動作する環境を想定するが、デスクランブラの競合が起こった場合、先に暗号解除を開始しているJavaプログラムの使用権が優先されていた。本実施の形態では、複数のJavaプログラムが動作し、さらに各Javaプログラムに優先度が設定されている状況を想定する。このような状況の模式図を図57(1)に表す。JavaプログラムA5701によって既にデスクランブラ5711、デスクランブラ5712、デスクランブラ5713が利用されている。ここで、JavaプログラムB5702が同時に二つのESの暗号解除を行いたい場合、デスクランブラ5714しか未使用のデスクランブラが存在しないため、暗号解除を開始することができない。ここで、各Javaプログラムに優先度が設定されており、JavaプログラムA5701よりもJavaプログラムB5702の方が優先度が高く設定されている場合、本実施の形態では、図57(2)のようにJavaプログラムA5701による暗号解除が停止され、JavaプログラムB5702による暗号解除が開始される。
本実施の形態では、複数のJavaプログラム間でデスクランブラの競合が起こった際、高優先度のJavaプログラムによる放送信号内情報へのアクセスライブラリの利用に対応する暗黙的な暗号解除が優先する。これを実現するために、以前の実施の形態における暗号解除状態管理部2801、暗号解除開始部2803に変更を行う。またデスクランブラ管理部2802については実施の形態3同様とする。
暗号解除状態管理部2801は、プログラムナンバー、カウンタとともに、暗号解除の基となるストリーム情報アクセスライブラリの利用を行ったJavaプログラムの優先度を記録する。さらに複数のJavaプログラムが優先度を利用した場合、全てのJavaプログラムの優先度を記録する。
暗号解除開始部2803は、既に暗号解除が行われていた場合、既に開始される暗号解除の基となるサービスマネージャ管理ライブラリ2205fまたはストリーム情報アクセスライブラリを利用したJavaプログラムの優先度が、新規にサービスマネージャ管理ライブラリ2205fまたはストリーム情報アクセスライブラリを利用したJavaプログラムの優先度よりも低い場合、既に行われている暗号解除を暗黙的に停止し、新規に暗号解除を開始する。ただし、既に複数のJavaプログラムから暗号解除されているサービスがある場合、暗号解除状態管理部2801はこれら全てのJavaプログラムの優先度を記録している。図58にこのような状況を表す。図58では、JavaプログラムA5801及びJavaプログラムB5802が、プログラムナンバーが101であるサービスの暗号解除を行っている。この状況での暗号解除状態管理部2801は図59のようになっている。プログラムナンバーが101であるプログラムを暗号解除しているのは、優先度が“10”であるJavaプログラムA5801と、優先度が“20”であるJavaプログラムB5802であることを表している。この時、JavaプログラムC5803が暗号解除を開始したいとき、もしJavaプログラムC5803の優先度が20を超えていればデスクランブラを奪い取ることが可能である。しかし、もしJavaプログラムC5803の優先度が20以下であれば、その優先度がJavaプログラムA5801を上回っていたとしても、JavaプログラムB5802の優先度以下なので、デスクランブラを奪い取ることはできない。
図60に本実施の形態における全体シーケンス図を表す。Javaプログラム1及びJavaプログラム2は放送受信装置上で同時に動作する二つのJavaプログラムであり、Javaプログラム2の方が優先度が高いとする。まずJavaプログラム1がJMF2205aを利用して映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6001)。CAライブラリ2206は暗号解除を開始する(S6002)。その後、Javaプログラム2がJMF2205aを利用して別の映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6003)。CAライブラリ2206は、既に開始されている暗号解除を行ったJavaプログラム1の優先度と、新規に暗号解除を行いたいJavaプログラム2の優先度を比較し、Javaプログラム2の方が優先度が高いため、Javaプログラム1の暗号解除を停止して、Javaプログラム2の暗号解除を開始する(S6004)。
なお本実施の形態において、暗黙的に暗号解除が行われるタイミングは、実施の形態1同様サービスマネージャ2204によるサービスの選択時のみの場合と、実施の形態2同様ストリーム情報アクセスライブラリ利用時の場合、両方の場合、の三種類存在する。このどれでも本発明は適用可能である。また、同時に複数サービスの暗号解除が可能であっても、本発明は適用可能である。その場合、暗号解除状態管理部2801及びデスクランブラ管理部2802は実施の形態3のものをベースとして用いる。また、暗号解除の単位はESであっても本発明は適用可能である。ESを単位とする場合は暗号解除状態管理部2801及びデスクランブラ管理部2802は実施の形態4のものをベースとして用いる。
また、本実施の形態では、Javaプログラム同士の優先度を用いた競合の解決に関して述べているが、サービスマネージャ2204によるサービス選択時に暗黙的に暗号解除が開始される場合、Javaプログラムによるサービスマネージャ管理ライブラリ2205fの利用だけでなく、EPG2202を用いたユーザによるチャンネル選択によってサービス選択が開始されることがある。そのため、EPG2202によるサービス選択に基づく暗号解除に関しても優先度を設定し、優先度を用いて暗号解除を行うことが可能である。例えば、全てのJavaプログラムよりも高い優先度をユーザに与えると、ユーザがEPG2202でチャンネル選択をすることによるサービス選択がサービスマネージャ2204によって開始される際、Javaプログラムのサービスマネージャ管理ライブラリ2205fの利用またはストリーム情報アクセスライブラリの利用に起因する暗号解除に優先して、サービスの暗号解除が開始される。また、Javaプログラムがとりうる優先度の範囲内の一点をユーザの優先度と設定すると、その点未満の優先度を有するJavaプログラムが開始した暗号解除を行うデスクランブラを奪えるが、その点より高い優先度を持つJavaプログラムが開始した暗号解除を行うデスクランブラを奪うことはできない。前述のOCAP環境では、システム管理を行うためにJavaプログラムがとりうる範囲で最高の優先度を有する管理用Javaプログラムが放送受信装置上で動作するが、例えば、ユーザの優先度が管理用Javaプログラムの優先度より高ければ、管理用Javaプログラムに優先して暗号解除を行うことが可能であり、また、管理用Javaプログラムより低ければ管理用Javaプログラムが開始した暗号解除に利用されるデスクランブラを奪うことができなくなる。このようなユーザの優先度を設定して、Javaプログラムとユーザ操作間の競合を解決することが可能である。
また、Javaプログラムとユーザ以外に、放送受信装置によってストリーム情報アクセスライブラリが利用されることがある。例えば前述のOCAP環境では、放送受信装置は、AM2205bを用いて、OOBにて伝送されるXAITという情報を常時監視する。これは抽象サービスに関する情報を含んでおり、XAITの情報が更新された場合、抽象サービスに含まれるJavaプログラムをダウンロードしなければならない場合がある。その場合、AM2205bは、DSM−CC2205dを用いてJavaプログラムを構成するファイルをダウンロードしなければならない。これはJavaプログラムでもユーザでもなく、放送受信装置上のシステムによるストリーム情報アクセスライブラリの利用であり、もしもJavaプログラムを構成するファイルを伝送するMPEG2セクションが暗号化されていたら、暗号解除を行う必要がある。このような場合に関してもユーザ操作同様に、独自の優先度を設定し、Javaプログラム及びユーザ操作との間で競合が発生した場合、その優先度を用いて競合を解決することが可能であり、その場合も本発明は適用可能である。例えば、Javaプログラム及びユーザ操作よりも高い優先度を設定しておくと、あらゆる場合において常に暗号解除を優先して実行可能となる。またJavaプログラムより高く、ユーザより低く設定しておけば、Javaプログラムが開始した暗号解除からデスクランブラを奪うことができるが、ユーザが開始した暗号解除から奪うことはできない。またJavaプログラムがとりうる優先度の範囲の一点に設定すれば、それより高い優先度で動くJavaプログラムからもデスクランブラを奪うことはできなくなる。
なお、優先度を考慮する際に、サービスマネージャ2204からの暗号解除か、ストリーム情報アクセスライブラリによる暗号解除かを判断し、優先度による競合解決を、互いに影響を与えないように行うことも可能である。例えば、ストリーム情報アクセスライブラリによって暗号解除開始部2803が利用された際に競合が起こった場合、同じくストリーム情報アクセスライブラリによって既に開始されている暗号解除を調べて優先度による競合解決を行い、サービスマネージャ2204によって既に行われている暗号解除に関しては、もしもより優先度の低い暗号解除が存在したとしても、これを競合の解決に用いない。さらに、サービスマネージャ2204からの暗号解除開始部2803の利用の際は自由に優先度による競合解決が可能だが、ストリーム情報アクセスライブラリからの暗号解除開始部2803の利用の際は、ストリーム情報アクセスライブラリからの暗号解除の中だけで優先度による競合解決を行う、という形態も可能である。逆に、ストリーム情報アクセスライブラリからの暗号解除開始部2803の利用の際は自由に優先度による競合解決が可能だが、サービスマネージャ2204からの暗号解除開始部2803の利用の際はサービスマネージャ2204からの暗号解除の中だけで優先度による競合解決を行う、という形態も可能である。
(実施の形態8)
実施の形態1〜7においては、Javaプログラムは暗黙的に開始された暗号解除に関する情報を知る手段が存在しない。
さらに、実施の形態7においては、高優先度のJavaプログラムによって、相対的に低優先度であるJavaプログラムに基づく暗黙的な暗号解除が停止されることがある。しかしながら、暗号解除が停止されたJavaプログラムは、それを知る手段がない。
本実施の形態では、暗号解除の停止を知るためのイベントリスナを登録する機能をJavaプログラムに提供する。本実施の形態でのJavaライブラリ2205内の構成を図61に表す。Javaライブラリ2205内部にCA管理ライブラリ6100を設け、その中にイベントリスナ管理部6101、イベントリスナ登録部6102、イベントリスナ削除部6103を導入する。
イベントリスナ管理部6101はJavaプログラムによって登録されたイベントリスナを保持するモジュールであり、1次記憶部1608内に記録され、イベントリスナ登録部6102によってイベントリスナが登録され、イベントリスナ削除部6103によってイベントリスナが削除される。またCAライブラリ2206内の暗号解除開始部2803及び暗号解除停止部4004の利用によって暗号解除が開始・終了されたときに、イベントリスナ管理部6101が管理するイベントリスナに対して通知を行う。
イベントリスナ登録部6102はJavaプログラムがイベントリスナを登録するためのライブラリとして実現される。ROM1609に保存され、CPU1606によって実行される。イベントリスナ登録部6102によって登録されたイベントリスナはイベントリスナ管理部6101によって管理され、暗号解除に関するイベントを通知するのに用いられる。
イベントリスナ削除部6103はJavaプログラムがイベントリスナ管理部6101に登録されたイベントリスナを削除するためのライブラリとして実現される。ROM1609に保存され、CPU1606によって実行される。
イベントリスナ登録部6102及びイベントリスナ削除部6103はJavaプログラムによって利用される。
なお、通知されるイベントは、イベントの理由を保持することがあってもよい。例えば、暗号解除停止イベントである場合、それがなぜ停止したのかを表す理由を保持してもよい。またイベントリスナは必ずしも暗号解除停止イベントのみを受け取る必要はない。本実施の形態では、暗号解除が別のJavaプログラムによって奪われた時のみイベントが通知されるが、実装によっては、通常の暗号解除の開始イベントや別の理由による暗号解除停止イベントが通知されてもよい。
図62に本実施の形態におけるシーケンス図を表す。Javaプログラム1及びJavaプログラム2は放送受信装置上で同時に動作する二つのJavaプログラムであり、Javaプログラム2の方が優先度が高いとする。まずJavaプログラム1がイベントリスナ登録部6102を利用する(S6201)と、CAライブラリ2206はそのイベントリスナをイベントリスナ管理部6101に登録する(S6202)。次にJavaプログラム1がJMF2205aを利用して映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6203)。CAライブラリ2206は暗号解除を開始する(S6204)。その後、Javaプログラム2がJMF2205aを利用して別の映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6205)。CAライブラリ2206は、既に開始されている暗号解除を行ったJavaプログラム1の優先度と、新規に暗号解除を行いたいJavaプログラム2の優先度を比較し、Javaプログラム2の方が優先度が高いため、Javaプログラム1の暗号解除を停止して、Javaプログラム2の暗号解除を開始する(S6206)。その際、Javaプログラム1の暗号解除は停止されたため、Javaプログラム1のイベントリスナに対して暗号解除が停止された旨の通知を行う(S6207)。
本実施の形態により、Javaプログラムは暗号解除開始・終了のタイミングを知ることが可能となる。
(実施の形態9)
実施の形態8では、複数のJavaプログラムが同時に動作し、高優先度のJavaプログラムが低優先度のJavaプログラムの暗号解除を停止した場合、低優先度のJavaプログラムは、自分の暗号解除が停止されたことを通知されるイベントリスナを登録・削除する手段を得た。本実施の形態では、さらにその後、高優先度のJavaプログラムによる暗号解除が終了した場合、暗号解除が停止された低優先度のJavaプログラムが設定したイベントリスナに対して、暗号解除が開始可能になった旨の通知を行う。
図63に本実施の形態におけるシーケンス図を表す。Javaプログラム1及びJavaプログラム2は放送受信装置上で同時に動作する二つのJavaプログラムであり、Javaプログラム2の方が優先度が高いとする。まずJavaプログラム1がイベントリスナ登録部6102を利用する(S6301)と、CAライブラリ2206はそのイベントリスナをイベントリスナ管理部6101に登録する(S6302)。次にJavaプログラム1がJMF2205aを利用して映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6303)。CAライブラリ2206は暗号解除を開始する(S6304)。その後、Javaプログラム2がJMF2205aを利用して別の映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6305)。CAライブラリ2206は、既に開始されている暗号解除を行ったJavaプログラム1の優先度と、新規に暗号解除を行いたいJavaプログラム2の優先度を比較し、Javaプログラム2の方が優先度が高いため、Javaプログラム1の暗号解除を停止して、Javaプログラム2の暗号解除を開始する(S6306)。その際、Javaプログラム1の暗号解除は停止されたため、Javaプログラム1のイベントリスナに対して暗号解除が停止された旨の通知を行う(S6307)。その後、Javaプログラム2がJMF2205aを用いて映像・音声の再生を停止すると、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を停止しようとする(S6308)。CAライブラリ2206は暗号解除を停止し(S6309)、Javaプログラム1に対して、暗号解除が再開可能になった旨の通知を行う(S6310)。
(実施の形態10)
実施の形態8では、複数のJavaプログラムが同時に動作し、高優先度のJavaプログラムが低優先度のJavaプログラムの暗号解除を停止した場合、低優先度のJavaプログラムは、自分の暗号解除が停止されたことを通知されるイベントリスナを登録・削除する手段を得た。本実施の形態では、さらにその後、高優先度のJavaプログラムによる暗号解除が終了した場合、暗号解除が停止された低優先度のJavaプログラムが必要とする暗号解除を暗黙的に開始し、暗号解除を再開した旨の通知を低優先度のJavaプログラムのイベントリスナに対して行う。
図64に本実施の形態におけるシーケンス図を表す。Javaプログラム1及びJavaプログラム2は放送受信装置上で同時に動作する二つのJavaプログラムであり、Javaプログラム2の方が優先度が高いとする。まずJavaプログラム1がイベントリスナ登録部6102を利用する(S6401)と、CAライブラリ2206はそのイベントリスナをイベントリスナ管理部6101に登録する(S6402)。次にJavaプログラム1がJMF2205aを利用して映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6403)。CAライブラリ2206は暗号解除を開始する(S6404)。その後、Javaプログラム2がJMF2205aを利用して別の映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6405)。CAライブラリ2206は、既に開始されている暗号解除を行ったJavaプログラム1の優先度と、新規に暗号解除を行いたいJavaプログラム2の優先度を比較し、Javaプログラム2の方が優先度が高いため、Javaプログラム1の暗号解除を停止して、Javaプログラム2の暗号解除を開始する(S6406)。その際、Javaプログラム1の暗号解除は停止されたため、Javaプログラム1のイベントリスナに対して暗号解除が停止された旨の通知を行う(S6407)。その後、Javaプログラム2がJMF2205aを用いて映像・音声の再生を停止すると、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を停止しようとする(S6408)。CAライブラリ2206は暗号解除を停止してJavaプログラム1の暗号解除を再開し(S6409)、Javaプログラム1に対して、暗号解除が再開された旨の通知を行う(S6410)。
本実施の形態を用いると、Javaプログラムは自分が行うストリーム情報アクセスに関する暗号解除が停止され、また再開できる状態になったら、通知によりそれを知ることが可能となる。
(実施の形態11)
実施の形態7では、複数のJavaプログラムが同時に動作し、高優先度のJavaプログラムが低優先度のJavaプログラムの暗号解除を停止する。本実施の形態では、さらにその後、高優先度のJavaプログラムによる暗号解除が終了した場合、暗号解除が停止された低優先度のJavaプログラムが必要とする暗号解除を暗黙的に開始する。実施の形態10では、この時、イベントリスナに対する通知が行われるが、本実施の形態では通知は行わない。
図65に本実施の形態におけるシーケンス図を表す。Javaプログラム1及びJavaプログラム2は放送受信装置上で同時に動作する二つのJavaプログラムであり、Javaプログラム2の方が優先度が高いとする。まずJavaプログラム1がJMF2205aを利用して映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6501)。CAライブラリ2206は暗号解除を開始する(S6502)。その後、Javaプログラム2がJMF2205aを利用して別の映像・音声の再生を行うと、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を開始しようとする(S6503)。CAライブラリ2206は、既に開始されている暗号解除を行ったJavaプログラム1の優先度と、新規に暗号解除を行いたいJavaプログラム2の優先度を比較し、Javaプログラム2の方が優先度が高いため、Javaプログラム1の暗号解除を停止して、Javaプログラム2の暗号解除を開始する(S6504)。その後、Javaプログラム2がJMF2205aを用いて映像・音声の再生を停止すると、JMF2205aは暗黙的にCAライブラリ2206を利用して暗号解除を停止しようとする(S6505)。CAライブラリ2206は暗号解除を停止してJavaプログラム1の暗号解除を再開する(S6506)。
本実施の形態を用いると、Javaプログラムは、より高優先度のJavaプログラムに暗号解除を奪われても、その利用が終了した際、自動的に暗号解除を復活できる。
(実施の形態12)
実施の形態1〜11では、CAライブラリ2206は放送受信装置が暗黙的に暗号解除を行うのに用いられ、Javaプログラム自身がこれを利用することは不可能であった。本実施の形態では、CAライブラリ2206をJavaプログラムに対して解放し、Javaプログラムが独自に暗号解除を行うことを可能とする。これに際し、まずCAライブラリ2206はJava言語を用いたライブラリになる。また、以前の実施の形態では、“EPG2202を用いたユーザによるチャンネル選択”及び“Javaプログラムによるサービスマネージャ管理ライブラリ2205fの利用”及び“Javaプログラムによるストリーム情報アクセスライブラリの利用”及び“放送受信装置によるストリーム情報アクセスライブラリの利用”の四種類の暗号解除の開始タイミングが存在したが、本実施の形態では、“Javaプログラムによるサービスマネージャ管理ライブラリ2205fの利用”及び“Javaプログラムによるストリーム情報アクセスライブラリの利用”の際は、暗黙的な暗号解除は開始されない。この場合はJavaプログラム自身が、CAライブラリ2206を利用して暗号解除を開始する。
単純な例として図66にJavaプログラムがCAライブラリ2206の機構を利用して暗号解除し、映像音声を利用する動作シーケンスを表す。チャンネル識別子を取得した(S6601)ら、チャンネル識別子よりプログラムナンバーを得る(S6602)。PMTは暗号化されない環境なのでSF2205eを利用してPMTを取得し(S6603)、もしCA記述子が含まれていて暗号化がなされていたら(S6604)、暗号解除開始部2803を利用してサービスの暗号解除を開始する(S6605)。その後、JMF2205aを利用して映像・音声の再生を開始する。
なお、以前の実施の形態における、暗黙的な暗号解除開始・停止に基づく機構は全てJavaプログラム自身がCAライブラリ2206を利用する形態においても適用可能である。ES単位での暗号解除処理、複数プログラムの競合処理や、放送受信装置との競合処理など、以前の実施の形態で述べたものはすべてJavaプログラム自身がCAライブラリ2206を利用する際にも適用可能である。
例えば、実施の形態7におけるJavaプログラムが複数同時に実行される環境において、Javaプログラム自身がCAライブラリ2206内の暗号解除開始部2803を用いて暗号解除を開始した場合、Javaプログラム自身の優先度が暗号解除状態管理部2801に記録され、競合の際に優先度判断が行われる。さらに、実施の形態8において導入されたイベントリスナ通知機構に関しても、イベントリスナ登録部6102を追加することで、暗号解除の開始、停止時に通知を受けることが可能である。実施の形態1〜4で表されるようなサービス・ES単位での暗号解除も可能である。また実施の形態3で述べたように、Javaプログラムが終了する際に、Javaプログラムが開始した暗号解除はすべて終了される実装形態や、サービスの選択終了時に、そのサービスに属するJavaプログラムに関する暗号解除がすべて停止される実装形態も可能である。
(実施の形態13)
実施の形態12では、JavaプログラムがCAライブラリ2206を利用することを可能とした。これによりJavaプログラムがCAライブラリ2206を自身で利用し、暗号解除を行うことが可能となる。この場合においても、Javaプログラムは“EPG2202を用いたユーザによるチャンネル選択”及び“放送受信装置によるストリーム情報アクセスライブラリの利用”による暗号解除により、Javaプログラムが開始した暗号解除が奪われることがある。以前の実施の形態では、Javaプログラムの優先度のみ注目しているため、Javaプログラムが複数サービスの暗号解除を行っている場合、どちらのサービスの暗号解除が停止されるかをJavaプログラムが指定することは不可能であった。
本実施の形態では、暗号解除状態管理部2801、暗号解除開始部2803に変更を加え、Javaプログラムが、自身が開始する暗号解除に優先度を設定することを可能とする。
暗号解除状態管理部2801は、Javaプログラムの優先度だけではなく、Javaプログラムが指定した優先度も記録する。
暗号解除開始部2803は、デスクランブラの競合を解決する際、すでに暗号解除を開始しているJavaプログラムの中でもっとも優先度の低いJavaプログラムが開始した暗号解除を取得し、さらにその中で、Javaプログラムが指定した暗号解除の優先度の低いものから順に暗号解除を停止する。
これにより、その時点で開始されている暗号解除の中で、優先度の低い暗号解除から順に暗号解除が停止されるため、Javaプログラムは自身が開始する暗号解除の停止順序を指定することが可能となる。
(実施の形態14)
実施の形態5では、サービス最大数管理部5505が存在し、サービス最大数管理部5505を利用して、サービスの最大数を管理していた。しかし、図18のように外部アダプタ1811を利用する場合、サービスの最大数は予めわからず、実際に暗号解除制御フラグが“問い合わせ”であるCA−PMTを外部アダプタ1811に送信するまでサービスが暗号解除可能かどうかわからないケースが存在する。本実施の形態の暗号解除開始部2803は、実際に暗号解除を開始するためのCA−PMTメッセージを外部アダプタ1811に送信する前に、外部アダプタと通信を行って、サービスが含むESの暗号解除を開始できるかどうか問い合わせ、可能であれば、暗号解除を開始するためのCA−PMTメッセージを外部アダプタ1811に送信する。なお、本実施の形態でも、実施の形態3同様、サービスマネージャ2204及びストリーム情報アクセスライブラリが暗号解除開始部2803を用いて開始された暗号解除は、サービスマネージャ2204及びストリーム情報アクセスライブラリが暗号解除を必要としなくなった場合は暗号解除停止部4004を利用する。それにより、暗号解除状態を常に適切に管理することが可能となる。
本実施の形態の暗号解除開始部2803の動作シーケンスを図67に示す。図67は外部アダプタ1811がPODであるケースを例にとる。まずプログラムナンバーを受け取り(S6701)、暗号解除状態管理部2801に問い合わせて指定されたプログラムナンバーと組になって保存されるカウントを取得する(S6702)。その値を判定し(S6703),もしカウントが1以上で、既に暗号解除が開始されていれば、暗号解除状態管理部2801が管理するカウントに1を足して(S6709)、シーケンスを終了する。もしカウントが0で、まだ暗号解除が開始されていなければ、暗号解除を開始するために、まずプログラムナンバーに対応するPMTを取得する(S6704)。ここでは外部アダプタ1811がPODであるケースを例にとっているが、PODはCA−PMTの暗号解除制御フラグを“問い合わせ”に設定すると、そのCA−PMTが表現するサービスに含まれるESを暗号解除可能かどうか返答する仕様になっているため、そのようなCA−PMTを、S6704で取得したPMTを基にして構成し、それを外部アダプタ1811に送信し、その返答を受け取る(S6705)。次にその返答を判定する(S6706)。もし暗号解除不可能であれば、暗号解除をあきらめ、もし暗号解除可能であれば、暗号解除制御フラグが“開始”にセットされたCA−PMTを外部アダプタ1811に送信して、図43のシーケンスに入る(S6707)。図43のシーケンスは外部アダプタ1811上の暗号解除プログラムが実行し、暗号解除を実際に開始する。図43のシーケンスの詳細な説明については前の実施の形態で説明されているため割愛する。図43のシーケンスが終了すると、暗号解除状態管理部2801が管理する、指定されたプログラムナンバーと対応するカウントを1にして(S6708)、シーケンスを終了する。なお、図67のS6708は、図43のシーケンスの終了を待たず、図43のシーケンスと並行して行われるような実装であってもよい。
本実施の形態で用いた暗号解除開始部2803を用いると、外部アダプタ1811を用いる図18のような構成をとる場合、暗号解除が可能かどうかを外部アダプタ1811自身に問い合わせて判断することが可能となる。
(実施の形態15)
実施の形態7では、1以上のサービスの同時暗号解除が可能な環境で、サービスマネージャ2204によるサービス選択時、及びストリーム情報アクセスライブラリが利用された時に暗号解除が開始され、さらに優先度の概念が導入されてより高い優先度を保持するJavaプログラムによる暗号解除が優先された。本実施の形態では、優先される暗号解除の判断基準として、ストリーム情報アクセスライブラリを用いてアクセスされるサービスよりも、サービスマネージャ2204によってサービス選択されるサービスを優先する。
この形態を実現するために、暗号解除状態管理部2801を変更し、暗号解除を行うプログラムナンバー、カウンタ、Javaプログラムの優先度とともに、暗号解除のきっかけがサービス選択であるか、ストリーム情報アクセスライブラリであるかを表現するフラグを保持する。図68は暗号解除状態管理部2801が管理する表である。列6801は暗号解除されているサービスのプログラムナンバーを表す。列6802はいくつのプログラムが暗号解除を要求しているかを数えるためのカウンタである。列6803は暗号解除を要求したJavaプログラムの優先度である。列6804は暗号解除のきっかけとなったのがサービス選択であるか、ストリーム情報アクセスライブラリであるかを表現する呼び出し元判別フラグである。また行6811〜行6814のそれぞれは1サービスの情報を表す。図68では4つのサービスがこの時点で暗号解除され、行6811が表すサービスはサービス選択によって暗号解除が開始された。行6812〜行6814が表すサービスはストリーム情報アクセスによって暗号解除が開始された。なお、同一のサービスに対して、複数のJavaプログラムに起因する暗号解除が行われる可能性がある。この場合は、一つのサービスに、複数のJavaプログラムの優先度及び呼び出し元判別フラグが保持される。
暗号解除開始部2803は、プログラムナンバーとともに暗号解除をサービスマネージャ2204より指示されたが、既に暗号解除されているサービスの暗号解除を停止しなければ新たなサービスの暗号解除の開始が行えないために、暗号解除を停止するサービスを決定しなければならない場合、まず暗号解除状態管理部2801より、その時点で暗号解除されているサービスの情報を取得する。取得した現在暗号解除されているサービスの中で、ストリーム情報アクセスライブラリを呼び出すことで暗黙的に暗号解除開始されたサービスを「暗号解除停止候補」として選択し、さらにその中で最も優先度の低いJavaプログラムによって暗号解除されたサービスを一つ選び、その暗号解除を停止する。その後、暗号解除開始部2803は、サービスマネージャ2204より指示されたサービスの暗号解除を開始する。
例えば、暗号解除状態が図68によって示される状態である場合に、新たにサービスマネージャ2204が、プログラムナンバーが“500”であるサービスの暗号解除を要求してきた場合、ストリーム情報アクセスライブラリをきっかけに暗号解除が開始された行6812〜行6814のサービスの中から、もっとも優先度の低いJavaプログラムによって開始された行6814のサービスの暗号解除が停止される。
暗号解除開始部2803は、プログラムナンバーとともに暗号解除をストリーム情報アクセスライブラリより指示されたが、既に暗号解除されているサービスの暗号解除を停止しなければ新たなサービスの暗号解除の開始が行えないために、暗号解除を停止するサービスを決定しなければならない場合、まず暗号解除状態管理部2801より、その時点で暗号解除されているサービスの情報を取得する。取得した現在暗号解除されているサービスの中で、ストリーム情報アクセスライブラリを呼び出すことで暗黙的に暗号解除開始されたサービスを「暗号解除停止候補」として選択し、さらにその中で、優先度比較を行い、ストリーム情報アクセスライブラリを利用したJavaプログラムよりも低い優先度を持つJavaプログラムにより暗号解除されたサービスがあれば、そのサービスの暗号解除を停止する。その後、暗号解除開始部2803は、ストリーム情報アクセスライブラリより新たに指示されたサービスの暗号解除を開始する。
例えば、暗号解除状態が図68によって示される状態である場合に、新たにストリーム情報アクセスライブラリが、プログラムナンバーが“500”であるサービスの暗号解除を要求してきた場合、ストリーム情報アクセスライブラリをきっかけに暗号解除が開始された行6812〜行6814のサービスの中から、もっとも優先度の低いJavaプログラムによって開始された行6814のサービスの暗号解除が停止される。
なお、上記のように暗号解除を停止するサービスを決定するプロセスにおいて、暗号解除状態管理部2801が保持するサービス情報の中に、複数のJavaプログラムにアクセスされるサービスが存在した場合、まず、一つでもサービスマネージャ2204からの暗号解除開始要求に基づく暗号解除がされていれば暗号解除は停止しない。さらに、ストリーム情報アクセスライブラリからの暗号解除開始要求に基づく暗号解除のみをきっかけにして暗号解除が開始されたサービスについては、記録されるJavaプログラムの優先度のうち、最も高いものがそのサービスの優先度として選ばれる。例えば、図69の場合、行6901についてはサービスマネージャ2204の暗号解除要求が行われているため、暗号解除が停止されることはない。行6902については、ストリーム情報アクセスライブラリをきっかけに暗号解除が開始されており、またストリーム情報アクセスライブラリを利用したのは優先度“127”と“64”のJavaプログラムであるため、“127”の優先度が採用される。
本実施の形態では、サービスマネージャ2204が暗号解除開始部2803を利用して暗号解除を開始したサービスは、ストリーム情報アクセスライブラリが暗号解除開始部2803を利用して暗号解除を開始しようとしたときに停止されることがなくなる。これにより、サービスマネージャ2204が選択しているサービスの暗号解除は、サービスマネージャ2204による選択が解除されるまでは常に継続されることを保証することができる。
例えば、あるサービスに属するESをHDD、BD、DVDや、SDなどの半導体メモリに記録する際、暗号解除が記録途中で停止されると、正しく記録を継続できないことがある。本実施の形態が採用された環境において、蓄積対象のESを含むサービスをサービスマネージャ2204が選択しておくと、その選択が解除されるまでは暗号解除が停止することがないので、意図しない暗号解除の停止を防ぐことが可能となる。
なお、本実施の形態では、サービスマネージャ2204によって選択されるサービスは必ず暗号解除されていることを保証しているが、サービスマネージャ2204によって暗号解除が開始されたサービスであっても、ストリーム情報アクセスライブラリによって暗号解除が開始されたサービス同様に、暗号解除停止候補として優先度評価される、という実装も考えられる。この場合、暗号解除状態管理部2801には、呼び出し元判別フラグは必要なく、単に優先度評価のみによって判断が行われる。この場合は、サービスマネージャ2204が暗号解除を開始したサービスを特別視せず、選択中のサービスであっても暗号解除を継続することを保証することはできなくなり、常に優先度の高いJavaプログラムの要求に従って暗号解除が行われる。
なお、本実施の形態において、「既に暗号解除されているサービスの暗号解除を停止しなければ新たなサービスの暗号解除が開始できない場合」とは、実施の形態5のケースで、同時に暗号解除可能なサービスの最大数を越えている場合や、実施の形態14のケースで、図67の手続きS6705にて外部アダプタ1811より暗号解除不可通知が返ってきた場合等が考えられる。
なお、本実施の形態では、ストリーム情報アクセスライブラリが呼ばれた時に同時に暗号解除可能なサービスの最大値を超えている場合、暗号解除開始部2803は、「ストリーム情報アクセスライブラリが暗号解除開始部2803に依頼して暗号解除が開始されたサービス」の中から暗号解除停止するサービスを選択している。このとき、優先度による判断を用いて停止するサービスを選択しているが、この選択には様々な方法が考えられる。例えば、「先に開始されるサービスの暗号解除を停止せず、後から要求された暗号解除は行わない(先勝ち)」「最も先に暗号解除が開始されたサービスを停止する(FirstInFirstOut)」などである。このような選択アルゴリズムが利用されてもよい。また優先度判断を行う場合であっても、優先度の等しいJavaプログラムが暗号解除したサービスが複数存在する場合は、「先勝ち」「FirstInFirstOut」などの対応が考えられる。
なお、本実施の形態では、ストリーム情報アクセスライブラリが呼ばれた時に、同時に暗号解除可能なサービスの最大値を超えた場合、「ストリーム情報アクセスライブラリが暗号解除2803に依頼して暗号解除が開始されたサービス」の中から暗号解除停止するサービスを選択している。しかし、ストリーム情報アクセスライブラリが開始した暗号解除であっても、奪われることを禁止したいケースは考えられる。例えば、JMF2205aを利用して再生中の映像・音声が含まれるサービスの暗号解除は停止されたくないが、SF2205eを利用してデータを参照しているサービスの暗号解除は奪われてもよい場合などである。これを実現するために、暗号解除状態管理部2801が、さらに暗号解除を開始したストリーム情報アクセスライブラリの種類を記録しておき、暗号解除を停止するサービスを選択する際、予め決められたストリーム情報アクセスライブラリが開始した暗号解除は停止しない、という実装であってもよい。例えば、JMF2205aが開始した暗号解除は開始しない、という実装であった場合、暗号解除を停止するサービスを選択する際、サービスマネージャ2204及びJMF2205aが暗号解除開始部2803を利用して暗号解除を開始したサービスは除外される。さらに、前述したサービスマネージャ2204が開始した暗号解除を暗号解除停止候補に含めない実装だった場合、予め決められたストリーム情報アクセスライブラリのみ特別視され、そのストリーム情報アクセスライブラリを用いて開始されたもののみ、暗号解除停止候補から除外される。
さらに、例えば同じJMF2205aが開始した暗号解除であっても、あるサービスAに関する暗号解除は停止されたくなく、サービスBに関する暗号解除は停止されてもよい、というケースも考えられる。これを実現するために、暗号解除状態管理部2801が、さらにプログラムナンバー毎に暗号解除停止可能フラグを保持する実装も考えられる。このとき、ストリーム情報アクセスライブラリが暗号解除開始部2803を利用してサービスAの暗号解除を開始する際に、暗号解除停止可能フラグをOFFにしておき、サービスBの暗号解除を開始する際には暗号解除停止可能フラグをONにしておくと、のちに暗号解除開始部2803が暗号解除停止するサービスを選択しなければならないとき、暗号解除停止可能フラグがOFFになっているサービスを暗号解除停止候補から除外する。このように実装することで、特定のサービスについては暗号解除を停止したくない場合に対応することが可能となる。さらに、前述したサービスマネージャ2204が開始した暗号解除を暗号解除停止候補に含めない実装だった場合、ストリーム情報アクセスライブラリが開始し、暗号解除停止フラグがOFFに設定されたサービスのみ、暗号解除停止候補から除外される。また、サービスマネージャ2204が開始した暗号解除を暗号解除停止候補に含めない実装であって、サービスマネージャ2204も暗号解除停止フラグを設定可能で、サービスマネージャ2204が選択した特定のサービスのみ暗号解除停止候補から除外する実装も可能である。
なお、本実施の形態において、サービスマネージャ2204が同時に選択可能なサービスの数はいくつであってもよい。例えば、同時に暗号解除可能なサービスの数が“5”で、サービスマネージャ2204が同時に選択可能なサービスの数が“2”であった場合、サービスマネージャ2204が、暗号解除開始部2803を用いて既に二つのサービスの暗号解除を開始している時には、ストリーム情報アクセスライブラリが暗号解除開始部2803を利用することで同時に暗号解除可能なサービスは三つである。例えば、同時に暗号解除可能なサービス数が“5”であり、サービスマネージャ2204が同時に選択可能なサービス数も“5”であった場合、サービスマネージャ2204が、暗号解除開始部2803を用いて既に五つのサービスの暗号解除を開始している時には、ストリーム情報アクセスライブラリが暗号解除開始部2803を利用しても、暗号解除を開始することは不可能である。例えば、同時に暗号解除可能なサービス数が“1”であり、サービスマネージャ2204が同時に選択可能なサービス数も“1”である場合は、実施の形態1と同様である。
なお、前述したように、OCAP環境には“通常のサービス”と“抽象サービス”が存在する。通常のサービスは、映像、音声、アプリケーション等を含み、サービス選択されたときには、もしそのサービスが暗号化されたESを含んでいれば、暗号解除が必要である。一方抽象サービスは、アプリケーションのみを内包しており、さらに、抽象サービスが内包するアプリケーションは、端末装置内部に記録され、そこから起動する場合もある。そのため、サービス選択された場合でも、常に暗号解除が必要であるわけではない。このようなケースでは、サービスマネージャ2204が「通常のサービス」を選択する際には、暗号解除を開始し、選択中はそのサービスに属する暗号が常に解除されていることを保障するが、「抽象サービス」を選択する際には、起動するJavaプログラムを暗号化されたESからダウンロードしなければならない場合、などの必要な場合のみ暗号解除を開始し、そのESに関してはサービスの選択中暗号解除を保証する、という実装であってもよい。また、抽象サービスの選択の場合は、Javaプログラムをダウンロードし終わった後は暗号解除を自動で停止し、サービス選択中であっても、Javaプログラムを伝送するESが暗号解除されていることを保証しない、という実装であってもよい。
なお、本実施の形態では、Javaプログラムがストリーム情報アクセスライブラリを利用して暗号解除が開始されたサービスが、別Javaプログラムのストリーム情報アクセスライブラリあるいはサービスマネージャ2204によって停止されることがある。この場合、暗号解除が停止されたJavaプログラムに対して、暗号解除が停止されたことをストリーム情報アクセスライブラリから通知するような実装であってもよい。
なお、本実施の形態では、サービスマネージャ2204によって選択されるサービスは必ず暗号解除されていることを保証しているが、図16におけるチューナ1601の設定が変更された場合など、選択されているサービスを含むMPEG2トランスポートストリームが変更され、サービス自身を端末装置1600や端末装置1800が受信し続けることができなくなる場合があり得る。この場合、サービス選択中のサービスであっても自動的に暗号解除を停止するような実装であってもよい。
なお、本実施の形態におけるサービス選択には、“チューニング”、“暗号解除”、“映像・音声再生”、“アプリ起動”などの動作を含んでいるが、これは選択すべきサービスが含むESを利用して行う動作であれば、他の動作を含むこともありうるし、さらに“映像・音声再生”や“アプリ起動”を含まないこともありうる。例えば、「あるサービスが含むESが伝送する映像・音声をHDD、BD、DVDやSDなどの半導体メモリに蓄積する」、「サービスが含むESが伝送する情報をネットワーク接続、USB接続、IEEE1394接続などの方法で物理的に接続された別端末装置へ伝送する」などの追加動作が考えられる。
なお、本実施の形態における暗号解除状態管理部2801は、暗号解除中のサービスの情報として、プログラムナンバーを保持している。しかし、複数のサービスを暗号解除可能な外部アダプタ1811は、複数のMPEG2トランスポートストリーム内に属するサービスであっても暗号解除可能な場合がある。そのような場合は、例えば、MPEG2トランスポートストリームAに含まれるサービスBとMPEG2トランスポートストリームCに含まれるサービスDを同時に暗号解除可能である。プログラムナンバーは同一MPEG2トランスポートストリーム内において一意にサービスを特定できるように決定されるが、サービスBとサービスDは異なるMPEG2トランスポートストリームに含まれるため、同じプログラムナンバーが割り当てられている場合があり、その場合、プログラムナンバーのみ記録していると、それがサービスBなのかサービスDなのか特定できない。そのようなサービスを特定するために、暗号解除状態管理部2801がMPEG2トランスポートストリームを特定する情報をプログラムナンバーとともに記録しておく実装も可能である。例えば、MPEG2トランスポートストリームはTSID(Transport Stream IDentifier)と呼ばれるIDを有しているため、このTSIDとプログラムナンバーを組にして保持していれば、サービスを一意に特定可能である。他にも、MPEG2トランスポートストリームを特定するための情報として周波数やSIに基づくIDを記録してもよい。
なお、本実施の形態で、外部アダプタ1811が利用される図18の構成であった場合、暗号解除開始部2803及び暗号解除停止部4004が外部アダプタ1811に送信するとき、暗号化されたESの情報のみでなく、暗号化されていないESの情報を含んでいてもよい。
なお、本実施の形態においても、実施の形態3で述べたように、暗号解除状態管理部2801が、サービス毎にJavaプログラムの識別子を記録しておき、AM2205bがJavaプログラムを終了する際、各ストリーム情報アクセスライブラリに終了するJavaプログラムの識別子を通知するので、各ストリーム情報アクセスライブラリは、暗号解除停止部4004を用いて、そのJavaプログラムがストリーム情報アクセスライブラリを用いることで開始された暗号解除を自動的に停止してもよい。さらに、サービスマネージャ2204は、サービスの選択を解除する際にサービスマネージャ2204が開始した選択解除されるサービスの暗号解除を停止するが、その他に、AM2205bに対して、そのサービスに属するJavaプログラムの終了を指示する。この時に、同じようにJavaプログラムがストリーム情報アクセスライブラリを用いることで開始された暗号解除を自動的に停止する実装であってもよい。
なお、本実施の形態において、同時に暗号解除可能なサービス数が実施の形態1同様に“1”である場合、サービスマネージャ2204が一つのサービスを選択している場合はその暗号解除が保証される点で実施の形態1と同様である。ただ、本実施の形態では、サービスマネージャ2204が暗号解除を一つも行っていない場合は、ストリーム情報アクセスライブラリが暗号解除を開始することが可能である。ただ、ストリーム情報アクセスライブラリが暗号解除を開始していたとしても、サービスマネージャ2204が暗号解除を暗号解除開始部2803に暗号解除依頼した場合は、サービスマネージャ2204が依頼した暗号解除が優先される。
なお、本実施の形態において、暗号化されたESが含まれないサービスが選択された場合は、暗号解除は開始されない。これにより、サービスマネージャ2204がたとえ同時に1サービスのみ同時に暗号解除可能な環境であったとしても、サービス選択中でも、ストリーム情報アクセスライブラリを用いた暗号解除を行うことは可能である。
なお、本実施の形態において、外部アダプタ1811を利用する環境において、暗号化されたESが含まれないサービスが選択された場合でも、CA−PMTを外部アダプタ1811に送信する実装も可能である。外部アダプタ1811は暗号解除以外にもコピープロテクション用メッセージとしてCA−PMTを用いるケースがあり、この場合、とくにESの暗号解除が必要でなくても、CA−PMTを送信しなければならない。
(実施の形態16)
実施の形態1〜15で述べた外部アダプタ1811の例であるDVB−CI及びPODは、暗号解除制御フラグが“問い合わせ”であるCA−PMTを端末装置1800より受信すると、そのCA−PMTに記載されているESの暗号解除が可能かどうか判定し、端末装置1800に対して、判定結果を通知する。
また、DVB−CIやPODによっては、暗号解除制御フラグが“開始”であるCA−PMTを端末装置1800より受信したとき、既に別の暗号解除を行っていた場合、自動的に既に行われている暗号解除を停止し、受信したCA−PMTに基づいて暗号解除を開始することもある。
(実施の形態17)
実施の形態1〜16について、“POD”と記述した部分は“CableCARD”でもよい。PODの場合、“OC−SP−HOSTPOD−IF”仕様を参照しているが、CableCARDである場合、“OC−SP−CC−IF”を参照する。
また、実施の形態1〜15において、外部アダプタ1811を用いて暗号解除を行う場合、暗号解除開始部2803が、暗号解除制御フラグが“開始”であるCA−PMTを外部アダプタ1811に送信することで暗号解除の開始を指示するが、その際にCA−PMTに含まれるESは暗号化されたもののみである必要はない。暗号化されていないESの情報を含んでいてもよい。
また、実施の形態1〜15において、外部アダプタ1811を用いて暗号解除を行う場合、実施の形態によっては、暗号解除開始部2803あるいはサービスマネージャ2204あるいは各ストリーム情報アクセスライブラリが、サービス内部に暗号化されたESが存在するかどうかCA−PMTを送信する前にチェックしているが、チェックせずに、毎サービス選択時、あるいは毎ストリーム情報アクセスライブラリ呼び出し時に、対象となるサービスのPMTから暗号制御フラグが“開始”であるCA−PMTを構成して、外部アダプタ1811に送信するような実装であってもよい。また、送信する際は、暗号化されたESの情報だけでなく、暗号化されていないESの情報を含んでいてもよい。さらに、ストリーム情報アクセスライブラリにESが指定された場合は、PMTの中から、指定されたESの情報のみを利用してCA−PMTを構成し、それを外部アダプタ1811に送信してもよい。
なお、実施の形態1〜15において、「サービス選択」はチューニング、暗号解除、映像音声再生、アプリ起動を含むシーケンスとして説明されるが、チューニング及び暗号解除後に行われる動作が本シーケンスと異なっていてもよい。例えば、映像音声再生を行わずアプリ起動のみを行う場合や、アプリ起動を行わず映像音声再生のみ行う場合であってもよく、さらに、蓄積機器への暗号解除を開始したESの記録など、サービス内のESへのアクセスであってもよい。
(実施の形態18)
実施の形態1〜15について、サービスマネージャ2204が保有するサービス記憶部を“4900”と呼んでいるが、これはサービスマネージャ2204内部に存在する場合もある。この実現図を図70に示す。サービスマネージャ2204が管理する領域にサービス記憶部7000が存在する。サービスマネージャ2204が管理するサービス記憶部はストリーム情報アクセスライブラリが管理するサービス記憶部4900とは別として扱う実装でもよい。
(実施の形態19)
実施の形態8〜10では、Javaプログラムがイベントリスナ登録部6102及びイベントリスナ削除部6103はJavaプログラムから直接利用され、Javaプログラムは、CAライブラリ2206から直接イベントを受け取るが、Javaプログラムがストリーム情報アクセスライブラリにイベントリスナを登録し、ストリーム情報アクセスライブラリから暗号解除が停止されたことを通知するイベントが投げられる実装であってもよい。
(実施の形態20)
実施の形態1〜2においては、同時に選択可能なサービスの数、及びサービスコンテキストの数を1として説明しているが、同時に選択可能なサービスの数が1であってもサービスコンテキストが複数存在するような環境であっても本発明は適用可能である。実際に、OCAP仕様に準拠する環境では、サービスコンテキストは、同時に選択可能なサービスの数よりも多く存在することが可能である。例えば、同時に選択可能なサービスが1である端末上に、1以上のサービスコンテキストが存在可能である。この場合、Javaプログラムは複数のサービスコンテキスト毎に異なるサービス選択要求を行うことができる。しかしながら、同時に選択できるサービスは1つのみなので、後に要求されたサービスが選択され、その時点で別のサービスが既に選択されていた場合、その選択は解除される。暗号解除開始タイミングは、後に要求されたサービスが選択された時点であり、また同時に、その時点で選択解除されたサービスに関する暗号解除は停止される。
(実施の形態21)
実施の形態1〜15において、前述のOCAP環境ではサービスは二種類存在する場合がある。一つはPMTと結びついて存在する通常のサービスで、もう一つはPMTと結びつかずに存在する抽象サービスである。通常のサービスは実施の形態1〜2で説明してきたサービスと同義であり、通常のサービスが選択されると、チューニング、暗号解除、映像音声再生、Javaプログラム起動がサービスマネージャ2204により行われる。一方、抽象サービスはJavaプログラムのみを内包して存在し、サービスの選択時には映像・音声の再生は行われない。また、抽象サービスが内包するJavaプログラムは、抽象サービスが選択された時にダウンロードされ起動されるが、その時、2次記憶部1607に記録される場合がある。一度2次記憶部1607にJavaプログラムが記録されると、それ以降は、記録したJavaプログラムよりも新しいJavaプログラムがダウンロード可能でない限り、サービス選択時、Javaプログラムは2次記憶部1607よりロードされて起動されるようになる。OCAP環境のように、サービスのタイプが二種類以上あるような環境では、サービスマネージャ2204によるサービス選択の際、サービスタイプに応じて、暗号解除を開始、停止するタイミングを変えてもよい。例えば、通常のサービスの選択においては、サービスマネージャ2204によるサービス選択の際に暗黙的に暗号解除を開始する。抽象サービスの場合はサービス選択の際、JavaプログラムをESよりダウンロードする場合で、かつJavaプログラムを伝送するESが暗号化されている時にのみ暗号解除を開始し、Javaプログラムを2次記憶部1607よりロードして起動する場合など、暗号解除が必要でない場合には暗号解除を開始しない、という形態をとってもよい。
また、このような複数種類のサービスが存在する環境において、さらにサービスマネージャ2204が管理するサービスコンテキストが複数存在していて、各々のサービスコンテキストが選択可能なサービスの種類が決まっているケースも想定される。例えば、サービスの種類として、通常サービスと抽象サービスが存在した場合、通常サービス用サービスコンテキストと抽象サービス用サービスコンテキストが存在するケースである。このような場合、通常サービス用サービスコンテキストのケースは通常サービスの選択時に暗号解除が開始され、抽象サービス用サービスコンテキストでは抽象サービスの選択時に暗号化されたESが伝送するJavaプログラムをダウンロードする時のみ暗号解除を開始する、という形態をとってもよい。
また、実施の形態1において、「通常のサービス」と「抽象サービス」が存在するような環境では、複数のサービスに属するJavaプログラムが同時に動作するが、この場合でも、その時点で選択されている「通常のサービス」に属するESは暗号解除が行われることが保証されるので、ストリーム情報アクセスライブラリを用いたアクセスが可能である。
(実施の形態22)
実施の形態1〜15において、ストリーム情報アクセスライブラリはJMF2205a、DSM−CC2205d、SF2205eが挙げられているが、この三つ以外に存在してもよく、またこの三つが含まれている必要もない。例えば、ESが伝送する情報を2次記憶部1607に蓄積する機能を実現するライブラリや、端末装置1600または端末装置1800に外部接続された他の端末に対して、MPEG2トランスポートストリームや、MPEG2トランスポートストリームから取得可能な映像・音声・データ・Javaプログラムなどの情報を転送するライブラリなどが挙げられる。
(実施の形態23)
実施の形態1〜15において、JavaプログラムはDSMCC方式でMPEG2トランスポートストリームによって送信されるものをダウンロードするだけでなく、ネットワークで端末装置と接続されたサーバからダウンロードしたり、DVD、BD、SDカードなどの持ち運び可能なメディアからロードしたりする方法も考えられ、その場合も本発明は適用可能である。
(実施の形態24)
実施の形態1〜15において、ストリーム情報アクセスライブラリに、アクセス対象として一度に指定可能なESの数はストリーム情報アクセスライブラリの種類により異なる。例えばSF2205eに対しては常に1つのESを指定するが、JMF2205aに対しては映像用ESと音声用ESのように複数のESを指定することができる。また、さらに列挙した以外の種類のストリーム情報アクセスライブラリがあった場合、指定可能なのは「1つのES」「複数のES」「サービス」の3タイプ考えられ、それはストリーム情報ライブラリ毎に異なる。
(実施の形態25)
実施の形態1〜15において、図18のように、外部アダプタ1811を利用して暗号解除を行う場合、暗号解除開始部2803の処理中に外部アダプタ1811に対して送信するCA−PMTは、明示されていない場合、暗号開始制御フラグが“開始”である。
また、実施の形態1〜15において、図18のように、外部アダプタ1811を利用して暗号解除を停止する場合、暗号解除停止部4004の処理中に外部アダプタ1811に対して送信するCA−PMTは、明示されていない場合、暗号解除制御フラグが“停止”である。
また、実施の形態1〜15において、暗号解除開始部2803の処理中に暗号解除開始を表すCA−PMTを外部アダプタ1811に送信するが、その前に、「暗号解除が可能かどうかの問い合わせ」を表すCA−PMTを外部アダプタに送信し、外部アダプタ1811が、CA−PMTが含むESを暗号解除可能かどうかの結果を受け取り、可能であれば改めて「暗号解除開始」を表すCA−PMTを外部アダプタ1811に送信する、といった実装もありうる。
(実施の形態26)
実施の形態3におけるサービスマネージャ2204の暗号解除に関する動作も図71及び図72を用いて説明する。まずサービス選択時のシーケンスについて説明する。Javaプログラムが、サービスマネージャ管理ライブラリ2205fを利用してサービスマネージャ2204が管理する実行単位“サービスコンテキスト”に対して、サービス選択命令を出すと、サービスマネージャ2204は、指定実行単位“サービスコンテキスト”がその時点で別サービスを選択していれば、その選択を解除する。選択解除シーケンスについて、詳細は後述するが、そのシーケンスの中で、選択解除されたサービスの暗号解除は停止される。その後、図71のシーケンスに入る。チャンネル識別子を受け取り(S7101)、チャンネル識別子に基づいてプログラムナンバーを取得(S7102)、サービスが暗号化されていれば(S7103)、暗号解除開始部2803を利用して暗号解除を開始する(S7104)。その際、サービス記憶部4900に対して、その実行単位“サービスコンテキスト”の識別子とプログラムナンバーを組にして記録する(S7105)。その後、残りのサービス選択処理(映像音声再生、アプリ起動等)を行う(S7106)。
次にサービス選択解除シーケンスについて説明する。サービス選択解除時の暗号解除停止に関しては、図72のシーケンスを用いる。「Javaプログラムがサービスマネージャ管理ライブラリ2205fを利用してサービスマネージャ2204が管理する実行単位“サービスコンテキスト”に対して、サービス選択解除命令を出した場合」や「Javaプログラムがサービス選択命令を出した時に、その実行単位“サービスコンテキスト”が既に別サービスを選択していた場合」、まず、その時点でその実行単位“サービスコンテキスト”が選択していたサービスの映像音声を停止し、そのサービスに属するアプリの実行も停止する(S7201)。その後、図72のシーケンスに入る。その時点で、その実行単位“サービスコンテキスト”に基づく暗号解除があれば停止する必要があるので、まずサービス記憶部4900より、その実行単位“サービスコンテキスト”の識別子と組になるプログラムナンバーを取得する(S7202)。もし取得できれば(S7203)、暗号解除が行われていたということなので、暗号解除停止部4004を利用して暗号解除を停止し(S7204)、サービス記憶部4900より、実行単位の識別子とプログラムナンバーの組を削除する(S7205)。このように動作することで、サービスマネージャ2204はサービスの選択・選択解除とともに暗号解除の開始・停止を行う。
本サービスマネージャ2204のシーケンスは、実施の形態3以降の、明記のない実施の形態にて用いられる。
(実施の形態27)
実施の形態1〜15において、サービスマネージャ2204や各ストリーム情報アクセスライブラリを用いた暗号解除に失敗した場合、サービスマネージャ2204にサービスマネージャ管理ライブラリ2205fを用いてサービスの選択を依頼したJavaプログラムや、ストリーム情報アクセスライブラリを利用してMPEG2トランスポートストリーム内の情報にアクセスしようとしたJavaプログラムに暗号解除開始に失敗したことを表すエラーを返す実装であってもよい。
(実施の形態28)
実施の形態3において、図46の手続きS4601において、受け取るのはCA−PMTである。
(実施の形態29)
実施の形態1において、デスクランブラ管理部2802は、外部アダプタ1811を利用して暗号解除を行う図18のような構成を取る場合、外部アダプタ1811上に存在するデスクランブラ2802は、外部1811のCPU上で動作する予め外部1811上のROMに記録されたプログラムによって参照され、デスクランブラの割り当てに利用される場合もある。
(実施の形態30)
実施の形態1〜15において、暗号解除開始部2803及び暗号解除停止部4004は、図18のように外部アダプタ1811を利用して暗号解除を行う場合、「端末装置1800内部のROM1609に置かれるライブラリ部分」と、「外部アダプタ1811上のROMに置かれるプログラム」に分割される。この様子を簡単のために図73に一例を図示する。図73は図18における端末装置1800及び外部アダプタ1811の接続を模式化したものである。端末装置1800内のCPU1806及び1次記憶部1608及びROM1609はそれぞれ互い信号線で物理的に接続される。一方、外部アダプタ1811上のCPU7301及び1次記憶部7302及びROM7303もそれぞれ互いに物理的に接続されている。信号線7304は、端末装置1800及び外部アダプタ1811間で情報をやり取りするための信号線である。
端末装置1800上の1次記憶部1608には、暗号解除状態管理部2801が置かれる。ROM1609には暗号解除開始部A2803a及び暗号解除停止部A4004aが置かれ、CPU1806によって読み出されて実行される。暗号解除開始部A2803a及び暗号解除停止部A4004aは、それぞれ暗号解除開始部2803及び暗号解除停止部4004の「端末装置1800内部のROM1609に置かれるライブラリ部分」である。
一方、外部アダプタ1811内の1次記憶部7302には、デスクランブラ管理部2802が置かれる。ROM7303内には、暗号解除開始部B2803b及び暗号解除停止部B4004bが置かれ、外部アダプタ1811内のCPU7301が読み出して実行する。暗号解除開始部B2803b及び暗号解除停止部B4004bは、それぞれ暗号解除開始部2803及び暗号解除停止部4004の「外部アダプタ1811上のROMに置かれるプログラム」である。
実施の形態1には暗号解除開始部2803が存在する。図30のシーケンスを実行するのが暗号解除開始部A2803aであり、図31のシーケンスを実行するのが暗号解除開始部B2803bである。手続きS3005において、暗号解除開始部A2803aが、暗号解除制御フラグが“開始”であるCA−PMTを作成して外部アダプタ1811に送信すると、それを受信した外部アダプタ1811は暗号解除開始部B2803bを起動して、図31のシーケンスに従って暗号解除を開始する。手続きS3104等では、暗号解除開始部B2803bは、デスクランブラ管理部2802にアクセスするが、デスクランブラ管理部も外部アダプタ1811上に存在するため問題はない。同様に、実施の形態1〜15において、暗号解除開始部2803が端末装置1800と外部アダプタ1811に分割して置かれる旨の記述が存在する部分は、図73のように配置される。
実施の形態3には暗号解除停止部4004が存在する。図45のシーケンスを実行するのが暗号解除停止部A4004aであり、図46のシーケンスを実行するのが暗号解除停止部B4004bである。手続きS4505において、暗号解除停止部A4004aが、暗号解除制御フラグが“停止”であるCA−PMTを作成して外部アダプタ1811に送信すると、それを受信した外部アダプタ1811は暗号解除停止部B4004bを起動して図46のシーケンスに従って暗号解除を停止する。手続きS4603においては、暗号解除停止部B4004bは、デスクランブラ管理部2802にアクセスするが、デスクランブラ管理部2802も外部アダプタ1811上に存在するため、問題はない。同様に、実施の形態1〜15において、暗号解除停止部4004が端末装置1800と外部アダプタ1811に分割して置かれる旨の記述が存在する部分は、図73のように配置される。
なお、外部アダプタ1811の種類によっては、これとは異なる構成をとる場合もあるが、本発明は端末装置1800内部の動作に基づいており、CA−PMTに変わるメッセージを用いて通信可能な外部アダプタ1811であれば、本発明は適用可能である。また、DVB−CIやCableCARDであっても、内部構成に多少の違いがある場合も考えられるが、本発明は端末装置1800内部の動作に基づいているため、そうであっても本発明は適用可能である。
なお、外部アダプタに対して暗号解除開始部A2803aが、暗号解除制御フラグが“問い合わせ”であるCA−PMTを送信することがある。それを受け取った外部アダプタ1811は、暗号解除が可能であるかどうか判断して、端末装置1800に対して返答を送り返す。この返答は暗号解除開始部A2803aが、暗号解除制御フラグが“開始”であるCA−PMTを外部アダプタ1811に対して送信するかどうかの判定に用いる。
(実施の形態31)
実施の形態1〜15において、暗号解除開始部2803は、明記がなければ、実際に暗号解除を行う前に、暗号化されたESがサービスに含まれているかどうか判定し、暗号化されたESが含まれていれば、暗号解除を行う。特に外部アダプタ1811を利用する環境で、暗号化されたESのあるなしに関わらず、暗号解除制御フラグが“開始”であるCA−PMTを外部アダプタ1811に送信する実装であってもよい。
本発明では、1以上の情報単位を含むサービスの実行依頼を受付け、実行するサービス実行手段と、暗号化された情報単位を暗号解除する暗号解除手段と、放送受信装置外部よりダウンロードされたアプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える暗号解除制御手段とを備えることを特徴とする放送受信装置を提案し、暗黙的に情報単位の暗号解除を行える手法をアプリケーションに対して提供した。
本発明は、放送受信装置をベースとするが、携帯電話などの他の情報機器において暗号化された放送を受信する機能を持つものであれば適用可能である。
本発明に係る放送システムの構成図である。 本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。 本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。 本発明に係るケーブルテレビシステムにおいて放送局側システムと端末装置間の通信に使用される周波数帯域の使い方の一例である。 MPEG2仕様で既定されるTSパケットの構成図である。 MPEG2トランスポートストリームの模式図である。 MPEG2仕様で既定されるPESパケットがTSパケットを用いて伝送される際の分割例である。 MPEG2仕様で既定されるMPEG2セクションがTSパケットを用いて伝送される際の分割例である。 MPEG2仕様で既定されるMPEG2セクションの構成図である。 MPEG2仕様で既定されるMPEG2セクションの利用例である。 MPEG2仕様で規定されるPMTの利用例である。 MPEG2仕様で規定されるPATの利用例である。 MPEG2仕様で規定されるPESパケットが暗号化される場合の例である。 MPEG2仕様で規定されるMPEG2セクションが暗号化される場合の例である。 EMMやECMを用いた暗号化の判定シーケンスである。 本発明に係る放送受信装置のハードウエア構成の構成例である。 本発明に係る端末装置のハードウェア構成における入力部のフロントパネル例である。 本発明に係る放送受信装置のハードウェア構成の構成例である。 本発明に係るPODを利用する放送受信装置のハードウェア構成例である。 本発明に係る放送受信装置のデバイス接続例である。 本発明に係る放送受信装置のデバイス接続例である。 本発明に係る端末装置が保存するプログラム構成の構成図である。 本発明に係る端末装置が実行するEPGの例である。 本発明に係る2次記憶部が保存する情報の一例である。 本発明に係る1次記憶部が保存する情報の一例である。 本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。 本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。 本発明に係るCAライブラリの内部構成である。 本発明に係るデスクランブラ管理部の情報保持例である。 本発明に係る暗号解除開始部の実施の形態1におけるシーケンスである。 本発明に係る暗号解除開始部の実施の形態1におけるシーケンスである。 本発明に係るサービスマネージャの実施の形態1におけるシーケンスである。 本発明に係る暗号解除開始部のシーケンスの一部が外部アダプタによって実行される場合のシーケンス例である。 実施の形態1で例示するJavaプログラムの画面表示例である。 実施の形態1で例示するJavaプログラムが属するサービスのPMT例である。 実施の形態2で例示するJavaプログラムの画面表示例である。 実施の形態2で例示するストリーム情報アクセスライブラリの例である。 実施の形態2で例示するストリーム情報アクセスライブラリの例である。 実施の形態3で例示するJavaプログラムの画面表示例である。 実施の形態3におけるCAライブラリの構成図である。 実施の形態3におけるデスクランブラ管理部の情報保持例である。 実施の形態3における暗号解除開始部のシーケンスである。 実施の形態3における暗号解除開始部のシーケンスである。 実施の形態3における暗号解除停止部のシーケンスである。 実施の形態3における暗号解除停止部のシーケンスである。 実施の形態3における暗号解除停止部のシーケンスである。 実施の形態3におけるストリーム情報アクセスライブラリの暗号解除開始時の動作シーケンスである。 実施の形態3におけるストリーム情報アクセスライブラリの暗号解除停止時の動作シーケンスである。 実施の形態3におけるサービス記憶部を持つストリーム情報アクセスライブラリの構成である。 実施の形態4における暗号解除開始部のシーケンスである。 実施の形態4における暗号解除開始部のシーケンスである。 実施の形態4における暗号解除停止部のシーケンスである。 実施の形態4における暗号解除停止部のシーケンスである。 実施の形態4における暗号解除停止部のシーケンスである。 実施の形態5におけるCAライブラリの内部構成図である。 実施の形態6における暗号解除開始部のシーケンスである。 実施の形態7におけるデスクランブラ競合の模式図である。 実施の形態7におけるデスクランブラ競合の模式図である。 実施の形態7における暗号解除状態管理部の情報保持の様子である。 実施の形態7における複数プログラムの暗号解除による競合の例である。 実施の形態8におけるJavaライブラリの構成図である。 実施の形態8における複数プログラムの暗号解除による競合の例である。 実施の形態9における複数プログラムの暗号解除による競合の例である。 実施の形態10における複数プログラムの暗号解除による競合の例である。 実施の形態11における複数プログラムの暗号解除による競合の例である。 実施の形態12におけるJavaプログラムが暗号解除開始部を利用するシーケンスである。 実施の形態14における、暗号解除開始部が外部アダプタに暗号解除が可能かどうか問い合わせる際のシーケンスである。 実施の形態15における、暗号解除状態管理部の構成例である。 実施の形態15における、暗号解除状態管理部の構成例である。 実施の形態18におけるサービスマネージャが管理するサービス記憶部の模式図である。 実施の形態26におけるサービスマネージャの暗号解除開始時の動作シーケンスである。 実施の形態26におけるサービスマネージャの暗号解除停止時の動作シーケンスである。 実施の形態30における、外部アダプタを利用して暗号解除を行う場合の、暗号解除開始部及び暗号解除停止部の分割例である。
符号の説明
2100 端末装置
1811 アダプタ
1802 TSデコーダ
2101 チューナ
2104 デスクランブラ
2102 PIDフィルタ
2003 セクションフィルタ
2005 AVデコーダ
2006 ディスプレイ/スピーカ
2007 1次記憶部


Claims (30)

  1. 1以上の情報単位を含むサービスの実行依頼を受付け、実行するサービス実行手段と、
    暗号化された情報単位を暗号解除する暗号解除手段と、
    放送受信装置外部よりダウンロードされたアプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える暗号解除制御手段と
    を備えることを特徴とする放送受信装置。
  2. 請求項1記載の放送受信装置はさらに、
    1以上の情報単位にアクセスする情報単位アクセス手段を備え、
    第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  3. 請求項1記載の放送受信装置はさらに、
    1以上の情報単位にアクセスする情報単位アクセス手段を備え、
    アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  4. 請求項1記載の放送受信装置であって、
    前記暗号解除手段は前記放送受信装置に着脱可能であり、
    前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されており、かつ、前記アプリケーションが前記サービス実行手段にサービスの実行を依頼した時、前記サービスに含まれる、全ての暗号化された情報単位の暗号解除を開始するよう前記暗号解除手段に指令を与える
    ことを特徴とする放送受信装置。
  5. 請求項4記載の放送受信装置はさらに、
    1以上の情報単位にアクセスする情報単位アクセス手段を備え、
    第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記情報単位アクセス手段に、第二のサービスに含まれる暗号化された情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記第二のサービスが含む情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  6. 請求項4記載の放送受信装置はさらに、
    1以上の情報単位にアクセスする情報単位アクセス手段を備え、
    アプリケーションが前記情報単位アクセス手段に、前記サービス実行手段が実行していないサービスに含まれる情報単位へのアクセスを依頼した時、前記暗号解除制御手段は、前記情報単位を暗号解除できないことを前記第二のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  7. 請求項1記載の放送受信装置であって、
    第一のアプリケーションから第一のサービスの実行を依頼された前記サービス実行手段が前記第一のサービスを実行し、前記暗号解除手段が第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のアプリケーションが前記サービス実行手段に第二のサービスの実行を依頼した時、前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令し、前記第二のサービスが含む全ての暗号化された情報単位の暗号解除を前記暗号解除手段に指令する
    ことを特徴とする放送受信装置。
  8. 請求項7記載の放送受信装置であって、
    前記暗号解除制御手段は、前記第一のサービスが含む情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一のサービスが含む情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  9. 請求項1記載の放送受信装置であって、
    前記暗号解除手段は、前記暗号解除制御手段から指令された第一のサービスが含む情報単位の暗号解除を行っている状態で、第二のサービスが含む情報単位の暗号解除の指令を前記暗号解除制御手段から受け取った時、前記第一のサービスが含む情報単位の暗号解除を停止し、前記第二のサービスが含む情報単位の暗号解除を開始する
    ことを特徴とする放送受信装置。
  10. 1以上の情報単位にアクセスする情報単位アクセス手段と、
    暗号化された情報単位を暗号解除する暗号解除手段と、
    放送受信装置外部よりダウンロードされたアプリケーションが前記情報単位アクセス手段に、前記情報単位へのアクセスを依頼した時、前記情報単位の暗号解除を前記暗号解除手段に指令を与える暗号解除制御手段
    を備えることを特徴とする放送受信装置。
  11. 請求項10記載の放送受信装置であって、
    前記暗号解除手段は前記放送受信装置に着脱可能であり、前記暗号解除制御手段は、前記放送受信装置と前記暗号解除手段が接続されている時に前記アプリケーションが前記情報単位アクセス手段に対して前記情報単位へのアクセスを依頼した場合、前記情報単位の暗号解除を前記暗号解除手段に指令を与える
    ことを特徴とする放送受信装置。
  12. 請求項10記載の放送受信装置であって、
    第一のアプリケーションが前記情報単位アクセス手段に対して第一の情報単位へのアクセスを依頼し、前記暗号解除手段が前記情報単位アクセス手段の依頼により前記第一の情報単位の暗号解除を行っている状況で、第二のアプリケーションが前記情報単位アクセス手段に対して第二の情報単位へのアクセスを依頼した時に、前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令してから前記第二の情報単位の暗号解除を前記暗号解除手段に指令する
    ことを特徴とする放送受信装置。
  13. 請求項12記載の放送受信装置であって、
    前記暗号解除制御手段は、前記第一の情報単位の暗号解除の停止を前記暗号解除手段に指令した後、前記第一の情報単位の暗号解除が停止されたことを前記第一のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  14. 請求項10記載の放送受信装置であって、
    前記暗号解除手段は、第一の情報単位の暗号解除を行っている状況で、前記暗号解除制御手段から第二の情報単位の暗号解除を指令された時、前記第一の情報単位の暗号解除を停止し、前記第二の情報単位の暗号解除を開始する
    ことを特徴とする放送受信装置。
  15. 請求項10記載の放送受信装置であって、
    前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、
    前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高いまたは等しければ、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する
    ことを特徴とする放送受信装置。
  16. 請求項15記載の放送受信装置であって、
    前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止する
    ことを特徴とする放送受信装置。
  17. 請求項16記載の放送受信装置であって、
    前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  18. 請求項10記載の放送受信装置であって、
    前記アプリケーションの優先度を保持するアプリ優先度保持手段を備え、
    前記暗号解除制御手段は、第一のアプリケーションが前記情報単位アクセス手段に対して情報単位アクセスを依頼している状況で、第二のアプリケーションが前記情報単位アクセス手段に対し情報単位アクセスを依頼した場合、前記アプリ優先度保持手段が保持する前記第一のアプリケーションの優先度と、前記第二のアプリケーションの優先度を比較し、前記第二のアプリケーションの優先度が前記第一のアプリケーションの優先度より高い時、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する
    ことを特徴とする放送受信装置。
  19. 請求項18記載の放送受信装置であって、
    前記暗号解除制御手段は、前記第二のアプリケーションが指定した情報単位の暗号解除を、前記暗号解除手段に指令する前に、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止する
    ことを特徴とする放送受信装置。
  20. 請求項19記載の放送受信装置であって、
    前記暗号解除制御手段は、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位の暗号解除を停止した後、前記第一のアプリケーションが前記情報単位アクセス手段に対してアクセスを依頼している情報単位を暗号解除が停止されたことを前記第一のアプリケーションに通知する
    ことを特徴とする放送受信装置。
  21. 請求項1記載の放送受信装置であって、
    前記情報単位はエレメンタリーストリームである
    ことを特徴とする放送受信装置。
  22. 請求項10記載の放送受信装置であって、
    前記情報単位はエレメンタリーストリームである
    ことを特徴とする放送受信装置。
  23. 請求項10記載の放送受信装置であって、
    情報単位アクセス手段は、映像再生を行うために前記情報単位にアクセスする映像再生手段である
    ことを特徴とする放送受信装置。
  24. 請求項10記載の放送受信装置であって、
    情報単位アクセス手段は、音声再生を行うために前記情報単位にアクセスする音声再生手段である
    ことを特徴とする放送受信装置。
  25. 請求項10記載の放送受信装置であって、
    情報単位アクセス手段は、前記アプリケーションをダウンロードするために前記情報単位にアクセスするアプリケーションダウンロード手段である
    ことを特徴とする放送受信装置。
  26. 請求項10記載の放送受信装置であって、
    情報単位アクセス手段は、アプリケーションが利用するデータを取得するために前記情報単位にアクセスするデータ取得手段である
    ことを特徴とする放送受信装置。
  27. 請求項1記載の放送受信装置であって、
    前記サービスに含まれる情報単位の少なくとも1つは前記サービスの実行時に再生される映像情報を含む
    ことを特徴とする放送受信装置。
  28. 請求項1記載の放送受信装置であって、
    前記サービスに含まれる情報単位の少なくとも1つは前記サービスの実行時に再生される音声情報を含む
    ことを特徴とする放送受信装置。
  29. 請求項1記載の放送受信装置であって、
    前記サービスに含まれる情報単位の少なくとも1つはアプリケーションを含む
    ことを特徴とする放送受信装置。
  30. 請求項1記載の放送受信装置であって、
    前記サービスに含まれる情報単位の少なくとも1つは前記サービスに含まれるアプリケーションが利用するデータを含む
    ことを特徴とする放送受信装置。


JP2004197338A 2003-08-29 2004-07-02 放送受信装置 Pending JP2005102150A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004197338A JP2005102150A (ja) 2003-08-29 2004-07-02 放送受信装置
US10/927,245 US7584356B2 (en) 2003-08-29 2004-08-27 Broadcast receiving apparatus
CNB2004100748254A CN100479521C (zh) 2003-08-29 2004-08-30 广播接收装置
KR1020040068510A KR20050021970A (ko) 2003-08-29 2004-08-30 방송 수신 장치
EP04020515A EP1511297A3 (en) 2003-08-29 2004-08-30 Broadcast receiving apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003307847 2003-08-29
US49900403P 2003-09-02 2003-09-02
JP2004197338A JP2005102150A (ja) 2003-08-29 2004-07-02 放送受信装置

Publications (1)

Publication Number Publication Date
JP2005102150A true JP2005102150A (ja) 2005-04-14

Family

ID=34108601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004197338A Pending JP2005102150A (ja) 2003-08-29 2004-07-02 放送受信装置

Country Status (5)

Country Link
US (1) US7584356B2 (ja)
EP (1) EP1511297A3 (ja)
JP (1) JP2005102150A (ja)
KR (1) KR20050021970A (ja)
CN (1) CN100479521C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310553A (ja) * 2007-06-14 2008-12-25 Panasonic Corp デジタル放送受信機及びデジタル放送受信システム
WO2016132898A1 (ja) * 2015-02-17 2016-08-25 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132215B2 (en) * 2003-10-27 2012-03-06 Panasonic Corporation Apparatus for receiving broadcast signal
US8843978B2 (en) 2004-06-29 2014-09-23 Time Warner Cable Enterprises Llc Method and apparatus for network bandwidth allocation
JP4690696B2 (ja) * 2004-10-29 2011-06-01 株式会社東芝 デジタル放送受信装置および方法
CA2587362A1 (en) * 2004-12-08 2006-06-15 Matsushita Electric Industrial Co., Ltd. Digital broadcast recording apparatus
KR101042850B1 (ko) * 2005-01-12 2011-06-17 삼성전자주식회사 디지털 멀티미디어 방송 수신 단말기에서 특정 프로그램의방송 채널을 검색하는 방법
JPWO2006077882A1 (ja) * 2005-01-19 2008-06-19 松下電器産業株式会社 放送受信装置
US7567565B2 (en) * 2005-02-01 2009-07-28 Time Warner Cable Inc. Method and apparatus for network bandwidth conservation
WO2006082858A1 (ja) * 2005-02-01 2006-08-10 Matsushita Electric Industrial Co., Ltd. Java限定受信装置
CA2607860A1 (en) * 2005-06-06 2006-12-14 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus
US7649949B2 (en) * 2005-07-28 2010-01-19 Sony Corporation Multipurpose television module
US7593469B2 (en) * 2005-07-28 2009-09-22 Sony Corporation OCAP engine module
US20070091919A1 (en) * 2005-10-24 2007-04-26 Sandoval Francis R Method and system of supporting enhanced television signaling
US20090172764A1 (en) * 2005-12-07 2009-07-02 Matsushita Electric Industrial Co., Ltd. Broadcast receiving device, broadcast receiving method and data broadcast screen presentation program
CA2634024A1 (en) * 2005-12-22 2007-06-28 Matsushita Electric Industrial Co. Ltd. Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
US8170065B2 (en) 2006-02-27 2012-05-01 Time Warner Cable Inc. Methods and apparatus for selecting digital access technology for programming and data delivery
US8458753B2 (en) 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
JP4953753B2 (ja) * 2006-10-17 2012-06-13 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
EP1921857A1 (fr) * 2006-11-09 2008-05-14 SmarDTV S.A. Module de contrôle d'accès et de décryption pour unité hôte
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
KR20090019579A (ko) * 2007-08-21 2009-02-25 삼성전자주식회사 스크램블된 영상 제공방법, 이를 적용한 디스크램블 카드및 영상기기
US8561116B2 (en) 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
US9071859B2 (en) 2007-09-26 2015-06-30 Time Warner Cable Enterprises Llc Methods and apparatus for user-based targeted content delivery
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US8813143B2 (en) 2008-02-26 2014-08-19 Time Warner Enterprises LLC Methods and apparatus for business-based network resource allocation
KR20100070667A (ko) * 2008-12-18 2010-06-28 삼성전자주식회사 셋톱박스에서 초과 전송 스트림을 처리하기 위한 장치 및 방법
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US8813124B2 (en) 2009-07-15 2014-08-19 Time Warner Cable Enterprises Llc Methods and apparatus for targeted secondary content insertion
CN101656866B (zh) * 2009-08-14 2012-05-23 中兴通讯股份有限公司 移动数字多媒体业务的接收方法及终端设备及接收装置
SG181611A1 (en) * 2009-12-14 2012-07-30 Sumitomo Electric Networks Inc Content reception apparatus, content playback apparatus, content reception and playback apparatus, content reception method, and program
US8701138B2 (en) 2010-04-23 2014-04-15 Time Warner Cable Enterprises Llc Zone control methods and apparatus
US9078049B2 (en) * 2010-09-13 2015-07-07 Rovi Technologies Corporation Protection of internet delivered media
US8612623B2 (en) * 2010-09-13 2013-12-17 Rovi Technologies Corporation Protection of delivered media
JP5970160B2 (ja) * 2011-01-31 2016-08-17 日本放送協会 受信装置、送信装置、放送システム及びプログラム
US20170005993A9 (en) * 2012-02-08 2017-01-05 Vixs Systems, Inc. Content access device with programmable interface and methods for use therewith
US9078040B2 (en) 2012-04-12 2015-07-07 Time Warner Cable Enterprises Llc Apparatus and methods for enabling media options in a content delivery network
BR112013033878A2 (pt) * 2012-05-10 2017-02-14 Sony Corp aparelho de recepção, método de recepção de um aparelho de recepção, programa, aparelho de transmissão, e, método de transmissão de um aparelho de transmissão
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
CN103875253B (zh) * 2012-08-21 2018-05-22 索尼公司 信息处理设备、信息处理方法、程序和服务器设备
US8862155B2 (en) 2012-08-30 2014-10-14 Time Warner Cable Enterprises Llc Apparatus and methods for enabling location-based services within a premises
US9131283B2 (en) 2012-12-14 2015-09-08 Time Warner Cable Enterprises Llc Apparatus and methods for multimedia coordination
CN108495193B (zh) * 2013-11-13 2021-01-08 麦克赛尔株式会社 广播接收装置
US10028025B2 (en) 2014-09-29 2018-07-17 Time Warner Cable Enterprises Llc Apparatus and methods for enabling presence-based and use-based services
US10586023B2 (en) 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US11212593B2 (en) 2016-09-27 2021-12-28 Time Warner Cable Enterprises Llc Apparatus and methods for automated secondary content management in a digital network
US10911794B2 (en) 2016-11-09 2021-02-02 Charter Communications Operating, Llc Apparatus and methods for selective secondary content insertion in a digital network
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2946640B2 (ja) 1990-05-29 1999-09-06 ソニー株式会社 衛星放送チューナ内蔵モニタ装置
UA55489C2 (uk) 1997-10-07 2003-04-15 Каналь+ Сосьєте Анонім Пристрій для багатопотокової обробки даних (варіанти)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310553A (ja) * 2007-06-14 2008-12-25 Panasonic Corp デジタル放送受信機及びデジタル放送受信システム
WO2016132898A1 (ja) * 2015-02-17 2016-08-25 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法
JPWO2016132898A1 (ja) * 2015-02-17 2017-11-30 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法
US10433016B2 (en) 2015-02-17 2019-10-01 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method
US10880608B2 (en) 2015-02-17 2020-12-29 Sony Corporation Reception apparatus, reception method, transmission apparatus, and transmission method

Also Published As

Publication number Publication date
EP1511297A2 (en) 2005-03-02
CN1592406A (zh) 2005-03-09
CN100479521C (zh) 2009-04-15
US7584356B2 (en) 2009-09-01
EP1511297A3 (en) 2005-11-30
KR20050021970A (ko) 2005-03-07
US20050047596A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
JP2005102150A (ja) 放送受信装置
KR101059682B1 (ko) 정보 처리 장치
KR101051525B1 (ko) 표시 처리 방법 및 표시 처리 장치
RU2159015C2 (ru) Способ передачи программной информации по системе, включающей группу каналов передачи, устройство для его осуществления, устройство для приема сжатых аудио/видео пакетных сигналов и способ его работы
US7590331B2 (en) Broadcast recording apparatus
JP2008543123A (ja) 放送受信端末
JP2008546220A (ja) コンテンツ再生装置
WO2007072958A1 (en) Content management system
WO2007072957A1 (en) Recording apparatus with remaining capacity detection unit
US20090222867A1 (en) Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
KR20080015083A (ko) 기록 및 재생 장치, 기록 및 재생 방법
WO2009050901A1 (en) Content processing device and content processing method
KR20080015087A (ko) 방송 기록 및 재생 장치와 그 방법
KR20070100725A (ko) 다운로드 실행 장치
KR20070095751A (ko) 방송 수신장치
KR101026567B1 (ko) 표시 처리 방법 및 표시 처리 장치
EP1796388A1 (en) Smart card with data storage, set-top box, portable player for operating smart card with data storage and method for manufacturing smart card with data storage
KR101144461B1 (ko) 서비스 실행 장치
CA2607860A1 (en) Recording and reproduction apparatus
JP2006333490A (ja) 放送記録再生装置
JP2009094702A (ja) 操作履歴を記憶する情報処理装置
KR100641660B1 (ko) 리시버/디코더에서의 데이터 관리
US20060083375A1 (en) Apparatus and method for controlling recording operation
JP2005073239A (ja) サービス実行装置
JP2005071330A (ja) 情報処理装置