KR100762957B1 - AV(Audio Visual) 스트림을 디스크램블하는방법 및 장치 - Google Patents

AV(Audio Visual) 스트림을 디스크램블하는방법 및 장치 Download PDF

Info

Publication number
KR100762957B1
KR100762957B1 KR1020050079447A KR20050079447A KR100762957B1 KR 100762957 B1 KR100762957 B1 KR 100762957B1 KR 1020050079447 A KR1020050079447 A KR 1020050079447A KR 20050079447 A KR20050079447 A KR 20050079447A KR 100762957 B1 KR100762957 B1 KR 100762957B1
Authority
KR
South Korea
Prior art keywords
information
descramble
packet
stream
packets
Prior art date
Application number
KR1020050079447A
Other languages
English (en)
Other versions
KR20070011029A (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 KR20070011029A publication Critical patent/KR20070011029A/ko
Application granted granted Critical
Publication of KR100762957B1 publication Critical patent/KR100762957B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/0042Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the copy protection scheme being related to a specific access protection standard
    • G11B20/00427Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the copy protection scheme being related to a specific access protection standard advanced access content system [AACS]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/0042Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the copy protection scheme being related to a specific access protection standard
    • G11B20/00449Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the copy protection scheme being related to a specific access protection standard content scrambling system [CSS]
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical 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/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 스크램블(scramble)로 인하여 변형된 AV(Audio Visual) 스트림을 디스크램블(descramble)하는 방법 및 장치에 관한 것으로, 본 발명에 따른 제 1 디스크램블 방법은 스크램블로 인하여 변형된 스트림의 제 1 변형 부분을 교정하기 위한 제 1 디스크램블 정보로부터 스트림의 제 2 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하고, 제 1 디스크램블 정보에 기초하여 제 1 변형 부분을 디스크램블함으로서 AV 스트림으로부터 난독 교정 테이블을 포함하는 PMT 패킷의 정확한 위치를 신속하게 찾을 수 있다.

Description

AV(Audio Visual) 스트림을 디스크램블하는 방법 및 장치{Method and apparatus for descrambling AV stream}
도 1은 종래의 제 1 디스크램블 방식에 따른 제 1 플레이어의 구성도이다.
도 2는 종래의 제 1 디스크램블 방식에 따른 교정 테이블의 구조도이다.
도 3은 종래의 제 1 디스크램블 방식에 따른 교정 엔트리의 구조도이다.
도 4는 종래의 제 1 디스크램블 방식에 따른 디스크램블 동작을 도시한 도면이다.
도 5는 종래의 제 1 디스크램블 방식의 문제점을 도시한 도면이다.
도 6은 종래의 제 2 디스크램블 방식에 따른 제 2 플레이어의 구성도이다.
도 7은 종래의 제 2 디스크램블 방식에 따른 교정 테이블의 구조도이다.
도 8은 종래의 제 2 디스크램블 방식에 따른 FUT 블록의 구조도이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 제 1 플레이어의 구성도이다.
도 10은 본 발명의 바람직한 일 실시예에 따른 교정 엔트리의 구조도이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 디스크램블 동작을 도시한 도면이다.
도 12는 본 발명의 바람직한 일 실시예에 따른 제 2 플레이어의 구성도이다.
도 13은 본 발명의 바람직한 일 실시예에 따른 FUT 블록의 구조도이다.
도 14-15는 본 발명의 바람직한 일 실시예에 따른 제 1 컨텐트 복원 방법의 흐름도이다.
도 16-17은 본 발명의 바람직한 일 실시예에 따른 제 2 컨텐트 복원 방법의 흐름도이다.
본 발명은 디스크에 저장된 AV(Audio Visual) 스트림으로부터 AV 컨텐트를 복원하는 방법 및 장치에 관한 것으로, 특히 스크램블(scramble)로 인하여 변형된 AV 스트림을 디스크램블(descramble)하는 방법 및 장치에 관한 것이다.
차세대 광디스크 보호 시스템인 AACS(Advanced Access Content System) 규격은 브로드캐스트 암호화 방식(Broadcast Encryption Scheme)을 적용하여 해커의 공격 등으로 인하여 폐기(revoke)된 디바이스 키 셋을 가진 플레이어는 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트를 복호화할 수 없도록 하고 있다. 브로드캐스트 암호화 방식이란 다수의 플레이어들 각각에 서로 다른 디바이스 키 셋을 할당하고, 공중(public)에 배포되는 디스크에 폐기된 디바이스 키 셋으로 암호화된 중간 키 값을 저장하지 않음으로서 이 디바이스 키 셋을 가진 플레이어는 이 중간 키 값을 획득할 수 없게 하고, 그 결과 컨텐츠 복호화 키를 획득할 수 없도록 하는 방식을 말한다.
그런데, 디바이스 키 셋의 개수는 한정되어 있고, 이러한 디바이스 키 셋이 할당되어야 할 플레이어의 개수는 계속해서 증가되기 때문에 동일한 디바이스 키 셋을 여러 대의 플레이어들에 할당할 경우가 발생하게 된다. 이 플레이어들 중 어느 하나의 플레이어가 해킹되어, 이 플레이어의 디바이스 키 셋이 노출된 경우, 동일한 디바이스 키 셋을 가진 다른 플레이어들도 폐기되어야 하는 문제점이 있었다.
이러한 문제점을 해결하기 위하여, 스크램블 기반 갱신 방식(scramble-based renewability scheme)이 등장하였다. 이 방식은 디스크에 컨텐트를 저장할 때, 컨텐트의 중간 중간에 스크램블(scramble)을 걸고, AACS 규격에 따라 암호화한다. 따라서, 플레이어가 원래의 컨텐트를 복원하기 위해서는 AACS 규격에 따라 디스크에 저장된 스트림을 해독한 후에 컨텐트의 중간 중간에 걸린 스크램블도 풀어야 한다.
이 방식에 따르면, 스크램블을 푸는 역할을 하는 컨텐트 코드(content code)가 디스크에 저장된다. 이 컨텐트 코드는 컨텐트 재생 전에 미리 실행되면서, 컨텐트 재생에 문제가 있는지를 판단한다. 예를 들면, 플레이어가 디바이스 키 셋을 노출한 플레이어인지를 판단하거나, 컨텐트의 불법 복제물이 돌고 있는지 등을 판단한다. 그 결과, 컨텐트 재생에 문제가 없는 것으로 판단된 경우에만 디스크램블(descramble)을 수행하고, 문제가 있는 것으로 판단된 경우에는 디스크램블을 수행하지 않는다. 바꾸어 말하면, 플레이어는 한 번 판매되면, 다시 이것을 갱신하는 것이 어렵지만, 디스크의 경우 디스크마다 상기된 바와 같은 컨텐트 코드를 삽입함으로서 컨텐트 레벨의 갱신을 가능하게 할 수 있다. 이와 같은 디스크램블을 위한 종래의 방식들로는 대표적으로 다음의 두 가지를 들 수 있다.
도 1은 종래의 제 1 디스크램블 방식에 따른 제 1 플레이어의 구성도이다.
도 1을 참조하면, 종래의 제 1 디스크램블에 따른 제 1 플레이어(2)는 트랙 버퍼(track buffer)(21), 해독부(decrypt)(22), 버퍼(23), 디먹스(demux)(24), 복호화부(decoder)(25), AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(virtual machine)(26), 플레이어 정보 데이터베이스(27), SP 레지스터(28), 연산부(29), 및 겹쳐쓰기부(30)로 구성된다.
트랙 버퍼(21)는 디스크(1)로부터 AV 스트림을 독출하고, 해독부(22)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(21)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.
해독부(22)는 AACS 규격에 따라 트랙 버퍼(21)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(21)에 저장된 AV 스트림을 해독한다.
버퍼(23)는 복호화부(25)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(22)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(23)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG(Moving Picture Experts Group)-2 규격에 따라 부호화된 형태의 AV 스트림이다.
디먹스(24)는 MPEG-2 규격에 따라 버퍼(23)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(23)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 특히, 디먹스(24)는 버퍼(23)에 저장된 AV 스트림으로부터 난독 교정 테이블(obfuscated Fix-up Table)을 포함하는 PMT(Program Map Table) 패킷을 검색하고, 이 PMT 패킷으로부터 난독 교정 테이블을 추출한다.
교정 테이블은 AV 스트림의 중간 중간에 걸린 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 디스크램블 정보가 기록된 테이블이다. 난독 교정 테이블은 교정 테이블의 값들이 용이하게 파악될 수 없도록 이 교정 테이블의 값들과 비밀 파라미터 값들을 배타적 논리합한 값이다.
도 2는 종래의 제 1 디스크램블 방식에 따른 교정 테이블의 구조도이다.
도 2를 참조하면, "SP_ID" 필드는 교정 테이블의 배타적 논리합에 사용된 비밀 파라미터 값의 아이디를 나타낸다. "FixUpEntry"는 스크램블로 인한 변형을 교정하기 위한 실질적인 정보를 포함하는 교정 엔트리를 나타낸다.
도 3은 종래의 제 1 디스크램블 방식에 따른 교정 엔트리의 구조도이다.
도 3을 참조하면, "type_indicator" 필드는 교정 테이블의 처리 타입을 나타낸다. 즉, 이 필드의 값 "00b"는 스크램블로 인한 변형이 없음을 나타내고, "01b"는 스크램블로 인한 변형이 있음을 나타내고, "10b"는 포렌식임을 나타낸다. "FM_ID_bit_position" 필드는 포렌식 마킹(forensic marking)을 위한 포렌식 마크 아이의 비트 위치를 나타낸다. "relative_SPN(Source Packet Number)_1" 필드는 PMT 패킷으로부터 첫 번째 변형 패킷까지의 상대적 패킷 넘버를 나타낸다. "relative_SPN_2" 필드는 PMT 패킷으로부터 두 번째 변형 패킷까지의 상대적 패킷 넘버를 나타낸다. "byte_position_1" 필드는 첫 번째 패킷 내 변형 데이터의 시작 바이트 위치를 나타낸다. "byte_position_2" 필드는 두 번째 변형 패킷 내 변형 데이터의 시작 바이트 위치를 나타낸다. "overwrite_value_1"은 겹쳐쓰기될 첫 번째 값을 나타낸다. "overwrite_value_2" 필드는 겹쳐쓰기될 두 번째 값을 나타낸다.
복호화부(25)는 MPEG-2 규격에 따라 디먹스(24)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.
AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)은 디스크(1)로부터 이 디스크(1)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기(secure) 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크(forensic mark) 아이디를 생성한다. 보다 상세하게 설명하면, AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)은 플레이어 정보 데이터베이스(27)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(2)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하지 않는다.
포렌식 마크는 비밀 파라미터와 같이 AV 컨텐트의 직접적인 보호에 관여하지는 않지만, 만약 포렌식 마크를 갖는 컨텐트가 손상된 플레이어에서 재생되면, 이 컨텐트 상에 이 플레이어 특유의 마크를 만든다. 이 컨텐트가 공공에 노출된 후, 컨텐트 소유자는 노출된 컨텐트 상의 포렌식 마크를 확인함으로서 손상된 플레이어를 알아낼 수 있다.
SP 레지스터(28)는 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.
연산부(29)는 SP 레지스터(28)에 저장된 비밀 파라미터 값들과 디먹스(24)에 의해 추출된 난독 교정 테이블을 배타적 논리합(XOR)함으로서 원래의 교정 테이블을 복원한다. 난독 교정 테이블은 원래의 교정 테이블에 대해 비밀 파라미터 값들로 배타적 논리합 연산이 수행된 것이므로, 연산부(29)는 이러한 난독 교정 테이블을 상기 배타적 논리합 연산에 사용된 비밀 파라미터 값들과 동일한 값들로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 테이블을 복원한다.
겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블에 기초하여 버퍼(23)에 저장된 데이터 패킷들 중 스크램블에 의해 변형된 패킷의 변형 위치에 디스크램블 값을 겹쳐쓰기함으로서 버퍼(23)에 저장된 데이터 패킷들의 스크램블 부분을 디스크램블한다.
도 4는 종래의 제 1 디스크램블 방식에 따른 디스크램블 동작을 도시한 도면이다.
도 4를 참조하면, 디먹스(24)는 버퍼(23)로부터 출력된 전송 스트림을 구성하는 TS 패킷들 중에서 교정 테이블 기술자를 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷 내의 난독 교정 테이블을 출력한다. 연산부(29)는 디먹스(24)로부터 출력된 교정 테이블과 비밀 파라미터 값들을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블의 "relative_SPN_1" 필드의 값 및 "relative_SPN_2" 필드의 값으로부터 스크램블로 인하여 변형된 첫 번째 패킷과 두 번째 패킷의 상대적 위치를 각각 알아내고, 이 위치들에 디스크램블 값을 겹쳐쓰기한다.
도 5는 종래의 제 1 디스크램블 방식의 문제점을 도시한 도면이다.
도 5를 참조하면, 겹쳐쓰기부(30)가 버퍼(23)에 저장된 전송 스트림의 어느 위치에 디스크램블 값을 겹쳐쓰기하고자 할 때, 이 위치 계산의 기초가 되는 PMT 패킷은 버퍼(23) 내에 있지 않고, 디먹스(24) 내에서 이미 디먹싱 처리를 당한 상태이다. 이로 인하여, 버퍼(23)에 저장된 전송 스트림의 변형 부분의 위치를 계산하기가 용이하지 않다는 문제점이 있었다. 또한, 버퍼(23)에 저장된 전송 스트림의 변형 부분의 위치 계산이 신속하게 이루어지지 않을 경우, 버퍼(23)에 저장된 전송 스트림의 변형 부분이 그대로 출력될 수도 있다는 문제점이 있었다. 따라서, 이동 단말 등 저사양 CPU를 사용하는 디바이스는 이와 같은 속도의 제약 때문에 디스크램블을 소프트웨어적으로 처리할 수 없게 된다.
도 6은 종래의 제 2 디스크램블 방식에 따른 제 2 플레이어의 구성도이다.
도 6을 참조하면, 종래의 제 2 디스크램블 방식에 따른 제 2 플레이어(4)는 트랙 버퍼(41), 해독부(42), 버퍼(43), 디먹스(44), 복호화부(45), AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(46), 플레이어 정보 데이터베이스(47), SP 레지스터(48), 메모리(49), 연산부(50), 및 겹쳐쓰기부(51)로 구성된다.
트랙 버퍼(41)는 디스크(3)로부터 AV 스트림을 독출하고, 해독부(42)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(41)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.
해독부(42)는 AACS 규격에 따라 트랙 버퍼(41)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(41)에 저장된 AV 스트림을 해독한다.
버퍼(43)는 복호화부(45)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(42)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(43)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다.
디먹스(44)는 MPEG-2 규격에 따라 버퍼(43)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(43)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다.
복호화부(45)는 MPEG-2 규격에 따라 디먹스(44)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.
가상 머신(46)은 디스크(3)로부터 이 디스크(3)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다.
또한, 가상 머신(46)은 디스크(3)로부터 난독 교정 테이블을 독출하고, 이것을 메모리(49)에 로드한다. 이것이 도 1에 도시된 제 1 디스크램블 방식과의 차이점이다. 즉, 도 1에 도시된 제 1 디스크램블 방식은 AV 스트림의 여러 위치에 난독 교정 테이블들을 포함하고 있으나, 도 2에 도시된 제 2 디스크램블 방식은 디스크(3)의 별도의 영역에 난독 교정 테이블들이 하나의 파일의 형태로 기록되어 있다.
도 7은 종래의 제 2 디스크램블 방식에 따른 교정 테이블의 구조도이다.
도 7을 참조하면, "Number of FUT blocks" 필드는 교정 테이블 블록들의 개수를 나타낸다. 또한, "Start address of FUT blocks" 필드는 교정 테이블의 시작부터 카운트되는 각각의 교정 테이블 블록의 바이트 오프셋을 나타낸다. 또한, "SP_ID" 필드는 이 교정 테이블 블록에 배타적 논리합하기 위하여 사용된 비밀 파라미터 값들의 아이디를 나타낸다. 또한, "FUT block" 필드는 비밀 파라미터 아이디에 의하여 지시되는 비밀 파라미터 값의 배타적 논리합에 의하여 난독 처리된 교정 테이블 블록을 나타낸다.
도 8은 종래의 제 2 디스크램블 방식에 따른 FUT 블록의 구조도이다.
도 8을 참조하면, "Number of FixUpEntry" 필드는 교정 엔트리 넘버를 나타낸다. "Base SPN for FixUpEntry" 필드는 상대적인 교정 엔트리 값들 계산의 기초가 되는 절대적인 패킷 넘버를 나타낸다. 즉, 이 값은 교정 테이블을 포함하는 PMT 패킷의 패킷 넘버를 나타낸다. "FixUpEntry"는 스크램블로 인한 변형을 교정하기 위한 실질적인 정보를 포함하는 교정 엔트리를 나타낸다.
종래의 제 2 디스크램블 방식에 따른 교정 엔트리의 구조는 도 3에 도시된 교정 엔트리의 구조와 동일하다.
SP 레지스터(48)는 가상 머신(46)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.
연산부(50)는 SP 레지스터(48)에 저장된 비밀 파라미터 값들과 메모리(49)에 로드된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한 다.
겹쳐쓰기부(51)는 연산부(50)에 의해 복원된 교정 테이블에 기초하여 버퍼(43)에 저장된 데이터 패킷들 중 스크램블에 의해 변형된 패킷의 변형 위치에 디스크램블 값을 겹쳐쓰기함으로서 버퍼(43)에 저장된 데이터 패킷들의 스크램블 부분을 디스크램블한다.
종래의 제 2 디스크램블 방식에 따르면, 난독 교정 테이블 전체를 메모리에 로드해야 하는데, AV 컨텐트를 재생하는 동안, 난독 교정 테이블 전체를 메모리에 로드한 상태에서 디스크램블을 동시에 수행한다는 것은 플레이어의 메모리에 상당한 부하를 초래할 수 있다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 AV 컨텐트의 중간 중간에 걸린 스크램블에 대한 디스크램블 작업을 신속하게 처리하고, 디스크램블로 인한 시스템 부하를 줄일 수 있는 방법 및 장치를 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 제 1 디스크램블 방법은 스크램블로 인하여 변형된 스트림의 제 1 변형 부분을 교정하기 위한 제 1 디스크램블 정보로부터 상기 스트림의 제 2 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하는 단계; 및 상기 제 1 디스크램블 정보에 기초하여 상 기 제 1 변형 부분을 디스크램블하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 제 1 디스크램블 장치는 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷으로부터 상기 제 1 패킷의 변형 부분을 교정하기 위한 제 1 디스크램블 정보를 추출하는 추출부; 및 상기 추출부에 의해 추출된 제 1 디스크램블 정보로부터 상기 패킷들 중 제 2 패킷의 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하고, 상기 제 1 디스크램블 정보로부터 계산된 상기 제 1 패킷의 변형 부분의 위치에 상기 제 1 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 제 1 디스크램블 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 제 2 디스크램블 방법은 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 디스크램블 정보로부터 상기 디스크램블 정보를 제공한 패킷의 절대적 위치 정보를 획득하는 단계; 상기 획득된 절대적 위치 정보를 기준으로 상기 변형 부분의 위치를 계산하는 단계; 및 상기 계산된 위치에 상기 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 제 2 디스크램블 장치는 스크램블로 인하여 변형된 스트림으로부터 상기 스트림의 변형 부분을 교정 하기 위한 디스크램블 정보를 추출하는 추출부; 및 상기 추출부에 의해 추출된 디스크램블 정보로부터 상기 디스크램블 정보를 포함하는 패킷의 절대적 위치 정보를 획득하고, 상기 획득된 절대적 위치 정보를 기준으로 계산된 위치에 상기 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 제 2 디스크램블 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 제 1 플레이어의 구성도이다.
도 9를 참조하면, 본 실시예에 따른 제 1 플레이어(6)는 트랙 버퍼(61), 해독부(62), 버퍼(63), 디먹스(64), 복호화부(65), 가상 머신(66), 플레이어 정보 데이터베이스(67), SP 레지스터(68), FUT 추출부(69), 연산부(70), 및 겹쳐쓰기부(71)로 구성된다.
트랙 버퍼(61)는 디스크(5)로부터 AV 스트림을 독출하고, 해독부(62)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(61)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.
해독부(62)는 AACS 규격에 따라 트랙 버퍼(61)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(61)에 저장된 AV 스트림을 해독한다.
버퍼(63)는 복호화부(65)에서의 복호화 처리 속도에 대응하기 위하여, 해독 부(62)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(63)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다.
디먹스(64)는 MPEG-2 규격에 따라 버퍼(63)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(63)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 본 실시예에 따르면, 디먹스(64)는 종래와 달리 버퍼(63)에 저장된 AV 스트림으로부터 난독 교정 테이블을 추출하지는 않는다. 이러한 기능은 FUT 추출부(69)가 담당한다.
복호화부(65)는 MPEG-2 규격에 따라 디먹스(64)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.
가상 머신(66)은 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. 보다 상세하게 설명하면, 가상 머신(66)은 플레이어 정보 데이터베이스(67)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(6)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성하지 않는다.
SP 레지스터(68)는 가상 머신(66)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.
FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림을 파싱함으로서 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 난독 교정 테이블을 추출한다. FUT 추출부(69)는 난독 교정 테이블 추출만을 수행함으로서 보다 신속하게 난독 교정 테이블을 추출할 수 있다. 교정 테이블은 AV 스트림의 중간 중간에 걸린 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 디스크램블 정보가 기록된 테이블이다. 난독 교정 테이블은 교정 테이블의 값들이 용이하게 파악될 수 없도록 이 교정 테이블의 값들과 비밀 파라미터 값들을 배타적 논리합한 값이다.
FUT 추출부(69)는 겹쳐쓰기부(71)에 의해 획득된, 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보, 즉 연산부(70)에 의해 복원된 교정 테이블을 제공한 PMT 패킷과 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷간의 패킷 개수를 기준으로 AV 스트림으로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 정확한 위치를 신속하게 찾을 수 있다. 즉, FUT 추출부(69)는 겹쳐쓰기부(71)에 의해 획득된, 연산부(70)에 의해 복원된 교정 테이블을 제공한 PMT 패킷의 넘버에 이 PMT 패킷과 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷간의 패킷 개수를 가산한 값에 해당하는 위치의 PMT 패킷으로부터 난독 교정 테이블을 추출한다.
그런데, 본 실시예의 경우, 일단 난독 교정 테이블을 포함하는 어느 하나의 PMT 패킷의 절대적 위치 정보를 알아내기만 하면, 다음 PMT 패킷들의 위치는 신속하게 찾을 수 있지만, 난독 교정 테이블을 포함하는 최초의 PMT 패킷의 위치를 찾는 것이 어렵다. 다음과 같은 여러 가지 방법으로 이 문제를 해결할 수 있다.
BD(Blu-ray Disc) 규격에 따르면, MPEG-2 전송 스트림은 적어도 하나 이상의 정렬 단위(aligned unit)로 구성되고, 이 정렬 단위는 32개의 소스 패킷들로 묶어 놓은 것이다. 이 정렬 단위로 부호화 및 복호화 과정이 수행된다. 이 점에 착안하여, 이 정렬 단위를 구성하는 패킷들 중 첫 번째 패킷 내에 첫 번째 난독 교정 테이블을 둠으로서 FUT 추출부(69)는 모든 PMT 패킷들을 파싱할 필요 없이 이 정렬 단위를 구성하는 패킷들 중 첫 번째 패킷만을 파싱하면 된다. 따라서, FUT 추출부(69)에서의 파싱 량은 1/32로 줄어들게 된다. 즉, FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림의 정렬 단위에 해당하는 패킷들 중 첫 번째 패킷을 파싱함으로서 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다.
MPEG-2 TS 패킷의 헤더에 어떤 PMT 패킷이 난독 교정 테이블을 포함하고 있는지 여부를 나타내는 플래그를 둘 수도 있다. FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림을 구성하는 패킷들의 플래그의 값을 검사함으로서 이 패킷들이 난독 교정 테이블을 포함하는지 여부를 판단하고, 이 판단 결과에 기초하여 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다.
본 실시예에 사용되는 교정 테이블의 구조는 도 2에 도시된 교정 테이블의 구조와 동일하다. 다만, 이 교정 테이블에 포함된 교정 엔트리의 구조는 도 3에 도시된 교정 엔트리의 구조와 다르다.
도 10은 본 발명의 바람직한 일 실시예에 따른 교정 엔트리의 구조도이다.
도 10을 참조하면, 본 실시예에 따른 교정 엔트리는 도 3에 도시된 교정 엔트리와 거의 동일하나, 다음의 두 가지 항목이 추가되었다. "Absolute_SPN" 필드는 현재 난독이 풀린 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보를 나타낸다. 본 실시예에서, PMT 패킷의 절대적 위치 정보란 AV 스트림을 구성하는 패킷들 전체에서 난독 교정 테이블을 포함하는 패킷이 몇 번째인지를 나타내는 패킷 넘버를 의미한다. 또한, "Next_FUT_Position" 필드는 또 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 나타낸다. 본 실시예에서, PMT 패킷의 상대적 위치 정보란 어떤 난독 교정 테이블을 포함하는 PMT 패킷으로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷이 몇 패킷 떨어져 있는지를 나타내는 패킷 개수를 의미한다.
연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값들과 FUT 추출부(69)에 의해 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 난독 교정 테이블은 원래의 교정 테이블에 대해 비밀 파라미터 값들로 배타적 논리합 연산이 수행된 것이므로, 연산부(68)는 이러한 난독 교정 테이블을 상기 배타적 논리합 연산에 사용된 비밀 파라미터 값들과 동일한 값들로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 테이블을 복원한다.
겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 테이블로부터 이 교정 테 이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득하고, 이것을 FUT 추출부(69)에 제공한다. 겹쳐쓰기부(71)는 이와 같이 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 정확한 위치를 용이하게 찾을 수 있다.
또한, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 테이블로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득하고, 이것을 FUT 추출부(69)에 제공한다.
또한, 겹쳐쓰기부(71)는 이와 같이 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 또한, 겹쳐쓰기부(71)는 이와 같이 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기함으로서 AV 스트림의 중간 중간에 걸린 스크램블이 풀리게 된다.
도 11은 본 발명의 바람직한 일 실시예에 따른 디스크램블 동작을 도시한 도면이다.
도 11을 참조하면, FUT 추출부(69)는 버퍼(63)에 저장된 AV 스트림을 파싱함으로서 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 난독 교정 테이블을 추출한다. 이어서, 연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값들과 FUT 추출부(69)에 의해 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 이어서, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보, 즉 PMT 패킷의 넘버를 획득한다.
이어서, 겹쳐쓰기부(71)는 버퍼(63)에 현재 입력 중인 패킷의 넘버로부터 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 스크램블로 인하여 변형된 패킷의 변형 부분의 상대적 위치 정보, 즉 이 PMT 패킷과 변형 부분간의 패킷 개수의 합을 감함으로서 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 버퍼(63)로 AV 스트림을 구성하는 패킷들이 차례대로 입력되고, 버퍼(63)는 버퍼(63)로 입력되는 패킷들을 차례대로 카운팅함으로서 이 패킷들의 절대적 패킷 넘버를 알 수 있다. 버퍼(63)는 버퍼(63)에 현재 입력 중인 패킷의 넘버를 겹쳐쓰기부(71)에 제공한다.
이와 같이, 겹쳐쓰기부(71)는 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 같은 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산하기 때문에 난독 교정 테이블을 포함하는 PMT 패킷이 버퍼(63)를 이미 빠져나갔고, 그 후 몇 개의 패킷들이 추가로 빠져나갔는지를 고려하지 않아도 된다. 즉, 버퍼(63)에 현재 입력 중인 패킷의 넘버가 "Packer Number 2", 난독 교정 테이블을 포함하는 PMT 패킷의 넘버가 "Packet Number 1", 이 PMT 패킷과 변형 부분간의 패킷 개수가 "relative_SPN"이면, 겹쳐쓰기부(71)는 버퍼(63)의 입구로부터 "Packet Number 2-(Packet Number 1 + relative_SPN)"만큼 거슬러 올라가면 스크램블로 인하여 변형된 패킷의 정확한 위치를 용이하게 찾을 수 있다.
이어서, 겹쳐쓰기부(71)는 이와 같이 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다. 겹쳐쓰기부(71)에서의 상기 동작은 스크램블로 인하여 변형된 패킷의 변형 부분들의 개수만큼 반복하여 수행된다. 본 실시예의 경우, 스크램블로 인하여 변형된 패킷의 변형 부분들의 개수가 2개이기 때문에 2번 반복하여 수행된다.
도 12는 본 발명의 바람직한 일 실시예에 따른 제 2 플레이어의 구성도이다.
도 12를 참조하면, 본 실시예에 따른 제 2 플레이어(8)는 트랙 버퍼(81), 해독부(82), 버퍼(83), 디먹스(84), 복호화부(85), 가상 머신(86), 플레이어 정보 데이터베이스(87), SP 레지스터(88), 메모리(89), FUT 추출부(90), 및 연산부(91), 및 겹쳐쓰기부(92)로 구성된다.
트랙 버퍼(81)는 디스크(7)로부터 AV 스트림을 독출하고, 해독부(82)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(81)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.
해독부(82)는 AACS 규격에 따라 트랙 버퍼(81)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(81)에 저장된 AV 스트림을 해독한다.
버퍼(83)는 복호화부(85)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(82)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(83)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다.
디먹스(84)는 MPEG-2 규격에 따라 버퍼(83)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(83)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다.
복호화부(85)는 MPEG-2 규격에 따라 디먹스(84)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.
가상 머신(86)은 디스크(7)로부터 이 디스크(7)에 저장된 AV 타이틀을 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. 또한, 가상 머신(86)은 디스크(7)로부터 난독 축약 교정 테이블을 독출하고, 첫 번째 난독 교정 테이블을 포함하는 첫 번째 패킷을 검색할 때만 이것을 메모리(89)에 로드한다.
본 실시예에 사용되는 축약 교정 테이블의 구조는 도 7에 도시된 교정 테이블의 구조와 동일하다. 다만, 이 축약 교정 테이블에 포함된 FUT 블록의 구조는 도 8에 도시된 FUT 블록의 구조와 다르다.
도 13은 본 발명의 바람직한 일 실시예에 따른 FUT 블록의 구조도이다.
도 13을 참조하면, 본 실시예에 따른 FUT 블록은 도 8에 도시된 FUT 블록으로부터 "FixUpEntry" 필드가 제거되었다. 본 실시예에 따르면, 도 8에 도시된 FUT 블록의 대부분을 차지하는 "FixUpEntry" 필드에 기록된 정보는 AV 스트림으로부터 얻을 수 있기 때문에 본 실시예에 따른 FUT 블록에는 난독 교정 테이블을 포함하는 PMT 패킷의 넘버인 "Base SPN for each FixUpEntry" 필드만을 남긴다. 그 결과, 본 실시예에 따른 축약 교정 테이블은 원래의 교정 테이블에 비해 그 용량이 1/5로 줄어들게 된다.
이와 같이, 원래의 난독 교정 테이블보다 훨씬 용량이 작은 난독 축약 교정 테이블을 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색할 때만 메모리(89)에 로드함으로서 난독 교정 테이블 전체를 메모리에 로드한 상태에서 디스크램 블을 동시에 수행해야 하는 부담을 제거할 수 있게 되었다.
SP 레지스터(88)는 가상 머신(86)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.
FUT 추출부(90)는 겹쳐쓰기부(92)로부터 제공받은 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보, 즉 이 PMT 패킷의 넘버에 해당하는 위치의 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다.
또한, FUT 추출부(90)는 PMT 패킷의 넘버에 겹쳐쓰기부(92)로부터 제공받은 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 기준으로 AV 스트림으로부터 난독 교정 테이블을 추출한다. 보다 상세하게 설명하면, FUT 추출부(90)는 PMT 패킷의 넘버에 겹쳐쓰기부(92)로부터 제공받은 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보, 즉 PMT 패킷간의 패킷 개수를 가산한 값에 해당하는 위치의 PMT 패킷으로부터 난독 교정 테이블을 추출한다. FUT 추출부(90)는 상기된 과정을 반복함으로서 N 번째 난독 교정 테이블을 포함하는 PMT 패킷을 신속하게 찾을 수 있다.
연산부(91)는 SP 레지스터(88)에 저장된 비밀 파라미터 값들과 메모리(87)에 로드된 난독 축약 교정 테이블을 배타적 논리합함으로서 원래의 축약 교정 테이블을 복원한다. 또한, 연산부(91)는 SP 레지스터(88)에 저장된 비밀 파라미터 값들과 FUT 추출부(90)에 의해 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다.
겹쳐쓰기부(92)는 연산부(91)에 의해 복원된 축약 교정 테이블로부터 첫 번 째 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보를 획득하고, 이것을 FUT 추출부(90)에 제공한다.
겹쳐쓰기부(92)는 연산부(91)에 의해 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득한다. 또한, 겹쳐쓰기부(92)는 연산부(91)에 의해 복원된 교정 테이블로부터 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득하고, 이것을 FUT 추출부(90)에 제공한다.
또한, 겹쳐쓰기부(92)는 이와 같이 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 또한, 겹쳐쓰기부(92)는 이와 같이 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기함으로서 AV 스트림의 중간 중간에 걸린 스크램블이 풀리게 된다. 보다 상세하게 설명하면, 겹쳐쓰기부(92)는 버퍼(83)에 현재 입력 중인 패킷의 넘버로부터 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 스크램블로 인하여 변형된 패킷의 변형 부분의 상대적 위치 정보, 즉 이 PMT 패킷과 변형 부분간의 패킷 개수의 합을 감함으로서 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다.
도 14-15는 본 발명의 바람직한 일 실시예에 따른 제 1 컨텐트 복원 방법의 흐름도이다.
도 14-15를 참조하면, 본 실시예에 따른 제 1 컨텐트 복원 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 제 1 컨텐트 복원 방법은 도 9에 도시된 제 1 플레이어(6)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 9에 도시된 제 1 플레이어(6)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 제 1 컨텐트 복원 방법에도 적용된다.
141 단계에서 플레이어(6)는 디스크(5)로부터 AV 스트림을 독출하고, 이 AV 스트림을 일시적으로 저장한다. 141 단계에서 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.
142 단계에서 플레이어(6)는 AACS 규격에 따라 141 단계에서 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 141 단계에서 저장된 AV 스트림을 해독한다.
143 단계에서 플레이어(6)는 142 단계에서 해독된 AV 스트림을 일시적으로 저장한다. 143 단계에서 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다.
144 단계에서 플레이어(6)는 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다.
145 단계에서 플레이어(6)는 144 단계에서 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.
146 단계에서 플레이어(6)는 143 단계에서 저장된 AV 스트림의 정렬 단위에 해당하는 패킷들 중 첫 번째 패킷을 파싱함으로서 첫 번째 난독 교정 테이블을 포 함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다. 또한, 146 단계에서 플레이어(6)는 143 단계에서 저장된 AV 스트림을 구성하는 패킷들의 플래그의 값을 검사함으로서 이 패킷들이 난독 교정 테이블을 포함하는지 여부를 판단하고, 이 판단 결과에 기초하여 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출할 수도 있다.
147 단계에서 플레이어(6)는 145 단계에서 저장된 비밀 파라미터 값들과 146 단계 또는 152 단계에서 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다.
148 단계에서 플레이어(6)는 147 단계에서 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보 및 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득한다.
149 단계에서 플레이어(6)는 148 단계에서 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다. 보다 상세하게 설명하면, 149 단계에서 플레이어(6)는 143 단계에서의 저장을 위하여 현재 입력 중인 패킷의 넘버로부터 난독 교정 테이블을 포함하는 PMT 패킷의 넘버와 스크램블로 인하여 변형된 패킷의 변형 부분의 상대적 위치 정보, 즉 이 PMT 패킷과 변형 부분간의 패킷 개수의 합을 감함으로서 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다.
150 단계에서 플레이어(6)는 149 단계에서 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다.
151 단계에서 플레이어(6)는 148 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보가 존재하는지 여부를 판단하고, 그 판단 결과 다음 PMT 패킷의 상대적 위치 정보가 존재하는 경우에는 152 단계로 진행하고, 다음 PMT 패킷의 상대적 위치 정보가 존재하지 않는 경우에는 153 단계로 진행한다. 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보가 존재하는지 여부를 판단한다는 것은 AV 스트림의 중간 중간에 걸린 스크램블이 모두 풀렸는지 여부를 판단한다는 것을 의미한다.
152 단계에서 플레이어(6)는 148 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 기준으로 AV 스트림으로부터 난독 교정 테이블을 추출하고, 147 단계로 돌아간다.
153 단계에서 플레이어(6)는 MPEG-2 규격에 따라 144 단계 ~ 152 단계에 의해 디스크램블된 AV 스트림을 디먹싱함으로서 143 단계에서 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다.
154 단계에서 플레이어(6)는 MPEG-2 규격에 따라 153 단계에서 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.
도 16-17은 본 발명의 바람직한 일 실시예에 따른 제 2 컨텐트 복원 방법의 흐름도이다.
도 16-17을 참조하면, 본 실시예에 따른 제 2 컨텐트 복원 방법은 다음과 같 은 단계들로 구성된다. 본 실시예에 따른 제 2 컨텐트 복원 방법은 도 12에 도시된 제 2 플레이어(8)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 12에 도시된 제 2 플레이어(8)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 제 2 컨텐트 복원 방법에도 적용된다.
161 단계에서 제 2 플레이어(8)는 디스크(7)로부터 AV 스트림을 독출하고, 이 AV 스트림을 일시적으로 저장한다. 161 단계에서 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.
162 단계에서 제 2 플레이어(8)는 AACS 규격에 따라 161 단계에서 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(81)에 저장된 AV 스트림을 해독한다.
163 단계에서 제 2 플레이어(8)는 162 단계에서 해독된 AV 스트림을 일시적으로 저장한다. 163 단계에서 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다.
164 단계에서 제 2 플레이어(8)는 디스크(7)로부터 이 디스크(7)에 저장된 AV 타이틀을 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. 또한, 164 단계에서 제 2 플레이어(8)는 디스크(7)로부터 난독 축약 교정 테이블을 독출하고, 첫 번째 난독 교정 테이블을 포함하는 첫 번째 패킷을 검색할 때만 이것을 메모리(89)에 로드한다.
165 단계에서 제 2 플레이어(8)는 164 단계에서 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.
166 단계에서 제 2 플레이어(8)는 165 단계에서 저장된 비밀 파라미터 값들과 164 단계에서 메모리(87)에 로드된 난독 축약 교정 테이블을 배타적 논리합함으로서 원래의 축약 교정 테이블을 복원한다.
167 단계에서 제 2 플레이어(8)는 166 단계에서 복원된 축약 교정 테이블로부터 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷의 절대적 위치 정보를 획득한다.
168 단계에서 제 2 플레이어(8)는 167 단계에서 획득된 정보에 해당하는 위치의 PMT 패킷으로부터 첫 번째 난독 교정 테이블을 추출한다.
169 단계에서 제 2 플레이어(8)는 165 단계에서 저장된 비밀 파라미터 값들과 167 단계에서 추출된 난독 교정 테이블을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다.
170 단계에서 제 2 플레이어(8)는 169 단계에서 복원된 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득하고, 다른 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 획득한다.
171 단계에서 제 2 플레이어(8)는 170 단계에서 획득된 PMT 패킷의 절대적 위치 정보를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산한다.
172 단계에서 제 2 플레이어(8)는 171 단계에서 계산된 위치에 스크램블로 인하여 변형된 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다.
173 단계에서 플레이어(6)는 170 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보가 존재하는지 여부를 판단하고, 그 판단 결과 다음 PMT 패킷의 상대적 위치 정보가 존재하는 경우에는 174 단계로 진행하고, 다음 PMT 패킷의 상대적 위치 정보가 존재하지 않는 경우에는 175 단계로 진행한다.
174 단계에서 플레이어(6)는 170 단계에서 획득된, 난독 교정 테이블을 포함하는 다음 PMT 패킷의 상대적 위치 정보를 기준으로 AV 스트림으로부터 난독 교정 테이블을 추출하고, 169 단계로 돌아간다.
175 단계에서 플레이어(6)는 MPEG-2 규격에 따라 164 단계 ~ 174 단계에 의해 디스크램블된 AV 스트림을 디먹싱함으로서 163 단계에서 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다.
176 단계에서 플레이어(6)는 MPEG-2 규격에 따라 175 단계에서 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 교정 테이블로부터 이 스트림의 다른 변형 부분을 교정하기 위한 난독 교정 테이블을 포함하는 PMT 패킷의 위치 정보를 획득함으로서 AV 스트림으로부터 난독 교정 테이블을 포함하는 PMT 패킷의 정확한 위치를 신속하게 찾을 수 있다는 효과가 있다.
또한, 본 발명에 따르면, 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 교정 테이블로부터 이 교정 테이블을 제공한 PMT 패킷의 절대적 위치 정보를 획득함으로서 스크램블로 인하여 변형된 패킷의 정확한 위치를 용이하게 찾을 수 있다는 효과가 있다.
또한, 본 발명에 따르면, 원래의 난독 교정 테이블보다 훨씬 용량이 작은 난독 축약 교정 테이블을 첫 번째 난독 교정 테이블을 포함하는 PMT 패킷을 검색할 때만 메모리에 로드함으로서 난독 교정 테이블 전체를 메모리에 로드한 상태에서 디스크램블을 동시에 수행해야 하는 부담을 제거할 수 있게 되었다.
나아가, 본 발명에 따르면, 상기된 바와 효과들로 인하여 디스크램블 작업의 속도가 증가되고, 디스크램블로 인한 시스템 부하가 줄어들게 되어, 이동 단말 등 저사양 CPU를 사용하는 디바이스도 디스크램블을 소프트웨어적으로 처리할 수 있게 되었다.

Claims (18)

  1. (a) 스크램블로 인하여 변형된 스트림의 제 1 변형 부분을 교정하기 위한 제 1 디스크램블 정보로부터 상기 스트림의 제 2 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하는 단계; 및
    (b) 상기 제 1 디스크램블 정보에 기초하여 상기 제 1 변형 부분을 디스크램블하는 단계를 포함하는 것을 특징으로 하는 디스크램블 방법.
  2. 제 1 항에 있어서,
    상기 획득된 제 2 디스크램블 정보의 위치 정보를 기준으로 상기 스트림으로부터 상기 제 2 디스크램블 정보를 추출하는 단계; 및
    상기 제 2 디스크램블 정보에 기초하여 상기 제 2 변형 부분을 디스크램블하는 단계를 더 포함하는 것을 특징으로 하는 디스크램블 방법.
  3. 제 1 항에 있어서,
    상기 스트림을 구성하는 패킷들 중 제 1 패킷으로부터 상기 제 1 디스크램블 정보를 추출하는 단계를 더 포함하고,
    상기 (a) 단계는 상기 추출된 제 1 디스크램블 정보로부터 상기 제 2 디스크램블 정보를 포함하는 제 2 패킷의 상대적 위치 정보를 획득하는 것을 특징으로 하는 디스크램블 방법.
  4. 제 3 항에 있어서,
    상기 제 2 패킷의 상대적 위치 정보는 상기 제 1 패킷으로부터 상기 제 2 패킷이 몇 패킷 떨어져 있는지를 나타내는 패킷 개수이고,
    상기 제 1 패킷의 넘버에 상기 패킷 개수를 가산한 값에 해당하는 위치의 패킷으로부터 상기 제 2 디스크램블 정보를 추출하는 단계를 더 포함하는 것을 특징으로 하는 디스크램블 방법.
  5. 제 1 항에 있어서,
    디스크의 별도 영역에 저장된 상기 스트림의 변형 부분들 중 첫 번째 변형 부분을 교정하기 위한 정보를 포함하는 패킷의 난독 위치 정보를 메모리에 로드하는 단계; 및
    상기 메모리에 로드된 난독 위치 정보로부터 복원된 정보에 해당하는 위치의 패킷으로부터 상기 첫 번째 변형 부분을 교정하기 위한 정보를 추출하는 단계를 더 포함하고,
    상기 (a) 단계는 상기 추출된 정보로부터 상기 변형 부분들 중 두 번째 변형 부분을 교정하기 위한 정보를 포함하는 패킷의 위치 정보를 획득하는 것을 특징으로 하는 디스크램블 방법.
  6. 제 1 항에 있어서,
    상기 스트림의 소정 단위를 구성하는 패킷들 중 첫 번째 패킷을 파싱함으로서 상기 제 1 디스크램블 정보를 포함하는 패킷을 검색하고, 상기 검색된 패킷으로부터 상기 제 1 디스크램블 정보를 추출하는 단계를 더 포함하는 것을 특징으로 하는 디스크램블 방법.
  7. 제 1 항에 있어서,
    상기 스트림을 구성하는 패킷들의 소정 플래그의 값을 검사함으로서 상기 패킷들이 상기 스트림의 변형 부분들을 교정하기 위한 정보를 포함하는지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 제 1 디스크램블 정보를 포함하는 패킷을 검색하고, 상기 검색된 패킷으로부터 상기 제 1 디스크램블 정보를 추출하는 단계를 더 포함하는 것을 특징으로 하는 디스크램블 방법.
  8. 제 1 항에 있어서,
    상기 (b) 단계는 상기 제 1 디스크램블 정보로부터 계산된 제 1 변형 부분의 위치에 상기 제 1 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기함으로서 디스크램블하는 것을 특징으로 하는 디스크램블 방법.
  9. 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷으로부터 상기 제 1 패킷의 변형 부분을 교정하기 위한 제 1 디스크램블 정보를 추출하는 추출부; 및
    상기 추출부에 의해 추출된 제 1 디스크램블 정보로부터 상기 패킷들 중 제 2 패킷의 변형 부분을 교정하기 위한 제 2 디스크램블 정보의 위치 정보를 획득하고, 상기 제 1 디스크램블 정보로부터 계산된 상기 제 1 패킷의 변형 부분의 위치에 상기 제 1 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함하는 것을 특징으로 하는 디스크램블 장치.
  10. 제 9 항에 있어서,
    상기 추출부는 상기 겹쳐쓰기부에 의해 획득된 제 2 디스크램블 정보의 위치 정보를 기준으로 상기 스트림으로부터 상기 제 2 디스크램블 정보를 추출하고,
    상기 겹쳐쓰기부는 상기 추출된 제 2 디스크램블 정보로부터 계산된 상기 제 2 패킷의 변형 부분의 위치에 상기 제 2 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 것을 특징으로 하는 디스크램블 장치.
  11. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. (a) 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 디스크램블 정보로부터 상기 디스크램블 정보를 제공한 패킷의 절대적 위치 정보를 획득하는 단계;
    (b) 상기 획득된 절대적 위치 정보를 기준으로 상기 변형 부분의 위치를 계 산하는 단계; 및
    (c) 상기 계산된 위치에 상기 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 단계를 포함하는 것을 특징으로 하는 디스크램블 방법.
  13. 제 12 항에 있어서,
    상기 절대적 위치 정보는 상기 스트림을 구성하는 패킷들 전체에서 상기 디스크램블 정보를 포함하는 패킷이 몇 번째인지를 나타내는 패킷 넘버인 것을 특징으로 하는 디스크램블 방법.
  14. 제 13 항에 있어서,
    상기 스트림을 저장하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 저장을 위하여 현재 입력 중인 패킷의 넘버로부터 상기 디스크램블 정보를 포함하는 패킷의 넘버와 상기 디스크램블 정보를 포함하는 패킷과 상기 변형 부분간의 패킷 개수의 합을 감함으로서 상기 스크램블된 부분의 위치를 계산하는 것을 특징으로 하는 디스크램블 방법.
  15. 제 12 항에 있어서,
    상기 스트림에 포함된 컨텐트를 보호하기 위한 컨텐트 코드와 상기 디스크램블 방법이 수행되는 플레이어의 아이디에 기초하여 비밀 파라미터 값을 생성하는 단계; 및
    상기 생성된 비밀 파마미터 값과 난독 디스크램블 정보를 배타적 논리합함으로서 상기 디스크램블 정보를 복원하는 단계를 더 포함하고,
    상기 (c) 단계는 상기 복원된 디스크램블 정보에 기초하여 겹쳐쓰기하는 것을 특징으로 하는 디스크램블 방법.
  16. 스크램블로 인하여 변형된 스트림으로부터 상기 스트림의 변형 부분을 교정하기 위한 디스크램블 정보를 추출하는 추출부; 및
    상기 추출부에 의해 추출된 디스크램블 정보로부터 상기 디스크램블 정보를 포함하는 패킷의 절대적 위치 정보를 획득하고, 상기 획득된 절대적 위치 정보를 기준으로 계산된 위치에 상기 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함하는 것을 특징으로 하는 디스크램블 장치.
  17. 제 16 항에 있어서,
    상기 절대적 위치 정보는 상기 스트림을 구성하는 패킷들 전체에서 상기 디스크램블 정보를 포함하는 패킷이 몇 번째인지를 나타내는 패킷 넘버인 것을 특징으로 하는 디스크램블 장치.
  18. 제 12 항 내지 제 15 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020050079447A 2005-07-19 2005-08-29 AV(Audio Visual) 스트림을 디스크램블하는방법 및 장치 KR100762957B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US70033605P 2005-07-19 2005-07-19
US60/700,336 2005-07-19
US70149305P 2005-07-22 2005-07-22
US60/701,493 2005-07-22
US70300305P 2005-07-28 2005-07-28
US60/703,003 2005-07-28

Publications (2)

Publication Number Publication Date
KR20070011029A KR20070011029A (ko) 2007-01-24
KR100762957B1 true KR100762957B1 (ko) 2007-10-04

Family

ID=38012147

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020050079447A KR100762957B1 (ko) 2005-07-19 2005-08-29 AV(Audio Visual) 스트림을 디스크램블하는방법 및 장치
KR1020060065179A KR100803603B1 (ko) 2005-07-19 2006-07-12 컨텐트의 변형 부분을 효율적으로 교정하는 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020060065179A KR100803603B1 (ko) 2005-07-19 2006-07-12 컨텐트의 변형 부분을 효율적으로 교정하는 방법 및 장치

Country Status (6)

Country Link
US (1) US8428256B2 (ko)
JP (1) JP5539462B2 (ko)
KR (2) KR100762957B1 (ko)
CN (2) CN102646432B (ko)
ES (1) ES2388173T3 (ko)
TW (1) TWI328967B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315988B2 (en) * 2006-08-31 2012-11-20 Sap Ag Systems and methods for verifying a data communication process

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0136458B1 (ko) * 1994-12-08 1998-05-15 구자홍 디지탈 자기 기록재생 시스템의 복사 방지장치
CN101359350B (zh) * 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
CA2169131C (en) * 1995-02-28 2004-08-10 Fabrizio Caffarelli Compact disc recording system and method
DE69618509T2 (de) 1995-07-14 2002-08-29 Sony Corp Übertragung, Aufzeichnung und Wiedergabe von Daten
JPH09162859A (ja) * 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム
JP3651721B2 (ja) * 1996-11-01 2005-05-25 株式会社東芝 移動計算機装置、パケット処理装置及び通信制御方法
US7239709B1 (en) * 1998-01-26 2007-07-03 Matsushita Electric Industrial Co., Ltd. Data recording/reproducing method, data recording/reproducing system, recording apparatus
US6285774B1 (en) * 1998-06-08 2001-09-04 Digital Video Express, L.P. System and methodology for tracing to a source of unauthorized copying of prerecorded proprietary material, such as movies
US6430159B1 (en) * 1998-12-23 2002-08-06 Cisco Systems Canada Co. Forward error correction at MPEG-2 transport stream layer
US7016951B1 (en) * 1999-04-30 2006-03-21 Mantech Ctx Corporation System and method for network security
WO2001033832A1 (fr) * 1999-10-29 2001-05-10 Fujitsu Limited Appareil de reproduction d'images et appareil d'enregistrement/reproduction d'images
JP4457474B2 (ja) * 2000-04-04 2010-04-28 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
DE60119678T3 (de) * 2000-12-15 2010-09-16 Panasonic Corp., Kadoma Empfangsgerät mit Aufzeichnungseinheit zum Aufzeichnen eines verschlüsselten Rundfunksignals und Rundfunkvorrichtung zum Verschlüsseln eines auszustrahlenden Signals sowie zugehörige Verfahren
CA2406482C (en) * 2001-02-28 2013-08-06 Sony Corporation Information recording apparatus and method, information reproducing apparatus and method, information recording medium, program storage medium, and program
US7987510B2 (en) * 2001-03-28 2011-07-26 Rovi Solutions Corporation Self-protecting digital content
US7139398B2 (en) * 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US20030142560A1 (en) * 2001-12-07 2003-07-31 Pioneer Corporation Data recording medium, reproduction apparatus, recording apparatus, reproducing method, recording method, computer-readable recorded medium in which reproducing program is recorded, and computer-readable recorded medium in which recording program is recorded
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
US6851084B2 (en) * 2002-06-10 2005-02-01 Harris Corporation Forward error correction method and system for reliable transmission of real time data over a packet based network
US7349386B1 (en) * 2003-02-18 2008-03-25 Cisco Technology, Inc. Method and apparatus for transporting MPEG streams on IP networks including removing null packets
US7292692B2 (en) * 2003-03-25 2007-11-06 Sony Corporation Content scrambling with minimal impact on legacy devices
CA2523055A1 (en) 2003-04-25 2004-11-11 Thomson Licensing Marking techniques for tracking pirated media
TWI250759B (en) * 2003-06-09 2006-03-01 Sony Corp Information recording medium, data processing method and computer program
EP1524659A1 (en) 2003-10-13 2005-04-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for decrypting an encrypted supplementary data set
US7278084B2 (en) * 2003-10-29 2007-10-02 Nokia Corporation Method and system for providing communications security
JP4352976B2 (ja) * 2004-04-20 2009-10-28 株式会社日立製作所 受信装置及び受信方法
US7634223B2 (en) * 2004-07-12 2009-12-15 Motorola Inc. Method and apparatus for controlling a delivery of a broadcast-multicast flow in a packet data communication system

Also Published As

Publication number Publication date
JP2012252777A (ja) 2012-12-20
US8428256B2 (en) 2013-04-23
JP5539462B2 (ja) 2014-07-02
TW200721829A (en) 2007-06-01
TWI328967B (en) 2010-08-11
CN1917071A (zh) 2007-02-21
CN102646432B (zh) 2015-03-11
KR20070011107A (ko) 2007-01-24
KR20070011029A (ko) 2007-01-24
CN102646432A (zh) 2012-08-22
ES2388173T3 (es) 2012-10-10
US20070022088A1 (en) 2007-01-25
KR100803603B1 (ko) 2008-02-15
CN1917071B (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
US7661000B2 (en) Information processing device, information recording medium and information processing method, and computer program
KR101278075B1 (ko) 재생 장치, 정보 기록 매체 제조 장치 및 방법, 기록 매체 및 오서링 장치
US8422049B2 (en) Information processing device, information record medium manufacturing device, information record medium, method therefore, and computer program
BRPI0617419A2 (pt) rastreamento de traidor renovável
US8731192B2 (en) Reproducing device, recording device, recording medium, data processing method, data processing program, data recording method, data recording program, and integrated circuit
US8510852B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method, and computer program
US7433488B2 (en) Information recording medium drive device, information processing apparatus, data replay control system, data replay control method, and computer program
KR100762957B1 (ko) AV(Audio Visual) 스트림을 디스크램블하는방법 및 장치
US8964978B2 (en) Method and apparatus for efficiently fixing transformed part of content
EP3188405B1 (en) Information processing device, information recording medium, information processing method, and program
KR20070058288A (ko) AV(Audio Visul)스트림을 디스크램블하는방법 및 장치
JP2016042687A (ja) コンテンツ処理方法、コンテンツ処理装置、および記録媒体
JP2011060312A (ja) 情報記録媒体、およびデータ
JP2011076615A (ja) 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム

Legal Events

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

Payment date: 20120830

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee