KR100458843B1 - 암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템 - Google Patents

암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템 Download PDF

Info

Publication number
KR100458843B1
KR100458843B1 KR10-1998-0709626A KR19980709626A KR100458843B1 KR 100458843 B1 KR100458843 B1 KR 100458843B1 KR 19980709626 A KR19980709626 A KR 19980709626A KR 100458843 B1 KR100458843 B1 KR 100458843B1
Authority
KR
South Korea
Prior art keywords
data
encrypted
program data
program
encryption
Prior art date
Application number
KR10-1998-0709626A
Other languages
English (en)
Other versions
KR20000016059A (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 톰슨 콘슈머 일렉트로닉스, 인코포레이티드
Priority to KR10-1998-0709626A priority Critical patent/KR100458843B1/ko
Publication of KR20000016059A publication Critical patent/KR20000016059A/ko
Application granted granted Critical
Publication of KR100458843B1 publication Critical patent/KR100458843B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2579HD-DVDs [high definition DVDs]; AODs [advanced optical discs]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/328Table of contents on a tape [TTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]

Abstract

적응 디코더(25)는 선택 가능한 암호화되거나 암호 해독된 형태로 프로그램 표시 데이터 스트림을 생성한다. 관련된 암호화 코드로 암호화된 입력 프로그램 데이터를 적응 처리하는 방법에 의하면 암호화되거나 암호 해독된 프로그램 출력을 제공한다(110, 115). 암호화 모드에서, 암호화된 프로그램 데이터(47) 및 관련된 암호화 코드는 출력 포트로 수출된다. 암호 해독 모드에서, 입력된 암호화 프로그램 데이터는 암호화 코드로부터 유도된 암호화 키를 사용하여 암호 해독되어, 암호 해독된 프로그램 데이터를 제공한다(50). 암호 해독된 프로그램 데이터는 출력 포트로 수출된다. 암호화되지 않은 프로그램 테이터는 선택 가능한 암호화되지 않은 모드에서 출력 포트(95)로 수출된다.

Description

암호화된 비디오 데이터 및 암호화되지 않은 비디오 데이터를 처리하는 적응 디코딩 시스템 {An Adaptive Decoding System for Processing Encrypted and Non-Encrypted Video Data}
본 발명은 디지털 신호 처리 분야에 관한 것으로, 특히 예를 들면 방송, 위성 또는 케이블 비디오 제재(製材, materila)의 소비자 수신기를 통해 저장시키기 위해 암호화된 패킷 데이터를 조건부 액세스 처리하고, 디코드하고, 포맷하는 방법에 관한 것이다.
비디오 처리 및 저장 장치에 있어서, 디지털 비디오 데이터는 통상적으로 공지된 표준 방식의 요구에 부합하도록 인코딩된다. 이처럼 광범위하게 채택된 표준 방식중 하나는 MPEG2(동화상 전문가 그룹) 화상 인코딩 표준 방식(이후 "MPEG 표준 방식"이라 칭함)이다. MPEG 표준 방식은 시스템 인코딩 섹션(ISO/IEC 13818-1, 1994. 6. 10)과 비디오 인코딩 섹션(ISO/IEC 13818-2, 1995. 1. 20)으로 구성된다(이후 각각 "MPEG 시스템 표준 방식" 과 "MPEG 비디오 표준 방식"이라 칭함). MPEG 표준 방식으로 인코딩된 비디오 데이터는 통상 많은 프로그램 채널(예컨대, 케이블 TV에서 채널 1 내지 채널 125와 유사함)의 데이터 콘텐츠를 포함하는 패킷화된 데이터 스트림의 형태이다. 에를 들어 HBO(등록 상표), Cinemax(등록 상표) 및 Showtime(등록 상표)와 같은 프리미엄 프로그램 채널의 데이터 내용은 암호화 및 스크램블링과 같은 방법으로 권한이 부여되지 않은 액세스로부터 보호받을 수 있게 된다. 이러한 방법은 단독으로 사용하거나, 반복하여 사용되거나 또는 다수의 보호 레벨을 제공하도록 조합하여 사용될 수 있다.
디코더에서, 프리미엄 채널을 액세스하는 것은 사용자 요금 부과(billing)를 관리하고 사용자 자격(user entilement)에 기초하여 프로그램 디스크램블링 및 암호 해독을 제어하는 조건부 액세스 시스템에 의해 제어된다. 조건부 액세스 시스템은 다양한 방법으로 액세스가 허가되었는지 여부를 판정한다. 예를 들면, 허가(authorization)는 소위 말하는 "스마트 카드" 상에 사전 프로그래밍된 사용자 자격 정보로부터 디코더 내에서 판정될 수 있다. 다른 방법으로는, 케이블 텔레비젼 유료 시청(pay-per-view) 서비스에서와 같이, 허가가 원격 위치에서 판정되고, 이 원격 위치로부터 전송되는 사용자 자격 정보를 사용하여 디코더 내에서 구현될 수 있다. 자격 정보에는 통상적으로 프로그램 디스크램블링 및 암호 해독에 사용되는 디스크램블링 및 암호 해독 키를 생성하는 데 사용되는 코드가 포함되지만, 대신에 키 자체를 포함할 수도 있다.
암호화된 프로그램 데이터와 암호화되지 않은 프로그램 데이터를 처리하고, 저장, 요금 부과 및 다른 응용을 위하여, 관련된 암호화 코드 및 스크램블링 코드를 관리하는 것은 많은 문제점을 나타낸다. 소비자가 나중에 보기 위해 암호되거나 또는 암호화되지 않은 형태로 프로그램을 저장하는 경우 암호화 코드 보안을 유지하는 데 한가지 문제점이 발생한다. 프로그램의 저장 또는 재생에 관한 요금 부과를 허용하고 암호화된 프로그램 데이터 및 암호화되지 않은 프로그램 데이터의 복제(copy) 방지 처리를 허용하는 시스템을 제공하는 데 있어서 또 다른 문제점이 발생한다.
본 발명에 따른 시스템은 이러한 문제점들을 다룬다. 이하에서 "암호화"라는 용어는 허가가 부여되지 않은 사용을 금지하는 기능이 사용되는 한도까지 스크램블링 기능을 포함한다.
서비스 공급자 및 비디오 수신기 사용자는 서비스 공급자에 의한 프로그램 방송이 암호화되거나 또는 암호화되지 않은 형태로 저장되는지를 판정하는 성능을 요구한다. 이러한 성능이 제공된다면, 서비스 공급자는 허용된 차후의 프로그램 사용에 기초하여 프리미엄 프로그램(예를 들면, HBO(등록 상표) 영화)의 저장에 대하여 사용자에게 요금을 청구하도록 구성할 수 있다. 예를 들면, 서비스 공급자는 이러한 시스템을 이용하여, 제한되지 않는 사용과 함께 암호 해독된 형태의 프로그램을 저장하는 것에 대하여 하나의 요금을 청구하고, 제한된 사용과 함께 암호화된 형태로 프로그램을 저장하는 것에 대하여 다른 요금을 청구할 수 있다. 이러한 제한된 사용은 저장된 암호화 프로그램이 재생되거나 복제되는 최대의 회수를 고정할 수 있다. 프로그램 저장에 대한 요금 부과는 허용되는 사용에 비례하도록 구성할 수 있다. 일단 프로그램이 암호화된 형태로 저장되면, 서비스 공급자는 암호화된 프로그램을 액세스하는 것과, 사전 저장된 스마트 카드 자격 정보를 통하여 암호화 프로그램을 복제하는 것을 제어할 수 있다.
사용자는 다양한 이유로 암호화된 프로그램을 저장하거나 암호화되지 않은 프로그램을 저장하는 것 중에 선택할 수 있는 기능을 요구한다. 예를 들면, 사용자는 사용 구조화 요금 부과 방법(usage structured billing)을 이용하길 원하고, 더 비싸고 제한없이 사용하고 암호 해독된 프로그램을 저장하는 것보다는 오히려, 사용이 제한되고, 비용이 절감되고, 암호화된 프로그램을 저장하는 것을 선택할 수 있다. 다른 방법으로서, 사용자는 아이들이 액세스하지 못하도록 성인용 프로그램 자료를 암호화시켜 저장하기를 바란다. 본 발명자들은 저장, 전송 또는 다른 응용에 대하여 프로그램을 나타내는 데이터 스트림을 암호화된 형태 또는 암호 해독된 형태로 선택가능하게 생성할 수 있는 적응 디코더(adaptive decoder)를 제공하는 것이 바람직하다는 것을 인식하였다.
본 발명의 원리에 따르면, 적응 디코더는 선택 가능한 암호화된 형태 또는 암호 해독된 형태로 프로그램 표시 데이터 스트림(program representative datastream)을 생성한다. 입력된 암호화된 프로그램 데이터를 관련 암호화 코드로 적응 처리하는 방법은, 암호화된 프로그램 출력 또는 암호 해독된 프로그램 출력 중 하나를 제공된다. 암호화 모드에서, 암호화 프로그램 데이터 및 관련 암호화 코드는 출력 포트로 수출(export)된다. 암호 해독 모드에서, 암호 해독된 프로그램 데이터를 제공하도록, 입력된 암호화 프로그램 데이터가 암호화 코드로부터 유도되는 암호와 키를 사용하여 암호 해독된다. 암호 해독된 프로그램 데이터는 출력 포트로 수출된다.
본 발명의 특징에서, 암호화되지 않은 프로그램 데이터는 선택 가능한 암호화되지 않은 모드로 출력 포트에 수출된다.
도 1은 본 발명에 따라, 사용자가 선택할 수 있는 암호화되거나 암호화되지 않은 형태의 프로그램 표시 데이터 스트림을 적응 생성하는 비디오 수신 시스템을 도시한 도면.
도 2 및 도 3은 선택 가능한 저장 매체에 저장하기에 적절한 프로그램 표시 데이터스트림을 제공하고 관련된 사용자 요금 부과를 실행하는 처리 흐름도를 도시한 도면.
도 4는 선택된 저장 장치로부터의 선택된 암호화되거나 암호화되지 않은 프로그램을 복원하고 프로그램 복원시 사용자에게 요금을 부과하는 처리에 관한 흐름도.
도 1은 본 발명에 따라, 사용자가 선택할 수 있는 암호화되거나 암호화되지 않은 형태로 프로그램 표시 데이터 스트림을 적응 생성하는 비디오 수신기 시스템을 도시한다. 개시된 시스템이 방송 프로그램을 나타내는 MPEG 방식으로 인코딩된 트랜스포트 스트림을 수신하는 MPEG 호환 가능 시스템에 관한 배경으로 기술되어 있지만, 이것은 예시에 불과할 뿐이다. 본 발명의 원리는 다른 형태의 인코딩된 데이터 스트림을 포함하여 MPEG과 호환 가능하지 않은 시스템을 포함하는 다른 형태의 시스템에도 적용될 수 있다. 더욱이, 개시된 시스템이 방송 프로그램을 처리하는 것으로 기술되어 있지만, 이것은 예시에 불과하다. 용어 '프로그램'은 예컨대, 전화 메시지, 컴퓨터 프로그램, 인터넷 데이터 또는 기타 다른 메세지(communication)와 같은 임의의 형태의 패킷화된 데이터를 나타내는 데 사용된다.
개괄적으로 말해서, 도 1의 비디오 수신기 시스템에 있어서, 비디오 데이터로 변조된 반송파는 안테나(10)를 통해 수신되어 유닛(15)에 의해 처리된다. 처리된 디지털 출력 신호는 복조기(20)에 의해 복조되어, 디코더(30)에 의해 디코딩된다. 디코더(30)로부터의 출력은 원격 제어 유닛(125)으로부터의 명령에 응답하여 트랜스포트 시스템(25)에 의해 처리된다. 이 트랜스포트 시스템(25)은 저장, 디코딩, 또는 다른 장치와의 통신을 위해 압축된 데이터 출력을 제공한다. 시스템(25)은 사용자 요금 부과를 관리하고 사용자 자격에 기초하여 프로그램 디스크램블링 및 암호 해독을 제어하는 조건부 액세스 시스템을 채용한다. 비디오 수신기 사용자는 원격 제어 유닛(125)을 사용하여 온스크린(on-screen) 메뉴 선택에 의해 시청하고자 하는 프로그램을 선택하고, 저장하고자 하는 프로그램을 선택하며, 사용되는 저장 매체의 형태를 선택하며, 프로그램을 암호화된 형태로 저장할 것인지 암호화 되지 않은 형태로 저장할 것인지 선택한다. 또한, 시스템(25)은 암호화되지 않은 프로그램 데이터 스트림으로부터 암호화 코드를 실시간으로 제거하거나 비(非)실시간으로 제거하게 할 수 있는 메카니즘을 제공한다.
비디오 및 오디오 디코더(85, 80)는 디스플레이용 출력을 제공하기 위해 각각 트랜스포트 시스템(25)으로부터 제공되는 압축된 데이터를 디코딩한다. 데이터 포트(75)는 트랜스포트 시스템(25)으로부터 예를 들어, 컴퓨터나 고선명 텔레비전(HDTV) 수상기와 같은 다른 장치로 압축 데이터를 송수신(통신)하기 위한 인터페이스를 제공한다. 저장 장치(90)는 트랜스포트 시스템(25)으로부터 제공된 압축 데이터를 저장 매체(105)에 저장한다. 또, 저장 장치(90)는 재생(playback) 모드에서 시스템(25)이 디코딩, 다른 장치와의 통신 또한 다른 저장 매체(간단히 나타내기 위해 도시 안됨)에의 저장을 위한 처리를 하기 위하여, 저장 매체(105)로부터 압축 데이터를 검색하는 것을 지지한다. 시스템(25)내의 조건부 액세스 시스템은 다른 장치와의 통신을 포함하여 프로그램 저장, 재생, 또는 다른 처리에 대한 요금 부과 및 암호 해독을 지지한다. 시스템(25)의 조건부 액세스 시스템은 국소 저장 소스로부터 재생되는 데이터가 아닌 방송 소스로부터 수신된 프로그램 데이터를 처리하기 위해, 상이한 암호 해독 및 요금 부과 메카니즘을 채용한다.
도 1에 있어서, 안테나(10)를 통해 수신되는 비디오 데이터로 변조된 반송파는 디지털 형태로 변환되어 입력 처리기(15)에 의해 처리된다. 이 입력 처리기(15)는 무선 주파수(RF) 튜너와, 중간 주파수(IF) 혼합기와, 추가 처리에 적절한 저주파 대역으로 입력 비디오 신호를 하향 변환(down-converting)하기 위한 증폭단을 포함한다. 입력 처리기(15)로부터의 디지털 출력 신호는 복조기(20)에 의해 복조되고, 디코더(30)에 의해 디코딩된다. 디코더(30)로부터의 출력은 트랜스포트 시스템(25)에 의해 다시 처리된다.
서비스 검출기(33)의 멀티플렉서(MUX)(37)에는 디코더(30)로부터의 출력이나, NRSS(National Renewable Standards Committee) 디스크램블링(descrambling) 유닛(40)에 의해 추가 처리된 디코더(30) 출력 중 하나가 선택기(35)를 통해 제공된다. 선택기(35)는 삽입가능한, NRSS 호환 가능한 디스크램블링 카드의 존재를 검출하고, 이 카드가 비디오 수신기 유닛(NRSS 제거 가능 조건부 액세스 시스템은 EIA 드래프트 문서 IS-679, 프로젝트 PN-3639 에 정의되어 있음)에 현재 삽입되었을 때만 유닛(40)의 출력을 MUX(37)에 제공한다. 그 외의 경우, 선택기(35)는 디코더(30)로부터 제공되는 출력을 MUX(37)에 제공한다. 삽입가능한 카드로 인하여, 유닛(40)은 예컨대 부가적인 프리미엄 프로그램 채널을 디스크램블링할 수 있으며, 부가적인 프로그램 서비스를 시청자에게 제공할 수 있다. 주지할 것은 바람직한 실시예에서, NRSS 유닛(40)과 스마트 카드 유닛(130)(스마트 카드 유닛에 대해서는 후에 설명됨)은 NRSS 카드 또는 스마트 카드 중 하나만이 한 번에 삽입될 수 있도록, 동일한 시스템(25)의 인터페이스를 공유한다는 것이다. 다른 대안으로, 인터페이스는 직렬 또는 병렬 동작이 가능하도록 분리될 수도 있다.
선택기(35)로부터 MUX(37)에 제공되는 데이터는 MPEG 시스템 표준 섹션 2.4에서 정의된 바와 같이 MPEG 호환 가능한 패킷화된 트랜스포트 데이터 스트림의 형태이며, 하나 이상의 프로그램 채널의 데이터 내용을 포함한다. 특정 프로그램 채널을 포함하는 각 패킷은 패킷 식별자(PID)에 의해 식별된다. 트랜스포트 스트림은 트랜스포트 인코딩된 데이터의 전송 및 디코딩을 지지하는 보조 데이터를 포함한다. 이 보조 데이터는 패킷화된 데이터 스트림을 포함하는 모든 프로그램 채널의 내용을 복원하기 위해, PID를 식별하고 각각의 데이터 패킷을 조합하는데 사용하기 위한 프로그램 특유의 정보(Program Specific Information, PSI)를 포함한다. 비디오 수신기 사용자는 원격 제어 유닛(125)을 이용하여 온스크린 메뉴 선택을 통해 시청하고자 하는 프로그램, 저장하고자 하는 프로그램, 저장용 매체를 선택하고, 암호화된 형태로 저장할 것인지 아니면 암호화되지 않은 형태로 저장할 것인지를 선택한다. 시스템 제어기(115)는 인터페이스(120)를 통해, 선택 정보를 이용하여, 저장 및 디스플레이를 위한 프로그램을 선택하고, 선택된 저장 장치 및 저장 매체에 적절한 PSI를 생성하도록 시스템(25)을 구성한다. 제어기(115)는 시스템(25)의 구성 소자(45, 47, 50, 55, 65 및 95)를 구성하는데, 이것은 데이터 버스를 통해 이들 구성 소자내의 제어 레지스터 값을 설정하고 제어 신호 C에 의해 MUX(37, 110)를 통해 신호 경로를 선택함으로써 달성된다. 또한, 제어기(115)는 저장되거나 또는 다른 방법으로 처리될 암호화되지 않은 프로그램 데이터 스트림으로부터 암호화 코드를 실시간 및 비실시간으로 제거할 수 있도록 프로그래밍될 수 있다. 이 특징은 시스템(25) 밖으로 암호화 키를 수출하지 못하게 하여 제3자에 의한 이용 가능성을 제한함으로써 암호화 보안을 강화한다.
제어 신호 C에 응답하여, MUX(37)는 유닛(35)으로부터의 트랜스포트 스트림이나, 재생 모드에서 저장 인터페이스(95)를 통해 저장 장치(90)로부터 검색된 데이터 스트림 중 하나를 선택한다. 정상적인 비(非)재생 동작에 있어서, 사용자가 시청하기 위해 선택한 프로그램을 포함하는 데이터 패킷은 선택 유닛(45)에 의해 PID로 식별된다. 선택된 프로그램 패킷의 헤더 데이터에 있는 암호화 표시자에 패킷이 암호화되어 있다는 것을 표시한다면, 유닛(45)은 이 패킷들을 암호 해독 유닛(50)에 제공한다. 그렇지 않다면, 유닛(45)은 암호화되지 않은 패킷들을 트랜스포트 디코더(55)에 제공할 것이다. 이와 마찬가지로, 사용자가 저장을 위해 선택한 프로그램을 포함하는 데이터 패킷은 선택 유닛(47)에 의해 PID로 식별된다. 유닛(47)은 패킷 헤더 암호화 표시자 정보에 기초하여, 암호화된 패킷을 암호 해독 유닛(50)에 제공하거나 또는 암호화되지 않은 패킷을 MUX(110)에 제공한다.
유닛(45, 47)은 MUX(37)에 의해 제공되는 입력 패킷의 PID를, 제어기(115)에 의해 유닛(45, 47) 내의 제어 레지스터에 사전 로딩(pre-load)된 PID 값과 매칭시키는 PID 검출 필터를 사용한다. 사전 로딩된 PID는 저장될 데이터 패킷과, 비디오 이미지를 제공하는데 사용하기 위해 디코팅될 데이터 패킷을 식별하기 위해 유닛(47, 45)에 사용된다. 사전 로딩된 PID는 유닛(45, 47)의 룩업 테이블(look-up table)에 저장된다. PID 룩업 테이블은 각각의 사전 로딩된 PID와 암호화 키를 관련시키는 유닛(45, 47)의 암호화 키 테이블에 메모리 맵핑(memory mapping)된다. 메모리 맵핑된 PID와 암호화 키 룩업 테이블에 의해, 유닛(45, 47)은 사전 로딩된 PID 를 포함하는 암호화된 패킷을 이들의 암호 해독을 허용하는 관련된 암호화 키와 매칭시킬 수 있다. 암호화되지 않은 패킷은 관련된 암호화 키를 갖지 않는다. 유닛(45, 47)은 암호 해독기(50)에 식별된 패킷과 이들의 관련된 암호화 키 모두를 제공한다. 또 유닛(45)내의 PID 룩업 테이블은 사전 로딩된 PID를 포함하는 패킷을 패킷 버퍼(60) 내의 대응하는 목적지 버퍼 위치와 매칭시키는 목적지 테이블에 메모리 맵핑된다. 시청 또는 저장을 위해 사용자가 선택한 프로그램과 관련된 암호화 키 및 목적지 버퍼 위치 어드레스는 제어기(115)에 의해 할당된 PID와 함께 유닛(45, 47)에 사전 로딩된다.
암호화 키는 입력 데이터 스트림으로부터 추출된 암호화 코드로부터 ISO 7816-3 호환 가능한 스마트 카드 시스템(130)에 의해 생성된다. 암호화 키의 생성은 삽입 가능한 스마트 카드 자체에 사전 저장된 코드화된 정보로부터 결정되는 고객의 자격을 의한다(1989, 국제 표준화 기구 서류 ISO 7816-3은 스마트 카드 시스템을 위한 인터페이스와 신호 구조를 정의함). 입력 데이터 스트림 내의 명령어를 통해 삽입 가능한 스마트 카드 상의 코드화된 정보를 갱신함으로써 고객 자격 정보를 주기적으로 변경할 수 있다.
바람직하게는 삽입 가능한 ISO 7816-3 호환 가능한 스마트 카드가 세 개의 알고리즘 함수를 포함한다. 알고리즘 함수 중 2개의 알고리즘(방송 암호화 알고리즘으로 칭해짐)은 시스템(25)의 비재생 모드에서 입력 데이터 스트림으로부터 추출되는 방송 암호화 코드로부터 암호화 키를 생성하는데 할당된다. 방송 암호화 알고리즘은 스마트 카드(130) 자체내의 방송 암호화 코드를 암호 해독함으로써 암호화 키를 생성한다. 제3의 알고리즘 함수는 시스템의 저장 및 재생 모드에서, 유도된 방송 암호화 키를 암호화 및 암호 해독하는 시스템(25)에 적용된다. 재생 알고리즘은 삽입 가능한 스마트 카드 자체 내의 방송 암호화 키를 암호화 및 암호 해독한다. 그러나, 다른 시스템에서 재생 알고리즘 함수는 예를 들면 디코더에서와 같이 다른 곳에 존재한다.
스마트 카드(130)에서 사용되는 3개의 암호화 알고리즘은 여러 형태 중 한 형태이고 재생 알고리즘은 방송 알고리즘과 같은 형태일 필요는 없다. 전형적인 목적을 위해서는, 방송 및 재생 알고리즘은, 상무성(Department of Commerce) 국가 기술 정보 서비스(National Technical Information Service)에 의해 제공된 연방 정보 표준(Federal Information Standard:FIPS) 발행 46, 74, 81에서 규정된 데이터 암호화 표준 방식(DES: Data Encrtption Standard) 알고리즘 함수일 것으로 간주된다. 그러나, 이러한 알고리즘 함수는 RSA(Rivest-Shamir-Adlemann)형 함수와 같은 다른 형태일 수도 있다.
스마트 카드상에 있는 2개의 방송 암호화 알고리즘 각각은 입력 데이터 스트림의 제어 정보에 의해 활성화될 수 있다. 2개의 방송 암호화 알고리즘은 서비스 공급자가 모든 고객에 대하여 방송 암호화 알고리즘을 동시에 변화시킬 수 있도록 스마트 카드내에 포함된다. 서비스 공급자는 새로운 알고리즘을 사용할 날짜 보다 미리 안전하게 모든 고객에게 새로운 알고리즘을 가진 새로운 스마트 카드를 발행함으로써 방송 암호화 알고리즘을 변경시킨다. 변경 날짜에, 서비스 공급자는 방송 데이터 스트림내의 제어 정보를 갱신하여 스마트 카드가 새로운 알고리즘으로 변경되도록 명령하고, 동시에, 새로운 알고리즘으로 프로그램을 암호화하고, 동시에 방송 데이터 스트림에 갱신된 암호화 코드를 삽입한다. 암호화 시스템 보안을 보호하여 암호 해독(code-breaking) 및 허가가 부여되지 않은 프로그램 액세스를 방지하도록 하기 위하여, 알고리즘의 변경이 규칙적으로 또는 원하는 만큼 자주 서비스 공급자에 의해 구현될 수 있다.
본 발명자는 암호 키의 변경을 포함한 이러한 암호화 시스템 사용에 암호화된 형태로의 프로그램 저장에 대한 문제점이 나타난다는 것을 인식하였다. 구체적으로 말하면, 관련 방송 암호화 코드와 함께 암호화된 형태로 저장된 프로그램은 일단 스마트 카드를 변경시키고 스마트 카드 알고리즘을 갱신하면 암호가 해독될 수 없었다. 이것은 스마트 카드의 새로운 알고리즘이 초기 버전의 스마트 카드와 관련된 암호화 코드와 호환 가능하지 않기 때문이다. 결국, 새로운 스마트 카드 알고리즘은 저장된 암호화 코드로부터 요구되는 방송 암호화 키를 유도할 수 없게 된다. 이것은 일단 시스템 스마트 카드가 변경되면 저장된 암호화 프로그램이 암호 해독될 수 없고 사용 불가능하다는 것을 나타낸다.
이러한 문제점을 해결하기 위해서, 제3 알고리즘, 다른 알고리즘 및 재생 알고리즘을 스마트 카드에 내장하는 것이 바람직하다. 재생 알고리즘으로 칭해지는 제3 알고리즘 함수는 방송 암호화 키를 암호화하여 시스템의 저장 및 재생 모드에서 재생 암호화 코드를 형성하도록 시스템(25)의 특정 동작 및 모드에서 사용된다.
일단 재생 알고리즘에 의해 암호화되면, 재생 암호화 코드는 암호화된 프로그램 내용과 함께 저장 매체에 안전하게 저장될 수 있다. 암호화된 프로그램 재생시에, 재생 알고리즘 함수는 저장된 암호화 크드를 암호 해독하여 원래의 방송 암호화 키를 유도함으로써 암호화된 프로그램 내용을 암호 해독할 수 있게 한다. 이후 설명되듯이 암호화된 프로그램 내용 패킷을 암호 해독하기 위해 유닛(50)은 유도된 방송 암호화 키를 사용한다. 재생 알고리즘은 2개의 방송 알고리즘 만큼 자주 변경되지는 않고, 연속 버전의 스마트 카드에서 변경되지 않은 상태로 남겨질 수 있다. 이로써 스마트 카드 및 방송 암호화 알고리즘의 변경에도 불구하고 저장된 암호화된 프로그램이 암호 해독되어 사용될 수 있게 된다.
유닛(45, 47)에 의해 유닛(50)으로 제공된 패킷은 데이터 암호화 표준(Data Encryption Standard: DES)에 따라 암호화된다. 도 1에 도시된 시스템(25)의 암호 해독 유닛(50)은 DES 알고리즘 함수를 사용하여 이 암호화된 패킷들을 암호 해독한다. 시스템(25)의 유닛(50)의 다른 실시예에 있어서는 전술된 RSA 함수와 같은 다른 알고리즘 함수를 다른 대안으로 사용할 수 있다. 유닛(50)은 공지된 기술을 사용하여, 유닛(45, 47)을 통해 스마트 카드(130)에 의해 제공되는 대응하는 암호화 키를 사용하여 암호화된 패킷을 암호 해독한다. 유닛(50)으로부터 해독된 패킷들과, 디스플레이용 프로그램을 갖는 유닛(45)으로부터의 암호화되지 않은 패킷들은 디코더(55)에 제공된다. 유닛(50)으로부터 제공되는 암호 해독된 패킷과 저장용 프로그램을 갖는 유닛(47)으로부터 제공되는 암호화되지 않은 패킷은 MUX(110)에 제공된다.
유닛(60)은 제어기(115)에 의해 액세스 가능한 패킷 버퍼들을 포함한다. 이들 버퍼중 하나는 제어기(115)에 사용하도록 정해진 데이터를 유지하는 데 할당되고, 나머지 3개의 버퍼들은 응용 장치(75, 80, 85)에 사용하도록 정해진 패킷을 유지하는 데 할당된다. 추가적인 버퍼, 즉 이후에 기술될 대체용 버퍼는 암호화 코드 데이터 대신에 사용되는 데이터를 유지하는 데 사용된다. 제어기(115)와 응용 인터페이스(70)에 의해 유닛(60)내의 버퍼에 저장되는 패킷을 액세스하는 것을 버퍼 제어 유닛(65)에 의해 제어된다. 유닛(45)은 디코딩을 위해 유닛(45)에 의해 식별되는 각 패킷에 대한 유닛(65)에 목적지 플래그를 제공한다. 이 플래그는 식별된 패킷에 대한 개별 유닛(60)의 목적 위치를 표시하고, 제어 유닛(65)에 의해 내부 메모리 테이블에 저장된다. 제어 유닛(65)은 선입선출(First-In-First-Out: FIFO) 원리에 기초하여 버퍼(60) 내에 저장된 패킷과 관련된 일련의 판독 및 기록 포인터를 결정한다. 목적지 플래그와 관련된 기록 포인터로 인해, 유닛(60)의 적절한 목적지 버퍼 내의 다음의 빈(empty) 위치에 유닛(45 또는 50)으로부터의 식별된 패킷을 순차적으로 저장할 수 있다. 판독 포인터에 의해서는, 제어기(115)와 응용 인터페이스(70)에 의해 적절한 유닛(60)의 목적지 버퍼로부터 패킷을 순차적인 판독할 수 있다.
유닛(45, 50)에 의해 디코더(55)에 제공되는 암호화되지 않은 패킷과 암호 해독된 패킷은 MPEG 시스템 표준 방식의 섹션 2.4.3.2 에서 정의된 바와 같이 트랜스포트 헤더를 포함한다. 디코더(55)는 암호화되지 않은 패킷과 암호 해독된 패킷이 (MPEG 시스템 표준 방식에 대해) 적응 필드(adaptation field)를 포함하는지 여부를 트랜스포트 헤더로부터 판정한다. 적응 필드는 예컨대, 내용 패킷의 동기화 및 디코딩을 허용하는 프로그램 클록 기준(Program Clock Reference: PCR)을 포함하는 타이밍 정보를 포함한다. 타이밍 정보 패킷, 즉 적응 필드를 포함한 패킷을 검출할 경우, 디코더(55)는 인터럽트 메커니즘내에 시스템 인터럽트를 설정함으로써 패킷이 수신되었다는 신호를 제어기(115)에 보낸다. 게다가, 디코더(55)는 유닛(65)내의 타이밍 패킷 목적지 플래그를 변경하고, 이 패킷을 유닛(60)에 제공한다. 유닛(65)의 목적지 플래그를 변경함으로써, 유닛(65)은 디코더(55)에 의해 제공된 타이밍 정보 패킷을, 응용 버퍼 위치 대신에 제어기(115)에 사용될 데이터를 유지하는 데 할당된 유닛(60)의 버퍼 위치로 보낸다.
디코더(55)에 의해 설정된 시스템 인터럽트를 수신하는 경우, 제어기(115)는 타이밍 정보와 PCR 값을 판독하여 이것을 내부 메모리에 저장한다. 연속적인 타이밍 정보 패킷의 PCR 값은 시스템(25)의 마스터 클록(27 MHz)을 조절하기 위해 제어기(115)에 의해 사용된다. 제어기(115)에 의해 생성된, 연속적인 타이밍 패킷을 수신하는 시간 간격에 대한 추PCR에 기초한 추정값과 마스터 클록에 기초한 추정값의 차는 시스템(25)의 마스터 클록(도면을 간단히 하기 위해 도시되지 않음)을 조정하는 데 사용된다. 이것은 제어기(115)에 의해 달성되는데, 제어기는 유도된 시간 추정값의 차를 사용하여, 마스터 클록을 생성하는 데 사용된 전압 제어식 발진기의 입력 제어 전압을 조정한다. 제어기(115)는 내부 메모리에 타이밍 정보를 저장한 후 시스템 인터럽트를 재설정한다.
오디오, 비디오, 캡션 및 기타 다른 정보를 갖는 프로그램 내용을 포함하는 유닛(45, 50)으로부터 디코더(55)에 의해 수신된 패킷은, 유닛(65)에 의해 디코더(55)로부터 패킷 버퍼(60)내의 지정된 응용 장치 버퍼로 보내진다. 응용 제어 유닛(70)은 버퍼(60)내의 지정된 버퍼로부터 오디오, 비디오, 캡션 및 다른 데이터를 순차적으로 검색하여, 이 데이터를 대응하는 응용 장치(75, 80, 85)에 제공한다. 응용 장치들은 오디오 및 비디오 디코더(80, 85)와, 고속 데이터 포트(75)를 구비한다. 데이터 포트(75)는 예컨대, 컴퓨터 프로그램과 같은 고속 데이터를 컴퓨터에 제공하는데 사용될 수 있다. 또 포트(75)는 예컨대, HDTV 디코더에 데이터를 출력하는 데 사용될 수도 있다.
PSI 정보를 포함하는 패킷은 유닛(60)내의 제어기(115) 버퍼에 대하여 지정된 유닛(45)에 의해 인식된다. PSI 패킷은 프로그램 내용을 포함하는 패킷에 대하여 설명한 것과 마찬가지로, 유닛(45, 50, 55)을 통해 유닛(65)에 의해 이 버퍼로 보내진다. 제어기(115)는 유닛(60)으로부터 PSI를 판독하고 이것을 내부 메모리에 저장한다.
제어기(115)는 도 2 및 도 3에 도시된 프로세스를 채용하여, 매체에 저장하기에 적절한 프로그램 데이터 스트림을 생성하고 저장에 대하여 사용자에게 요금을 부과한다. 또한, 제어기(115)는 도 2 및 도 3에 도시된 프로세스를 채용하여, 매체(105)에 저장하기 위한 재생 암호화 코드를 생성하고, 저장될 프로그램 데이터 스트림으로부터 원래의 방송 암호화 코드를 제거한다. 도 2 및 도 3의 패킷 식별 및 방향 처리는 제어기(115), 제어 유닛(65) 및 PID, 유닛(45)의 목적지 및 암호화 키 룩업 케이블에 의해 전술된 방법으로 제어된다.
CPSI(Condensed Program specific Information)는 저장될 특정 프로그램에 관련된 정보를 포함하는 반면, PSI는 시스템(25)에 입력될 데이터 스트림의 모든 프로그램과 관련된 정보를 포함한다. 결론적으로, CPSI는 PSI에 비해 적은 저장 용량을 차지하고 적은 오버헤드가 부과된다. 게다가, 오버헤드 제한이 고정된 경우, CPSI는 PSI 에 비해 더 빈번하게 데이터 스트림에서 반복될 수 있으며, 프로그램 내용의 복원 지연 시간을 감소시키기 위해 유도되어 적용될 수 있다.
MPEG 시스템 표준 섹션 2.4.4. 에서 정의된 것과 같은 PSI는 4개의 암호화되지 않은 구성 성분이나 정보 테이블을 구비한다. 이들은 프로그램 관련 테이블(Program Association Table: PAT), 프로그램 맵 테이블(PMT), 네트워크 정보 테이블(NIT) 및 조건부 액세스 테이블(CAT)이다. 각 테이블은 특정 PID에 의해 인식되는 데이터 패킷으로부터 형성된다. PMT는 프로그램을 구성하는 각 패킷화된 데이터 스트림을 식별하는 PID 레이블를 정의한다. 이들 각 스트림은 MPEG 표준에서 기본 스트림으로 칭해진다. 이 기본 스트림들은 다양한 언어 및 캡션 데이터 스트림에 관한 비디오나 오디오와 같은 데이터 스트림을 포함한다. PAT는 프로그램 번호를, PMT를 포함하는 패킷의 식별 및 조합을 허용하는 PID와 관련시킨다. NIT는 임의로 선택 가능한 테이블이며, 예컨대 위성 전송 채널 주파수와 트랜스폰더 채널과 같은 물리적인 네트워크 파라미터를 정의하기 위해 구성되어 사용될 수 있다. CAT는 사용자 자격에 의존하는 프로그램에 대한 액세스를 제어하는 암호화 코드와 같은 조건부 액세스 정보를 포함한다.
도 2의 단계 205에 있어서, 제어기(115)(도 1)는 단계 200에서의 개시에 이어 시스템 전원 공급시 초기화 절차를 수행한다. 단계 205에 있어서, 제어기(115)는 유닛(45)(도 1)의 PID 검출 필터에 PAT 및 CAT 테이블에 대한 MPEG 규정 PID 값(각각 PID 16진수값 0000 및 16진수값 0001)을 로딩한다. 게다가, 제어기(115)는 유닛(45)의 목적지 테이블을 갱신함으로써 유닛(60)의 제어기 버퍼에 PAT 및 CAT 패킷을 사전 할당(pre-assign)한다. 유닛(45)에 의해 검출된 PAT 및 CAT 패킷은 유닛(65)의 제어하에서 디코더(55)를 통해 유닛(60)내의 제어기 버퍼에 제공된다. 단계 205에 있어서, 제어 유닛(65)은 PSI 인터럽트를 통해 PSI 패킷이 유닛(60)에 존재한다는 것을 제어기(115)에 알린다. PSI 인터럽트의 수신에 따라 제어기(115)는 지정된 유닛(60)의 버퍼에 저장된 패킷을 반복적으로 액세스하여 완전한 CAT 및 PAT 데이터를 내부 메모리에 저장한다. 제어기(115)는 PAT로부터 PMT 및 NIT 패킷을 식별하는 PID를 판정한 후, 이 과정을 반복하여, 내부 메모리에 완전한 PMT 및 NIT 데이터를 저장한다. 제어기(115)는 계속해서 버퍼(60)를 액세스하여 수신기에 전원이 공급되는 동안 PSI 인터럽트의 수신에 따라 내부 메모리에 있는 PSI 패킷을 포착(capture)한다. 그 결과, 제어기(115)는 자신의 내부 메모리에서, 시스템(25)에 입력되는 트랜스포트 데이터 스트림의 완전한 PSI를 구비하는 PAT, PMT, NIT 및 CAT 데이터를 포착한다.
도 2의 단계 210에 있어서, 사용자가 저장하길 원하는 프로그램뿐만 아니라 암호화된 형태로 저장될 프로그램과, 저장을 위해 사용될 매체 및 장치를 식별하는, 사용자가 생성한 데이터(SP, SM, SE)가 제어기(115)(도 1)에 입력된다. 사용자는 다양한 이유로 암호화되지 않은 저장보다는 오히려 암호화된 저장을 선택한다. 예를 들면, 서비스 공급자는 사용자가 할 수 있는 차후의 복제의 회수를 한정하는 방법으로서, 암호화된 형태로 저장하는 것을 더 저렴하게 할 수 있다. 이것은 사전 저장된 스마트 카드 자격 정보를 통해 암호화된 프로그램을 액세스하는 것을 제어함으로써 달성된다. 사용자는 제어기(115)에 입력되는 선택 데이터를 인터페이스(120)를 통해 원격 제어 유닛(125)을 이용하여 온스크린 메뉴 선택을 통해 입력한다. 단계 215에서, 입력 선택 데이터(SP)에 응답하여 제어기(115)는 저장된 PSI로부터 저장용으로 선택된 프로그램에 대한 PID를 유도한다. 유닛(47)의 검출 필터에는 제어기(115)에 의해 저장될 프로그램의 PID가 로딩된다. 이것으로 유닛(47)이 저장용으로 선택된 프로그램을 포함한 패킷을 식별할 수 있게 된다. 단계 215에서, 제어기(115)는 유닛(60)의 대체용 버퍼에 널(null) 데이터를 사전 로딩한다. 널 데이터는 저장용으로 선택된 암호화된 형태의 프로그램 방송에서 발생하는 방송 암호화 코드로 대체될 것이다.
도 2의 단계 215에 있어서, 유닛(47)(도 1)은 MUX(110)에 암호화되지 않은 패킷을 제공하고, 관련 방송 암호화 키와 함께 암호화된 패킷(패킷 헤더 데이터의 암호화 표시자에 의해 식별)을 해독 유닛(50)에 제공한다. 방송 암호화 키는 전술된 방식에 따라 선택된 프로그램(SP)에 대한 CAT로부터 얻어진 암호화 코드를 해독함으로써 스마트 카드(130)(도 1)에 의해 생성된 이후에, 도 2의 단계 215에서 제어기(115)에 의해 유닛(47)에 제공된다, 그러나 선택 데이터 SE가 암호화된 저장을 필요로 한다면, 유닛(47)은 저장될 암호화된 패킷을 MUX(110)로 보낸다. 결론적으로 도 2의 단계 215에 있어서, 저장될 프로그램(SP)을 포함하는 패킷은 선택 데이터 SE에 응답하여 암호화된 상태 또는 해독된 형태로 MUX(110)에 제공된다.
단계 217~227에서, 제어기(115)는 시스템(25)에 입력된 트랜지스포트 데이터 스트림으로부터 포획된 완전한 프로그램 특유의 정보(PSI)로부터, 저장용으로 선택된 프로그램에 대한 압축된 프로그램 특유의 정보(CPSI)를 형성한다. 만일 SE 데이터가 암호화된 저장을 요구하는 경우, 제어기(115)는 단계 217 다음의 단계 227을 실행한다. 단계 227에서, 제어기(115)는 스마트 카드 시스템(130)의 재생 알고리즘 함수를 적용하여, 단계 215에서 이전에 생성(방송 암호화 코드의 암호 해독에 의해 생성됨)된 방송 암호화 키를 암호화함으로써, 저장될 프로그램에 대한 재생 암호화 코드를 형성한다. CPSI는 재생 암호화 코드를 포함하고 시스템(25)에 입력되는 트랜스포트 데이터 스트림의 PSI에 원래 있는 방송 암호화 코드를 배제하도록 형성된다. 결국, 저장을 위해 지정된 프로그램에 대해 형성된 데이터 스트림은 관련 방송 암호화 코드를 배제한다. 이로 인하여, 암호화 키가 제3 자에 의해 액세스할 수 있는 제거 가능한 저장 매체에 저장될 때 발생하는 암호화 키 보안상의 문제가 방지된다. 일단 키가 저장 매체에 액세스 가능하면, 보안은 이용 가능한 리버스 엔지니어링 및 암호 해독 기술의 술책(sophistication)에 달려있다. 이러한 시스템에서, 방송 암호화 키가 유도되는 방송 암호화 코드를 저장하지 않고 암호화된 형태로 방송 암호화 키를 저장함으로써 다수의 보안 레벨을 제공한다. 또한 저장된 프로그램에 대해 키를 추론하여도, 방송 암호화 알고리즘이 규칙적으로 변경되는 현행의 방송 프로그램을 액세스할 수 없을 것이다.
SE 입력 데이터가 암호화된 저장을 요구하지 않을 경우, 제어기(115)는 판정 단계 217 다음의 단계 225를 실행한다. 단계 225에서, 제어기(115)는 시스템(25)에 입력되는 트랜스포트 데이터 스트림의 PSI로부터, 저장을 위해 지정된 프로그램의 CPSI를 형성하고, CPSI로부터 암호화 코드를 제외시킨다.
기술된 암호화 시스템은 일례일 뿐이다. 다른 암호화 메카니즘은 방송 및 재생 암호화 코드를 PSI가 아닌 데이터 스트림 정보 영역에 전달한다. 또한, 다른 암호화 메카니즘은 PSI의 생성시 포함되는 것과는 다른 간격으로 암호화 코드의 생성 및 입력을 요구한다. 방송 암호화 코드가 PSI에 전달되지 않을 경우, 저장될 프로그램에 대해 형성된 데이터 스트림에서 그것들을 제외하기 위해 이런 코드 대신에 다른 데이터로 대체할 필요가 있다. CPSI가 발생하는 간격이 아닌 간격으로 방송 암호화 코드를 널 데이터로 대체하는 것에 대해서는 이후에 논의된다. 구체적으로 말하면, 실시간으로, 즉 코드가 팻킷 헤더로 전달되는 패킷 주파수로, 방송 암호화 코드를 대체하는 것은 단계 237~249와 관련하여 논의된다.
단계 230에서, 제어기(115)는 MPEG 신택스(MPEG 시스템 표준 방식에 관한 단락 2.4.4.3~2.4.4.11)에 따라 CPSI 데이터를 섹션들로 형성한다. 단계 230에서, 제어기(115)는 CPSI 데이터 섹션에 헤더 데이터를 부가하여, 저장될 데이터 스트림에 삽입하기 위해 CPSI 데이터를 포맷화하여 패킷화한다. 제어기(115)는 내부 메모리에 저장된 PSI 헤더 데이터로부터 MPEG 시스템 표준 방식의 섹션 2.4.3.2, 2.4.3.3에 따라 헤더를 생성한다. 그러나, CPSI 섹션 데이터는 대응하는 PSI 섹션 데이터와 길이가 상이하다. 그러므로, "연속 카운트(continuity count)" 표시자 및 "페이로드 유닛 개시 표시자(payload unit start indicator)"를 포함하는 새로운 헤더 파라미터는 제어기(115)에 의해 생성되어 헤더 데이터내의 각 표시자 필드에 삽입된다. 제어기(115)에 의해 생성되는 새로운 연속 카운트 표시자는, 예를 들면 대응하는 PSI 구성 요소의 PID 당 상이한 패킷수 대신 CPSI 구성 요소의 PDI 당 패킷수를 반영한다. 제어기(115)에 의해 생성된 새로운 페이로드 유닛 개시 표시자는, 예를 들면 대응하는 PSI 섹션의 제1 바이트 대신 CPSI 섹션의 제1 바이트를 식별한다.
도 2의 흐름도의 단계 230는 도 3의 단계 237로 이어진다. 제어기(115)는 단계 237에서 방송 암호화 코드가 CPSI가 아닌 데이터 스트림 필드로 전달되었는지를 판정한다. 구체적으로 말하면, 제어기는 방송 암호화 코드가 패킷 헤더(MPEG 시스템 표준 방식의 신택스 섹션 2.4.3.4에 대하여)의 MPEG 호환가능한 적응 필드에 전달되었는지를 판정한다. 그렇게 하면, 제거기(115)는 패킷 헤더의 방송 암호화 코드 대신에 대체되는 널 데이터를 갖는 프로그램 내용 패킷과 CPSI 패킷을 포함하는 합성 데이터 스트림을 생성하는 단계 249를 실행한다. 암호화 코드 대체는 패킷 주파수에서 패킷별로(packet by packet) 실행된다.
단계 249에서, 단계 215(도 2) 동안에 유닛(60)의 대체용 버퍼로 사전 로딩된 대체 패킷 데이터는 제어기(115)의 제어하에서 유닛(60)에서 멀티플렉서(110)(도 1)로 공급된다. 또한, 단계 249에서는 단계 230에서 형성된 패킷화된 MPEG 호환 가능한 섹션 데이터 형태의 CPSI는 제어기(115)에 의해 멀티플렉서(110)(도 1)에 제공된다. 또한, 단계 215와 관련하여 전술된 유닛(47, 50)으로부터의 프로그램 내용 패킷 데이터 스트림은 멀티플렉서(110)에 제공된다. 단계 249에서, 제어기(115)는 경로 선택 신호 C를 이용하여 프로그램 내용 데이터 스트림, CPSI 데이터 스트림과 MUX(110)에 입력되는 대체 데이터 사이에서 멀티플렉싱하여, MUX(110)에 의해 저장 인터페이스(95)로 출력되는 합성 데이터 스트림을 생성한다. 합성 데이터 스트림은 패킷 헤더의 방송 암호화 코드 대신에 대체되는 널 데이터를 가진 프로그램 내용 패킷 및 CPSI 패킷을 포함한다.
제어기(115)는 제어 유닛(65)(도 1)으로부터의 대체 타이밍 신호 및 PSI 인터럽트 신호에 응답하여, 저장될 프로그램 데이터 스트림에 널 데이터 및 CPSI 패킷의 삽입하는 것을 동기화한다. PSI 인터럽트는 단계 205와 관련하여 논의된 바와 같이 버퍼(60)에 PSI 패킷의 존재를 나타낸다. 대체 타이밍 신호는 패킷 헤더의 방송 암호화 코드의 발생과 널 데이터의 삽입을 동기화한다. 이러한 방법으로, CPSI의 패킷화된 섹션은 PSI 위치에 삽입되어 PSI의 대응 섹션을 대신하고, 방송 암호화 코드는 제거된다. 암호화되지 않은 CPSI 데이터는 암호화되거나 또는 암호화되지 않은 저장용 프로그램을 생성하기 위해 MUX(110)에 입력되는 암호화되거나 또는 암호화되지 않은 프로그램 내용 데이터 스트림에 삽입 가능하다.
단계 249에서 실행되는 방송 암호화 코드 대체는 MPEG 패킷 헤더 적응 필드가 아닌 데이터 스트림 필드로 전달되는 코드에 적용될 수 있다는 것을 유의하여야 한다. 또한, 암호화 코드는 적응 필드가 발생하지 않는 간격과 다른 간격으로 대체될 수 있다. 예를 들면, 널 데이터는 다양한 MPEG 호환 가능한 그리고, MPEG 호환 가능하지 않은 데이터 스트림 위치에서 발생하는 암호화 코드 대신에 대체되는데, 예로는 독점적인 디지탈 위성 시스템(DSS : Digital Satillite system (등록상표))내 보조 패킷, 패킷화된 기본 스트림(PES: Packetized Elementary Stream) 필드(MPEG 시스템 표준 신택스 섹션 2.5.3.7~2.5.4.2에 대하여), 디지탈 저장 매체 제어 명령(DSMCC: Digital Strorage Media Control Commands) 필드(MPEG 시스템 표준 신택스 부록 A에 대하여), 표준화된 CEBus 제어 프로토콜(Home Automation Standard(CEBus), EIA/IS-60, 1989 12월)과 같은 다른 데이터 전송 프로토콜에 따라 포맷화된 non-MPEG 패킷이 있다.
코드 자체가 유일하게 매우 중요한 데이터 아이템인 암호화 코드가 패킷으로 전달된다면, 코드 전송 패킷은 출력 데이터 스트림으로부터 완전히 생략될 수 있다. 이것은 PID 선택 유닛(45, 47)(도 1)을 통해 패킷을 삭제하거나 또는 단계 249에서 실행되는 멀티플렉싱 동작 동안에 패킷을 생략함으로써 완성될 수 있다. 그러나, 출력 데이터 스트림 신택스내의 데이터 전송률 및 데이터 구조 민감 파라미터는 이러한 패킷 데이터 생략의 결과로서 발생하는 데이터 전송률의 변경을 반영하도록 갱신될 필요가 있다.
단계 249에서, 기억 인터페이스(95)(도 1)는 프로그램을 수신하여 MUX(110)로부터의 널 데이터 및 CPSI를 포함한 패킷화된 데이터 스트림(CPSI 스트림으로 칭해짐)의 형태로 기억시킨다. 단계 249 다음의 단계 254(도 3)에서, 시스템(25)내의 조건부 액세스 시스템은 프로그램 저장(또는 다른 장치와의 통신)에 대해 사용자에게 요금을 부과한다. 사용자는 삽입 가능한 스마트 카드 자체내의 요금 부과 정보를 기억시킴으로써 사용자에게 요금 부과한다. 요금 부과 정보의 기억은 재생 알고리즘의 적용에 의해 개시화되지만, 요금 부과가 알고리즘 적용과 동시에 발생하지 않아도 된다. 요금 부과 정보는 사용자가 암호화된 방송 프로그램을 저장하였다는 것을 나타낸다. 이러한 요금 부과 정보는 서비스 공급자에 의해 전화 링크를 통해 후에 액세스되고 종래의 요금 부과 처리를 통해 사용자에게 요금 부과하는데 사용된다. 다른 요금 부과 메카니즘도 동일하게 사용할 수 있다. 예를 들면, 크레디트(credit)는 스마트 카드내의 사전 기억된 크레디트 합계로부터 공제될 수 있다. 또한, 스마트 카드는 요구되는 저장 형태에 기초하여 요금 부과 양을 변화시킬 수 있는데, 예를 들면 저장된 프로그램의 한 번의 복제 또는 재생만을 허용하는 저장에 대한 요금이 있을 수 있고, 프로그램을 제한 없이 복제하거나 재생하는 것을 허용하는 저장에 대하여 또다른 요금이 있을 수 있다. 요구되는 저장 형태로 CPSI 스트림 자체내의 지정된 복제 보호 데이터 또는 CPSI 스트림 외부의 패킷 데이터 내에서 인코딩된다. 제어기(115)에 의해 사용되는 도 2 및 도 3에 도시된 처리, 즉 저장 매체(105)에 저장하기에 적절한 프로그램 데이터 스트림(CPSI 스트림)을 생성하고 저장에 대해 사용자에게 요금 부과를 하는 처리는 단계 258에서 종결한다.
단계 237에서 제어기(115)가 어떠한 방송 암호화 코드도 패킷 헤더의 MPEG 호환 가능한 적응 필드에 전달되지 않는다고 판정하는 경우, 제어기(115)는 단계 240~245를 실행한다. 이 단계들은, 저장될 프로그램을 나타내는 MUX(110)에 입력되는 데이터 스트림에 방송 암호화 코드가 없기 때문에 널 데이터를 삽입할 필요가 없는 경우를 제외하고는 단계 249~258와 유사하다. 그렇지 않은 경우, 제어기(115)는 기억 인터페이스(95)를 통해 저장용 CPSI 스트림을 생성하기 위해 단계 240을 실행하고, 단계 249 및 254와 관련하여 기술되는 유사한 형태로의 저장에 대한 요금 부과를 하기 위해 단계 244를 실행한다. 도 2 및 3의 처리의 분기는 단계 245에서 종료한다. 그러나, CPSI 스트림이 인터페이스(95)를 통해 저장되지 않고 인터페이스(70)를 통한 통신 또는 디스플레이와 같은 단계 240 및 249에서의 다른 응용에 선택적으로 제공될 수 있다는 것에 주목해야 한다.
MUX(110)로부터의 CPSI 스트림은 데이터의 비트율 변화 및 갭을 감소시키기 위해 인터페이스(95)에 의해 버퍼링된다. 버퍼링된 데이터는 매체(105)상에 저장하기에 적절하도록 저장 장치(90)에 의해 처리된다. 제어기(115)는 표준화된 CEBus 제어 프로토콜(예를 들면, Home Automation Standard(CEBus), EIA/IS-60, 1989년 12월)을 사용하여 I/O 포트(100)를 통해 명령에 의해 저장 장치(90)(도 1)의 동작을 제어한다. 저장 장치(90)는 선형 저장 매체 DVHS(등록 상표)형 장치이고 저장 매체(105)는 예를 들면, 비디오 테이프와 같은 선형 순차 액세스형 매체이다. 저장 장치(90)는 채널 코딩, 인터리빙 및 리드 솔로몬 인코딩과 같은 공지된 에러 인코딩 방법을 사용하여 인터페이스(95)로부터 버퍼링된 데이터 스트림을 인코딩하여, 테이프 매체(105)에 CPSI를 포함한 최종 인코딩된 데이터 스트림을 기억한다.
저장 유닛(90)이 도 1의 일실시예에서 선형 기억 매체에 데이터를 저장하는DVHS(등록 상표) 장치로서 기술되고 있지만, 임의의 타입의 저장 장치일 수 있다. 예를 들면, 유닛(90)은 RAM 또는 비선형 매체에 데이터를 저장하는 고체 상태 또는 비선형 형태의 장치일 수 있다. 비선형 타입의 매체는 예를 들면 CDROM 또는 DVD를 포함한 디스크 매체와 같은, 비순차 액세스를 수용하는 매체이다. 만일 유닛(90) 및 매체(105)가 비선형 또는 고체 상태의 저장 시스템인 경우, 유닛(90)은 CPSI 스트림으로부터 CPSI 데이터를 분리하고 매체의 지정된 디렉토리 섹션에 CPSI 데이터를 저장한다. 이것은 CPSI의 반복 저장을 피하고 요구되는 저장 용량을 감소시키는 장점이 있다. 다른 방안으로서, 유닛(90)은 형성되어 유닛(90)에 입력되는 대로 CPSI 데이터를 저장하고, 하나 이상의 반복을 포함할 수 있다.
또한, 도 1의 시스템(25)은 선형, 비선형 및 고체 상태 타입을 포함하는 다양한 타입의 다수개의 저장 장치의 동작을 지원하는 다수개의 저장/검색 경로를 포함시킬 수 있다. 도 1에 도시된 단일의 저장/검색 경로는 기술된 바와 같이, 다수개의 유닛(47, 90, 95, 105 및 110)을 구비한다. 병렬 저장 기능을 생성하기 위해 이들 구성 요소들을 복제함으로써, 시스템(25)은 다수개의 저장 경로를 포함하도록 용이하게 확장된다. 특정 저장 장치를 위해 지정된 저장 경로와 프로그램은, 인터페이스(120)를 통해 제어기(115)에 입력되는, 사용자가 생성한 데이터(SP, SM)에 의해 선택되는데, 전술한 바와 같이, 원격 제어 유닛(125)을 이용하여 온스크린 메뉴 선택에 따라 선택된다.
도 1의 시스템(25)은 도 4의 과정을 이용하여 재생 모드에서 저장 장치(90)와 매체(105)로부터 프로그램을 복원한다. 복원된 데이터 스트림은 시스템(25)에 의해 처리되어, 예컨대 디스플레이나 출력을 위해 응용 장치(75, 80, 85)에 제공된다. 다른 방법으로서, 프로그램 데이터 스트림은 다른 병렬 저장 장치(간단히 나타내기 위해 도 1에 도시 안 함)에 저장될 수 있다.
단계 500의 개시에 이어 도 4의 단계 505에 있어서, 사용자가 생성한 데이터(SR, SM)는 복구될 프로그램, 및 프로그램이 복원될 저장 장치(SM)을 식벽하는 도 1의 시스템(35)의 제어기(115)에 입력된다. 사용자 선택 데이터는 원격 조절 유닛(125)을 이용하여 온스크린 메뉴 선택에 의해 인터페이스(120)를 통해 제어기(115)에 입력된다. 사용자가 도 1의 저장 장치(90)로부터 복원될 프로그램을 선택하는 것은 예시적으로 나타낸 것이다.
단계 510에 있어서, 제어기(115)는 이전에 기술된 바와 같이, 표준화 CEBus 제어 프로토콜을 이용하여 I/O 포트(100)를 통해 제어 명령을 제공함으로써 매체(105)로부터 장치(90)에 의해 선택된 프로그램 데이터 스트림의 복원을 개시한다. 저장 장치(90)는 저장을 위해 저장 장치(90)에 최초에 제공된 대응 데이터를 복원하기 위해, 매체(105)로부터 검색된 에러 인코딩 데이터를 디코딩한다. 저장 장치(90)는 DVHS(등록 상표) 선형 타입의 저장 유닛이거나 고체 상태 RAM, 비선형 타입의 DVD 또는 CDROM 타입의 장치와 같은 다른 타입의 저장 유닛일 수 있다. 복원된 디코딩 데이터 스트림은 단계 510에서 저장 장치(90)에 의해 인터페이스(95)로 전송된다. 이 데이터 전송은 표준화 CEBus 를 통해 제어기(115)에 의해 제어되고 동기화된다. 인터페이스(95)는 유닛(90)으로부터 수신된 데이터를 버퍼링하여, 데이터 패킷간의 시간 간격을 조절함으로써, MPEG와 호환 가능하고 MPEG 비트율 제한에 따르는 버퍼링된 데이터 출력을 제공하게 된다.
단계 515에 있어서, 제어기(115)는 인터페이스(95)로부터의 버퍼링된 출력(재생 데이터 스트림)을 경로 선택 신호 C를 이용하여 MUX(37)를 통해 PID 선택 유닛(45, 47)에 제공한다. 단계 515에서, 제어기(115)는 단계 244 및 254(도 3)에서 지정된 복제 보호 데이터로 인코딩된 단일의 복제 또는 무제한의 복제 제한이, 복원된 프로그램에 의해 초과되고 있는지 여부를 판정한다. 복원이 허용된다는 가정하에, 단계 515(도 4)에서 제어기(115)는 선택된 프로그램(SR)에 대한 CAT로부터 단계 227(도 2)에서 생성된 재생 암호화 코드를 복원하고, 그 복원된 코드를 단계 215(도 2)와 관련하여 전술되는 방법으로 스마트 카드 유닛(130)에 제공한다. 단계 515(도 4)에서, 제어기(115)의 제어하에서 스마트 카드(130)는 재생 알고리즘을 적용하여 재생 암호화 코드로부터 원래의 방송 암호화 키를 생성한다. 방송 암호화 키는 단계 515에서 제어기(115)에 의해 유닛(45, 47)의 PID, 목적지 및 암호화 키 룩업 테이블에 제공된다.
단계 520에 있어서, 유닛(45, 47)과 시스템(25)의 나머지 유닛들은 MUX(110)를 통한 저장이나 인터페이스(70)를 통한 응용 장치의 사용을 위해 재생 데이터 스트림을 처리한다. 유닛(95)로부터의 재생 데이터 스트림과 선택기(35)로부터 전송된 데이터 스트림 모두는 MUX(37)를 통한 선택에 이어, 유사한 방식으로 시스템(25)에서 처리된다. 이들 데이터 스트림 모두는 암호화 키 생성 단계 및 CPSI 단계를 제외하고 전송된 데이터 스트림에 대해 전술된 방식으로 처리된다. 재생 모드에서, 스마트 카드(130)는 방송 키 생성 알고리즘 대신에 재생 암호화 키 생성 알고리즘을 적용한다. 스마트 카드(130)는 재생 알고리즘 함수를 적용하여, 도 2의 단계 227에서 재생 인코딩 알고리즘으로 이전에 인코딩된 암호화 코드를 암호 해독한다. 이로써, 유닛(130)은 재생하기 위해 선택된 프로그램 SR에 대한 원래의 방송 암호화 키를 유도한다. DES 암호 해독 유닛(50)은 방송 암호화 키를 사용하여 전송된 데이터 스트림에 대하여 이전에 기술된 방식으로 다음 단계(520)(도 4)에서 암호화된 프로그램 내용 패킷을 암호 해독한다. 그러나, MUX(37)를 통해 선택된 재생 데이터 스트림은 이미 CPSI를 포함한다. 그러므로, 재생 모드에서, 단계 520에서의 제어기(115)는 도 2 및 도 3에 관련하여 기술된 CPSI 정보에 관련된 단계를 실행하지 않는다.
도 4에 도시된 예시적인 재생 모드에 있어서, 단계 520의 시스템(25)은 재생데이터 스트림을 트랜스포트 디코딩하여, 디스플레이를 위해 응용 디코더(80, 85)에 따라, 재생 데이터 스트림에 포함된 최근의 완전한 CPSI 데이터를 적용하여, 선택된 프로그램 SR을 나타내는 트랜스포트 디코딩된 데이터 스트림을 제공한다.
PID 필터(45, 47), 암호 해독기(50), 디코더(55), 버퍼(60) 및 제어 유닛(65)을 이용하여, 도 1과 관련하여 전술된 것과 유사한 방식으로 재생 데이터 스트림을 트랜스포트 디코딩하는 것에 CPSI를 이용한다. 트랜스포트 디코딩된 데이터 스트림은 CPSI를 제외하고는 인터페이스(70)를 통해 MPEG 디코딩 및 이미지 재생을 위한 응용 디코더(80, 85)에 제공된다. 다른 모드에 있어서, 시스템(25)은 예컨대 고속 데이터 포트(75)와 같은 다른 응용 장치에 CPSI를 통합한 재생 데이터 스트림을 제공한다. 그런 다음, CPSI는 필요에 따라 이들 응용 장치나 후속하는 장치들에 의해 재생 데이터 스트림을 트랜스포트 디코딩하는데 사용할 수 있다. 재생 데이터 스트림이 예컨대, 저장 장치(90)가 아닌 다른 제2 저장 장치에 저장되는 경우, MUX(110)는 CPSI를 포함하여 데이터 스트림을 제2 기억 인터페이스를 통해 제2 저장 장치에 제공한다. 또한, 제2 저장 장치와 인터페이스(도 1에는 모두 도시 안됨)는 각각 유닛(90, 95)의 동작과 기능과 유사하다. 인터페이스(70)로부터의 데이터는 응용 디코더(80, 85)에 의해 MPEG 디코딩되어, 각각 유닛(80, 85)내의 오디오 및 화상 재생 장치를 통해 제공한다.
단계 527(도 4)에서, 시스템(25)내의 조건부 액세스 시스템은 프로그램 재생에 대하여 사용자에게 요금을 부과한다. 재생 알고리즘 적용시에 요금 부과 정보의 저장에 의해 삽입 가능한 스마트 카드 자체내에서 사용자에게 요금을 부과한다. 이 요금 부과는 사용자가 암호화된 방송 프로그램을 복원하였다는 것을 나타낸다. 이러한 요금 부과 정보는 서비스 공급자에 의해 전화 링크를 통해 후에 액세스되어 종래의 요금 부과 처리를 통해 사용자에게 요금을 부과하는 데 사용된다. 다른 요금 부과 메카니즘이 전술된 바와 같이 동일하게 사용될 수 있다. 도 4의 재생 처리는 단계 530에서 종료한다.
도 1의 구조가 독점적인 것은 아니다. 동일한 목적을 달성하기 위해 본 발명의 원리에 따라 다른 구조도 유도될 수 있다. 게다가, 도 1에 도시된 구성 요소들의 기능과 도 2 내지 도 4의 처리 단계들은 마이크로프로세서의 프로그래밍된 명령어내에서 전체 또는 일부 구현될 수 있다. 더욱이, 본 발명의 원리는 MPEG PSI 테이블로 전달되는 전술한 임의의 정보를 전달하기 위하여, MPEG와 호환 가능하거나 MPEG와 호환 가능하지 않은 전자 프로그램 가이드를 사용하는 임의의 시스템에 적용된다. 본 발명은 MPEG 호환 가능한 PSI 테이블에 전달되는 PSI 또는 프로그램 가이드에 한정되지 않는다.

Claims (12)

  1. 비디오 디코더에서, 암호화되거나 암호 해독된 프로그램 출력을 제공하기 위해, 관련된 암호화 코드를 가지고 입력된 암호화 프로그램 데이터를 적응(adaptively) 처리하는 방법에 있어서,
    (a) 암호화 모드(encrypted mode)에서,
    관련된 암호화 코드 및 암호화된 프로그램 데이터를 출력 포트로 수출(export)하는 단계와;
    (b) 암호 해독 모드(decrypted mode)에서,
    암호 해독된 프로그램 데이터를 제공하기 위해, 상기 암호화 코드로부터 유도된 암호화 키를 사용하여 상기 입력된 암호화 프로그램 데이터를 암호 해독하는 단계와;
    상기 암호 해독된 프로그램 데이터를 출력 포트로 수출하는 단계를 포함하는 암호화된 프로그램 데이터 적응 처리 방법.
  2. 제1항에 있어서, 상기 출력 포트로 수출되는 데이터를 저장 매체에 저장하는 단계를 더 포함하는 암호화된 프로그램 데이터 적응 처리 방법.
  3. 비디오 디코더에서, 암호화된 출력 프로그램 데이터, 암호화되지 않은 출력 프로그램 데이터 또는 암호 해독된 출력 프로그램 데이터를 제공하기 위해, 관련된 암호화 코드를 가진 암호화된 프로그램 데이터와, 암호화되지 않은 프로그램 데이터를 포함하는 다수의 프로그램을 적응 처리하는 방법에 있어서,
    (a) 암호화되지 않은 모드에서,
    암호화되지 않은 프로그램 데이터를 출력 포트로 수출하는 단계와;
    (b) 암호화 모드에서,
    암호화된 프로그램 데이터를 출력 포트로 수출하는 단계와;
    (c) 암호 해독 모드에서,
    암호 해독된 프로그램 데이터를 제공하기 위해, 상기 암호화 코드로부터 유도된 암호화 키를 사용하여 상기 암호화된 프로그램 데이터를 암호 해독하는 단계와;
    상기 암호 해독된 프로그램 데이터를 출력 포트로 수출하는 단계를 포함하는 프로그램 적응 처리 방법.
  4. 제1항 또는 제3항에 있어서, 상기 암호화 키를 제공하기 위하여, 상기 암호화 코드를 암호 해독하는 단계를 더 포함하는 적응 처리 방법.
  5. 제4항에 있어서, 상기 디코더는 삽입 가능한 전자 장치를 수용하는 호스트 장치이며, 상기 암호화 코드를 암호 해독하는 단계는, 상기 암호화 코드를 암호 해독할 때 상기 전자 장치에 포함된 암호 해독 알고리즘을 사용하는 단계를 포함하는 적응 처리 방법.
  6. 제4항에 있어서, 상기 암호화된 프로그램 데이터를 암호 해독할 때와 상기 암호화 코드를 암호 해독할 때에 사용되는 암호 해독 알고리즘이 상이한 적응 처리 방법.
  7. 제1항 또는 제3항에 있어서, 상기 암호화된 프로그램 데이터를 포함하는 데이터 스트림의 선택 데이터에 응답하여 상기 모드 중 하나를 선택하는 단계를 더 포함하는 적응 처리 방법.
  8. 제1항 또는 제3항에 있어서, 상기 디코더의 사용자에 의해 제공되는 선택 데이터에 응답하여 상기 모드 중 하나를 선택하는 단계를 더 포함하는 적응 처리 방법.
  9. 제7항에 있어서, 상기 모드 선택 단계에서, 상기 선택 데이터는 서비스 공급자에 의해 제공되는 적응 처리 방법.
  10. 제1항 또는 제3항에 있어서, 상기 암호화 모드에서, 데이터를, 상기 암호화된 프로그램 데이터의 차후 암호 해독을 금지함으로써 상기 암호화된 프로그램의 차후 사용을 제한하기에 적절한 상기 암호화된 프로그램 데이터를 포함하는 데이터 스트림으로 형성하는 단계를 더 포함하는 적응 처리 방법.
  11. 제8항에 있어서, 상기 인고팅 단계는, 상기 암호화된 프로그램 데이터의 차후 암호 해독을 금지함으로써 상기 암호화된 프로그램 데이터로부터 유도될 수 있는 차후의 복제(capy)의 회수를 제한하기에 적절한 상기 데이터 스트림에 데이터를 포함시키는 단계를 포함하는 적응 처리 방법.
  12. 제3항에 있어서, 상기 출력 포트로 수출되는 데이터를 저장 매체에 저장시키는 단계를 더 포함하는 적응 처리 방법.
KR10-1998-0709626A 1996-05-31 1997-05-22 암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템 KR100458843B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0709626A KR100458843B1 (ko) 1996-05-31 1997-05-22 암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US60/018,722 1996-05-31
US08/761,517 1996-11-27
US8/761,517 1996-11-27
KR10-1998-0709626A KR100458843B1 (ko) 1996-05-31 1997-05-22 암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템

Publications (2)

Publication Number Publication Date
KR20000016059A KR20000016059A (ko) 2000-03-25
KR100458843B1 true KR100458843B1 (ko) 2005-06-08

Family

ID=43664915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0709626A KR100458843B1 (ko) 1996-05-31 1997-05-22 암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템

Country Status (1)

Country Link
KR (1) KR100458843B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143658A1 (en) * 2000-04-03 2001-10-10 Canal+ Technologies Société Anonyme Authentication of data transmitted in a digital transmission system
CN1524362A (zh) * 2001-07-06 2004-08-25 �ʼҷ����ֵ������޹�˾ 加密帧的下一个包中的流加密信息冗余
US7611182B2 (en) 2005-02-25 2009-11-03 Semes Co., Ltd. Wafer transfer apparatus

Also Published As

Publication number Publication date
KR20000016059A (ko) 2000-03-25

Similar Documents

Publication Publication Date Title
JP4338786B2 (ja) 暗号化プログラム・データを適応的に処理する方法
US5878135A (en) Decoding system for processing encrypted broadcast, cable or satellite video data
US6016348A (en) Decoding system and data format for processing and storing encrypted broadcast, cable or satellite video data
EP1176826B1 (en) Super encrypted storage and retrieval of media programs in a hard-paired receiver and storage device
JP4861258B2 (ja) 後に購入し観察するためメディアプログラムを暗号化する方法および装置
JP2000512095A (ja) プログラムを特定する情報を含んでいるディジタル・データを復号化する方法
KR100458843B1 (ko) 암호화된비디오데이터및암호화되지않은비디오데이터를처리하는적응디코딩시스템

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121019

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131018

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 13

EXPY Expiration of term