KR20070058288A - Method and apparatus for descrambling av stream - Google Patents
Method and apparatus for descrambling av stream Download PDFInfo
- Publication number
- KR20070058288A KR20070058288A KR1020060023930A KR20060023930A KR20070058288A KR 20070058288 A KR20070058288 A KR 20070058288A KR 1020060023930 A KR1020060023930 A KR 1020060023930A KR 20060023930 A KR20060023930 A KR 20060023930A KR 20070058288 A KR20070058288 A KR 20070058288A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- information
- stream
- correcting
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4405—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4343—Extraction or processing of packetized elementary streams [PES]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
도 1은 종래의 디스크램블 방식에 따른 플레이어의 구성도이다.1 is a block diagram of a player according to a conventional descramble method.
도 2는 종래의 디스크램블 방식에 따른 교정 테이블의 구조도이다.2 is a structural diagram of a calibration table according to a conventional descramble method.
도 3은 종래의 디스크램블 방식에 따른 교정 엔트리의 구조도이다.3 is a structural diagram of a calibration entry according to a conventional descramble method.
도 4는 종래의 디스크램블 방식에 따른 디스크램블 동작을 도시한 도면이다.4 is a diagram illustrating a descrambling operation according to a conventional descramble method.
도 5는 종래의 디스크램블 방식의 문제점을 도시한 도면이다.5 is a diagram illustrating a problem of a conventional descramble method.
도 6은 본 발명의 바람직한 일 실시예에 따른 플레이어의 구성도이다.6 is a block diagram of a player according to an embodiment of the present invention.
도 8은 본 발명의 바람직한 일 실시예에 따른 교정 테이블 확인 동작을 도시한 도면이다. 8 is a diagram illustrating a calibration table checking operation according to an exemplary embodiment of the present invention.
도 9는 본 발명의 바람직한 일 실시예에 따른 교정 엔트리의 구조도이다.9 is a structural diagram of a calibration entry according to one preferred embodiment of the present invention.
도 11은 본 발명의 바람직한 일 실시예에 따른 플레이어의 구성도이다.11 is a block diagram of a player according to an embodiment of the present invention.
도 12-13은 본 발명의 바람직한 일 실시예에 따른 컨텐트 복원 방법의 흐름도이다.12-13 are flowcharts of a content restoration method according to an embodiment of the present invention.
본 발명은 디스크에 저장된 AV(Audio Visual) 스트림으로부터 AV 컨텐트를 복원하는 방법 및 장치에 관한 것으로, 특히 스크램블(scramble)로 인하여 변형된 AV 스트림을 디스크램블(descramble)하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for restoring AV content from an AV (Audio Visual) stream stored in a disc, and more particularly, to a method and apparatus for descrambled an AV stream modified due to scramble.
차세대 광디스크 보호 시스템인 AACS(Advanced Access Content System) 규격은 브로드캐스트 암호화 방식(Broadcast Encryption Scheme)을 적용하여 해커의 공격 등으로 인하여 폐기(revoke)된 디바이스 키 셋을 가진 플레이어는 브로드캐스트 암호화 방식에 따라 암호화된 컨텐트를 복호화할 수 없도록 하고 있다. 브로드캐스트 암호화 방식이란 다수의 플레이어들 각각에 서로 다른 디바이스 키 셋을 할당하고, 공중(public)에 배포되는 디스크에 폐기된 디바이스 키 셋으로 암호화된 중간 키 값을 저장하지 않음으로서 이 디바이스 키 셋을 가진 플레이어는 이 중간 키 값을 획득할 수 없게 하고, 그 결과 컨텐츠 복호화 키를 획득할 수 없도록 하는 방식을 말한다.The Advanced Access Content System (AACS) standard, the next-generation optical disc protection system, applies the Broadcast Encryption Scheme to allow players with device key sets revoked due to hacker attacks. Encrypted content cannot be decrypted. The broadcast encryption method assigns a different device key set to each of a plurality of players, and does not store the intermediate key value encrypted with the discarded device key set on a disk distributed in public. The player having the game cannot acquire this intermediate key value, and as a result, cannot obtain the content decryption key.
그런데, 디바이스 키 셋의 개수는 한정되어 있고, 이러한 디바이스 키 셋이 할당되어야 할 플레이어의 개수는 계속해서 증가되기 때문에 동일한 디바이스 키 셋을 여러 대의 플레이어들에 할당할 경우가 발생하게 된다. 이 플레이어들 중 어느 하나의 플레이어가 해킹되어, 이 플레이어의 디바이스 키 셋이 노출된 경우, 동일한 디바이스 키 셋을 가진 다른 플레이어들도 폐기되어야 하는 문제점이 있었다.However, since the number of device key sets is limited, and the number of players to which the device key set should be allocated continues to increase, there is a case where the same device key set is assigned to multiple players. If any one of these players is hacked and the device key set of this player is exposed, there is a problem that other players with the same device key set should also be discarded.
이러한 문제점을 해결하기 위하여, 스크램블 기반 갱신 방식(scramble-based renewability scheme)이 등장하였다. 이 방식은 디스크에 컨텐트를 저장할 때, 컨텐트의 중간 중간에 스크램블(scramble)을 걸고, AACS 규격에 따라 암호화한다. 따 라서, 플레이어가 원래의 컨텐트를 복원하기 위해서는 AACS 규격에 따라 디스크에 저장된 스트림을 해독한 후에 컨텐트의 중간 중간에 걸린 스크램블도 풀어야 한다. In order to solve this problem, a scramble-based renewability scheme has emerged. This method scrambles in the middle of the content when storing the content on disk, and encrypts it according to the AACS standard. Therefore, in order to restore the original content, the player must decode the stream stored on the disc according to the AACS standard, and then unscramble the middle of the content.
이 방식에 따르면, 스크램블을 푸는 역할을 하는 컨텐트 코드(content code)가 디스크에 저장된다. 이 컨텐트 코드는 컨텐트 재생 전에 미리 실행되면서, 컨텐트 재생에 문제가 있는지를 판단한다. 예를 들면, 플레이어가 디바이스 키 셋을 노출한 플레이어인지를 판단하거나, 컨텐트의 불법 복제물이 돌고 있는지 등을 판단한다. 그 결과, 컨텐트 재생에 문제가 없는 것으로 판단된 경우에만 디스크램블(descramble)을 수행하고, 문제가 있는 것으로 판단된 경우에는 디스크램블을 수행하지 않는다. 바꾸어 말하면, 플레이어는 한 번 판매되면, 다시 이것을 갱신하는 것이 어렵지만, 디스크의 경우 디스크마다 상기된 바와 같은 컨텐트 코드를 삽입함으로서 컨텐트 레벨의 갱신을 가능하게 할 수 있다. According to this method, content code, which serves to solve scramble, is stored on the disk. This content code is executed before the content is played back to determine whether there is a problem with the content being played. For example, it is determined whether the player has exposed the device key set, whether illegal copies of the content are running, and the like. As a result, descramble is performed only when it is determined that there is no problem in content reproduction, and descramble is not performed when it is determined that there is a problem. In other words, once the player is sold, it is difficult to update it again, but in the case of a disc, the content level can be updated by inserting the content code as described above for each disc.
도 1은 종래의 디스크램블 방식에 따른 플레이어의 구성도이다.1 is a block diagram of a player according to a conventional descramble method.
도 1을 참조하면, 종래의 디스크램블에 따른 플레이어(2)는 트랙 버퍼(track buffer)(21), 해독부(decrypt)(22), 버퍼(23), 디먹스(demux)(24), 복호화부(decoder)(25), AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(virtual machine)(26), 플레이어 정보 데이터베이스(27), SP 레지스터(28), 연산부(29) 및 겹쳐쓰기부(30)로 구성된다.Referring to FIG. 1, a
트랙 버퍼(21)는 디스크(1)로부터 AV 스트림을 독출하고, 해독부(22)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(21)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The
해독부(22)는 AACS 규격에 따라 트랙 버퍼(21)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(21)에 저장된 AV 스트림을 해독한다. The
버퍼(23)는 복호화부(25)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(22)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(23)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG(Moving Picture Experts Group)-2 규격에 따라 부호화된 형태의 AV 스트림이다. The
디먹스(24)는 MPEG-2 규격에 따라 버퍼(23)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(23)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 특히, 디먹스(24)는 버퍼(23)에 저장된 AV 스트림으로부터 마스크 교정 테이블(masked Fix-up Table)을 포함하는 PMT(Program Map Table) 패킷을 검색하고, 이 PMT 패킷으로부터 마스크 교정 테이블을 추출한다. The
교정 테이블은 AV 스트림의 중간 중간에 걸린 스크램블로 인하여 변형된 AV 스트림의 변형 부분을 교정하기 위한 디스크램블 정보가 기록된 테이블이다. 마스크 교정 테이블은 교정 테이블의 값들이 용이하게 파악될 수 없도록 이 교정 테이블의 값들과 비밀 파라미터 값들을 배타적 논리합한 값이다. 마스크란 용어는 난독(obfuscate)이란 용어로 표현될 수도 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. The calibration table is a table in which descramble information for correcting the deformed portion of the deformed AV stream due to the scramble in the middle of the AV stream is recorded. The mask correction table is an exclusive OR of the values of the correction table and the secret parameter values so that the values of the correction table cannot be easily understood. Those skilled in the art can understand that the term mask may be expressed by the term obfuscate.
도 2는 종래의 디스크램블 방식에 따른 교정 테이블의 구조도이다.2 is a structural diagram of a calibration table according to a conventional descramble method.
도 2를 참조하면, "SP_ID" 필드는 교정 테이블의 배타적 논리합에 사용된 비 밀 파라미터 값의 아이디를 나타낸다. "FixUpEntry"는 스크램블로 인한 변형을 교정하기 위한 실질적인 정보인 교정 엔트리를 나타낸다.Referring to FIG. 2, the field "SP_ID" indicates an ID of a secret parameter value used for an exclusive OR of a calibration table. &Quot; FixUpEntry " represents a calibration entry which is substantial information for correcting the deformation due to scramble.
도 3은 종래의 디스크램블 방식에 따른 교정 엔트리의 구조도이다.3 is a structural diagram of a calibration entry according to a conventional descramble method.
도 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" 필드는 겹쳐쓰기될 두 번째 값을 나타낸다. Referring to Fig. 3, the "type_indicator" field indicates the processing type of the calibration table. That is, the value "00b" of this field indicates that there is no deformation due to scramble, "01b" indicates that there is deformation due to scramble, and "10b" indicates that it is forensic. The "FM_ID_bit_position" field indicates the bit position of the forensic mark ID for forensic marking. The "relative_SPN (Source Packet Number) _1" field indicates a relative packet number from the PMT packet to the first modified packet. The "relative_SPN_2" field indicates a relative packet number from the PMT packet to the second modified packet. The "byte_position_1" field indicates the start byte position of transform data in the first packet. The "byte_position_2" field indicates the start byte position of transform data in the second packet. "overwrite_value_1" represents the first value to be overwritten. The "overwrite_value_2" field indicates a second value to be overwritten.
복호화부(25)는 MPEG-2 규격에 따라 디먹스(24)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. The
AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)는 디스크(1)로부터 이 디스크(1)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기(secure) 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크(forensic mark) 아이디를 생성한 다. 보다 상세하게 설명하면, AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)는 플레이어 정보 데이터베이스(27)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(2)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하지 않는다. The
포렌식 마크는 비밀 파라미터와 같이 AV 컨텐트의 직접적인 보호에 관여하지는 않지만, 만약 포렌식 마크를 갖는 컨텐트가 손상된 플레이어에서 재생되면, 이 컨텐트 상에 이 플레이어 특유의 마크를 만든다. 이 컨텐트가 공공에 노출된 후, 컨텐트 소유자는 노출된 컨텐트 상의 포렌식 마크를 확인함으로서 손상된 플레이어를 알아낼 수 있다. Forensic marks are not involved in the direct protection of AV content like secret parameters, but if the content with forensic marks is played in a compromised player, a mark specific to this player is created on this content. After this content is exposed to the public, the content owner can identify the compromised player by checking the forensic mark on the exposed content.
SP 레지스터(28)는 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 저장한다.The SP register 28 stores secret parameter values, secret parameter IDs, and forensic mark IDs generated by the
연산부(29)는 SP 레지스터(28)에 저장된 비밀 파라미터 값들과 디먹스(24)에 의해 추출된 마스크 교정 테이블을 배타적 논리합(XOR)함으로서 원래의 교정 테이블을 복원한다. 마스크 교정 테이블은 원래의 교정 테이블에 대해 비밀 파라미터 값들로 배타적 논리합 연산이 수행된 것이므로, 연산부(29)는 이러한 마스크 교정 테이블을 상기 배타적 논리합 연산에 사용된 비밀 파라미터 값들과 동일한 값들로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 테이블을 복원한다.The
겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블에 기초하여 버퍼(23)에 저장된 데이터 패킷들 중 스크램블에 의해 변형된 패킷의 변형 위치에 디스크램블 값을 겹쳐쓰기함으로서 버퍼(23)에 저장된 데이터 패킷들의 스크램블 부분을 디스크램블한다. The
도 4는 종래의 디스크램블 방식에 따른 디스크램블 동작을 도시한 도면이다.4 is a diagram illustrating a descrambling operation according to a conventional descramble method.
도 4를 참조하면, 디먹스(24)는 버퍼(23)로부터 출력된 AV 스트림을 구성하는 패킷들 중에서 교정 테이블 기술자를 포함하는 PMT 패킷을 검색하고, 이 PMT 패킷 내의 마스크 교정 테이블을 출력한다. 연산부(29)는 디먹스(24)로부터 출력된 교정 테이블과 비밀 파라미터 값들을 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블의 "relative_SPN_1" 필드의 값 및 "relative_SPN_2" 필드의 값으로부터 스크램블로 인하여 변형된 첫 번째 패킷과 두 번째 패킷의 상대적 위치를 각각 알아내고, 이 위치들에 디스크램블 값을 겹쳐쓰기한다.4, the
도 5는 종래의 디스크램블 방식의 문제점을 도시한 도면이다.5 is a diagram illustrating a problem of a conventional descramble method.
도 5를 참조하면, 겹쳐쓰기부(30)가 버퍼(23)에 저장된 전송 스트림의 어느 위치에 디스크램블 값을 겹쳐쓰기하고자 할 때, 이 위치 계산의 기초가 되는 PMT 패킷은 버퍼(23) 내에 있지 않고, 디먹스(24) 내에서 이미 디먹싱 처리를 당한 상태이다. 이로 인하여, 버퍼(23)에 저장된 전송 스트림의 변형 부분의 위치를 계산 하기가 용이하지 않다는 문제점이 있었다. 또한, 버퍼(23)에 저장된 전송 스트림의 변형 부분의 위치 계산이 신속하게 이루어지지 않을 경우, 버퍼(23)에 저장된 전송 스트림의 변형 부분이 그대로 출력될 수도 있다는 문제점이 있었다. 따라서, 이동 단말 등 저사양 CPU(Central Processing Unit)를 사용하는 디바이스는 이와 같은 속도의 제약 때문에 디스크램블을 소프트웨어적으로 처리할 수 없게 된다. Referring to FIG. 5, when the
본 발명이 이루고자 하는 기술적 과제는 AV 컨텐트의 중간 중간에 걸린 스크램블에 대한 디스크램블 작업을 신속하게 처리할 수 있는 방법 및 장치를 제공하는데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a method and an apparatus capable of quickly processing a descrambling operation for a scramble in the middle of an AV content. The present invention also provides a computer-readable recording medium having recorded thereon a program for executing the method on a computer.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 디스크램블 방법은 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷에 대해 상기 스트림의 변형 부분을 교정하기 위한 정보를 확인하는 단계; 상기 확인된 정보로부터 상기 패킷들 중 상기 스트림의 변형 부분을 교정하기 위한 정보의 확인이 필요한 제 2 패킷의 위치 정보를 획득하는 단계; 및 상기 확인된 정보에 기초하여 상기 스트림을 선택적으로 디스크램블하는 단계를 포함한다. The descrambling method according to the present invention for solving the technical problem comprises the steps of identifying information for correcting the modified portion of the stream with respect to the first packet of the packets constituting the modified stream due to scramble; Obtaining location information of a second packet requiring identification of information for correcting a modified portion of the stream of the packets from the identified information; And selectively descrambled the stream based on the identified information.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 디스크램블 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above other technical problem, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the above descrambling method on a computer.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 디스크램블 장치는 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷에 대해 상기 스트림의 변형 부분을 교정하기 위한 정보를 확인하고, 상기 확인된 정보로부터 상기 패킷들 중 상기 정보의 확인이 필요한 제 2 패킷의 위치 정보를 추출하는 확인부; 및 상기 확인된 정보가 상기 제 1 패킷에 상기 스크램블로 인한 변형이 있음을 나타내면, 상기 제 1 패킷의 변형 부분의 위치에 상기 제 1 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함한다.According to another aspect of the present invention, a descrambler according to the present invention checks information for calibrating a deformed portion of a stream with respect to a first packet among packets constituting a deformed stream due to scramble, and confirms the information. A verification unit for extracting location information of a second packet requiring verification of the information from the received information; And if the checked information indicates that the first packet is deformed due to the scrambling, overwriting an overwrite of a descramble value for correcting the deformed portion of the first packet at a position of the deformed portion of the first packet. It includes a writing unit.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체는 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 정보를 나타내는 필드들을 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체로서, 상기 정보 중 상기 변형 부분을 교정하기 위한 실질적인 정보를 나타내는 제 1 필드; 및 상기 정보 중 제 1 패킷으로부터 상기 정보의 확인이 필요한 제 2 패킷의 위치 정보를 나타내는 제 2 필드를 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체이다.The computer-readable recording medium which records the data structure according to the present invention for solving the above technical problem is a computer having a data structure including fields representing information for correcting the deformed portion of the stream deformed due to scramble. 12. A record carrier readable by means of: a first field indicating substantial information for calibrating the deformed portion of the information; And a second field indicating position information of a second packet requiring confirmation of the information from the first packet among the information.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 6은 본 발명의 바람직한 일 실시예에 따른 플레이어의 구성도이다.6 is a block diagram of a player according to an embodiment of the present invention.
도 6을 참조하면, 본 실시예에 따른 플레이어(6)는 트랙 버퍼(61), 해독부(62), 버퍼(63), 디먹스(64), 복호화부(65), 가상 머신(66), 플레이어 정보 데이터베이스(67), SP 레지스터(68), FUT 확인부(69), 연산부(70) 및 겹쳐쓰기부(71)로 구성된다. 특히, 본 실시예에 따른 플레이어(6)로 입력되는 AV 스트림은 전체 교정 테이블로부터 분할된 교정 테이블들이 먹싱된 스트림이다. 교정 테이블 들 각각은 스트림의 전체 변형 부분들 중 두 개의 변형 부분을 교정하기 위한 정보를 포함한다. 교정 테이블들 각각이 전체 교정 테이블로부터 분할되었다는 측면에서 교정 테이블 엔트리로 호칭될 수도 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. Referring to FIG. 6, the
트랙 버퍼(61)는 디스크(5)로부터 AV 스트림을 독출하고, 해독부(62)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(61)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The
해독부(62)는 AACS 규격에 따라 트랙 버퍼(61)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(61)에 저장된 AV 스트림을 해독한다. The
버퍼(63)는 복호화부(65)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(62)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(63)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. The
디먹스(64)는 MPEG-2 규격에 따라 버퍼(63)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(63)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 본 실시예에 따르면, 디먹스(64)는 종래와 달리 버퍼(63)에 저장된 AV 스트림으로부터 마스크 교정 엔트리를 추출하지는 않는다. 이러한 기능은 FUT 확인부(69)가 담당한다.The
복호화부(65)는 MPEG-2 규격에 따라 디먹스(64)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. The
가상 머신(66)은 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성한다. 보다 상세하게 설명하면, 가상 머신(66)은 플레이어 정보 데이터베이스(67)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(6)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하지 않는다. The
SP 레지스터(68)는 가상 머신(66)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 저장한다.The SP register 68 stores secret parameter values, secret parameter IDs, and forensic mark IDs generated by the
FUT 확인부(69)는 버퍼(63)에 저장된 AV 스트림을 구성하는 패킷들 중 어느 하나의 PMT 패킷에 대해 AV 스트림의 변형 부분을 교정하기 위한 정보가 기록된 테이블인 교정 테이블을 확인(check)한다. FUT 확인부(69)는 PMT 패킷들에 대한 교정 테이블의 확인만을 수행함으로서 보다 신속하게 교정 테이블을 확인할 수 있다. The
도 7은 본 발명의 바람직한 일 실시예에 따른 교정 테이블의 구조도이다.7 is a structural diagram of a calibration table according to an embodiment of the present invention.
도 7을 참조하면, "SP_ID" 필드는 비밀 파라미터 값의 아이디를 나타내며, 마스크되어 있지 않다. "FixUpEntry" 필드는 스크램블로 인한 변형을 교정하기 위한 실질적인 정보인 교정 엔트리를 나타내며, 마스크되어 있다. "Offset_SPN_to_next_FixUP" 필드는 현재 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷의 상대적인 위치 정보를 나타내며, 마스크되어 있지 않다. Referring to FIG. 7, the "SP_ID" field indicates an ID of a secret parameter value and is not masked. The "FixUpEntry" field indicates a calibration entry, which is substantial information for correcting the deformation due to scramble, and is masked. The "Offset_SPN_to_next_FixUP" field indicates relative position information of the next PMT packet which needs to check the calibration table from the current PMT packet and is not masked.
FUT 확인부(69)는 도 7에 도시된 교정 테이블의 "SP_ID" 필드로부터 비밀 파라미터 값의 아이디를 추출한다. FUT 확인부(69)는 도 7에 도시된 교정 테이블의 "Offset_SPN_to_next_FixUP" 필드로부터 현재 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷의 상대적인 위치 정보를 추출한다. The
도 8은 본 발명의 바람직한 일 실시예에 따른 교정 테이블 확인 동작을 도시한 도면이다. 8 is a diagram illustrating a calibration table checking operation according to an exemplary embodiment of the present invention.
플레이어(6)는 사용자의 선택에 따라 디스크에 저장된 AV 스트림의 처음부터 재생할 수도 있고, 중간부터 재생할 수도 있다. 이에 따라, FUT 확인부(69)는 사용자에 의해 선택된 재생 시작 지점으로부터 처음으로 등장하는 PMT 패킷에 대해 교정 테이블을 확인한다. 이를 위하여, 도 8에 도시된 바와 같이 AV 스트림의 PMT 패킷들 각각은 교정 테이블을 포함하고 있다. 다만, PMT 패킷들에 포함된 모든 교정 테이블이 AV 스트림의 변형 부분을 교정하기 위한 실질적인 정보인 마스크 교정 엔트리를 포함하고 있지는 않다. 즉, PMT 패킷들 중 일부는 마스크 교정 엔트리를 포함하고 있으나, 나머지는 교정 테이블의 확인이 필요한 PMT 패킷의 상대적인 위치 정보만을 포함하고 있을 뿐이다. 다만, 후자에 해당하는 PMT 패킷들 중 포렌식 마킹을 위한 포렌식 마크 아이디의 비트 위치를 포함하고 있는 PMT 패킷들도 있다.The
도 8을 참조하면, FUT 확인부(69)는 다음 PMT 패킷의 상대적 위치 정보를 참조하여 현재 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷 사이에 존재하는 PMT 패킷들에 대한 교정 테이블의 확인을 생략하고, 바로 교정 테이블의 확인이 필요한 다음 PMT 패킷에 대해 교정 테이블을 확인한다. 여기에서, 다음 PMT 패킷의 상대적 위치 정보란 현재 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷이 몇 패킷 떨어져 있는지를 나타내는 상대적인 패킷 넘버를 말한다. 즉, FUT 확인부(69)는 현재 PMT 패킷의 넘버에 다음 PMT 패킷의 상대적인 패킷 넘버를 가산한 값에 해당하는 위치에 존재하는 다음 PMT 패킷에 대해 교정 테이블을 확인한다.Referring to FIG. 8, the
예를 들어, 사용자에 의해 선택된 재생 시작 지점이 도 8에 도시된 왼쪽 화살표(810)라면, FUT 확인부(69)는 이 지점으로부터 처음으로 등장하는 PMT 패킷 A(81)에 대해 교정 테이블을 확인한다. 이어서, FUT 확인부(69)는 PMT 패킷 A(81)의 교정 테이블로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷, 즉 PMT 패킷 B(82)의 상대적인 패킷 넘버를 추출하고, 이것을 참조하여 PMT 패킷 B(82)에 대해 교정 테이블을 확인한다. 이어서, FUT 확인부(69)는 PMT 패킷 B(82)의 교정 테이블로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷, 즉 PMT 패킷 D(84)의 상대적인 패킷 넘버를 추출하고, 이것을 참조하여 PMT 패킷 D(84)에 대해 교정 테이블을 확인한다. 이 경우, PMT 패킷 C(83)에 대한 교정 테이블 확인은 생략된다. 이것은 PMT 패킷 C(83)가 교정 테이블의 확인이 필요하지 않은 PMT 패킷이기 때문이다. For example, if the playback start point selected by the user is the
만약, 사용자에 의해 선택된 재생 시작 지점이 도 8에 도시된 오른쪽 화살표 (820)라면, FUT 확인부(69)는 이 지점으로부터 처음으로 등장하는 PMT 패킷 C(83)에 대해 교정 테이블을 확인한다. 이어서, FUT 확인부(69)는 PMT 패킷 C(83)의 교정 테이블로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷, 즉 PMT 패킷 D(84)의 상대적인 패킷 넘버를 추출하고, 이것을 참조하여 PMT 패킷 D(84)에 대해 교정 테이블을 확인한다. 이 경우, PMT 패킷 C(83)에 대한 교정 테이블 확인은 수행된다. 이것은 PMT 패킷 C(83)가 교정 테이블의 확인이 필요하지 않은 PMT 패킷이기는 하나, 사용자에 의해 선택된 재생 시작 지점으로부터 처음으로 등장하는 PMT 패킷이기 때문이다. If the playback start point selected by the user is the
즉, FUT 확인부(69)는 사용자에 의해 선택된 임의의 재생 시작 지점으로부터 처음으로 등장하는 PMT 패킷에 대해 교정 테이블을 확인하고, 이후부터는 모든 PMT 패킷에 대해 교정 테이블 확인을 할 필요 없이, 교정 테이블의 확인이 필요한 PMT 패킷에 대해서만 교정 테이블을 확인한다. That is, the
다시 도 7을 참조하면, FUT 확인부(69)는 도 7에 도시된 교정 테이블의 "FixUpEntry" 필드로부터 마스크 교정 엔트리를 추출한다.Referring back to FIG. 7, the
연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값과 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 엔트리를 복원한다. 마스크 교정 엔트리는 원래의 교정 엔트리에 대해 비밀 파라미터 값으로 배타적 논리합 연산이 수행된 것이므로, 연산부(68)는 이러한 마스크 교정 엔트리를 배타적 논리합 연산에 사용된 비밀 파라미터 값과 동일한 값으로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 엔트리를 복원한다. The
다만, SP 레지스터(68)에 저장된 비밀 파라미터 값의 아이디와 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리의 배타적 논리합에 사용된 아이디가 서로 일치하여야 한다. 즉, 연산부(70)는 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리의 배타적 논리합에 사용된 아이디에 대응하는 비밀 파라미터 값을 SP 레지스터(68)로부터 추출하고, 이것과 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 엔트리를 복원한다. However, the ID of the secret parameter value stored in the
도 9는 본 발명의 바람직한 일 실시예에 따른 교정 엔트리의 구조도이다.9 is a structural diagram of a calibration entry according to one preferred embodiment of the present invention.
도 9를 참조하면, "type_indicator" 필드는 교정 테이블의 처리 타입을 나타낸다. 즉, 이 필드의 값 "00b"는 스크램블로 인한 변형이 없음을 나타내고, "01b"는 스크램블로 인한 변형이 있음을 나타내고, "10b"는 포렌식임을 나타낸다. "FM_ID_bit_position" 필드는 포렌식 마킹을 위한 포렌식 마크 아이디의 비트 위치를 나타낸다. "relative_SPN(Source Packet Number)_1" 필드는 PMT 패킷으로부터 첫 번째 변형 패킷까지의 상대적 패킷 넘버를 나타낸다. "relative_SPN_2" 필드는 PMT 패킷으로부터 두 번째 변형 패킷까지의 상대적 패킷 넘버를 나타낸다. "byte_position_1" 필드는 첫 번째 패킷 내 변형 데이터의 시작 바이트 위치를 나타낸다. "byte_position_2" 필드는 두 번째 패킷 내 변형 데이터의 시작 바이트 위치를 나타낸다. "overwrite_value_1"은 겹쳐쓰기될 첫 번째 값을 나타낸다. "overwrite_value_2" 필드는 겹쳐쓰기될 두 번째 값을 나타낸다. Referring to Fig. 9, the "type_indicator" field indicates the processing type of the calibration table. That is, the value "00b" of this field indicates that there is no deformation due to scramble, "01b" indicates that there is deformation due to scramble, and "10b" indicates that it is forensic. The "FM_ID_bit_position" field indicates the bit position of the forensic mark ID for forensic marking. The "relative_SPN (Source Packet Number) _1" field indicates a relative packet number from the PMT packet to the first modified packet. The "relative_SPN_2" field indicates a relative packet number from the PMT packet to the second modified packet. The "byte_position_1" field indicates the start byte position of transform data in the first packet. The "byte_position_2" field indicates the start byte position of transform data in the second packet. "overwrite_value_1" represents the first value to be overwritten. The "overwrite_value_2" field indicates a second value to be overwritten.
겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 엔트리에 기초하여 버퍼(63)에 저장된 AV 스트림의 변형 부분을 선택적으로 디스크램블한다. 보다 상세하 게 설명하면, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 엔트리의 "type_indicator" 필드의 값이 "00b", 즉 스크램블로 인한 변형이 없음을 나타내면, 버퍼(63)에 저장된 AV 스트림의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하지 않고, 나머지 필드들의 값을 무시한다. 또한, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 엔트리의 "type_indicator" 필드의 값이 "01b", 즉 스크램블로 인한 변형이 있음을 나타내면, 버퍼(63)에 저장된 AV 스트림의 패킷들 중 어떤 패킷의 변형 부분의 위치에 이 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기함으로서 AV 스트림의 중간 중간에 걸린 스크램블이 풀리게 된다. The
또한, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 엔트리의 "type_indicator" 필드의 값이 "10b", 즉 포렌식임을 나타내면, 교정 엔트리의 "FM_ID_bit_position" 필드에 의해 지시되는 포렌식 마크 아이디의 비트가 1인 경우에만 버퍼(63)에 저장된 AV 스트림의 패킷들 중 어떤 패킷의 변형 부분의 위치에 이 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다. In addition, the
도 10은 본 발명의 바람직한 일 실시예에 따른 디스크램블 동작을 도시한 도면이다.10 illustrates a descramble operation according to an embodiment of the present invention.
도 10을 참조하면, FUT 확인부(69)는 교정 테이블의 확인이 필요한 PMT 패킷 중 마스크 교정 엔트리를 포함하는 PMT 패킷으로부터 마스크 교정 엔트리를 추출한다. 이어서, 연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값과 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 테이블을 복원한다. 이어서, 겹쳐쓰기부(71)는 FUT 확인부(69)에 의해 확인된 현재 PMT 패킷의 넘버에 교정 엔트리의 "relative_SPN(Source Packet Number)_1" 필드의 값, 즉 첫 번째 변형 패킷의 상대적 패킷 넘버를 가산함으로서 첫 번째 변형 패킷의 패킷 넘버를 계산한다. Referring to FIG. 10, the
이와 같이, 겹쳐쓰기부(71)는 마스크 교정 엔트리를 포함하는 PMT 패킷의 넘버를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산하기 때문에 마스크 교정 엔트리를 포함하는 PMT 패킷이 버퍼(63)를 이미 빠져나갔고, 그 후 몇 개의 패킷들이 추가로 빠져나갔는지를 고려하지 않아도 된다. 이어서, 겹쳐쓰기부(71)는 첫 번째 변형 패킷의 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_1" 필드의 값, 즉 변형 데이터의 시작 바이트 위치부터 교정 엔트리의 "overwrite_value_1"의 값, 즉 겹쳐쓰기될 첫 번째 값을 겹쳐쓰기한다. In this way, since the
이어서, 겹쳐쓰기부(71)는 FUT 확인부(69)에 의해 확인된 현재 PMT 패킷의 넘버에 교정 엔트리의 "relative_SPN(Source Packet Number)_2" 필드의 값, 즉 두 번째 변형 패킷의 상대적 패킷 넘버를 가산함으로서 두 번째 변형 패킷의 패킷 넘버를 계산한다. 이어서, 겹쳐쓰기부(71)는 두 번째 변형 패킷의 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_2" 필드의 값, 즉 변형 데이터의 시작 바이트 위치부터 교정 엔트리의 "overwrite_value_2"의 값, 즉 겹쳐쓰기될 두 번째 값을 겹쳐쓰기한다. Subsequently, the overwriting
도 11은 본 발명의 바람직한 일 실시예에 따른 플레이어의 구성도이다.11 is a block diagram of a player according to an embodiment of the present invention.
도 11을 참조하면, 본 실시예에 따른 플레이어(10)는 트랙 버퍼(101), 해독부(102), 버퍼(103), 디먹스(104), 복호화부(105), 가상 머신(106), 플레이어 정보 데이터베이스(107), SP 레지스터(108), 연산부(109) 및 겹쳐쓰기부(110)로 구성된다. 본 실시예에 따른 플레이어(10)는 도 6에 도시된 플레이어(6)와 거의 동일하나, 디먹스(104)가 종래의 디먹싱 기능과 함께 FUT 확인부(69)의 기능도 수행한다.Referring to FIG. 11, the player 10 according to the present embodiment includes a
상기된 구성 이외에도 플레이어는 다양한 형태의 구성으로 설계될 수 있으나, 그 구성이 나타내는 본질적 특징은 동일함을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. In addition to the above-described configuration, the player may be designed in various forms, but those skilled in the art may understand that the essential features of the configuration are the same.
도 12-13은 본 발명의 바람직한 일 실시예에 따른 컨텐트 복원 방법의 흐름도이다.12-13 are flowcharts of a content restoration method according to an embodiment of the present invention.
도 12-13을 참조하면, 본 실시예에 따른 컨텐트 복원 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 컨텐트 복원 방법은 도 6에 도시된 플레이어(6)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 6에 도시된 플레이어(6)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 컨텐트 복원 방법에도 적용된다. 12-13, the content restoration method according to the present embodiment is composed of the following steps. The content reconstruction method according to the present embodiment is composed of steps that are processed in time series in the
121 단계에서 플레이어(6)는 디스크(5)로부터 AV 스트림을 독출하고, 이 AV 스트림을 일시적으로 저장한다. 121 단계에서 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.In
122 단계에서 플레이어(6)는 AACS 규격에 따라 121 단계에서 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 121 단계에서 저장된 AV 스트림을 해독한다. In
123 단계에서 플레이어(6)는 122 단계에서 해독된 AV 스트림을 일시적으로 저장한다. 123 단계에서 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. In
124 단계에서 플레이어(6)는 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. In
125 단계에서 플레이어(6)는 124 단계에서 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.In
126 단계에서 플레이어(6)는 123 단계에서 저장된 AV 스트림을 구성하는 패킷들 중 사용자에 의해 선택된 재생 시작 지점으로부터 처음으로 등장하는 PMT 패킷에 대해 교정 테이블을 확인한다. In
127 단계에서 플레이어(6)는 126 단계 또는 136 단계에서 확인된 교정 테이블의 "SP_ID" 필드로부터 비밀 파라미터 값의 아이디를 추출하고, "FixUpEntry" 필드로부터 마스크 교정 엔트리를 추출하고, "Offset_SPN_to_next_FixUP" 필드로부터 현재의 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷의 상대적인 패킷 넘버를 추출한다. In
128 단계에서 플레이어(6)는 125 단계에서 저장된 비밀 파라미터 값과 127 단계에서 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 엔트리를 복원한다. In
129 단계에서 플레이어(6)는 128 단계에서 복원된 교정 엔트리의 "type_indicator" 필드의 값이 "00b"이면 136 단계로 진행하고, "type_indicator" 필드의 값이 "01b"이면 130 단계로 진행하고, "type_indicator" 필드의 값이 "10b"이면 135단계로 진행한다.In
130 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 126 단계에서 확인된 교정 엔트리의 "relative_SPN(Source Packet Number)_1" 필드의 값을 가산함으로서 첫 번째 변형 패킷의 패킷 넘버를 계산하고, 이 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_1" 필드의 값에 해당하는 위치로부터 교정 엔트리의 "overwrite_value_1"의 값을 겹쳐쓰기한다. In
또한, 130 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 126 단계에서 확인된 교정 엔트리의 "relative_SPN(Source Packet Number)_2" 필드의 값을 가산함으로서 두 번째 변형 패킷의 패킷 넘버를 계산하고, 이 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_2" 필드의 값에 해당하는 위치로부터 교정 엔트리의 "overwrite_value_2"의 값을 겹쳐쓰기한다.Further, in
131 단계에서 플레이어(6)는 교정 엔트리의 "FM_ID_bit_position" 필드에 의해 지시되는 포렌식 마크 아이디의 비트가 1인 경우에만 123 단계에서 저장된 AV 스트림의 패킷들 중 어떤 패킷의 변형 부분의 위치에 이 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다.In
132 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 127 단계에서 추출된 다음 PMT 패킷의 상대적인 패킷 넘버를 가산한 값에 해당하는 위치에 교정 테이블의 확인이 필요한 다음 PMT 패킷이 존재하면 133 단계로 진행하고, 다음 PMT 패킷 이 존재하지 않으면 134 단계로 진행한다.In step 132, the
133 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 127 단계에서 추출된 다음 PMT 패킷의 상대적인 패킷 넘버를 가산한 값에 해당하는 위치에 존재하는 다음 PMT 패킷에 대해 교정 테이블을 확인하고, 134 단계로 진행함과 동시에 127 단계로 돌아간다.In
134 단계에서 플레이어(6)는 MPEG-2 규격에 따라 124 단계 ~ 135 단계에 의해 디스크램블된 AV 스트림을 디먹싱함으로서 123 단계에서 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. In
135 단계에서 플레이어(6)는 MPEG-2 규격에 따라 134 단계에서 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. In
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described embodiment of the present invention can be recorded on the computer-readable recording medium through various means.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
본 발명에 따르면, 스크램블로 인하여 변형된 AV 스트림을 구성하는 패킷들 중 어느 하나의 PMT 패킷에 대해 교정 테이블을 확인하고, 이 교정 테이블로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷의 위치 정보를 획득함으로서 AV 스트림으로부터 교정 테이블의 확인이 필요한 PMT 패킷의 위치를 신속하게 찾을 수 있다는 효과가 있다. 이에 따라, 디스크램블 작업의 속도가 증가되고, 디스크램블로 인한 시스템 부하가 줄어들게 되어, 이동 단말 등 저사양 CPU를 사용하는 디바이스도 디스크램블을 소프트웨어적으로 처리할 수 있게 되었다. According to the present invention, by checking the calibration table for any one PMT packet of the packets constituting the modified AV stream due to scramble, and by obtaining the position information of the next PMT packet that needs to check the calibration table from this calibration table There is an effect that it is possible to quickly find the position of the PMT packet which needs to check the calibration table from the AV stream. Accordingly, the speed of the descramble operation is increased, and the system load due to the descramble is reduced, so that a device using a low specification CPU such as a mobile terminal can process the descramble by software.
Claims (18)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US74147805A | 2005-12-02 | 2005-12-02 | |
| US60/741,478 | 2005-12-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20070058288A true KR20070058288A (en) | 2007-06-08 |
Family
ID=38355247
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020060023930A Abandoned KR20070058288A (en) | 2005-12-02 | 2006-03-15 | Method and apparatus for descrambling av stream |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20070058288A (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000016170A (en) * | 1996-05-31 | 2000-03-25 | 크리트먼 어윈 엠 | Program specific information formation for digital data processing |
| KR20010098947A (en) * | 2000-04-28 | 2001-11-08 | 이데이 노부유끼 | Information transmission method, information processing method and apparatus, and information recording/reproducing method and apparatus |
| KR20010101408A (en) * | 1999-11-10 | 2001-11-14 | 엔디에스 리미티드 | System for data stream processing |
| KR20040073347A (en) * | 2003-02-11 | 2004-08-19 | 톰슨 라이센싱 에스.에이. | Method of recording scrambled digital data, storage medium and method of reading such data |
| KR20050103928A (en) * | 2003-02-18 | 2005-11-01 | 제니스 일렉트로닉스 코포레이션 | Robust system for transmitting and receiving map data |
-
2006
- 2006-03-15 KR KR1020060023930A patent/KR20070058288A/en not_active Abandoned
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000016170A (en) * | 1996-05-31 | 2000-03-25 | 크리트먼 어윈 엠 | Program specific information formation for digital data processing |
| KR20010101408A (en) * | 1999-11-10 | 2001-11-14 | 엔디에스 리미티드 | System for data stream processing |
| KR20010098947A (en) * | 2000-04-28 | 2001-11-08 | 이데이 노부유끼 | Information transmission method, information processing method and apparatus, and information recording/reproducing method and apparatus |
| KR20040073347A (en) * | 2003-02-11 | 2004-08-19 | 톰슨 라이센싱 에스.에이. | Method of recording scrambled digital data, storage medium and method of reading such data |
| KR20050103928A (en) * | 2003-02-18 | 2005-11-01 | 제니스 일렉트로닉스 코포레이션 | Robust system for transmitting and receiving map data |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101278075B1 (en) | Playing apparatus, method and apparatus for manufacturing information recording medium, recording medium, and authoring apparatus | |
| CN1914852B (en) | Information processing device and information processing method | |
| BRPI0617419A2 (en) | renewable traitor tracking | |
| US8571209B2 (en) | Recording keys in a broadcast-encryption-based system | |
| US8510852B2 (en) | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, method, and computer program | |
| US20090086966A1 (en) | Reproduction apparatus, reproduction method and information recording medium | |
| US20040268128A1 (en) | Information recording medium drive device, information processing apparatus, data replay control system, data replay control method, and computer program | |
| US8964978B2 (en) | Method and apparatus for efficiently fixing transformed part of content | |
| JP4862949B2 (en) | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program | |
| KR100762957B1 (en) | Method and apparatus for descrambling AV stream | |
| KR20070058288A (en) | Method and apparatus for descrambling av stream | |
| JP4862958B2 (en) | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program | |
| JP4905585B2 (en) | Information recording medium and program | |
| JP4862957B2 (en) | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program | |
| JP2008311961A (en) | Playback apparatus and decoding method | |
| JP2016042687A (en) | Content processing method, content processing device and recording medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20060315 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20070426 Patent event code: PE09021S01D |
|
| PG1501 | Laying open of application | ||
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20071025 |
|
| NORF | Unpaid initial registration fee | ||
| PC1904 | Unpaid initial registration fee |