[go: up one dir, main page]

KR20070058288A - Method and apparatus for descrambling av stream - Google Patents

Method and apparatus for descrambling av stream Download PDF

Info

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
Application number
KR1020060023930A
Other languages
Korean (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 KR20070058288A publication Critical patent/KR20070058288A/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction 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

A method and an apparatus for descrambling an AV(Audio Visual) stream are provided to quickly process a descramble work for a scramble loaded in the middle of AV contents. A confirming unit(69) confirms information for correcting a modified part of a stream with respect to the first packet among packets composing the stream modified by a scramble, and extracts position information of the second packet necessary for confirming the information among the packets from the confirmed information. If the confirmed information indicates that modification by the scramble exists in the first packet, an overwrite unit(71) overwrites a descramble value for correcting the modified part of the first packet on a position of the modified part of the first packet.

Description

AV(Audio Visul)스트림을 디스크램블하는 방법 및 장치{Method and apparatus for descrambling AV stream} Method and apparatus for descrambling AV stream {Method and apparatus for descrambling AV stream}

도 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 player 2 according to a conventional descramble includes a track buffer 21, a decryption unit 22, a buffer 23, a demux 24, Decoder 25, a virtual machine 26 for protecting AV content included in the AV stream, player information database 27, SP register 28, arithmetic unit 29 and overwriting It is comprised by the part 30.

트랙 버퍼(21)는 디스크(1)로부터 AV 스트림을 독출하고, 해독부(22)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(21)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The track buffer 21 reads out the AV stream from the disc 1 and temporarily stores the AV stream in order to correspond to the decoding processing speed in the decryption section 22. The AV stream stored in the track buffer 21 is an AV stream in encrypted form.

해독부(22)는 AACS 규격에 따라 트랙 버퍼(21)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(21)에 저장된 AV 스트림을 해독한다. The decryption unit 22 decrypts the AV stream stored in the track buffer 21 using the title key Kt corresponding to the AV stream stored in the track buffer 21 according to the AACS standard.

버퍼(23)는 복호화부(25)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(22)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(23)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG(Moving Picture Experts Group)-2 규격에 따라 부호화된 형태의 AV 스트림이다. The buffer 23 temporarily stores the AV stream decrypted by the decryption unit 22 in order to correspond to the decoding processing speed in the decryption unit 25. The AV stream stored in the buffer 23 is an AV stream that is deformed due to scramble and encoded according to the Moving Picture Experts Group (MPEG) -2 standard.

디먹스(24)는 MPEG-2 규격에 따라 버퍼(23)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(23)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 특히, 디먹스(24)는 버퍼(23)에 저장된 AV 스트림으로부터 마스크 교정 테이블(masked Fix-up Table)을 포함하는 PMT(Program Map Table) 패킷을 검색하고, 이 PMT 패킷으로부터 마스크 교정 테이블을 추출한다. The demux 24 demuxes the AV stream stored in the buffer 23 according to the MPEG-2 standard to restore encoded AV content and original AV content from the AV stream stored in the buffer 23. Extract the information. In particular, the demux 24 retrieves a Program Map Table (PMT) packet including a masked fix-up table from the AV stream stored in the buffer 23, and extracts a mask correction table from the PMT packet. do.

교정 테이블은 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 decoder 25 restores the original AV content by decoding the AV content extracted by the demux 24 according to the MPEG-2 standard.

AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)는 디스크(1)로부터 이 디스크(1)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기(secure) 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크(forensic mark) 아이디를 생성한 다. 보다 상세하게 설명하면, AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드(26)는 플레이어 정보 데이터베이스(27)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(2)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하지 않는다. The content code 26 for protecting the AV content included in the AV stream reads the content code for securing the AV content included in the AV stream stored in the disc 1 from the disc 1, and By executing the content code, a secret parameter value, a secret parameter ID, and a forensic mark ID are generated. In more detail, the content code 26 for protecting the AV content included in the AV stream is determined by comparing the player information stored in the player information database 27 with the player information obtained as a result of executing the content code. Determines whether the player has exposed the device key set, and as a result, generates a secret parameter value, a secret parameter ID, and a forensic mark ID only when it is determined that the player has not exposed the device key set. If it is determined to be a player, the secret parameter value, secret parameter ID, and forensic mark ID are not generated.

포렌식 마크는 비밀 파라미터와 같이 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 content code 26 for protecting AV content included in the AV stream.

연산부(29)는 SP 레지스터(28)에 저장된 비밀 파라미터 값들과 디먹스(24)에 의해 추출된 마스크 교정 테이블을 배타적 논리합(XOR)함으로서 원래의 교정 테이블을 복원한다. 마스크 교정 테이블은 원래의 교정 테이블에 대해 비밀 파라미터 값들로 배타적 논리합 연산이 수행된 것이므로, 연산부(29)는 이러한 마스크 교정 테이블을 상기 배타적 논리합 연산에 사용된 비밀 파라미터 값들과 동일한 값들로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 테이블을 복원한다.The calculation unit 29 restores the original calibration table by performing an exclusive OR (XOR) on the secret parameter values stored in the SP register 28 and the mask correction table extracted by the demux 24. Since the mask correction table is an exclusive OR operation performed on the secret correction values with respect to the original correction table, the operation unit 29 once again exclusively sets the mask correction table to the same values as the secret parameter values used in the exclusive OR operation. Restore the original calibration table by performing the OR operation.

겹쳐쓰기부(30)는 연산부(29)에 의해 복원된 교정 테이블에 기초하여 버퍼(23)에 저장된 데이터 패킷들 중 스크램블에 의해 변형된 패킷의 변형 위치에 디스크램블 값을 겹쳐쓰기함으로서 버퍼(23)에 저장된 데이터 패킷들의 스크램블 부분을 디스크램블한다. The overwrite unit 30 overwrites the descrambled value in the deformed position of the packet deformed by the scramble among the data packets stored in the buffer 23 based on the calibration table restored by the operation unit 29. Descrambles the scrambled portion of the data packets stored in < RTI ID = 0.0 >

도 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 demux 24 searches for a PMT packet including a calibration table descriptor among packets constituting the AV stream output from the buffer 23, and outputs a mask calibration table in the PMT packet. The calculation unit 29 restores the original calibration table by exclusive OR of the calibration table and secret parameter values output from the demux 24. The overwrite unit 30 knows the relative positions of the first packet and the second packet deformed due to scrambled from the values of the "relative_SPN_1" field and the "relative_SPN_2" field of the calibration table restored by the calculating unit 29, respectively. And overwrite the descramble values in these locations.

도 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 overwrite unit 30 attempts to overwrite a descramble value at a position of a transport stream stored in the buffer 23, the PMT packet, which is the basis of this position calculation, is stored in the buffer 23. Instead, the demux 24 has already been demuxed. For this reason, there is a problem that it is not easy to calculate the position of the modified part of the transport stream stored in the buffer 23. In addition, when the position calculation of the modified part of the transport stream stored in the buffer 23 is not performed quickly, there is a problem that the modified part of the transport stream stored in the buffer 23 may be output as it is. Therefore, a device using a low specification CPU (Central Processing Unit) such as a mobile terminal is unable to process descrambling in software due to such a speed limitation.

본 발명이 이루고자 하는 기술적 과제는 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 player 6 according to the present embodiment includes a track buffer 61, a decryption unit 62, a buffer 63, a demux 64, a decoder 65, and a virtual machine 66. And a player information database 67, an SP register 68, a FUT confirming section 69, a calculating section 70, and an overwriting section 71. In particular, the AV stream input to the player 6 according to the present embodiment is a stream in which calibration tables divided from the entire calibration table are muxed. Each of the calibration tables contains information for calibrating two modified portions of the entire modified portions of the stream. Those skilled in the art may understand that each of the calibration tables may be referred to as calibration table entries in terms of being partitioned from the entire calibration table.

트랙 버퍼(61)는 디스크(5)로부터 AV 스트림을 독출하고, 해독부(62)에서의 해독 처리 속도에 대응하기 위하여, 이 AV 스트림을 일시적으로 저장한다. 트랙 버퍼(61)에 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.The track buffer 61 reads out the AV stream from the disc 5 and temporarily stores this AV stream in order to correspond to the decoding processing speed in the decryption unit 62. The AV stream stored in the track buffer 61 is an AV stream in encrypted form.

해독부(62)는 AACS 규격에 따라 트랙 버퍼(61)에 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 트랙 버퍼(61)에 저장된 AV 스트림을 해독한다. The decryption unit 62 decrypts the AV stream stored in the track buffer 61 using the title key Kt corresponding to the AV stream stored in the track buffer 61 according to the AACS standard.

버퍼(63)는 복호화부(65)에서의 복호화 처리 속도에 대응하기 위하여, 해독부(62)에 의해 해독된 AV 스트림을 일시적으로 저장한다. 버퍼(63)에 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. The buffer 63 temporarily stores the AV stream decrypted by the decryption unit 62 in order to correspond to the decoding processing speed in the decryption unit 65. The AV stream stored in the buffer 63 is modified due to scramble and is an AV stream encoded in the MPEG-2 standard.

디먹스(64)는 MPEG-2 규격에 따라 버퍼(63)에 저장된 AV 스트림을 디먹싱함으로서 버퍼(63)에 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. 본 실시예에 따르면, 디먹스(64)는 종래와 달리 버퍼(63)에 저장된 AV 스트림으로부터 마스크 교정 엔트리를 추출하지는 않는다. 이러한 기능은 FUT 확인부(69)가 담당한다.The demux 64 demuxes the AV stream stored in the buffer 63 according to the MPEG-2 standard to restore the encoded AV content and the original AV content from the AV stream stored in the buffer 63. Extract the information. According to this embodiment, the demux 64 does not extract the mask correction entry from the AV stream stored in the buffer 63 unlike the conventional art. This function is responsible for the FUT check unit 69.

복호화부(65)는 MPEG-2 규격에 따라 디먹스(64)에 의해 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다.  The decoder 65 restores the original AV content by decoding the AV content extracted by the demux 64 according to the MPEG-2 standard.

가상 머신(66)은 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성한다. 보다 상세하게 설명하면, 가상 머신(66)은 플레이어 정보 데이터베이스(67)에 저장된 플레이어 정보와 컨텐트 코드 실행 결과로서 획득된 플레이어 정보를 비교함으로서 플레이어(6)가 디바이스 키 셋을 노출한 플레이어인지를 판단하고, 그 결과 디바이스 키 셋을 노출한 플레이어가 아닌 것으로 판단된 경우에만 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하고, 디바이스 키 셋을 노출한 플레이어인 것으로 판단된 경우에는 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 생성하지 않는다. The virtual machine 66 reads the content code for protecting the AV content contained in the AV stream stored in the disk 5 from the disk 5, and executes the content code to execute the secret parameter value, the secret parameter ID, and the forensic expression. Create a mark ID. More specifically, the virtual machine 66 compares the player information stored in the player information database 67 with the player information obtained as a result of executing the content code to determine whether the player 6 has exposed the device key set. As a result, a secret parameter value, a secret parameter ID, and a forensic mark ID are generated only when it is determined that the player key set is not exposed, and the secret parameter value is determined when the device key set is revealed. Do not generate secret parameter IDs and forensic mark IDs.

SP 레지스터(68)는 가상 머신(66)에 의해 생성된 비밀 파라미터 값, 비밀 파라미터 아이디 및 포렌식 마크 아이디를 저장한다.The SP register 68 stores secret parameter values, secret parameter IDs, and forensic mark IDs generated by the virtual machine 66.

FUT 확인부(69)는 버퍼(63)에 저장된 AV 스트림을 구성하는 패킷들 중 어느 하나의 PMT 패킷에 대해 AV 스트림의 변형 부분을 교정하기 위한 정보가 기록된 테이블인 교정 테이블을 확인(check)한다. FUT 확인부(69)는 PMT 패킷들에 대한 교정 테이블의 확인만을 수행함으로서 보다 신속하게 교정 테이블을 확인할 수 있다. The FUT confirming section 69 checks a calibration table which is a table in which information for correcting the modified portion of the AV stream is recorded for any PMT packet among the packets constituting the AV stream stored in the buffer 63. do. The FUT confirming unit 69 may check the calibration table more quickly by performing only checking of the calibration table for the PMT packets.

도 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 FUT confirming unit 69 extracts the ID of the secret parameter value from the "SP_ID" field of the calibration table shown in FIG. The FUT confirming unit 69 extracts the relative position information of the next PMT packet requiring the confirmation of the calibration table from the current PMT packet from the "Offset_SPN_to_next_FixUP" field of the calibration table shown in FIG.

도 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 player 6 may play from the beginning of the AV stream stored in the disc or play from the middle according to the user's selection. Accordingly, the FUT confirming section 69 checks the calibration table for the PMT packet first appearing from the playback start point selected by the user. To this end, as shown in FIG. 8, each of the PMT packets of the AV stream includes a calibration table. However, not all correction tables included in the PMT packets include a mask correction entry which is substantial information for correcting the modified portion of the AV stream. That is, some of the PMT packets include a mask correction entry, while others only include relative position information of PMT packets requiring verification of the correction table. However, there are PMT packets including bit positions of forensic mark IDs for forensic marking among PMT packets corresponding to the latter.

도 8을 참조하면, FUT 확인부(69)는 다음 PMT 패킷의 상대적 위치 정보를 참조하여 현재 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷 사이에 존재하는 PMT 패킷들에 대한 교정 테이블의 확인을 생략하고, 바로 교정 테이블의 확인이 필요한 다음 PMT 패킷에 대해 교정 테이블을 확인한다. 여기에서, 다음 PMT 패킷의 상대적 위치 정보란 현재 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷이 몇 패킷 떨어져 있는지를 나타내는 상대적인 패킷 넘버를 말한다. 즉, FUT 확인부(69)는 현재 PMT 패킷의 넘버에 다음 PMT 패킷의 상대적인 패킷 넘버를 가산한 값에 해당하는 위치에 존재하는 다음 PMT 패킷에 대해 교정 테이블을 확인한다.Referring to FIG. 8, the FUT confirming unit 69 checks the calibration table for PMT packets existing between the next PMT packets that need to be checked from the current PMT packet with reference to the relative position information of the next PMT packet. Omit and immediately check the calibration table for the next PMT packet that needs to check the calibration table. Here, the relative position information of the next PMT packet refers to a relative packet number indicating how many packets are the next PMT packet that needs to check the calibration table from the current PMT packet. That is, the FUT checker 69 checks the calibration table for the next PMT packet present at the position corresponding to the value of the number of the current PMT packet plus the relative packet number of the next PMT packet.

예를 들어, 사용자에 의해 선택된 재생 시작 지점이 도 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 left arrow 810 shown in Fig. 8, the FUT checker 69 checks the calibration table for the PMT packet A 81 first appearing from this point. do. Subsequently, the FUT confirming section 69 extracts a relative packet number of the next PMT packet, that is, PMT packet B 82, which needs to confirm the calibration table from the calibration table of the PMT packet A 81, and refers to the PMT packet B Check the calibration table for (82). Subsequently, the FUT confirming section 69 extracts, from the calibration table of the PMT packet B 82, the relative packet number of the next PMT packet, i.e., the PMT packet D 84, which needs confirmation of the calibration table. Check the calibration table for (84). In this case, the calibration table check for the PMT packet C 83 is omitted. This is because PMT packet C 83 is a PMT packet which does not require confirmation of the calibration table.

만약, 사용자에 의해 선택된 재생 시작 지점이 도 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 right arrow 820 shown in Fig. 8, the FUT confirming section 69 checks the calibration table for the PMT packet C 83 first appearing from this point. Subsequently, the FUT confirming section 69 extracts, from the calibration table of the PMT packet C 83, the relative packet number of the next PMT packet, i.e., the PMT packet D 84, which needs confirmation of the calibration table. Check the calibration table for (84). In this case, the calibration table check for the PMT packet C 83 is performed. This is because the PMT packet C 83 is a PMT packet that first appears from the playback start point selected by the user although the PMT packet does not require confirmation of the calibration table.

즉, FUT 확인부(69)는 사용자에 의해 선택된 임의의 재생 시작 지점으로부터 처음으로 등장하는 PMT 패킷에 대해 교정 테이블을 확인하고, 이후부터는 모든 PMT 패킷에 대해 교정 테이블 확인을 할 필요 없이, 교정 테이블의 확인이 필요한 PMT 패킷에 대해서만 교정 테이블을 확인한다. That is, the FUT confirming section 69 checks the calibration table for the PMT packet first appearing from any playback start point selected by the user, and thereafter without having to check the calibration table for all PMT packets. Check the calibration table only for PMT packets that require verification.

다시 도 7을 참조하면, FUT 확인부(69)는 도 7에 도시된 교정 테이블의 "FixUpEntry" 필드로부터 마스크 교정 엔트리를 추출한다.Referring back to FIG. 7, the FUT checker 69 extracts a mask correction entry from the “FixUpEntry” field of the calibration table shown in FIG. 7.

연산부(70)는 SP 레지스터(68)에 저장된 비밀 파라미터 값과 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 엔트리를 복원한다. 마스크 교정 엔트리는 원래의 교정 엔트리에 대해 비밀 파라미터 값으로 배타적 논리합 연산이 수행된 것이므로, 연산부(68)는 이러한 마스크 교정 엔트리를 배타적 논리합 연산에 사용된 비밀 파라미터 값과 동일한 값으로 다시 한번 더 배타적 논리합 연산을 수행함으로서 원래의 교정 엔트리를 복원한다. The operation unit 70 restores the original calibration entry by exclusive OR of the secret parameter value stored in the SP register 68 and the mask correction entry extracted by the FUT check unit 69. Since the mask correction entry is an exclusive OR operation performed on the original calibration entry with a secret parameter value, the operation unit 68 once again converts the mask correction entry to the same value as the secret parameter value used for the exclusive OR operation. Restore the original calibration entry by performing the operation.

다만, SP 레지스터(68)에 저장된 비밀 파라미터 값의 아이디와 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리의 배타적 논리합에 사용된 아이디가 서로 일치하여야 한다. 즉, 연산부(70)는 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리의 배타적 논리합에 사용된 아이디에 대응하는 비밀 파라미터 값을 SP 레지스터(68)로부터 추출하고, 이것과 FUT 확인부(69)에 의해 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 엔트리를 복원한다. However, the ID of the secret parameter value stored in the SP register 68 and the ID used for the exclusive OR of the mask correction entry extracted by the FUT confirming unit 69 must match each other. That is, the calculating unit 70 extracts a secret parameter value corresponding to the ID used for the exclusive OR of the mask correction entry extracted by the FUT confirming unit 69 from the SP register 68, and this and the FUT confirming unit 69 The original correction entry is restored by exclusive OR of the mask correction entries extracted by 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 overwrite section 71 selectively descrambles the modified portion of the AV stream stored in the buffer 63 based on the calibration entry restored by the calculating section 70. In more detail, the overwrite unit 71 indicates that the value of the "type_indicator" field of the calibration entry restored by the operation unit 70 is "00b", that is, there is no deformation due to scramble. The value of the remaining fields is ignored without overwriting the descramble value for correcting the modified part of the AV stream stored in the. In addition, the overwrite unit 71 indicates that the value of the "type_indicator" field of the calibration entry restored by the operation unit 70 is "01b", that is, there is a deformation due to scramble, so that the overwrite of the AV stream stored in the buffer 63 is performed. By overwriting the descramble value for correcting the modified portion of the packet at the position of the modified portion of one of the packets, scrambled in the middle of the AV stream is released.

또한, 겹쳐쓰기부(71)는 연산부(70)에 의해 복원된 교정 엔트리의 "type_indicator" 필드의 값이 "10b", 즉 포렌식임을 나타내면, 교정 엔트리의 "FM_ID_bit_position" 필드에 의해 지시되는 포렌식 마크 아이디의 비트가 1인 경우에만 버퍼(63)에 저장된 AV 스트림의 패킷들 중 어떤 패킷의 변형 부분의 위치에 이 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다. In addition, the overwrite unit 71 indicates that the value of the "type_indicator" field of the calibration entry restored by the operation unit 70 is "10b", that is, a forensic expression, and the forensic mark ID indicated by the "FM_ID_bit_position" field of the calibration entry. Only when bit is 1, the descramble value for correcting the modified portion of this packet is overwritten at the position of the modified portion of any of the packets of the AV stream stored in the buffer 63.

도 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 FUT confirming unit 69 extracts a mask correction entry from a PMT packet including a mask correction entry among PMT packets requiring verification of the correction table. Subsequently, the operation unit 70 restores the original calibration table by performing exclusive OR on the secret parameter value stored in the SP register 68 and the mask correction entry extracted by the FUT check unit 69. Subsequently, the overwrite unit 71 determines the value of the "relative_SPN (Source Packet Number) _1" field of the calibration entry, that is, the relative packet number of the first modified packet to the number of the current PMT packet confirmed by the FUT confirming unit 69. Compute the packet number of the first modified packet by adding.

이와 같이, 겹쳐쓰기부(71)는 마스크 교정 엔트리를 포함하는 PMT 패킷의 넘버를 기준으로 스크램블로 인하여 변형된 패킷의 변형 부분의 위치를 계산하기 때문에 마스크 교정 엔트리를 포함하는 PMT 패킷이 버퍼(63)를 이미 빠져나갔고, 그 후 몇 개의 패킷들이 추가로 빠져나갔는지를 고려하지 않아도 된다. 이어서, 겹쳐쓰기부(71)는 첫 번째 변형 패킷의 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_1" 필드의 값, 즉 변형 데이터의 시작 바이트 위치부터 교정 엔트리의 "overwrite_value_1"의 값, 즉 겹쳐쓰기될 첫 번째 값을 겹쳐쓰기한다. In this way, since the overwrite unit 71 calculates the position of the deformed portion of the deformed packet due to the scramble based on the number of the PMT packet including the mask correction entry, the PMT packet including the mask correction entry is stored in the buffer 63. ), You do not have to consider how many additional packets have been missed since then. Subsequently, the overwrite unit 71 determines the value of the "byte_position_1" field of the calibration entry, that is, the value of "overwrite_value_1" of the calibration entry from the start byte position of the transformation data, in the packet corresponding to the packet number of the first transform packet. Overwrite the first value to be overwritten.

이어서, 겹쳐쓰기부(71)는 FUT 확인부(69)에 의해 확인된 현재 PMT 패킷의 넘버에 교정 엔트리의 "relative_SPN(Source Packet Number)_2" 필드의 값, 즉 두 번째 변형 패킷의 상대적 패킷 넘버를 가산함으로서 두 번째 변형 패킷의 패킷 넘버를 계산한다. 이어서, 겹쳐쓰기부(71)는 두 번째 변형 패킷의 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_2" 필드의 값, 즉 변형 데이터의 시작 바이트 위치부터 교정 엔트리의 "overwrite_value_2"의 값, 즉 겹쳐쓰기될 두 번째 값을 겹쳐쓰기한다.  Subsequently, the overwriting unit 71 determines the value of the "relative_SPN (Source Packet Number) _2" field of the calibration entry, that is, the relative packet number of the second modified packet, to the number of the current PMT packet confirmed by the FUT confirming unit 69. Compute the packet number of the second modified packet by adding. Subsequently, the overwrite section 71 determines the value of the "byte_position_2" field of the calibration entry, that is, the value of "overwrite_value_2" of the calibration entry from the start byte position of the transformation data in the packet corresponding to the packet number of the second modified packet, that is, Overwrite the second value to be overwritten.

도 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 track buffer 101, a decryption unit 102, a buffer 103, a demux 104, a decryption unit 105, and a virtual machine 106. And a player information database 107, an SP register 108, an arithmetic unit 109, and an overwriting unit 110. The player 10 according to the present embodiment is almost the same as the player 6 shown in FIG. 6, but the demux 104 performs the function of the FUT checker 69 together with the conventional demux function.

상기된 구성 이외에도 플레이어는 다양한 형태의 구성으로 설계될 수 있으나, 그 구성이 나타내는 본질적 특징은 동일함을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 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 player 6 shown in FIG. Therefore, even if omitted below, the contents described above with respect to the player 6 shown in FIG. 6 also apply to the content restoration method according to the present embodiment.

121 단계에서 플레이어(6)는 디스크(5)로부터 AV 스트림을 독출하고, 이 AV 스트림을 일시적으로 저장한다. 121 단계에서 저장된 AV 스트림은 암호화된 형태의 AV 스트림이다.In step 121, the player 6 reads the AV stream from the disc 5, and temporarily stores the AV stream. The stored AV stream in step 121 is an encrypted AV stream.

122 단계에서 플레이어(6)는 AACS 규격에 따라 121 단계에서 저장된 AV 스트림에 해당하는 타이틀 키(Kt)를 사용하여 121 단계에서 저장된 AV 스트림을 해독한다. In step 122, the player 6 decrypts the AV stream stored in step 121 using the title key Kt corresponding to the AV stream stored in step 121 according to the AACS standard.

123 단계에서 플레이어(6)는 122 단계에서 해독된 AV 스트림을 일시적으로 저장한다. 123 단계에서 저장된 AV 스트림은 스크램블로 인해 변형되고, MPEG-2 규격에 따라 부호화된 형태의 AV 스트림이다. In step 123, the player 6 temporarily stores the decrypted AV stream in step 122. The AV stream stored in step 123 is transformed due to scramble and is an AV stream encoded according to the MPEG-2 standard.

124 단계에서 플레이어(6)는 디스크(5)로부터 이 디스크(5)에 저장된 AV 스트림에 포함된 AV 컨텐트를 보호하기 위한 컨텐트 코드를 독출하고, 이 컨텐트 코드를 실행함으로서 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 생성한다. In step 124, the player 6 reads the content code for protecting the AV content contained in the AV stream stored in the disk 5 from the disk 5, and executes the content code to execute the secret parameter value, secret parameter ID. Generate for, and forensic mark IDs.

125 단계에서 플레이어(6)는 124 단계에서 생성된 비밀 파라미터 값, 비밀 파라미터 아이디, 및 포렌식 마크 아이디를 저장한다.In step 125 the player 6 stores the secret parameter value, the secret parameter ID, and the forensic mark ID generated in step 124.

126 단계에서 플레이어(6)는 123 단계에서 저장된 AV 스트림을 구성하는 패킷들 중 사용자에 의해 선택된 재생 시작 지점으로부터 처음으로 등장하는 PMT 패킷에 대해 교정 테이블을 확인한다. In step 126, the player 6 checks the calibration table for the PMT packet first appearing from the playback start point selected by the user among the packets constituting the AV stream stored in step 123.

127 단계에서 플레이어(6)는 126 단계 또는 136 단계에서 확인된 교정 테이블의 "SP_ID" 필드로부터 비밀 파라미터 값의 아이디를 추출하고, "FixUpEntry" 필드로부터 마스크 교정 엔트리를 추출하고, "Offset_SPN_to_next_FixUP" 필드로부터 현재의 PMT 패킷으로부터 교정 테이블의 확인이 필요한 다음 PMT 패킷의 상대적인 패킷 넘버를 추출한다. In step 127 the player 6 extracts the ID of the secret parameter value from the "SP_ID" field of the calibration table identified in step 126 or 136, extracts the mask correction entry from the "FixUpEntry" field, and from the "Offset_SPN_to_next_FixUP" field. From the current PMT packet, the relative packet number of the next PMT packet that requires confirmation of the calibration table is extracted.

128 단계에서 플레이어(6)는 125 단계에서 저장된 비밀 파라미터 값과 127 단계에서 추출된 마스크 교정 엔트리를 배타적 논리합함으로서 원래의 교정 엔트리를 복원한다. In step 128 the player 6 restores the original correction entry by exclusive OR of the secret parameter value stored in step 125 and the mask correction entry extracted in step 127.

129 단계에서 플레이어(6)는 128 단계에서 복원된 교정 엔트리의 "type_indicator" 필드의 값이 "00b"이면 136 단계로 진행하고, "type_indicator" 필드의 값이 "01b"이면 130 단계로 진행하고, "type_indicator" 필드의 값이 "10b"이면 135단계로 진행한다.In step 129, the player 6 proceeds to step 136 when the value of the "type_indicator" field of the calibration entry restored in step 128 is "00b", and proceeds to step 130 when the value of the "type_indicator" field is "01b". If the value of the "type_indicator" field is "10b", the flow proceeds to step 135.

130 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 126 단계에서 확인된 교정 엔트리의 "relative_SPN(Source Packet Number)_1" 필드의 값을 가산함으로서 첫 번째 변형 패킷의 패킷 넘버를 계산하고, 이 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_1" 필드의 값에 해당하는 위치로부터 교정 엔트리의 "overwrite_value_1"의 값을 겹쳐쓰기한다. In step 130 the player 6 calculates the packet number of the first modified packet by adding the value of the "relative_SPN (Source Packet Number) _1" field of the calibration entry identified in step 126 to the number of the current PMT packet, The value of "overwrite_value_1" of the calibration entry is overwritten from the position corresponding to the value of the "byte_position_1" field of the calibration entry in the packet corresponding to the number.

또한, 130 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 126 단계에서 확인된 교정 엔트리의 "relative_SPN(Source Packet Number)_2" 필드의 값을 가산함으로서 두 번째 변형 패킷의 패킷 넘버를 계산하고, 이 패킷 넘버에 해당하는 패킷 내에서 교정 엔트리의 "byte_position_2" 필드의 값에 해당하는 위치로부터 교정 엔트리의 "overwrite_value_2"의 값을 겹쳐쓰기한다.Further, in step 130, the player 6 calculates the packet number of the second modified packet by adding the value of the "relative_SPN (Source Packet Number) _2" field of the calibration entry identified in step 126 to the number of the current PMT packet, The value of "overwrite_value_2" of the calibration entry is overwritten from the position corresponding to the value of the "byte_position_2" field of the calibration entry in the packet corresponding to this packet number.

131 단계에서 플레이어(6)는 교정 엔트리의 "FM_ID_bit_position" 필드에 의해 지시되는 포렌식 마크 아이디의 비트가 1인 경우에만 123 단계에서 저장된 AV 스트림의 패킷들 중 어떤 패킷의 변형 부분의 위치에 이 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기한다.In step 131 the player 6 selects this packet at the position of the modified portion of any of the packets of the AV stream stored in step 123 only if the bit of the forensic mark ID indicated by the "FM_ID_bit_position" field of the calibration entry is one. Override the descramble value to correct the deformation.

132 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 127 단계에서 추출된 다음 PMT 패킷의 상대적인 패킷 넘버를 가산한 값에 해당하는 위치에 교정 테이블의 확인이 필요한 다음 PMT 패킷이 존재하면 133 단계로 진행하고, 다음 PMT 패킷 이 존재하지 않으면 134 단계로 진행한다.In step 132, the player 6 proceeds to step 133 if there is a next PMT packet that needs to be checked in the calibration table at a position corresponding to a value obtained by adding the relative packet number of the PMT packet to the number of the current PMT packet. If there is no next PMT packet, the flow proceeds to step 134.

133 단계에서 플레이어(6)는 현재 PMT 패킷의 넘버에 127 단계에서 추출된 다음 PMT 패킷의 상대적인 패킷 넘버를 가산한 값에 해당하는 위치에 존재하는 다음 PMT 패킷에 대해 교정 테이블을 확인하고, 134 단계로 진행함과 동시에 127 단계로 돌아간다.In step 133, the player 6 checks the calibration table for the next PMT packet that exists at the position corresponding to the value of the number of the current PMT packet extracted in step 127 and then the relative packet number of the PMT packet, and in step 134 Proceed to step 127 at the same time.

134 단계에서 플레이어(6)는 MPEG-2 규격에 따라 124 단계 ~ 135 단계에 의해 디스크램블된 AV 스트림을 디먹싱함으로서 123 단계에서 저장된 AV 스트림으로부터 부호화된 형태의 AV 컨텐트 및 원래의 AV 컨텐트를 복원하기 위한 여러 가지 정보를 추출한다. In step 134, the player 6 restores the encoded AV content and the original AV content from the AV stream stored in step 123 by demuxing the descrambled AV stream in steps 124 to 135 according to the MPEG-2 standard. Extract a variety of information for

135 단계에서 플레이어(6)는 MPEG-2 규격에 따라 134 단계에서 추출된 AV 컨텐트를 복호화함으로서 원래의 AV 컨텐트를 복원한다. In step 135, the player 6 restores the original AV content by decoding the AV content extracted in step 134 according to the MPEG-2 standard.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.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)

(a) 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷에 대해 상기 스트림의 변형 부분을 교정하기 위한 정보를 확인하는 단계;(a) identifying information for correcting the modified portion of the stream with respect to a first one of the packets constituting the modified stream due to scramble; (b) 상기 확인된 정보로부터 상기 패킷들 중 상기 스트림의 변형 부분을 교정하기 위한 정보의 확인이 필요한 제 2 패킷의 위치 정보를 획득하는 단계; 및(b) obtaining, from the identified information, location information of a second packet requiring identification of information for correcting a modified portion of the stream of the packets; And (c) 상기 확인된 정보에 기초하여 상기 스트림을 선택적으로 디스크램블하는 단계를 포함하는 것을 특징으로 하는 디스크램블 방법.and (c) selectively descrambles the stream based on the identified information. 제 1 항에 있어서,The method of claim 1, 상기 (c) 단계는 상기 확인된 정보가 상기 스크램블로 인한 변형이 있음을 나타내면, 상기 스트림을 디스크램블하는 것을 특징으로 하는 디스크램블 방법. And the step (c) descrambles the stream if the identified information indicates that there is a deformation due to the scramble. 제 1 항에 있어서,The method of claim 1, (d) 상기 획득된 위치 정보를 참조하여 상기 제 2 패킷에 대해 상기 정보를 확인하는 단계; 및(d) identifying the information with respect to the second packet by referring to the obtained location information; And (e) 상기 (d) 단계에서 확인된 정보에 기초하여 상기 스트림을 선택적으로 디스크램블하는 단계를 더 포함하는 것을 특징으로 하는 디스크램블 방법.and (e) selectively descrambles the stream based on the information identified in step (d). 제 1 항에 있어서,The method of claim 1, 상기 확인부는 사용자에 의해 선택된 재생 시작 지점으로부터 처음으로 등장하는 상기 제 1 패킷에 대해 상기 스트림의 변형 부분을 교정하기 위한 정보를 확인하는 것을 특징으로 하는 디스크램블 장치.And the confirmation unit confirms information for correcting the modified portion of the stream with respect to the first packet first appearing from the playback start point selected by the user. 제 1 항에 있어서,The method of claim 1, 상기 위치 정보는 상기 제 1 패킷으로부터 상기 제 2 패킷까지의 상대적 위치 정보인 것을 특징으로 하는 디스크램블 방법.And the position information is relative position information from the first packet to the second packet. 제 5 항에 있어서,The method of claim 5, (d) 상기 획득된 상대적 위치 정보를 참조하여 상기 제 1 패킷과 상기 제 2 패킷 사이에 존재하는 패킷들에 대한 상기 정보의 확인을 생략하고, 상기 제 2 패킷에 대해 상기 정보를 확인하는 단계; 및(d) omitting the checking of the information regarding the packets existing between the first packet and the second packet with reference to the obtained relative position information, and confirming the information with respect to the second packet; And (e) 상기 (d) 단계에서 확인된 정보에 기초하여 상기 스트림을 선택적으로 디스크램블하는 것을 특징으로 하는 디스크램블 방법. (e) descrambling the stream selectively based on the information identified in step (d). 제 5 항에 있어서, The method of claim 5, 상기 상대적 위치 정보는 상기 제 1 패킷으로부터 상기 제 2 패킷이 몇 패킷 떨어져 있는지를 나타내는 패킷 개수이고, The relative position information is a packet number indicating how many packets the second packet is from the first packet, (d) 상기 제 1 패킷의 넘버에 상기 패킷 개수를 가산한 값에 해당하는 위치에 존재하는 상기 제 2 패킷에 대해 상기 정보를 확인하는 단계; 및(d) checking the information on the second packet present at a position corresponding to a value obtained by adding the number of packets to the number of the first packet; And (e) 상기 (d) 단계에서 확인된 정보에 기초하여 상기 스트림을 선택적으로 디스크램블하는 것을 특징으로 하는 디스크램블 방법. (e) descrambling the stream selectively based on the information identified in step (d). 제 1 항에 있어서,The method of claim 1, 상기 제 1 패킷 및 상기 제 2 패킷은 MPEG(Moving Picture Experts Group)-2 규격 상의 PMT(Program Map Table) 패킷들이고, 상기 패킷들 중 PMT 패킷들 각각은 상기 교정하기 위한 정보를 포함하는 것을 특징으로 하는 디스크램블 방법.The first packet and the second packet are PMT (Program Map Table) packets according to the Moving Picture Experts Group (MPEG) -2 standard, wherein each of the PMT packets includes information for correcting the packet. Descramble method. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. A non-transitory computer-readable recording medium having recorded thereon a program for executing the method of claim 1. 스크램블로 인하여 변형된 스트림을 구성하는 패킷들 중 제 1 패킷에 대해 상기 스트림의 변형 부분을 교정하기 위한 정보를 확인하고, 상기 확인된 정보로부터 상기 패킷들 중 상기 정보의 확인이 필요한 제 2 패킷의 위치 정보를 추출하는 확인부; 및Checking information for correcting the modified portion of the stream with respect to the first of the packets constituting the modified stream due to scramble, and from the identified information of the second packet that needs to confirm the information of the packets A verification unit for extracting location information; And 상기 확인된 정보가 상기 제 1 패킷에 상기 스크램블로 인한 변형이 있음을 나타내면, 상기 제 1 패킷의 변형 부분의 위치에 상기 제 1 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 겹쳐쓰기부를 포함하는 것을 특징으로 하는 디스크램블 장치. If the identified information indicates that the first packet is deformed due to the scramble, an overwrite that overwrites a descramble value for correcting the deformed portion of the first packet at a position of the deformed portion of the first packet Descrambling device comprising a portion. 제 10 항에 있어서,The method of claim 10, 상기 추출부는 상기 추출된 위치 정보를 참조하여 상기 제 2 패킷에 대해 상기 정보를 확인하고,The extracting unit checks the information with respect to the second packet with reference to the extracted position information, 상기 겹쳐쓰기부는 상기 확인된 정보가 상기 제 2 패킷에 상기 스크램블로 인한 변형이 있음을 나타내는 경우에 상기 제 2 패킷의 변형 부분의 위치에 상기 제 2 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 것을 특징으로 하는 디스크램블 장치. The overwrite unit may descramble a descrambled value for correcting the deformed portion of the second packet at a position of the deformed portion of the second packet when the checked information indicates that the second packet has a deformation caused by the scrambling. A descrambling device, characterized in that overwriting. 제 10 항에 있어서,The method of claim 10, 상기 확인부는 사용자에 의해 선택된 재생 시작 지점으로부터 처음으로 등장하는 상기 제 1 패킷에 대해 상기 스트림의 변형 부분을 교정하기 위한 정보를 확인하는 것을 특징으로 하는 디스크램블 장치.And the confirmation unit confirms information for correcting the modified portion of the stream with respect to the first packet first appearing from the playback start point selected by the user. 제 10 항에 있어서,The method of claim 10, 상기 위치 정보는 상기 제 1 패킷으로부터 상기 제 2 패킷까지의 상대적 위치 정보인 것을 특징으로 하는 디스크램블 장치. And the position information is relative position information from the first packet to the second packet. 제 13 항에 있어서,The method of claim 13, 상기 추출부는 상기 획득된 상대적 위치 정보를 참조하여 상기 제 1 패킷과 상기 제 2 패킷 사이에 존재하는 패킷들에 대한 상기 정보의 확인을 생략하고, 상 기 제 2 패킷에 대해 상기 정보를 확인하고,The extracting unit omits checking of the information on the packets existing between the first packet and the second packet with reference to the obtained relative position information, and confirms the information on the second packet. 상기 겹쳐쓰기부는 상기 확인된 정보가 상기 제 2 패킷에 상기 스크램블로 인한 변형이 있음을 나타내는 경우에 상기 제 2 패킷의 변형 부분의 위치에 상기 제 2 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 것을 특징으로 하는 디스크램블 장치. The overwrite unit may descramble a descrambled value for correcting the deformed portion of the second packet at a position of the deformed portion of the second packet when the checked information indicates that the second packet has a deformation caused by the scrambling. A descrambling device, characterized in that overwriting. 제 13 항에 있어서, The method of claim 13, 상기 상대적 위치 정보는 상기 제 1 패킷으로부터 상기 제 2 패킷이 몇 패킷 떨어져 있는지를 나타내는 패킷 개수이고, The relative position information is a packet number indicating how many packets the second packet is from the first packet, 상기 추출부는 상기 제 1 패킷의 넘버에 상기 패킷 개수를 가산한 값에 해당하는 위치에 존재하는 상기 제 2 패킷에 대해 상기 정보를 확인하고,The extracting unit checks the information with respect to the second packet present in the position corresponding to the value of the number of the packet plus the number of the first packet, 상기 겹쳐쓰기부는 상기 확인된 정보가 상기 제 2 패킷에 상기 스크램블로 인한 변형이 있음을 나타내는 경우에 상기 제 2 패킷의 변형 부분의 위치에 상기 제 1 패킷의 변형 부분을 교정하기 위한 디스크램블 값을 겹쳐쓰기하는 것을 특징으로 하는 디스크램블 장치. The overwrite unit may descramble a descrambled value for correcting the deformed portion of the first packet at a position of the deformed portion of the second packet when the checked information indicates that the second packet has a deformation caused by the scrambling. A descrambling device, characterized in that overwriting. 제 10 항에 있어서,The method of claim 10, 상기 제 1 패킷 및 상기 제 2 패킷은 MPEG(Moving Picture Experts Group)-2 규격 상의 PMT(Program Map Table) 패킷들이고, 상기 패킷들 중 PMT 패킷들 각각은 상기 교정하기 위한 정보를 포함하는 것을 특징으로 하는 디스크램블 장치.The first packet and the second packet are PMT (Program Map Table) packets according to the Moving Picture Experts Group (MPEG) -2 standard, wherein each of the PMT packets includes information for correcting the packet. Descramble device. 스크램블로 인하여 변형된 스트림의 변형 부분을 교정하기 위한 정보를 나타내는 필드들을 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, A computer-readable recording medium having recorded a data structure including fields representing information for correcting a deformed portion of a deformed stream due to scramble, 상기 정보 중 상기 변형 부분을 교정하기 위한 실질적인 정보를 나타내는 제 1 필드; 및A first field representing substantial information for correcting the deformed portion of the information; And 상기 정보 중 제 1 패킷으로부터 상기 정보의 확인이 필요한 제 2 패킷의 위치 정보를 나타내는 제 2 필드를 포함하는 것을 특징으로 하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체. And a second field indicating position information of a second packet requiring identification of said information from said first packet of said information. The computer-readable recording medium having recorded thereon a data structure. 제 17 항에 있어서,The method of claim 17, 상기 제 1 필드는 마스크되어 있고, 상기 제 2 필드는 마스크되어 있지 않음을 특징으로 하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체. And the first field is masked and the second field is not masked.
KR1020060023930A 2005-12-02 2006-03-15 Method and apparatus for descrambling av stream Abandoned KR20070058288A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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