KR20000070915A - 데이터 다중화 장치, 프로그램 배급 시스템, 프로그램 전송 시스템, 유료 방송 시스템, 프로그램 전송 방법, 한정 수신 시스템, 및 데이터 수신 장치 - Google Patents

데이터 다중화 장치, 프로그램 배급 시스템, 프로그램 전송 시스템, 유료 방송 시스템, 프로그램 전송 방법, 한정 수신 시스템, 및 데이터 수신 장치 Download PDF

Info

Publication number
KR20000070915A
KR20000070915A KR1019997007180A KR19997007180A KR20000070915A KR 20000070915 A KR20000070915 A KR 20000070915A KR 1019997007180 A KR1019997007180 A KR 1019997007180A KR 19997007180 A KR19997007180 A KR 19997007180A KR 20000070915 A KR20000070915 A KR 20000070915A
Authority
KR
South Korea
Prior art keywords
data
packet
program
transport stream
key
Prior art date
Application number
KR1019997007180A
Other languages
English (en)
Other versions
KR100610523B1 (ko
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 KR20000070915A publication Critical patent/KR20000070915A/ko
Application granted granted Critical
Publication of KR100610523B1 publication Critical patent/KR100610523B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23895Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • 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/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/4348Demultiplexing of additional data and video streams
    • 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
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • 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
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명에 따른 운송 스트림 패킷 (transport stream packet)의 형태로 구성된 다수의 데이터 소자로 구성되는 프로그램 데이터의 운송 스트림 패킷을 다중화하여 전송하는 데이터 다중화 장치, 프로그램 배급 시스템, 프로그램 전송 시스템, 유료 방송 시스템, 프로그램 전송 방법, 한정 수신 시스템, 및 데이터 수신 장치에서, 프로그램을 구성하는 다수의 데이터 소자 중 하나 이상의 데이터 소자에 대응하는 스크램블 키 (scramble key)(Ks)를 발생하고 각 데이터 소자를 스크램블 처리함으로서, 청취자는 각 데이터 소자에 대해 가입될 수 있다.

Description

데이터 다중화 장치, 프로그램 배급 시스템, 프로그램 전송 시스템, 유료 방송 시스템, 프로그램 전송 방법, 한정 수신 시스템, 및 데이터 수신 장치{Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device}
최근에는 비디오 데이터 및 오디오 데이터를 압축하는데 MPEG2 (Moving Picture Experts Group Phase 2)를 사용하고 지상파나 위성파를 통해 부호화된 데이터 스트림 (data stream)을 방송하는 디지털 방송 시스템이 제안된다. 이 디지털 방송 시스템은 각각이 각 프로그램의 비디오 데이터나 오디오 데이터와 같은 기본 데이터를 소정의 수의 바이트로 분할하고 분할된 데이터의 각 블록 시작부에 헤더 (header)를 첨부함으로서 부호화된 비디오 스트림 및 부호화된 오디오 스트림으로 구성되는 다수의 프로그램에 대해 다수의 운송 패킷 (packet)을 발생한다. 이어서, 이들 운송 패킷은 지상파나 위성파를 통해 방송되도록 다중화된다.
수신 장치가 전송된 데이터, 즉 다중화된 운송 패킷을 수신할 때, 이는 수신된 데이터로부터 각 운송 패킷의 헤더 정보를 판독하고 헤더 정보를 근거로 다중화되지 않은 원래 기본 데이터를 재저장함으로서 각 프로그램의 부호화된 비디오 스트림 및 부호화된 오디오 스트림을 구할 수 있다.
이러한 디지털 방송 시스템에서, 프로그램은 일반적으로 다수의 데이터 소자 (다수의 채널에 대한 비디오 데이터 및 오디오 데이터)로 구성된다. 그러므로, 이러한 디지털 방송 시스템에서는 청취자가 프로그램에 포함된 각 데이터 소자에 가입하는 것이 바람직하다. 예를 들어, 프로그램은 총 4가지 종류의 데이터 소자, 즉 비디오 데이터, 메인 오디오 (main audio) 데이터, 서브오디오 (subaudio) 데이터, 및 추가 데이터로 구성된다고 가정한다. 종래 디지털 방송 시스템에서는 청취자가 각 프로그램, 즉 모두 6개의 데이터 소자에 대해 가입되어야 한다. 따라서, 수신자가 비디오 데이터 및 메인 오디오 데이터에만 가입하고 싶더라도, 불필요한 소자 (서브오디오 및 추가 데이터)에 가입하여야 한다.
더욱이, 종래 스크램블 (scramble) 장치는 다중화 이전에 사용되므로, 장치는 각 프로그램에 대해 스크램블 장치를 포함하여야 하므로 불가피하게 커지게 된다.
부가하여, 종래 디지털 방송 시스템은 프로그램 가입 정보와 암호화 키를 특정한 간격으로 프로그램에 다중화하여 전송하였다. 다중화 스트림의 최고 비트 비율이 제한되므로, 전송 비율은 이러한 프로그램 가입 정보 및 암호화 키의 전송으로 인해 프로그램에 대해 충분히 높지 않다. 그러므로, 충분한 전송 비율이 보장될 수 없으면, 프로그램 데이터를 버퍼 처리하는 전송 버퍼가 오버플로우 (overflow)되는 문제점이 있었다.
본 발명은 데이터 다중화 장치, 프로그램 배급 시스템, 프로그램 전송 시스템, 유료 방송 시스템, 프로그램 전송 방법, 한정 수신 시스템, 및 데이터 수신 장치에 관한 것으로, 특히 예를 들면, 전송을 위해 비디오 데이터 및 오디오 데이터의 압축 부호화 및 다중화를 실행하는 디지털 방송 시스템에 대한 데이터 다중화 장치 및 데이터 수신 장치에 적용된다.
도 1은 본 발명에 따른 디지털 방송 시스템의 구조를 도시하는 블록도.
도 2는 각 프로그램에 포함된 기본 데이터와 스크램블 키 (scramble key) 사이의 대응관계를 도시하는 도면.
도 3은 운송 스트림 패킷 (transport stream packet)으로 기록된 정보와 그 PID 값 사이의 대응관계를 도시하는 도면.
도 4는 운송 패킷 종류와 그 PID 값 사이의 대응관계를 도시하는 도면.
도 5는 부호화 시스템의 구조를 도시하는 블록도.
도 6은 운송 패킷에 대한 구문 (syntax)을 도시하는 도면.
도 7은 운송 패킷에 대한 구문을 도시하는 도면.
도 8은 운송 패킷에 대한 구문을 도시하는 도면.
도 9는 운송 패킷에 대한 구문을 도시하는 도면.
도 10은 멀티플렉서 시스템의 구조를 도시하는 블록도.
도 11은 각 테이블과 그 PID 사이의 대응관계를 도시하는 도면.
도 12는 프로그램 연관 섹션에 대한 구문을 도시하는 도면.
도 13은 프로그램 연관 섹션에 대한 구문을 도시하는 도면.
도 14는 각 섹션과 그 PID 값 사이의 대응관계를 도시하는 도면.
도 15는 프로그램 맵 (map) 섹션에 대한 구문을 도시하는 도면.
도 16은 프로그램 맵 섹션에 대한 구문을 도시하는 도면.
도 17은 조건부 억세스 섹션에 대한 구문을 도시하는 도면.
도 18은 조건부 억세스 섹션에 대한 구문을 도시하는 도면.
도 19는 조건부 억세스 섹션에 대한 구문을 도시하는 도면.
도 20은 설명자의 내용과 각 테이블에 의해 표시되는 기본 데이터의 PID를 도시하는 도면.
도 21은 EMM 패킷에 대한 데이터 구조를 도시하는 도면.
도 22는 ECM 패킷에 대한 데이터 구조를 도시하는 도면.
도 23은 수신 장치의 구조를 도시하는 블록도.
본 발명은 상기를 고려해 고안되었고, 수신자가 프로그램을 구성하는, 즉 각 데이터 소자를 스크램블 (scramble)시킬 수 있는 데이터 소자 중 필요한 데이터 소자만을 수신하도록 허용하는 디지털 방송 시스템을 제안한다.
본 발명은 각 프로그램에 대한 스크램블 장치의 제공을 방지함으로서 장치 구성을 최소화시킬 수 있는 디지털 방송 시스템을 제안한다.
본 발명은 프로그램 데이터를 버퍼 처리하는 전송 버퍼로부터 오버플로우를 방지할 수 있는 디지털 방송 시스템을 제안한다.
이러한 문제점을 해결하기 위해, 본 발명은 운송 스트림 패킷의 형태인 다수의 데이터 소자로 구성되는 프로그램 데이터의 운송 스트림 패킷을 다중화하여 전송하는 데이터 다중화 장치를 제공한다. 데이터 다중화 장치는 데이터 소자에 대응하는 스크램블 키를 발생하기 위한 스크램블 키 발생 수단과, 스크램블 키 발생 수단에 의해 발생된 스크램블 키를 사용해 대응하는 데이터 소자의 운송 스트림 패킷을 스크램블 처리하기 위한 스크램블 수단을 구비하므로, 데이터 다중화 장치는 프로그램을 구성하는 다수의 데이터 소자 중에서 하나 이상의 데이터 소자에 대응하는 스크램블 키를 발생하고 각 데이터 소자를 스크램블 처리할 수 있다.
각 데이터 소자를 스크램블 처리함으로서, 청취자는 각 데이터 소자에 대해 가입할 수 있다.
본 발명은 다수의 데이터 소자로 구성된 프로그램을 배급하기 위한 프로그램 배급 시스템을 제공하고, 이는 가입자 관리 시스템을 통해 각 프로그램이나 데이터 소자에 대한 가입자의 가입만을 관리하지 않고, 각 데이터 소자에 대해 스크램블 키를 발생하여 발생된 스크램블 키를 근거로 프로그램에 포함된 데이터 소자를 역스크램블 (descrambling) 처리하고 다중화된 스트림에 포함되는 부호화된 데이터 소자에 대해 각 데이터 소자를 선택적으로 스크램블 처리하므로, 청취자는 각 데이터 소자에 대해 가입할 수 있게 된다.
본 발명은 다수의 데이터 소자로 구성된 프로그램을 전송하기 위한 프로그램 전송 시스템을 제공하고, 이는 가입자가 가입한 데이터 소자와 프로그램만을 보거나 듣기 위해, 프로그램에 포함된 다수의 데이터 소자를 스크램블 처리하는데 사용되는 다수의 스크램블 키를 발생하고, 발생된 스크램블 키를 근거로 각 데이터 소자를 선택적으로 스크램블 처리하고, 또한 전송을 위해 스크램블 처리된 데이터 소자를 다중화하므로, 청취자는 각 데이터 소자에 대해 가입할 수 있고 그와 같이 가입된 데이터 소자만을 역스크램블 처리하여 보고 들을 수 있게 된다.
본 발명은 다수의 데이터 소자로 구성된 프로그램을 방송하기 위한 유료 방송 시스템을 제공하고, 이는 가입자 관리 시스템을 통해 각 프로그램이나 데이터 소자에 대한 가입자의 가입만을 관리하지 않고, 각 데이터 소자에 대해 스크램블 키를 발생하여 발생된 스크램블 키를 근거로 프로그램에 포함된 데이터 소자를 역스크램블 처리하고 다중화된 스트림에 포함되는 부호화된 데이터 소자에 대해 각 데이터 소자를 선택적으로 스크램블 처리하므로, 청취자는 각 데이터 소자에 대해 가입할 수 있게 된다.
본 발명은 프로그램을 구성하는 다수의 데이터 소자나 프로그램 배급 시스템에 의해 배급된 다수의 프로그램 중에서 가입된 프로그램이나 데이터 소자에만 조건부 억세스를 제공하기 위한 한정 수신 시스템을 제공하고, 이는 다수의 암호화 스크램블 키를 포함하는 다수의 운송 스트림 패킷으로부터, 수신자에 의해 가입된 프로그램이나 데이터 소자와 연관되는 암호화 스크램블 키를 포함하는 운송 스트림 패킷을 필터처리하고, 필터처리된 다수의 운송 스트림 패킷에 포함된 다수의 암호화 스트림 키를 해독하고, 해독된 다수의 스크램블 키를 발생하고, 또한 다수의 데이터 소자에 대응하는 해독된 다수의 스크램블 키를 사용해 각 데이터 소자를 역스크램블 처리하므로, 청취자는 각 데이터 소자에 대해 가입할 수 있고 이와 같이 가입된 데이터 소자만을 역스크램블 처리하여 보고 듣을 수 있게 된다.
본 발명에 따라, 각각 대응하는 스크램블 키로 다중화된 각 운송 스트림 패킷을 스크램블 처리함으로서, 스크램블 처리를 위한 회로 구성은 다중화 이전에 각 운송 스트림 패킷을 스크램블 처리하는 것 보다 더 간단해질 수 있다.
본 발명은 다수의 데이터 소자를 구성하는 다수의 데이터 패킷을 저장하는 다수의 버퍼 메모리, 버퍼 메모리를 교환하기 위한 스위치 수단을 갖고 스위치 수단으로 버퍼 메모리를 순차적으로 시간 분할 교환하여 출력을 제공하도록 다수의 패킷 데이터 스트링 (string)을 시간 분할 다중화하는 다중화 수단, 및 패킷 데이터 스트링에 대한 입력 비율에 따라 스위치 수단에 의해 교환가능한 다수의 버퍼 메모리를 선택하는 스위치 제어 수단을 구비한다. 따라서, 입력 비율이 기준 비율 보다 더 높을 때, 다수의 버퍼 메모리 중에서 더 낮은 우선순위의 정보를 버퍼 처리하기 위한 버퍼 메모리를 배제하도록 스위치 수단을 교환가능하게 제어함으로서, 더 높은 우선순위의 데이터 소자를 버퍼 처리하기 위한 버퍼 메모리로부터의 오버플로우가 방지될 수 있다.
본 발명은 운송 스트림 패킷의 형태인 다수의 데이터 소자로 구성된 프로그램 데이터의 운송 스트림 패킷을 다중화함으로서 구해진 다중화된 데이터를 수신하는 데이터 수신 장치를 제공하고, 이는 각 데이터 소자에 대응하는 스크램블 키를 다중화된 데이터로부터 추출하기 위한 스크램블 키 추출 수단과, 스크램블 키 추출 수단에 의해 추출된 스크램블 키를 사용해 다중화된 데이터에 포함된 각 데이터 소자에 대한 운송 스트림 패킷을 역스크램블 처리하기 위한 역스크램블 처리 수단을 구비하므로, 각 데이터 소자는 스크램블 키를 사용해 스크램블 키에 대응하는 각 데이터 소자에 대한 운송 스트림 패킷을 역스크램블 처리함으로서 분리되어 역스크램블 처리될 수 있다.
이하, 도면을 참조하여 본 발명의 실시예를 설명한다.
도 1을 참고로, 본 발명에 따른 데이터 다중화 장치가 적용된 데이터 방송 시스템이 설명된다.
이 데이터 방송 시스템은 위성 디지털 방송 시스템이나 지상파 디지털 방송 시스템과 같은 유료 방송 시스템에 사용되는 시스템으로서, 도 1에 도시된 바와 같이, 방송 데이터 처리 시스템 (BDPS) (Broadcast_Data_Processing_System)(1), 가입자 관리 시스템 (SMS) (Subscriber_Management_System)(2), 가입자 인증 시스템 (SAS) (Subscriber_Authorization_System)(3), EPG (Electronic_Program_Guide) 시스템(4), 서버 시스템(5), 루트 시스템 (routing system)(6), 인코더 시스템(7), 멀티플렉서 시스템(8), 인코더/멀티플렉서 제어 유닛(9), 및 변조 회로(10)를 구비한다.
방송 데이터 처리 시스템(1)은 가입자 관리 시스템(2), 가입자 인증 시스템(3), EPG 시스템(4), 서버 시스템(5), 루트 시스템(6), 인코더 시스템(7), 멀티플렉서 시스템(8), 인코더/멀티플렉서 제어 유닛(9), 및 변조 회로(10)와 같이 방송국내에 제공되는 모든 시스템 및 장치를 제어하기 위한 시스템이다. 이 방송 데이터 처리 시스템(1)은 그에 등록된 프로그램 계획표를 갖고, 이는 프로그램 공급자에 의해 공급된 프로그램 및 판촉물과 방송국 자체에서 제작되는 프로그램 및 CM 내용물을 포함하는 모든 내용물에 대한 방송 시간을 관리하는데 사용된다. 방송 데이터 처리 시스템(1)은 프로그램 계획표에 따라 각 장치와 시스템을 제어한다. 이러한 프로그램 계획표는 프로그램 공급자에 대한 정보를 포함하는 서비스 정보 파일, 매시간이나 매일을 근거로 기록된 프로그램 스케쥴을 포함하는 이벤트 정보 파일, 및 15초를 근거로 기록된 프로그램 시간 스케쥴을 포함하는 동작 정보 파일로 구성된다.
가입자 관리 시스템(2)은 가입자 등록 정보 및 유인 정보와 같은 가입자 관리 정보를 관리하는데 사용된다. 특별히, 가입자 관리 시스템(2)은 가입, 거래, 및 요금청구와 같은 주요 기능을 갖는 유료 방송 시스템내의 핵심 시스템이다. 부가하여, 가입자 관리 시스템(2)은 데이터 소자를 스크램블 처리하기 위한 스크램블 키(Ks) 및 이러한 스크램블 키(Ks)를 암호화하기 위한 작업키 (work key)(Kw)와 같은 키에 대한 정보 뿐만 아니라 방송 계약자, 프로그램 공급자, 및 프로그래밍 중개자에 대한 정보를 관리하기 위한 또 다른 기능을 갖는다. 가입자 관리 시스템(2)은 또한 실시간에서 전화선을 통해 수신 단말부에 제공된 IRD에 의해 공급되는 청취자 정보를 처리하기 위한 또 다른 기능을 갖는다. 가입자 관리 시스템(2)은 결과적으로 추후 설명될 가입자 인증 시스템(3)에게 가입자에 대한 정보 뿐만 아니라 작업키(Kw)를 포함하는 EMM (Entitlement_Management_Message) 데이터를 제공한다. 이러한 EMM 데이터는 추후 상세히 설명된다.
가입자 인증 시스템(3)은 마스터 키 (master key)(Km)를 사용한 소정의 암호화 알고리즘을 통해 가입자 관리 시스템(2)으로부터 수신된 EMM 데이터에 포함되는 작업키 (Kw)를 암호화함으로서 암호화된 작업키 (Kw')를 발생한다. 본 발명에 따른 디지털 방송 시스템에 사용되는 암호화 알고리즘은 본 출원인에 의해 개발된 CRYPS (SONY 상표)라는 암호화 알고리즘으로, 상공부에 의해 설정된 DES 시스템에 유사한 블록 암호화 기술을 적용함을 이해하여야 한다. 가입자 인증 시스템(3)은 가입자 관리 시스템(2)에 의해 공급되는 EMM 데이터에 포함된 작업키(Kw)를 암호화 알고리즘 CRYPS를 통해 암호화된 작업키(Kw')로 대치하고, 이어서 이와 같이 암호화된 EMM 데이터를 발생한다. 본 출원인의 유일한 암호화 알고리즘을 통해 암호화된 EMM 데이터를 위성을 거쳐 전송하기 위해, 가입자 인증 시스템(3)은 운송 스트림 패킷의 패이로드 섹션 (payload section)에 암호화된 EMM 데이터를 삽입함으로서 암호화된 EMM 데이터를 운송 스트림 패킷으로 번역한다. 다음 설명에서는 이러한 EMM 데이터를 포함하는 운송 스트림 패킷이 EMM 패킷이라 칭하여진다. 가입자 인증 시스템(3)은 네트워크를 통해 추후 설명될 인코더/멀티플렉서 제어 유닛(9)으로부터 EMM 패킷에 주어진 PID (packet identifier)를 수신함을 또한 이해하여야 한다.
가입자 인증 시스템(3)은 256개 작업키(Kw)가 작업키를 식별하기 위한 작업키 식별 번호 (Kw_No)와 연관된 작업키 테이블을 갖고, 이 작업키 테이블은 네트워크를 통해 멀티플렉서 시스템(8)의 메모리로 다운로드 (download)될 수 있다. 이러한 작업키 테이블이 멀티플렉서 시스템(8)으로 다운로드되는 이유는 암호화된 작업키(Kw')만이 가입자 인증 시스템(3)에 의해 멀티플렉서 시스템(8)에 전송되기 때문에 멀티플렉서 시스템(8)이 작업키 식별 번호 (Kw_No)로부터 암호화되지 않은 작업키(Kw)를 얻기 때문이다.
더욱이, 가입자 인증 시스템(3)은 전송된 프로그램에 포함되는 각 데이터 소자를 스크램블 처리하도록 스크램블 키(Ks)를 발생한다. 이에 대해, 가입자 인증 시스템(3)은 각 프로그램이나 그에 포함된 각 데이터 소자에 대해 다른 스크램블 키(Ks)를 발생한다. 예를 들어 도 2에 도시된 바와 같이, 스크램블 키(Ks1)는 각각 제 1 프로그램을 구성하는 비디오 데이터 및 메인 오디오 데이터를 스크램블 처리하도록 발생되고, 스크램블 키(Ks2)는 제 2 프로그램을 구성하는 비디오 데이터 및 메인 오디오 데이터를 스크램블 처리하도록 발생되고, 스크램블 키(Ks3)는 제 2 프로그램의 서브오디오 데이터를 스크램블 처리하도록 발생되고, 또한 스크램블 키(Ks4)는 제 2 프로그램의 전용 데이터를 스크램블 처리하도록 발생된다. 어느 스크램블 키가 어느 프로그램의 어느 소자에 지정되는가는 프로그램의 내용에 의존하여 임의적으로 가입자 인증 시스템(3)에 의해 결정될 수 있다. 예를 들어 제 4 프로그램에 대해, 다른 스크램블 키 (Ks7) 내지 (Ks10)는 각각 비디오 데이터, 메인 오디오 데이터, 서브오디오 데이터, 및 전용 데이터에 지정될 수 있고, 제 5 프로그램에 대해서는 같은 스크램블 키(Ks11)가 비디오 데이터, 메인 오디오 데이터, 서브오디오 데이터, 및 전용 데이터에 모두 지정될 수 있다.
더욱이, 디지털 방송 시스템에 사용되는 암호화/해독화 시스템의 보안 레벨을 증진시키기 위해, 가입자 인증 시스템(3)은 가입자 인증 시스템(3)내의 랜덤수 발생기에서 4초의 간격으로 스크램블 키 (Ks1) 내지 (Ks19)를 업데이트한다.
부가하여, 가입자 인증 시스템(3)은 역스크램블 처리에 사용되는 다수의 ECM (Entitlement_Control_Message) 데이터 항목을 발생한다. 이 ECM 데이터는 적어도 작업키 테이블에 목록화되는 작업키(Kw)를 지정하기 위한 작업키 번호, 데이터 스트림을 스크램블 처리하기 위한 스크램블 키(Ks), 및 가입자 인증 시스템(3)을 식별하기 위한 CA_system_ID로 구성된다. 그러므로, 도 2에 도시된 바와 같이 19개 스크램블 키 (Ks1) 내지 (Ks19)가 사용되는 예에서, 가입자 인증 시스템(3)은 스크램블 키만이 ECM 데이터 항목으로 등록되기 때문에 19개 ECM 데이터 항목을 발생한다.
발생된 다수의 ECM 데이터 항목을 전송하기 위해, 가입자 인증 시스템(3)은 또한 운송 스트림 패킷의 패이로드 섹션에 다수의 ECM 데이터 항목을 삽입함으로서 다수의 ECM 데이터 항목을 운송 스트림 패킷으로 번역한다. 다음의 설명에서, 이러한 ECM 데이터를 포함하는 운송 스트림 패킷은 ECM 패킷이라 칭하여진다. 도 1에서, ECM1은 스크램블 키(Ks1)를 포함하는 ECM 패킷을 나타내고, ECM2는 스크램블 키(Ks2)를 포함하는 ECM 패킷을 나타내고, 유사하게 ECM3 내지 ECM19는 각각 스크램블 키 (Ks3) 내지 (Ks19)를 포함하는 ECM 패킷을 나타낸다. 또한, 가입자 인증 시스템(3)은 네트워크를 통해 추후 설명될 인코더/멀티플렉서 제어 유닛(9)으로부터 다수의 ECM 패킷 각각에 주어진 PID (packet identifier)를 수신함을 이해하여야 한다. 또한, 도 1에서는 ECM 패킷이 간략하게 멀티플렉서 시스템에 바로 공급되는 것으로 도시되지만, 실제로는 ECM 패킷이 네트워크 및 인코더/멀티플렉서 제어 유닛(9)을 통해 멀티플렉서 시스템(8)에 공급됨을 이해하여야 한다.
이제는 상술된 작업키와 스크램블 키가 디지털 방송 시스템에 사용되어야 하는 이유가 이후 설명된다.
전형적인 디지털 방송 시스템은 일반적으로 가입자만이 프로그램을 보거나 듣도록 허가하고 그들의 가입 조건을 근거로 이들 가입자에게 거래를 전달하는 유료 방송 시스템을 사용한다. 유료 방송 시스템을 이루기 위해, 이러한 디지털 방송 시스템은 전송 이전에 방송국에 의해 발생된 스크램블 키로 프로그램을 스크램블 처리하고 가입자만이 그 프로그램을 역스크램블 처리하여 보거나 듣도록 허용하여야 한다. 특별히, 가입자만이 수신 단말부에서 이러한 스크램블 처리된 데이터 소자를 역스크램블 처리하도록 허용하기 위해서는 스크램블 처리에서 사용된 스크램블 키(Ks)가 역스크램블 처리에서도 또한 사용되어야 한다. 위성을 통해 전송된 프로그램을 자동적으로 역스크램블 처리하기 위해서는 이들 스크램블 키(Ks)가 수신 단말부로 전송되어야 한다.
그러나, 이들 스크램블 키(Ks)가 수신 단말부로 전송되면, 인증되지 않은 수신자도 이들 스크램블 키(Ks)를 구할 수 있고, 결과적으로 전송된 모든 프로그램을 무료로 보거나 들을 수 있게 된다. 그러므로, 제 1 보안 레벨로서, 본 발명에 따른 유료 방송 시스템은 랜덤수 발생기에서 수 초의 간격으로 이들 스크램블 키(Ks)를 변화시키고 작업키(Kw)로 스크램블 키(Ks)를 암호화한다. 랜덤수 발생기로 스크램블 키(Ks)를 암호화하는 것은 소프트웨어로 이루어질 수 있으므로, 암호화 기술에 대해 훨씬 더 높은 보안 레벨을 제공할 수 있다.
한정 수신 시스템의 보안 레벨을 더 증진시키기 위해, 본 발명에 따른 디지털 방송 시스템은 추후 설명될 멀티플렉서 시스템(8)의 암호화 회로(822)에서 작업키(Kw)를 사용해 이들 스크램블 키(Ks)를 암호화하고, 이어서 암호화된 스크램블 키(Ks')를 수신 단말부로 전송한다. 즉, 스크램블 처리 프로그램에서 사용된 스크램블 키(Ks) 그 자체를 전송하는 것 보다 암호화된 스크램블 키(Ks)를 전송함으로서, 보안 레벨을 최대로 증진시킬 수 있다. 수신 단말부에서, 암호화된 스크램블 키(Ks')를 해독하기 위한 해독기는 수신기내의 보안 모듈 (IC 카드)에 제공되고, 모든 해독 동작은 보안 모듈로 실행된다. IC 카드로 구성된 보안 모듈은 그에 포함된 프로그램 코드가 사실상 복호화될 수 없도록 하는 구조를 가지므로, 외부사람들이 스크램블 키를 해독하기가 매우 어렵다.
EPG 시스템(4)은 전송된 프로그램과 연관된 프로그램 안내 데이터를 생성하는 시스템이다. 프로그램 안내 데이터 (EPG 데이터)는 예를 들면, 미래에 방송될 프로그램의 방송 시간을 알리는 데이터, 선택된 프로그램의 내용을 설명하는 문자 데이터, 및 프로그램에 대한 제목 데이터를 칭한다. EPG 데이터는 주로 방송국에 의해 생성되거나 프로그램 공급자가 자체 프로그램에 대해 특별한 EPG 데이터를 생성할 수 있다.
서버 시스템(5)은 다양한 내용물을 포함하는 디스크 드라이버를 어레이로 연결시킴으로서 구성된 서버와, 서버의 기록/재생 동작을 제어하기 위한 서버 제어 컴퓨터로 구성된다. 서버 시스템(5)은 이터넷 (Ethernet)과 같은 방송국내의 LAN을 통해 방송 데이터 처리 시스템(1)에 연결되므로, 프로그램 데이터 처리 시스템의 프로그램 계획 리스트에 따라 프로그램을 전송하도록 제어될 수 있다. 서버 시스템(5)은 CM 내용물을 공급하기 위한 CM 서버 기능, 텔레비젼 프로그램물과 뉴스 프로그램물을 공급하기 위한 매일 서버 기능, 및 텔레비젼 프로그램물과 영화물을 공급하기 위한 VOD (video-on-demand) 서버 기능과 같이, 기록된 내용물의 종류에 대응하는 수개의 서버 기능을 갖고, 방송 데이터 처리 시스템(1)의 제어하에서 특정한 채널을 통해 다수의 원하는 프로그램을 제공할 수 있다.
루트 시스템(6)은 서버 시스템(5)에 의해 공급된 다중채널 데이터를 적절한 채널로 전하기 위한 시스템이다. 루트 시스템(6)은 이터넷을 통해 방송 데이터 처리 시스템(1)에 연결되므로, 프로그램 데이터 처리 시스템의 프로그램 계획 리스트에 따라 적절한 채널에 걸쳐 프로그램을 전송하도록 제어될 수 있다.
인코더/멀티플렉서 제어 유닛(9)은 인코더 시스템(7) 및 멀티플렉서 시스템(8)을 제어하기 위한 제어 명령을 네트워크를 통해 인코더 시스템(7) 및 멀티플렉서 시스템(8)에 공급한다. 인코더/멀티플렉서 제어 유닛(9)은 네트워크를 통해 EPG 시스템(4)으로부터 EPG 패킷을 수신할 뿐만 아니라 네트워크를 통해 가입자 인증 시스템(3)으로부터 ECM 패킷 (ECM1 내지 ECM19) 및 EMM' 패킷을 수신하고, 수신된 EPG, EMM', 및 ECM 패킷을 멀티플렉서 시스템(8)에 공급한다. 부가하여, 인코더/멀티플렉서 제어 유닛(9)은 전용 데이터를 인코더 시스템(7)에 공급할 뿐만 아니라 프로그램 지정 정보 (PSI: Program_Specific_Information)를 멀티플렉서(8)에 공급한다.
프로그램 지정 정보(PSI)는 프로그램 맵 (map) 테이블 (PMT)에 지정된 프로그램 번호와 그의 대응하는 운송 스트림 패킷을 도시하기 위한 프로그램 연관 테이블 (PAT: Program_Association_Table), 지정된 프로그램에 대한 데이터 소자가 설명되는 운송 스트림 패킷을 도시하기 위한 프로그램 맵 테이블 (PMT: Program_Map_Table), 및 EMM 데이터를 포함하는 운송 스트림 패킷을 지정하기 위한 조건부 억세스 테이블 (CAT: Conditional_Access_Table)로 구성된다. 인코더/멀티플렉서 제어 유닛(9)은 프로그램 연관 테이블(PAT), 프로그램 맵 테이블(PMT), 및 조건부 억세스 테이블(CAT)를 발생하고, 발생된 이들 테이블을 운송 스트림의 형태로 제공한다. 다음 설명에서, 이러한 프로그램 연관 테이블(PAT)을 포함하는 운송 스트림 패킷은 PAT 패킷이라 칭하여지고, 프로그램 맵 테이블(PMT)을 포함하는 운송 스트림 패킷은 PMT 패킷이라 칭하여지고, 또한 조건부 억세스 테이블(CAT)을 포함하는 운송 스트림 패킷은 CAT 패킷이라 칭하여진다.
EPG 시스템(4), 가입자 인증 시스템(3), 및 인코더 시스템(7)에 의해 생성된 운송 스트림 패킷에 적절한 패킷 식별자(PID)를 지정하기 위해, 인코더/멀티플렉서 제어 유닛(9)은 적절한 패킷 식별자(PID)를 발생하고, 이를 가입자 인증 시스템(3), EPG 시스템(4), 및 인코더 시스템(7)에 공급한다.
패킷 식별자 (PID: Packet Identification)는 운송 스트림 패킷을 식별하기 위한 식별자이다. 이러한 패킷 식별자(PID)는 운송 스트림 패킷의 패이로드에 저장된 데이터 종류에 따라 결정되는 13 비트의 유일한 데이터이다. 예를 들어, 도 3에 도시된 바와 같이, "0x0000"의 PID 값은 패이로드에 프로그램 연관 테이블(PAT)에 관한 정보를 저장하는 운송 스트림 패킷에 지정되고, "0x0001"의 PID 값은 패이로드에 조건부 억세스 테이블(CAT)에 대한 정보를 저장하는 운송 스트림 패킷에 지정된다. PID 값 "0x0020" 내지 "0x1FFE" 중 하나는 패이로드에 비디오 데이터 및 오디오 데이터와 같은 기본 데이터나 프로그램 맵 테이블(PMT)에 대한 정보를 저장하는 운송 스트림 패킷에 대한 PID 값으로 선택된다.
각 운송 스트림 패킷에 지정된 PID를 발생할 때, 인코더/멀티플렉서 제어 유닛(9)은 스크램블 처리에 사용되는 스크램블 키(Ks)와 운송 스트림 패킷에 지정된 PID 사이의 대응관계를 나타내는 PID 테이블을 발생한다. PID 테이블은 이전에 사용된 PID 값들을 저장하는 테이블이고, PID 테이블에 저장된 PID 값들을 참고로, 인코더/멀티플렉서 제어 유닛(9)은 PID 값이 이전에 사용되었나 여부를 결정하고 이전 PID 값의 복제가 아닌 새로운 PID 값을 발생할 수 있다. PID 테이블은 또한 다중화된 운송 스트림 패킷이 스크램블 처리되어야 하는가 여부를 결정하는데 사용된다.
예를 들어 도 4에 도시된 바와 같이, PID 테이블은 발생된 운송 스트림 패킷에 지정된 PID와 대응하는 운송 스트림 패킷에 저장된 데이터에 사용되는 스크램블 키(Ks) 사이의 대응관계를 나타낸다. 도 4에서, PAT 패킷에 대한 PID 값은 "0x0000"으로 고정되고, 제 1 프로그램에 대응하는 PMT 패킷에 지정된 PID 값은 "0x0100"이고, 제 2 프로그램에 대응하는 PMT 패킷에 지정된 PID 값은 "0x0101"이고, 제 1 프로그램의 비디오 데이터로 사용되는 Video[1] 패킷과 메인 오디오 데이터로 사용되는 Main_Audio[1] 패킷을 스크램블 처리하는 스크램블 키(Ks1)와 함께 ECM 패킷에 지정된 PID 값은 "0x0300"이고, 제 2 프로그램의 비디오 데이터로 사용되는 Video[2] 패킷을 스크램블 처리하는 스크램블 키(Ks2)와 함께 ECM 패킷에 지정된 PID 값은 "0x0301"이고, 제 2 프로그램의 메인 오디오 데이터로 사용되는 Main_Audio[2] 패킷을 스크램블 처리하는 스크램블 키(Ks2)와 함께 ECM 패킷에 지정된 PID 값은 "0x0302"이고, 제 2 프로그램의 서브오디오 데이터로 사용되는 Sub_Audio[2] 패킷을 스크램블 처리하는 스크램블 키(Ks3)와 함께 ECM 패킷에 지정된 PID 값은 "0x0303"이고, 제 2 프로그램의 전용 데이터로 사용되는 Private[2] 패킷을 스크램블 처리하는 스크램블 키(Ks4)와 함께 ECM 패킷에 지정된 PID 값은 "0x0304"이다. 제 1 프로그램의 비디오 데이터로 사용되는 Video[1] 패킷에 지정된 PID 값은 "0x0500"이고, 이 종류의 패킷은 스크램블 키(Ks1)로 스크램블 처리된다. 제 1 프로그램의 메인 오디오 데이터로 사용되는 Main_Audio[1] 패킷에 지정된 PID 값은 "0x0501"이고, 이 종류의 패킷은 스크램블 키(Ks1)로 스크램블 처리된다. 제 2 프로그램의 비디오 데이터로 사용되는 Video[2] 패킷에 지정된 PID 값은 "0x0502"이고, 이 종류의 패킷은 스크램블 키(Ks2)로 스크램블 처리된다. CAT 패킷에 지정된 PID 값은 "0x0001"로 고정되고, EMM 패킷에 지정된 PID 값은 "0x700"이다.
도 5에 도시된 바와 같이, 인코더 시스템(7)은 MPEG2 표준에 따라 다수의 채널에 걸쳐 공급된 비디오 데이터를 부호화하기 위한 다수의 MPEG 비디오 인코더 (711V) 내지 (719V), MPEG2 표준에 따라 비디오 데이터 스트림에 대응하는 다수의 오디오 데이터 스트림을 부호화하기 위한 MPEG 오디오 인코더 (711A) 내지 (719A), 각 비디오 인코더 및 각 오디오 인코더에 의해 공급된 스트림과 인코더/멀티플렉서 제어 유닛(9)에 의해 공급된 전용 데이터 스트림을 다중화하기 위한 다중화 회로 (721) 내지 (729), 및 비디오/오디오 인코더 (711) 내지 (719)와 다중화 회로 (721) 내지 (729)를 제어하기 위한 부호화 제어기(70)를 구비한다. 도 5에 도시된 바와 같은 인코더 시스템은 9개 채널에 대한 프로그램을 부호화하도록 구성되지만, 물론 단지 9개 채널이 아니라 임의의 채널을 처리할 수 있음을 이해하여야 한다.
각 비디오 인코더 (711V) 내지 (719V)는 MPEG2 표준에 따라 비디오 데이터를 부호화함으로서 부호화된 비트 스트림을 발생한다. 이때, 비디오 인코더는 화상 유닛으로 부호화된 비트 스트림을 나누고 나뉜 비트 스트림에 헤더 (header)를 첨부함으로서 PES (Packetized Elementary Stream) 패킷을 발생한다. 다음에, 비디오 인코더는 PES 패킷을 184 바이트로 나누고 나뉜 184 바이트의 비트 스트림에 4 바이트의 헤더를 첨부함으로서 운송 스트림 패킷을 발생한다. 스트림으로 배열된 운송 스트림 패킷으로 구성되는 데이터는 운송 스트림이라 칭하여진다. 운송 스트림 패킷을 발생할 때, 인코더/멀티플렉서 제어 유닛(9)은 부호화된 비디오 데이터를 포함하는 운송 스트림 패킷을 식별하기 위한 패킷 식별자(PID)를 각 비디오 인코더 (711V) 내지 (719V)에 공급한다.
각 오디오 인코더 (711A) 내지 (719A)는 MPEG2 표준에 따라 메인 오디오 데이터와 서브오디오 데이터를 부호화함으로서 부호화된 비트 스트림을 발생한다. 비디오 인코더와 같이, 각 오디오 인코더 (711A) 내지 (719A)는 비트 스트림으로부터 PES 패킷을 발생하고, 이어서 PES 패킷을 184 바이트로 나누고 4 바이트의 헤더를 첨부함으로서 오디오 데이터를 포함한 운송 스트림 패킷을 발생한다. 운송 스트림 패킷을 발생할 때, 인코더/멀티플렉서 제어 유닛(9)은 부호화된 오디오 데이터를 포함하는 운송 스트림 패킷을 식별하기 위한 패킷 식별자(PID)를 각 오디오 인코더 (711A) 내지 (719A)에 공급한다.
각 다중화 회로 (721) 내지 (729)는 부호화된 비디오 데이터를 포함하는 운송 스트림, 부호화된 오디오 데이터를 포함하는 운송 스트림, 및 전용 데이터를 포함하는 운송 스트림을 다중화함으로서 운송 스트림을 발생한다. 특별히, 다중화 회로는 부호화된 비디오 데이터를 포함하는 운송 스트림, 부호화된 오디오 데이터를 포함하는 운송 스트림, 및 전용 데이터를 포함하는 운송 스트림 사이를 운송 스트림 패킷의 단위로 교환함으로서 이들 스트림을 다중화한다. 그러므로, 출력 운송 스트림에서는 부호화된 비디오 데이터를 포함하는 운송 스트림 패킷, 부호화된 오디오 데이터를 포함하는 운송 스트림 패킷, 및 전용 데이터를 포함하는 운송 스트림 패킷이 혼합된다. 이에 대해, 전용 데이터는 부호화 제어기(70)에 의해 운송 스트림 패킷에 놓이고, 이어서 네트워크를 통해 각 다중화 회로에 공급된다.
부호화 제어기(70)는 비디오 및 오디오 인코더 각각에 대해 적절한 부호화 비트 비율을 지정한다. 예를 들어, 부호화 제어기(70)는 더 많은 부호화 비트를 요구하는 스포츠와 같은 프로그램을 부호화하기 위한 인코더에는 더 높은 비트 비율을 지정하고, 더 적은 부호화 비트를 발생할 수 있는 뉴스와 같은 프로그램을 부호화하기 위한 인코더에는 더 낮은 비트 비율을 지정한다. 즉, 다른 채널에 상대적으로 각 채널에 대해 비디오 데이터의 복잡성 (얼마나 많은 비트가 부호화에 의해 발생되는가에 대한 인덱스로 사용되는)을 포착하여, 최고 복잡성을 갖는 비디오 데이터를 위한 채널에는 최고 비트 비율을 지정하고 내림 차순으로 더 낮은 다른 비트 비율을 지정한다. 물론, 지정된 비트 비율은 프로그램에 특정된 것이 아니고, 그 프로그램에서 비디오 데이터의 복잡성에 의존해 변할 수 있다.
다음에는 이 운송 스트림 패킷에 대한 구조와 구문 (syntax)이 도 6 내지 도 9를 참고로 이후 상세히 설명된다.
운송 스트림 패킷은 4 바이트의 헤더와, 다양한 종류의 데이터 및 데이터 소자를 저장하기 위한 184 바이트의 패이로드 섹션으로 구성된다.
운송 스트림 패킷의 헤더는 다음의 필드로 구성된다: sync_byte, transprot_error_indicator, payload_unit_start_indicator, transport_priority_PID, transport_scrambling_control, adaptation_field_control, continuity_counter, 및 adaptation_field.
sync_byte 필드는 8 비트의 고정 길이를 갖는 필드로서, 비트 스트림에서 동기화 패턴을 검출한다. 이 필드는 "1000111" (0x47)의 고정값을 갖도록 정의되고, 스트림에서 이 비트 패턴을 검출함으로서 동기화 조건을 검출할 수 있다.
transport_error_indicator 필드는 1 비트의 플래그로서, "1"로 설정될 때는 적어도 1 비트의 정정가능하지 않은 에러가 운송 스트림 패킷에 존재함을 나타낸다.
payload_unit_start_indicator 필드는 1 비트의 플래그로서, 비디오/오디오 데이터와 다른 기본 데이터 또는 프로그램 지정 정보 (PSI)를 운반하는 운송 스트림 패킷에 중요한 의미를 갖는다. 운송 스트림 패킷의 패이로드 섹션이 기본 데이터를 포함하면, payload_unit_start_indicator 필드는 다음의 의미를 갖는다: payload_unit_start_indicator 필드가 "1"일 때, 이는 기본 데이터가 이 운송 스트림 패킷의 패이로드 섹션 중 시작부에 삽입됨을 나타내고; payload_unit_start_indicator 필드가 "0"일 때, 이는 기본 데이터가 이 운송 스트림 패킷의 패이로드 섹션 중 시작부에 삽입되지 않음을 나타낸다. payload_unit_start_indicator 필드가 "1"로 설정되면, 이는 단 하나의 PES 패킷이 특정한 운송 스트림 패킷에서 시작됨을 나타낸다. 반대로, 운송 스트림 패킷의 패이로드 섹션이 PSI 데이터를 포함하면, payload_unit_start_indicator 필드는 다음의 의미를 갖는다: 운송 패킷이 PSI 부의 제 1 바이트를 운반할 때, payload_unit_start_indicator 필드는 "1"이고; 운송 스트림이 PSI 부의 제 1 바이트를 운반하지 않을 때, payload_unit_start_indicator 필드는 "0"이다. 운송 스트림 패킷이 널 패킷 (null packet)이면, payload_unit_start_indicator 필드는 또한 "0"이다.
transport_priority 필드는 운송 패킷의 우선순위를 나타내기 위한 1 비트의 식별자이다. transport_priority 필드가 "1"로 설정될 때, 이 운송 패킷은 같은 패킷 식별자 PID를 갖는 패킷으로, 이 패킷이 "1" 이외의 값으로 설정된 transport_priority 필드를 갖는 것 보다 더 높은 우선순위를 가짐을 나타낸다. 예를 들어, 기본 스트림내의 특정한 패킷은 transport_priority 필드의 패킷 식별자를 설정함으로서 우선적으로 지정될 수 있다.
transport_scrambling_control 필드는 운송 스트림 패킷 패이로드의 스크램블 모드를 나타내기 위한 2 비트의 데이터이다. 스크램블 모드는 패이로드에 저장된 데이터가 스크램블 처리되었나 여부와 스크램블의 종류를 나타낸다. 이는 운송 스트림 패킷 헤더와 적응 필드가 스크램블 키(Ks)로 스크램블 처리되지 말아야 한다는 표준에 의해 요구된다. 그러므로, 이 transport_scrambling_control 필드를 사용함으로서, 운송 스트림 패킷 패이로드에 저장된 데이터가 스크램블 처리되었나 여부를 결정할 수 있다.
adaptation_field_control 필드는 적응 필드 및/또는 패이로드가 이 운송 스트림의 패킷 헤더에 놓임을 나타내기 위한 2 비트의 데이터이다. 특별히, 패이로드 데이터만이 패킷 헤더에 놓이면, adaptation_field_control 필드는 "1"이고, 적응 필드만이 패킷 헤더에 놓이면, adaptation_field_control 필드는 "10"이고, 적응 필드와 패이로드가 모두 패킷 헤더에 놓이면, adaptation_field_control 필드는 "11"이다.
continuity_counter 필드는 같은 PID를 갖는 연속적으로 전송되는 패킷이 전송 동안 부분적으로 비거나 버려지는가 여부를 나타내기 위한 데이터이다. 특별히, continuity_counter 필드는 같은 PID를 갖는 운송 스트림 패킷이 전송될 때마다 증가되는 4 비트의 필드이다. 그러나, 이 continuity_counter는 적응 필드가 패킷 헤더에 놓일 때에만 카운트됨을 이해하여야 한다.
adaptation_field는 분리된 스트림에 추가 정보를 삽입하거나 옵션으로 바이트를 채워넣기 위한 필드이다. 이 적응 필드를 사용함으로서, 분리된 스트림의 동적 상태 전이에 대한 모든 정보가 데이터와 함께 전송될 수 있다.
adaptation_field는 다음의 필드로 구성된다: adaptation_field_length, discontinuity_counter, random_access_indicator, elementary_stream_priority_indicator, PCR_flag, OPCR_flag, splicing_point_flag, splicing_point, transprot_private_data_flag, adaptation_field_extension_flag, program_clock_reference (PCR), original_program_clock_reference (OPCR), splice_countdown, transport_private_data_length, private_data, adaptation_field_extension_length, ltw_flag (legal_time_window flag), piecewise_rate_flag, 및 seamless_splice_flag.
adaptation_field_length 필드는 이 adaptation_field_length 필드에 이어지는 적응 필드의 바이트수를 나타내는 데이터이다. adaptation_field_control 필드가 "11"이면, adaptation_field_length는 0 내지 182 비트이고; adaptation_field_control이 "10"이면, adaptation_field_length는 183 비트이다. 기본 스트림이 운송 스트림의 패이로드에 채워지기에 충분하지 않을 때는 이것을 일부 비트로 채우도록 주입하기가 요구됨을 이해하여야 한다.
discontinuity_counter 필드는 시스템 클럭 기준 (SCR)이 불연속적인 같은 PID를 갖는 다수의 패킷 도중에 재설정되는가 여부를 나타내는 데이터이다. 시스템 클럭 기준이 불연속적이면, 이 discontinuity_counter 필드는 "1"이고; 시스템 클럭 기준이 아직 연속적이면, 이 discontinity_counter 필드는 "0"이다. 시스템 클럭 기준은 비디오 및 오디오 데이터를 복호화하기 위한 MPEG 디코더가 디코더에 대한 시스템 시간 클럭을 인코더에 의해 의도된 타이밍 값으로 설정하는데 사용하는 기준 정보임을 이해하여야 한다.
random_access_indicator 필드는 비디오 순차 헤더나 오디오 프레임의 시작부를 나타내는 데이터이다. 즉, 이 random_access_indicator 필드는 데이터 소자가 무작위로 억세스될 때 비디오 또는 오디오 데이터에 대한 억세스점 (프레임의 시작부인)을 나타내는 데이터이다.
elementary_stream_priority_indicator 필드는 같은 PID를 갖는 패킷에서 이 운송 스트림 패킷의 패이로드에 운반되는 기본 스트림 데이터의 우선순위를 나타내는 데이터이다. 예를 들어, 기본 스트림의 비디오 데이터가 인트라-코드화 (intra-code)될 때, elementary_stream_priority_indicator 필드는 "1"로 설정된다. 반대로, 인터-코드화 (inter-code)화된 비디오 데이터를 포함하는 운송 스트림의 elementary_stream_priority_indicator는 "0"으로 설정된다.
PCR_flag 필드는 PCR (program_clock_reference) 데이터가 적응 필드에 존재하는가 여부를 나타내는 데이터이다. PCR 데이터가 적응 필드에 존재하면, PCR_flag 필드는 "1"로 설정되고; PCR 데이터가 존재하지 않으면, PCR_flag 필드는 "0"으로 설정된다. PCR 데이터는 전송된 데이터를 복호화하기 위한 복호화 동작의 적절한 타이밍을 구하기 위해 수신 단말부에서 디코더에 의해 사용됨을 이해하여야 한다.
OPCR_flag 필드는 OPCR (original_program_clock_reference) 데이터가 적응 필드에 존재하는가 여부를 나타내는 데이터이다. OPCR 데이터가 적응 필드에 존재하면, OPCR_플래그 필드는 "1"로 설정되고; OPCR 데이터가 존재하지 않으면, OPCR_플래그 필드는 "0"으로 설정된다. OPCR 데이터는 다수의 원래 운송 스트림으로부터 운송 스트림을 재구성하는 접속 동작에 의해 사용되어 원래 운송 스트림에 대한 PCR 데이터를 나타냄을 이해하여야 한다.
splicing_point_flag 필드는 편집점 (접속점)을 운송 레벨로 나타내기 위해 splice_countdown 데이터가 적응 필드에 존재하는가 여부를 나타내는 데이터이다. splice_countdown 데이터가 적응 필드에 존재하면, splicing_point_flag 필드는 "1"이고; splice_countdown 데이터가 적응 필드에 존재하지 않으면, splicing_point_flag 필드는 "0"이다.
transport_private_data_flag 필드는 특정한 사용자 데이터를 설명하는데 사용되는 전용 데이터가 적응 필드에 존재하는가 여부를 나타내는 데이터이다. 전용 데이터가 적응 필드에 존재하면, transport_private_data_flag 필드는 "1"로 설정되고; 전용 데이터가 적응 필드에 존재하지 않으면, transport_private_data_flag 필드는 "0"으로 설정된다.
adaptation_field_extension_flag 필드는 확장 필드가 적응 필드에 존재하는가 여부를 나타내는 데이터이다. 확장 필드가 적응 필드에 존재하면, adaptation_field_extension_flag 필드는 "1"로 설정되고; 확장 필드가 적응 필드에 존재하지 않으면, adaptation_field_extension_flag 필드는 "0"으로 설정된다.
program_clock_reference (PCR)는 수신 단말부에 있는 클럭이 전송 단말부에 있는 클럭과 동위상이 될 때 기준되는 기준 클럭이다. 이 PCR 데이터는 각 운송 패킷이 발생될 때의 시간 데이터를 포함한다. PCR 데이터는 42 비트의 길이로서, 33 비트의 program_clock_reference_base와 9 비트의 program_clock_reference_extension으로 구성된다. 시스템 클럭을 program_clock_reference_extension으로 0 내지 299의 범위에서 카운트하고 카운트 299가 0으로 재설정될 때 발생된 캐리 (carry)를 갖는 program_clock_reference_base에 한 비트를 추가함으로서 24 시간이 카운트될 수 있다.
original_program_clock_reference (OPCR) 필드는 특정한 운송 스트림으로부터 단일 프로그램 운송 스트림을 재구성하는데 사용되는 데이터이다. 이러한 프로그램 운송 스트림이 완전하게 재구성될 때, original_program_clock_reference는 program_clock_reference 필드로 복사된다.
splice_countdown 필드는 같은 PID를 갖는 운송 스트림 패킷에서 운송 스트림 패킷 레벨에 있는 편집가능한 (접속가능한) 지점에 이를 필요가 있는 패킷의 수를 나타내는 데이터이다. 그러므로, 편집가능한 접속점에 있는 운송 스트림 패킷은 "0"으로 설정된 splice_countdown 필드를 갖는다. "0"으로 설정된 splice_countdown 필드를 갖는 운송 패킷에서, 운송 스트림 패킷 패이로드의 최종 바이트는 이것을 부호화된 화상의 최종 바이트로 재배치함으로서 접속될 수 있다.
이에 대해, 접속 동작은 운송 레벨에서 두 개의 다른 기본 스트림을 결부시키도록 실행되어 새로운 운송 스트림을 형성한다. 접속 동작은 두 종류로 나뉠 수 있다: 복호화의 불연속성을 갖지 않는 무봉합 접속 (seamless splice)과 복호화의 불연속성을 갖는 봉합 접속 (nonseamless splice). 복호화의 불연속성이 일어나지 않는 경우는 새롭게 부가된 스트림의 억세스 유닛에 대한 복호화 시간이 접속 이전의 오래된 스트림의 억세스 유닛에 대한 복호화 시간과 일치함을 의미한다. 반대로, 복호화의 불연속성이 일어나는 경우는 새롭게 부가된 스트림의 억세스 유닛에 대한 복호화 시간이 접속 이전의 오래된 스트림의 억세스 유닛에 대한 복호화 시간과 일치하지 않음을 의미한다.
transport_private_data_length 필드는 적응 필드에서 전용 데이터의 바이트수를 나타내는 데이터이다.
private_data는 표준에 의해 특별히 요구되지는 않지만 적응 필드에서 특정한 사용자 데이터를 설명하는데 사용될 수 있는 필드이다.
adaptation_field_extension_length 필드는 적응 필드에서 적응 필드 확장 데이터의 길이를 나타내는 데이터이다.
ltw_flag (legal_time_window_flag) 필드는 디스플레이 윈도우의 오프셋 (offset) 값을 나타내는 ltw_offset 데이터가 적응 필드에 존재하는가 여부를 나타내는 데이터이다.
piecewise_rate_flag 필드는 piecewise_rate 데이터가 적응 필드에 존재하는가 여부를 나타내는 데이터이다.
seamless_splice_flag 필드는 접속점이 정상적인 접속점인가 무봉합 접속점인가 여부를 나타내는 데이터이다. seamless_splice_flag 필드가 "0"일 때, 이는 접속점이 정상적인 접속점임을 나타내고; seamless_splice_flag 필드가 "1"일 때, 이는 접속점이 무봉합 접속점임을 나타낸다. 정상적인 접속점은 접속점이 PES 패킷내의 브레이크 (break)에 존재하고 이 접속점에 바로 선행하는 접속 패킷이 억세스 유닛으로 끝나고 같은 PID를 갖는 다음 운송 패킷이 PES 패킷의 헤더에서 시작됨을 의미한다. 반대로, 무봉합 접속점은 접속점이 PES 패킷의 중간에 존재하고 새롭게 부가된 스트림의 억세스 유닛에 대한 복호화 시간이 접속 이전의 오래된 스트림의 억세스 유닛에 대한 복호화 시간과 일치하기 위해, 오래된 스트림의 특징이 부분적으로 새로운 스트림의 것으로 사용됨을 의미한다.
다음에는 도 10을 참고로 멀티플렉서 시스템(8)이 이후 상세히 설명된다. 멀티플렉서 시스템(8)은 PAT 패킷, PMT 패킷, CAT 패킷, 부호화된 기본 데이터를 포함하는 운송 스트림 패킷, EPG 패킷, ECM 패킷, 및 EMM' 패킷을 다중화하여 운송 스트림을 발생하는 시스템이다.
특별히, 멀티플렉서 시스템(8)는 멀티플렉서 시스템(8)내의 모든 회로를 제어하기 위한 멀티플렉서 제어기(81), 가입자 인증 시스템(3)에 의해 공급된 ECM 패킷을 암호화하기 위한 암호화 블록(82), 각각 프로그램 특정 정보(PSI)로서 인코더/멀티플렉서 시스템(9)에 의해 공급된 PAT 패킷, PMT 패킷, 및 CAT 패킷을 버퍼처리하는 FIFO 버퍼 (841) 내지 (843), 각각 다수의 프로그램을 포함하는 운송 스트림 패킷을 버퍼처리하는 FIFO 버퍼 (851) 내지 (859), 각각 ECM 패킷, EMM 패킷, 및 EPG 패킷을 버퍼처리하는 FIFO 버퍼 (861) 내지 (863), 각 FIFO 버퍼의 판독/기록 동작을 제어할 뿐만 아니라 각 FIFO 버퍼의 자유 영역을 모니터하기 위한 FIFO 제어기(83), FIFO 버퍼에 의해 공급된 운송 스트림 패킷을 다중화하여 다중화된 운송 스트림을 발생하기 위한 다중화 회로(87), 및 다중화된 운송 스트림 패킷에 포함된 데이터 소자를 스크램블 처리하기 위한 스크램블 블록(88)을 구비한다.
멀티플렉서 제어기(81)는 인코더/멀티플렉서 제어 유닛(9)으로부터 EPG 패킷, EMM' 패킷, ECM 패킷 (ECM1 내지 ECM19), PAT 패킷, PMT 패킷, 및 CAT 패킷을 수신하여 각 패킷을 적절한 회로에 공급한다. 멀티플렉서 제어기(81)는 또한 인코더/멀티플렉서 제어 유닛(9)으로부터 PID 테이블을 수신하고 이를 스크램블 블록(88)에 공급한다.
암호화 블록(82)은 인코더/멀티플렉서 제어 유닛(9) 및 멀티플렉서 제어기(81)를 통해 가입자 인증 시스템(3)에 의해 공급된 다수의 ECM 패킷에 포함된 스크램블 키(Ks)를 암호하하기 위한 블록이다. 암호화 블록(82)은 암호화 동작 이전에 가입자 인증 시스템(3)으로부터 다운로드된 작업키 테이블을 저장하기 위한 RAM(821)과, 작업키(Kw)를 근거로 ECM에 포함된 스크램블 키(Ks)를 암호화하기 위한 암호기(822)를 갖는다.
이제, 예를 들어 제 1 프로그램을 구성하는 기본 데이터를 스크램블 처리하기 위한 스크램블 키(Ks1)가 암호화되는 경우를 설명함으로서, 암호화 블록(82)의 암호화 동작이 이후 설명된다. 먼저, ECM 패킷(ECM1)에 포함된 작업키 번호(Kw_No)는 RAM(821)에 공급된다. RAM(821)은 가입자 인증 시스템으로부터 다운로드된 작업키 테이블을 저장하고, 이는 작업키 번호(Kw_No)와 작업키(Kw) 사이의 대응관계를 도시한다. 패킷(ECM1)에 포함된 작업키 번호(Kw_No)는 RAM(821)에 공급되므로, 공급된 작업키 번호(Kw_No)에 대응하는 작업키(Kw)는 RAM(821)에 의해 제공된다. 암호화 회로(822)는 스크램블 키(Ks1)를 포함하는 ECM 패킷을 수신하고, 또한 RAM(821)으로부터 작업키(Kw)를 수신한다. 암호화 회로(822)는 작업키(Kw)로 소스 ECM에 포함된 스크램블 키(Ks1)를 암호화하고, 이어서 암호화된 스크램블 키(Ks1')를 발생한다. 암호화 회로(822)는 암호화되지 않은 스크램블 키(Ks) 보다는 암호화된 스크램블 키(Ks1')를 소스 ECM에 축적하고, 암호화된 스크램블 키(Ks1)를 포함한 운송 스트림 패킷을 암호화된 ECM 패킷으로 제공한다. 암호화 알고리즘은 EMM 데이터에 포함된 작업키(Kw)를 암호화하기 위해 가입자 인증 시스템(3)에서 사용된 것, 즉 암호화 알고리즘 CRYSP와 같음을 이해하여야 한다.
암호화 블록(82)은 ECM 데이터로 공급되는 스크램블 키(Ks1)를 스크램블 블록(88)으로 공급한다. 스크램블 블록(88)으로 공급되는 스크램블 키(Ks1)는 작업키(Kw)로 암호화되지 않았음을 이해하여야 한다.
상기의 예에서는 제 1 ECM 패킷(ECM)으로 축적되는 스크램블 키(Ks1)가 상술된 바와 같이 암호화되지만, 다른 스크램블 키 (Ks2) 내지 (Ks19)에 대한 암호화 동작은 동일하게 실행된다. 그러므로, 암호화된 ECM 패킷 (ECM1') 내지 (ECM19')은 암호화 블록(82)에 의해 FIFO 버퍼(861)에 제공되고, 암호화되지 않은 스크램블 키 (Ks1) 내지 (Ks19)은 또한 암호화 블록(82)에 의해 스크램블 블록(88)으로 제공된다.
다중화 회로(87)는 각 FIFO내의 데이터량에 의존해, FIFO (841) 내지 (843)에서 버퍼처리된 PAT 패킷, PMT 패킷, 및 CAT 패킷으로부터 선택된 일부 패킷, FIFO (851) 내지 (859)에서 버퍼처리된 다수의 프로그램 Program1 내지 Program9을 포함한 운송 스트림 패킷, 및 FIFO (861) 내지 (863)에서 버퍼처리된 ECM 패킷, EMM 패킷, 및 EPG 패킷을 스크램블 블록(88)에 공급한다. 이에 대해, FIFO 제어기(83)는 각 FIFO에 공급된 패킷 데이터에 대한 입력 비율을 모니터하고, 각 FIFO에 대한 모든 입력 비율의 합이 소정의 출력 비율을 넘을 때 멀티플렉서 제어기(81)에 과도 입력 비율 상태를 알린다. 그래서, 멀티플렉서 제어기(81)는 다중화 회로(87)에 의해 선택된 타켓 FIFO로부터의 EMM 패킷을 버퍼처리하는 FIFO(862)를 제외시키고, 다른 FIFO를 선택 타켓으로 교환하여 교환된 FIFO로부터의 패킷 데이터를 스크램블 블록에 공급한다. 그러므로, 다중화 회로(87)에 의해 선택되는 FIFO의 수가 감소될 때, 타켓 FIFO에 대한 선택 동작의 수는 증가되고, 그에 의해 각 FIFO의 데이터 출력 비율은 그에 따라 과도 입력 비율 상태로 증가될 수 있다.
각 FIFO에 대한 모든 입력 비율의 합이 소정의 출력 비율 이하일 때, 멀티플렉서 제어기(81)는 FIFO(862)를 다중화 회로(87)에 의해 선택된 타켓 FIFO로 재저장함으로서 FIFO(862)에 버퍼처리된 EMM 패킷을 스크램블 블록(88)에 공급한다. FIFO(862)에서 버퍼처리된 가입 정보를 나타내는 EMM 데이터는 자주 바뀔 수 없어서 FIFO가 다중화 회로(87)에 의해 선택된 타켓 FIFO로부터 일시적으로 제외되더라도 실제로 불리한 상황이 발생되지 않음을 이해하여야 한다.
다중화 회로(87)에 의해 선택된 타켓 FIFO로부터 단일 FIFO(862)를 제외시키는 것만이 이러한 과도 입력 비율 조건을 다룰 수 없도록 하는 범위로 각 FIFO에 대한 모든 입력 비율의 합이 더 증가될 때, 멀티플렉서 제어기(81)는 EMM 데이터를 버퍼처리하기 위한 FIFO(862)를 제외시킬 뿐만 이니라 EPG 데이터를 버퍼처리하기 위한 FIFO(863)도 제외시킨다. 이러한 추가 제외는 다중화 회로(87)에 의해 선택되는 FIFO의 수를 더 감소시킬 수 있고, 타켓 FIFO에 대한 선택 동작의 수를 더 증가시켜, 그에 의해 각 FIFO의 데이터 출력 비율은 그에 대응하여 과도 입력 비율 상태로 더 증가될 수 있다. FIFO(863)에서 버퍼처리된 프로그램 안내 정보를 나타내는 EPG 데이터는 자주 바뀔 수 없어서 FIFO가 다중화 회로(87)에 의해 선택된 타켓 FIFO로부터 일시적으로 제외되더라도 실제로 불리한 상황이 발생되지 않음을 이해하여야 한다.
스크램블 블록(88)은 PID 검출 회로(881)와 스크램블 회로(882)를 갖는다. PID 검출 회로(881)는 다중화 회로(87)로부터 운송 스트림 패킷을 수신할 뿐만 아니라 멀티플렉서 제어기(81)를 통해 인코더/멀티플렉서 제어 유닛(9)으로부터 PID 테이블 (도 4)을 수신한다. PID 테이블은 운송 스트림 패킷을 발생할 때 사용되는 스크램블 키와 PID 값 사이의 대응관계를 나타내므로, PID 검출 회로(881)는 PID 테이블에 저장된 PID 값을 참고로 원하는 스크램블 키(Ks)를 검출하고, 검출된 스크램블 키(Ks)를 스크램블 회로(882)에 공급한다. 스크램블 회로(882)는 스크램블 키(Ks)와 연관된 프로그램 데이터를 포함하는 운송 스트림 패킷을 스크램블 처리하는데 PID 검출 회로(881)에 의해 공급된 스크램블 키(Ks)를 사용하고, 변조 회로(10) (도 1)에 출력을 제공한다.
이제는 프로그램 특정 정보가 이후 설명된다.
프로그램 지정 정보 (PSI: Program_Specific_Information)는 다수의 프로그램과 데이터를 다중화함으로서 구해진 운송 스트림 패킷 중에서 어느 데이터가 어느 패킷에 포함되는가를 나타내는 정보이다. 그러므로, 디코더는 이 프로그램 지정 정보를 참고하여 원하는 데이터를 복호화할 수 있다.
프로그램 지정 정보는 도 11에 도시된 바와 같은 4개 테이블 구조로 분류될 수 있다. 프로그램 연관 테이블 (PAT: Program_Association_Table)은 지정된 프로그램 번호와 그에 대응하는 프로그램 맵 테이블 (PMT) PID를 나타내는 테이블이다. 프로그램 맵 테이블 (PMT: Program_Map_Table)은 지정된 프로그램의 소자가 설명되는 패킷의 PID를 나타내는 테이블이다. 네트워크 정보 테이블 (NIT: Network_Information_Table)은 네트워크 매개변수를 전송하는데 사용되지만 특별히 표준에 의해 요구되지 않는 정보를 나타내는 전용 테이블이다. 조건부 억세스 테이블 (CAT: Conditional_Access_Table)은 유일한 PID를 EMM 패킷에 지정하는 테이블이다. 다음의 설명에서는 프로그램 연관 테이블, 프로그램 맵 테이블, 및 조건부 억세스 테이블이 상세히 설명된다.
먼저, 도 12 및 도 13을 참고로 프로그램 연관 테이블이 이후 설명된다.
프로그램 연관 테이블(PAT)은 프로그램의 내용을 지정하는 운송 스트림 패킷의 PID와 각 전송된 프로그램을 지정하는데 사용되는 테이블이다. 특별히, 프로그램 연관 테이블(PAT)은 다음으로 구성된다: table_id, section_syntax_indicator, section_length, transport_stream_id, version_number, current_next_indicator, section_number, last_section_number, program_number, network_PID, 및 program_map_PID.
table_id는 도 14에 도시된 바와 같이 각 테이블에 지정된 유일한 식별 번호를 도시한다. 프로그램 연관 테이블(PAT)의 table_id는 "0x00"이고, 조건부 억세스 테이블(CAT)의 table_id는 "0x01"이고, 또한 프로그램 맵 테이블의 table_id는 "0x02"이다.
section_syntax_indicator는 "1"로 고정된 상수이다.
section_length는 이 section_length에 이어지는 비트로부터 CRC부의 최종 바이트까지의 길이를 바이트로 나타내는 필드이다.
transport_stream_id는 이 운송 스트림과 네트워크에서 다중화된 다른 운송 스트림간을 구별하는 식별 데이터이다.
version_number는 프로그램 연관 테이블(PAT)의 버전 수를 나타내는 데이터이다. 버전 수는 0 내지 31 범위의 정수이고, 프로그램 연관 테이블에서의 설정이 변할 때, 즉 운송 스트림의 특성이 변할 때 1 만큼 증가된다. 수신 단말부에서의 디코더는 최종 버전의 섹션만이 유효함을 결정하는데 version_number를 참고한다.
current_next_indicator는 전송된 프로그램 연관 테이블이 현재 이용가능한가 여부를 나타내는 데이터이다.
section_number는 프로그램 연관 테이블 섹션 번호를 나타내는 데이터이다. 예를 들면, 프로그램 연관 테이블에 포함된 program_association_section()의 section_number는 이것이 제 1 섹션임을 나타내도록 "0x00"으로 설정된다.
last_section_number는 프로그램 연관 테이블에서 지정된 모든 섹션 중에서 최종 섹션의 섹션 번호를 나타내는 데이터이다. 그러므로, last_section_number는 시스템이 프로그램 연관 테이블에 지정된 섹션의 수를 알 수 있게 한다.
program_number는 다중화되는 다수의 프로그램 각각에 주어진 유일한 번호이다. 예를 들면, 본 발명에 따른 데이터 전송 장치에서, 프로그램 번호 (1) 내지 (9)는 각각 다중화되는 9개 프로그램에 지정된다. program_number는 사용자에 의해 임의로 정의될 수 있는 데이터이다. 그러나, program_number가 0으로 설정될 때, program_number는 네트워크 정보 테이블(NIT)이 스트램에 존재함을 나타낸다.
network_PID는 스트림에서 네트워크 정보 테이블(NIT)이 설명되는 PID를 나타내는 데이터이다. 네트워크 정보 테이블(NIT)은 사용자에 의해 임의로 설정될 수 있고 주어진 장치에서는 사용되지 않는 테이블이다.
program_map_PID는 program_number에 의해 지정된 프로그램에 적용되는 프로그램 맵 테이블을 갖는 운송 스트림 패킷의 PID를 나타내는 데이터이다. 예를 들어, 프로그램이 비디오 데이터 1개와 오디오 데이터 4개로 구성되면, 그 프로그램의 비디오 데이터를 갖는 운송 스트림 패킷을 지정하는 한 개 PID와 그 프로그램의 오디오 데이터를 갖는 운송 스트림 패킷을 지정하는 4개 PID는 프로그램 연관 테이블에서 설명된다.
다음에는 도 15 및 도 16을 참고로 프로그램 맵 테이블(PMT)이 이후 설명된다.
프로그램 맵 테이블은 프로그램 번호와 이들 프로그램을 구성하는 데이터 소자 사이의 맵핑 (mapping)을 도시하는데 사용되는 테이블이다. 즉, 프로그램 맵 테이블은 각 프로그램 번호에 대해, 비디오 데이터, 오디오 데이터, 및 그 프로그램을 구성하는 다른 추가 데이터와 같은 소자를 전송하도록 운송 스트림 패킷의 PID를 지정하는 섹션이다. 특별히, 프로그램 맵 테이블은 다음으로 구성된다: table_id, section_syntax_indicator, section_length, program_number, version_number, current_next_indicator, section_number, last_section_number, PCR_PID, program_info_length, descriptor(), stream_type, elementary_PID, ES_info_length, 및 descriptor().
table_id는 각 테이블을 식별하도록 지정된 유일한 식별 번호를 나타낸다. 프로그램 맵 테이블의 table_id는 "0x02"이다.
section_syntax_indicator는 "1"로 고정된 상수이다.
section_length는 이 section_length에 이어지는 비트로부터 CRC 섹션의 최종 바이트까지의 길이를 바이트로 나타내는 필드이다.
program_number는 다중화되는 다수의 프로그램 각각에 주어진 유일한 번호이다. 예를 들면, 본 발명에 따른 데이터 전송 장치에서, 프로그램 번호 (1) 내지 (9)는 각각 다중화되는 9개의 프로그램에 지정된다.
version_number는 프로그램 맵 테이블을 구성하는 프로그램 맵 섹션의 버전 수를 나타내는 데이터이다. 버전 수는 프로그램 맵 섹션에서 전송되는 데이터가 변할 때 증가된다.
current_next_indicator는 전송되는 프로그램 연관 테이블이 현재 이용가능한가 여부를 나타내는 데이터이다. 프로그램 연관 테이블이 현재 이용가능하면, current_next_indicator는 "1"로 설정되고, 프로그램 연관 테이블이 현재 이용가능하지 않으면, current_next_indicator는 "0"으로 설정된다.
section_number는 프로그램 맵 테이블에 포함된 섹션의 번호를 나타내는 데이터이고, 프로그램 맵 테이블을 구성하기 위해서는 단 하나의 프로그램 맵 섹션이 존재하기 때문에, 이는 항상 "0x00"으로 설정된다.
last_section_number는 프로그램 맵 테이블에 지정된 모든 섹션 중에서 최종 섹션의 섹션 번호를 나타내는 데이터이다. 그러므로, last_section_number는 항상 프로그램 맵 테이블을 구성하는 프로그램 맵 섹션에서 "0x00"으로 설정된다.
PCR_PID는 program_number에 의해 지정된 프로그램에 대해 유효한 PCR 데이터를 포함하는 운송 패킷의 PID를 나타내는 데이터이다.
program_info_length는 program_info_length 필드에 이어서 설명되는 descriptor()에 대한 바이트의 수를 지정하는 데이터이다.
descriptor()는 프로그램 소자와 프로그램의 정의를 확장하는데 사용되는 데이터 구조이다. 다양한 설명이 설명자가 가능하다. 예를 들면, 비디오 기본 스트림에 대한 부호화 매개변수를 식별하는 기본 정보를 설명하기 위한 video_stream_descriptor(); 오디오 기본 스트림에 대한 부호화 버전을 식별하는 기본 정보를 설명하기 위한 audio_stream_descriptor(); 다수의 스트림으로 다중화되는 계층구조로 부호화된 비디오 및 오디오 데이터를 포함하는 프로그램 소자를 식별하는 정보를 설명하기 위한 hierarchy_descriptor(); 전용 데이터를 유일하게 정의하여 식별하는 정보를 설명하기 위한 resistration_descriptor(); 서로 연관된 기본 스트림 사이에 존재하는 정렬 종류를 설명하기 위한 data_stream_alignment_descriptor(); 전송되는 비디오 데이터에 대한 디스플레이 윈도우의 배경에 디스플레이되는 배경 윈도우를 지정하는 정보를 설명하는 target_background_descriptor; 전송되는 비디오 데이터에 대한 디스플레이 윈도우의 디스플레이 위치를 지정하는 정보를 설명하기 위한 video_window_descriptor; 가입 정보 EMM, 프로그램 해독 정보 ECM, 및 다른 데이터를 설명하기 위한 CA_descriptor(); 연관된 프로그램 소자에 의해 사용되는 언어를 식별하는 정보를 설명하기 위한 language_descriptor(); 시간 스탬프 (stamp)를 발생하는데 사용되는 시스템 클럭에 대한 정보를 전송하기 위한 system_clock_descriptor(); video_buffer_verifier를 포함하는 STD (system_target_decoder) 다중화 버퍼에서 데이터 차지율의 언더플로우 및 오버플로우의 주요 레벨을 나타내는 데이터를 설명하기 위한 multiplex_buffer_utilization_descriptor(); 저작권을 보호하도록 오디오/비디오 작업의 식별을 허용하는 정보를 설명하기 위한 copyright_descriptor(); 전송되는 데이터 소자에 대한 최대 비트 비율을 지정하는 정보를 설명하기 위한 maximun_bitrate_descriptor(); 전용 데이터의 전송을 지정하기 위한 private_data_indicator_descriptor(); 평활화 버퍼의 크기와 그 버퍼로부터의 출력 누설 비율에 대한 정보를 설명하기 위한 smoothing_buffer_descriptor(); STD 버퍼의 누설값을 지정하기 위한 STD_descriptor(); 및 부호화 종류에 대한 정보를 설명하기 위한 ibp_descriptor().
본 발명에 따른 데이터 전송 장치에서, 프로그램 맵 테이블에 사용되는 descriptor()의 데이터 구조는 프로그램 해독 정보 ECM를 포함하는 운송 스트림 패킷의 PID를 지정하는 정보를 설명하도록 의도됨을 이해하여야 한다.
stream_type은 이후 설명되는 elementary_PID에 의해 지정되는 PID를 갖는 패킷에 포함된 프로그램 소자의 종류를 지정하기 위한 데이터이다. 예를 들어, 패킷에 포함된 프로그램 소자가 ISO/IEC11172 표준에 일치하는 비디오 데이터이면, stream_type은 "0x01"로 설정되고, 프로그램 소자가 ISO/IEC13818-2 표준에 일치하는 비디오 데이터이면, "0x02"로 설정되고, 프로그램 소자가 ISO/IEC11172 표준에 일치하는 오디오 데이터이면 "0x03"으로 설정되고, 또한 프로그램 소자가 ISO/IEC13818-3 표준에 일치하는 오디오 데이터이면 "0x04"로 설정된다. 프로그램 맵 섹션에서, stream_type은 program_number에 의해 지정된 프로그램을 구성하는 소자의 수만큼 반복된다.
elementary_PID는 program_number에 의해 지정된 프로그램을 구성하는 소자를 전송하는 운송 스트림 패킷의 PID를 지정하기 위한 필드이다. elementary_PID는 스트림 소자의 종류를 나타내는 stream_type에 대응하여 설명되는 데이터이다.
ES_info_length는 ES_info_length 필드에 이어서 설명되는 설명자의 바이트 수를 지정하기 위한 데이터이다.
다음에는 도 17 및 도 18을 참고로 조건부 억세스 테이블(CAT)이 이후 상세히 설명된다. 조건부 억세스 테이블은 유효 방송 시스템에서 비디오 데이터 및 오디오 데이터를 역스크램블 처리하는데 사용되는 가입 정보 EMM를 전송하는 패킷의 PID를 지정하기 위한 섹션이다. 조건부 억세스 테이블은 또한 가입자만이 프로그램을 역스크램블 처리하도록 허용하는 한정 수신 시스템 (CA 시스템: Conditional Access System)과 가입 정보 EMM 사이의 관계를 지정하기 위한 섹션이다.
조건부 억세스 테이블의 PID는 프로그램 맵 테이블과 같이 프로그램 연관 테이블에 의해 지정되지 않으므로, 조건부 억세스 테이블의 각 필드는 비트 스트림으로부터 조건부 억세스 테이블에 지정된 유일한 PID 값 "0x01"을 찾음으로서 복호화될 수 있다.
특별히, 조건부 억세스 테이블은 다음으로 구성된다: table_id, section_syntax_indicator, section_length, version_number, current_next_indicator, section_number, last_section_number, 및 descriptor().
table_id는 각 테이블에 지정된 유일한 식별 번호를 도시하고, 조건부 억세스 테이블(CAT)에 지정된 table_id는 "0x01"이다.
section_syntax_indicator는 "1"로 고정된 상수이다. section_length는 이 section_length에 이어지는 비트에서 CR 섹션의 최종 바이트까지의 길이를 바이트로 나타내는 필드이다. version_number는 조건부 억세스 테이블(CAT)의 버전 수를 나타내기 위한 데이터이다. version_number는 조건부 억세스 테이블의 설정이 변할 때 1 만큼 증가된다. current_next_indicator는 전송된 조건부 억세스 테이블이 현재 이용가능한가 여부를 나타내기 위한 데이터이다. 조건부 억세스 테이블이 현재 이용가능하면, current_next_indicator는 "1"로 설정되고, 조건부 억세스 테이블이 현재 이용가능하지 않으면, current_next_indicator는 "0"으로 설정된다.
section_number는 조건부 억세스 테이블의 섹션 번호를 나타내기 위한 번호이다. 예를 들어, 조건부 억세스 테이블에 포함된 CA_section() 필드는 이것이 제 1 섹션임을 나타내도록 "0x00"으로 설정된다. section_number는 조건부 억세스 테이블에 포함된 섹션이 증가될 때마다 1 만큼 증가된다.
last_section_number는 조건부 억세스 테이블에 지정된 모든 섹션 중에서 최종 섹션의 섹션 번호를 나타내기 위한 데이터이다.
상술된 바와 같이, descriptor()는 프로그램 및 프로그램 소자의 정의를 확장하는데 사용되는 데이터 구조이다. 본 발명에 따른 데이터 전송 장치에서, 조건부 억세스 테이블에서 사용되는 descriptor()의 데이터 구조는 가입 정보 EMM를 포함하는 운송 스트림 패킷의 PID를 지정하는 정보를 설명하도록 의도됨을 이해하여야 한다.
다음에는 도 19를 참고로 프로그램 맵 테이블과 조건부 억세스 테이블에서 사용되는 조건부 억세스 설명자 CA_descriptor()가 이후 설명된다.
조건부 억세스 설명자는 암호화된 ECM 데이터를 해독하도록 작업키(Kw) 및 가입에 대한 개인 정보를 포함하는 가입 정보 EMM을 지정할 뿐만 아니라 비디오 및 오디오와 같은 기본 스트림을 역스크램블 처리하도록 스크램블 키(Ks)를 포함하는 프로그램 해독 정보 ECM을 지정하는데 사용된다. 그러므로, 비디오 및 오디오와 같은 기본 스트림이 스크램블 처리되면, 조건부 억세스 설명자는 항상 비트 스트림에 존재한다.
조건부 억세스 설명자 CA_descriptor()는 다음의 데이터로 구성된다: descriptor_tag, descriptor_length, CA_system_ID, CA_PID, 및 private_data_byte. descriptor_tag는 상술된 바와 같이 다수의 설명자 각각을 지정하기 위한 유일한 식별 태그이다. 조건부 억세스 설명자 CA_descriptor()는 그에 지정된 "9"의 descriptor_tag를 갖는다. descriptor_length는 descriptor_length에 바로 이어지는 설명자의 데이터 바이트 수를 지정하기 위한 데이터이다. CA_system_ID는 연관된 ECM이나 EMM 데이터를 발생하여 적용시키는 한정 수신 시스템 (CA 시스템)의 종류를 나타내기 위한 데이터이다. CA_PID는 CA_system_ID에 의해 지정된 한정 수신 시스템 (CA 시스템)에서 ECM 또는 EMM 데이터를 포함하는 운송 스트림의 PID를 나타낸다.
조건부 억세스 설명자 CA_descriptor()의 CA_PID에 의해 지정된 패킷에서 설명되는 데이터 내용은 CA_descriptor()의 내용에 따라 변할 수 있다. 도 20을 참고로, CA_PID에 의해 지정된 패킷이 이후 설명된다.
먼저, CA_PID에 의해 지정된 패킷에서 설명되는 데이터 내용은 CA_descriptor()의 사용, 즉 CA_descriptor()가 조건부 억세스 테이블(CAT)에서 또는 프로그램 맵 테이블에서 사용되는가 여부에 따라 변할 수 있다. 특별히, CA_descriptor()가 조건부 억세스 테이블에 존재하면, CA_PID는 EMM 데이터를 포함하는 운송 스트림 패킷을 나타낸다. CA_descriptor()가 프로그램 맵 테이블에 존재하면, CA_PID는 ECM 데이터를 포함하는 운송 스트림 패킷을 나타낸다.
부가하여, CA_PID에 의해 지정된 패킷에서 설명되는 데이터 내용은 또한 조건부 억세스 설명자 CA_descriptor()의 프로그램 맵 테이블에서 문맥에 따라 변할 수 있다. 이에 대해, 조건부 억세스 설명자 CA_descriptor()의 프로그램 맵 테이블에서의 문맥은 CA_descriptor()가 제 1 FOR문 (도 15) 또는 제 2 FOR문 (도 15)에서 사용되는가 여부를 의미한다.
조건부 억세스 설명자 CA_descriptor()가 제 1 FOR문에서 사용되면, CA_PID는 ECM 데이터를 포함하는 운송 스트림 패킷의 PID를 나타낸다. 이 경우의 제 1 CA_descriptor()는 program_number에 의해 지정된 프로그램을 포함하는 운송 스트림 패킷과 ECM 데이터를 포함하는 운송 스트림 패킷 사이의 대응관계를 설명하도록 구문 (syntax)에 따라 사용된다. 즉, 똑같은 ECM 데이터는 program_number에 의해 지정된 프로그램에 포함되는 모든 데이터 소자에 지정된다. 다른 말로 하면, 프로그램에서 모든 데이터 소자는 똑같은 스크램블 키로 스크램블 처리 및 역스크램블 처리된다.
반대로, 조건부 억세스 설명자 CA_descriptor()가 제 2 CA_descriptor()로 제 2 FOR문에서 사용되면, CA_PID는 또한 ECM 데이터를 포함하는 운송 스트림 패킷의 PID를 나타낸다. 그러나, 제 2 CA_descriptor()는 program_number에 의해 지정된 프로그램을 포함하는 운송 스트림 패킷과 ECM 데이터를 포함하는 운송 스트림 패킷 사이의 대응관계를 설명하도록 의도되지 않지만, 이 CA_descriptor()는 elementary_PID에 의해 지정된 데이터 소자를 포함하는 운송 스트림 패킷과 ECM 데이터를 포함하는 운송 스트림 패킷 사이의 대응관계를 설명한다. 즉, 다른 ECM 데이터는 elementary_PID에 의해 지정된 각 데이터 소자에 지정된다. 다른 말로 하면, 프로그램내의 다른 데이터 소자는 다른 스크램블 키로 스크램블 처리 및 역스크램블 처리된다. 프로그램이 한 채널의 비디오 데이터와 두 채널의 오디오 데이터, 즉 메인 오디오 및 서브오디오 데이터로 구성된다고 가정할 때, 이러한 방법으로 각 데이터 소자에 대해 다른 스크램블 키를 사용하는 것은 시스템이 다른 채널과 다른 스크램블 키로 서브오디오 데이터를 스크램블 처리하도록 허용한다.
다음에는 EMM 데이터와 ECM 데이터가 이후 설명된다.
EMM (Entitlement Management Message) 데이터는 스크램블 키(Ks)를 암호화하는 사용되는 작업키(Kw)와 가입자에 의해 가입된 프로그램을 나타내는 가입 정보를 포함하는 데이터이다. EMM 데이터는 프로그램 연관 테이블(PAT), 프로그램 맵 테이블(PMT), 및 조건부 억세스 테이블(CAT)와 같이 운송 스트림 패킷의 패이로드에서 전송된다. 다음의 설명에서, EMM 데이터를 포함하는 운송 스트림 패킷은 EMM 패킷이라 칭하여진다.
도 21에 도시된 바와 같이, EMM 패킷은 4 바이트의 헤더와 183 바이트의 패이로드 섹션으로 구성된다. 상술된 운송 스트림 패킷과 같이, EMM 패킷의 헤더는 다음의 데이터 필드로 구성된다: sync_byte, transport_error_indicator, payload_unit_start_indicator, transport_priority, PID, transport_scrambling_control, adaption_field_control, 및 continuity_counter. 183 바이트의 패이로드 섹션은 EMM 섹션 헤더, EMM 데이터, CRC, 및 여유 바이트로 구성된다.
EMM 섹션 헤더는 다음의 데이터 필드로 구성된다: table_id, section_syntax_indicator, reserved_0, reserved_1, section_length, table_id_extention, reserved_2, version_number, current_next_indicator, section_number, 및 last_section_number. table_id는 각 테이블 (각 섹션)에 지정된 유일한 식별 번호이다. EMM 섹션은 식별 번호로 지정된 사용자-정의가능 table_id "0x40" 내지 "0xFE"를 갖는다. section_syntax_indicator는 "1"로 고정된 상수이다. section_length는 이 section_length에 이어지는 비트에서 CRC 섹션의 최종 바이트까지의 길이를 바이트로 나타내기 위한 데이터 필드이다. table_id_extention은 EMM 섹션의 확장 데이터가 있는가 여부를 나타내기 위한 데이터이다. version_number는 EMM 섹션의 버전 수를 나타내기 위한 데이터이다. 버전 수는 EMM 섹션의 매개변수가 운송 스트림에서 변할 때 증가된다. current_next_indicator는 전송된 EMM 섹션이 현재 이용가능한가 여부를 나타내기 위한 데이터이다. section_number는 EMM 섹션의 번호를 나타내기 위한 데이터로서, 항상 "1"이다. last_section_number는 EMM 섹션에서 최종 섹션의 섹션 번호를 나타내기 위한 데이터로서, 항상 "1"이다.
EMM 데이터는 다음의 데이터 필드로 구성된다: card_ID, EMM_type, CA_system_ID, Kw_No, Kw, authorize_type, service_ID, series_ID, event_ID, 및 component_map.
card_ID는 IRD에 설치된 유일한 IC 카드에 주어지는 식별 번호이고, 이는 항상 가입자의 관리를 위해 식별 번호로 사용된다. EMM_type은 EMM 데이터의 종류를 나타내는 데이터이다. CA_system_ID는 가입자 관리 시스템을 포함하는 CA 시스템에 주어진 식별 번호이다. Kw는 스크램블 키(Ks)를 암호화하는데 사용되는 작업키를 나타내고, Kw_No는 256개의 소정의 작업키 중에서 어느 작업키가 스크램블 키(Ks)를 암호화하는데 사용되었나를 나타내기 위한 번호이다. authorize_type, service_ID, series_ID, 및 event_ID는 가입자에 의해 어느 프로그램이 가입되었나를 나타내기 위한 가입 조건이다. component_map은 가입된 프로그램 중 어느 소자가 가입되었나를 나타내기 위한 데이터이다.
ECM (Entitlement_Control_Message) 데이터는 가입자가 가입한 스크램블 처리된 프로그램을 역스크램블 처리하는데 사용되는 스크램블 키(Ks)를 포함하는 데이터이다. ECM 데이터는 프로그램 연관 테이블(PAT), 프로그램 맵 테이블(PMT), 및 조건부 억세스 테이블(CAT)와 같이 운송 스트림 패킷의 패이로드에서 전송된다. 다음의 설명에서, ECM 데이터를 포함하는 운송 스트림 패킷은 ECM 패킷이라 칭하여진다. ECM 패킷은 대략 100 msec의 간격으로 전송되고, EMM 데이터로 전송되는 스크램블 키는 대략 4 sec의 간격으로 업데이트된다.
도 22에 도시된 바와 같이, ECM 패킷은 4 바이트의 헤더와 183 바이트의 패이로드 섹션으로 구성된다. 상술된 운송 스트림 패킷과 같이, ECM 패킷의 헤더는 다음의 데이터 필드로 구성된다: sync_byte, transport_error_indicator, payload_unit_start_indicator, transport_priority, PID, transport_scrambling_control, adaptation_field_control, 및 continuity_counter. 183 바이트의 패이로드 섹션은 ECM 섹션 헤더, ECM 데이터, CRC, 및 여유 바이트로 구성된다.
ECM 섹션 헤더는 다음의 데이터 필드로 구성된다: table_id, section_syntax_indicator, reserved_0, reserved_1, section_length, table_id_extention, reserved_2, version_number, current_next_indicator, section_number, 및 last_section_number. table_id는 각 테이블 (각 섹션)에 지정된 유일한 식별 번호이다. ECM 섹션은 식별 번호로 지정된 사용자-정의가능 table_id "0x40" 내지 "0xFE"를 갖는다. section_syntax_indicator는 "1"로 고정된 상수이다. section_length는 이 section_length에 이어지는 비트로부터 CRC 섹션의 최종 바이트까지의 길이를 바이트로 나타내기 위한 데이터 필드이다. table_id_extention은 ECM 섹션의 확장 데이터가 있는가 여부를 나타내기 위한 데이터이다. version_number은 ECM 섹션의 버전 수를 나타내기 위한 데이터이다. 버전 수는 ECM 섹션의 매개변수가 운송 스트림에서 변할 때 증가된다. current_next_indicator는 전송된 ECM 섹션이 현재 이용가능한가 여부를 나타내기 위한 데이터이다. section_number는 ECM 섹션의 번호를 나타내기 위한 데이터이고, 항상 "1"이다. last_section_number는 ECM 섹션에서 최종 섹션의 섹션 번호를 나타내기 위한 데이터이고, 항상 "1"이다.
ECM 데이터는 다음의 데이터 필드로 구성된다: ECM_type, CA_system_ID, Kw_No, service_mode, service_ID, series_ID, event_ID, component_map, Ks_Odd, 및 Ks_Even.
ECM_type은 ECM 데이터의 종류를 나타내기 위한 데이터이다. CA_system_ID는 가입자 관리 시스템을 포함하는 CA 시스템에 주어진 식별 번호이다. Kw_No는 256개의 소정의 작업키 중 어느 작업키가 스크램블 키(Ks)를 암호화하는데 사용되었나를 나타내기 위한 번호이다. service_mode, service_ID, series_ID, 및 event_ID는 가입자가 가입한 프로그램을 나타내기 위한 가입 조건이다. component_map은 가입된 프로그램 중 어느 소자가 가입되었나를 나타내기 위한 데이터이다. Ks_Odd 및 Ks_Even은 전송된 비디오 및 오디오 데이터를 스크램블 처리하는데 사용되는 스크램블 키이다. 스크램블 키는 홀수 키 Ks_Odd와 짝수 키 Ks_Even으로 구성되고, 홀수 키와 짝수 키는 4 sec의 간격으로 스크램블 키로서 번갈아 사용된다.
다음에는 도 23을 참고로 수신기로서 제공되는 IRD (Integrated_Receiver_Decoder)(20)가 이후 상세히 설명된다.
IRD는 위성을 통해 전송된 변조 스트림을 복조하기 위한 복조 회로(21), 복조 회로(21)에 의해 복조된 스트림을 패킷형으로 나누기 위한 디멀티플렉서(22), 디멀티플렉서922)에 의해 나뉜 PAT 패킷, PMT 패킷, CAT 패킷, EMM 패킷, 및 ECM 패킷을 수신하기 위한 CPU(23), 암호화된 작업키(Kw')와 암호화된 스크램블 키(Ks')를 해독하기 위한 보안 모듈(24), 스크램블 처리된 비디오 스트림, 오디오 스트림, 및 전용 데이터 스트림을 역스크램블 처리하기 위한 디스크램블러 (descrambler) (25V, 25A, 25P), 및 비디오 스트림과 오디오 스트림을 복호화하기 위한 디코더 (26V, 26A)를 구비한다.
디멀티플렉서(22)는 CPU(23)로부터 제어 명령을 수신하고 그 명령에 응답해 적절한 타이밍으로 CPU(23)에 적절한 운송 스트림 패킷을 공급하도록 동작된다.
CPU(23)는 디멀티플렉서(22)에 의해 공급된 PAT 패킷을 분석하기 위한 PAT 패킷 분석기(231), 디멀티플렉서(22)에 의해 공급된 PMT 패킷을 분석하기 위한 PMT 패킷 분석기(232), 디멀티플렉서(22)에 의해 공급된 CAT 패킷을 분석하기 위한 CAT 패킷 분석기(233), 디멀티플렉서(22)에 의해 공급된 EMM' 패킷을 분석하기 위한 EMM 패킷 분석기(234), 및 디멀티플렉서(22)에 의해 공급된 ECM' 패킷을 분석하기 위한 ECM 패킷 분석기(235)를 구비한다.
PAT 분석기(231)는 PAT 패킷에 포함된 program_number와 program_map_PID를 구하도록 디멀티플렉서(22)에 의해 공급된 운송 스트림 패킷을 PAT 패킷으로 분석한다. PAT 분석기(231)는 또한 가입자에 의해 어느 프로그램이 가입되었나를 나타내는 authorize_type을 보안 모듈(24)로부터 수신한다. 이어서, PAT 분석기(231)는 보안 모듈에 의해 공급된 authorize_type을 디멀티플렉서(22)에 의해 공급된 program_number와 비교하고, 가입자에 의해 가입된 프로그램과 일치하는 program_number에 대응하는 program_map_PID만을 선택한다. 그래서, PAT 분석기(231)는 그 프로그램에 대응하는 프로그램 맵 테이블의 PID만을 구할 수 있다.
이어서, 디멀티플렉서(22)는 PAT 분석기(231)에 의해 공급되는 program_map_PID에 의해 지정된 PID를 갖는 운송 스트림 패킷을 선택하고 선택된 운송 스트림 패킷을 PMT 분석기(232)에 PMT 패킷으로 제공한다.
PMT 분석기(232)는 program_map_PID에 의해 지정된 PID를 갖는 PMT 패킷에 포함되는 PMT 데이터를 분석한다. 특별히, PMT 분석기(232)는 PMT 패킷에서 PMT 데이터로 설명되는 elementary_PID로부터 program_number로 지정된 프로그램을 구성하는 데이터 소자를 포함한 운송 스트림 패킷의 PID를 구한다. 예를 들어 프로그램이 두 데이터 소자, 즉 비디오 데이터와 오디오 데이터로 구성된다고 가정하면, 제 1 elementary_PID는 비디오 스트림을 포함하는 운송 스트림 패킷을 지정하게 되고, 제 2 elementary_PID는 오디오 스트림을 포함한 또 다른 운송 스트림 패킷을 지정하게 된다.
부가하여, PMT 분석기(232)는 PMT 데이터에서 설명된 CA_descriptor를 descriptor() 함수로 참고한다. 이어서, PMT 분석기(232)는 CA_descriptor에서 설명된 CA_PID를 구하고, 이 CA_PID를 디멀티플렉서(22)에 피드백시킨다. CA_descriptor에서 설명된 CA_PID는 ECM 데이터를 포함하는 운송 스트림 패킷의 PID를 나타내기 위한 데이터이다.
이어서, 디멀티플렉서(22)는 PMT 분석기(232)에 의해 공급된 elementary_PID로 지정되는 PID를 갖는 운송 스트림 패킷을 적절한 처리 회로에 제공한다. 예를 들어, 데이터 소자가 비디오 스트림이면, 이는 비디오 스트림을 역스크램블 처리하도록 디스크램블러(25V)에 제공되고; 데이터 소자가 오디오 스트림이면, 이는 오디오 스트림을 역스크램블 처리하도록 디스크램블러(25A)에 제공하고; 또한 데이터 소자가 전용 데이터 스트림이면, 이는 전용 데이터 스트림을 역스크램블 처리하도록 디스크램블러(25P)에 제공된다.
부가하여, 디멀티플렉서(22)는 CA_PID에 의해 지정된 PID를 갖는 운송 스트림 패킷을 ECM 분석기(235)에 ECM 패킷으로 공급한다. 그래서, ECM 분석기(235)에 공급된 ECM 데이터는 가입자에 의해 가입된 프로그램에 관련되는 ECM 데이터만을 포함한다.
ECM 분석기(235)는 먼저 디멀티플렉서(22)로부터 수신된 ECM' 패킷을 필터처리한다. 특별히, ECM 분석기(235)는 ECM 데이터내의 CA_system_ID를 보안 모듈(24)에 의해 공급된 CA_system_ID와 비교하고, 보안 모듈(24)에 의해 공급된 CA_system_ID를 정합시키는 CA_system_ID를 포함하는 ECM 패킷만을 선택한다. 이어서, ECM 분석기(235)는 선택된 ECM 패킷에 포함된 ECM 데이터를 분석함으로서 암호화된 스크램블 키(Ks')를 구할 수 있다. ECM 분석기(235)는 보안 모듈(24)의 마이크로프로세서(MPU)에서 암호화된 스크램블 키(Ks')를 해독 회로(242)에 공급한다.
디멀티플렉서(22)는 전송된 비트 스트림으로부터 CAT 패킷의 PID를 갖는 운송 스트림 패킷을 검출하고, 검출된 운송 스트림 패킷을 CAT 분석기(233)에 CAT 패킷으로 제공한다.
CAT 분석기(233)는 디멀티플렉서(22)로부터 수신된 CAT 패킷에 포함되는 CA_descriptor() 기능을 검출하고, CA_descriptor() 기능의 CA_PID로부터 CAT 패킷의 CA_descriptor()에 의해 지정된 운송 스트림 패킷의 PID를 구한다. CAT 패킷의 CA_descriptor()에 의해 지정된 운송 스트림 패킷은 EMM 정보를 포함하는 운송 스트림 패킷이다.
디멀티플렉서(22)는 전송된 비트 스트림으로부터 CAT 분석기(233)에서 수신된 CA_PID에 의해 지정되는 PID를 갖는 운송 스트림 패킷을 선택하고, 선택된 운송 스트림 패킷을 EMM 분석기(234)에 EMM' 패킷으로 공급한다.
EMM 분석기(234)는 먼저 디멀티플렉서(22)로부터 수신된 EMM' 패킷을 필터처리하고, 보안 모듈에 대응하는 EMM' 패킷만을 선택한다. 특별히, 디멀티플렉서(22)로부터 수신된 EMM 패킷에 대해 CA_descriptor()의 CA_PID에 의해 지정되는 운송 스트림 패킷은 EMM 데이터를 포함하는 EMM' 패킷이기 때문에, EMM' 패킷에 포함된 EMM 데이터는 CA_PID를 참고하여 구해질 수 있다. EMM 분석기(234)는 EMM 데이터내의 Card_ID 및 CA_system_ID를 보안 모듈(24)의 메모리(2410에 의해 공급된 Card_ID 및 CA_system_ID와 비교하고, 각각 보안 모듈(24)에 의해 공급된 Card_ID 및 CA_system_ID를 정합시키는 Card_ID 및 CA_system_ID를 포함하는 EMM' 패킷만을 선택한다.
이어서, EMM 분석기(234)는 선택된 EMM 패킷에 포함된 101 바이트의 EMM 데이터를 보안 모듈(24)의 메모리(241)에 최종 EMM 데이터로 공급하여, 메모리(241)에서 오래된 EMM 데이터를 교체한다. 부가하여, EMM 분석기(234)는 보안 모듈(24)의 마이크로프로세서(MPU)에서 EMM 데이터에 포함되는 암호화된 작업키(Kw')를 해독 회로(242)에 공급한다.
보안 모듈(24)은 메모리(241)와, 제 1 해독 회로(242) 및 제 2 해독 회로(243)를 구비하는 마이크로프로세서로 구성된다. 보안 모듈(24)은 예를 들면, IRD로부터 제거가능한 IC 카드로 구성된다.
보안 모듈(24)의 제 1 해독 회로(242)는 EMM 분석기(234)로부터 암호화된 작업키(Kw')를 수신하여 암호화된 작업키(Kw')를 소정의 마스터 키(Km)로 해독한다. 이어서, 제 1 해독 회로(242)은 해독된 작업키(Kw)를 제 2 해독 회로(243)에 공급한다.
보안 모듈(24)의 제 2 해독 회로(243)는 ECM 회로(235)로부터 암호화된 스크램블 키(Ks')를 수신할 뿐만 아니라 제 1 해독 회로(242)로부터 해독된 작업키(Kw)를 수신하여 암호화된 스크램블 키(Ks')를 해독된 작업키(Kw)로 해독한다. 해독된 스크램블 키(Ks)는 디스크램블러 (25V, 25A, 25P)로 공급된다. 상기에서는 똑같은 스크램블 키(Ks)가 디스크램블러 (25V, 25A, 25P)에 공급되지만, 다른 스크램블 키(Ks)가 각 데이터 소자에 정의되면, 다른 스크램블 키(Ks)가 다른 디스크램블러에 공급될 수 있음을 이해하여야 한다.
상기로부터, 다수의 데이터 소자로 구성된 프로그램 데이터의 운송 스트림 패킷이 다중화되어 전송되는 구성의 데이터 다중화 장치에서는 프로그램을 구성하는 다수의 데이터 소자 중에서 하나 이상의 데이터 소자에 대응하는 스크램블 키가 발생되고 이어서 각 데이터 소자가 스크램블 처리되어, 각 데이터 소자는 가입자에 의해 가입될 수 있다.
다중화된 운송 스트림 패킷 각각은 대응하는 스크램블 키로 스크램블 처리되므로, 스크램블 처리를 위한 회로 구성은 다중화 이전에 각 운송 스트림 패킷을 스크램블 처리하는 것 보다 더 간단해질 수 있다.
더 높은 우선순위의 데이터 소자를 버퍼처리하기 위한 버퍼 메모리로부터의 오버플로우는 각 버퍼 메모리에 공급된 데이터 소자에 대한 입력 비율이 기준 비율 보다 높을 때, 다수의 버퍼 메모리 중에서 더 낮은 우선순위의 정보를 버퍼처리하기 위한 버퍼 메모리를 제외하도록 스위치 수단을 교환가능하게 제어함으로서 방지될 수 있다.
수신 단말부에서, 다른 데이터 소자는 그 스크램블 키에 대응하는 각 데이터 소자의 운송 스트림 패킷을 스크램블 키로 역스크램블 처리함으로서 따로 역스크램블 처리될 수 있다.
상술된 구성에 따라, 가입자가 원하는 데이터 소자만을 보거나 들을 수 있게 허용하는 데이터 다중화 장치는 더 간단한 실행으로 이루어질 수 있다.
더욱이, 버퍼 메모리로부터의 오버플로우는 더 낮은 우선순위의 데이터 소자를 선택에서 제외하고 원하는 데이터 소자를 다른 것에 우선하여 다중화함으로서 효과적으로 방지될 수 있다.
본 발명은 MPEG2에 따라 비디오 데이터 및 오디오 데이터의 압축 부호화를 실행하고 지상파나 위성파를 통해 부호화된 스트림을 전송하는 디지털 방송 시스템에 적용될 수 있다.

Claims (122)

  1. 운송 스트림 패킷(transport stream packet)의 형태로 구성된 다수의 데이터 소자로 구성되는 프로그램 데이터의 운송 스트림 패킷을 다중화하여 전송하는 데이터 다중화 장치에 있어서:
    상기 데이터 소자 각각에 대응하는 스크램블 키 (scramble key)를 발생하는 스크램블 키 발생 수단; 및
    상기 스크램블 키 발생 수단에 의해 발생된 스크램블 키를 사용해 데이터 소자의 상기 대응하는 운송 스트림 패킷을 스크램블 처리하는 스크램블 수단을 구비하는 것을 특징으로 하는 데이터 다중화 장치.
  2. 제 1 항에 있어서,
    상기 스크램블 키 발생 수단은 상기 프로그램을 구성하는 상기 다수의 데이터 소자 중에서 하나 이상의 데이터 소자에 대응하는 스크램블 키를 발생하는 것을 특징으로 하는 데이터 다중화 장치.
  3. 제 1 항에 있어서,
    상기 프로그램을 구성하는 상기 다수의 데이터 소자는 비디오 데이터, 메인 오디오 (main audio) 데이터, 서브오디오 (subaudio) 데이터, 및 전용 (private) 데이터인 것을 특징으로 하는 데이터 다중화 장치.
  4. 제 1 항에 있어서,
    상기 스크램블 수단은 상기 운송 스트림 패킷에 대응하는 상기 스크램블 키를 사용해 상기 다중화된 운송 스트림 패킷 각각을 스크램블 처리하는 것을 특징으로 하는 데이터 다중화 장치.
  5. 제 4 항에 있어서,
    상기 스크램블 수단은 상기 운송 스트림 패킷과 그에 대응하는 스크램블 키에 대한 패킷 식별 코드를 나타내는 대응관계 테이블을 사용해 상기 운송 스트림 패킷을 스크램블 처리하기 위한 각 스크램블 키를 찾는 것을 특징으로 하는 데이터 다중화 장치.
  6. 제 4 항에 있어서,
    상기 데이터 다중화 장치는 상기 스크램블 키를 작업키 (work key)로 암호화하는 제 1 암호화 수단을 더 구비하고 상기 암호화된 스크램블 키를 상기 운송 스트림 패킷과 다중화하여 이를 전송하는 것을 특징으로 하는 데이터 다중화 장치.
  7. 제 6 항에 있어서,
    상기 데이터 다중화 장치는 상기 작업키를 마스터 키 (master key)로 암호화하는 제 2 암호화 수단을 더 구비하고 상기 암호화된 작업키를 상기 운송 스트림 패킷과 다중화하여 이를 전송하는 것을 특징으로 하는 데이터 다중화 장치.
  8. 다수의 데이터 소자를 구성하는 다수의 패킷 데이터 스트링 (packet data string)을 저장하는 다수의 버퍼 메모리;
    상기 메모리 버퍼를 교환하기 위한 스위치 수단을 갖고 상기 스위치 수단으로 상기 버퍼 메모리를 순차적으로 시간-분할 교환함으로서 출력을 제공하도록 상기 다수의 패킷 데이터 스트링을 다중화하는 다중화 수단; 및
    상기 패킷 데이터 스트링에 대한 입력 비율에 따라, 상기 스위치 수단에 의해 교환가능한 상기 다수의 버퍼 메모리를 선택하는 스위치 제어 수단을 구비하는 것을 특징으로 하는 데이터 다중화 장치.
  9. 제 8 항에 있어서,
    상기 스위치 제어 수단은 상기 입력 비율이 기준 비율 보다 높을 때, 상기 다수의 버퍼 메모리 중에서 더 낮은 우선순위의 정보를 버퍼처리하기 위한 버퍼 메모리를 제외시키도록 상기 스위치 수단을 교환가능하게 제어하는 것을 특징으로 하는 데이터 다중화 장치.
  10. 제 9 항에 있어서,
    상기 스위치 제어 수단은 더 낮은 우선순위의 정보인 EMM 데이터를 포함하는 패킷 데이터를 결정하고 상기 교환가능한 버퍼 메모리 중에서 상기 EMM 데이터를 포함하는 상기 패킷 데이터를 버퍼처리하기 위한 버퍼 메모리를 제외시키는 것을 특징으로 하는 데이터 다중화 장치.
  11. 제 10 항에 있어서,
    상기 스위치 제어 수단은 상기 EMM 데이터를 포함하는 상기 패킷 데이터를 버퍼처리하기 위한 상기 버퍼 메모리가 제외된 이후에 상기 입력 비율이 상기 기준 비율보다 아직 높을 때, 상기 EMM 데이터를 포함하는 상기 패킷 데이터를 버퍼처리하기 위한 상기 버퍼 메모리에 부가하여, 상기 교환가능한 버퍼 메모리 중에서 EPG 데이터를 포함하는 패킷 데이터를 버퍼처리하기 위한 버퍼 메모리를 제외시키는 것을 특징으로 하는 데이터 다중화 장치.
  12. 다수의 데이터 소자로 구성된 프로그램을 배급하는 프로그램 배급 시스템에 있어서:
    각 프로그램이나 데이터 소자에 대한 가입자의 가입을 관리하는 가입자 관리 시스템;
    상기 데이터 소자 각각에 대해 상기 프로그램에 포함된 상기 데이터 소자를 역스크램블 처리하는데 사용되는 스크램블 키를 발생하는 가입자 인증 시스템; 및
    각 프로그램에 대해 부호화된 데이터 소자로 구성되는 부호화된 스트림을 발생하도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 부호화하는 부호화 시스템,
    상기 부호화 시스템에 의해 각 프로그램에 대해 발생되는 상기 부호화된 스트림을 다중화하는 다중화 수단, 및
    상기 가입자 인증 시스템에 의해 발생된 상기 스크램블 키를 근거로 상기 다중화된 스트림에 포함되는 상기 부호화된 데이터 소자 각각을 선택적으로 스크램블 처리하는 스크램블 수단
    을 구비하는 멀티플렉서 시스템을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  13. 제 12 항에 있어서,
    상기 가입자 관리 시스템은 상기 스크램블 키를 암호화하기 위한 작업키를 발생하고,
    상기 가입자 관리 시스템은 상기 가입자와 상기 작업키를 식별하기 위한 가입자 식별 번호를 EMM 데이터로서 상기 가입자 인증 회로에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  14. 제 13 항에 있어서,
    상기 가입자 인증 시스템은 상기 EMM 데이터로 공급된 상기 작업키를 마스터 키로 암호화하여 암호화된 작업키를 출력으로 제공하는 제 1 암호화 수단을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  15. 제 14 항에 있어서,
    상기 가입자 인증 시스템은 암호화된 EMM 데이터로서 상기 가입자 식별 번호와 상기 제 1 암호화 수단에 의해 암호화된 상기 암호화 작업키를 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  16. 제 15 항에 있어서,
    상기 가입자 인증 시스템은 ECM 데이터로서 상기 스크램블 키와 상기 제 1 암호화 수단에 의해 암호화된 상기 암호화 작업키를 식별하기 위한 작업키 식별 번호를 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  17. 제 16 항에 있어서,
    상기 가입자 인증 시스템은 상기 작업키를 식별하기 위한 작업키 식별 번호와 상기 작업키 사이의 대응관계를 나타내는 작업키 테이블을 구비하고,
    상기 가입자 인증 시스템은 상기 작업키 테이블을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  18. 제 17 항에 있어서,
    상기 멀티플렉서 시스템은 상기 ECM 데이터에 포함된 상기 스크램블 키를 상기 작업키로 암호화하여 암호화된 스크램블 키를 출력으로 제공하는 제 2 암호화 수단을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  19. 제 18 항에 있어서,
    상기 스크램블 키를 암호화하기 위해 상기 제 2 암호화 수단에 의해 사용되는 상기 작업키는 상기 EMM 데이터에 포함된 상기 암호화된 작업키가 아니고, 상기 가입자 인증 시스템에 의해 공급된 상기 작업키 테이블로부터 구해진 암호화되지 않은 작업키인 것을 특징으로 하는 프로그램 배급 시스템.
  20. 제 19 항에 있어서,
    상기 제 2 암호화 수단은 상기 가입자 인증 시스템에 의해 공급된 상기 작업키 테이블을 참고하여 상기 ECM 데이터에 포함된 상기 작업키 식별 번호로부터 작업키를 구하고,
    상기 제 2 암호화 수단은 상기 작업키 테이블로부터 구해진 상기 작업키를 사용해 상기 ECM 데이터에 포함된 상기 스크램블 키를 암호화하고, 또한
    상기 제 2 암호화 수단은 상기 제 2 암호화 수단에 의해 암호화된 상기 암호화 스크램블 키를 암호화된 ECM 데이터로 제공하는 것을 특징으로 하는 프로그램 배급 시스템.
  21. 제 20 항에 있어서,
    상기 부호화 시스템에 의해 제공되는 상기 부호화된 스트림과 상기 가입자 인증 시스템에 의해 제공되는 상기 암호화된 EMM 데이터 및 ECM 데이터는 운송 스트림 패킷의 형태로 제공되고, 상기 운송 스트림 패킷 각각에는 상기 운송 스트림 패킷을 식별하기 위한 패킷 ID가 주어지는 것을 특징으로 하는 프로그램 배급 시스템.
  22. 제 21 항에 있어서,
    상기 멀티플렉서 시스템은 암호화된 ECM 데이터를 출력으로서 상기 다중화 수단에 제공하도록 상기 ECM 데이터에 포함된 상기 스크램블 키를 암호화하는 제 2 암호화 수단을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  23. 제 22 항에 있어서,
    상기 스크램블 수단은 상기 암호화된 EMM 데이터 및 상기 암호화된 ECM 데이터를 스크램블 처리하지 않고, 상기 프로그램을 구성하는 상기 다수의 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 프로그램 배급 시스템.
  24. 제 22 항에 있어서,
    상기 스크램블 수단은 상기 데이터 소자 각각을 포함하는 운송 스트림 패킷의 패킷 ID와 상기 데이터 소자에 대해 정의된 스크램블 키 사이의 대응관계를 나타내는 테이블을 근거로 상기 데이터 소자와 연관된 스크램블 키를 사용해 상기 데이터 소자를 스크램블 처리하는 것을 특징으로 하는 프로그램 배급 시스템.
  25. 제 22 항에 있어서,
    상기 스크램블 수단은 상기 다중화 수단에 의해 상기 스크램블 수단에 공급된 모든 운송 스트림 패킷의 패킷 ID를 검출하고,
    상기 스크램블 수단은 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 테이블을 근거로 스크램블 키가 상기 검출된 패킷 ID에 대해 정의되는가 여부를 결정하고,
    일부 스크램블 키가 상기 패킷 ID에 대해 정의되면, 상기 스크램블 수단은 상기 패킷 ID에 의해 나타내지는 운송 스트림 패킷에 포함된 데이터 소자를 상기 정의된 스크램블 키로 스크램블 처리하고, 또한
    스크램블 키가 상기 패킷 ID에 대해 정의되지 않으면, 상기 스크램블 수단은 상기 패킷 ID에 의해 나타내지는 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하지 않는 것을 특징으로 하는 프로그램 배급 시스템.
  26. 제 20 항에 있어서,
    상기 멀티플렉서 시스템은 상기 ECM 데이터에 포함된 상기 스크램블 키를 암호화하기 위한 제 2 암호화 수단과, 운송 스트림 패킷의 형태로 상기 멀티플렉서 시스템에 공급되는 데이터를 버퍼처리하고 상기 운송 스트림 패킷을 상기 다중화 수단에 제공하는 버퍼 수단을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  27. 제 26 항에 있어서,
    상기 멀티플렉서 시스템은 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 다수의 버퍼의 자유 영역을 모니터하고,
    상기 데이터 소자를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 상기 다수의 버퍼가 오버플로우 (overflow)될 수 있으면, 상기 EMM 데이터를 포함하는 상기 운송 스트림 패킷은 상기 EMM 데이터를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 버퍼에 의해 상기 다중화 수단에 제공되지 않고, 그 대신 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷은 오버플로우될 수 있는 상기 버퍼에 의해 상기 다중화 수단에 제공되는 것을 특징으로 하는 프로그램 배급 시스템.
  28. 제 20 항에 있어서,
    상기 멀티플렉서 시스템에 의해 제공되는 운송 스트림을 전송선을 통해 수신 단말부로 배급하는 배급 시스템, 및
    상기 전송선을 통해 전송된 상기 운송 스트림을 수신하는 수신 시스템을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  29. 제 28 항에 있어서,
    상기 수신 시스템은:
    상기 전송된 운송 스트림을 역다중화하는 디멀티플렉서;
    상기 스크램블 처리된 데이터 소자를 각각 상기 공급된 스크램블 키로 역스크램블 처리하는 디스크램블러 (descrambler);
    각 데이터 소자에 대해 상기 역스크램블 처리된 데이터를 복호화하는 디코더;
    상기 운송 스트림을 구성하는 운송 스트림 패킷을 분석하는 CPU; 및
    상기 운송 스트림에 포함된 상기 암호화된 스크램블 키를 해독하고 상기 해독된 스크램블 키를 상기 디스크램블러에 공급하는 보안 모듈을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  30. 제 29 항에 있어서,
    상기 보안 모듈은:
    상기 전송된 운송 스트림에 포함된 상기 암호화 EMM 데이터에 포함되는 가입자의 가입 정보를 저장하는 메모리 수단;
    상기 전송된 운송 스트림에 포함된 상기 암호화 작업키 뿐만 아니라 상기 가입자 관리 시스템에 의해 사용된 것과 같은 마스터 키를 수신하여 상기 암호화된 작업키를 상기 마스터 키로 해독하는 제 1 해독 수단; 및
    상기 운송 스트림에 포함된 상기 암호화 스크램블 키 뿐만 아니라 상기 제 1 해독 수단에 의해 공급된 상기 해독 작업키를 수신하여 상기 암호화된 스크램블 키를 상기 해독된 작업키로 해독하는 제 2 해독 수단을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  31. 제 30 항에 있어서,
    상기 CPU는 상기 디멀티플렉서에 의해 공급된 상기 암호화 ECM 데이터를 포함하는 상기 운송 스트림 패킷으로부터, 가입자에 의해 가입된 프로그램이나 데이터 소자에 대해 암호화된 ECM 데이터를 갖는 운송 스트림 패킷만을 필터처리하고,
    상기 CPU는 상기 필터처리된 운송 스트림 패킷에 포함된 상기 암호화 ECM 데이터를 분석함으로서 상기 암호화 ECM 데이터로부터 상기 암호화된 스크램블 키를 구하는 것을 특징으로 하는 프로그램 배급 시스템.
  32. 제 31 항에 있어서,
    상기 프로그램과 연관된 암호화 스크램블 키가 상기 CPU에 의해 공급되면, 상기 보안 모듈은 각각 상기 프로그램을 구성하는 다수의 데이터 소자에 대응하는 다수의 디스크램블러에 똑같은 스크램블 키를 공급하도록 상기 공급된 암호화 스크램블 키를 해독하고,
    상기 다수의 데이터 소자와 연관된 다수의 암호화 스크램블 키가 상기 CPU에 의해 공급되면, 상기 보안 모듈은 각각 상기 다수의 데이터 소자 중에서 가입된 데이터 소자에 대응하는 다수의 디스크램블러에 다른 스크램블 키를 공급하도록 공급된 상기 다수의 암호화 스크램블 키를 해독하는 것을 특징으로 하는 프로그램 배급 시스템.
  33. 제 12 항에 있어서,
    상기 가입자 인증 시스템은 상기 스크램블 키를 암호화하는데 사용된 작업키를 마스터 키로 암호화하는 제 1 암호화 수단을 구비하고,
    상기 가입자 인증 시스템은 암호화된 EMM 데이터로서 상기 가입자를 식별하기 위한 가입자 식별 번호와 상기 제 1 암호화 수단에 의해 암호화된 상기 암호화 작업키를 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 가입자 인증 시스템은 ECM 데이터로서 상기 스크램블 키와 상기 암호화 수단에 의해 암호화된 상기 암호화 작업키를 식별하기 위한 작업키 식별 번호를 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  34. 제 33 항에 있어서,
    상기 다수의 프로그램, 상기 프로그램을 구성하는 상기 다수의 데이터 소자, 상기 다수의 ECM 데이터 스트림, 및 상기 다수의 EMM 데이터 스트림을 다중화하는 방법을 나타내기 위한 프로그램 지정 정보를 발생하고, 상기 발생된 프로그램 지정 정보에 따라 상기 다수의 프로그램, 상기 다수의 데이터 소자, 상기 다수의 ECM 데이터 스트림, 및 상기 다수의 EMM 데이터 스트림을 다중화하도록 상기 인코더 시스템과 상기 멀티플렉서 시스템을 제어하는 인코더/멀티플렉서 제어 시스템을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  35. 제 33 항에 있어서,
    상기 데이터 배급 시스템에 의해 제공된 운송 스트??내에서 상기 프로그램을 구성하는 상기 다수의 데이터 소자를 포함한 운송 스트림 패킷, 상기 ECM 데이터를 포함한 운송 스트림 패킷, 및 상기 EMM 데이터를 포함한 운송 스트림 패킷의 패킷 ID를 식별하기 위한 프로그램 지정 정보를 발생하고,
    상기 프로그램 지정 정보에 따라 상기 프로그램을 구성하는 상기 다수의 데이터 소자를 포함한 상기 운송 스트림 패킷, 상기 ECM 데이터를 포함한 상기 운송 스트림 패킷, 및 상기 EMM 데이터를 포함한 상기 운송 스트림 패킷을 다중화하도록 상기 인코더 시스템과 상기 멀티플렉서 시스템을 제어하는 인코더/멀티플렉서 제어 시스템을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  36. 제 34 항에 있어서,
    상기 인코더 시스템은 운송 스트림 패킷의 형태인 기본 패킷으로서 상기 부호화된 데이터 소자를 상기 멀티플렉서 시스템에 공급하고,
    상기 가입자 인증 시스템은 각각 운송 스트림 패킷의 형태인 암호화된 EMM 패킷 및 ECM 패킷으로서 상기 암호화된 EMM 데이터와 상기 ECM 데이터를 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 인코더/멀티플렉서 제어 시스템은 운송 스트림 패킷의 형태인 PSI 패킷으로서 상기 프로그램 지정 정보를 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  37. 제 36 항에 있어서,
    상기 멀티플렉서 시스템은 상기 다중화 수단에 앞서, 상기 ECM 데이터에 포함된 스크램블 키를 암호화하는 제 2 암호화 수단을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  38. 제 37 항에 있어서,
    상기 가입자 인증 시스템은 상기 작업키와 상기 작업키를 식별하기 위한 작업키 식별 번호 사이의 대응관계를 나타내는 작업키 테이블을 상기 멀티플렉서 시스템의 상기 제 2 암호화 수단에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  39. 제 38 항에 있어서,
    상기 제 2 암호화 수단은 상기 작업키 테이블을 참고하여 상기 ECM 데이터에 포함된 상기 작업키 식별 번호로부터 작업키를 구하고,
    상기 제 2 암호화 수단은 상기 작업키 테이블로부터 구해진 상기 작업키를 사용해 상기 ECM 데이터에 포함된 상기 스크램블 키를 암호화하고, 또한
    상기 제 2 암호화 수단은 암호화된 ECM 데이터로서 상기 제 2 암호화 수단에 의해 암호화된 상기 암호화 스크램블 키를 상기 다중화 수단에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  40. 제 39 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 운송 스트림 패킷의 형태로 상기 멀티플렉서 시스템에 공급된 모든 운송 스트림 패킷에 상기 운송 스트림 패킷을 식별하기 위한 패킷 ID를 지정하는 것을 특징으로 하는 프로그램 배급 시스템.
  41. 제 40 항에 있어서,
    상기 프로그램 지정 정보는 적어도 프로그램 연관 테이블, 프로그램 맵 (map) 테이블, 및 조건부 억세스 테이블로 구성되는 것을 특징으로 하는 프로그램 배급 시스템.
  42. 제 41 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 PAT 패킷으로서 상기 프로그램 연관 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하고,
    상기 인코더/멀티플렉서 제어 시스템은 PMT 패킷으로서 상기 프로그램 맵 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 인코더/멀티플렉서 제어 시스템은 CAT 패킷으로서 상기 조건부 억세스 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  43. 제 42 항에 있어서,
    상기 프로그램 연관 테이블은 프로그램 번호와 상기 프로그램 번호에 대응하는 PMT 패킷의 패킷 ID를 지정하는 테이블이고,
    상기 프로그램 맵 테이블은 프로그램을 구성하는 다수의 데이터 소자 각각을 포함하는 운송 스트림 패킷의 패킷 ID를 지정하는 테이블이고, 또한
    상기 조건부 억세스 테이블은 상기 암호화된 EMM 패킷의 패킷 ID를 지정하는 테이블인 것을 특징으로 하는 프로그램 배급 시스템.
  44. 제 43 항에 있어서,
    상기 프로그램 연관 테이블은 프로그램 및 상기 프로그램과 연관된 PMT 패킷의 패킷 ID를 나타내는 프로그램 번호를 설명하고,
    상기 프로그램 맵 테이블은 상기 프로그램, 상기 프로그램을 구성하는 다수의 데이터 소자를 포함한 운송 스트림 패킷을 포함하는 다수의 패킷 ID, 및 상기 프로그램이나 상기 데이터 소자와 연관된 암호화 ECM 패킷의 패킷 ID를 지정하는 설명자를 나타내는 프로그램 번호를 설명하는 것을 특징으로 하는 프로그램 배급 시스템.
  45. 제 44 항에 있어서,
    상기 프로그램 맵 테이블내의 상기 설명자가 상기 프로그램 번호에 대응하는 위치에서 설명되면, 상기 설명자는 상기 프로그램을 구성하는 상기 다수의 데이터 소자의 모든 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함하는 ECM 패킷의 패킷 ID를 지정하고,
    상기 프로그램 맵 테이블내의 상기 설명자가 상기 프로그램의 상기 데이터 소자 각각에 대응하는 위치에서 설명되면, 상기 설명자는 각각 상기 프로그램을 구성하는 상기 다수의 데이터 소자를 스크램블 처리하도록 다수의 스크램블 키를 포함하는 다수의 ECM 패킷의 패킷 ID를 지정하는 것을 특징으로 하는 프로그램 배급 시스템.
  46. 제 45 항에 있어서,
    상기 프로그램이 제 1 데이터 소자 내지 제 n 데이터 소자를 갖고 상기 제 1 데이터 소자 내지 제 n 데이터 소자에 대해 똑같은 스크램블 키가 지정되면,
    상기 프로그램 맵 테이블은 각각 상기 제 1 데이터 소자 내지 상기 제 n 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함하는 ECM 패킷의 패킷 ID와 상기 프로그램을 나타내는 프로그램 번호 사이의 대응관계를 설명하는 것을 특징으로 하는 프로그램 배급 시스템.
  47. 제 45 항에 있어서,
    상기 프로그램이 제 1 데이터 소자 내지 제 n 데이터 소자를 갖고 상기 제 1 데이터 소자 내지 제 n 데이터 소자에 대해 적어도 하나의 다른 스크램블 키가 지정되면,
    상기 프로그램 맵 테이블은 상기 제 1 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함한 ECM 데이터를 포함하는 운송 스트림 패킷의 패킷 ID와 상기 제 1 데이터 소자를 포함하는 운송 스트림 패킷의 패킷 ID 사이의 대응관계를 설명하고,
    상기 프로그램 맵 테이블은 상기 제 n 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함한 ECM 데이터를 포함하는 운송 스트림 패킷의 패킷 ID와 상기 제 n 데이터 소자를 포함하는 운송 스트림 패킷의 패킷 ID 사이의 대응관계를 설명하는 것을 특징으로 하는 프로그램 배급 시스템.
  48. 제 42 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 상기 프로그램 맵 테이블과 상기 조건부 억세스 테이블에 대해 유일한 패킷 ID를 지정하는 것을 특징으로 하는 프로그램 배급 시스템.
  49. 제 42 항에 있어서,
    상기 스크램블 수단은 상기 프로그램 지정 정보, 상기 EMM 데이터, 및 상기 ECM 데이터를 스크램블 처리하지 않고, 상기 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 프로그램 배급 시스템.
  50. 제 42 항에 있어서,
    상기 스크램블 수단은 상기 데이터 소자 각각을 포함하는 운송 스트림 패킷의 패킷 ID와 상기 데이터 소자에 지정된 스크램블 키 사이의 대응관계를 나타내는 테이블을 근거로 상기 데이터 소자에 대해 지정된 스크램블 키를 사용해 상기 데이터 소자를 스크램블 처리하는 것을 특징으로 하는 프로그램 배급 시스템.
  51. 제 42 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 상기 ECM 패킷, 상기 EMM 패킷, 상기 PSI 패킷, 및 상기 기본 패킷을 각각 식별하도록 패킷 ID가 지정될 때 다수의 운송 스트림 패킷에 대한 패킷 ID의 각 지정이 방지될 수 있도록 이전 동작에 사용되었던 패킷 ID를 저장하는 것을 특징으로 하는 프로그램 배급 시스템.
  52. 제 42 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 각 운송 스트림 패킷에 지정된 패킷 ID와 상기 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하는데 사용되는 스크램블 키 사이의 대응관계를 나타내는 테이블을 발생하고,
    상기 인코더/멀티플렉서 제어 시스템은 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  53. 제 52 항에 있어서,
    상기 스크램블 수단은 상기 프로그램 지정 정보, 상기 EMM 데이터, 및 상기 ECM 데이터를 스크램블 처리하지 않고, 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 참고하여 상기 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 프로그램 배급 시스템.
  54. 제 52 항에 있어서,
    상기 스크램블 수단은 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 참고하여 상기 데이터 소자에 대해 지정된 스크램블 키로 상기 데이터 소자를 스크램블 처리하는 것을 특징으로 하는 프로그램 배급 시스템.
  55. 제 52 항에 있어서,
    상기 스크램블 수단은 상기 다중화 수단에 의해 상기 스크램블 수단으로 공급된 모든 운송 스트림 패킷의 패킷 ID를 검출하고,
    상기 스크램블 수단은 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 근거로 상기 검출된 패킷 ID에 대해 스크램블 키가 정의되었나 여부를 결정하고,
    상기 패킷 ID에 대해 스크램블 키가 정의되면, 상기 스크램블 수단은 상기 정의된 스크램블 키로 상기 패킷 ID에 의해 나타내지는 운송 스트림 패킷에 포함된 데이터 소자를 스크램블 처리하고, 또한
    상기 패킷 ID에 대해 스크램블 키가 정의되지 않으면, 상기 스크램블 수단은 상기 패킷 ID에 의해 나타내지는 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하지 않는 것을 특징으로 하는 프로그램 배급 시스템.
  56. 제 36 항에 있어서,
    상기 멀티플렉서 시스템은:
    상기 스크램블 키를 암호화하는 제 2 암호화 수단; 및
    상기 PAT 패킷, 상기 PMT 패킷, 상기 CAT 패킷, 상기 데이터 소자를 포함한 상기 운송 스트림 패킷, 상기 암호화된 EMM 패킷, 및 상기 암호화된 ECM 패킷을 각각 버퍼처리하고, 상기 운송 스트림 패킷을 상기 다중화 수단에 제공하는 다수의 버퍼 수단을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  57. 제 56 항에 있어서,
    상기 멀티플렉서 시스템은 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 다수의 버퍼의 자유 영역을 모니터하고,
    상기 데이터 소자를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 상기 다수의 버퍼 중 일부가 오버플로우될 수 있으면, 상기 EMM 패킷은 상기 EMM 패킷을 버퍼처리하기 위한 버퍼에 의해 상기 다중화 수단으로 제공되지 않고, 그 대신 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷은 오버플로우될 것 같은 상기 버퍼에 의해 상기 다중화 수단에 제공되는 것을 특징으로 하는 프로그램 배급 시스템.
  58. 제 47 항에 있어서,
    상기 멀티플렉서 시스템에 의해 제공된 운송 스트림을 전송선을 통해 수신 단말부에 배급하는 배급 시스템; 및
    상기 전송선을 통해 전송된 상기 운송 스트림을 수신하기 위한 수신 수단을 더 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  59. 제 58 항에 있어서,
    상기 수신 시스템은:
    상기 전송된 운송 스트림을 역다중화하는 디멀티플렉서;
    상기 스크램블 처리된 데이터 소자를 각각 상기 공급된 스크램블 키로 역스크램블 처리하는 디스크램블러;
    각 데이터 소자에 대해 상기 역스크램블 처리된 데이터를 복호화하는 디코더;
    상기 운송 스트림을 구성하는 운송 스트림 패킷을 분석하는 CPU; 및
    상기 운송 스트림에 포함된 상기 암호화된 스크램블 키를 해독하고 상기 해독된 스크램블 키를 상기 디스크램블러에 공급하는 보안 모듈을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  60. 제 59 항에 있어서,
    상기 CPU는:
    상기 운송 스트림에 포함된 프로그램 연관 테이블을 분석하기 위한 PAT 분석 수단;
    상기 운송 스트림에 포함된 프로그램 맵 테이블을 분석하기 위한 PMT 분석 수단;
    상기 운송 스트림에 포함된 조건부 억세스 테이블을 분석하기 위한 CAT 분석 수단;
    상기 운송 스트림에 포함된 암호화 EMM 데이터를 분석하기 위한 EMM 분석 수단; 및
    상기 운송 스트림에 포함된 암호화 ECM 데이터를 분석하기 위한 ECM 분석 수단을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  61. 제 59 항에 있어서,
    상기 보안 모듈은:
    상기 EMM 데이터에 포함된 가입자의 가입 정보를 저장하는 메모리 수단;
    상기 전송된 운송 스트림에 포함된 상기 암호화 작업키 뿐만 아니라 상기 가입자 관리 시스템에 의해 사용된 것과 똑같은 마스터 키를 수신하여 상기 암호화된 작업키를 상기 마스터 키로 해독하는 제 1 해독 수단; 및
    상기 운송 스트림에 포함된 상기 암호화 스크램블 키 뿐만 아니라 상기 제 1 해독 수단에 의해 공급되는 상기 해독된 작업키를 수신하여 상기 암호화된 스크램블 키를 상기 해독된 작업키로 해독하는 제 2 해독 수단을 구비하는 것을 특징으로 하는 프로그램 배급 시스템.
  62. 제 61 항에 있어서,
    상기 CPU는 상기 운송 스트림에 포함된 프로그램 연관 테이블 및 프로그램 맵 테이블을 분석함으로서 상기 프로그램을 구성하는 각 데이터 소자를 포함한 운송 스트림 패킷을 식별하고, 상기 데이터 소자를 포함한 상기 운송 스트림 패킷을 상기 스크램블러 (scrambler) 중 적절한 것에 제공하도록 상기 디멀티플렉서를 제어하는 것을 특징으로 하는 프로그램 배급 시스템.
  63. 제 62 항에 있어서,
    상기 CPU는 상기 운송 스트림에 포함된 조건부 억세스 테이블을 분석함으로서 EMM 데이터를 포함한 운송 스트림 패킷을 검출하고,
    상기 CPU는 상기 EMM 데이터를 포함한 상기 운송 스트림으로부터, 가입자에 의해 가입된 프로그램에 대해 EMM 데이터를 갖는 운송 스트림 패킷만을 필터처리하고, 또한
    상기 CPU는 상기 필터처리된 운송 스트림 패킷에 포함된 상기 EMM 데이터를 분석함으로서 상기 EMM 데이터로부터 상기 암호화된 작업키를 구하는 것을 특징으로 하는 프로그램 배급 시스템.
  64. 제 61 항에 있어서,
    상기 CPU는 상기 운송 스트림에 포함된 프로그램 연관 테이블과 상기 프로그램 연관 테이블에 의해 지정된 프로그램 맵 테이블을 분석함으로서, 각각 상기 ECM 데이터와 상기 프로그램을 구성하는 다수의 데이터 소자를 포함한 운송 스트림 패킷을 검출하고,
    상기 CPU는 각각 상기 다수의 데이터 소자를 포함한 상기 운송 스트림 패킷을 상기 디스크램블러에 공급하고 상기 ECM 데이터를 포함한 상기 운송 스트림 패킷을 수신하도록 상기 디멀티플렉서를 제어하는 것을 특징으로 하는 프로그램 배급 시스템.
  65. 제 64 항에 있어서,
    상기 CPU는 상기 디멀티플렉서에 의해 공급된 상기 암호화 ECM 데이터를 포함한 상기 운송 스트림 패킷으로부터, 가입자에 의해 가입된 프로그램이나 데이터 소자에 대해 암호화 ECM 데이터를 갖는 운송 스트림 패킷만을 필터처리하고,
    상기 CPU는 상기 필터처리된 운송 스트림 패킷에 포함된 상기 암호화 ECM 데이터를 분석함으로서 상기 암호화된 ECM 데이터로부터 상기 암호화 스크램블 키를 구하는 것을 특징으로 하는 프로그램 배급 시스템.
  66. 제 65 항에 있어서,
    상기 프로그램 번호와 상기 암호화된 ECM 패킷의 패킷 ID 사이의 대응관계가 상기 프로그램 맵 테이블의 구문에 따라 설명되면,
    상기 CPU는 상기 프로그램에 대응하는 암호화된 스크램블 키로서 상기 패킷 ID에 의해 지정된 상기 암호화 ECM 패킷에 포함된 암호화 스크램블 키를 상기 보안 모듈에 공급하고,
    상기 프로그램을 구성하는 다수의 데이터 소자와 상기 다수의 암호화된 ECM 패킷의 패킷 ID 사이의 대응관계가 상기 프로그램 맵 테이블의 구문에 따라 설명되면,
    상기 CPU는 상기 다수의 데이터 소자에 대응하는 암호화된 스크램블 키로서 상기 다수의 패킷 ID에 의해 지정된 상기 암호화 ECM 패킷에 포함되는 다수의 다른 스크램블 키를 상기 보안 모듈에 공급하는 것을 특징으로 하는 프로그램 배급 시스템.
  67. 제 66 항에 있어서,
    상기 프로그램과 연관된 암호화 스크램블 키가 상기 CPU에 의해 공급되면, 상기 보안 모듈은 각각 상기 프로그램을 구성하는 다수의 데이터 소자에 대응하는 다수의 디스크램블러에 똑같은 스크램블 키를 공급하도록 상기 공급된 암호화 스크램블 키를 해독하고,
    상기 다수의 데이터 소자와 연관된 다수의 암호화 스크램블 키가 상기 CPU에 의해 공급되면, 상기 보안 모듈은 상기 다수의 데이터 소자 중에서 가입된 데이터 소자에 대응하는 다수의 디스크램블러에 다른 스크램블 키를 공급하도록 상기 다수의 공급된 암호화 스크램블 키를 각각 해독하는 것을 특징으로 하는 프로그램 배급 시스템.
  68. 다수의 데이터 소자로 구성된 프로그램을 전송하는 프로그램 전송 시스템에 있어서:
    가입자가 상기 가입자에 의해 가입된 프로그램이나 데이터 소자만을 보거나 들을 수 있도록 상기 프로그램에 포함된 다수의 데이터 소자를 스크램블 처리하는데 사용되는 다수의 스크램블 키를 발생하는 가입자 인증 시스템;
    각 프로그램에 대해 부호화된 데이터 소자로 구성되는 부호화 스트림을 발생하도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 부호화하는 부호화 시스템,
    상기 부호화 시스템에 의해 각 프로그램에 대해 제공된 상기 부호화 스트림을 다중화하는 다중화 수단, 및
    상기 가입자 인증 시스템에 의해 발생된 상기 스크램블 키를 근거로 상기 다중화된 스트림에 포함된 상기 부호화 데이터 소자 각각을 선택적으로 스크램블 처리하는 스크램블 수단
    을 구비하는 멀티플렉서 시스템; 및
    상기 멀티플렉서 시스템에 의해 다중화된 스트림을 전송하는 전송 시스템을 구비하는 것을 특징으로 하는 프로그램 전송 시스템.
  69. 각각이 다수의 데이터 소자를 구성된 다수의 프로그램을 전송하는 프로그램 전송 시스템에 있어서:
    상기 데이터 소자 각각에 대응하는 스크램블 키를 발생하는 스크램블 키 발생 수단;
    각 프로그램에 대해 부호화된 데이터 소자로 구성되는 부호화 스트림을 발생하도록 상기 다수의 프로그램에 포함된 상기 다수의 소자 각각을 부호화하는 부호화 수단;
    다중화된 스트림을 발생하도록 상기 부호화 수단에 의해 각 프로그램에 대해 제공된 상기 부호화 스트림을 다중화하는 다중화 수단;
    상기 스크램블 키 발생 수단에 의해 발생된 상기 스크램블 키를 근거로 상기 다중화된 스트림에 포함되는 상기 부호화 데이터 소자 각각을 스크램블 처리하는 스크램블 수단; 및
    상기 스크램블 처리된 다중화 스트림을 전송하는 전송 시스템을 구비하는 것을 특징으로 하는 프로그램 전송 시스템.
  70. 다수의 데이터 소자로 구성된 프로그램을 방송하는 유료 방송 시스템에 있어서:
    각 데이터 소자에 대해 가입자의 가입을 관리하고 그에 의해 가입된 데이터 소자를 근거로 상기 가입자와 거래하는 가입자 관리 시스템;
    가입자가 상기 가입자에 의해 가입된 데이터 소자만을 보거나 들을 수 있도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 스크램블 처리하는데 사용되는 다수의 스크램블 키를 발생하는 가입자 인증 시스템; 및
    각 프로그램에 대해 부호화된 데이터 소자로 구성되는 부호화 스트림을 발생하도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 부호화하는 부호화 시스템,
    상기 부호화 시스템에 의해 각 프로그램에 대해 제공된 상기 부호화 스트림을 다중화하는 다중화 수단, 및
    상기 가입자 인증 시스템엥 ml해 발생된 상기 다수의 스크램블 키를 근거로 상기 다중화 스트림에 포함된 상기 부호화 데이터 소자 각각을 선택적으로 스크램블 처리하는 스크램블 수단
    을 구비하는 멀티플렉서 시스템을 구비하는 것을 특징으로 하는 유료 방송 시스템.
  71. 다수의 데이터 소자로 구성된 프로그램을 전송하는 프로그램 전송 방법에 있어서:
    가입자가 상기 가입자에 의해 가입된 프로그램이나 데이터 소자만을 보거나 들을 수 있도록 상기 프로그램에 포함된 다수의 데이터 소자를 스크램블 처리하는데 사용되는 다수의 스크램블 키를 발생하는 스크램블 키 발생 단계;
    각 프로그램에 대해 부호화된 데이터 소자로 구성되는 부호화 스트림을 발생하도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 부호화하는 부호화 단계;
    상기 부호화 단계에 의해 각 프로그램에 대해 제공된 상기 부호화 스트림을 다중화하는 다중화 단계; 및
    상기 발생된 스크램블 키를 근거로 상기 다중화 스트림에 포함된 상기 부호화 데이터 소자 각각을 선택적으로 스크램블 처리하는 스크램블 단계를 구비하는 것을 특징으로 하는 프로그램 전송 방법.
  72. 제 71 항에 있어서,
    상기 스크램블 키 발생 단계는 상기 스크램블 키를 암호화하는데 사용되는 작업키를 마스터 키로 암호화하고,
    상기 스크램블 키 발생 단계는 암호화된 EMM 데이터로서 상기 가입자를 식별하기 위한 가입자 식별 번호와 상기 암호화된 작업키를 제공하고, 또한
    상기 스크램블 키 발생 단계는 ECM 데이터로서 상기 스크램블 키와 상기 암호화된 작업키를 식별하기 위한 작업키 식별 번호를 제공하는 것을 특징으로 하는 프로그램 전송 방법.
  73. 제 72 항에 있어서,
    상기 다수의 프로그램, 상기 프로그램을 구성하는 상기 다수의 데이터 소자, 상기 다수의 ECM 데이터 스트림, 및 상기 다수의 EMM 데이터 스트림을 다중화하는 방법을 나타내기 위한 프로그램 지정 정보를 발생하는 프로그램 지정 정보 발생 단계를 더 구비하고,
    상기 다중화 단계는 상기 발생된 프로그램 지정 정보에 따라 상기 다수의 프로그램, 상기 다수의 데이터 소자, 상기 다수의 ECM 데이터 스트림, 및 상기 다수의 EMM 데이터 스트림을 다중화하는 것을 특징으로 하는 프로그램 전송 방법.
  74. 제 73 항에 있어서,
    상기 스크램블 키 발생 단계는 각각 운송 스트림 패킷의 형태인 암호화된 EMM 패킷 및 ECM 패킷으로서 상기 암호화된 EMM 데이터와 상기 ECM 데이터를 제공하고,
    상기 부호화 단계는 운송 스트림 패킷의 형태인 기본 패킷으로서 상기 부호화된 데이터 소자를 제공하고, 또한
    상기 프로그램 지정 정보 발생 단계는 운송 스트림 패킷의 형태인 PSI 패킷으로서 상기 프로그램 지정 정보를 제공하는 것을 특징으로 하는 프로그램 전송 방법.
  75. 제 74 항에 있어서,
    상기 다중화 단계는 상기 ECM 데이터에 포함된 스크램블 키를 암호화하기 위한 암호화 단계를 구비하는 것을 특징으로 하는 프로그램 전송 방법.
  76. 제 75 항에 있어서,
    상기 스크램블 키 발생 단계는 상기 작업키와 상기 작업키를 식별하기 위한 작업키 식별 번호 사이의 대응관계를 나타내는 작업키 테이블을 발생하는 것을 특징으로 하는 프로그램 전송 방법.
  77. 제 76 항에 있어서,
    상기 다중화 단계에서의 상기 암호화 단계는 상기 작업키 테이블을 참고하여 상기 ECM 데이터에 포함된 상기 작업키 식별 번호로부터 작업키를 구하고,
    상기 암호화 단계는 상기 작업키 테이블로부터 구해진 상기 작업키를 사용해 상기 ECM 데이터에 포함된 상기 스크램블 키를 암호화하고, 또한
    상기 암호화 단계는 암호화된 ECM 데이터로서 상기 제 2 암호화 회로에 의해 암호화된 상기 암호화 스크램블 키를 제공하는 것을 특징으로 하는 프로그램 전송 방법.
  78. 제 77 항에 있어서,
    상기 프로그램 지정 정보 발생 단계는 운송 스트림 패킷의 형태로 상기 멀티플렉서 시스템에 공급된 모든 운송 스트림 패킷에 상기 운송 스트림 패킷을 식별하기 위한 패킷 ID를 지정하는 것을 특징으로 하는 프로그램 전송 방법.
  79. 제 78 항에 있어서,
    상기 프로그램 지정 정보는 적어도 프로그램 연관 테이블, 프로그램 맵 테이블, 및 조건부 억세스 테이블로 구성되는 것을 특징으로 하는 프로그램 전송 방법.
  80. 제 79 항에 있어서,
    상기 프로그램 지정 정보 발생 단계는 PAT 패킷으로서 상기 프로그램 연관 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하고,
    상기 프로그램 지정 정보 발생 단계는 PMT 패킷으로서 상기 프로그램 맵 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 프로그램 지정 정보 발생 단계는 CAT 패킷으로서 상기 조건부 억세스 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 전송 방법.
  81. 제 80 항에 있어서,
    상기 프로그램 연관 테이블은 프로그램 번호와 상기 프로그램 번호에 대응하는 PMT 패킷의 패킷 ID를 지정하는 테이블이고,
    상기 프로그램 맵 테이블은 프로그램을 구성하는 다수의 데이터 소자 각각을 포함한 운송 스트림 패킷의 패킷 ID를 지정하는 테이블이고, 또한
    상기 조건부 억세스 테이블은 상기 암호화된 EMM 패킷의 패킷 ID를 지정하는 테이블인 것을 특징으로 하는 프로그램 전송 방법.
  82. 제 81 항에 있어서,
    상기 프로그램 연관 테이블은 프로그램 및 상기 프로그램과 연관된 PMT 패킷의 패킷 ID를 나타내기 위한 프로그램 번호를 설명하고,
    상기 프로그램 맵 테이블은 상기 프로그램, 상기 프로그램을 구성하는 다수의 데이터 소자를 포함한 운송 스트림 패킷을 포함하는 다수의 패킷 ID, 및 상기 프로그램이나 상기 데이터 소자와 연관된 암호화된 ECM 패킷의 패킷 ID를 지정하는 설명자를 나타내기 위한 프로그램 번호를 설명하는 것을 특징으로 하는 프로그램 전송 방법.
  83. 제 82 항에 있어서,
    상기 프로그램 맵 테이블에서의 상기 설명자가 상기 프로그램 번호에 대응하는 위치에서 설명되면, 상기 설명자는 상기 프로그램을 구성하는 상기 다수의 데이터 소자의 모든 데이터 소자를 스크램블 처리하기 위한 스크램블 키를 포함하는 ECM 패킷의 패킷 ID를 지정하고,
    상기 프로그램 맵 테이블에서의 상기 설명자가 상기 프로그램의 상기 데이터 소자 각각에 대응하는 위치에서 설명되면, 상기 설명자는 각각 상기 프로그램을 구성하는 상기 다수의 데이터 소자를 스크램블 처리하기 위한 다수의 스크램블 키를 포함하는 다수의 ECM 패킷의 패킷 ID를 지정하는 것을 특징으로 하는 프로그램 전송 방법.
  84. 제 83 항에 있어서,
    상기 프로그램이 제 1 데이터 소자 내지 제 n 데이터 소자를 갖고 상기 제 1 데이터 소자 내지 상기 제 n 데이터 소자에 대해 적어도 하나의 다른 스크램블 키가 지정되면,
    상기 프로그램 맵 테이블은 상기 제 1 데이터 소자를 포함하는 운송 스트림 패킷의 패킷 ID와 상기 제 1 데이터 소자를 스크램블 처리하기 위한 스크램블 키를 포함한 ECM 데이터를 포함하는 운송 스트림 패킷의 패킷 ID 사이의 대응관계를 설명하고, 또한
    상기 프로그램 맵 테이블은 상기 제 n 데이터 소자를 포함하는 운송 스트림 패킷의 패킷 ID와 상기 제 n 데이터 소자를 스크램블 처리하기 위한 스크램블 키를 포함한 ECM 데이터를 포함하는 운송 스트림 패킷의 패킷 ID 사이의 대응관계를 설명하는 것을 특징으로 하는 프로그램 전송 방법.
  85. 제 80 항에 있어서,
    상기 스크램블 단계는 상기 프로그램 지정 정보, 상기 EMM 데이터, 및 상기 ECM 데이터를 스크램블 처리하지 않고, 상기 데이터 소자 각각을 포함하는 운송 스트림 패킷의 패킷 ID와 상기 데이터 소자에 대해 지정된 스크램블 키 사이의 대응관계를 나타내는 테이블을 근거로 상기 데이터 소자에 대해 지정된 스크램블 키를 사용해 상기 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 프로그램 전송 방법.
  86. 제 80 항에 있어서,
    상기 프로그램 지정 정보 발생 단계는 각 운송 스트림 패킷에 지정된 패킷 ID와 상기 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하는데 사용되는 스크램블 키 사이의 대응관계를 나타내는 테이블을 발생하고,
    상기 프로그램 지정 정보 발생 단계는 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 프로그램 전송 방법.
  87. 제 86 항에 있어서,
    상기 스크램블 수단은 상기 프로그램 지정 정보, 상기 EMM 데이터, 및 상기 ECM 데이터를 스크램블 처리하지 않고, 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 참고하여 상기 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 프로그램 전송 방법.
  88. 제 86 항에 있어서,
    상기 스크램블 단계는 상기 다중화 수단에 의해 상기 스크램블 수단에 공급된 모든 운송 스트림 패킷의 패킷 ID를 검출하고,
    상기 스크램블 단계는 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 근거로 상기 검출된 패킷 ID에 대해 스크램블 키가 정의되었나 여부를 결정하고,
    일부 스크램블 키가 상기 패킷 ID에 대해 정의되면, 상기 스크램블 단계는 상기 패킷 ID로 나타내지는 운송 스트림 패킷에 포함된 데이터 소자를 상기 정의된 스크램블 키로 스크램블 처리하고, 또한
    스크램블 키가 상기 패킷 ID에 대해 정의되지 않으면, 상기 스크램블 단계는 상기 패킷 ID로 나타내지는 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하지 않는 것을 특징으로 하는 프로그램 전송 방법.
  89. 제 74 항에 있어서,
    상기 다중화 단계는 상기 스크램블 키를 상기 작업키로 암호화하고,
    상기 다중화 단계는 각각 다수의 버퍼 수단에서 상기 PAT 패킷, 상기 PMT 패킷, 상기 CAT 패킷, 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷, 상기 암호화된 EMM 패킷, 및 상기 암호화된 ECM 패킷을 버퍼처리하는 것을 특징으로 하는 프로그램 전송 방법.
  90. 제 89 항에 있어서,
    상기 다중화 단계는 상기 데이터 소자를 포함하는 상기 전송 스트림 패킷을 버퍼처리하기 위한 다수의 버퍼의 자유 영역을 모니터하고,
    상기 데이터 소자를 포함한 상기 전송 스트림 패킷을 버퍼처리하기 위한 상기 다수의 버퍼 중 일부가 오버플로우될 수 있으면, 상기 EMM 패킷은 상기 EMM 패킷을 버퍼처리하기 위한 버퍼에 의해 상기 다중화 수단에 제공되지 않고, 그 대신 상기 데이터 소자를 포함한 상기 운송 스트림 패킷은 상기 버퍼에 의해 오버플로우될 수 있게 제공되는 것을 특징으로 하는 프로그램 전송 방법.
  91. 다수의 프로그램과 프로그램 배급 시스템에 의해 배급된 상기 프로그램을 구성하는 다수의 데이터 소자 중에서 가입된 프로그램과 데이터 소자에만 조건부 억세스를 제공하는 한정 수신 시스템에 있어서:
    상기 운송 스트림으로부터, 상기 프로그램을 구성하는 다수의 스크램블 처리된 데이터 소자를 포함하는 운송 스트림 패킷을 역다중화시키고, 상기 다수의 데이터 소자와 연관된 다수의 암호화 스크램블 키를 포함하는 다수의 운송 스트림 패킷을 역다중화시키는 디멀티플렉서;
    상기 다수의 역다중화된 암호화 스크램블 키를 포함하는 상기 다수의 운송 스트림 패킷으로부터, 가입자에 의해 가입된 상기 프로그램 및 데이터 소자와 연관된 암호화 스크램블 키를 포함하는 운송 스트림 패킷을 필터처리하는 필터 수단;
    다수의 해독된 스크램블 키를 발생하도록 상기 다수의 필터처리된 운송 스트림 패킷에 포함된 상기 다수의 암호화 스크램블 키를 해독하는 해독 수단;
    상기 다수의 데이터 소자와 연관된 상기 다수의 해독된 스크램블 키를 사용해 각 데이터 소자에 대해 상기 다수의 역다중화된 데이터 소자를 역스크램블 (descramble) 처리하는 역스크램블 수단; 및
    상기 역스크램블 수단에 의해 역스크램블 처리된 상기 다수의 데이터 소자를 복호화하는 복호화 수단을 구비하는 것을 특징으로 하는 한정 수신 시스템.
  92. 제 91 항에 있어서,
    상기 프로그램 배급 시스템은:
    각 프로그램이나 데이터 소자에 대해 가입자의 가입을 관리하는 가입자 관리 시스템;
    가입자가 상기 가입자에 의해 가입된 데이터 프로그램이나 소자를 보거나 들을 수 있도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 스크램블 처리하는데 사용되는 다수의 스크램블 키를 발생하는 가입자 인증 시스템;
    각 프로그램에 대해 부호화된 데이터 소자로 구성되는 부호화 스트림을 발생하도록 상기 프로그램에 포함된 상기 데이터 소자 각각을 부호화하는 부호화 시스템,
    상기 부호화 시스템에 의해 각 프로그램에 대해 발생된 상기 부호화 스트림을 다중화하는 다중화 수단, 및
    상기 가입자 인증 시스템에 의해 발생된 상기 스크램블 키를 근거로 상기 다중화된 스트림에 포함된 상기 부호화 데이터 소자 각각을 선택적으로 스크램블 처리하는 스크램블 수단
    을 구비하는 멀티플렉서 시스템; 및
    상기 멀티플렉서 시스템에 의해 다중화된 스트림을 전송하는 전송 시스템을 구비하는 것을 특징으로 하는 한정 수신 시스템.
  93. 제 92 항에 있어서,
    상기 가입자 인증 시스템은 상기 스크램블 키를 암호화하는데 사용되는 작업키를 마스터 키로 암호화하는 제 1 암호화 수단을 구비하고,
    상기 가입자 인증 시스템은 암호화된 EMM 데이터로서 상기 가입자를 식별하기 위한 가입자 식별 번호와 상기 제 1 암호화 수단에 의해 암호화된 암호화 작업키를 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 가입자 인증 시스템은 ECM 데이터로서 상기 스크램블 키와 상기 암호화 수단에 의해 암호화된 상기 암호화 작업키를 식별하기 위한 작업키 식별 번호를 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  94. 제 93 항에 있어서,
    상기 다수의 프로그램, 상기 프로그램을 구성하는 상기 다수의 데이터 소자, 상기 다수의 ECM 데이터 스트림, 및 상기 다수의 EMM 데이터 스트림을 다중화하는 방법을 나타내기 위한 프로그램 지정 정보를 발생하고, 상기 발생된 프로그램 지정 정보에 따라 상기 다수의 프로그램, 상기 다수의 데이터 소자, 상기 다수의 ECM 데이터 스트림, 및 상기 다수의 EMM 데이터 스트림을 다중화하도록 상기 인코더 시스템과 상기 멀티플렉서 시스템을 제어하는 인코더/멀티플렉서 제어 시스템을 구비하는 것을 특징으로 하는 한정 수신 시스템.
  95. 제 94 항에 있어서,
    상기 인코더 시스템은 운송 스트림 패킷의 형태인 기본 패킷으로서 상기 부호화된 데이터 소자를 상기 멀티플렉서 시스템에 공급하고,
    상기 가입자 인증 시스템은 각각 운송 스트림 패킷의 형태인 암호화된 EMM 패킷 및 ECM 패킷으로서 상기 암호화된 EMM 데이터와 상기 ECM 데이터를 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 인코더/멀티플렉서 제어 시스템은 운송 스트림 패킷의 형태인 PSI 패킷으로서 상기 프로그램 지정 정보를 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  96. 제 95 항에 있어서,
    상기 멀티플렉서 시스템은 상기 ECM 데이터에 포함된 스크램블 키를 암호화하는 제 2 암호화 수단을 더 구비하는 것을 특징으로 하는 한정 수신 시스템.
  97. 제 96 항에 있어서,
    상기 가입자 인증 시스템은 상기 작업키와 상기 작업키를 식별하기 위한 작업키 식별 번호 사이의 대응관계를 나타내는 작업키 테이블을 상기 멀티플렉서 시스템의 상기 제 2 암호화 수단에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  98. 제 97 항에 있어서,
    상기 제 2 암호화 수단은 상기 작업키 테이블을 참고하여 상기 ECM 데이터에 포함된 상기 작업키 식별 번호로부터 작업키를 구하고,
    상기 제 2 암호화 수단은 상기 작업키 테이블로부터 구해진 상기 작업키를 사용해 상기 ECM 데이터에 포함된 상기 스크램블 키를 암호화하고, 또한
    상기 제 2 암호화 수단은 암호화된 ECM 데이터로서 상기 제 2 암호화 수단에 의해 암호화된 상기 암호화 스크램블 키를 상기 다중화 수단에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  99. 제 98 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 운송 스트림 패킷의 형태로 상기 멀티플렉서 시스템에 공급된 모든 운송 스트림 패킷에 상기 운송 스트림 패킷을 식별하기 위한 패킷 ID를 지정하는 것을 특징으로 하는 한정 수신 시스템.
  100. 제 99 항에 있어서,
    상기 프로그램 지정 정보는 적어도 프로그램 연관 테이블, 프로그램 맵 테이블, 및 조건부 억세스 테이블로 구성되는 것을 특징으로 하는 한정 수신 시스템.
  101. 제 100 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 PAT 패킷으로서 상기 프로그램 연관 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하고,
    상기 인코더/멀티플렉서 제어 시스템은 PMT 패킷으로서 상기 프로그램 맵 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하고, 또한
    상기 인코더/멀티플렉서 제어 시스템은 CAT 패킷으로서 상기 조건부 억세스 테이블을 포함하는 운송 스트림 패킷을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  102. 제 101 항에 있어서,
    상기 프로그램 연관 테이블은 프로그램 번호와 상기 프로그램 번호에 대응하는 PMT 패킷의 패킷 ID를 지정하는 테이블이고,
    상기 프로그램 맵 테이블은 프로그램을 구성하는 다수의 데이터 소자 각각을 포함하는 운송 스트림 패킷의 패킷 ID를 지정하는 테이블이고, 또한
    상기 조건부 억세스 테이블은 상기 암호화된 EMM 패킷의 패킷 ID를 지정하는 테이블인 것을 특징으로 하는 한정 수신 시스템.
  103. 제 102 항에 있어서,
    상기 프로그램 연관 테이블은 프로그램 및 상기 프로그램과 연관된 PMT 패킷의 패킷 ID를 나타내는 프로그램 번호를 설명하고,
    상기 프로그램 맵 테이블은 상기 프로그램, 상기 프로그램을 구성하는 다수의 데이터 소자를 포함한 운송 스트림 패킷을 포함하는 다수의 패킷 ID, 및 상기 프로그램이나 상기 데이터 소자와 연관된 암호화 ECM 패킷의 패킷 ID를 지정하는 설명자를 나타내는 프로그램 번호를 설명하는 것을 특징으로 하는 한정 수신 시스템.
  104. 제 103 항에 있어서,
    상기 프로그램 맵 테이블내의 상기 설명자가 상기 프로그램 번호에 대응하는 위치에서 설명되면, 상기 설명자는 상기 프로그램을 구성하는 상기 다수의 데이터 소자의 모든 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함하는 ECM 패킷의 패킷 ID를 지정하고,
    상기 프로그램 맵 테이블내의 상기 설명자가 상기 프로그램의 상기 데이터 소자 각각에 대응하는 위치에서 설명되면, 상기 설명자는 각각 상기 프로그램을 구성하는 상기 다수의 데이터 소자를 스크램블 처리하도록 다수의 스크램블 키를 포함하는 다수의 ECM 패킷의 패킷 ID를 지정하는 것을 특징으로 하는 한정 수신 시스템.
  105. 제 104 항에 있어서,
    상기 프로그램이 제 1 데이터 소자 내지 제 n 데이터 소자를 갖고 상기 제 1 데이터 소자 내지 제 n 데이터 소자에 대해 적어도 하나의 다른 스크램블 키가 지정되면,
    상기 프로그램 맵 테이블은 상기 제 1 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함한 ECM 데이터를 포함하는 운송 스트림 패킷의 패킷 ID와 상기 제 1 데이터 소자를 포함하는 운송 스트림 패킷의 패킷 ID 사이의 대응관계를 설명하고,
    상기 프로그램 맵 테이블은 상기 제 n 데이터 소자를 스크램블 처리하도록 스크램블 키를 포함한 ECM 데이터를 포함하는 운송 스트림 패킷의 패킷 ID와 상기 제 n 데이터 소자를 포함하는 운송 스트림 패킷의 패킷 ID 사이의 대응관계를 설명하는 것을 특징으로 하는 한정 수신 시스템.
  106. 제 101 항에 있어서,
    상기 스크램블 수단은 상기 프로그램 지정 정보, 상기 EMM 데이터, 및 상기 ECM 데이터를 스크램블 처리하지 않고, 상기 데이터 소자 각각을 포함하는 운송 스트림 패킷의 패킷 ID와 상기 데이터 소자에 대해 지정된 스크램블 키 사이의 대응관계를 나타내는 테이블을 근거로 상기 데이터 소자에 대해 지정된 스크램블 키를 사용해 상기 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 한정 수신 시스템.
  107. 제 101 항에 있어서,
    상기 인코더/멀티플렉서 제어 시스템은 각 운송 스트림 패킷에 지정된 패킷 ID와 상기 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하는데 사용되는 스크램블 키 사이의 대응관계를 나타내는 테이블을 발생하고,
    상기 인코더/멀티플렉서 제어 시스템은 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 상기 멀티플렉서 시스템에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  108. 제 107 항에 있어서,
    상기 스크램블 수단은 상기 프로그램 지정 정보, 상기 EMM 데이터, 및 상기 ECM 데이터를 스크램블 처리하지 않고, 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 참고하여 상기 데이터 소자만을 스크램블 처리하는 것을 특징으로 하는 한정 수신 시스템.
  109. 제107 항에 있어서,
    상기 스크램블 수단은 상기 다중화 수단에 의해 상기 스크램블 수단으로 공급된 모든 운송 스트림 패킷의 패킷 ID를 검출하고,
    상기 스크램블 수단은 상기 패킷 ID와 상기 스크램블 키 사이의 대응관계를 나타내는 상기 테이블을 근거로 상기 검출된 패킷 ID에 대해 스크램블 키가 정의되었나 여부를 결정하고,
    상기 패킷 ID에 대해 스크램블 키가 정의되면, 상기 스크램블 수단은 상기 정의된 스크램블 키로 상기 패킷 ID에 의해 나타내지는 운송 스트림 패킷에 포함된 데이터 소자를 스크램블 처리하고, 또한
    상기 패킷 ID에 대해 스크램블 키가 정의되지 않으면, 상기 스크램블 수단은 상기 패킷 ID에 의해 나타내지는 운송 스트림 패킷에 포함된 데이터를 스크램블 처리하지 않는 것을 특징으로 하는 한정 수신 시스템.
  110. 제 95 항에 있어서,
    상기 멀티플렉서 시스템은:
    상기 스크램블 키를 암호화하는 제 2 암호화 수단; 및
    상기 PAT 패킷, 상기 PMT 패킷, 상기 CAT 패킷, 상기 데이터 소자를 포함한 상기 운송 스트림 패킷, 상기 암호화된 EMM 패킷, 및 상기 암호화된 ECM 패킷을 각각 버퍼처리하고, 상기 운송 스트림 패킷을 상기 다중화 수단에 제공하는 다수의 버퍼 수단을 더 구비하는 것을 특징으로 하는 한정 수신 시스템.
  111. 제 110 항에 있어서,
    상기 멀티플렉서 시스템은 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 다수의 버퍼의 자유 영역을 모니터하고,
    상기 데이터 소자를 포함하는 상기 운송 스트림 패킷을 버퍼처리하기 위한 상기 다수의 버퍼 중 일부가 오버플로우될 수 있으면, 상기 EMM 패킷은 상기 EMM 패킷을 버퍼처리하기 위한 버퍼에 의해 상기 다중화 수단으로 제공되지 않고, 그 대신 상기 데이터 소자를 포함하는 상기 운송 스트림 패킷은 오버플로우될 것 같은 상기 버퍼에 의해 상기 다중화 수단에 제공되는 것을 특징으로 하는 한정 수신 시스템.
  112. 제 109 항에 있어서,
    상기 필터 수단은:
    상기 운송 스트림에 포함된 프로그램 연관 테이블을 분석하기 위한 PAT 분석 수단;
    상기 운송 스트림에 포함된 프로그램 맵 테이블을 분석하기 위한 PMT 분석 수단;
    상기 운송 스트림에 포함된 조건부 억세스 테이블을 분석하기 위한 CAT 분석 수단;
    상기 운송 스트림에 포함된 암호화 EMM 데이터를 분석하기 위한 EMM 분석 수단; 및
    상기 운송 스트림에 포함된 암호화 ECM 데이터를 분석하기 위한 ECM 분석 수단을 구비하는 것을 특징으로 하는 한정 수신 시스템.
  113. 제 109 항에 있어서,
    상기 해독 수단은:
    상기 EMM 데이터에 포함된 가입자의 가입 정보를 저장하는 메모리 수단;
    상기 전송된 운송 스트림에 포함된 상기 암호화 작업키 뿐만 아니라 상기 가입자 관리 시스템에 의해 사용된 것과 똑같은 마스터 키를 수신하여 상기 암호화된 작업키를 상기 마스터 키로 해독하는 제 1 해독 수단; 및
    상기 운송 스트림에 포함된 상기 암호화 스크램블 키 뿐만 아니라 상기 제 1 해독 수단에 의해 공급되는 상기 해독된 작업키를 수신하여 상기 암호화된 스크램블 키를 상기 해독된 작업키로 해독하는 제 2 해독 수단을 구비하는 것을 특징으로 하는 한정 수신 시스템.
  114. 제 113 항에 있어서,
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 운송 스트림에 포함된 프로그램 연관 테이블 및 프로그램 맵 테이블을 분석함으로서 상기 프로그램을 구성하는 각 데이터 소자를 포함한 운송 스트림 패킷을 식별하고, 상기 데이터 소자를 포함한 상기 운송 스트림 패킷을 상기 스크램블러 중 적절한 것에 제공하도록 상기 디멀티플렉서를 제어하는 것을 특징으로 하는 한정 수신 시스템.
  115. 제 114 항에 있어서,
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 운송 스트림에 포함된 조건부 억세스 테이블을 분석함으로서 EMM 데이터를 포함한 운송 스트림 패킷을 검출하고,
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 EMM 데이터를 포함한 상기 운송 스트림으로부터, 가입자에 의해 가입된 프로그램에 대해 EMM 데이터를 갖는 운송 스트림 패킷만을 필터처리하고, 또한
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 필터처리된 운송 스트림 패킷에 포함된 상기 EMM 데이터를 분석함으로서 상기 EMM 데이터로부터 상기 암호화된 작업키를 구하는 것을 특징으로 하는 한정 수신 시스템.
  116. 제 113 항에 있어서,
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 운송 스트림에 포함된 프로그램 연관 테이블과 상기 프로그램 연관 테이블에 의해 지정된 프로그램 맵 테이블을 분석함으로서, 각각 상기 ECM 데이터와 상기 프로그램을 구성하는 다수의 데이터 소자를 포함한 운송 스트림 패킷을 검출하고,
    상기 디멀티플렉서 수단과 상기 필터 수단은 각각 상기 다수의 데이터 소자를 포함한 상기 운송 스트림 패킷을 상기 디스크램블러에 공급하고 상기 ECM 데이터를 포함한 상기 운송 스트림 패킷을 수신하도록 상기 디멀티플렉서를 제어하는 것을 특징으로 하는 한정 수신 시스템.
  117. 제 116 항에 있어서,
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 디멀티플렉서에 의해 공급된 상기 암호화 ECM 데이터를 포함한 상기 운송 스트림 패킷으로부터, 가입자에 의해 가입된 프로그램이나 데이터 소자에 대해 암호화 ECM 데이터를 갖는 운송 스트림 패킷만을 필터처리하고,
    상기 디멀티플렉서 수단과 상기 필터 수단은 상기 필터처리된 운송 스트림 패킷에 포함된 상기 암호화 ECM 데이터를 분석함으로서 상기 암호화된 ECM 데이터로부터 상기 암호화 스크램블 키를 구하는 것을 특징으로 하는 한정 수신 시스템.
  118. 제 117 항에 있어서,
    상기 프로그램 번호와 상기 암호화된 ECM 패킷의 패킷 ID 사이의 대응관계가 상기 프로그램 맵 테이블의 구문에 따라 설명되면,
    상기 필터 수단은 상기 프로그램에 대응하는 암호화된 스크램블 키로서 상기 패킷 ID에 의해 지정된 상기 암호화 ECM 패킷에 포함된 암호화 스크램블 키를 상기 해독 수단에 공급하고,
    상기 프로그램을 구성하는 다수의 데이터 소자와 상기 다수의 암호화된 ECM 패킷의 패킷 ID 사이의 대응관계가 상기 프로그램 맵 테이블의 구문에 따라 설명되면,
    상기 필터 수단은 상기 다수의 데이터 소자에 대응하는 암호화된 스크램블 키로서 상기 다수의 패킷 ID에 의해 지정된 상기 암호화 ECM 패킷에 포함되는 다수의 다른 스크램블 키를 상기 해독 수단에 공급하는 것을 특징으로 하는 한정 수신 시스템.
  119. 제 118 항에 있어서,
    상기 프로그램과 연관된 암호화 스크램블 키가 상기 필터 수단에 의해 공급되면, 상기 해독 수단은 각각 상기 프로그램을 구성하는 다수의 데이터 소자에 대응하는 다수의 디스크램블러에 똑같은 스크램블 키를 공급하도록 상기 공급된 암호화 스크램블 키를 해독하고,
    상기 다수의 데이터 소자와 연관된 다수의 암호화 스크램블 키가 상기 필터 수단에 의해 공급되면, 상기 해독 수단은 상기 다수의 데이터 소자 중에서 가입된 데이터 소자에 대응하는 다수의 디스크램블러에 다른 스크램블 키를 공급하도록 상기 다수의 공급된 암호화 스크램블 키를 각각 해독하는 것을 특징으로 하는 한정 수신 시스템.
  120. 운송 스트림 패킷의 형태로 구성된 다수의 데이터 소자로 구성되는 프로그램 데이터의 운송 스트림 패킷을 다중화함으로서 구해진 다중화 데이터를 수신하는 데이터 수신 장치에 있어서:
    각 데이터 소자에 대응하는 스크램블 키를 상기 다중화된 데이터로부터 추출하는 스크램블 키 추출 수단; 및
    상기 스크램블 키 추출 수단에 의해 추출된 스크램블 키를 사용해 상기 다중화된 데이터에 포함되는 각 데이터 소자에 대한 상기 운송 스트림 패킷을 역스크램블 처리하는 디스크램블 (descramble) 수단을 구비하는 것을 특징으로 하는 데이터 수신 장치.
  121. 제 120 항에 있어서,
    상기 데이터 수신 장치는 상기 다중화된 데이터와 함께 수신된 작업키를 사용해 상기 스크램블 키 추출 수단에 의해 추출된 상기 암호화 스크램블 키를 해독하기 위한 제 1 해독 수단을 구비하고, 상기 제 1 해독 수단에 의해 해독된 상기 스크램블 키를 사용해 상기 운송 스트림 패킷을 역스크램블 처리하는 것을 특징으로 하는 데이터 수신 장치.
  122. 제 120 항에 있어서,
    상기 데이터 수신 장치는 미리 저장된 마스터 키를 사용해 상기 다중화된 데이터와 함께 수신된 상기 암호화 작업키를 해독하기 위한 제 2 해독 수단을 구비하고, 상기 제 2 해독 수단에 의해 해독된 상기 작업키를 사용해 상기 스크램블 키를 해독하는 것을 특징으로 하는 데이터 수신 장치.
KR1019997007180A 1998-07-13 1998-07-13 프로그램 배포 시스템, 프로그램 전송 방법 및 조건부 액세스 시스템 KR100610523B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/003127 WO2000003541A1 (fr) 1998-07-13 1998-07-13 Multiplexeur de donnees, systeme de diffusion de programme, systeme d'emission de programme, systeme de diffusion a peage, procede d'emission de programme, systeme de reception limitee et recepteur de donnees

Publications (2)

Publication Number Publication Date
KR20000070915A true KR20000070915A (ko) 2000-11-25
KR100610523B1 KR100610523B1 (ko) 2006-08-09

Family

ID=14208609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997007180A KR100610523B1 (ko) 1998-07-13 1998-07-13 프로그램 배포 시스템, 프로그램 전송 방법 및 조건부 액세스 시스템

Country Status (3)

Country Link
EP (1) EP1022900A1 (ko)
KR (1) KR100610523B1 (ko)
WO (1) WO2000003541A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888592B1 (ko) * 2003-02-03 2009-03-16 삼성전자주식회사 방송신호 수신 장치 및 방법
KR100956273B1 (ko) * 2002-04-19 2010-05-10 이르데토 아인드호벤 비.브이. 조건부 액세스 시스템 및 장치
KR101241880B1 (ko) * 2006-03-24 2013-03-11 엘지전자 주식회사 방송 신호 스트림 복제 제한 장치 및 복제 제한 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133924B1 (en) 2000-03-08 2006-11-07 Music Choice Personalized audio system and method
US7320025B1 (en) 2002-03-18 2008-01-15 Music Choice Systems and methods for providing a broadcast entertainment service and an on-demand entertainment service
US8463780B1 (en) 2000-03-08 2013-06-11 Music Choice System and method for providing a personalized media service
US7028082B1 (en) 2001-03-08 2006-04-11 Music Choice Personalized audio system and method
US7783722B1 (en) 2000-03-08 2010-08-24 Music Choice Personalized audio system and method
US7856485B2 (en) 2000-03-08 2010-12-21 Music Choice Systems and methods for providing customized media channels
US7275256B1 (en) 2001-08-28 2007-09-25 Music Choice System and method for providing an interactive, visual complement to an audio program
US7325043B1 (en) 2000-03-08 2008-01-29 Music Choice System and method for providing a personalized media service
US8271341B2 (en) 2000-04-12 2012-09-18 Music Choice Media content delivery systems and methods
US6879963B1 (en) 2000-04-12 2005-04-12 Music Choice Cross channel delivery system and method
JP4554806B2 (ja) * 2000-05-11 2010-09-29 株式会社日立製作所 受信方法及び送信方法
JP2002016893A (ja) * 2000-06-30 2002-01-18 Sony Corp 放送番組情報伝達方法及びデジタル放送送信機及びデジタル放送受信機及びデジタル放送記録機及びデジタル放送記録再生機
US20020042754A1 (en) 2000-10-10 2002-04-11 Del Beccaro David J. System and method for receiving broadcast audio/video works and for enabling a consumer to purchase the received audio/video works
US7508454B1 (en) 2000-11-16 2009-03-24 Smardtv Sa Digital television conditional access methods and apparatus for simultaneously handling multiple television programs
EP1340368B1 (en) * 2000-11-17 2008-04-02 SmarDTV S.A. Digital television conditional access methods and apparatus for simultaneously handling multiple television programs
EP1267579A3 (en) * 2001-06-11 2003-03-19 Canal+ Technologies Société Anonyme MPEG table structure
US7617295B1 (en) 2002-03-18 2009-11-10 Music Choice Systems and methods for providing a broadcast entertainment service and an on-demand entertainment service
AU2003237462A1 (en) 2002-06-07 2003-12-22 General Instrument Corporation Seamless switching between multiple pre-encrypted video files
US7626609B1 (en) 2003-03-07 2009-12-01 Music Choice Method and system for displaying content while reducing burn-in of a display
US20040260823A1 (en) * 2003-06-17 2004-12-23 General Instrument Corporation Simultaneously transporting multiple MPEG-2 transport streams
WO2005096162A1 (ja) 2004-03-18 2005-10-13 Matsushita Electric Industrial Co., Ltd. アービトレーション方法及び装置
KR100748686B1 (ko) 2005-02-18 2007-08-13 삼성전자주식회사 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법
US7668538B2 (en) 2005-06-15 2010-02-23 Music Choice Systems and methods for facilitating the acquisition of content
KR101258987B1 (ko) * 2005-08-02 2013-04-26 삼성전자주식회사 방송 수신 장치 및 방송 수신 장치의 채널 전환 방법
EP1775950A1 (fr) * 2005-10-11 2007-04-18 Nagravision S.A. Procédé de traitement de données à accès conditionnel et décodeur pour la mise en oeuvre de ce procédé
JP5042524B2 (ja) * 2006-05-16 2012-10-03 Kddi株式会社 暗号化装置及び復号装置、コンテンツデータ生成方法
JP5698425B2 (ja) * 2006-05-16 2015-04-08 日本放送協会 復号装置
FR2902267A1 (fr) * 2006-06-09 2007-12-14 Thomson Licensing Sas Procedes de reception et d'emission de services de television numerique
CN101184205B (zh) 2006-11-14 2011-03-30 展讯通信(上海)有限公司 一种节目成分复用和识别方法
JP5176567B2 (ja) * 2008-01-30 2013-04-03 沖電気工業株式会社 誤り訂正符号生成装置、誤り訂正符号生成プログラム、データ提供装置及びデータ提供システム
EP2418792A1 (de) 2010-05-19 2012-02-15 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Digital Multimedia Broadcast (DMB) mit effizienter Übertragung der Daten zur Zugangsbeschränkung im Transportstrom-Packet mit der Programmzuordnungstabelle (Program Association Table = PAT)
US9197937B1 (en) 2012-04-26 2015-11-24 Music Choice Automatic on-demand navigation based on meta-data broadcast with media content
US10708335B2 (en) * 2012-11-16 2020-07-07 Time Warner Cable Enterprises Llc Situation-dependent dynamic bit rate encoding and distribution of content
US10219027B1 (en) 2014-10-24 2019-02-26 Music Choice System for providing music content to a user

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07202884A (ja) * 1993-12-28 1995-08-04 Sony Corp 送信装置および受信装置
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
JPH08289277A (ja) * 1995-04-10 1996-11-01 Sony Corp 映像データ送出装置
JPH08340541A (ja) * 1995-06-12 1996-12-24 Sony Corp デジタルデータの伝送方法、伝送装置、記録方法、記録装置、再生方法、再生装置、記録再生方法及び記録再生装置
JPH08340514A (ja) * 1995-06-12 1996-12-24 Sony Corp デジタルデータの記録方法、記録装置及び再生システム
JP3837753B2 (ja) * 1995-06-15 2006-10-25 ソニー株式会社 スクランブル放送システム、およびスクランブル方法、並びにスクランブル装置、およびデスクランブル装置
JP3682785B2 (ja) * 1995-07-27 2005-08-10 ソニー株式会社 デスクランブル装置および方法
JPH0946681A (ja) * 1995-07-28 1997-02-14 Sony Corp 有料放送受信装置
JP3680365B2 (ja) * 1995-08-07 2005-08-10 ソニー株式会社 デスクランブル装置、デスクランブル方法、スクランブル放送送受信装置、スクランブル放送方法
JPH09307542A (ja) * 1996-03-15 1997-11-28 Sony Corp データ伝送装置とその方法
JPH09312625A (ja) * 1996-03-19 1997-12-02 Sony Corp データ多重化装置およびその方法
JP3617177B2 (ja) * 1996-04-12 2005-02-02 ソニー株式会社 映像素材供給装置及び方法
JPH09284763A (ja) * 1996-04-12 1997-10-31 Sony Corp 映像素材供給装置及び方法
JPH09322161A (ja) * 1996-05-30 1997-12-12 Ekushingu:Kk デコード装置
JPH10126371A (ja) * 1996-08-30 1998-05-15 Sony Corp 多重化装置及び多重化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956273B1 (ko) * 2002-04-19 2010-05-10 이르데토 아인드호벤 비.브이. 조건부 액세스 시스템 및 장치
KR100888592B1 (ko) * 2003-02-03 2009-03-16 삼성전자주식회사 방송신호 수신 장치 및 방법
KR101241880B1 (ko) * 2006-03-24 2013-03-11 엘지전자 주식회사 방송 신호 스트림 복제 제한 장치 및 복제 제한 방법

Also Published As

Publication number Publication date
EP1022900A1 (en) 2000-07-26
KR100610523B1 (ko) 2006-08-09
WO2000003541A1 (fr) 2000-01-20

Similar Documents

Publication Publication Date Title
KR100610523B1 (ko) 프로그램 배포 시스템, 프로그램 전송 방법 및 조건부 액세스 시스템
US7072471B2 (en) Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7082197B2 (en) Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US7113523B1 (en) Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
US5937067A (en) Apparatus and method for local encryption control of a global transport data stream
US7155611B2 (en) Method of operating a conditional access system for broadcast applications
KR100952800B1 (ko) 부분적 암호화 및 pid 맵핑
KR100859503B1 (ko) 디지털 전송 시스템에서 부케 정보의 신호 전송 방법 및장치
US7062048B2 (en) Apparatus and method for single encryption with multiple authorization of distributed content data
KR100952820B1 (ko) 부분적 암호화 및 pid 맵핑
KR20080110940A (ko) 패킷의 부분적 복제 및 암호화와 암호 해독
KR100989015B1 (ko) 부분적으로 암호화된 정보의 암호해독 및 디코딩
JP2005514886A (ja) 時間分割部分暗号化
JP2005514886A5 (ko)
JPH0951520A (ja) デスクランブル装置、デスクランブル方法、スクランブル放送送受信装置、スクランブル放送方法
KR100924053B1 (ko) 크리티컬 패킷의 부분적 암호화
KR100978187B1 (ko) 시분할 부분 암호화

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110727

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20120723

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee