KR20050021970A - 방송 수신 장치 - Google Patents

방송 수신 장치 Download PDF

Info

Publication number
KR20050021970A
KR20050021970A KR1020040068510A KR20040068510A KR20050021970A KR 20050021970 A KR20050021970 A KR 20050021970A KR 1020040068510 A KR1020040068510 A KR 1020040068510A KR 20040068510 A KR20040068510 A KR 20040068510A KR 20050021970 A KR20050021970 A KR 20050021970A
Authority
KR
South Korea
Prior art keywords
decryption
service
information unit
information
application
Prior art date
Application number
KR1020040068510A
Other languages
English (en)
Inventor
스즈키다카아키
Original Assignee
마쯔시다덴기산교 가부시키가이샤
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 마쯔시다덴기산교 가부시키가이샤 filed Critical 마쯔시다덴기산교 가부시키가이샤
Publication of KR20050021970A publication Critical patent/KR20050021970A/ko

Links

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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

프로그램이 방송 신호 내의 암호화된 정보에 액세스할 시에, 방송 수신 장치(2100)가 암묵적으로 암호 해제를 한다. 본 발명에서의 방송 수신 장치(2100)는 정보 단위마다 암호 해제를 행하는 디스크램블러(2104) 등을 구비하고, 하나 이상의 정보 단위를 포함하는 서비스를 실행하는 동시에, 실행하는 서비스를 추가하거나, 실행하는 서비스를 삭제하거나, 디스크램블러(2104)를 이용하여 하나 이상의 정보 단위의 암호 해제의 제어를 하기도 한다.

Description

방송 수신 장치{BROADCAST RECEIVING APPARATUS}
본 발명은, 방송을 수신하는 방송 수신 장치에 관한 것이다. 특히, 방송 수신 장치에 있어서, 암호화된 방송 신호를 참조하는 프로그램을 실행하는 기기에 관한 것이다.
방송 신호는 다종 다양한 정보를 포함하여 방송국에서 방송된다. 이들 정보 중에는, 사용자마다 액세스 권한이 설정되는 것이 있다. 예를 들면, 스포츠 채널이나 영화 채널 등에 있어서, 계약을 맺고 있는 사용자에게만 시청가능한 영상 음성 정보를 전송한다.
이러한 형태를 실현하는 기구로서, CAS(Conditional Access System)가 도입된다. 방송국은 특정한 사용자에게만 액세스 가능한 정보에 대해 암호화 처리를 실시하고, 그 데이터를 방송 신호에 실어 전송한다. 동시에, 방송국은, 암호 해제에 필요한 키, 특정 사용자에 대하여 전송하는 계약 정보 등의 부가 정보를, 암호화된 정보와 함께 전송한다.
방송 수신 장치는, 사용자가 암호화된 정보에 액세스할 때, 사용자가 그 정보에 액세스하는 권한을 유지하고 있는지 여부를 판단하여, 가능하면 방송 수신 장치에 존재하는 디스크램블러라고 불리는 디바이스를 이용하여 암호 해제를 하고, 그 후, 암호 해제된 정보에 액세스한다.
이러한 환경에서, 방송 수신 장치는 사용자의 액세스 권한을 판단할 필요가 있는데, 나아가 「어떤 정보를」「어느 타이밍에서」 암호 해제할지를 판단할 필요가 있다.
일본국 특개평 4-32392호 공보에는, 방송 수신 장치가 암호화된 채널을 기억해 두고, 사용자가 채널을 선택하였을 때에, 그것이 암호화된 채널이면, 자동적으로 방송 수신 장치 외부에 접속된 외부 디스크램블러를 통과시키는 수법에 관해서 상술되어 있다. 이 특허에 있어서는, 「선택된 채널을」「선택 시에」암호 해제를 한다.
현재, 여러 지역에서 프로그램을 방송 수신 장치 상에서 실행하는 환경에 관한 사양이 책정되어, 운용되고 있다. 예를 들면, DVB-MHP(Digital Video Broadcasting-Multimedia Home Platform)이라고 불리는 사양이 유럽에서 책정되어, 이미 사양에 준거한 운용이 개시되고 있다. 또한 OCAP(OpenCable Application Platform)라고 불리는 케이블 방송 환경에 대응하는 사양이 미국에서 책정되어, 2005년에 운용 개시될 예정이다. 이러한 환경에서는, 방송 수신 장치 상에서 실행되는 프로그램은, 방송 수신 장치 상에 존재하는 디바이스를 이용하여, 자유롭게 방송 신호 내의 정보에 액세스하는 것이 가능하다. 예를 들면, 튜너 디바이스를 이용하여 방송 수신 장치가 수신하는 MPEG2 트랜스포트 스트림을 변경하는 것이 가능하다. 예를 들면, AV 디코더 디바이스를 이용하여, 방송 수신 장치가 수신하는 MPEG2 트랜스포트 스트림이 전송하는 영상·음성 정보를 디코드하고, 화면·스피커에 출력하는 것이 가능하다. 예를 들면, 섹션 필터 디바이스를 이용하여, 방송 수신 장치가 수신하는 MPEG2 트랜스포트 스트림이 전송하는 데이터 방송용 데이터 나 프로그램 정보를 취득하는 것이 가능하다.
이러한 환경에서, 프로그램이 액세스하고자 하는 정보가 암호화되어 전송되는 경우가 있다. 그 경우, 암호화된 채로는 방송 수신 장치 상의 디바이스가 정보를 이용할 수 없다. 이 때문에, 암호화된 정보를 암호 해제해야 한다.
하나의 수법으로서, 방송 수신 장치가, 방송 수신 장치 상에서 동작하는 프로그램에 대해, 암호 해제하기 위한 라이브러리(library)를 제공하는 방법이 있다. 프로그램은, 암호화된 정보에 대하여 액세스를 하기 전에, 암호 해제 라이브러리를 이용하여 암호 해제를 개시한다. 이 방법에서는, 프로그램 자신이 암호 해제의 타이밍을 판단한다. 그러나, 이 방법은 프로그램 자신이, 액세스하고 싶은 정보의 암호 해제에 관해서 고려하지 않으면 안된다. 암호 해제에는 미리 계약한 채널에 관한 암호 해제를 하는 형태뿐만 아니라, 프로그램 단위 과금을 하는 PPV(Pay-Per-View) 등의 그 시점에서 프로그램의 구입을 하는 형태도 있어, 복잡한 처리를 필요로 하는 경우가 있다. 이 때문에, 프로그램 자체의 설치가 보다 복잡하게 된다는 결점이 있다.
본 발명에서는, 방송 수신 장치 상에서 동작하는 프로그램이 방송 신호 내의 암호화된 정보에, 보다 용이하게 액세스하는 수단을 제공한다.
그 하나의 형태는, 프로그램이 방송 신호 내의 암호화된 정보에 액세스할 때에, 방송 수신 장치가 암묵적으로 암호 해제를 하는 것이다.
또 하나의 형태는, 방송 수신 장치가, 프로그램에 대하여, 용이한 암호 해제 수단을 제공하는 것이다.
즉, 본 발명이 기술하는 방송 수신 장치는, 하나 이상의 정보 단위를 포함하는 서비스의 실행 의뢰를 접수하여, 실행하는 서비스 실행 수단과, 암호화된 정보 단위를 암호 해제하는 암호 해제 수단과, 방송 수신 장치 외부로부터 다운로드된 어플리케이션이 상기 서비스 실행 수단에 서비스의 실행을 의뢰하였을 때, 상기 서비스에 포함되는, 모든 암호화된 정보 단위의 암호 해제를 개시하도록 상기 암호 해제 수단에 지령을 부여하는 암호 해제 제어 수단을 구비하는 것으로, 서비스가 실행되었을 시에 서비스가 포함하는 모든 암호화된 정보 단위가 암호 해제되는 것이 가능해지고, 그 이후, 서비스가 실행되는 동안, 서비스가 포함하는 정보 단위에의 액세스가 가능해진다.
또한, 하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 구비하고, 제1 어플리케이션으로부터 제1 서비스의 실행이 의뢰된 상기 서비스 실행 수단이 상기 제1 서비스를 실행하고, 상기 암호 해제 수단이 제1 서비스가 포함하는 정보 단위의 암호 해제를 하고 있는 상태에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에, 제2 서비스에 포함되는 암호화된 정보 단위에의 액세스를 의뢰하였을 때, 상기 암호 해제 제어 수단은, 상기 제2 서비스가 포함하는 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지함으로써, 상기 제2 어플리케이션이 실행되지 않은 서비스가 포함하는 암호화된 정보 단위에 액세스하였을 때에, 암호 해제의 불가능성을 아는 것이 가능해진다.
또한, 하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 구비하고, 어플리케이션이 상기 정보 단위 액세스 수단에, 상기 서비스 실행 수단이 실행되지 않은 서비스에 포함되는 정보 단위에의 액세스를 의뢰하였을 때, 상기 암호 해제 제어 수단은, 상기 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지함으로써, 제2 어플리케이션이, 암호 해제가 불가능한 것을 아는 것이 가능해진다.
또한, 상기 암호 해제 수단은 상기 방송 수신 장치에 착탈 가능하고, 상기 암호 해제 제어 수단은, 상기 방송 수신 장치와 상기 암호 해제 수단이 접속되어 있고, 또한, 상기 어플리케이션이 상기 서비스 실행 수단에 서비스의 실행을 의뢰하였을 때, 상기 서비스에 포함되는, 모든 암호화된 정보 단위의 암호 해제를 개시하도록 상기 암호 해제 수단에 지령을 부여함으로써, 착탈가능한 상기 암호 해제 수단을 이용해도 정보 단위의 암호 해제를 하는 것이 가능해진다.
또한, 하나 이상의 정보 단위로 액세스하는 정보 단위 액세스 수단을 구비하고, 제1 어플리케이션으로부터 제1 서비스의 실행이 의뢰된 상기 서비스 실행 수단이 상기 제1 서비스를 실행하고, 상기 암호 해제 수단이 제1 서비스가 포함하는 정보 단위의 암호 해제를 하고 있는 상태에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에, 제2 서비스에 포함되는 암호화된 정보 단위에의 액세스를 의뢰하였을 때, 상기 암호 해제 제어 수단은, 상기 제2 서비스가 포함하는 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지하는 것을 특징으로 하는 것으로, 제2 어플리케이션이, 암호 해제가 불가능한 것을 아는 것이 가능해진다.
또한, 하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 구비하고, 어플리케이션이 상기 정보 단위 액세스 수단에, 상기 서비스 실행 수단이 실행되지 않는 서비스에 포함되는 정보 단위에의 액세스를 의뢰하였을 때, 상기 암호 해제 제어 수단은, 상기 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지함으로써, 제2 어플리케이션이, 암호 해제가 불가능한 것을 아는 것이 가능해진다.
또한, 제1의 어플리케이션으로부터 제1 서비스의 실행이 의뢰된 상기 서비스 실행 수단이 상기 제1 서비스를 실행하고, 상기 암호 해제 수단이 제1 서비스가 포함하는 정보 단위의 암호 해제를 하고 있는 상태에서, 제2 어플리케이션이 상기 서비스 실행 수단에 제2 서비스의 실행을 의뢰하였을 때, 상기 암호 해제 제어 수단은, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령하고, 상기 제2 서비스가 포함하는 모든 암호화된 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령함으로써, 상기 제1 서비스의 암호 해제를 정지하고 나서 상기 제2 서비스의 암호 해제를 개시하는 것이 가능해진다.
또한, 상기 암호 해제 제어 수단은, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제의 정지를 상기 암호 해제 제어 수단에 지령한 후, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지함으로써, 상기 제1 서비스의 암호 해제가 정지된 것을 상기 제1 어플리케이션이 아는 것을 가능하게 한다.
또한, 상기 암호 해제 수단은, 상기 암호 해제 제어 수단으로부터 지령된 제1 서비스가 포함하는 정보 단위의 암호 해제를 하고 있는 상태에서, 제2 서비스가 포함하는 정보 단위의 암호 해제의 지령을 상기 암호 해제 제어 수단으로부터 수취했을 때, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제를 정지하고, 상기 제2 서비스가 포함하는 정보 단위의 암호 해제를 개시함으로써, 상기 제1 서비스의 암호 해제를 정지하고 나서 상기 제2 서비스의 암호 해제를 개시하는 것이 가능해진다.
하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단과, 암호화된 정보 단위를 암호 해제하는 암호 해제 수단과, 방송 수신 장치 외부로부터 다운로드된 어플리케이션이 상기 정보 단위 액세스 수단에, 상기 정보 단위에의 액세스를 의뢰하였을 때, 상기 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령을 부여하는 암호 해제 제어 수단을 구비함으로써, 상기 어플리케이션이 지시하지 않더라도, 상기 정보 단위의 암호 해제가 암묵적으로 개시되는 것이 가능해진다.
또한, 상기 암호 해제 수단은 상기 방송 수신 장치에 착탈가능하고, 상기 암호 해제 제어 수단은, 상기 방송 수신 장치와 상기 암호 해제 수단이 접속되어 있을 때에 상기 어플리케이션이 상기 정보 단위 액세스 수단에 대해 상기 정보 단위에의 액세스를 의뢰한 경우, 상기 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령을 부여함으로써, 착탈 가능한 상기 암호 해제 수단을 이용한 경우도, 상기 어플리케이션이 직접 지시하지 않아도, 상기 정보 단위의 암호 해제가 암묵적으로 개시되는 것이 가능해진다.
또한, 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 제1 정보 단위에의 액세스를 의뢰하고, 상기 암호 해제 수단이 상기 정보 단위 액세스 수단의 의뢰에 의해 상기 제1 정보 단위의 암호 해제를 하고 있는 상황에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에 대해 제2 정보 단위에의 액세스를 의뢰하였을 때에, 상기 암호 해제 제어 수단은, 상기 제1 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령하고 나서 상기 제2 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령함으로써, 상기 암호 해제 제어 수단이 명시적으로 상기 제1 정보 단위의 암호 해제 정지를 지시하고 나서, 상기 제2 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
또한, 상기 암호 해제 제어 수단은, 상기 제1 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령한 후, 상기 제1 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지함으로써, 상기 제1 어플리케이션은, 제1 정보 단위의 암호 해제가 정지된 타이밍을 아는 것이 가능해진다.
또한, 상기 암호 해제 수단은, 제1 정보 단위의 암호 해제를 하고 있는 상황에서, 상기 암호 해제 제어 수단으로부터 제2 정보 단위의 암호 해제가 지령되었을 때, 상기 제1 정보 단위의 암호 해제를 정지하고, 상기 제2 정보 단위의 암호 해제를 개시하는 것으로, 상기 제1 정보 단위의 암호 해제를 정지하고 나서, 상기 제2 암호 해제를 개시하는 것이 가능해진다.
또한, 상기 어플리케이션의 우선도를 유지하는 어플리케이션 우선도 유지 수단을 구비하고, 상기 암호 해제 제어 수단은, 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 정보 단위 액세스를 의뢰하고 있는 상황에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 정보 단위 액세스를 의뢰한 경우, 상기 어플리케이션 우선도 유지 수단이 유지하는 상기 제1 어플리케이션의 우선도와, 상기 제2 어플리케이션의 우선도를 비교해, 상기 제2 어플리케이션의 우선도가 상기 제1 어플리케이션의 우선도보다 높거나 또는 같으면, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제 수단에 지령함으로써, 상기 제1 어플리케이션의 우선도보다도 상기 제2 어플리케이션의 우선도쪽이 높거나 같으면, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제가 우선되는 것이 가능해진다.
또한, 상기 암호 해제 제어 수단은, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제 수단에 지령하기 전에, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지함으로써, 상기 제1 어플리케이션이 지정한 정보 단위의 암호 해제를 정지하고 나서, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
또한, 상기 암호 해제 제어 수단은, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지한 후, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 액세스를 의뢰하고 있는 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지하는 것으로, 상기 제1 어플리케이션은, 액세스를 의뢰하고 있는 정보 단위의 암호 해제가 정지된 것을 아는 것이 가능해진다.
또한, 상기 어플리케이션의 우선도를 유지하는 어플리케이션 우선도 유지 수단을 구비하고, 상기 암호 해제 제어 수단은, 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 정보 단위 액세스를 의뢰하고 있는 상황에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에 대해 정보 단위 액세스를 의뢰한 경우, 상기 어플리케이션 우선도 유지 수단이 유지하는 상기 제1 어플리케이션의 우선도와, 상기 제2 어플리케이션의 우선도를 비교해, 상기 제2 어플리케이션의 우선도가 상기 제1 어플리케이션의 우선도보다 높을 때, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제 수단에 지령함으로써, 상기 제1 어플리케이션의 우선도보다도 상기 제2 어플리케이션의 우선도쪽이 높으면, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제가 우선되는 것이 가능해진다.
또한, 상기 암호 해제 제어 수단은, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제 수단에 지령하기 전에, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지함으로써, 상기 제1 어플리케이션이 지정한 정보 단위의 암호 해제를 정지하고 나서, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
상기 암호 해제 제어 수단은, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지한 후, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대해 액세스를 의뢰하고 있는 정보 단위가 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지함으로써, 상기 제1 어플리케이션이, 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하는 정보 단위의 암호 해제가 정지한 것을 아는 것이 가능해진다.
또한, 상기 정보 단위는 엘리멘트리(elementary) 스트림으로, 엘리멘트리 스트림의 암호 해제를 가능하게 한다.
또한, 정보 단위 액세스 수단은, 영상 재생을 하기 위해서 상기 정보 단위에 액세스하는 영상 재생 수단으로, 영상 재생 시에 암묵적으로 상기 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
또한, 정보 단위 액세스 수단은, 음성 재생을 하기 위해서 상기 정보 단위에 액세스하는 음성 재생 수단으로, 음성 재생 시에 암묵적으로 상기 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
정보 단위 액세스 수단은, 상기 어플리케이션을 다운로드하기 위해서 상기 정보 단위에 액세스하는 어플리케이션 다운로드 수단으로, 어플리케이션 다운로드 개시 시에 암묵적으로 상기 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
또한, 정보 단위 액세스 수단은, 어플리케이션이 이용하는 데이터를 취득하기 위해서 상기 정보 단위에 액세스하는 데이터 취득 수단으로, 데이터 취득 시에 암묵적으로 상기 정보 단위의 암호 해제를 개시하는 것이 가능해진다.
또한, 상기 서비스에 포함되는 정보 단위의 적어도 1개는 상기 서비스의 실행 시에 재생되는 영상 정보를 포함하는 것으로, 상기 서비스 선택 시에, 상기 서비스가 포함하는, 영상 정보를 포함하는 상기 정보 단위의 암호 해제를 암묵적으로 개시하는 것이 가능해진다.
또한, 상기 서비스에 포함되는 정보 단위의 적어도 1개는 상기 서비스의 실행 시에 재생되는 음성 정보를 포함하는 상기 서비스 선택 시에, 상기 서비스가 포함하는, 음성 정보를 포함함으로써, 상기 정보 단위의 암호 해제를 암묵적으로 개시하는 것이 가능해진다.
또한, 상기 서비스에 포함되는 정보 단위의 적어도 1개는 어플리케이션을 포함하는 것으로, 상기 서비스 선택 시에, 상기 서비스가 포함하는, 상기 어플리케이션을 포함하는 상기 정보 단위의 암호 해제를 암묵적으로 개시하는 것이 가능해진다.
또한, 상기 서비스에 포함되는 정보 단위의 적어도 1개는 상기 서비스에 포함되는 어플리케이션이 이용하는 데이터를 포함하는 것으로, 상기 서비스 선택 시에, 상기 서비스가 포함하는, 데이터를 포함하는 상기 정보 단위의 암호 해제를 암묵적으로 개시하는 것이 가능해진다.
<발명을 실시하기 위한 최선의 형태>
(실시의 형태1)
본 발명은 대상이 되는 방송 시스템으로서, 위성 시스템, 지상파 시스템, 케이블 시스템의 3종류의 운용 형태를 상정한다. 위성 시스템은 위성을 이용하여 방송 신호를 방송 수신 장치에 전송하는 형태, 지상파 시스템은 지상파 신호 송출 장치를 이용하여 방송 신호를 방송 수신 장치에 전송하는 형태, 케이블 시스템은 케이블 헤드 엔드를 이용하여 방송 신호를 방송 수신 장치에 전송하는 형태이다. 본 발명은 각 방송 시스템의 차이와 직접적인 관계를 가지지 않으므로, 방송 시스템에 상관없이 적용 가능하다.
본 발명에 관한 방송 시스템의 실시 형태를, 도면을 참조하면서 설명한다. 도 1은 방송 시스템을 구성하는 장치의 관계를 나타낸 블록도이고, 방송국측 시스템(101) 및 3개의 단말 장치A(111), 단말 장치B(112), 단말 장치C(113)로 구성된다. 방송국측 시스템∼각 단말 장치 사이의 결합(121)에 대해서는 유선/무선의 양 경우가 존재한다. 예를 들면 케이블 시스템에서는, 방송국측 시스템∼각 단말 장치 사이는 유선으로 결합된다. 한편, 위성/지상파 시스템에 있어서의 방송국측 시스템∼각 단말 장치 사이에는, 하행 (방송국측 시스템으로부터 각 단말 장치로) 방향으로는 유선 결합은 존재하지 않고, 방송 신호는 전파를 이용하여 전송된다. 상행(각 단말 장치로부터 방송국측 시스템에) 방향에 관해서는 전화 회선, 유선 인터넷 등을 이용한 유선 결합, 무선 통신을 이용한 무선 결합의 양 경우가 있고, 각 단말 장치는 사용자 입력 등의 정보를 방송국측 시스템에 송신한다. 본 실시 형태에서는, 1개의 방송국측 시스템에 대해 3개의 단말 장치가 결합되어 있는데, 임의의 수의 단말 장치를 방송국측 시스템에 결합해도, 본 발명은 적용 가능하다.
방송국측 시스템(101)은, 다수의 단말 장치에 대해 영상·음성·데이터 방송용 데이터 등의 정보를 방송 신호에 포함해 송신한다. 방송 신호는 방송 시스템의 운용 기정이나, 방송 시스템이 운용되는 국·지역의 법률에 의해 정해진 주파수 대역 내의 주파수를 이용하여 전송된다.
예로서, 케이블 시스템에 관한 방송 신호 전송 기정의 예를 나타낸다. 본 예에 나타나는 케이블 시스템에서는, 방송 신호 전송에 이용되는 주파수 대역은, 그 데이터의 내용과 전송 방향(상행, 하행)에 대해서, 분할하여 이용된다. 도 2는 주파수 대역의 분할의 일례를 표시하는 표를 도시한 도면이다. 주파수 대역은, Out Of Band(약칭 OOB)와 In-Band의 2종류로 크게 나뉘어진다. 5∼130MHz가 OOB에 할당되어, 주로 방송국측 시스템(101)과 단말 장치A(111), 단말 장치B(112), 단말 장치C(113) 사이의 데이터의 교환에 사용된다. 130MHz∼864MHz는 In-Band에 할당되어, 주로, 영상·음성을 포함하는 방송 채널에 사용된다. OOB에서는 QPSK 변조 방식이, In-Band는 QAM64 또는 QAM256 변조 방식이 사용된다. 변조 방식 기술에 대해서는, 본 발명에 관여가 적은 공지 기술이므로, 상세한 설명은 생략한다. 도 3은, OOB 주파수 대역의 더욱 상세한 사용의 일례를 도시한 도면이다. 70MHz∼74MHz는 방송국측 시스템(101)으로부터의 데이터 송신에 사용되고, 모든 단말 장치A(111), 단말 장치B(112), 단말 장치C(113)가, 방송국측 시스템(101)으로부터 동일한 데이터를 수취하게 된다. 한편, 10.0MHz∼10.1MHz는 단말 장치A(111)로부터 방송국측 시스템(101)에의 데이터 송신에 사용되고, 10.1MHz∼10.2MHz는 단말 장치B(112)로부터 방송국측 시스템(101)에의 데이터 송신에 사용되고, 10.2MHz∼10.3MHz는 단말 장치C(113)로부터 방송국측 시스템(101)에의 데이터 송신에 사용된다. 이에 따라, 각 단말 장치 고유의 데이터를 각 단말 장치A(l11), 단말 장치B(112), 단말 장치C(113)로부터 방송국측 시스템(101)에 송신할 수 있다. 도 4는 In-Band의 주파수대에 대한 사용의 일례를 도시한 도면이다. 150∼156MHz와 156∼162MHz는 각각 텔레비젼 채널 1과 텔레비젼 채널 2에 할당되고, 이후, 6MHz 간격으로 텔레비젼 채널이 할당되고 있다. 310MHz 이후는, 1MHz 단위로 라디오 채널에 할당되고 있다. 이들 각 채널은 아날로그 방송으로서 사용하거나 디지털 방송으로서 사용해도 된다. 디지털 방송의 경우는, MPEG2 사양에 의거한 TS 패킷 형식으로 전송되고, 음성이나 영상에 추가하여, 각종 데이터 방송용 데이터나 EPG를 구성하기 위한 프로그램 편성 정보도 송신할 수 있다.
방송국측 시스템(101)은 이들 주파수 대역을 이용하여 단말 장치에 적절한 방송 신호를 송신하므로, QPSK 변조부나 QAM 변조부 등을 갖는다. 또한, 단말 장치로부터의 데이터를 수신하기 위해서, QPSK 복조기를 갖는다. 또한, 방송국측 시스템(101)은 이들 변조부 및 복조기에 관련되는 다양한 기기를 갖는 것으로 생각된다. 그러나, 본 발명은 주로 단말 장치에 관계되므로, 상세한 설명은 생략한다.
단말 장치A(111), 단말 장치B(112), 단말 장치C(113)는 방송국측 시스템(101)으로부터의 방송 신호를 수신하여 재생한다. 또한, 방송국측 시스템(101)에 대해, 각 단말 장치 고유의 데이터를 송신한다. 3개의 단말 장치는, 본 실시 형태에서는 동일한 구성을 취한다.
또한, 본 예에서는 케이블 시스템 운용에 관한 일례를 상세하게 소개하고 있는데, 본 발명은 위성, 지상파 시스템 및 케이블 시스템의 다른 형태에 있어서도 적용 가능하다. 위성 및 지상파 시스템에 있어서의 방송국측 시스템과 각 단말 장치의 결합은, 상기와 같이 유선/무선의 양 경우가 존재하고, 또한 주파수 대역이나 주파수 간격, 변조 방식, 방송국측 시스템의 구성 등은 방송 시스템의 종별이나 운용에 의존해 다르지만, 이들은 본 발명과의 관련성이 없고, 본 발명은 이들이 어떻게 기정되어도 적용 가능하다.
방송국측 시스템(101)은 MPEG2 트랜스포트 스트림을 변조하여 방송 신호에 포함시켜 전송한다. 방송 수신 장치는 방송 신호를 수신하여, 복조하여 MPEG2 트랜스포트 스트림을 재현하고, 그 중에서 필요한 정보를 추출하여 이용한다. 디지털 방송 수신 장치에 존재하는 디바이스의 기능과 접속의 구성을 설명하기 위해서, 우선 MPEG2 트랜스포트 스트림의 구성을 간단히 기술한다.
도 5는 TS 패킷의 구성을 나타내는 도면이다. TS 패킷(500)은 188바이트의 길이를 가지고, 헤더(501), 적응 필드(502), 페이로드(payload)(503)로 이루어진다. 헤더(501)는 TS 패킷의 제어 정보를 유지한다. 4바이트의 길이를 가지고, 504로 표시되는 구성을 취한다. 이 중에 “Packet ID(이하 PID)”라고 기술되는 필드를 가지고, 이 PID의 값에 의해서, TS 패킷의 식별을 한다. 적응 필드(502)는 시각 정보 등의 부가적인 정보를 유지한다. 적응 필드(502)의 존재는 필수가 아니라, 존재하지 않는 경우도 있다. 페이로드(503)는 영상·음성이나 데이터 방송용 데이터 등, TS 패킷이 전송하는 정보를 유지한다.
도 6은 MPEG2 트랜스포트 스트림의 모식도이다. TS 패킷(601) 및 TS 패킷(603)은 헤더에 PID(100)를 유지하고, 페이로드에 영상(1)에 관한 정보를 유지한다. TS 패킷(602) 및 TS 패킷(605)은 헤더에 PID(200)를 유지하고, 페이로드에 데이터(1)에 관한 정보를 유지한다. TS 패킷(604)은 헤더에 PID(300)를 유지하고, 페이로드에 음성(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 패킷 분할A(702a), PES 패킷 분할B(702b), PES 패킷 분할C(702c)로 분할되고, 동일 PID를 가지는 3개의 TS 패킷(703∼705)에 의해서 전송된다. 또한, PES 패킷은 운용에 따라서는 영상·음성뿐만 아니라, 서브 타이틀이라고 불리는 자막용 데이터를 전송하는 경우도 있다.
프로그램 편성 정보나 데이터 방송용의 데이터 등의 정보는 MPEG2 섹션이라고 불리는 형식을 이용하여 표현된다. MPEG2 섹션은 실제로 전송될 때, 하나의 TS 패킷이 페이로드보다도 큰 사이즈를 가지는 경우는 분할되어 다수의 TS 패킷의 페이로드에 격납된다. 도 8은 MPEG2 섹션을 전송할 때의 분할예를 나타낸다. MPEG2 섹션(801)은 하나의 TS 패킷 내의 페이로드에 격납하여 전송하기에는 크기 때문에, 섹션 분할(A802a), 섹션 분할(B802b), 섹션 분할(C802c)로 분할되고, 동일 PID를 가지는 3개의 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를 프로그램으로서 정리함으로써, 방송 수신 장치는 2개의 ES를 동시에 재생해야 하는 것을 알 수 있다.
프로그램을 표현하기 위해서, MPEG2에서는 PMT(Program Map Table) 및 PAT(Program Association Table)라고 불리는 2개의 테이블이 이용된다. 상세한 설명은 ISO/IEC 13818-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 패킷 분할A(1302a), PES 패킷 분할B(1302b), PES 패킷 분할C(1302c)로 분할되고, 동일 PID를 가지는 3개의 TS 패킷(1303∼1305)에 의해 전송된다. 결과적으로, TS 패킷(1303∼1305)의 페이로드 부분이 암호화된 형으로 된다.
도 14에 암호화된 MPEG2 섹션이 전송되는 상황을 나타낸다. MPEG2 섹션(1401)은 암호화되고, 또한, 하나의 TS 패킷 내의 페이로드에 격납하여 전송하기에는 크기 때문에, 섹션 분할A(1402a), 섹션 분할B(1402b), 섹션 분할C(1402c)로 분할되고, 동일 PID를 가지는 3개의 TS 패킷(1403∼1405)에 의해서 전송된다. 결과적으로, TS 패킷(1403∼1405)의 페이로드 부분이 암호화된 형으로 된다.
방송 수신 장치는, 암호화된 정보를 이용하기 위해서, 디스크램블러라고 불리는 디바이스를 이용하여 암호 해제를 한다. 디스크램블러는 하나로 1개의 ES에 관한 암호 해제를 하는 것이 가능하다. 방송 수신 장치는 TS 패킷의 TS 패킷 헤더 구성(504)으로 유지되는 transport_scrambling_control에 설정되어 있는 값을 이용하여, 그 TS 패킷이 페이로드에 포함하여 전송하는 PES 패킷 또는 MPEG2 섹션이 암호화되어 있는지 여부를 아는 것이 가능하다. 만약 암호화되어 있으면, 그들 페이로드로 전송되는 PES 패킷 또는 MPEG2 섹션은 디스크램블러에 전송되어, 암호 해제가 행해진다.
방송 수신 장치가 암호 해제를 행하는데 필요한 정보는 2종류가 있다. 「암호 해제 키 등의 암호 해제 정보」및「각 계약자의 계약 정보」이다. 일반적으로, 전자는 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”인 MPEG-2 섹션으로서 구성되어, 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 사양에 관한 간단한 설명을 하였지만, 여기서 단어의 상세한 정의를 한다. 본 발명에 관해서, 「프로그램」이라는 단어가 2종류 존재한다. 하나는 MPEG2 사양에 등장하는 「프로그램」이고, 또 하나는 CPU가 실행하는 코드의 집합이라는 의미에서의「프로그램」이다. 전자에 관해서는, 운용 규정으로 이용되는 「서비스」라는 단어와 동일한 의미이므로, 혼란을 피하기 위해서, 이후, 전자를「서비스」라고 부르고, 후자를 단순히 「프로그램」이라고 부른다. 또한, 후자에 관해서, 특히 Java 언어로 기술된 「프로그램」을 「Java 프로그램」이라고 부른다.
이상, 본 발명에 관한, MPEG2 사양으로 결정되는 몇개의 정보에 관해서 설명을 했다. 이후, 본 실시의 형태의 전제가 되는 하드웨어 구성에 관해서 설명한다.
디지털 방송 수신 장치의 일반적인 하드웨어 구성을 나타내는 블록도를 도 16에 도시한다. 1600은 단말 장치이고, 튜너(1601), TS 디코더(1602), AV 디코더(1603), 스피커(1604), 디스플레이(1605), CPU(1606), 2차 기억부(1607), 1차 기억부(1608), ROM(1609), 입력부(1610)로 구성된다.
튜너(1601)는 CPU(1606)가 지정하는 주파수를 포함하는 튜닝 정보에 따라서, 방송국측 시스템(101) 내에서 변조되어 전송된 방송 신호를 복조하는 디바이스이다. 튜너(1601)가 복조하여 얻어지는 MPEG2 트랜스포트 스트림은 TS 디코더(1602)에 송신된다.
TS 디코더(1602)는, CPU(1606)가 지정하는 PID, 섹션 선별 조건 등의 지정에 따라서 MPEG2 트랜스포트 스트림에서 지정 조건에 합치하는 PES 패킷이나 MPEG2 섹션을 선별하는 기능을 갖는 디바이스이다. TS 디코더(1602)가 선별한 PES 패킷은 AV 디코더(1603)에 전송된다. 또한, TS 디코더(1602)가 선별한 MPEG2 섹션은 1차 기억부(1608)에 DMA(Direct Memory Access) 전송되어, CPU(1606)가 실행하는 프로그램에 의해서 이용된다. 또한, 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)로부터 송신된 음성, 영상을 출력하는 기능을 갖는 디바이스이다.
CPU(1606)는 방송 수신 장치 상에서 동작하는 프로그램을 실행한다. CPU(1606)가 실행하는 프로그램은, ROM(1609)에 포함되는 경우, 방송 신호나 네트워크로부터 다운로드되어 1차 기억부(1608)에 유지되는 경우, 방송 신호나 네트워크로부터 다운로드되어 2차 기억부(1607)에 보존되어 있는 경우 등이 존재한다. 실행하는 프로그램의 지시에 따라, 튜너(1601), TS 디코더(1602), AV 디코더(1603), 스피커(1604), 디스플레이(1605), 2차 기억부(1607), 1차 기억부(1608), ROM(1609), 입력부(1610)를 제어한다.
2차 기억부(1607)는 FLASH-ROM 등의 불휘발성 메모리, HDD(Hard Disk Drive), CD-R나 DVD-R 등의 개서 가능한 미디어 등, 단말 장치(1600)의 전원이 끊길 때에도 정보가 소거되지 않는 기기에 의해서 구성되고, CPU(1606)의 지시에 의해 정보의 보존을 한다. 단말 장치(1600)의 전원이 끊김에 의해서 없어져서는 곤란한 데이터의 보존에 이용된다.
1차 기억부(1608)는 RAM 등에 의해서 구성되고, CPU(1606)나 DMA 가능한 디바이스의 지시에 따라 정보를 일시적으로 저장하는 기능을 갖는 디바이스이다. 1차 기억부(1608)에 유지된 정보는, 단말 장치(1600)의 전원 끊김에 의해서 소거된다.
ROM(1609)은, 개서 불가능한 메모리 디바이스로, 구체적으로는 ROM이나 CD-ROM, DVD 등으로 구성된다. ROM(1609)에는, CPU(1606)가 실행하는 프로그램이 격납되어 있다.
입력부(1610)는 구체적으로는, 프론트 패널이나 리모콘으로 구성되고, 사용자로부터의 입력을 접수한다. 도 17은, 프론트 패널로 입력부(1610)를 구성한 경우의 일례이다. 프론트 패널(1700)은 7개의 버튼, 상측 커서 버튼(1701), 하측 커서 버튼(1702), 좌측 커서 버튼(1703), 우측 커서 버튼(1704), OK 버튼(1705), 취소 버튼(1706), EPG 버튼(1707)을 구비하고 있다. 사용자가 버튼을 누르면, 눌린 버튼의 식별자가, CPU(1606)에 통지된다.
또한, 도 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), CPU(1806), 2차 기억부(1607), 1차 기억부(1608), ROM(1609), 입력부(1610)로 구성된다. 단말 장치(1800)에 탑재되는, 도 16과 동일한 번호로 식별되는 디바이스는 도 16의 경우와 동일한 기능을 가지므로, 설명을 생략한다. 단말 장치(1800)에는 어댑터(1811)가 부여된다.
어댑터(1811)는 디스크램블러를 탑재한다. 도 18의 하드웨어 구성예에 등장하는 어댑터(1811)에는 MPEG2 트랜스포트 스트림을 입력으로 하여, 입력된 MPEG2 트랜스포트 스트림에 포함되는 TS 패킷에 관해서, CPU(1806)가 지정한 PID를 가지는 TS 패킷이 전송하는 PES 패킷 혹은 MPEG2 섹션에 대하여 암호 해제를 하는 하나 이상의 디스크램블러를 유지한다. 어댑터(1811)가 유지하는 디스크램블러를 동작시키기 위해서는 어댑터(1811)에 대해 튜너(1801)가 복조한 MPEG2 트랜스포트 스트림을 입력해야 한다. 그 때문에, 튜너(1801)는 복조한 MPEG2 트랜스포트 스트림을 어댑터(1811)에 입력한다. 어댑터(1811)는 입력된 MPEG2 트랜스포트 스트림 내의, CPU(1806)가 지정한 TS 패킷이 전송하는 PES 패킷 혹은 MPEG2 섹션에 대한 암호 해제를 끝낸 후, MPEG2 트랜스포트 스트림을 TS 디코더(1802)에 송신한다. TS 디코더(1802)는, 도 16에 있어서의 TS 디코더(1602)가 튜너(1601)로부터 입력되는 MPEG2 트랜스포트 스트림에 대해 처리를 할 수 있는 것과 마찬가지로 어댑터(1811)로부터 입력된 MPEG2 트랜스포트 스트림에 대해 처리를 하는 것이 가능하다. CPU(1806)는 단말 장치(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)가 하나씩 밖에 존재하지 않지만, 이들이 다수 존재하는 하드웨어 구성도 존재하는 경우가 있고, 그 경우에 있어서도 본 발명은 적용 가능하다.
어댑터의 제1예로서, 유럽에서 이용되는 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) 내의 CPU(1806)는, DVB-CI 카드에 대해, CA 기술자가 기술된 PMT(CA-PMT)를 바이너리(binary)로 송신함으로써, DVB-CI가 EMM이나 ECM의 조작을 하여, 자동적으로 암호 해제를 개시한다.
어댑터의 제2예로서, 미국 케이블 시스템으로 이용되는 POD(Point Of Deployment)에 관해서 설명한다. POD의 사양은, “OC-SP-HOSTPOD-IF” 사양에 나타난다. 여기서는 간단히 POD에 관해서 설명한다. POD도 DVB-CI와 마찬가지로 카드형의 형태를 취하고, 단말 장치와 PCMCIA 인터페이스를 이용하여 접속된다. 도 19는 POD(1911)가 부여된 단말 장치의 하드웨어 구성을 나타낸다. 단말 장치(1900) 내에 존재하는 디바이스로, 도 16 혹은 도 18과 같은 번호로 식별되는 디바이스는, 도 16 혹은 도 18의 경우와 같은 기능을 가진다. POD(1911)는 디스크램블러를 탑재하고 있고, 도 18에 있어서의 어댑터(1811)와 마찬가지로, 튜너(1901)로부터 MPEG2 트랜스포트 스트림이 입력되고, TS 디코더(1902)에 대해, 암호 해제 처리가 끝난 MPEG2 트랜스포트 스트림을 출력한다. 또한, 미국 케이블 시스템에서는, 도 2, 도 3으로 나타내는 바와 같이, OOB라고 불리는 주파수 대역을 이용하여, 다양한 정보가 상행 및 하행 방향으로 전송되고 있다. 이 때, 방송국측 시스템(101)이 단말 장치에 대해 송출하는 정보의 형식과, 단말 장치(1900)가 해석 가능한 정보의 형식은 다르므로, 그대로는 정보의 교환이 불가능해 진다. POD(1911)는 이들 OOB에서 전송되는 상행, 하행의 정보의 형식 변환을 하는 디바이스를 구비하고 있다. OOB에서 전송되는 정보는 QPSK 변조 방식으로 변조된다. 본 변조 방식은 공지의 기술로, 상세한 설명은 생략한다. 단말 장치는 QPSK 복조기(1912)와 QPSK 변조기(1913)를 구비한다. CPU(1906)는 단말 장치(1900) 내의 디바이스뿐만 아니라, POD(1911) 내의 디바이스를 제어가능하다.
하행 방향의 단말 장치(1900)의 정보 수신에 관한 것으로, 우선 QPSK 복조기(1912)는 OOB로 방송국측 시스템(101)으로부터 송신되어 오는 하행 신호를 복조하고, 생성된 비트 스트림을 POD(1911)에 입력한다. POD(1911)는 비트 스트림이 포함하는 다양한 정보 중에서, CPU(1906)가 지정하는 정보를 추출하여, CPU(1906) 상에서 동작하는 프로그램이 해석가능한 형식으로 변환하여, CPU(1906)에 제공한다.
상행 방향의 단말 장치(1900)의 정보송신에 관해, 우선 CPU(1906)가 방송국측 시스템(101)에 대해 송신하고 싶은 정보를, POD(1911)에 송신한다. POD(1911)는 CPU(1906)로부터 입력된 정보를 방송국측 시스템(101)이 해석가능한 형식으로 변환하여, QPSK 변조기(1913)에 송신한다. QPSK 변조기(1913)는 POD(1911)로부터 입력된 정보를 QPSK 변조하여, 방송국측 시스템(101)에 송신한다.
또, POD(1911)도 DVB-CI와 마찬가지로 CPU를 탑재하고 있고, 도 15의 시퀀스를 POD(1911) 내의 CPU가 실행한다. 단말 장치(1900) 내의 CPU(1906)는, POD(1911)에 대해, CA 기술자가 기술된 PMT(CA-PMT)를 바이너리로 송신함으로써, POD(1911)가 EMM이나 ECM에 관한 조작을 행하여, 자동적으로 암호 해제를 개시한다. 또, POD(1911)가 이용되는 환경에서는, EMM이나 ECM은 In-Band로 전송되는 경우도 있고, OOB로 전송되는 경우도 있지만, EMM이나 ECM의 취득방법은 본 발명과 관계가 없고, 그것이 어떻게 전송되더라도 본 발명은 적용 가능하다. 또, 도 18과 마찬가지로, 도 19에 관해서도, 튜너(1901)로부터 POD(1911)에 대해 직접 MPEG2 트랜스포트 스트림이 입력되는 구성으로 되어 있지만, 한번 TS 디코더(1902)를 경유하여 POD(1911)에 입력되는 구성으로 되어 있어도 된다. 이 경우, TS 디코더(1902)는 튜너(1901)로부터 입력되는 MPEG2 트랜스포트 스트림을 POD(1911)에 중계하는 기능을 갖는다. 또, 단말 장치(1900)는 튜너, AV 디코더 등의 각 디바이스를 1개씩밖에 유지하지 않지만, 본 발명은 각 디바이스의 수에는 의존하지 않기 때문에, 각각이 다수 있어도 적용 가능하다. 단, 튜너가 다수 존재하여, 각각이 수신하는 MPEG2 트랜스포트 스트림을 POD(1911) 내의 디스크램블러를 사용하여 암호 해제하는 것이면, POD(1911)는 다수의 MPEG2 트랜스포트 스트림의 입력을 허용하는 구성을 취할 필요가 있고, 또한 단말 장치(1900)는 POD(1911)에 다수의 MPEG2 트랜스포트 스트림을 입력하여, POD(1911)로부터 다수의 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 트랜스포트 스트림으로부터, CPU(1606)가 지정한 PID를 갖는 TS 패킷을 추출하고, 또한 그 페이로드에 존재하는 PES 패킷이나 MPEG2 섹션을 추출한다. 예를 들면 도 7에 나타낸 상황에서 PES 패킷(701)을 추출하는 경우를 예로 든다. 먼저 CPU(1606)는 PID 필터(2002)에 PID(100)를 설정하고, PES 패킷을 추출하도록 요구를 발생한다. 그러면 PID 필터(2002)는, MPEG2 트랜스포트 스트림중을 흐르는 TS 패킷 중에서 PID가 100인 TS 패킷(703∼705)을 추출하고, 또한 추출된 TS 패킷(703∼705)의 페이로드에 포함되는 PES 패킷 분할 A(702a), PES 패킷 분할 B(702b), PES 패킷 분할 C(702c)를 취출하여 연결하여, PES 패킷(701)을 구성한다. PID 필터(2002)는, TS 디코더(1602) 내에 1개 이상 존재한다.
디스크램블러(2004)는 PID 필터(2002)가 출력하는 PES 패킷, MPEG2 섹션에 대해 암호 해제를 행한다. PES 패킷 및 MPEG2 섹션은 암호화된 경우도 도 7 및 도 8과 동일하게 분할되어 전송된다. 디스크램블러(2004)는, CPU(1606)의 PID 지정에 의해, 암호화된 PES 패킷 및 MPEG2 섹션을 전송하는 TS 패킷을 특정할 수 있고, 그 후 CPU(1606)가 지정하는 암호 해제 키를 사용하여 암호 해제 처리를 행한다. 디스크램블러(2004)는, 암호 해제 처리가 끝난 PES 패킷을 AV 디코더(2005)에, 암호해제 처리가 끝난 MPEG2 섹션을 섹션 필터(2003)에 각각 출력한다. 암호 해제는 암호화된 PES 패킷 및 MPEG2 섹션에만 적용되는 처리이고, 디스크램블러(2004)는 CPU(1606)의 지시에 의해, 필요한 경우만 PID 필터(2002)로부터 PES 패킷 및 MPEG2 섹션이 입력되어, 암호 해제 처리를 행한다. 스크램블되어 있지 않은 PES 패킷 및 MPEG2 섹션에 대해서는, PID 필터(2002)로부터 직접 AV 디코더(2005) 및 섹션 필터(2003)에 각각 출력된다. 디스크램블러(2004)는 TS 디코더(1602) 내에 1개 이상 존재한다.
섹션 필터(2003)는, 입력된 MPEG2 섹션 중에서, CPU(1606)가 지정하는 섹션 필터 조건에 합치하는 MPEG2 섹션을 추출하여, 1차 기억부(2007)에 DMA 전송한다. 1차 기억부(2007)에 유지된 MPEG2 섹션은 CPU(1606)에 의해 독출되어, 이용된다. 예를 들면, 도 10에 있어서 튜닝 정보를 유지하는 MPEG2 섹션을 취득하는 경우를 예로 든다. CPU(1606)는 먼저 PID 필터(2002)에 PID(16)를 설정하여, 섹션을 취득하도록 요구를 발생한다. PID 필터(2002)는 PID가 16인 TS 패킷로부터 섹션을 추출하여, 섹션 필터(2003)에 제공한다. 다음에 CPU(1606)는 table_id가 64인 섹션을 추출하도록 섹션 필터(2003)에 대해 요구한다. 섹션 필터(2003)는 PID 필터(2002)에 의해 입력되는 MPEG2 섹션 중에서 table_id가 64인 섹션을 추출하여, 1차 기억부(2007)에 DMA 전송한다. 섹션 필터(2003)는 TS 디코더(1602) 내에 1개 이상 존재한다.
AV 디코더(2005)는, AV 디코더(1603)와 대응하여, PES 패킷을 입력, AV 신호를 디스플레이/스피커(2006)에 출력한다. 디스플레이/스피커(2006)는 디스플레이(1605) 및 스피커(1604)에 대응하여, AV 신호를 입력으로 하여, 디스플레이(1605)에 영상을, 스피커(1604)에 음성을 출력한다.
1차 기억부(2007)는 1차 기억부(1608)와 대응하고, MPEG2 섹션을 입력으로 하여, CPU(1606)가 실행하는 프로그램에 대해 그 내용의 참조를 가능하게 한다.
도 20의 표현을 사용하여, 영상 및 음성을 각각 디스플레이 및 스피커에 출력하는 절차를 예시한다. 방송 수신 장치에 입력된 방송 신호는, 먼저 튜너(2001)에 의해 MPEG2 트랜스포트 스트림으로 복조된다. 다음에 PID 필터(2002)에 의해, CPU(1606)가 지정한 PID를 갖는 TS 패킷이 전송하는, 영상 및 음성 정보를 내포하는 PES 패킷이 추출된다. 필요하다면 PES 패킷은 디스크램블러(2004)에 송신되어, 암호 해제 처리가 실시된다.
그 후, PES 패킷은 AV 디코더(2005)에 입력되어, 디코드되어 AV 신호가 출력된다. 그 후, AV 신호는 디스플레이 및 스피커(2006)에 입력되어, 영상 및 음성의 재생을 행할 수 있다.
도 20의 표현을 사용하여, 프로그램 편성 정보 등의 데이터를 방송 신호로부터 추출하기 위한 절차를 예시한다. 방송 수신 장치에 입력된 방송 신호는, 먼저 튜너(2001)에 의해 MPEG2 트랜스포트 스트림으로 복조된다. 다음에 PID 필터(2002)에 의해, CPU(1606)가 지정한 PID를 갖는 TS 패킷이 전송하는, 데이터를 내포하는 MPEG2 섹션이 추출된다. 필요하다면 MPEG2 섹션은 디스크램블러(2004)에 송신되어 암호 해제 처리가 실시된다. 또한, MPEG2 섹션은 섹션 필터(2003)에 입력되어, CPU(1606)가 지정한 섹션 필터 조건에 합치하는 MPEG2 섹션만이 출력된다. 그 후, MPEG2 섹션은, 1차 기억부(2007)에 입력되어, CPU(1606)에 제공된다.
또한 도 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) 내에 존재하고, CPU(1606)가 지정하는 암호 해제 키를 사용하여, PID 필터(2002)가 출력하는 PES 패킷 및 MPEG2 섹션의 암호 해제를 행한다. 그에 대해, 도 21에 있어서는, 디스크램블러(2104)는 튜너(2101)와 접속되어, 튜너(2101)가 복조한 MPEG2 트랜스포트 스트림이 입력된다. 디스크램블러(2104)는 CPU(1806)가 지정하는 PID를 갖는 TS 패킷을 추출하여, 자신이 MPEG2 트랜스포트 스트림 중으로부터 암호 해제에 필요한 키를 추출하여, 암호 해제를 행한다. 디스크램블러(2104)가 암호 해제 처리를 행한 MPEG2 트랜스포트 스트림은 TS 디코더(1802)에 입력되고, 그 이후는 도 20과 동일하게 처리가 진행된다. PID 필터(2102)는, 디스크램블러(2104)로부터 입력된 MPEG2 트랜스포트 스트림에 대해, TS 패킷의 추출 및 PES 패킷, MPEG2 섹션의 구성이 가능하다.
도 19에 나타낸 POD가 존재하는 하드웨어 구성에 관해서는 In-Band로 전송되는 신호의 처리에 관해서는 도 21에 나타낸 것과 동일하므로, 설명은 생략한다.
여기까지는, 본 발명에 관한 하드웨어의 구성예에 관해 기술했으나, 이후, 단말 장치 상에서의 프로그램 동작 절차에 관해 기술한다. 도 22는, ROM(1609)에 기억되어, CPU(1606)에 실행되는 프로그램의 구성도의 일례이다.
프로그램(2200)은, 다수의 서브 프로그램으로 구성되며, 구체적으로는 OS(2201), EPG(2202), JavaVM(2203), 서비스 매니저(2204), Java 라이브러리(2205)로 구성된다.
OS(2201)는, 단말 장치(1600)의 전원이 투입되면, CPU(1606)가 기동하는 서브 프로그램이다. OS(2201)는, 오퍼레이팅 시스템의 약칭이며, Linux, Windows 등이 일례이다. OS(2201)는, 다른 서브 프로그램을 병행하여 실행하는 커널(2201a) 및 라이브러리(2201b)로 구성되는 공지의 기술의 총칭이고, 상세한 설명은 생략한다. 본 실시형태에 있어서는, OS(2201)의 커널(2201a)은, EPG(2202)와 JavaVM(2203)을 서브 프로그램으로서 실행한다. 또, 라이브러리(2201b)는, 이들 서브 프로그램에 대해, 단말 장치(1600)가 유지하는 구성 요소를 제어하기 위한 다수의 기능을 제공한다.
기능의 일례로서, 튜닝 기능을 소개한다. 튜닝 기능은, 다른 서브 프로그램으로부터 주파수를 포함하는 튜닝 정보를 수취하여, 그것을 튜너(1601)에 건네준다. 튜너(1601)는 주어진 튜닝 정보에 기초하여 복조 처리를 행하여, 복조한 MPEG2 트랜스포트 스트림을 TS 디코더(1602)에 건네줄 수 있다. 이 결과, 다른 서브 프로그램은 라이브러리(2201b)를 통해 튜너(1601)를 제어할 수 있다.
EPG(2202)는, 사용자에게 프로그램 일람을 표시 및, 사용자로부터의 입력을 접수하는 프로그램 표시부(2202a)와, 채널 선국을 행하는 재생부(2202b)로 구성된다. 여기서, EPG는 Electric Program Guide의 약칭이다. EPG(2202)는, 단말 장치(1600)의 전원이 투입되면, 커널(2201a)에 의해 기동된다. 기동된 EPG(2202)의 내부에서는, 프로그램 표시부(2202a)가 단말 장치(1600)의 입력부(1610)를 통해, 사용자로부터의 입력을 기다린다. 여기서, 입력부(1610)가 도 17에서 나타낸 프런트 패널로 구성되어 있는 경우, 사용자가, 입력부(1610)의 EPG 버튼(1707)을 누르면, EPG 버튼의 식별자가 CPU(1606)에 통지된다. CPU(1606) 상에서 동작하는 서브 프로그램인 EPG(2202)의 프로그램 표시부(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」의 식별자를 재생부(2200b)에 통지한다. 도 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」, 튜닝 정보에 주파수「150 MHz」, 프로그램 넘버가「101」을 포함하는 조로 되어 있다. 재생부(2202b)는, 채널의 재생을 행하기 위해, 수취한 채널의 식별자를 그대로 서비스 매니저에 건네준다.
또, 재생부(2202b)는, 재생중에, 사용자가 프런트 패널(1700)의 상측 커서(1701)와 하측 커서(1702)를 누르면, 입력부(1610)로부터 CPU(1606)를 통해, 눌러진 통지를 수취하여, 재생하고 있는 채널을 변경한다. 먼저, 재생부(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)은, 채널 식별자가 다시쓰여진 상태를 나타낸다.
JavaVM(2203)은, Java(TM) 언어로 기술된 프로그램을 순차 해석하여 실행하는 Java 버츄얼 머신이다. Java 언어로 기술된 프로그램은 바이트 코드라 불리는, 하드웨어에 의존하지 않는 중간 코드로 컴파일된다. Java 버츄얼 머신은, 이 바이트 코드를 실행하는 인터프리터이다. 또, 일부의 Java 버츄얼 머신은, 바이트 코드를 CPU(1606)가 이해 가능한 실행 형식으로 번역한 후, CPU(1606)에 건네줘, 실행하기도 한다. JavaVM(2203)은, 커널(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 프로그램이고, JavaVM(2203)에 의해 순차 실행된다. 서비스 매니저(2204)는, JNI(Java Native Interface)를 통해, Java 언어로 기술되어 있지 않은 다른 서브 프로그램을 호출하거나, 또는 호출되거나 하는 것이 가능하다. JNI에 관해서도, 서적「Java Native Interface」등의 많은 서적에서 해설되어 있다. 여기서는, 그 상세한 것을 생략한다.
서비스 매니저(2204)는, JNI를 통해, 재생부(2202b)로부터 채널의 식별자를 수취한다.
서비스 매니저(2204)는, 처음에 Java 라이브러리(2205) 내에 있는 Tuner(2205c)에, 채널의 식별자를 건네줘, 튜닝을 의뢰한다. Tuner(2205c)는, 2차 기억부(1607)가 기억하는 채널 정보를 참조하여, 튜닝 정보를 획득한다. 지금, 서비스 매니저(2204)가 채널의 식별자「1」을 Tuner(2205c)에 건네주면, Tuner(2205c)는, 도 24의 행 2412를 참조하여, 대응하는 튜닝 정보「150MHz」를 획득한다. Tuner(2205c)는, OS(2201)의 라이브러리(2201b)를 통해 튜너(1601)에 튜닝 정보를 건네준다. 튜너(1601)는 주어진 튜닝 정보에 따라서 방송국측 시스템(101)으로부터 송신되어 온 신호를 복조하여, TS 디코더(1602)에 건네준다.
다음에 서비스 매니저(2204)는, CA 라이브러리(2206)에 암호 해제를 의뢰한다. CA 라이브러리(2206)는, OS(2201)의 라이브러리(2201b)를 통해 암호 해제에 필요한 정보를 TS 디코더(1602) 내의 디스크램블러(2004)에 부여한다. 이것에 관한 상세한 것은 후술한다.
다음에 서비스 매니저(2204)는, Java 라이브러리(2205) 내에 있는 JMF(2205a)에 채널의 식별자를 부여하고, 영상. 음성의 재생을 의뢰한다.
먼저, 처음에 JMF(2205a)는, 재생해야 할 영상과 음성을 특정하기 위한 PID를 PAT, PMT로부터 취득한다. JMF(2205a)는, PAT를 취득하기 위해서, OS(2201)의 라이브러리(2201b)를 통해, TS 디코더(1602)에 PID「0」과 CPU(1606)를 지정한다. TS 디코더(1602)가 PID 「0」및 table_id「0」으로 필터링을 행하여, 1차 기억부(1608)를 통해 CPU(1606)에 건네줌으로써, JMF(2205a)는, PAT를 수집한다. 여기서, PAT의 예로서 도 12를 든다. 지금, JMF(2205a)에 주어진 채널의 식별자가「1」이라고 하면, JMF(2205a)는, 도 24의 행 2411을 참조하여, 대응하는 프로그램 넘버「101」을 획득하고, 다음에 도 12의 PAT의 행 1211을 참조하여, 프로그램 넘버「101」에 대응하는 PID「501」을 획득한다. JMF(2205a)는, PMT를 취득하기 위해서, OS(2201)의 라이브러리(2201b)를 통해, TS 디코더(1602)에 PAT로부터 취득한 PID와 table_id「2」를 지정한다. 여기서, 지정하는 PID는「501」이라고 한다. TS 디코더(1602)가 PID「501」및 table_id「2」로 필터링을 행하여, 1차 기억부(1608)를 통해 CPU(1606)에 건네줌으로써, JMF(2205a)는 PMT를 수집한다. 여기서 PMT의 예로서 도 11을 든다. JMF(2205a)는, PMT로부터 재생하는 영상과 음성의 PID를 획득한다. 도 11을 참조하여, JMF(2205a)는, 행 1111로부터 음성의 PID「5011」을, 행 1112로부터 영상의 PID「5012」를 획득한다.
다음에, JMF(2205a)는, OS(2201)의 라이브러리(2201b)를 통해, 획득한 영상/음성의 PID와 출력처로서 AV 디코더(1603)를, TS 디코더(1602)에 부여한다. TS 디코더(1602)는 주어진 PID에 기초하여, 필터링을 행한다. 여기서는 PID「5011」「5012」의 TS 패킷을 AV 디코더(1603)에 건네준다. AV 디코더(1603)는, 주어진 PES 패킷의 디코드를 행하여 디스플레이(1605), 스피커(1604)를 통해 영상/음성을 재생한다.
마지막으로 서비스 매니저(2204)는, Java 라이브러리(2205) 내에 있는 AM(2205b)에 채널의 식별자를 부여하여, 데이터 방송 재생을 의뢰한다. 여기서, 데이터 방송 재생이란, MPEG2 트랜스포트 스트림에 포함되는 Java 프로그램을 추출하여, JavaVM(2203)에 실행시키는 것이다. MPEG2 트랜스포트 스트림에 Java 프로그램을 매설하는 방법은, MPEG 규격서 ISO/IEC13818-6에 기술된 DSMCC라는 방식을 사용한다. 여기서는 DSMCC의 상세한 설명은 생략한다. DSMCC 방식은, MPEG2 트랜스포트 스트림의 TS 패킷 중에, 컴퓨터에서 사용되고 있는 디렉토리나 파일로 구성되는 파일 시스템을 MPEG2 섹션을 사용하여 인코드하는 방법을 규정하고 있다. 또, 실행하는 Java 프로그램의 정보는 AIT라 불리는 형식으로, MPEG2 트랜스포트 스트림의 TS 패킷 중에 매설되어, table_id가「Ox74」인 MPEG2 섹션으로서 송신되어 있다. AIT1, DVB-MHP 규격(정식으로는, ETSI TS 101 812 DVB-MHP 사양 V1. 0. 2)의 10장에 정의되어 있는, Application Information Table의 약칭이다.
AM(2205b)은, 먼저 AIT를 획득하기 위해서, JMF(2205a)와 마찬가지로 PAT, PMT을 취득하여, AIT가 저장되어 있는 TS 패킷의 PID를 획득한다. 지금, 주어진 채널의 식별자가「1」이고, 도 12의 PAT, 도 11의 PMT가 송신되어 있다고 하면, JMF(2205a)와 동일한 순서로, 도 11의 PMT를 획득한다. AM(2205b)은, PMT로부터 스트림 종별이「데이터」이고 보충 정보로서「AIT」를 갖는 엘리멘트리 스트림으로부터 PID를 추출한다. 도 11을 참조하여, 행 1113의 엘리멘트리 스트림이 해당하여, PID「5013」을 획득한다.
AM(2205b)은, OS(2201)의 라이브러리(2201b)를 통해 TS 디코더(1602)에 AIT의 PID와 table_id 「Ox74」를 부여한다. TS 디코더(1602)는, 주어진 PID 및 table_id로 필터링을 행하여, 1차 기억부(1608)를 통해 CPU(1606)에 건네준다. 이 결과, AM(2205b)은, 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/GameXIet」의 조이다. 여기서 2개의 Java 프로그램은 같은 DSMCC 식별자를 갖는데, 이것은 1개의 DSMCC 방식으로 인코드된 파일 시스템 내에 2개의 Java 프로그램이 포함되어 있는 것을 나타낸다. 여기서는, Java 프로그램에 대해 4개의 정보밖에 규정하지 않지만, 실제로는 보다 많은 정보가 정의된다. 상세한 것은 DVB-MHP 규격을 참조하면 된다.
AM(2205b)은, AIT 중에서「autostart」의 Java 프로그램을 찾아내어, 대응하는 DSMCC 식별자 및 Java 프로그램명을 추출한다. 도 26을 참조하여, AM(2205b)은 행 2611의 Java 프로그램을 추출하여, DSMCC 식별자「1」및 Java 프로그램명「a/TopXlet」을 획득한다.
다음에 AM(2205b)은, AIT로부터 취득한 DSMCC 식별자를 사용하여, 파일 시스템을 DSMCC 방식으로 저장하고 있는 TS 패킷의 PID를 PMT로부터 획득한다. 구체적으로는, PMT 중에서 스트림 종별이「데이터」이고, 보충 정보의 DSMCC 식별자가 합치하는 엘리멘트리 스트림의 PID를 취득한다.
지금, DSMCC 식별자가「1」이고, PMT가 도 11이라고 하면, 행 1114의 엘리멘트리 스트림이 합치하여, PID「5014」를 취출한다.
AM(2205b)은, OS(2201)의 라이브러리(2201b)를 통해 TS 디코더(1602)에 DSMCC 방식으로 데이터가 매설된 MPEG2 섹션을 전송하는 TS 패킷의 PID 및 섹션 필터 조건을 지정한다. 여기서는, PID「5014」를 부여한다. TS 디코더(1602)는 주어진 PID를 사용하여 DSMCC용 MPEG2 섹션의 필터링을 행하여, 1차 기억부(1608)를 통해 CPU(1606)에 건네준다. 이 결과, AM(2205b)은, 필요한 DSMCC용 MPEG2 섹션을 수집할 수 있다. AM(2205b)은, 수집한 MPEG2 섹션으로부터, DSMCC 방식에 따라서 파일 시스템을 복원하여, 1차 기억부(1608)에 보존한다. MPEG2 트랜스포트 스트림 중의 TS 패킷으로부터 파일 시스템 등의 데이터를 취출하여 1차 기억부(1608), 2차 기억부(1607) 등의 기억 수단에 보존하는 것을 이후, 다운로드라 부른다.
도 27은, 다운로드한 파일 시스템의 일례이다. 도면중, ○는 디렉토리를 □은 파일을 나타내고, 2701은 루트 디렉토리, 2702는 디렉토리「a」, 2703은 디렉토리「b」, 2704는 파일「TopXlet. class」, 2705는 파일「GameXlet. class」이다.
다음에 AM(2205b)은, 1차 기억부(1608)에 다운로드한 파일 시스템 중에서 실행하는 Java 프로그램을 JavaVM(2203)에 건네준다. 지금, 실행하는 Java 프로그램명이「a/TopXIet」이라고 하면, Java 프로그램명의 마지막에「. class」를 부가한 파일「a/TopXlet. class」가 실행해야 할 파일이 된다. 「/」는 디렉토리나 파일명의 단락이고, 도 27을 참조하여, 파일(2704)이 실행해야 할 Java 프로그램이다. 다음에 AM(2205b)은, 파일(2704)을 JavaVM(2203)에 건네준다.
또한, AM(2205b)이 실행해야 할 Java 프로그램을 참조하는 방법은 AIT에 의한 것 뿐만이 아니다. 미국 케이블 시스템에서 이용되는 것이 상정되는 OCAP에서는 도 3에 기재되는 OOB로 어플리케이션의 참조 정보를 기재하는 XAIT가 이용되고 있다. 그 밖에, ROM(1609)에 미리 기록되어 있는 것을 기동하는, 2차 기억부(1607)에 다운로드하여 기억한 것을 기동하는 등의 방법도 생각할 수 있다.
JavaVM(2203)은, 건네받은 Java 프로그램을 실행한다.
이상과 같은 절차로, 서비스 매니저(2204)는 채널 식별자를 수취하여 튜닝, 암호 해제, 영상·음성 재생, Java 프로그램 기동을 행한다. 이 일련의 절차를, 합쳐서 「서비스의 선택」이라고 부른다. 「서비스의 선택을 행한다」라는 것은, 「서비스에 속하는 ES가 보유하는 정보를 사용자에 대해 가시화하는 것이다」라고 정의하는 것이 가능하다. 서비스의 선택을 행하면, 상기 절차에 따라서, “서비스에 속하는 ES에 의해 전송되는 영상·음성이 재생"되고, “서비스에 속하는 ES에 의해 전송되는 Java 프로그램이 기동"된다. 서비스의 선택에 의해 재생된 영상·음성은, 그 서비스에 속해 있다고 표현할 수 있다. 마찬가지로, 서비스의 선택에 의해 기동된 Java 프로그램은, 그 서비스에 속해 있다고 표현할 수 있다.
서비스 매니저(2204)는, 다른 채널의 식별자를 수취하면, Java 라이브러리(2205)에 존재하는 라이브러리를 이용하여 다시 서비스의 선택을 행한다. 본 실시형태에서는, 서비스 매니저(2204)가 선택 가능한 서비스의 수는 1개이다.
일반적으로, 채널 식별자는 1개의 서비스를 나타낸다. 본 실시형태에서는, 도 24에 도시된 것 같은 채널 정보가 채널 식별자로부터 프로그램 넘버를 구할 때 이용되고 있다. 채널 식별자로부터 프로그램 넘버의 해결 방법으로서 대표적인 것은, SI(Service Information)가 사용되는 방법이다. SI는 EPG 등에 이용되는 프로그램 편성 정보이고, 각 방송 환경에 따라 규정되어, 전송된다. 대표예로서 유럽에서의 방송 환경에서는 EN400-368로 규정되는 DVB-SI가 이용된다. 또 미국 케이블 방송 환경에서는 ANSI/SCTE65로 규정되는 SI가 이용된다. 이들 SI에서는, 서비스를 특정하기 위한 어떠한 식별자가 이미 규정되어 있고, 그 식별자로부터 프로그램 넘버를 해결하기 위한 시스템이 이미 고려되어 있다. 채널 식별자는, 이들 SI가 규정한 식별자를 이용한다. 그 경우, 방송 수신 장치는, SI를 이용하여, 채널 식별자로부터 PMT의 취득에 사용하는 프로그램 넘버에 대한 해결을 행한다. 그 경우, 본 발명은 그 SI의 형태에는 의존하지 않기 때문에, 어떠한 SI가 사용되더라도 적용 가능하다. 도 24의 채널 정보도, SI를 이용하여 취득된다.
Java 라이브러리(2205)는, ROM(1609)에 저장되어 있는 다수의 Java 라이브러리의 집합이다. 본 실시형태에서는, Java 라이브러리(2205)는, JMF(2205a), AM(2205b), Tuner(2205c), DSM-CC(2205d), Section Filter(SF)(2205e), 서비스 매니저 관리 라이브러리(2205f)를 포함하고 있다. Java 프로그램은 이들 라이브러리를 이용하면서, Java 프로그램의 기능을 실현한다.
Java 라이브러리(2205)에 포함되는 라이브러리 중에서, 특히 JMF(2205a), DSM-CC(2205d), SF(2205e)의 3종류는, MPEG2 트랜스포트 스트림 내의 정보에 액세스하기 위한 라이브러리이다. 이러한 라이브러리를, 스트림 정보 액세스 라이브러리라고 부른다. JMF(2205a)는 영상·음성의 재생 기능을 갖는 라이브러리, DSM-CC(2205d)는 MPEG2 트랜스포트 스트림 내에서 전송되는 파일을 취득하는 기능을 갖는 라이브러리, SF(2205e)는 MPEG2 트랜스포트 스트림 내의 MPEG2 섹션을 취득하는 라이브러리이다. 이들 라이브러리를 사용하여, Java 프로그램은 MPEG2 트랜스포트 스트림 내의 정보에 액세스하는 것이 가능하다. 또, 스트림 정보 액세스 라이브러리는 각각 1 이상의 실행 단위를 갖고, Java 프로그램은 그 실행 단위마다 스트림 정보에 액세스하는 것이 가능하다. 예를 들면, JMF(2205d)는 영상 음성을 재생 가능한 “플레이어"를 실행 단위로서 유지한다. Java 프로그램은 “플레이어"에 대해 영상 음성의 재생 명령을 내림으로써 영상 음성을 재생할 수 있다. 또한, 화면을 분할하여 다수의 영상을 출력하는 것이 가능한 단말 장치의 경우, “플레이어"는 다수 존재하며, Java 프로그램은 각각에 대해 영상 재생 명령을 내림으로써 각각의 영상을 화면에 표시하는 것도 가능하다. 예를 들면 SF(2205e)는 “섹션 필터"를 실행 단위로서 유지한다. “섹션 필터"는 도 20에 있어서의 섹션 필터(2003)에 상당하고, 그 단위로 MPEG2 섹션을 취득할 수 있다. 섹션 필터(2003)가 다수 존재하는 하드웨어 구성 상에서는, SF(2205e)가 유지하는 “섹션 필터"도 다수 존재하여, Java 프로그램은 각 “섹션 필터"에 대해 섹션 취득 명령을 내림으로써, 각각의 MPEG2 섹션을 동시에 취득하는 것이 가능하다.
또 Java 프로그램은 서비스 매니저 관리 라이브러리(2205f)를 이용함으로써, 서비스 매니저(2204)에 의한 서비스의 선택을 행하는 것이 가능하다. 구체적으로는, Java 프로그램이 서비스 매니저 관리 라이브러리(2205f)에 채널 식별자를 건네주면, 서비스 관리 라이브러리(2205f)는 수취한 채널 식별자를 서비스 매니저(2204)에게 건네준다. 그 후는 EPG(2202)를 사용한 채널 선택시와 동일하게 서비스 매니저(2204)에 의한 서비스의 선택이 행해져, 채널 식별자에 대응하는 프로그램 넘버에 의해 식별되는 PMT에 기재되는 정보에 기초하여, 그 서비스에 속하는 영상·음성이 재생되어, 그 서비스에 속하는 Java 프로그램이 기동된다. 또, 서비스 매니저(2204)도, 스트림 정보 액세스 라이브러리와 마찬가지로, 1 이상의 실행 단위를 갖는다. 서비스 매니저(2204)의 경우, 실행 단위는 “서비스 컨텍스트"라 불리고, 서비스의 선택은 실행 단위“서비스 컨텍스트"마다 행해진다. “서비스 컨텍스트" 1개에 대해, 1개의 서비스를 선택 가능하다. 서비스 매니저(2204)가 다수의 서비스를 동시에 선택 가능한 경우는 실행 단위 “서비스 컨텍스트"를 그 수만큼 유지하게 된다. EPG(2202) 및 서비스 매니저 관리 라이브러리(2205f)는 실행 단위 “서비스 컨텍스트"에 대해 서비스 선택 명령을 발행하고, 서비스 매니저(2204)는 지정된 실행 단위“서비스 컨텍스트"에 새롭게 선택한 서비스에 관한 정보를 세트한다.
Java 프로그램은 정보의 액세스 단위로서, 스트림 정보 액세스 라이브러리에 대해 서비스 또는 ES를 지정하는 것이 가능하다. 서비스가 지정된 경우, Java 프로그램은 서비스에 대응하는 PMT에 기재되는, 모든 ES가 전송하는 정보에 액세스하는 것을 가리킨다. ES가 지정된 경우, Java 프로그램은 지정 ES가 전송하는 정보에 액세스하는 것을 가리킨다. 이 어느쪽의 지정을 사용하는지는 라이브러리의 종류에 따라 다르다. 또한, 라이브러리에 서비스를 지정하는 방법은 다양한데, 대표적인 것은 채널 식별자를 사용하는 방법이다. 또 라이브러리에 ES를 지정하는 방법도 다양하나, 대표적인 것은 PID를 사용하는 방법이다. 본 발명은 그 지정 형식에는 의존하지 않기 때문에, 어떠한 지정 형식이든 적용 가능하다.
예를 들면 Java 프로그램은 JMF(2205a)에 대해, 서비스를 지정할 수 있다. 이 경우, JMF(2205a)는 지정된 서비스의 PMT로부터 영상·음성을 전송하는 ES의 PID를 취득하여 재생을 개시하는 것이 가능하다.
예를 들면 Java 프로그램은 SF(2205e)에 대해, ES를 지정할 수 있다. 이 경우, SF(2205e)는 지정 ES가 전송하는 MPEG2 섹션을 바이너리 형식으로 그대로 취득하는 것이 가능하다. 또 JMF(2205a)에 대해서도 ES를 지정할 수 있다. 이 경우, JMF(2205a)는 지정된 ES가 전송하는 PES 패킷 내에 존재하는 영상 음성을 재생한다. 이렇게, Java 프로그램은 Java 라이브러리(2205) 내에 존재하는 라이브러리를 이용함으로써, 방송 신호 내의 정보에 대해 액세스하는 것이 가능하다. 그러나, 만약 액세스 대상이 암호화되어 있었던 경우, 암호 해제를 행하지 않으면 정보를 취득할 수 없다. 그 때문에, 방송 수신 장치는 Java 프로그램에 대해, 암호 해제 수단을 제공할 필요가 있다.
본 실시형태에서는, 방송 수신 장치는, “EPG(2202)를 사용한 사용자에 의한 채널 선택" 또는 “Java 프로그램에 의한 서비스 매니저 관리 라이브러리(2205f)의 이용"에 따라서, 서비스 매니저(2204)가 새로운 서비스를 선택하는 경우에, 암묵적으로 서비스 내의 ES의 암호 해제를 개시한다. 구체적으로는, 서비스 매니저(2204)가 취득하는 PMT에 속하는 전체 ES를 암호 해제 대상으로 하여, 서비스 매니저(2204)가 튜닝을 끝낸 시점에서, 암호 해제를 개시한다. 또 본 실시형태에서는 서비스 매니저(2204)가 동시에 선택할 수 있는 서비스는 1개이다. 즉 서비스 매니저(2204)가 유지하는 실행 단위 “서비스 컨텍스트"는 항상 1개이다. 마찬가지로, 동시에 암호 해제 가능한 서비스는 1개만으로 하고, 2개 이상의 서비스를 동시에 암호 해제할 수는 없다.
본 실시형태에서는, 상기를 실현하기 위해, 암호 해제 상태 관리부, 디스크램블러 관리부, 암호 해제 개시부를 도입한다. 그 모식도를 도 28에 나타낸다. CA 라이브러리(2206) 내에 암호 해제 상태 관리부(2801), 디스크램블러 관리부(2802), 암호 해제 개시부(2803)를 도입한다.
암호 해제 상태 관리부(2801)는 암호 해제되어 있는 대상이 되는 정보를 유지한다. 암호 해제 상태 관리부(2801)는 1차 기억부(1608) 상에 실현된다. 암호 해제 상태 관리부(2801)는 디스크램블러에 의해 암호 해제되어 있는 서비스의 프로그램 넘버를 1개만 유지하는 기능을 갖는다. 유지된 프로그램 넘버는 암호 해제 개시부(2803)에 의해 참조된다.
디스크램블러 관리부(2802)는 하드웨어 상에 존재하는 디스크램블러의 사용 상태를 관리한다. 디스크램블러의 사용 상태는 “미사용", “사용중" 의 2상태 중 한쪽을 갖는다. 도 29에 디스크램블러 관리부(2802)의 실현예를 나타낸다. 행 2911∼2914는 각 디스크램블러의 정보이다. 열 2901은 디스크램블러명, 열 2902는 사용 상태를 나타낸다. 디스크램블러 관리부(2802)에 문의함으로써, 사용되고 있는 디스크램블러의 수나, 비어 있는 디스크램블러의 수를 취득하는 것이 가능하다. 디스크램블러 관리부(2802)는, 디스크램블러가 도 16처럼 단말 장치(1600) 내에 존재하는 경우, 1차 기억부(1608) 상에 실현되어, 암호 해제 개시부(2803)에 의해 참조된다. 또, 그렇지 않더라도, 실제로 디스크램블러의 사용 상태에 관한 문의가 행해졌을 때, 그 시점에서 디스크램블러의 상태를 조사하여 사용 상태를 되돌리는 실장으로 되어 있어도 된다. 도 18처럼 단말 장치(1800) 내에 디스크램블러가 존재하지 않고, 어댑터(1811) 내에 존재하는 경우는, 어댑터(1811) 내의 1차 기억부 상에 실현되어, CPU(1806)의 문의에 대해, 디스크램블러의 사용 상태를 되돌린다.
암호 해제 개시부(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) 내에 있는 경우는, ROM(1609)에 라이브러리로서 기록되고, CPU(1606)에 의해 실행된다. 도 18의 하드웨어 구성예처럼, 디스크램블러가 단말 장치(1800)의 외부에 있는 경우는 ROM(1609)과, 외부 어댑터(1811) 내의 ROM에 기능이 분할하여 기록된다. 도 30에 나타낸 시퀀스에 관해서는 라이브러리로서 단말 장치(1800) 내의 ROM(1609)에 기록되어, CPU(1806)에 의해 실행된다. 그 경우, 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)에 송신하면, 그 이후의 처리는 CPU(1806) 및 외부 어댑터(1811) 내의 CPU에 의해 병행하여 행해지는 경우도 있다. 구체적으로는, S 3005에 있어서, CPU(1806)가 CA-PMT를 외부 어댑터(1811)에 보내면, 외부 어댑터(1811) 내의 CPU가 도 31에 나타낸 시퀀스를 개시하는데, 그것과 평행하여 CPU(1806)는 S3006에 표시되는 동작을 행하여, 도 30의 시퀀스가 도 31의 시퀀스보다도 먼저 종료하는 실장도 있을 수 있다. 이 상황의 간단한 설명도를 도 33에 나타낸다. S3004에 있어서 CA-PMT를 단말 장치(1800)가 외부 어댑터(1811)에 송신하면, 단말 장치(1800)는 외부 어댑터(1811) 내에서의 도 31의 시퀀스의 종료를 기다리지 않고 S3006으로 처리를 진행시킨다. 이러한 실장이 행해지는 경우도 있다.
본 실시형태에서는, Java 프로그램에 의해 서비스 매니저 관리부(2205f)가 이용되거나, EPG(2202)로부터 채널 식별자가 건네지거나 하여, 서비스 매니저(2204)가 기동하여 영상·음성 재생 및 Java 프로그램기동을 개시할 때, 그들 조작 전에, 암호 해제 개시부(2803)를 사용하여 암호 해제를 행한다.
본 실시형태에서는, 서비스 매니저(2204)에 의한 서비스 선택시에 암호 해제를 개시한다. 그 시퀀스를 도 32에 나타낸다. 서비스 매니저(2204)는, 먼저 채널 식별자를 수취하면(S3201), 채널 식별자로부터 프로그램 넘버를 얻는다(S3202). 여기서는 상술한 바와 같이 도 24와 같은 SI로 구성한 채널 정보를 사용하여, 채널 식별자를 프로그램 넘버로 변환한다. 다음에 Tuner(2205c)를 사용하여 튜닝을 행한다(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에 의해 표시되는 4개의 ES는 서비스 매니저(2204)에 의한 서비스 선택시에 암묵적으로 암호 해제되어 있다. 그 때문에, ES(1114)에 포함되는 파일을 기초로 기동된 Java 프로그램이, 예를 들면 행 1111에 의해 표시되는 영상을 전송하는 PES 패킷에 대해 JMF(2205a)를 사용하여 액세스하는 경우, 새삼스레 암호를 해제할 필요는 없다. 그러나, 액세스하고자 하는 대상이 다른 서비스에 속해 있는 것이면, 스트림 정보 액세스 라이브러리에 의해 암묵적으로 암호 해제가 개시되지 않기 때문에, Java 프로그램이 이것에 액세스하여 정보를 바르게 읽어 내는 것은 불가능하다.
본 실시형태에 의해 실장 가능한 Java 프로그램예를 도 34에 나타낸다. 또, 그 때의 PMT예를 도 35에 나타낸다. Java 프로그램은 디스플레이(1605) 상에 있어서, 3401에 데이터 방송용 데이터, 3402에 영상을 표시한다. 이 Java 프로그램은, 도 35의 PMT의 행 3514에 의해 표시되는 ES에 포함되어 있고, 서비스 매니저(2204)가 이 PMT가 표현하는 서비스를 선택함으로써 기동된다. 그 서비스 선택의 과정에서, PMT에 포함되는 모든 ES의 암호 해제가 개시된다. Java 프로그램은 JMF(2205a)를 사용하여 PID가 5022인 TS 패킷이 전송하는 영상을 3402에 표시한다. 또 Java 프로그램은 SF(2205e)를 사용하여, PID가 5025인 TS 패킷이 전송하는 데이터 방송용 데이터를 취득하여, 3401에 표시한다. 이렇게, Java 프로그램은, 자신이 속하는 서비스에 포함되는 ES에 관한 한, 암호 해제를 신경쓰지 않고 정보에 액세스하는 것이 가능하다.
본 실시형태에 의해, Java 프로그램은 자신이 속하는 서비스에 포함되는 ES가 전송하는 정보이면, 암호화되어 있는지 여부를 신경쓰지 않고 액세스 가능하다.
또한, 본 실시형태에서는, 스트림 정보 액세스 라이브러리로서, JMF(2205a), DSM-CC(2205d), SF(2205e)를 들고 있는데, 스트림 정보 액세스 라이브러리는, MPEG2 트랜스포트 스트림에 의해 전송되는 정보에 대해 액세스하기 위한 라이브러리이면 모두 포함되고, 그것은 위의 3종류에 한정되지 않고, 또 위의 3종류가 모두 포함되어 있을 필요는 없다. 그 종류는 DVB-MHP나 OCAP 등의 프로그램 실행 환경의 사양에 따라 결정된다.
또, 본 실시형태에서는, ROM(1609)이 저장하는 내용을 2차 기억부(1607)가 보존함으로써, ROM(1609)을 삭제하는 것도 실시 가능하다. 또, 2차 기억부(1607)는, 다수의 서브 2차 기억부로 구성하여, 개개의 서브 2차 기억부가 다른 정보를 보존하더라도 실시 가능하다. 예를 들면, 1개의 서브 2차 기억부는 튜닝 정보만을 보존하고, 다른 서브 2차 기억부는, OS(2201)의 라이브러리(2201b)를 보존하고, 또 다른 서브 2차 기억부는, 다운로드한 Java 프로그램을 보존하는 등, 상세하게 분할하는 것이 가능하다.
또, 본 실시형태에 있어서는, 다운로드한 Java 프로그램을 2차 기억부(1607)에 보존했으나, 1차 기억부(1608)에 보존하는 것도 실시 가능하다. 1차 기억부(1608)에 저장하는 경우, 전원 OFF시에, 보존된 정보는 모두 없어진다.
또, 본 실시형태에 있어서는, 명기하지 않고 있는 부분은 참조 하드웨어 구성예를 도 16으로 하고 있으나, 도 18처럼 어댑터를 이용하는 하드웨어 구성에서도 물론 본 발명은 적용 가능하다. 그 경우는 동일 디바이스로 도 16과 도 18에서 식별 번호가 다른 것은, 식별 번호를 치환한 표현을 사용함으로써, 도 18의 설명으로 한다. 예를 들면, CPU(1606)는 CPU(1806)로서 해석된다. 또 도 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에서 표시되는 4개의 채널의 영상·음성은, 통상 각각 1개의 서비스에 의해 전송된다. 실시형태 1에서는, Java 프로그램이 속하는 서비스에 관한 암호 해제밖에 행해지지 않기 때문에, 이러한 EPG를 실현할 수는 없다.
실시형태 2에서는, 암묵적으로 방송 수신 장치가 서비스 단위로 암호 해제를 하는 점에서는 실시형태 1과 다름없지만, 암호 해제를 개시하는 타이밍을 변경하여, 서비스 매니저(2204)가 서비스 선택을 행할 때 암호 해제를 개시하는 것이 아니라, Java 프로그램이 스트림 정보 액세스 라이브러리를 이용할 때마다 암호 해제를 행하는 서비스를 변경한다. 구체적으로는, 예를 들면 JMF(2205a)에 대해 서비스가 지정된 경우, JMF(2205a)는, 영상·음성을 재생하기 전에, 지정된 서비스의 PMT에 기재된 ES가 전송하는 정보의 암호 해제를, 암호 해제 개시부(2803)를 이용하여 행한다. 또한, SF(2205e)처럼 ES가 지정될 수 있는 스트림 정보 액세스 라이브러리더라도, 그 ES가 속하는 서비스 내의 모든 ES에 관한 암호 해제를 행한다. 그 때는, 먼저 MPEG2 트랜스포트 스트림 내의 모든 PMT를 조사하여, 지정된 ES의 PID를 포함하는 것을 이용한다.
도 37에 서비스가 지정되는 스트림 정보 액세스 라이브러리의 예로서, JMF(2205a)의 동작 시퀀스를 나타낸다. 채널 식별자를 수취하면(S3701), 채널 식별자로부터 프로그램 넘버를 얻는다(S3702). 상술한 바와 같이 채널 식별자로서 사용되는 대상에 따라 프로그램 넘버를 얻는 수단은 다르다. 예로서, PAT 상의 순서를 사용하거나, SI를 사용하거나 하는 방법이 있다. 만약 서비스가 암호화되어 있으면(S3703), 암호 해제 개시부(2803)를 사용하여 서비스의 암호 해제를 개시한다 (S3704). 그 후, 영상·음성의 재생을 개시한다(S3705).
도 38에 ES가 지정되는 스트림 정보 액세스 라이브러리의 예로서 SF(2205e)의 동작 시퀀스를 나타낸다. PID를 수취하면(S3801), MPEG2 트랜스포트 스트림 중에 존재하는 전체 PMT를 취득하여, 그 중에서 지정된 PID를 포함하는 것을 찾는다(S3802). 만일 발견되지 않으면, 지정된 PID가 식별하는 TS 패킷은 암호화되어 있지 않기 때문에, 암호 해제를 행할 필요는 없다. 만일 발견되면(S3803), 다음에 그 PID를 포함하는 서비스가 암호화되어 있는지 여부를 판단하여(S3804), 암호 해제 개시부(2803)를 이용하여 암호 해제를 개시한다(S3805). 그 후, MPEG2 섹션의 취득을 개시한다.
본 실시형태에서는, 먼저 서비스 매니저(2204)에 의해 서비스 선택이 행해졌을 때, JMF(2205a)나 DSM-CC(2205d) 등의 스트림 정보 액세스 라이브러리가 이용되기 때문에, 먼저 그 시점에서 암호 해제가 개시된다. 그 서비스 선택에 의해 기동된 Java 프로그램이 스트림 정보 액세스 라이브러리를 사용했을 때, 그때까지의 암호 해제를 정지하고, “스트림 정보 액세스 라이브러리에 지정한 서비스", 또는 “스트림 정보 액세스 라이브러리에 지정한 ES를 포함하는 서비스"에 관해 암호 해제를 개시한다.
도 36에 표시되는 EPG를 실현하는 Java 프로그램의 예를 나타낸다. 먼저 방송 수신 장치 자신의 EPG(2202) 상에서 행해지는 사용자의 채널 선택에 기초하여 서비스 매니저(2204)는 서비스의 선택을 행한다. 이 경우, EPG를 실현하는 Java 프로그램은 도 24의 행 2411에서 표시되는 “채널 1"에 포함되며, 사용자는 “채널 1"을 선택한 것으로 한다. 그렇게 하면, 서비스 매니저(2204)는 “채널 1"의 채널 식별자“1"에 기초하여 프로그램 넘버를 취득하여 서비스 선택을 행하여, 암호 해제가 개시된다. 영상 음성이 재생되어, 도 36의 EPG를 실현하는 Java 프로그램이 기동한다. 이 Java 프로그램은 디스플레이에 도 36과 같은 화면을 표시한다. 이 때, 디폴트에서 커서가 맞춰지는 것은, Java 프로그램이 속하여, 이미 암호 해제가 행해지고 있는 “채널 1"이고, Java 프로그램은, 3621에 “채널 1"에 속하는 영상을, JMF(2205a)를 사용하여 표시한다. 이후, 사용자가 커서를 상하로 움직이면, 커서가 맞춰진 채널의 채널 식별자에 대응하는 서비스의 영상을 3621에 JMF(2205a)를 사용하여 표시한다. 이 때, JMF(2205a)가 이용될 때마다 그때까지 행해지고 있던 암호 해제가 정지되어, 새로운 서비스에 대한 암호 해제가 개시된다. 이렇게 하여, Java 프로그램이 특별히 암호 해제를 의식하지 않고 도 36과 같은 EPG를 실현하는 것이 가능해진다.
본 실시형태에 있어서는, Java 프로그램이 이용하고자 하는, 가장 새롭게 액세스된 암호화 정보에 관해 암묵적인 암호 해제를 행하는 것이 가능하다.
또한, 본 실시형태에서는 서비스 매니저(2204)는 암호 해제를 행하지 않고, 스트림 정보 액세스 라이브러리가 암묵적인 암호 해제를 행하지만, 서비스 매니저(2204)에 의한 서비스 선택시에도 암묵적인 암호 해제를 행하는 형태를 취해도 본 발명은 적용 가능하다.
(실시형태 3)
실시형태 2에서는, Java 프로그램이, 스트림 정보 액세스 라이브러리를 이용한 시점에서 암호 해제가 개시되므로, 가장 새롭게 액세스된 정보에 대한 암묵적인 암호 해제가 가능했다. 그러나, 동시에 암호 해제 가능한 서비스는 실시형태 1과 마찬가지로 1개였기 때문에, 다수의 서비스를 동시에 암호 해제하는 것은 불가능했다. 예를 들면, Java 프로그램이 실시형태 2에서보다도 고기능의 EPG를 실현하는 경우를 생각한다. 이러한 EPG의 예를 도 39에 나타낸다. EPG는, 화면 좌반부에 프로그램표를 표시한다. 행 3911∼3914는 각 채널의 선택 후보를 나타낸다. 또 열 3901은 채널 식별자를, 열 3902는 채널명을 나타낸다. 또한 프로그램표에 있어서 선택 후보 커서(파선)가 지시하는 선택 후보의 영상을 화면 우측 아래의 3922에 표시하고, 선택이 끝난 커서(실선)가 지시하는 선택이 끝난 영상을 화면 우측 위의 3921에 표시한다. 도 39의 시점에서는, 선택 후보 커서는“TV Japan", 선택이 끝난 커서는 “채널 1"을 가리키고 있다. 이러한 EPG를 실현하는 Java 프로그램을 생각한 경우, 선택 후보의 영상과 선택이 끝난 영상 정보를 2개 동시에 암호 해제할 필요가 있다. 행 3911∼3914의 채널의 영상 음성은 통상 각각 1개의 서비스로 전송되기 때문에, 그러한 경우, 2개의 서비스를 동시에 암호 해제할 필요가 있다. 실시형태 1 및 2에서는, 동시에 암호 해제 가능한 서비스는 1개였기 때문에, 이러한 EPG를 Java 프로그램으로 실현하는 것은 불가능하다. 또 실시형태 1에서는 서비스 매니저(2204)가 동시에 선택 가능한 서비스는 1개뿐이었으나, 서비스 매니저(2204)가 동시에 다수의 서비스를 선택 가능했던 경우도, 다수의 서비스를 동시에 암호 해제할 필요가 있다. 이것에 관해서도 실시형태 1에서는 대응 불가능하다.
본 실시 형태에서는, 다수의 서비스를 동시에 암호 해제 가능하다. 이 실현을 위한 CA 라이브러리(2206)의 형태를 도 40에 나타낸다. 암호 해제 상태 관리부(2801), 디스크램블러 관리부(2802), 암호 해제 개시부(2803)에 변경을 가하고, 또한 암호 해제 정지부(4004)를 도입한다.
암호 해제 상태 관리부(2801)는, 실시형태 1에서는 1개의 프로그램 넘버만을 유지 가능했으나, 본 실시형태에서는 다수의 프로그램 넘버를 유지하는 것을 가능하게 한다. 또한, 각 프로그램 넘버에 관해 카운트를 유지한다.
디스크램블러 관리부(2802)는, 1개의 서비스만이 암호 해제되는 경우는, 암호 해제되어 있는 서비스마다 디스크램블러의 관리를 행할 필요가 없었기 때문에, 디스크램블러의 사용 상태로서 “사용중",“미사용"을 관리하는 것만으로 충분했다. 그러나, 본실시형태에서는, 다수 서비스의 동시 암호 해제를 허용하고 있기 때문에, 어느 서비스의 암호 해제에 어느 디스크램블러가 사용되고 있는지 알지 못하면, 서비스의 암호 해제를 적절하게 정지할 수 없다. 본 실시형태에서의 디스크램블러 관리부(2802)는, 디스크램블러마다, 사용 상태와 함께, 프로그램 넘버를 유지한다. 이에 의해, 어느 서비스의 암호 해제에 어느 디스크램블러가 사용되고 있는지 판단 가능해진다. 도 41에 본 실시형태에서의 디스크램블러 관리부(2802)의 관리의 형태를 나타낸 도면을 나타낸다. 도 29에 추가된 것은 열 4103이다. 열 4103은 프로그램 넘버를 나타내고, 어느 디스크램블러가 어느 서비스의 암호 해제에 사용되고 있는지를 나타낸다.
암호 해제 개시부(2803)는, 실시형태 1에 있어서는 도 31의 시퀀스에 있어서 기존의 암호 해제를 정지하고, 새로운 암호 해제를 개시하고 있었다. 이것은 동시에 암호 해제 가능한 서비스가 1개뿐이었기 때문에 새로운 암호 해제를 개시하기 위해서는, 기존의 암호 해제를 정지시키지 않으면 안되기 때문에 행한 처리였다. 본 실시형태에 있어서의 암호 해제 개시부(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)는 암호 해제를 정지하는 라이브러리로서 ROM(1609) 상에 기록되고, CPU(1606)에 의해서 실행된다.
도 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에 도시되는 시퀀스를 실현하는 라이브러리는, ROM(1609)에 기억되고, CPU(1806)에 의하여 실행된다. 도 46에 도시되는 시퀀스에 관해서는, 외부 어댑터(1811)의 ROM에 프로그램으로서 기억되고, 외부 어댑터(1811)가 CA-PMT를 수신할 때에 외부 어댑터(1811)의 CPU에 의해서 실행된다. 또, 실시형태 1에서의 암호 해제 개시부(2803)와 마찬가지로 도 45의 시퀀스와 도 46의 시퀀스는 동기하지 않고 실행되는 경우도 있다.
본 실시형태에서는, 다수 서비스를 동시에 암호 해제 가능하고, 서비스 메신저(2204)의 서비스 선택 시 및 Java 프로그램의 스트림 정보 액세스 라이브러리 사용 시의 양쪽에서 암호 해제가 개시된다.
실시형태 2에서는, 실시형태 1과 마찬가지로 동시에 암호 해제 가능한 서비스는 하나로 한정되어 있었기 때문에, 스트림 정보 액세스 라이브러리 사용 시에는, 이전의 암호 해제를 정지하고, 신규로 암호 해제를 개시하고 있었다. 그러나 본 실시형태에서는, 다수의 서비스의 암호 해제가 가능하기 때문에, 단순히 암호 해제를 행하는 서비스를 치환할 수는 없다. 그 때문에, 스트림 정보 액세스 라이브러리의 이용 개시 시에 서비스의 암호 해제를 개시하고, 종료 시에 서비스의 암호 해제를 정지한다. 이를 위해서는 암호 해제하고 있는 서비스의 프로그램 넘버를 기억해 둘 필요가 있다. 그 때문에, 각 스트림 정보 액세스 라이브러리에 서비스 기억부를 도입한다.
서비스 기억부는 스트림 정보 액세스 라이브러리마다 존재하고, 그 시점에서 그 스트림 정보 액세스 라이브러리가 암호 해제하고 있는 서비스의 프로그램 넘버를 유지한다. 일시 기억부(1608)에 존재하고, 각 스트림 정보 액세스 라이브러리에 의해서 참조된다. 스트림 정보 액세스 라이브러리는 동시에 다수의 암호 해제를 행하는 것이 가능하기 때문에, 다수의 프로그램 넘버를 유지 가능하다. 그 경우에는, 스트림 정보 액세스 라이브러리가 유지하는 실행 단위의 식별자와의 조로서 기록되고, 실행 단위의 식별자를 지정함으로써, 그 실행 단위에 기초하여 암호 해제되는 서비스의 프로그램 넘버를 취득 가능하다. 서비스 기억부가 각 스트림 정보 액세스 라이브러리에 존재하는 모양을 도 49에 도시한다. 이 도면에서, 서비스 기억부(4900a)는 JMF(2205a)에 속하고, 서비스 기억부(4900d)는 DSM-CC(2205d)에 속하고, 서비스 기억부(4900e)는 SF(2205e)에 속한다. 이후, 서비스 기억부를 4900이라고 칭한다.
스트림 정보 액세스 라이브러리의 예로서 JMF(2205a)의 경우를 서술한다. 이용의 개시에 관해서는, 도 47의 시퀀스를 이용한다. Java 프로그램이, JMF(2205a) 중의 어느 실행 단위에 대하여, 영상·음성의 재생명령을 내리면, 우선 채널 식별자를 수취하여(S4701), 프로그램 넘버를 취득(S4702)하고, 서비스가 암호화되어 있으면(S4703), 암호 해제 개시부(2803)를 이용하여 암호 해제를 개시한다(S4704). 그 때, 서비스 기억부(4900)에 대하여, 사실은 행 단위의 식별자와 프로그램 넘버를 조로 하여 기록한다(S4705). 그 후 영상 음성을 재생한다(S4706).
이용의 정지에 관해서는, 도 48의 시퀀스를 이용한다. Java 프로그램이 어떤 실행 단위에 대하여 영상 음성의 재생 정지 명령을 내리면, 그 시점에서 그 실행 단위가 재생하고 있던 영상·음성의 재생을 정지한다(S4801). 또한, 그 시점에서, 사실은 행 단위에 기초하는 암호 해제가 있으면 정지할 필요가 있으므로, 우선 서비스 기억부(4900)로부터, 그 실행 단위의 식별자와 조가 되는 프로그램 넘버를 취득한다(S4802). 만약 취득할 수 있으면(S4803), 암호 해제가 행해지고 있다는 것이므로, 암호 해제 정지부(4004)를 이용하여 암호 해제를 정지하고(S4804), 서비스 기억부(4900)로부터, 실행 단위의 식별자와 프로그램 넘버의 조를 삭제한다(S4805).
이와 같이 조작함으로써, JMF(2205a)의 이용 개시·정지와 동시에 암호 해제의 개시·정지를 행한다. 이들은 다른 스트림 정보 액세스 라이브러리에도 적용된다.
실시형태 1에서의 서비스 매니저(2204)는, 동시에 선택 가능한 서비스가 1개였기 때문에, 신규로 서비스의 선택을 행하는 시점에서, 그 전에 선택되어 있던 서비스의 선택이 종료되어 있었다. 암호 해제에 관해서는, 이전에 선택되어 있던 서비스의 암호 해제는, 신규 서비스의 선택을 행하는 시점에서 종료하는 것이 가능하였다. 그러나, 본 실시형태에서의 서비스 매니저(2204)는 다수의 서비스를 동시에 선택하는 것이 가능하다. 그 때문에, 신규 서비스의 선택 처리와, 이전의 서비스의 선택 종료 처리는 쌍으로 되지 않는다. 예컨대, 전술한 OCAP환경에서는, 서비스 매니저(2204)는 동시에 다수의 실행 단위 “서비스 컨텍스트”를 유지하는 것이 허용되고, 그에 따라서 동시에 다수의 서비스를 선택 가능하다. 또한, 실행 단위 “서비스 컨텍스트”의 수는 동적으로 변화하기 때문에, 동시에 선택되는 서비스의 수는 가변이다. 요컨대 본 실시형태에서의 서비스 매니저(2204)는, 서비스 선택 및 서비스 선택 종료의 기능을 가진다. 이 환경에서, 서비스 단위의 암호 해제를 실현하기 위해서, 상기 스트림 관리 라이브러리와 마찬가지로 서비스 매니저(2204) 내에도 서비스 기억부(4900)를 도입한다.
서비스 매니저(2204)에 의한 서비스의 선택은, 실시형태 1과 마찬가지로 “EPG(2202)를 이용한 사용자에 의한 채널 선택” 및 “Java 프로그램에 의한 서비스 매니저 관리 라이브러리(2205f)의 이용”에 의해서 개시된다. 또한 서비스 매니저(2204)에 의한 서비스의 선택 종료는, 이미 서비스를 선택하고 있는 실행 단위 “서비스 컨텍스트”에 관해서 또 다른 서비스 선택이 행하여지는 경우에, 그 서비스 선택에 앞서서 행하여지거나, 서비스 매니저 관리 라이브러리(2205f)에 존재하는 서비스 선택 종료 기능을 Java 프로그램이 이용하였을 때에 행하여진다. 서비스 매니저(2204)에 관해서도, 전술한 JMF(2205a)의 시퀀스와 마찬가지로 서비스 선택 시에 암호 해제를 개시하여 서비스 기억부(4900)에 실행 단위의 식별자와 프로그램 넘버의 조를 기록하고, 서비스 선택 종료 시에 서비스 기억부(4900)로부터 실행 단위에 대응하는 프로그램 넘버를 취득하여 암호 해제를 정지하고, 그 실행 단위의 식별자와 프로그램 넘버의 조를 삭제한다.
또, 본 실시형태에서는, 각 스트림 정보 액세스 라이브러리 내부에 유지하는 서비스 기억부(4900)는 실행 단위의 식별자와 프로그램 넘버의 조를 유지하지만, 또한, 절차(S4704)에서, 스트림 정보 액세스 라이브러리를 이용한 Java 프로그램을 단 하나 식별하기 위한 식별자도 동시에 서비스 기억부(4900)에 기록하는 실장도 가능하다. 즉, 서비스 기억부(4900)는 실행 단위의 식별자, 프로그램 넘버, Java 프로그램의 식별자의 3요소를 가지는 조를 유지하는 실장도 가능하다. 이 경우, Java 프로그램이 스트림 정보 액세스 라이브러리를 이용하여 MPEG2 트랜스포트 스트림 내의 암호화된 정보에 액세스하여, 암호 해제가 행하여진 후, 이용이 행하여진 채로, Java 프로그램이 종료된 경우, 그 Java 프로그램이 스트림 정보 액세스 라이브러리를 이용하여 개시된 암호 해제를, 암묵적으로 종료하는 실장이 가능하다. Java 프로그램의 기동·종료기능을 가지는 것은 AM2205b이고, AM2205b는 Java 프로그램을 종료할 때, 그 Java 프로그램의 식별자를 지정하여, 각 스트림 정보 액세스 라이브러리에 통지를 행한다. 통지를 받은 각 스트림 정보 액세스 라이브러리는, 각자가 유지하는 서비스 기억부(4900)가, 종료한 Java 프로그램의 식별자를 포함하는 조를 유지하는 경우, 그 조에 존재하는 프로그램 넘버에 의해서 식별되는 서비스의 암호 해제를, 암호 해제 정지부(4004)를 이용하여 정지한다. 동시에, 종료한 Java 프로그램의 식별자를 포함하는 조를 서비스 기억부(4900)로부터 삭제한다. 예컨대, 어떤 Java 프로그램이 영상·음성을 재생하기 위해서 스트림 정보 액세스 라이브러리를 이용하였을 때, 그것이 암호화되어 있으면 스트림 정보 액세스 라이브러리는 암호 해제를 개시하지만, 그 경우에 Java 프로그램의 식별자, 실행 단위 “플레이어”의 식별자, 프로그램 넘버의 조를 서비스 기억부(4900)에 유지해둔다. 그 Java 프로그램이 AM2205b에 의하여 종료되면, AM2205b는 그 Java 프로그램의 식별자를 지정하여 종료 통지를 각 스트림 정보 액세스 라이브러리에 대하여 행한다. JMF(2205a)는 그것을 받아, 그 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) 및 스트림 정보 액세스 라이브러리가 주의할 필요가 있다. 예를 들면, JMF(2205a)와 SF(2205e)가 같은 서비스 내의 암호화된 ES가 전송하는 정보를 이용하고 있었다고 해도, JMF(2205a)의 이용이 끝났을 때에 암호 해제 정지부(4004)를 이용하면 SF(2205e)의 이용이 아직 끝나지 않았음에도 불구하고 암호 해제가 정지하여 버린다. 이러한 상황을 피하기 위해서, 암호 해제 개시부(2803) 및 암호 해제 정지부(4004)의 이용자에게 공통의 서비스 기억부(4900)를 설치하여, 거기서 카운트를 행하는 실장도 가능하다.
도 39의 EPG를 실현하는 Java 프로그램의 동작예를 든다. 우선 방송 수신 장치 자신의 EPG(2202) 상에서 행하여지는 사용자의 채널 선택에 기초하여 서비스 매니저(2204)는 서비스의 선택을 행한다. 이 경우, EPG를 실현하는 Java 프로그램은 도 24의 행(2411)에서 나타내어는 “채널(1)”에 포함되고, 사용자는 “채널(1)”을 선택한 것으로 한다. 그러면, 서비스 매니저(2204)는 “채널(1)”의 채널 식별자 “1”에 기초하여 프로그램 넘버를 취득하여 서비스 선택을 행하여, 암호 해제가 개시된다. 영상 음성이 재생되고, 도 39의 EPG를 실현하는 Java 프로그램이 기동한다. 이 Java 프로그램은 디스플레이에 도 39와 같은 화면을 표시한다. 이 때, 디폴트에서 선택 종료로 되는 것은 “채널(1)”이고, 3921에는 서비스 매니저(2204)가 서비스의 선택을 행한 시점에서 암호 해제되어 있는 영상이 표시된다. 또한, 디폴트에서 선택 후보의 커서가 맞추어지는 것이 프로그램표의 제일 아래의 “TV Japan”이었던 경우, Java 프로그램은 JMF(2205a)를 이용하여, “TV Japan”의 영상을 3922에 표시한다. 이 때, JMF(2205a)는 암호 해제 개시부(2803)를 이용한다. 여기서는, 아직 암호 해제되어 있지 않은 서비스이므로, 새로 암호 해제를 개시한다. 나중에는, 선택 후보의 커서(파선)가 사용자에 의해서 상하로 움직여질 때마다, Java 프로그램은 JMF(2205a)를 이용하여 재생의 정지· 재생 개시를 되풀이한다. 이와 동시에, JMF(2205a)은 암호 해제의 정지와 개시를 행하게 된다. 다수 서비스의 암호 해제를 허용함으로써, 이러한 Java 프로그램을 실현하는 것이 가능해진다.
또 본 실시형태에서, 암묵적으로 암호 해제가 행하여지는 타이밍은, 서비스 매니저(2204)에 의한 서비스의 선택 시, 또는 Java 프로그램에 의한 스트림 정보 액세스 라이브러리의 이용 시, 또는 양쪽의 3종류이지만, 이 중 어느 것이라도 본 발명은 적용 가능하다. 서비스 매니저(2204)에 의한 서비스를 선택할 때뿐이었던 경우, 서비스 매니저(2204)에 의해서 선택되어 있는 서비스의 PMT에 포함되는 ES만이 암호 해제된다. 스트림 정보 액세스 라이브러리의 이용 시였던 경우, 서비스 매니저(2204)가 선택하고 있는 서비스에 상관없이, 어플리케이션이 이용하고 싶은 정보를 포함하는 PMT에 기초하는 암호 해제가 행하여진다. 양쪽인 경우는, 양쪽 모두 포함된다.
또한, 본 실시형태에서, 디스크램블러의 수가 부족해진 경우, 이미 개시되어 있는 암호 해제가 정지되지 않는 한, 암호 해제를 행하는 것이 불가능하다. 그와 같은 경우는, 서비스 매니저(2204)의 서비스 선택이나 스트림 정보 액세스 라이브러리를 이용한 MPEG2 트랜스포트 스트림이 포함하는 정보로의 액세스는 실질적으로는 불가능하게 된다. 이 경우에서, 암호 해제 실패이므로, 서비스 선택이나 스트림 정보에의 액세스 자신의 에러를 되돌리는 실장도 가능하고, 또한, 에러는 되돌리지 않고, 암호화되어 있지 않은 정보만에 대한 액세스에 대해서만 취득을 행하는 실장도 가능하다. 예컨대, 영상음성용 ES는 암호화되어 있지만 Java 프로그램을 전송하는 MPEG2 섹션용 ES는 암호화되어 있지 않은 서비스가 있어, 그것에 대하여 서비스 선택을 행한 서비스 매니저(2204)가 암호 해제를 개시할 수 없었던 경우, 영상·음성은 포기하고, Java 프로그램만을 기동함으로써 서비스 선택 성공으로서 취급하여도 되고, 암호 해제 실패를 이유로 서비스 선택 실패로서 취급하는 실장도 있을 수 있다.
또한 전술한 OCAP 환경에서는 서비스는 2종류 존재한다. 하나는 PMT와 결부되어 존재하는 통상적인 서비스이고, 다른 하나는 PMT와 결부되지 않고 존재하는 추상 서비스이다. 추상 서비스는 Java 프로그램만을 내포하여 존재하여, 서비스의 선택 시에는 영상·음성의 재생은 행하지 않고, DSM-CC(2205d)를 이용하여 Java 프로그램을 다운로드할 뿐이다. 또한 추상 서비스는 Java 프로그램의 실행이 종료하면 서비스의 선택이 종료된다. OCAP 환경과 같이, 서비스의 타입이 2종류 있는 것과 같은 환경에서는, 서비스 매니저(2204)에 의한 서비스 선택 시, 서비스 타입에 따라서, 암호 해제를 개시, 정지하는 타이밍을 바꾸어도 된다. 예컨대, 통상적인 서비스의 선택에서는, 서비스 매니저(2204)에 의한 서비스 선택 시에 암묵적으로 암호 해제를 개시하지만, 추상 서비스의 경우는 서비스 선택 시에는 암호 해제를 행하지 않는다. 그 경우, 추상 서비스 선택 과정에서, DSM-CC(2205d)에 의한 Java 프로그램의 다운로드 동안에만 암호 해제가 행하여지고, 다운로드가 종료하면 DSM-CC(2205d)에 의하여 그 암호 해제는 정지된다. 이 환경에서는, 통상 서비스에 관해서는 서비스가 선택되고 있는 동안 암호 해제가 계속되지만, 추상 서비스에 관해서는 서비스의 선택 개시 시에 DSM-CC(2205d)에 의한 암호 해제가 행하여질 뿐이고, 나중에는 서비스가 선택되고 있는 동안에도 암호 해제는 행하여지지 않는다.
(실시형태 4)
이전의 실시형태에서는, 암호 해제의 단위로서 서비스를 이용하고 있었다. 그러나, 서비스를 암호 해제의 단위로 한 경우, 실제로는 Java 프로그램이 이용하지 않는 암호화된 정보까지 암호 해제가 행하여지기 때문에, 디스크램블러가 불필요하다. 보다 효과적으로 디스크램블러를 이용하기 위해서는, 필요할 때에 필요한 암호 해제를 행해야만 한다. 예컨대, ES를 지정하여 섹션의 선별을 행하는 SF(2205e)가 Java 프로그램에 의하여 이용되고, 그 과정에서 암묵적으로 암호 해제를 행하는 경우, 지정된 ES는 1개이고, 1개의 디스크램블러를 점유하여 암호 해제를 행하면 충분하지만, 이전의 실시형태에서는 서비스 단위로 암호 해제를 행하기 때문에, 지정 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). 카운트가 하나 이상이면(S5003), 카운트를 1 늘려(S5008), 시퀀스를 종료한다. 카운트가 O이면, 아직 지정 PID의 TS 패킷이 구성하는 ES는 암호 해제가 개시되어 있지 않다. 프로그램 넘버에 대응하는 PMT를 취득하여(S5O04), 그 중에서 추출한 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의 시퀀스는 ROM(1609)에 존재하는 라이브러리로서 실현되고, 도 51의 시퀀스는 외부 어댑터(1811) 내의 ROM에 있는 프로그램으로서 실현되는 경우도 있다. 더우기, 이 둘은 동기하지 않고 동작하는 실장 형태를 취하는 경우도 있다. 어느 쪽에서나 본 발명은 적용 가능하다.
암호 해제 정지부(4004)의 동작 시퀀스는 디스크램블러가 방송 수신 장치 안에 있는지 밖에 있는지에 따라 다르다.
도 16과 같이 디스크램블러가 단말장치(1600) 내부에 존재하는 경우의 동작 시퀀스를 도 52에 도시한다. 우선 프로그램 넘버 및 PID를 수취하면(S5201), 암호 해제 상태 관리부(2801)에 문의하여, 프로그램 넘버와 PID의 조의 카운트를 취득한다(S5202). 카운트의 값을 판정하여(S5203), O이면 그 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), O이면 지정된 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). 본 실시형태에서도, ROM(1609)에 도 53의 시퀀스를 실현하는 라이브러리가 기록되고, 도 54의 시퀀스를 실현하는 프로그램이 외부 어댑터(1811) 내의 ROM에 기록되는 실장형태는 가능하다. 또, 2개가 동기하지 않고 실행되는 형태도 가능하다. 어느 경우나 본 발명은 적용 가능하다
본 실시형태에서는, 서비스 매니저(2204)에 의한 암묵적인 암호 해제더라도, 스트림 정보 액세스 라이브러리에 의한 암묵적인 암호 해제이라도 된다. 또한 그 암호 해제의 개시·정지의 타이밍은, 실시형태 3과 마찬가지로 서비스 매니저(2204)의 서비스 선택 시에 개시하여, 서비스 선택 종료 시에 정지, 및 스트림 정보 액세스 라이브러리의 이용 개시 시에 암호 해제 개시하여, 이용 종료 시에 암호 해제를 정지한다. 단, 암호 해제 개시부(2803) 및 암호 해제 정지부(4004)에 지정하는 정보는 프로그램 넘버뿐만 아니라, PID를 지정 가능하므로, SF(2205e) 등, 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)는 프로그램 넘버 1개와 PID 1개를 수취하지만, PID가 다수더라도 실장 가능하다. 그 경우, 암호 해제 개시부(2803) 및 암호 해제 정지부(4004)의 동작 시퀀스 내에서, 본 실시형태에서 서술한 단체의 ES에 대한 조작을 지정된 ES만큼 반복한다. 또한, 서비스를 지정하여 PID 지정을 생략함으로써 PMT 내의 모든 ES를 표현하고자 하는 경우에는, 단지 프로그램 넘버만 지정함으로써, 그와 같이 동작하도록 실장 가능하다.
본 실시형태를 이용함으로써, Java 프로그램에 의식시키지 않고, 효율적으로 디스크램블러를 이용하는 것이 가능해진다.
(실시형태 5)
실시형태 3에서는, 암호 해제 개시부(2803)는, 디스크램블러가 있는 한, 다수의 서비스의 동시 암호 해제를 실현하는 것이 가능하다. 예를 들면, ES를 10개 포함하는 서비스가 10개 있었던 경우, 디스크램블러가 100개있으면 모든 서비스를 동시에 암호 해제 가능하다. 또한, 실시형태 4에서는, 서비스 단위가 아니라 ES 단위에서의 암호 해제를 실현하여, 필요한 ES만을 암호 해제하는 형태에 관하여 서술하였다. 이들은 단말장치 내에 디스크램블러의 존재 여부에 상관없이, 어느 만큼의 서비스 또는 ES를 동시에 암호 해제할 수가 있는가라는 최대값은, 이용 가능한 디스크램블러의 수에 의존하였다. 예컨대, 도 51의 절차(S5103)와 같이, 비어 있는 디스크램블러가 존재하면 암호 해제를 개시한다는 판단이 암호 해제 개시부(2803)의 동작 시퀀스 중에 존재하고 있다. 그러나 하드웨어 제한이나 소프트웨어 제한에 의해, 동시에 암호 해제 가능한 서비스의 수가 결정되어 있는 경우가 있다. 예를 들면, 실시형태 1에서는 동시에 암호 해제 가능한 서비스는 1개로 결정되어 있었다. 예를 들면, 외부 어댑터(1811)를 이용하는 하드웨어 구성에서는, 동시에 암호 해제 가능한 서비스의 최대수는 외부 어댑터(1811)에 의존하여 결정된다. 또한 외부 어댑터(1811)는 단말장치(1800)에 대하여 착탈 가능하므로, 단말장치(1800)에 있어서 서비스의 최대수 관리를 미리 고정해두는 것은 불가능하다.
그래서, 본 실시형태에서는 서비스 최대수를 관리하는 기구를 도입한다.
본 실시형태에서는 도 55에 도시한 구성도와 같이, CA 라이브러리(2206)에, 새롭게 서비스 최대수 관리부(5505)를 도입한다.
서비스 최대수 관리부(5505)는, 동시에 암호 해제 가능한 서비스의 최대수를 유지한다. 예를 들면, 동시에 1개의 서비스밖에 암호 해제할 수 없는 경우는 “1”을 유지하고, 동시에 3개의 서비스까지 동시에 암호 해제 가능한 경우에는 “3”을 유지한다. 서비스 최대수 관리부(5505)는 도 16과 같이 디스크램블러가 단말장치(1600) 내에 존재하는 경우는 ROM(1609)에 유지되고, 암호 해제 개시부(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)로부터, 그 시점에서 암호 해제를 하고 있는 서비스 수를 취득한다. 2개의 값을 비교하여, 최대수 쪽이 큰 경우에는, 암호 해제를 개시한다. 서비스 최대수 관리부(5505)가 외부 어댑터(1811) 상에 존재하는 경우, 외부 어댑터(1811)가 CA-PMT를 수취했을 때, 외부 어댑터(1811)상에서 동작하는 암호 해제 시퀀스를 실현하는 프로그램에 의해서, 서비스 최대수 관리부(5505)로부터 동시 암호 해제 서비스의 최대수가 취득되고, 또한 디스크램블러 관리부(2802)로부터 그 시점에서 행하여지고 있는 암호 해제의 수를 취득한다. 그 2개의 값을 비교하여, 최대수 쪽이 큰 경우는, 암호 해제를 개시한다.
본 실시형태에 대해서도, 서비스 매니저(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과 동일하여도 된다.
즉 지정된 프로그램 넘버에서의 암호 해제가 이미 개시되어 있으면, 그 암호 해제를 정지한다.
상기 구성의 실현에 의해, 1개의 서비스밖에 동시에 암호 해제를 행할 수 없는 하드웨어 구성에서도, 선승을 실현 가능하다. 예를 들면, 2개의 Java 프로그램(Java 프로그램(1), Java 프로그램(2))이 동시에 동작하고 있는 경우, Java 프로그램(1)이 먼저 JMF(2205a)로써 영상 음성 재생을 개시하고, 그에 따라 암묵적으로 암호 해제를 개시하고 있었던 경우, Java 프로그램(2)이 JMF(2205a)를 이용하여 별도의 서비스에 포함되는 영상 음성의 재생을 개시하고자 하더라도, 암호 해제는 이미 Java 프로그램(1)이 지정한 서비스에 대하여 행하여지고 있기 때문에, 도 56에서의 절차(S5603)의 판단에 의해, Java 프로그램(2)이 지정한 서비스는 암호 해제를 개시할 수 없다. 이렇게 하여 선승이 실현된다.
(실시형태 7)
실시형태 6에서는, 다수의 Java 프로그램이 동작하는 환경을 상정하지만, 디스크램블러의 경합이 일어난 경우, 먼저 암호 해제를 개시하고 있는 Java 프로그램의 사용권이 우선되고 있었다. 본 실시형태에서는, 다수의 Java 프로그램이 동작하고, 또한 각 Java 프로그램에 우선도가 설정되어 있는 상황을 상정한다. 이러한 상황의 모식도를 도 57(1)에 도시한다. Java 프로그램A(5701)에 의해서 이미 디스크램블러(5711), 디스크램블러(5712), 디스크램블러(5713)가 이용되고 있다. 여기서, Java 프로그램B(5702)가 동시에 2개의 ES의 암호 해제를 행하고자 하는 경우, 디스크램블러(5714) 밖에 미사용의 디스크램블러가 존재하지 않기 때문에, 암호 해제를 개시할 수 없다. 여기서, 각 Java 프로그램에 우선도가 설정되어 있고, Java 프로그램A(5701)보다도 Java 프로그램B(5702) 쪽이 우선도가 높게 설정되어 있는 경우, 본 실시형태에서는 도 57(2)와 같이 Java 프로그램A(5701)에 의한 암호 해제가 정지되고, Java 프로그램B(5702)에 의한 암호 해제가 개시된다.
본 실시형태에서는, 다수의 Java 프로그램간에서 디스크램블러의 경합이 일어난 경우, 고우선도의 Java 프로그램에 의한 방송신호 내 정보에의 액세스 라이브러리의 이용에 대응하는 암묵적인 암호 해제가 우선한다. 이를 실현하기 위해서, 이전의 실시형태에서의 암호 해제 상태 관리부(2801), 암호 해제 개시부(2803)에 변경을 행한다. 또한 디스크램블러 관리부(2802)에 관해서는 실시형태 3과 동일하게 한다.
암호 해제 상태 관리부(2801)는, 프로그램 넘버, 카운터와 함께, 암호 해제의 기초가 되는 스트림 정보 액세스 라이브러리의 이용을 행한 Java 프로그램의 우선도를 기록한다. 또한 다수의 Java 프로그램이 우선도를 이용한 경우, 모든 Java 프로그램의 우선도를 기록한다.
암호 해제 개시부(2803)는, 이미 암호 해제가 행하여지고 있는 경우, 이미 개시되는 암호 해제의 기초가 되는 서비스 매니저 관리 라이브러리(2205f) 또는 스트림 정보 액세스 라이브러리를 이용한 Java 프로그램의 우선도가, 신규로 서비스 매니저 관리 라이브러리(2205f) 또는 스트림 정보 액세스 라이브러리를 이용한 Java 프로그램의 우선도보다도 낮은 경우, 이미 행하여지고 있는 암호 해제를 암묵적으로 정지하고, 신규로 암호 해제를 개시한다. 단, 이미 다수의 Java 프로그램으로부터 암호 해제되어 있는 서비스가 있는 경우, 암호 해제 상태 관리부(2801)는 이들 모든 Java 프로그램의 우선도를 기록하고 있다. 도 58에 이러한 상황을 도시한다. 도 58에서는, Java 프로그램A(5801) 및 Java 프로그램B(5802)이, 프로그램 넘버가 101인 서비스의 암호 해제를 행하고 있다. 이 상황에서의 암호 해제 상태 관리부(2801)는 도 59와 같이 되어 있다. 프로그램 넘버가 101인 프로그램을 암호 해제하고 있는 것은, 우선도가 “10”인 Java 프로그램A(5801)과, 우선도가 “20”인 Java 프로그램B(5802)인 것을 나타내고 있다. 이 때, Java 프로그램C(5803)이 암호 해제를 개시하고자 할 때, 만약 Java 프로그램C(5803)의 우선도가 20을 초과하여 있으면 디스크램블러를 제거하는 것이 가능하다. 그러나, 만약 Java 프로그램C(5803)C(5803)도가 20이하이면, 그 우선도가 Java 프로그램A(5801)A(5801)하고 있었다고 해도, Java 프로그램B(5802)의 우선도 이하이므로, 디스크램블러를 제거할 수는 없다.
도 60에 본 실시형태에서의 전체 시퀀스도를 나타낸다. Java 프로그램(1) 및 Java 프로그램(2)은 방송 수신 장치 상에서 동시에 동작하는 2개의 Java 프로그램이고, Java 프로그램(2)쪽이 우선도가 높다고 한다. 우선 Java 프로그램(1)이 JMF(2205a)를 이용하여 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6001). CA 라이브러리(2206)는 암호 해제를 개시한다 (S6002). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 다른 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6003). CA 라이브러리(2206)는, 이미 개시되어 있는 암호 해제를 행한 Java 프로그램(1)의 우선도와, 신규로 암호 해제를 행하고자 하는 Java 프로그램(2)의 우선도를 비교하여, Java 프로그램(2)쪽이 우선도가 높기 때문에, Java 프로그램(1)의 암호 해제를 정지하고, Java 프로그램(2)의 암호 해제를 개시한다(S6004).
또 본 실시형태에서, 암묵적으로 암호 해제가 행하여지는 타이밍은, 실시형태 1과 동일한 서비스 매니저(2204)에 의한 서비스를 선택할 때뿐인 경우와, 실시형태 2와 동일한 스트림 정보 액세스 라이브러리 이용 시의 경우, 양쪽의 경우의 3종류가 존재한다. 이 중 어느 것이라도 본 발명은 적용 가능하다. 또한, 동시에 다수 서비스의 암호 해제가 가능하더라도, 본 발명은 적용 가능하다. 그 경우, 암호 해제 상태 관리부(2801) 및 디스크램블러 관리부(2802)는 실시형태 3의 것을 베이스로서 이용한다. 또한, 암호 해제의 단위는 ES더라도 본 발명은 적용 가능하다. ES를 단위로 하는 경우는 암호 해제 상태 관리부(2801) 및 디스크램블러 관리부(2802)는 실시형태 4의 것을 베이스로서 이용한다.
또한, 본 실시형태에서는, Java 프로그램들의 우선도를 이용한 경합의 해결에 관하여 서술하고 있으나, 서비스 매니저(2204)에 의한 서비스 선택 시에 암묵적으로 암호 해제가 개시되는 경우, Java 프로그램에 의한 서비스 매니저 관리 라이브러리(2205f)의 이용뿐만 아니라, EPG(2202)를 이용한 사용자에 의한 채널선택에 의해서 서비스 선택이 개시되는 경우가 있다. 그 때문에, EPG(2202)에 의한 서비스 선택에 기초하는 암호 해제에 관해서도 우선도를 설정하여, 우선도를 이용하여 암호 해제를 행하는 것이 가능하다. 예를 들어, 모든 Java 프로그램보다도 높은 우선도를 사용자에게 부여하면, 사용자가 EPG(22O2)로 채널 선택을 행하는 것에 의한 서비스 선택이 서비스 매니저(2204)에 의해서 개시될 때, Java 프로그램의 서비스 매니저 관리 라이브러리(2205f)의 이용 또는 스트림 정보 액세스 라이브러리의 이용에 기인하는 암호 해제에 우선하여, 서비스의 암호 해제가 개시된다. 또한, Java 프로그램이 취할 수 있는 우선도의 범위 내의 1점을 사용자의 우선도로 설정하면, 그 점 미만의 우선도를 갖는 Java 프로그램이 개시한 암호 해제를 행하는 디스크램블러를 제거하지만, 그 점보다 높은 우선도를 가지는 Java 프로그램이 개시한 암호 해제를 행하는 디스크램블러를 제거할 수는 없다. 전술한 OCAP 환경에서는, 시스템 관리를 행하기 위해서 Java 프로그램이 취할 수 있는 범위에서 최고의 우선도를 갖는 관리용 Java 프로그램이 방송 수신 장치 상에서 동작하지만, 예를 들어 사용자의 우선도가 관리용 Java 프로그램의 우선도보다 높으면, 관리용 Java 프로그램에 우선하여 암호 해제를 행하는 것이 가능하고, 또한 관리용 Java 프로그램보다 낮으면 관리용 Java 프로그램이 개시한 암호 해제에 이용되는 디스크램블러를 제거할 수 없게 된다. 이러한 사용자의 우선도를 설정하여, Java 프로그램과 사용자 조작 간의 경합을 해결하는 것이 가능하다.
또한, Java 프로그램과 사용자 이외에, 방송 수신 장치에 의해서 스트림 정보 액세스 라이브러리가 이용되는 경우가 있다. 예컨대 전술한 OCAP 환경에서는, 방송 수신 장치는 AM2205b를 이용하여, OOB로써 전송되는 XAIT라는 정보를 상시 감시한다. 이는 추상 서비스에 관한 정보를 포함하고 있어, XAIT의 정보가 갱신된 경우, 추상 서비스에 포함되는 Java 프로그램을 다운로드해야만 하는 경우가 있다. 그 경우, AM2205b는, DSM-CC(2205d)를 이용하여 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 프로그램이 이벤트 청취자를 등록하기 위한 라이브러리로서 실현된다. ROM(1609)에 저장되고, CPU(1606)에 의해서 실행된다. 이벤트 청취자 등록부(6102)에 의하여 등록된 이벤트 청취자는 이벤트 청취자 관리부(6101)에 의해서 관리되고, 암호 해제에 관한 이벤트를 통지하는 데에 이용된다.
이벤트 청취자 삭제부(6103)는 Java 프로그램이 이벤트 청취자 관리부(6101)에 등록된 이벤트 청취자를 삭제하기 위한 라이브러리로서 실현된다. ROM(1609)에 저장되고, CPU(1606)에 의해서 실행된다.
이벤트 청취자 등록부(6102) 및 이벤트 청취자 삭제부(6103)는 Java 프로그램에 의해서 이용된다.
또한, 통지되는 이벤트는 이벤트의 이유를 유지하는 경우가 있어도 된다. 예를 들어, 암호 해제 정지 이벤트인 경우, 그것이 왜 정지하였는가를 나타내는 이유를 유지하여도 된다. 또한 이벤트 청취자는 반드시 암호 해제 정지 이벤트만을 수취할 필요는 없다. 본 실시형태에서는, 암호 해제가 다른 Java 프로그램에 의해서 제거되었을 때만 이벤트가 통지되지만, 실장에 의해서는 통상의 암호 해제의 개시 이벤트나 별도의 이유에 의한 암호 해제 정지 이벤트가 통지되어도 된다.
도 62에 본 실시형태에서의 시퀀스도를 도시한다. Java 프로그램(1)및 Java 프로그램(2)은 방송 수신 장치 상에서 동시에 동작하는 2개의 Java 프로그램이고, Java 프로그램(2) 쪽이 우선도가 높다고 한다. 우선 Java 프로그램(1)이 이벤트 청취자 등록부(6102)를 이용하는 S6201과, CA 라이브러리(2206)는 그 이벤트 청취자를 이벤트 청취자 관리부(6101)에 등록한다(S6202). 다음으로 Java 프로그램(1)이 JMF(2205a)를 이용하여 영상·음성의 재생을 행하면, JMF(2205a)은 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6203). CA 라이브러리(2206)는 암호 해제를 개시한다(S6204). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 별도의 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 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)은 방송 수신 장치 상에서 동시에 동작하는 2개의 Java 프로그램이고, Java 프로그램(2) 쪽이 우선도가 높다고 한다. 우선 Java 프로그램(1)이 이벤트 청취자 등록부(6102)를 이용하면(S6301), CA 라이브러리(2206)는 그 이벤트 청취자를 이벤트 청취자 관리부(6101)에 등록한다(S6302). 다음으로 Java 프로그램(1)이 JMF(2205a)를 이용하여 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6303). CA 라이브러리(2206)는 암호 해제를 개시한다(S6304). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 별도의 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6305). CA 라이브러리(2206)는 이미 개시되어 있는 암호 해제를 행한 Java 프로그램(1)의 우선도와, 신규로 암호 해제를 행하고자 하는 Java 프로그램(2)의 우선도를 비교하여, Java 프로그램(2)쪽이 우선도가 높기 때문에, Java 프로그램(1)의 암호 해제를 정지하여, Java 프로그램(2)의 암호 해제를 개시한다(S6306). 그 때, Java 프로그램(1)의 암호 해제는 정지되었기 때문에, Java 프로그램(1)의 이벤트 청취자에 대하여 암호 해제가 정지되었다는 뜻의 통지를 행한다(S6307). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 영상·음성의 재생을 정지하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 정지하려고 한다(S6308). CA 라이브러리(2206)는 암호 해제를 정지하고(S6309), Java 프로그램(1)에 대하여, 암호 해제가 재개 가능하게 되었다는 뜻의 통지를 행한다(S6310).
(실시형태 10)
실시형태 8에서는, 다수의 Java 프로그램이 동시에 동작하여, 고 우선도의 Java 프로그램이 저 우선도의 Java 프로그램의 암호 해제를 정지한 경우, 저 우선도의 Java 프로그램은, 자신의 암호 해제가 정지된 것을 통지되는 이벤트 청취자를 등록·삭제하는 수단을 얻었다. 본 실시형태에서는, 또한 그 후 고 우선도의 Java 프로그램에 의한 암호 해제가 종료한 경우, 암호 해제가 정지된 저 우선도의 Java 프로그램이 필요로 하는 암호 해제를 암묵적으로 개시하고, 암호 해제를 재개하였다는 뜻의 통지를 저 우선도의 Java 프로그램의 이벤트 청취자에 대하여 행한다.
도 64에 본 실시형태에서의 시퀀스도를 도시한다. Java 프로그램(1)및 Java 프로그램(2)은 방송 수신 장치 상에서 동시에 동작하는 2개의 Java 프로그램이고, Java 프로그램(2) 쪽이 우선도가 높다고 한다. 우선 Java 프로그램(1)이 이벤트 청취자 등록부(6102)를 이용하면(S6401), CA 라이브러리(2206)는 그 이벤트 청취자를 이벤트 청취자 관리부(6101)에 등록한다(S6402). 다음으로 Java 프로그램(1)이 JMF(2205a)를 이용하여 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6403). CA 라이브러리(2206)는 암호 해제를 개시한다(S6404). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 별도의 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6405). CA 라이브러리(2206)는, 이미 개시되어 있는 암호 해제를 행한 Java 프로그램(1)의 우선도와, 신규로 암호 해제를 행하고자 하는 Java 프로그램(2)의 우선도를 비교하여, Java 프로그램(2) 쪽이 우선도가 높기 때문에, Java 프로그램(1)의 암호 해제를 정지하여, Java 프로그램(2)의 암호 해제를 개시한다(S6406). 그 때, Java 프로그램(1)의 암호 해제는 정지되었기 때문에, Java 프로그램(1)의 이벤트 청취자에 대하여 암호 해제가 정지되었다는 뜻의 통지를 행한다(S6407). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 영상·음성의 재생을 정지하면, JMF(2205a)는 암묵적으로 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)은 방송 수신 장치 상에서 동시에 동작하는 2개의 Java 프로그램이고, Java 프로그램(2) 쪽이 우선도가 높다고 한다. 우선 Java 프로그램(1)이 JMF(2205a)를 이용하여 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6501). CA 라이브러리(2206)는 암호 해제를 개시한다(S6502). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 다른 영상·음성의 재생을 행하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 개시하려고 한다(S6503). CA 라이브러리(2206)는, 이미 개시되어 있는 암호 해제를 행한 Java 프로그램(1)의 우선도와, 신규로 암호 해제를 행하고자 하는 Java 프로그램(2)의 우선도를 비교하여, Java 프로그램(2) 쪽이 우선도가 높기 때문에, Java 프로그램(1)의 암호 해제를 정지하여, Java 프로그램(2)의 암호 해제를 개시한다(S6504). 그 후, Java 프로그램(2)이 JMF(2205a)를 이용하여 영상·음성의 재생을 정지하면, JMF(2205a)는 암묵적으로 CA 라이브러리(2206)를 이용하여 암호 해제를 정지하려고 한다(S6505). CA 라이브러리(2206)는 암호 해제를 정지하여 Java 프로그램(1)의 암호 해제를 재개한다(S6506).
본 실시형태를 이용하면, Java 프로그램은, 보다 고 우선도의 Java 프로그램에 암호 해제를 제거되더라도, 그 이용이 종료하였을 때, 자동적으로 암호 해제를 부활할 수 있다.
(실시형태 12)
실시형태 1∼11에서는, CA 라이브러리(2206)는 방송송신장치가 암묵적으로 암호 해제를 행하는 것에 이용되어, Java 프로그램 자신이 이것을 이용하는 것은 불가능하였다. 본 실시형태에서는, CA 라이브러리(2206)를 Java 프로그램에 대하여 해방하여, Java 프로그램이 독자적으로 암호 해제를 행하는 것을 가능하게 한다. 이에 있어서, 우선 CA 라이브러리(2206)는 Java 언어를 이용한 라이브러리가 된다. 또한, 이전의 실시형태에서는, “EPG(2202)를 이용한 사용자에 의한 채널 선택” 및 “Java 프로그램에 의한 서비스 매니저 관리 라이브러리(2205f)의 이용” 및 “Java 프로그램에 의한 스트림 정보 액세스 라이브러리의 이용” 및 “방송 수신 장치에 의한 스트림 정보 액세스 라이브러리의 이용”의 4종류의 암호 해제의 개시 타이밍이 존재하였으나, 본 실시형태에서는 “Java 프로그램에 의한 서비스 매니저 관리 라이브러리(2205f)의 이용” 및 “Java 프로그램에 의한 스트림 정보 액세스 라이브러리의 이용”의 경우에는, 암묵적인 암호 해제는 개시되지 않는다. 이 경우는 Java 프로그램 자신이, CA 라이브러리(2206)를 이용하여 암호 해제를 개시한다.
단순한 예로서 도 66에 Java 프로그램이 CA 라이브러리(2206)의 기구를 이용하여 암호 해제하여, 영상 음성을 이용하는 동작 시퀀스를 도시한다. 채널 식별자를 취득(S6601)하면, 채널 식별자로부터 프로그램 넘버를 얻는다(S6602). PMT는 암호화되지 않은 환경이므로 SF(2205e)를 이용하여 PMT를 취득하고(S6603), 만약 CA 기술자가 포함되어 있어 암호화가 이루어지고 있으면(S6604), 암호 해제 개시부(2803)를 이용하여 서비스의 암호 해제를 개시한다(S6605). 그 후, JMF(2205a)를 이용하여 영상·음성의 재생을 개시한다.
또, 이전의 실시형태에서의, 암묵적인 암호 해제 개시·정지에 기초하는 기구는 모두 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 프로그램은 “EPG(2202)를 이용한 사용자에 의한 채널 선택” 및 “방송송신장치에 의한 스트림 정보 액세스 라이브러리의 이용”에 의한 암호 해제에 의해, Java 프로그램이 개시한 암호 해제가 제거되는 경우가 있다. 이전의 실시형태에서는, Java 프로그램의 우선도만 주목하고 있기 때문에, Java 프로그램이 다수의 서비스의 암호 해제를 행하고 있는 경우, 어느 쪽의 서비스의 암호 해제가 정지되었는가를 Java 프로그램이 지정하는 것은 불가능하였다.
본 실시형태에서는, 암호 해제 상태 관리부(2801), 암호 해제 상태 개시부(2802)에 변경을 실시하여, 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), 만약 카운트가 하나 이상이고, 이미 암호 해제가 개시되어 있으면, 암호 해제 상태 관리부(2801)가 관리하는 카운트에 1을 더하여(S6709), 시퀀스를 종료한다. 만약 카운트가 O이고, 아직 암호 해제가 개시되지 않았으면, 암호 해제를 개시하기 위해서, 우선 프로그램 넘버에 대응하는 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에서는, 하나 이상의 서비스의 동시 암호 해제가 가능한 환경에서, 서비스 매니저(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)에 의뢰하여 암호 해제가 개시된 서비스」 중에서 암호 해제 정지하는 서비스를 선택하고 있다. 이 때, 우선도에 의한 판단을 이용하여 정지하는 서비스를 선택하고 있지만, 이 선택에는 여러가지 방법을 생각할 수 있다. 예컨대, 「먼저 개시되는 서비스의 암호 해제를 정지시키지 않고, 후에 요구된 암호 해제는 행하지 않는다(선승)」 「가장 먼저 암호 해제가 개시된 서비스를 정지한다(First In First Out)」 등이다. 이러한 선택 알고리즘이 이용되어도 된다. 또 우선도 판단을 행하는 경우라도, 우선도가 같은 Java 프로그램이 암호 해제한 서비스가 다수 존재하는 경우에는, 「선승」「First In First Out」 등의 대응을 생각할 수 있다.
또한, 본 실시 형태에서는 스트림 정보 액세스 라이브러리가 불려졌을 시에, 동시에 암호 해제 가능한 서비스의 최대치를 초과한 경우, 「스트림 정보 액세스 라이브러리가 암호 해제(2803)에 의뢰하여 암호 해제가 개시된 서비스」 중에서 암호 해제 정지하는 서비스를 선택한다. 그러나, 스트림 정보 액세스 라이브러리가 개시한 암호 해제라도, 제거하는 것을 금지하고 싶은 경우를 생각할 수 있다. 예컨대, JMF(2205a)를 이용하여 재생 중의 영상·음성이 포함되는 서비스의 암호 해제는 정지하고 싶지 않지만, SF(2205e)를 이용하여 데이터를 참조하고 있는 서비스의 암호 해제는 제거되어도 되는 경우 등이다. 이를 실현하기 위해서, 암호 해제 상태 관리부(2801)가 더욱 암호 해제를 개시한 스트림 정보 액세스 라이브러리의 종류를 기록해 놓고, 암호 해제를 정지하는 서비스를 선택할 시에, 미리 결정된 스트림 정보 액세스 라이브러리가 개시한 암호 해제는 정지하지 않는다, 라는 실장이어도 된다. 예컨대, JMF(2205a)가 개시한 암호 해제는 개시하지 않는다, 라는 실장이었을 경우, 암호 해제를 정지하는 서비스를 선택할 시에 서비스 매니저(2204) 및 JMF(2205a)가 암호 해제 개시부(2803)를 이용하여 암호 해제를 개시한 서비스가 제외된다. 또한 ,상술한 서비스 매니저(2204)가 개시한 암호 해제를 암호 해제 정지 후보에 포함시키지 않는 실장인 경우, 미리 결정된 스트림 정보 액세스 라이브러리만 특별시되어, 이 스트림 정보 액세스 라이브러리를 이용하여 개시된 것만 암호 해제 정지 후보로부터 제외된다.
또한 ,예컨대 동일한 JMF(2205a)가 개시한 암호 해제라도, 어떤 서비스A에 관한 암호 해제는 정지되어서는 안되고, 서비스B에 관한 암호 해제는 정지되어도 된다, 라는 케이스도 생각할 수 있다. 이를 실현하기 위해, 암호 해제 상태 관리부(2801)가 또한 프로그램 넘버마다 암호 해제 정지 가능 플래그를 유지하는 실장도 생각할 수 있다. 이 때, 스트림 정보 액세스 라이브러리가 암호 해제 개시부(2803)를 이용하여 서비스 A의 암호 해제를 개시할 시에 암호 해제 정지 가능 플래그를 OFF해 놓고, 서비스 B의 암호 해제를 개시할 시에는 암호 해제 정지 가능 플래그를 ON으로 해 놓으면, 후에 암호 해제 개시부(2803)가 암호 해제 정지하는 서비스를 선택하지 않으면 안될 때, 암호 해제 정지 가능 플래그가 OFF로 되어 있는 서비스를 암호 해제 정지 후보로부터 제외한다. 이와 같이 실장함으로써, 특정한 서비스에 관해서는 암호 해제를 정지하고 싶지 않은 경우에 대응하는 것이 가능하게 된다. 또한, 상술한 서비스 매니저(2204)가 개시한 암호 해제를 암호 해제 정지 후보에 포함시키지 않는 실장인 경우, 스트림 정보 액세스 라이브러리가 개시되고, 암호 해제 정지 플래그가 OFF로 설정된 서비스만 암호 해제 정지 후보로부터 제외된다. 또, 서비스 매니저(2204)가 개시한 암호 해제를 암호 해제 정지 후보에 포함시키지 않는 실장으로서, 서비스 매니저(2204)도 암호 해제 정지 플래그를 설정 가능하고, 서비스 매니저(2204)가 선택한 특정한 서비스만 암호 해제 정지 후보로부터 제외하는 실장도 가능하다.
또한, 본 실시 형태에서 서비스 매니저(2204)가 동시에 선택 가능한 서비스의 수는 몇 개라도 된다. 예컨대, 동시에 암호 해제 가능한 서비스의 수가 "5"이고, 서비스 매니저(2204)가 동시에 선택 가능한 서비스의 수가 "2"인 경우, 서비스 매니저(2204)가 암호 해제 개시부(2803)를 이용하여 이미 2개의 서비스의 암호 해제를 개시하고 있을 때에는, 스트림 정보 액세스 라이브러리가 암호 해제 개시부(2803)를 이용함으로써 동시에 암호 해제가능한 서비스는 3개가 된다. 예컨대, 동시에 암호 해제 가능한 서비스수가 "5"이고, 서비스 매니저(2204)가 동시에 선택 가능한 서비스 수도 "5"인 경우, 서비스 매니저(2204)가 암호 해제 개시부(2803)를 이용하여 이미 5개의 서비스의 암호 해제를 개시하고 있을 때에는, 스트림 정보 액세스 라이브러리가 암호 해제 개시부(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접속, IEEE(1394) 접속 등의 방법으로 물리적으로 접속된 다른 단말 장치로 전송한다」 등의 추가 동작을 생각할 수 있다.
또한, 본 실시 형태에서의 암호 해제 상태 관리부(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 프로그램의 식별자를 기록해 놓고, AM(2205b)이 Java 프로그램을 종료할 시에, 각 스트림 정보 액세스 라이브러리에 종료하는 Java 프로그램의 식별자를 통지하므로, 각 스트림 정보 액세스 라이브러리는 암호 해제 정지부(4004)를 이용하여 이 Java 프로그램이 스트림 정보 액세스 라이브러리를 이용함으로써 개시된 암호 해제를 자동적으로 정지하여도 된다. 또한, 서비스 매니저(2204)는 서비스의 선택을 해제할 시에 서비스 매니저(2204)가 개시한 선택 해제되는 서비스의 암호 해제를 정지하지만, 그 밖에, AM(2205b)에 대하여, 그 서비스에 속하는 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"로 기술한 부분은 "Cable CARD"라도 된다. POD의 경우, "OC-SP-HOSTPOD-IF"사양을 참조하고 있지만, Cable CARD인 경우, "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인 단말 상에, 하나 이상의 서비스 컨텍스트가 존재 가능하다. 이 경우, Java 프로그램은 다수의 서비스 컨텍스트마다 상이한 서비스 선택 요구를 행할 수 있다. 그렇지만, 동시에 선택할 수 있는 서비스는 하나뿐이므로, 뒤에 요구된 서비스가 선택되고 그 시점에서 다른 서비스가 이미 선택된 경우, 그 선택은 해제된다. 암호 해제 개시 타이밍은 뒤에 요구된 서비스가 선택된 시점이고, 또한 동시에, 그 시점에서 선택 해제된 서비스에 관한 암호 해제는 정지된다.
(실시 형태 21)
실시 형태 1∼15에서, 상술의 OCAP 환경에서는 서비스는 2종류 존재하는 경우가 있다. 하나는 PMT와 결부되어 존재하는 통상의 서비스이고, 또 하나는 PMT과 결부되지 않고 존재하는 추상 서비스이다. 통상의 서비스는 실시 형태 1∼2에서 설명해 온 서비스와 같은 의미이며, 통상의 서비스가 선택되면, 튜닝, 암호 해제, 영상 음성 재생, Java 프로그램 기동이 서비스 매니저(2204)에 의해 행해진다. 한편, 추상 서비스는 Java 프로그램만을 내포하여 존재하고, 서비스 선택 시에는 영상·음성의 재생은 행해지지 않는다. 또, 추상 서비스가 내포하는 Java 프로그램은 추상 서비스가 선택되었을 때에 다운로드되어 기동되지만, 이 때, 2차 기억부(1607)에 기록되는 경우가 있다. 한번 2차 기억부(1607)에 Java 프로그램이 기록되면, 그 이후에는, 기록한 Java 프로그램보다도 새로운 Java 프로그램을 다운로드 할 수 없는 한, 서비스 선택 시에 Java 프로그램은 2차 기억부(1607)로부터 로드되어 기동되게 된다. OCAP환경과 같이, 서비스의 타입이 2종류 이상 있는 환경에서는, 서비스 매니저(2204)에 의한 서비스 선택 시에 서비스 타입에 따라서 암호 해제를 개시, 정지하는 타이밍을 변경해도 된다. 예컨대, 통상의 서비스의 선택에서는 서비스 매니저(2204)에 의한 서비스 선택 시에 암묵적으로 암호 해제를 개시한다. 추상 서비스의 경우에는 서비스 선택 시에, Java 프로그램을 ES로부터 다운로드하는 경우이고, 또한 Java 프로그램을 전송하는 ES가 암호화되어 있을 때에만 암호 해제를 개시하며, Java 프로그램을 2차 기억부(1607)로부터 로드하여 기동하는 경우 등, 암호 해제가 필요하지 않는 경우에는 암호 해제를 개시하지 않는다, 라는 형태를 취해도 된다.
또, 이러한 다수 종류의 서비스가 존재하는 환경에서, 또한 서비스 매니저(2204)가 관리하는 서비스 컨텍스트가 다수 존재하고 있어 각각의 서비스 컨텍스트가 선택 가능한 서비스의 종류가 정해져 있는 케이스도 상정된다. 예컨대, 서비스의 종류로서, 통상 서비스와 추상 서비스가 존재한 경우, 통상 서비스용 서비스 컨텍스트와 추상 서비스용 서비스 컨텍스트가 존재하는 케이스이다. 이러한 경우, 통상 서비스용 서비스 컨텍스트의 케이스는 통상 서비스의 선택 시에 암호 해제가 개시되고, 추상 서비스용 서비스 컨텍스트에서는 추상 서비스의 선택 시에 암호화된 ES가 전송하는 Java 프로그램을 다운로드할 때에만 암호 해제를 개시한다, 라는 형태를 취해도 된다.
또, 실시 형태 1에서, 「통상의 서비스」와 「추상 서비스」가 존재하는 환경에서는 다수의 서비스에 속하는 Java 프로그램이 동시에 동작하지만, 이 경우에도 그 시점에서 선택되는 「통상의 서비스」에 속하는 ES는 암호 해제가 행해지는 것이 보증되므로, 스트림 정보 액세스 라이브러리를 이용한 액세스가 가능하다.
(실시 형태 22)
실시 형태 1∼15에서, 스트림 정보 액세스 라이브러리는 JMF(2205a), DSM-CC(2205d), SF(2205e)를 들 수 있지만, 이 3개 이외에 존재하여도 되고, 또 이 3개가 포함되어 있을 필요도 없다. 예컨대, ES가 전송하는 정보를 2차 기억부(1607)에 축적하는 기능을 실현하는 라이브러리나, 단말장치(1600) 또는 단말 장치(1800)에 외부 접속된 다른 단말에 대하여, MPEG2 트랜스포트 스트림이나, MPEG2 트랜스포트 스트림으로부터 취득 가능한 영상·음성·데이터·Java 프로그램 등의 정보를 전송하는 라이브러리 등을 들 수 있다.
(실시 형태 23)
실시 형태 1∼15에서, Java 프로그램은 DSMCC 방식으로 MPEG2 트랜스포트 스트림에 의해서 송신되는 것을 다운로드할 뿐 아니라, 네트워크에서 단말 장치와 접속된 서버로부터 다운로드하거나, DVD, BD, SD카드 등의 운반이 가능한 미디어로부터 로드하는 방법도 생각할 수 있고, 그 경우에도 본 발명은 적용 가능하다.
(실시 형태 24)
실시 형태 1∼15에서, 스트림 정보 액세스 라이브러리에 액세스 대상으로서 한 번에 지정 가능한 ES의 수는 스트림 정보 액세스 라이브러리의 종류에 따라 상이하다. 예컨대 SF(2205e)에 대해서는 항상 하나의 ES를 지정하지만, JMF(2205a)에 대해서는 영상용 ES와 음성용 ES와 같이 다수의 ES를 지정할 수 있다. 또, 또한 열거한 것 외의 종류의 스트림 정보 액세스 라이브러리가 있는 경우, 지정 가능한 것은 「하나의 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) 내부의 ROM(1609)에 놓여지는 라이브러리 부분」과, 「외부 어댑터(1811) 상의 ROM에 놓여지는 프로그램」으로 분할된다. 이 모양을 간단하게 하기 위해 도 73에 일례를 도시한다. 도 73은 도 18에서의 단말 장치(1800)및 외부 어댑터(1811)의 접속을 모식화한 것이다. 단말 장치(1800) 내의 CPU(1806) 및 1차 기억부(1608) 및 ROM(1609)은 각각 서로 신호선으로 물리적으로 접속된다. 한편, 외부 어댑터(1811) 상의 CPU(7301) 및 1차 기억부(7302) 및 ROM(7303)도 각각 서로 물리적으로 접속되어 있다. 신호선(7304)은 단말 장치(1800) 및 외부 어댑터(1811)간에 정보를 주고 받기 위한 신호선이다.
단말 장치(1800) 상의 1차 기억부(1608)에는, 암호 해제 상태 관리부(2801)가 놓여진다. ROM(1609)에는 암호 해제 개시부A(2803a) 및 암호 해제 정지부A(4004a)가 놓여지고, CPU(1806)에 의해서 독출되어 실행된다. 암호 해제 개시부A(2803a) 및 암호 해제 정지부A(4004a)는 각각 암호 해제 개시부(2803) 및 암호 해제 정지부(4004)의 「단말 장치(1800) 내부의 ROM(1609)에 놓이는 라이브러리 부분」이다.
한편, 외부 어댑터(1811) 내의 1차 기억부(7302)에는 디스크램블러 관리부(2802)가 놓여진다. ROM(7303) 내에는 암호 해제 개시부B(2803b) 및 암호 해제 정지부B(4004b)가 놓여지고, 외부 어댑터(1811) 내의 CPU(7301)가 독출하여 실행한다. 암호 해제 개시부B(2803b) 및 암호 해제 정지부B(4004b)는 각각 암호 해제 개시부(2803) 및 암호 해제 정지부(4004)의 「외부 어댑터(1811) 상의 ROM에 놓여지는 프로그램」이다.
실시 형태 1에는 암호 해제 개시부(2803)가 존재한다. 도 30의 시퀀스를 실행하는 것이 암호 해제 개시부A(2803a)이고, 도 31의 시퀀스를 실행하는 것이 암호 해제 개시부B(2803b)이다. 단계(S3005)에서, 암호 해제 개시부A(2803a)가, 암호 해제 제어 플래그가 "개시"인 CA-PMT를 작성하여 외부 어댑터(1811)에 송신하면, 그것을 수신한 외부 어댑터(1811)는 암호 해제 개시부B(2803b)를 기동하여, 도 31의 시퀀스에 따라서 암호 해제를 개시한다. 단계 S3104 등에서는 암호 해제 개시부B(2803b)는 디스크램블러 관리부(2802)에 액세스하지만, 디스크램블러 관리부도 외부 어댑터(1811) 상에 존재하므로 문제는 없다. 마찬가지로, 실시 형태 1∼15에서, 암호 해제 개시부(2803)가 단말 장치(1800)와 외부 어댑터(1811)로 분할하여 놓이는 취지의 기술이 존재하는 부분은 도 73과 같이 배치된다.
실시 형태 3에는 암호 해제 정지부(4004)가 존재한다. 도 45의 시퀀스를 실행하는 것이 암호 해제 정지부A(4004a)이고, 도 46의 시퀀스를 실행하는 것이 암호 해제 정지부B(4004b)이다. 단계 S4505에서, 암호 해제 정지부A(4004a)가, 암호 해제 제어 플래그가 "정지"인 CA-PMT를 작성하여 외부 어댑터(1811)로 송신하면, 그것을 수신한 외부 어댑터(1811)는 암호 해제 정지부B(4004b)를 기동하여 도 46의 시퀀스에 따라 암호 해제를 정지한다.
단계 S4603에서는, 암호 해제 정지부B(4004b)는 디스크램블러 관리부(2802)에 액세스하지만, 디스크램블러 관리부(2802)도 외부 어댑터(1811) 상에 존재하므로, 문제는 없다. 마찬가지로, 실시 형태 1∼15에서, 암호 해제 정지부(4004)가 단말 장치(1800)와 외부 어댑터(1811)로 분할하여 놓여지는 취지의 기술이 존재하는 부분은 도 73과 같이 배치된다.
또한, 외부 어댑터(1811)의 종류에 따라서는, 이것과는 다른 구성을 취하는 경우도 있지만, 본 발명은 단말 장치(1800) 내부의 동작에 근거하고 있고, CA-PMT로 변하는 메시지를 이용하여 통신 가능한 외부 어댑터(1811)라면, 본 발명은 적용 가능하다. 또, DVB-CI나 Cable CARD라도, 내부 구성에 다소의 차이가 있는 경우도 생각할 수 있지만, 본 발명은 단말 장치(1800) 내부의 동작에 근거하고 있으므로, 그러하더라도 본 발명은 적용 가능하다.
또, 외부 어댑터에 대하여 암호 해제 개시부A(2803a)가 암호 해제 제어 플래그가 "문의"인 CA-PMT를 송신하는 경우가 있다. 이것을 수취한 외부 어댑터(1811)는 암호 해제가 가능한지를 판단하고, 단말 장치(1800)에 대하여 응답을 한다. 이 응답은 암호 해제 개시부A(2803a)가 암호 해제 제어 플래그가 "개시"인 CA-PMT를 외부 어댑터(1811)에 대하여 송신 여부 판정에 이용한다.
(실시 형태 31)
실시 형태 1∼15에서, 암호 해제 개시부(2803)는 명기가 없으면 실제로 암호 해제를 행하기 전에, 암호화 된 ES가 서비스에 포함되어 있는지의 여부 판정을 하고, 암호화 된 ES가 포함되어 있으면 암호 해제를 한다. 특히 외부 어댑터(1811)를 이용하는 환경에서, 암호화 된 ES의 유무에 관계없이, 암호 해제 제어 플래그가 "개시"인 CA-PMT를 외부 어댑터(1811)에 송신하는 설치이어도 된다.
본 발명에서는 하나 이상의 정보 단위를 포함하는 서비스의 실행 의뢰를 접수하고, 실행하는 서비스 실행 수단과, 암호화 된 정보 단위를 암호 해제하는 암호 해제 수단과, 방송 수신 장치 외부로부터 다운로드된 어플리케이션이 상기 서비스 실행 수단에 서비스의 실행을 의뢰하였을 시에, 상기 서비스에 포함되는 모든 암호화 된 정보 단위의 암호 해제를 개시하도록 상기암호 해제 수단에 지령을 가하는 암호 해제 제어 수단을 구비하는 것을 특징으로 하는 방송 수신 장치를 제안하고, 암묵적으로 정보 단위의 암호 해제를 할 수 있는 수법을 어플리케이션에 대하여 제공하였다.
본 발명은 방송 수신 장치를 베이스로 하지만, 휴대 전화 등의 다른 정보 기기에서 암호화 된 방송을 수신하는 기능을 갖는 것이면 적용 가능하다.
도 1은 본 발명에 관한 방송 시스템의 구성도,
도 2는 본 발명에 관한 CATV 시스템에 있어서 방송국측 시스템과 단말 장치 사이의 통신에 사용되는 주파수 대역의 사용 방법의 일례를 도시한 도면,
도 3은 본 발명에 관한 CATV 시스템에 있어서 방송국측 시스템과 단말 장치 사이의 통신에 사용되는 주파수 대역의 사용 방법의 일례를 도시한 도면,
도 4는 본 발명에 관한 CATV 시스템에 있어서 방송국측 시스템과 단말 장치 사이의 통신에 사용되는 주파수 대역의 사용 방법의 일례를 도시한 도면,
도 5는 MPEG2 사양으로 기정(旣定)되는 TS 패킷의 구성도,
도 6은 MPEG2 트랜스포트 스트림의 모식도,
도 7은 MPEG2 사양으로 기정되는 PES 패킷이 TS 패킷을 이용하여 전송될 때의 분할예를 도시한 도면,
도 8은 MPEG2 사양으로 기정되는 MPEG2 섹션이 TS 패킷을 이용하여 전송될 때의 분할예를 도시한 도면,
도 9는 MPEG2 사양으로 기정되는 MPEG2 섹션의 구성도,
도 10은 MPEG2 사양으로 기정되는 MPEG2 섹션의 이용예를 도시한 도면,
도 11은 MPEG2 사양으로 규정되는 PMT의 이용예를 도시한 도면,
도 12는 MPEG2 사양으로 규정되는 PAT의 이용예를 도시한 도면,
도 13은 MPEG2 사양으로 규정되는 PES 패킷이 암호화되는 경우의 예를 도시한 도면,
도 14는 MPEG2 사양으로 규정되는 MPEG2 섹션이 암호화되는 경우의 예를 도시한 도면,
도 15는 EMM 이나 ECM을 이용한 암호화의 판정 시퀀스도,
도 16은 본 발명에 관한 방송 수신 장치의 하드웨어 구성의 구성예를 도시한 도면,
도 17은 본 발명에 관한 단말 장치의 하드웨어 구성에 있어서의 입력부의 프론트 패널예를 도시한 도면,
도 18은 본 발명에 관한 방송 수신 장치의 하드 웨어 구성의 구성예를 도시한 도면,
도 19는 본 발명에 관한 POD를 이용하는 방송 수신 장치의 하드웨어 구성예를 도시한 도면,
도 20은 본 발명에 관한 방송 수신 장치의 디바이스 접속예를 도시한 도면,
도 21은 본 발명에 관한 방송 수신 장치의 디바이스 접속예를 도시한 도면,
도 22는 본 발명에 관한 단말 장치가 저장하는 프로그램 구성의 구성도,
도 23은 본 발명에 관한 단말 장치가 실행하는 EPG의 예를 도시한 도면,
도 24는 본 발명에 관한 2차 기억부가 저장하는 정보의 일예를 도시한 도면,
도 25는 본 발명에 관한 1차 기억부가 저장하는 정보의 일예를 도시한 도면,
도 26은 본 발명에 관한 DVB-MHP 규격이 규정하는 AIT의 내용을 나타내는 모식도,
도 27은 본 발명에 관한 DSMCC 방식으로 송신되는 파일 시스템을 나타내는 모식도,
도 28은 본 발명에 관한 CA 라이브러리의 내부 구성도,
도 29는 본 발명에 관한 디스크램블러 관리부의 정보 유지예를 도시한 도면,
도 30은 본 발명에 관한 암호 해제 개시부의 실시 형태 1에 있어서의 시퀀스도,
도 31은 본 발명에 관한 암호 해제 개시부의 실시 형태 1에 있어서의 시퀀스도,
도 32는 본 발명에 관한 서비스 매니저의 실시 형태 1에 있어서의 시퀀스도,
도 33은 본 발명에 관한 암호 해제 개시부의 시퀀스의 일부가 외부 어댑터에 의해서 실행되는 경우의 시퀀스예를 도시한 도면,
도 34는 실시 형태 1에서 예시하는 Java 프로그램의 화면 표시예를 도시한 도면,
도 35는 실시 형태 1에서 예시하는 Java 프로그램이 속하는 서비스의 PMT 예를 도시한 도면,
도 36은 실시 형태 2에서 예시하는 Java 프로그램의 화면 표시예를 도시한 도면,
도 37은 실시 형태 2에서 예시하는 스트림 정보 액세스 라이브러리의 예를 도시한 도면,
도 38은 실시 형태 2에서 예시하는 스트림 정보 액세스 라이브러리의 예를 도시한 도면,
도 39는 실시 형태 3에서 예시하는 Java 프로그램의 화면 표시예를 도시한 도면,
도 40은 실시 형태 3에 있어서의 CA 라이브러리의 구성도,
도 41은 실시 형태 3에 있어서의 디스크램블러 관리부의 정보 유지예를 도시한 도면,
도 42는 실시 형태 3에 있어서의 암호 해제 개시부의 시퀀스도,
도 43은 실시 형태 3에 있어서의 암호 해제 개시부의 시퀀스도,
도 44는 실시 형태 3에 있어서의 암호 해제 정지부의 시퀀스도,
도 45는 실시 형태 3에 있어서의 암호 해제 정지부의 시퀀스도,
도 46은 실시 형태 3에 있어서의 암호 해제 정지부의 시퀀스도,
도 47은 실시 형태 3에 있어서의 스트림 정보 액세스 라이브러리의 암호 해제 개시 시의 동작 시퀀스도,
도 48은 실시 형태 3에 있어서의 스트림 정보 액세스 라이브러리의 암호 해제 정지 시의 동작 시퀀스도,
도 49는 실시 형태 3에 있어서의 서비스 기억부를 가지는 스트림 정보 액세스 라이브러리의 구성도,
도 50은 실시 형태 4에 있어서의 암호 해제 개시부의 시퀀스도,
도 51은 실시 형태 4에 있어서의 암호 해제 개시부의 시퀀스도,
도 52는 실시 형태 4에 있어서의 암호 해제 정지부의 시퀀스도,
도 53은 실시 형태 4에 있어서의 암호 해제 정지부의 시퀀스도,
도 54는 실시 형태 4에 있어서의 암호 해제 정지부의 시퀀스도,
도 55는 실시 형태 5에 있어서의 CA 라이브러리의 내부 구성도,
도 56은 실시 형태 6에 있어서의 암호 해제 개시부의 시퀀스도,
도 57은 실시 형태 7에 있어서의 디스크램블러 경합의 모식도,
도 58은 실시 형태 7에 있어서의 디스크램블러 경합의 모식도,
도 59는 실시 형태 7에 있어서의 암호 해제 상태 관리부의 정보 유지의 모양을 도시한 도면,
도 60은 실시 형태 7에 있어서의 다수 프로그램의 암호 해제에 의한 경합의 예를 도시한 도면,
도 61은 실시 형태 8에 있어서의 Java 라이브러리의 구성도,
도 62은 실시 형태 8에 있어서의 다수 프로그램의 암호 해제에 의한 경합의 예를 도시한 도면,
도 63은 실시 형태 9에 있어서의 다수 프로그램의 암호 해제에 의한 경합의 예를 도시한 도면,
도 64는 실시 형태 10에 있어서의 다수 프로그램의 암호 해제에 의한 경합의 예를 도시한 도면,
도 65는 실시 형태 11에 있어서의 다수 프로그램의 암호 해제에 의한 경합의 예를 도시한 도면,
도 66은 실시 형태 12에 있어서의 Java 프로그램이 암호 해제 개시부를 이용하는 시퀀스도,
도 67은 실시 형태 14에 있어서의, 암호 해제 개시부가 외부 어댑터에 암호 해제가 가능한지 여부를 문의할 때의 시퀀스도,
도 68은 실시 형태 15에 있어서의, 암호 해제 상태 관리부의 구성예를 도시한 도면,
도 69는 실시 형태 15에 있어서의, 암호 해제 상태 관리부의 구성예를 도시한 도면,
도 70은 실시 형태 18에 있어서의 서비스 매니저가 관리하는 서비스 기억부의 모식도,
도 71은 실시 형태 26에 있어서의 서비스 매니저의 암호 해제 개시 시의 동작 시퀀스도,
도 72는 실시 형태 26에 있어서의 서비스 매니저의 암호 해제 정지 시의 동작 시퀀스도,
도 73은 실시 형태 30에 있어서의, 외부 어댑터를 이용하여 암호 해제를 하는 경우의, 암호 해제 개시부 및 암호 해제 정지부의 분할예를 도시한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
2100 : 단말 장치 1811 : 어댑터
1802 : TS 디코더 2101 : 튜너
2104 : 디스크램블러 2102 : PID 필터
2003 : 섹션 필터 2005 : AV 디코더
2006 : 디스플레이/스피커 2007 : 1차 기억부

Claims (30)

  1. 하나 이상의 정보 단위를 포함하는 서비스의 실행 의뢰를 접수하여, 실행하는 서비스 실행 수단과,
    암호화된 정보 단위를 암호 해제하는 암호 해제 수단과,
    방송 수신 장치 외부로부터 다운로드된 어플리케이션이 상기 서비스 실행 수단에 서비스의 실행을 의뢰하였을 시에, 상기 서비스에 포함되는, 모든 암호화된 정보 단위의 암호 해제를 개시하도록 상기 암호 해제 수단에 지령을 부여하는 암호 해제 제어 수단을 구비하는 것을 특징으로 하는 방송 수신 장치.
  2. 제 1항에 있어서,
    하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 더 구비하고,
    제1 어플리케이션으로부터 제1 서비스의 실행이 의뢰된 상기 서비스 실행 수단이 상기 제1 서비스를 실행하며, 상기 암호 해제 수단이 제1 서비스가 포함하는 정보 단위의 암호 해제를 행하고 있는 상태에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에, 제2 서비스에 포함되는 암호화된 정보 단위로의 액세스를 의뢰하였을 시에, 상기 암호 해제 제어 수단은, 상기 제2 서비스가 포함하는 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  3. 제 1항에 있어서,
    하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 더 구비하고,
    어플리케이션이 상기 정보 단위 액세스 수단에, 상기 서비스 실행 수단이 실행하고 있지 않은 서비스에 포함되는 정보 단위로의 액세스를 의뢰하였을 시에, 상기 암호 해제 제어 수단은, 상기 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  4. 제 1항에 있어서,
    상기 암호 해제 수단은, 상기 방송 수신 장치에 착탈 가능하고,
    상기 암호 해제 제어 수단은 상기 방송 수신 장치와 상기 암호 해제 수단이 접속되어 있으며, 또한, 상기 어플리케이션이 상기 서비스 실행 수단에 서비스의 실행을 의뢰하였을 시에, 상기 서비스에 포함되는, 모든 암호화된 정보 단위의 암호 해제를 개시하도록 상기 암호 해제 수단에 지령을 부여하는 것을 특징으로 하는 방송 수신 장치.
  5. 제 4항에 있어서,
    하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 더 구비하고,
    제1 어플리케이션으로부터 제1 서비스의 실행을 의뢰 받은 상기 서비스 실행 수단이 상기 제1 서비스를 실행하며, 상기 암호 해제 수단이 제1 서비스가 포함하는 정보 단위의 암호 해제를 하고 있는 상태에서 제2 어플리케이션이 상기 정보 단위 액세스 수단으로 제2 서비스에 포함되는 암호화된 정보 단위로의 액세스를 의뢰하였을 시에, 상기 암호 해제 제어 수단은, 상기 제2 서비스가 포함하는 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  6. 제 4항에 있어서,
    하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단을 더 구비하고,
    어플리케이션이 상기 정보 단위 액세스 수단에, 상기 서비스 실행 수단이 실행하고 있지 않은 서비스에 포함되는 정보 단위에의 액세스를 의뢰하였을 시에, 상기 암호 해제 제어 수단은, 상기 정보 단위를 암호 해제할 수 없음을 상기 제2 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  7. 제 1항에 있어서,
    제1 어플리케이션으로부터 제1 서비스의 실행이 의뢰된 상기 서비스 실행 수단이 상기 제1 서비스를 실행하고, 상기 암호 해제 수단이 제1 서비스가 포함하는 정보 단위의 암호 해제를 행하고 있는 상태에서, 제2 어플리케이션이 상기 서비스 실행 수단에 제2 서비스의 실행을 의뢰하였을 시에, 상기 암호 해제 제어 수단은, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령하고, 상기 제2 서비스가 포함하는 모든 암호화된 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령하는 것을 특징으로 하는 방송 수신 장치.
  8. 제 7항에 있어서,
    상기 암호 해제 제어 수단은, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령한 후, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  9. 제 1항에 있어서,
    상기 암호 해제 수단은, 상기 암호 해제 제어 수단으로부터 지령된 제1 서비스가 포함하는 정보 단위의 암호 해제를 행하고 있는 상태에서, 제2 서비스가 포함하는 정보 단위의 암호 해제의 지령을 상기 암호 해제 제어 수단으로부터 수취하였을 시에, 상기 제1 서비스가 포함하는 정보 단위의 암호 해제를 정지하고, 상기 제2 서비스가 포함하는 정보 단위의 암호 해제를 개시하는 것을 특징으로 하는 방송 수신 장치.
  10. 하나 이상의 정보 단위에 액세스하는 정보 단위 액세스 수단과,
    암호화된 정보 단위를 암호 해제하는 암호 해제 수단과,
    방송 수신 장치 외부로부터 다운로드된 어플리케이션이 상기 정보 단위 액세스 수단에, 상기 정보 단위에의 액세스를 의뢰하였을 시에, 상기 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령하는 암호 해제 제어 수단을 구비하는 것을 특징으로 하는 방송 수신 장치.
  11. 제 10항에 있어서,
    상기 암호 해제 수단은 상기 방송 수신 장치에 착탈 가능하고, 상기 암호 해제 제어 수단은, 상기 방송 수신 장치와 상기 암호 해제 수단이 접속되어 있을 시에 상기 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 상기 정보 단위로의 액세스를 의뢰한 경우, 상기 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령하는 것을 특징으로 하는 방송 수신 장치.
  12. 제 10항에 있어서,
    제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 제1 정보 단위로의 액세스를 의뢰하고, 상기 암호 해제 수단이 상기 정보 단위 액세스 수단의 의뢰에 의해 상기 제1 정보 단위의 암호 해제를 행하고 있는 상황에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 제2 정보 단위로의 액세스를 의뢰했을 시에, 상기 암호 해제 제어 수단은, 상기 제1 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령하고 나서 상기 제2 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령하는 것을 특징으로 하는 방송 수신 장치.
  13. 제 12항에 있어서,
    상기 암호 해제 제어 수단은, 상기 제1 정보 단위의 암호 해제의 정지를 상기 암호 해제 수단에 지령한 후, 상기 제1 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  14. 제 10항에 있어서,
    상기 암호 해제 수단은, 제1 정보 단위의 암호 해제를 행하고 있는 상황에서, 상기 암호 해제 제어 수단으로부터 제2 정보 단위의 암호 해제를 지령 받은 때에, 상기 제1 정보 단위의 암호 해제를 정지하고, 상기 제2 정보 단위의 암호 해제를 개시하는 것을 특징으로 하는 방송 수신 장치.
  15. 제 10항에 있어서,
    상기 어플리케이션의 우선도를 보유하는 어플리케이션 우선도 보유 수단을 구비하고,
    상기 암호 해제 제어 수단은, 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 정보 단위 액세스를 의뢰하고 있는 상황에서 제2 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 정보 단위 액세스를 의뢰한 경우, 상기 어플리케이션 우선도 보유 수단이 보유하는 상기 제1 어플리케이션의 우선도와 상기 제2 어플리케이션의 우선도를 비교해, 상기 제2 어플리케이션의 우선도가 상기 제1 어플리케이션의 우선도보다 높거나 같으면, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를 상기 암호 해제 수단에 지령하는 것을 특징으로 하는 방송 수신 장치.
  16. 제 15항에 있어서,
    상기 암호 해제 제어 수단은, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제 수단에 지령하기 전에, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지하는 것을 특징으로 하는 방송 수신 장치.
  17. 제 16항에 있어서,
    상기 암호 해제 제어 수단은, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지한 후, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하고 있는 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  18. 제 10항에 있어서,
    상기 어플리케이션의 우선도를 보유하는 어플리케이션 우선도 보유 수단을 구비하고,
    상기 암호 해제 제어 수단은, 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 정보 단위 액세스를 의뢰하고 있는 상황에서, 제2 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 정보 단위 액세스를 의뢰한 경우, 상기 어플리케이션 우선도 보유 수단이 보유하는 상기 제1 어플리케이션의 우선도와, 상기 제2 어플리케이션의 우선도를 비교해, 상기 제2 어플리케이션의 우선도가 상기 제1 어플리케이션의 우선도보다 높을 시에, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제수단에 지령하는 것을 특징으로 하는 방송 수신 장치.
  19. 제 18항에 있어서,
    상기 암호 해제 제어 수단은, 상기 제2 어플리케이션이 지정한 정보 단위의 암호 해제를, 상기 암호 해제 수단에 지령하기 전에, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지하는 것을 특징으로 하는 방송 수신 장치.
  20. 제 19항에 있어서,
    상기 암호 해제 제어 수단은, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하고 있는 정보 단위의 암호 해제를 정지한 후, 상기 제1 어플리케이션이 상기 정보 단위 액세스 수단에 대하여 액세스를 의뢰하고 있는 정보 단위의 암호 해제가 정지된 것을 상기 제1 어플리케이션에 통지하는 것을 특징으로 하는 방송 수신 장치.
  21. 제 1항에 있어서,
    상기 정보 단위는 엘리멘트리 스트림(elementary stream)인 것을 특징으로 하는 방송 수신 장치.
  22. 제 10항에 있어서,
    상기 정보 단위는 엘리멘트리 스트림인 것을 특징으로 하는 방송 수신 장치.
  23. 제 10항에 있어서,
    정보 단위 액세스 수단은, 영상 재생을 하기 위해 상기 정보 단위에 액세스하는 영상 재생 수단인 것을 특징으로 하는 방송 수신 장치.
  24. 제 10항에 있어서,
    정보 단위 액세스 수단은, 음성 재생을 하기 위해 상기 정보 단위에 액세스하는 음성 재생 수단인 것을 특징으로 하는 방송 수신 장치.
  25. 제 10항에 있어서,
    정보 단위 액세스 수단은, 상기 어플리케이션을 다운로드하기 위해 상기 정보 단위에 액세스하는 어플리케이션 다운로드 수단인 것을 특징으로 하는 방송 수신 장치.
  26. 제 10항에 있어서,
    정보 단위 액세스 수단은, 어플리케이션이 이용하는 데이터를 취득하기 위해 상기 정보 단위에 액세스하는 데이터 취득 수단인 것을 특징으로 하는 방송 수신 장치.
  27. 제 1항에 있어서,
    상기 서비스에 포함되는 정보 단위의 적어도 하나는 상기 서비스의 실행 시에 재생되는 영상 정보를 포함하는 것을 특징으로 하는 방송 수신 장치.
  28. 제 1항에 있어서,
    상기 서비스에 포함되는 정보 단위의 적어도 하나는 상기 서비스의 실행 시에 재생되는 음성 정보를 포함하는 것을 특징으로 하는 방송 수신 장치.
  29. 제 1항에 있어서,
    상기 서비스에 포함되는 정보 단위의 적어도 하나는 어플리케이션을 포함하는 것을 특징으로 하는 방송 수신 장치.
  30. 제 1항에 있어서,
    상기 서비스에 포함되는 정보 단위의 적어도 하나는 상기 서비스에 포함되는 어플리케이션이 이용하는 데이터를 포함하는 것을 특징으로 하는 방송 수신 장치.
KR1020040068510A 2003-08-29 2004-08-30 방송 수신 장치 KR20050021970A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00307847 2003-08-29
JP2003307847 2003-08-29
US49900403P 2003-09-02 2003-09-02
US60/499,004 2003-09-02
JPJP-P-2004-00197338 2004-07-02
JP2004197338A JP2005102150A (ja) 2003-08-29 2004-07-02 放送受信装置

Publications (1)

Publication Number Publication Date
KR20050021970A true KR20050021970A (ko) 2005-03-07

Family

ID=34108601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068510A KR20050021970A (ko) 2003-08-29 2004-08-30 방송 수신 장치

Country Status (5)

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

Families Citing this family (49)

* 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 삼성전자주식회사 디지털 멀티미디어 방송 수신 단말기에서 특정 프로그램의방송 채널을 검색하는 방법
WO2006077882A1 (ja) * 2005-01-19 2006-07-27 Matsushita Electric Industrial Co., Ltd. 放送受信装置
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限定受信装置
US20070011357A1 (en) * 2005-06-06 2007-01-11 Matsushita Electric Industrial Co., Ltd. Recording and reproduction apparatus
US7593469B2 (en) * 2005-07-28 2009-09-22 Sony Corporation OCAP engine module
US7649949B2 (en) * 2005-07-28 2010-01-19 Sony Corporation Multipurpose television module
US20070091919A1 (en) * 2005-10-24 2007-04-26 Sandoval Francis R Method and system of supporting enhanced television signaling
CN101326729B (zh) * 2005-12-07 2012-01-04 松下电器产业株式会社 广播接收装置及广播接收方法
KR20080078829A (ko) * 2005-12-22 2008-08-28 마쯔시다덴기산교 가부시키가이샤 방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템
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
JP2008310553A (ja) * 2007-06-14 2008-12-25 Panasonic Corp デジタル放送受信機及びデジタル放送受信システム
KR20090019579A (ko) * 2007-08-21 2009-02-25 삼성전자주식회사 스크램블된 영상 제공방법, 이를 적용한 디스크램블 카드및 영상기기
US9071859B2 (en) 2007-09-26 2015-06-30 Time Warner Cable Enterprises Llc Methods and apparatus for user-based targeted content delivery
US8561116B2 (en) 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
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 中兴通讯股份有限公司 移动数字多媒体业务的接收方法及终端设备及接收装置
CN102714594B (zh) * 2009-12-14 2016-08-10 住友电气工业株式会社 内容接收设备、内容再现设备、内容接收和再现设备、内容接收方法和程序
US8701138B2 (en) 2010-04-23 2014-04-15 Time Warner Cable Enterprises Llc Zone control methods and apparatus
US8612623B2 (en) * 2010-09-13 2013-12-17 Rovi Technologies Corporation Protection of delivered media
US9078049B2 (en) * 2010-09-13 2015-07-07 Rovi Technologies Corporation Protection of internet 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
WO2013168581A1 (ja) * 2012-05-10 2013-11-14 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム
US9854280B2 (en) 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
RU2640640C2 (ru) * 2012-08-21 2018-01-10 Сони Корпорейшн Устройство обработки информации, способ обработки информации, программа и устройство-сервер
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
WO2016132898A1 (ja) * 2015-02-17 2016-08-25 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法
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 Каналь+ Сосьєте Анонім Пристрій для багатопотокової обробки даних (варіанти)

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20050021970A (ko) 방송 수신 장치
KR101059682B1 (ko) 정보 처리 장치
KR101051525B1 (ko) 표시 처리 방법 및 표시 처리 장치
KR101073288B1 (ko) 방송 수신 장치
RU2159015C2 (ru) Способ передачи программной информации по системе, включающей группу каналов передачи, устройство для его осуществления, устройство для приема сжатых аудио/видео пакетных сигналов и способ его работы
US7590331B2 (en) Broadcast recording apparatus
US20090106801A1 (en) Content processing device and content processing method
US20070157263A1 (en) Content management system
CN101208750B (zh) 记录和再现装置以及记录和再现方法
WO2007072957A1 (en) Recording apparatus with remaining capacity detection unit
JP2008546220A (ja) コンテンツ再生装置
JP4531259B2 (ja) マルチサービスディジタル伝送システム用のアプリケーションデータテーブル
KR20080015087A (ko) 방송 기록 및 재생 장치와 그 방법
JP2008543123A (ja) 放送受信端末
JPWO2006080361A1 (ja) ダウンロード実行装置
KR20040027956A (ko) 리시버/디코더에 관한 방법 및 장치
KR101026567B1 (ko) 표시 처리 방법 및 표시 처리 장치
KR101144461B1 (ko) 서비스 실행 장치
KR20080015096A (ko) 기록 및 재생 장치
US20020129383A1 (en) Apparatus for a cosumer controlled selective recording device for interactive television
JP2009094702A (ja) 操作履歴を記憶する情報処理装置
JP2005071330A (ja) 情報処理装置
JP2006345505A (ja) 放送蓄積端末

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid