KR20080012724A - Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data - Google Patents

Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data Download PDF

Info

Publication number
KR20080012724A
KR20080012724A KR1020060086639A KR20060086639A KR20080012724A KR 20080012724 A KR20080012724 A KR 20080012724A KR 1020060086639 A KR1020060086639 A KR 1020060086639A KR 20060086639 A KR20060086639 A KR 20060086639A KR 20080012724 A KR20080012724 A KR 20080012724A
Authority
KR
South Korea
Prior art keywords
overwrite
stream
packet
information
overwritten
Prior art date
Application number
KR1020060086639A
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 KR20080012724A publication Critical patent/KR20080012724A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/006Overwriting
    • G11B7/0062Overwriting strategies, e.g. recording pulse sequences with erasing level used for phase-change media
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/80Indexing information stored in optical or magnetic or other strip attached to cassette or disc, e.g. barcodes attached to a recording medium

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

A recording medium, a method and an apparatus for reproducing data, and a method and an apparatus for recording data are provided to trace an optical recording/reproducing apparatus damaging the contents and thus to protect the contents from illegal copy and distribution. A recording medium includes a stream area and a security area. The stream area stores stream. The security area stores overwrite information appointing the values to be overwritten and the overwrite areas in the stream. The overwrite information is defined to prevent the overwrite areas from being overlapped. The recording medium includes a content code used for the overwrite process for the stream.

Description

기록매체, 데이터 기록방법 및 기록장치와 데이터 재생방법 및 재생장치{Recording Medium, method and apparatus for reproducing data, and method and apparatus for recording data}Recording medium, data recording method and recording apparatus and data reproducing method and recording apparatus {Recording Medium, method and apparatus for reproducing data, and method and apparatus for recording data}

도 1은 본 발명의 개념적 이해를 돕기 위해 나타낸 것으로, 광 기록재생장치와 주변기기 간의 통합적 사용의 일 예를 보여주기 위해 도시한 것이다.Figure 1 is shown to aid the conceptual understanding of the present invention, it is shown to show an example of the integrated use between the optical recording and playback device and peripherals.

도 2는 본 발명의 데이터 파일구조를 도시한 것이다.2 shows a data file structure of the present invention.

도 3은 미디어 트랜스폼의 개념적 이해를 돕기 위해 도시한 것이다.3 is shown to help conceptually understand the media transform.

도 4는 본 발명에 의해 광디스크에 기록되는 데이터 기록구조를 도시한 것이다.4 shows a data recording structure recorded on an optical disc according to the present invention.

도 5는 본 발명의 광 기록재생장치의 전체 구성에 관한 일 예를 나타낸 것이다.5 shows an example of the overall configuration of the optical recording and reproducing apparatus of the present invention.

도 6은 본 발명의 재생시스템을 활용한 기록매체 재생장치의 일 예를 도시한 것이다.6 shows an example of a recording medium reproducing apparatus utilizing the reproducing system of the present invention.

도 7의 시스템 모델은 보안가상머신의 보안툴에 기초하여 도시한 것이다.The system model of FIG. 7 is shown based on a security tool of a secure virtual machine.

도 8a ~ 8b는 멀티플렉싱 픽스업 테이블을 이용한 미디어 트랜스폼을 개략도 및 픽스업 테이블의 데이터구조를 도시한 것이다. 8A through 8B illustrate a schematic diagram of a media transform using a multiplexing fixup table and a data structure of a fixup table.

도 9a ~ 9b는 파일로써 저장된 픽스업 테이블을 이용한 미디어 트랜스폼을 개략도 및 픽스업 테이블의 데이터 구조를 도시한 것이다. 9A-9B show a schematic diagram of a media transform using a fixup table stored as a file and the data structure of the fixup table.

도 10은 본 발명의 픽스업엔트리의 구조의 일 예를 도시한 것이다.10 shows an example of the structure of the fix-up entry of the present invention.

도 11은 본 발명에 의해 미디어 트랜스폼이 적용되는 일 예를 도시한 것이다. 11 illustrates an example in which a media transform is applied according to the present invention.

도 12a ~ 12c는 본 발명의 제 1 방법에 따른 미디어 트랜스폼의 실시예들을 도시한 것이다.12A-12C illustrate embodiments of a media transform according to the first method of the present invention.

도 13a ~ 13b는 본 발명의 제 2 방법에 따라, 미디어 트랜스폼을 기준 소스 패킷 넘버의 정순으로 적용하는 실시예를 도시한 것이다.13A-13B illustrate an embodiment of applying a media transform in the order of the reference source packet number, according to the second method of the present invention.

도 14a ~ 14b는 본 발명의 제 2 방법에 따라, 미디어 트랜스폼을 기준 소스 패킷 넘버의 역순으로 적용하는 실시예를 도시한 것이다.14A-14B illustrate an embodiment of applying a media transform in the reverse order of a reference source packet number, in accordance with a second method of the present invention.

*도면의 주요부분에 대한 부호의 설명 * Explanation of symbols for main parts of the drawings

11 : 픽업 12 : 제어부 11 pickup 12 control unit

13 : 신호처리부 15 : 스토리지 13: signal processor 15: storage

17 : 재생시스템 (playback system)17: playback system

171 : 유저 이벤트(User Event Manager)171: User Event Manager

171a : UO 컨트롤러(UO Controller)171a: UO Controller

172 : 모듈 매니저(Module Manager) 172: Module Manager

173 : 메타데이터 매니저(Metadata Manager)173: Metadata Manager

174 : HDMV 모듈(Movie Module) 174: HDMV module (Movie Module)

175 : BD-J 모듈(BD-J Module)175: BD-J Module

175a : 자바 가상 머신(Java Virtual Machine)175a: Java Virtual Machine

175b : 어플리케이션 매니저(Application Manager)175b: Application Manager

176 : 플레이백 컨트롤 엔진(Playback Control Engine)176: Playback Control Engine

176a : 플레이백 컨트롤 펑션(Playback control function)176a: Playback control function

176b : 플레이어 레지스터(Player registers)176b: Player registers

177 : 프레젠테이션 엔진(Presentation Engine)177: Presentation Engine

178 : 보안 가상 머신(Security Virtual Machine)178: Security Virtual Machine

179 : 트랜스폼 펑션(Transform Function)179: transform function

40 : 가상 파일 시스템(Virtual File System)40: Virtual File System

본 발명은 콘텐츠 제공자에 의해 제공된 데이터의 재생에 관한 것으로, 특히 상기 데이터를 보호할 수 있는 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법 및 기록장치에 관한 것이다. The present invention relates to the reproduction of data provided by a content provider, and more particularly to a data reproducing method and reproducing apparatus capable of protecting the data, and a recording medium and a data recording method and a recording apparatus.

기록매체로서 대용량의 데이터를 기록할 수 있는 광 디스크가 널리 사용되고 있다. 그 중에서도 최근에는 고화질의 비디오 데이터와 고음질의 오디오 데이터를 장시간 동안 기록하여 저장할 수 있는 새로운 고밀도 기록매체, 예를 들어 블루레이 디스크(BD: Blu-ray Disc)와 고밀도 디지털 비디오 디스크(HD-DVD: High Definition Digital Versatile Disc) 등이 개발되고 있다. As a recording medium, an optical disk capable of recording a large amount of data is widely used. Most recently, new high-density recording media, such as Blu-ray Discs (BDs) and high-density digital video discs (HD-DVDs), can record and store high-quality video data and high-quality audio data for a long time. High Definition Digital Versatile Disc) and the like are being developed.

차세대 기록매체 기술인 고밀도 기록매체는 기존의 DVD를 현저하게 능가하는 데이터를 구비할 수 있는 차세대 광기록 솔루션으로 근래에 다른 디지털기기와 함께 이에 대한 개발이 진행되고 있다.High-density recording media, the next-generation recording media technology, are next-generation optical recording solutions that can contain data that significantly surpasses existing DVDs.

관련하여, 고밀도 기록매체 규격을 응용한 광 기록재생장치의 개발도 시작되었으나, 아직 고밀도 기록매체 규격이 완전히 완비되지 못한 관계로 완성된 광 기록재생장치를 개발하는 데 어려움이 따르는 것이 사실이다.In relation to this, development of the optical recording and reproducing apparatus applying the high density recording medium standard has also begun, but it is true that the development of the optical recording and reproducing device is difficult due to the fact that the high density recording medium standard is not completely completed yet.

그러나, 상기와 같이 외부입력신호 및 고밀도 기록매체를 재생함에 있어, 콘텐츠 제공자에 의해 제공되는 콘텐트를 보호하는 바람직한 방법 및 콘텐트 보호방법이 적용된 콘텐트를 재생하는 바람직한 방법이 알려진바 없어, 본격적인 고밀도 기록매체 기반의 광 기록재생장치를 개발하는데 많은 제약이 따르는 실정이다.However, in reproducing an external input signal and a high-density recording medium as described above, a preferred method for protecting the content provided by the content provider and a preferred method for reproducing the content to which the content protection method is applied are not known. There are many limitations in developing the optical recording and reproducing apparatus based on the present invention.

본 발명은 상기와 같은 실정을 감안하여 창작된 것으로서, 진정한 콘텐츠 제공자에 의해 제공되는 콘텐트를 불법 복제, 배포 등으로부터 보호하는 데 그 목적이 있다.The present invention was created in view of the above circumstances, and an object thereof is to protect content provided by a true content provider from illegal copying, distribution, and the like.

따라서, 본 발명은 바람직한 콘텐트 보호방법과 상기 방법이 적용된 콘텐트를 재생하는 방법을 제공하고자 한다.Accordingly, the present invention is to provide a preferred content protection method and a method of playing the content to which the method is applied.

상기 목적을 달성하기 위하여, 본 발명은 ~스트림을 저장하는 스트림 영역; 그리고 상기 스트림에 오버라이트될 값들 및 오버라이트 영역들을 지정하는 오버라이트 정보를 저장하는 보안영역을 포함하되, 상기 오버라이트 정보는 상기 오버라 이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 기록매체를 제공한다.In order to achieve the above object, the present invention provides a stream region for storing a stream; And a security area for storing overwrite information for specifying values and overwrite areas to be overwritten in the stream, wherein the overwrite information is defined such that the overwrite areas do not overlap. to provide.

또한, 본 발명은 상기 기록매체가 상기 스트림에 대한 오버라이트 과정에 이용되는 콘텐트 코드를 포함하는 실시예를 포함한다.The present invention also includes an embodiment in which the recording medium includes a content code used in an overwrite process for the stream.

또한, 본 발명은 상기 오버라이트 정보가 마스크된 형태로 상기 기록매체에 저장되는 실시예를 포함한다.The present invention also includes an embodiment in which the overwrite information is stored in the recording medium in a masked form.

또한, 본 발명은 상기 오버라이트 정보가 상기 스트림으로 멀티플렉스되어 상기 기록매체에 저장되는 실시예를 포함한다.The present invention also includes an embodiment in which the overwrite information is multiplexed into the stream and stored in the recording medium.

또한, 본 발명은 상기 오버라이트 정보가 별도의 파일로 구성되어 상기 보안영역에 저장되는 실시예를 포함한다.In addition, the present invention includes an embodiment in which the overwrite information is configured in a separate file and stored in the security area.

또한, 본 발명은 상기 오버라이트 정보가, 오버라이트될 패킷을 지정하는 패킷위치정보를 포함하고, 상기 패킷위치정보는 상기 스트림의 각각 다른 패킷들을 지정하도록 정의된 실시예를 포함한다.In addition, the present invention includes an embodiment in which the overwrite information includes packet location information specifying a packet to be overwritten, and the packet location information is defined to designate different packets of the stream.

또한, 본 발명은 상기 오버라이트 정보가 오버라이트될 패킷에서 오버라이트가 시작되는 위치를 지정하는 오버라이트 시작위치정보를 포함하고, 상기 오버라이트 정보가 동일한 패킷을 적어도 하나 이상 지정하는 경우, 상기 시작위치정보는 상기 지정된 동일한 패킷 내에서 오버라이트 영역들이 겹쳐지지 않도록 정의된 실시예를 포함한다.The present invention may also include overwrite start position information for designating a position at which an overwrite is started in a packet to be overwritten, and when the overwrite information designates at least one packet with the same, The location information includes an embodiment in which overwrite areas are not overlapped in the designated same packet.

또한, 본 발명은 상기 오버라이트 정보가, 오버라이트될 패킷의 지정에 이용되는 기준 패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 정의된 실시예를 포함한다.The present invention also includes an embodiment in which the overwrite information is defined such that it does not include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten.

또한, 본 발명은 스트림을 기록매체에 기록하고, 상기 스트림에 오버라이트될 값들 및 오버라이트 영역들을 지정하는 오버라이트 정보를 생성하여 상기 기록매체에 기록하되, 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 생성된 것을 특징으로 하는 데이터 기록방법을 제공한다.The present invention also records a stream on a recording medium, generates overwrite information specifying values and overwrite areas to be overwritten on the stream, and writes the overwrite information to the recording medium. Provided is a data recording method which is generated so as not to overlap.

또한, 본 발명은 상기 스트림에 대한 오버라이트 과정에 이용되는 콘텐트 코드를 생성하여 상기 기록매체에 기록하는 실시예를 포함한다.In addition, the present invention includes an embodiment of generating a content code used in the overwrite process for the stream and recording on the recording medium.

또한, 본 발명은 상기 오버라이트 정보가 마스크된 형태로 상기 기록매체에 기록되는 실시예를 포함한다.The present invention also includes an embodiment in which the overwrite information is recorded in the recording medium in a masked form.

또한, 본 발명은 상기 오버라이트 정보가 상기 스트림에 멀티플렉스되어 상기 기록매체에 기록되는 실시예를 포함한다.The present invention also includes an embodiment in which the overwrite information is multiplexed into the stream and recorded on the recording medium.

또한, 본 발명은 상기 오버라이트 정보가 별도의 파일로 구성되어 상기 기록매체에 저장되는 실시예를 포함한다.In addition, the present invention includes an embodiment in which the overwrite information is configured in a separate file and stored in the recording medium.

또한, 본 발명은 상기 오버라이트 정보가, 오버라이트될 패킷을 지정하는 패킷위치정보를 포함하고, 상기 패킷위치정보는 상기 스트림의 각각 다른 패킷들을 지정하도록 생성된 실시예를 포함한다.In addition, the present invention includes an embodiment in which the overwrite information includes packet location information specifying a packet to be overwritten, and the packet location information is generated to designate different packets of the stream.

또한, 본 발명은 상기 오버라이트 정보가, 오버라이트될 패킷 내 오버라이트가 시작되는 위치를 지정하는 오버라이트 시작위치정보를 포함하고, 상기 오버라이트 정보가 동일한 패킷을 적어도 하나 이상 지정하는 경우, 상기 시작위치정보는 상기 지정된 동일한 패킷 내에서 오버라이트 영역들이 겹쳐지지 않도록 생성된 실시예를 포함한다.In addition, the present invention includes the overwrite start position information for specifying the position where the overwrite starts in the packet to be overwritten, and the overwrite information, if the overwrite information specifies at least one or more of the same packet, The start position information includes an embodiment in which the overwrite areas are not overlapped in the designated same packet.

또한, 본 발명은 상기 오버라이트 정보가, 오버라이트될 패킷의 지정에 이용되는 기준 패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 생성된 실시예를 포함한다.The present invention also includes an embodiment in which the overwrite information is generated such that it does not include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten.

또한, 본 발명은 데이터를 기록매체에 기록하는 기록부; 그리고 상기 기록부를 제어하여 스트림을 상기 기록매체에 기록하고, 상기 스트림에 오버라이트될 값들 및 대응하는 오버라이트 영역들을 지정하는 오버라이트 정보를 생성하고, 상기 기록부를 제어하여 상기 오버라이트 정보를 상기 기록매체에 기록하되, 상기 제어부는 상기 오버라이트 영역들이 겹쳐지지 않도록 상기 오버라이트 정보를 생성하는 것을 특징으로 하는 데이터 기록장치를 제공한다.The present invention also provides a recording unit for recording data on a recording medium; And control the recording unit to record the stream on the recording medium, generate overwrite information specifying values to be overwritten in the stream and corresponding overwrite areas, and control the recording unit to record the overwrite information. Recording on a medium, wherein the controller generates the overwrite information so that the overwrite areas do not overlap.

또한, 본 발명은 상기 제어부가 상기 스트림에 대한 오버라이트 과정에 이용되는 콘텐트 코드를 생성하고, 상기 기록부를 제어하여 상기 콘텐트 코드를 상기 기록매체에 기록하는 실시예를 포함한다.The present invention also includes an embodiment in which the control unit generates a content code used in the overwrite process for the stream, and controls the recording unit to record the content code on the recording medium.

또한, 본 발명은 상기 제어부가 상기 오버라이트 정보를 마스크된 형태로 상기 기록매체에 기록되도록 제어하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller controls the overwrite information to be recorded on the recording medium in a masked form.

또한, 본 발명은 상기 제어부가 상기 오버라이트 정보가 상기 스트림에 멀티플렉스되어 상기 기록매체에 기록되도록 제어하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller controls the overwrite information to be multiplexed into the stream and recorded on the recording medium.

또한, 본 발명은 상기 제어부가 상기 오버라이트 정보가 파일로써 상기 기록매체에 기록되도록 제어하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller controls the overwrite information to be recorded in the recording medium as a file.

또한, 본 발명은 상기 제어부가 오버라이트될 패킷을 지정하는 패킷위치정보가 상기 스트림 내 각각 다른 패킷들을 지정하도록 상기 오버라이트 정보를 생성하 는 실시예를 포함한다.The present invention also includes an embodiment in which the controller generates the overwrite information such that packet position information specifying a packet to be overwritten specifies different packets in the stream.

또한, 본 발명은 상기 오버라이트 정보가 동일한 패킷을 적어도 하나 이상 지정하는 경우, 상기 제어부가 오버라이트될 패킷에서 오버라이트가 시작되는 위치를 지정하는 오버라이트 시작위치정보가, 상기 지정된 동일한 패킷 내에서 겹치지 않는 오버라이트 영역들을 지정하도록 상기 오버라이트 정보를 생성하는 실시예를 포함한다.Also, when the overwrite information designates at least one packet having the same overwrite information, the control unit specifies overwrite start position information for designating a position at which an overwrite starts in a packet to be overwritten within the specified same packet. And generating the overwrite information to designate non-overlapping overwrite areas.

또한, 본 발명은 상기 제어부가 오버라이트될 패킷의 지정에 이용되는 기준 패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 상기 오버라이트 정보를 생성하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller generates the overwrite information so that the control unit does not include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten.

또한, 본 발명은 스트림을 재생하는 데이터 재생방법에 있어서, 상기 스트림에 오버라이트될 값들 및 오버라이트 영역들을 지정하는 오버라이트 정보를 확인하고, 상기 오버라이트 정보가 지정하는 각 오버라이트 영역에, 대응하는 오버라이트 값을 오버라이트하여, 상기 오버라이트된 스트림을 재생하되, 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 데이터 재생방법을 제공한다. In addition, the present invention provides a data reproduction method for reproducing a stream, comprising: checking overwrite information specifying values and overwrite regions to be overwritten in the stream, and corresponding to each overwrite region designated by the overwrite information. By overwriting the overwrite value, the overwritten stream is reproduced, and the overwrite information is defined such that the overwrite areas do not overlap.

또한, 본 발명은 상기 오버라이트 정보가 별도의 파일로 저장된 것이고, 오버라이트될 패킷 위치의 지정에 이용되는 기준패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 정의된 실시예를 포함한다.In addition, the present invention includes an embodiment in which the overwrite information is stored in a separate file and is defined so as not to include another reference packet between the reference packet used for designating a packet position to be overwritten and the packet to be overwritten. do.

또한, 본 발명은 스트림을 재생하는 데이터 재생장치에 있어서, 기록매체로부터 데이터를 읽는 리더부; 그리고 상기 리더부를 제어하여 상기 기록매체로부터 상기 스트림과 상기 스트림에 대한 오버라이트 정보를 읽고, 상기 오버라이트 정보가 지정하는 각 오버라이트 영역에 대응하는 오버라이트 값을 오버라이트 하고, 상기 오버라이트된 스트림이 재생되도록 제어하는 제어부를 포함하되, 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 데이터 재생장치를 제공한다.In addition, the present invention provides a data reproducing apparatus for reproducing a stream, comprising: a reader unit for reading data from a recording medium; And controlling the reader unit to read overwrite information on the stream and the stream from the recording medium, overwrite an overwrite value corresponding to each overwrite region designated by the overwrite information, and overwrite the overwritten stream. And a controller for controlling the reproduction, wherein the overwrite information is defined so that the overwrite regions do not overlap.

또한, 본 발명은 상기 오버라이트 정보가 상기 기록매체에 별도의 파일로 저장된 것이고, 오버라이트될 패킷의 지정에 이용되는 기준패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 정의된 실시예를 포함한다.In addition, the present invention is implemented so that the overwrite information is stored in a separate file on the recording medium, and defined so as not to include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten. Include an example.

또한, 본 발명은 스트림을 재생하는 데이터 재생방법에 있어서, 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 확인하고, 상기 오버라이트 정보가 지정하는 상기 오버라이트될 패킷에, 상기 오버라이트 정보에 포함된 오버라이트 값을 오버라이트하여 상기 스트림을 재생하되, 상기 오버라이트는 상기 기준패킷의 순서를 근거로 상기 스트림에 적용되는 것을 특징으로 하는 데이터 재생방법을 제공한다.In addition, the present invention provides a data reproduction method for reproducing a stream, comprising: checking overwrite information according to reference packets used for designating a packet to be overwritten in the stream, A packet is reproduced by overwriting an overwrite value included in the overwrite information, wherein the overwrite is applied to the stream based on the order of the reference packet. .

또한, 본 발명은 상기 오버라이트가 상기 기준패킷의 순서대로 상기 스트림에 적용되는 실시예를 포함한다.The invention also includes an embodiment in which the overwrite is applied to the stream in the order of the reference packet.

또한, 본 발명은 상기 오버라이트가 상기 기준패킷의 역순으로 상기 스트림에 적용되는 실시예를 포함한다.The invention also includes an embodiment in which the overwrite is applied to the stream in the reverse order of the reference packet.

또한, 본 발명은 상기 오버라이트가 상기 스트림의 제공자가 설정해둔 순서대로 상기 스트림에 적용되는 실시예를 포함한다.The invention also includes an embodiment in which the overwrite is applied to the stream in the order set by the provider of the stream.

또한, 본 발명은 스트림을 재생하는 데이터 재생장치에 있어서, 기록매체로부터 데이터를 읽는 리더부; 그리고 상기 리더부를 제어하여 상기 기록매체로부터 상기 스트림 및 상기 스트림에 대한 오버라이트 정보를 읽고, 상기 오버라이트 정보가 지정하는 오버라이트될 패킷에 대응하는 오버라이트 값을 오버라이트하여, 상기 오버라이트된 스트림이 재생되도록 제어하는 제어부를 포함하되, 상기 오버라이트 정보는 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따라 정의되고, 상기 제어부는 상기 기준패킷들의 순서를 근거로 상기 스트림에 상기 오버라이트를 적용하는 것을 특징으로 하는 데이터 재생장치를 제공한다.In addition, the present invention provides a data reproducing apparatus for reproducing a stream, comprising: a reader unit for reading data from a recording medium; The reader unit reads the overwrite information on the stream and the stream from the recording medium, overwrites the overwrite value corresponding to the packet to be overwritten by the overwrite information, and overwrites the overwritten stream. And a control unit for controlling the reproduction to be performed, wherein the overwrite information is defined according to reference packets used for designating a packet to be overwritten in the stream, and the control unit transmits the stream to the stream based on the order of the reference packets. Provided is a data reproducing apparatus characterized by applying an overwrite.

또한, 본 발명은 상기 제어부가 상기 기준패킷들의 순서대로 상기 스트림에 상기 오버라이트를 적용하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller applies the overwrite to the stream in the order of the reference packets.

또한, 본 발명은 상기 제어부가 상기 기준패킷들의 역순으로 상기 스트림에 상기 오버라이트를 적용하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller applies the overwrite to the stream in the reverse order of the reference packets.

또한, 본 발명은 상기 제어부가 상기 스트림의 제공자가 설정해둔 순서대로 상기 스트림에 오버라이트를 적용하는 실시예를 포함한다.The present invention also includes an embodiment in which the controller applies the overwrite to the stream in the order set by the provider of the stream.

또한, 본 발명은 스트림을 저장하는 스트림 영역; 그리고 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 저장하는 보안영역을 포함하되; 상기 오버라이트 정보는 상기 기준패킷들의 순서를 근거로 정의된 오버라이트 값 및 오버라이트 영역을 포함하는 것을 특징으로 하는 기록매체를 제공한다.The present invention also provides a stream area for storing streams; And a security area for storing overwrite information according to reference packets used for designating a packet to be overwritten in the stream. The overwrite information includes an overwrite value and an overwrite area defined based on the order of the reference packets.

또한, 본 발명은 스트림을 기록하는 데이터 기록방법에 있어서, 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 생성하고, 상기 오버라이트 정보를 상기 기록매체에 기록하되, 상기 오버라이트 정보는 상기 기준패킷들의 순서를 근거로 상기 스트림에 오버라이트될 값 및 오버라이트 영역을 지정하도록 생성된 것을 특징으로 하는 데이터 기록방법을 제공한다.In addition, the present invention provides a data recording method for recording a stream, the method comprising: generating overwrite information according to reference packets used for designating a packet to be overwritten in the stream, and recording the overwrite information on the recording medium; The overwrite information is generated to designate a value and an overwrite area to be overwritten in the stream based on the order of the reference packets.

또한, 본 발명은 스트림을 기록하는 데이터 기록장치에 있어서, 기록매체에 데이터를 기록하는 기록부; 그리고 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 생성하고, 상기 기록부를 제어하여 상기 오버라이트 정보를 상기 기록매체에 기록하는 제어부를 포함하되, 상기 제어부는 상기 기준패킷들의 순서를 근거로 상기 스트림에 오버라이트될 값 및 오버라이트 영역이 설정되도록 제어하는 것을 특징으로 하는 데이터 기록장치를 제공한다.In addition, the present invention provides a data recording apparatus for recording a stream, comprising: a recording unit for recording data on a recording medium; And a controller configured to generate overwrite information according to reference packets used to designate a packet to be overwritten in the stream, and to control the recording unit to record the overwrite information on the recording medium. A data recording apparatus is characterized in that a value and an overwrite area to be overwritten in the stream are set based on a sequence of reference packets.

이하, 본 발명은 설명의 편의를 위해 기록매체로서 광 디스크(optical disc) 특히 "블루레이 디스크(BD)"를 예로 하여 설명하고자 하나, 본 발명의 기술사상은 HD-DVD를 비롯한 다른 기록매체에도 동일하게 적용 가능함은 자명하다.Hereinafter, the present invention will be described using an optical disc, in particular, a "Blu-ray Disc (BD)" as a recording medium for convenience of explanation, but the technical concept of the present invention can be applied to other recording media including HD-DVD. Equally applicable is obvious.

관련하여, 본 발명에서 "스토리지(Storage)"라 함은, 광 기록재생장치(10)에 구비되거나 연결된 일종의 저장수단으로써, 필요한 정보 및 데이터를 사용자가 임의로 저장하여 활용할 수 있는 요소를 의미한다. 지속성(persistency)을 가지는 데이터가 스토리지(15)에 저장될 수 있다. 현재 일반적으로 사용되는 스토리지의 예로는 데이터 기록재생장치(10) 내에 구비되는 플래시 메모리(FLASH memory)와, 데이터 기록재생장치(10)에 연결가능하고 제거가능한 USB 메모리, HDD 메모리 또는 메모리 카드 등이 있다. In this regard, in the present invention, "storage" is a kind of storage means provided or connected to the optical recording / reproducing apparatus 10, and means an element that a user can arbitrarily store and utilize necessary information and data. Data with persistence may be stored in storage 15. Examples of storage currently used generally include a flash memory provided in the data recording and reproducing apparatus 10, and a USB memory, HDD memory, or memory card connectable to and removable from the data recording and reproducing apparatus 10. have.

특히, 본 발명과 관련하여, "스토리지(Storage)"는 기록매체(예를 들어, 블루레이 디스크)와 연관된 데이터를 저장하는 수단으로도 활용될 수 있으며, 상기 기록매체와 연관되어 스토리지 내에 저장되는 데이터는 외부로부터 다운로드(download) 받은 데이터가 일반적이다. In particular, in the context of the present invention, " storage " may also be utilized as a means for storing data associated with a record carrier (e.g. a Blu-ray disc) and stored in storage in association with the record carrier. The data is generally data downloaded from the outside.

관련하여, 기록매체로부터 일부 허용된 데이터를 직접 독출하거나, 또는 기록매체의 기록재생과 관련된 시스템데이터(예를 들어, 메타데이터(metadata) 등)을 생성하여, 스토리지 내에 저장하는 것도 가능하다. In this regard, it is also possible to directly read some permitted data from the recording medium, or to generate system data (e.g., metadata, etc.) related to the recording and reproducing of the recording medium and to store it in the storage.

관련하여, 본 발명에서는 설명의 편의를 위해, 상기 기록매체 내에 기록된 데이터를 "오리지널 데이터(original data)"로 명명하고, 상기 스토리지 내에 저장된 데이터 중 기록매체와 관련된 데이터를 "어디셔널 데이터(additional data)"로 명명하고자 한다.In this regard, in the present invention, for convenience of description, the data recorded in the recording medium is referred to as " original data ", and the data related to the recording medium among the data stored in the storage is " additional data " data) ".

또한, 본 발명에서 "타이틀(Title)"이라 함은, 사용자와의 인터페이스를 이루는 재생단위를 말한다. 각각의 타이틀은 특정의 오브젝트(Object)와 링크(link)되어 있다. 특히, 상기 오브젝트(Object) 내의 커맨드(command) 혹은 프로그램에 따라 디스크 내 기록된 해당 타이틀에 관련된 스트림이 재생된다. 본 발명에서는 설명의 편의를 위해 디스크 내 엠펙(MPEG) 압축방식에 의한 고화질의 동영상 정보가 기록된 타이틀 중 끊김 없는 멀티앵글, 멀티 스토리, 언어 크레딧, 디렉터 컷 등을 지원하는 타이틀을 특히 "HDMV 타이틀(Title)"이라 명한다. 또한, 엠펙(MPEG) 압축방식에 의한 고화질의 동영상 정보가 기록된 타이틀 중 기록매체 내 타이틀의 업데이트 또는 네트워크와의 연결성을 지원하여 높은 인터액티버티를 가능하게 하는 자바 프로그램에 의해 재생되는 타이틀을 "BD-J 타이틀(BD-J Title)"이라 명할 것이다. In addition, in the present invention, the term "Title" refers to a playback unit that forms an interface with a user. Each title is linked to a specific object. In particular, a stream related to the title recorded in the disc is reproduced in accordance with a command or a program in the object. In the present invention, for the convenience of description, titles that support seamless multi-angle, multi-story, language credits, director cuts, etc., among the titles in which high-definition video information is recorded by an MPEG compression method in a disc, are particularly referred to as "HDMV titles. (Title) ". Also, titles that are recorded by a Java program that supports high-activity by updating the title in the recording medium or connecting with the network among the titles in which high-definition video information is recorded by MPEG compression method are " BD-J Title. "

도 1은 본 발명의 개념적 이해를 돕기 위해 나타낸 것으로, 광 기록재생장치(10)와 주변기기 간의 통합적 사용의 일 예를 보여주기 위해 도시한 것이다.Figure 1 is shown to aid the conceptual understanding of the present invention, and is shown to show an example of the integrated use between the optical recording and playback device 10 and the peripheral device.

관련하여, 본 발명의 "광 기록재생장치(10)"는 여러 가지 규격의 광 디스크를 기록하거나 재생 가능한 기기로서, 설계에 따라서는 특정규격(예를 들면, BD)의 광 디스크만을 기록재생 가능하게 할 수도 있으며, 또한 기록은 제외하고 재생만 하는 것도 가능하다 할 것이다. 그러나, 특히 본 발명에서 해결하고자 하는 광 디스크와 주변기기와의 연계성을 고려하여 이하 광 디스크를 재생하는 플레이어(optical disc player) 또는 광 디스크를 기록재생하는 리코더(optical disc recorder)를 예로 하여 설명하고자 한다. 관련하여, 본 발명의 "광 기록재생장치(10)"는 컴퓨터 등에 내장가능한 "드라이브(drive)"가 될 수 있음은 이미 널리 알려진 자명한 사실이다. In this regard, the "optical recording and reproducing apparatus 10" of the present invention is a device capable of recording or reproducing optical discs of various standards, and depending on the design, it is possible to record and reproduce only optical discs of a specific standard (for example, BD), depending on the design. It may also be possible to play back without recording. However, in consideration of the linkage between the optical disc and the peripheral device to be solved in the present invention, an optical disc player or an optical disc recorder for recording and reproducing an optical disc will be described below. . In this regard, it is already well known that the "optical recording and reproducing apparatus 10" of the present invention can be a "drive" that can be embedded in a computer or the like.

본 발명의 광 기록재생장치(10)는 광 디스크(30)를 기록재생하는 기능 이외에도, 외부입력신호를 수신받아 이를 신호처리한 후 또 다른 외부 디스플레이(20)를 통해 사용자에게 화면으로 전달하는 기능을 가지게 된다. 이 경우 입력가능한 외부신호에 대해서는 특별한 제한은 없으나, 디지털 방송(Digital multimedia broadcasting) 및 인터넷(Internet) 등이 대표적인 외부입력신호가 될 것이며, 특히, 인터넷(Internet)의 경우 현재 누구나 손쉽게 접근할 수 있는 매체로서 광 기 록재생장치(10)를 통해 인터넷(Internet)상의 특정 데이터를 다운로드(download) 받아 활용할 수 있게 된다. In addition to the function of recording and reproducing the optical disc 30, the optical recording and reproducing apparatus 10 of the present invention receives an external input signal, processes the signal, and delivers the signal to a user through another external display 20. Will have In this case, there is no particular limitation on the external signals that can be input, but digital multimedia broadcasting and the Internet will be representative external input signals. In particular, the Internet can be easily accessed by anyone at present. As a medium, specific data on the Internet can be downloaded and utilized through the optical recording and playback apparatus 10.

관련하여, 외부입력 소스(external source)로서 콘텐트(content)를 제공하는 자를 총칭하여 "콘텐츠 제공자(CP:contents provider)"로 명명한다. In this regard, a person providing content as an external input source is collectively called a "content provider (CP)".

또한, 본 발명에서 콘텐트(content)라 함은 타이틀을 구성하는 내용으로서 기록매체의 제작자(author)에 의해 제공되는 데이터(data)를 의미한다.In addition, in the present invention, content refers to data provided by an author of a recording medium as content constituting a title.

특히, 본 발명은 콘텐트가 무단 복제/배포를 방비하는 방법 및 장치와 상기 방법이 적용된 콘텐트를 재생하는 방법 및 장치와 상기 콘텐트를 저장하는 기록매체를 제공한다. 이를 통해, 콘텐트의 무단 복제, 배포 등 악의적인 존재에 의해 일어나는 콘텐트의 약탈을 방지하는데 본 발명의 목적이 있다.In particular, the present invention provides a method and apparatus for preventing content from unauthorized copying / distribution, a method and apparatus for reproducing content to which the method is applied, and a recording medium storing the content. Through this, it is an object of the present invention to prevent plunder of content caused by malicious existence such as unauthorized copying or distribution of content.

오리지널 데이터와 어디셔널 데이터에 대해 구체적으로 설명하면, 예를 들어 광 디스크 내에 기록된 오리지널 데이터로는 특정 타이틀용의 멀티플렉싱된(multiplexed) AV스트림을 기록해두고, 인터넷상의 어디셔널 데이터로는 상기 오리지널 데이터의 오디오스트림(예를 들어, 한국어)과 상이한 오디오스트림(예를 들어, 영어)을 제공하면, 사용자에 따라서는 인터넷상의 어디셔널 데이터인 오디오스트림(예를 들어, 영어)을 다운로드 받아, 오리지널 테이터인 AV스트림과 함께 재생하거나, 또는 어디셔널 데이터만 재생하고자 하는 요구가 존재할 것이며, 이를 가능케 하기 위해서는 상기 오리지널 데이터와 어디셔널 데이터 간의 연관성을 규정하고, 이들 데이터들을 사용자의 요구에 따라 관리/재생하는 체계화된 방법이 필요하게 된다. The original data and the local data will be described in detail. For example, the multiplexed AV stream for a specific title is recorded as the original data recorded in the optical disc, and the original data is used as the international data on the Internet. If you provide an audio stream (e.g. English) that is different from the audio stream (e.g. Korean) of the user, the user may download an audio stream (e.g. English), which is an international data on the Internet, depending on the user. There may be a request to play with the AV stream, or to play only the local data. To enable this, the association between the original data and the local data is defined, and the data is managed / played according to the user's request. A systematic method is needed.

상기에서 설명의 편의를 위해 디스크 내에 기록된 신호를 오리지널 데이터로 하고, 디스크 외부에 존재하는 신호를 어디셔널 데이터라고 명명하였으나, 이는 각각의 데이터를 취득하는 방법에 따라 구분될 따름이지 오리지널 데이터와 어디셔널 데이터가 반드시 특정의 데이터로 한정되는 것은 아니라 할 것이다. 따라서, 광 디스크 외부에 존재하면서, 오리지널 데이터와 연관된 어떠한 속성의 데이터도 어디셔널 데이터로 가능하게 된다. 어디셔널 데이터는 인덱스 파일(index) 또는 플레이리스트 파일(*.m2ts), 클립인포 파일(*,clpi) 별로 각각 다운로드 될 수도 있으나, 콘텐트(content) 단위 또는 타이틀(Title) 단위로 다운로드 될 수도 있다.For convenience of explanation, the signal recorded in the disk is referred to as the original data, and the signal existing outside the disk is referred to as the local data, but this is classified according to the method of acquiring the respective data. National data is not necessarily limited to specific data. Thus, data of any attribute existing outside the optical disk and associated with the original data is possible as the local data. The local data may be downloaded for each index file, playlist file (* .m2ts), clip information file (*, clpi), or may be downloaded in content unit or title unit. .

관련하여, 상기 사용자의 요구를 실현 가능케 하기 위하여는 오리지널 데이터와 어디셔널 데이터 상호 간에 연관된 파일구조를 가짐이 필수적이라 할 것인바, 이하, 도 2를 통해 광 디스크에서 사용가능한 파일구조 및 데이터 기록구조에 대해 상세히 설명하면 다음과 같다. In this regard, in order to realize the needs of the user, it is essential to have a file structure associated with the original data and the international data. Hereinafter, a file structure and a data recording structure usable on an optical disc through FIG. When described in detail as follows.

먼저, 도 2는 본 발명의 데이터 파일구조를 도시한 것이다. 본 발명의 파일 구조가 후술할 명칭 및 위치에 제한되는 것은 아님을 밝혀둔다. 즉, 상기 디렉토리 및 파일들은 명칭 및 위치가 아닌 그 의미로서 파악되어야 할 것이다.First, Fig. 2 shows the data file structure of the present invention. Note that the file structure of the present invention is not limited to the names and locations described below. In other words, the directories and files should be understood by their meaning and not by name and location.

본 발명의 파일구조는 하나의 루트 디렉토리(root directory) 아래에 적어도 하나 이상의 BDMV 디렉토리(BDMV)가 포함한다. 상기 BDMV디렉토리(BDMV)에는 사용자와의 인터액티브티(interactivity)를 보장하기 위한 일반파일(상위파일) 정보로서 인덱스 파일("index.bdmv")과 오브젝트 파일("MovieObjet.bdmv")을 존재한다. 아울러, 실제 디스크 내에 기록된 데이터에 대한 정보와 이를 재생하는 방법 등에 대한 정보를 가지는 디렉토리로서, 플레이리스트 디렉토리(PLAYLIST), 클립인포 디렉토리(CLIPINF), 스트림 디렉토리(STREAM), 보조 디렉토리(AUXDATA), BD-J 오브젝트 디렉토리(BDJO)등이 구비되어 있다. 이하 상기 디렉토리 및 디렉토리 내에 포함되는 파일에 대해 상세히 설명하면 다음과 같다.The file structure of the present invention includes at least one BDMV directory (BDMV) under one root directory. In the BDMV directory (BDMV), an index file ("index.bdmv") and an object file ("MovieObjet.bdmv") exist as general file (parent file) information for ensuring interactivity with a user. . In addition, as a directory having information on the data recorded on the physical disk and a method of playing the same, the playlist directory (PLAYLIST), clip information directory (CLIPINF), stream directory (STREAM), auxiliary directory (AUXDATA), A BD-J object directory (BDJO) is provided. Hereinafter, the directory and the files included in the directory will be described in detail.

메타데이터 디렉토리(META)는 데이터에 대한 데이터(data about a data)인 메타데이터(metadata) 파일을 포함한다. 즉, 서치(Search)파일, 디스크 라이브러리(Disc Library)를 위한 메타데이터 파일 등이 상기 디렉토리에 존재한다. The metadata directory META includes a metadata file that is data about a data. That is, a search file, a metadata file for a disc library, and the like exist in the directory.

BD-J 오브젝트 디렉토리(BDJO)는 BD-J 타이틀을 재생하기 위한 BD-J 오브젝트 파일을 포함한다.The BD-J object directory (BDJO) contains a BD-J object file for playing a BD-J title.

보조 디렉토리(AUXDATA)는, 디스크 재생에 필요한 부가적인 데이터 파일을 포함하며, 예를 들어, 인터액티브 그래픽(interactive graphic)의 실행시에 사운드를 제공하는 "Sound.bdmv" 파일, 디스크 재생시 폰트(font) 정보를 제공하는 "11111.otf"파일 등이 있다. The auxiliary directory (AUXDATA) contains additional data files required for disc playback, for example, a "Sound.bdmv" file that provides sound when executing interactive graphics, fonts for disc playback ( font) file "11111.otf".

스트림 디렉토리(STREAM)는, 디스크 내에 특정 포맷으로 기록된 AV 스트림에 대한 파일들이 존재한다. 각각의 스트림은 현재 널리 알려진 엠펙-2(MPEG-2) 방식의 트랜스포트(Transport) 패킷(packet)으로 기록되는 경우가 가장 일반적이며, 스트림 파일 (01000.m2ts, 02000.m2ts)의 확장명으로 "*.m2ts" 로 사용한다. 특히, 상기 스트림 중에 비디오/오디오/그래픽 정보가 모두 멀티플렉싱된(multiplexed) 스트림을 AV스트림이라 명하고, 적어도 하나 이상의 AV스트림 파일들로서 타이틀(Title)을 구성하게 된다. The stream directory STREAM contains files for an AV stream recorded in a specific format in the disc. The most common case is that each stream is recorded as a well-known MPEG-2 transport packet, and has an extension of the stream files (01000.m2ts, 02000.m2ts). * .m2ts " In particular, a stream in which all of the video / audio / graphic information is multiplexed is called an AV stream, and a title is configured as at least one or more AV stream files.

클립인포 디렉토리(CLIPINF)는 상기 각각의 스트림 파일("*.m2ts")과 일대일 대응하는 클립인포 파일(01000.clpi, 02000.clpi)들로 구성된다. 상기 클립인포 파일은 클립을 위한 데이터베이스 파일이다. 특히, 클립인포 파일("*.clpi")은 대응하는 스트림 파일("*.m2ts")의 속성정보 및 타임정보 (timing information)등을 기록하게 된다. 관련하여, 스트림 파일("*.m2ts")과 스트림 파일("*.m2ts")에 일대일 대응하는 클립인포 파일("*.clpi")을 묶어 이를 "클립(clip)"이라고 명명한다. 즉, "클립(clip)"은 스트림 파일("*.m2ts")과 이에 클립인포 파일("*.clpi")을 모두 포함한 데이터가 된다. The clip information directory CLIPINF is composed of clip stream files (01000.clpi, 02000.clpi) corresponding to each of the stream files ("* .m2ts"). The clip information file is a database file for a clip. In particular, the clip information file ("* .clpi") records attribute information and time information (timing information) of the corresponding stream file ("* .m2ts"). Relatedly, a clip information file ("* .clpi") corresponding to a stream file ("* .m2ts") and a stream file ("* .m2ts") one-to-one is named and named "clip". That is, "clip" is data including both a stream file ("* .m2ts") and a clip information file ("* .clpi").

플레이리스트 디렉토리(PLAYLIST)는 플레이리스트들을 위한 데이터베이스 파일인 플레이리스트 파일("*.mpls")들로 구성되며, 각각의 플레이리스트 파일("*.mpls")은 특정 클립(clip)이 재생되는 시간(playing interval)을 지정하는 적어도 하나 이상의 플레이아이템(PlayItem; PI) 및 서브플레이아이템(SubPlayItem; SPI)을 포함하고 있으며, 플레이아이템(PI) 및 서브플레이아이템(SPI)은 재생을 원하는 특정 클립(clip)의 재생 시작시간(IN-Time)과 재생 종료시간(OUT-Time)에 대한 정보를 가지고 있다.The playlist directory (PLAYLIST) consists of playlist files ("* .mpls"), which are database files for playlists, and each playlist file ("* .mpls") contains a specific clip to be played. It includes at least one PlayItem (PI) and a SubPlayItem (SPI) that specify a playing interval, and the Playitem (PI) and the subplayitem (SPI) are specific clips to be played. Contains information about the playback start time (IN-Time) and playback end time (OUT-Time) of the (clip).

관련하여, 플레이리스트 파일 내에서 상기 적어도 하나 이상의 플레이아이템(PI)에 의해 재생되는 과정을 "메인패스(main path)"라 하고, 각각의 서브플레이아이템(SPI)에 의해 재생되는 과정을 "서브패스(sub path)"라 정의한다. 플레이리스트 파일 내에서 상기 메인패스(main path)는 존재하여야 하며, 상기 서브패스(sub path)는 서브플레이아이템(SPI) 존재에 따라 적어도 하나 이상 필요에 따라 존재하게 된다. 결국, 플레이리스트 파일은 적어도 하나 이상의 플레이아이템의 조합에 의해 원하는 클립의 재생을 수행하는 전체 재생관리 파일구조 내의 기본적 재생관리 파일단위가 된다.In this regard, a process played by the at least one playitem PI in a playlist file is referred to as a "main path", and a process played by each subplayitem SPI is referred to as a "sub". Sub path ". The main path must exist in a playlist file, and the sub path exists at least one or more according to necessity depending on the existence of a sub-playitem (SPI). As a result, the playlist file becomes a basic reproduction management file unit in the entire reproduction management file structure for reproducing a desired clip by combining at least one playitem.

또한, 본 발명의 파일 구조는 루트 디렉토리 하에 BDSVM 디렉토리(BDSVM)를 포함한다. 상기 BDSVM 디렉토리는 보안가상머신(Security Virtual Machine; Security VM)을 위한 디렉토리 구조이다. 상기 BDSVM 디렉토리 하에는 콘텐트 코드(Content Code)를 저장하는 콘텐트 코드 파일("ContentCode.svm")이 존재한다. 상기 콘텐트 코드 파일은 콘텐트 코드에 의해 사용되는 모든 필요한 정보(예를 들어, 혼합된(scrambled) 픽스업 테이블)도 포함한다. 또한, 상기 BDSVM 디렉토리는 상기 콘텐트 코드 파일들의 백업 파일이 위치하는 백업(BACKUP) 디렉토리를 하위 디렉토리로 갖는다. 보안가상머신에 대해서는 도 7에서 구체적으로 설명한다.The file structure of the present invention also includes a BDSVM directory (BDSVM) under the root directory. The BDSVM directory is a directory structure for a security virtual machine (Security VM). Under the BDSVM directory, there is a content code file ("ContentCode.svm") that stores a content code. The content code file also contains all necessary information (eg, a scrambled fixup table) used by the content code. In addition, the BDSVM directory has a backup directory where a backup file of the content code files is located as a subdirectory. The security virtual machine will be described in detail with reference to FIG. 7.

관련하여, "콘텐트 코드(Content Code)"는 기록매체에 저장되어 광 기록재생장치에 제공되는 일종의 디코딩 소프트웨어로서, 사용자와 인터액트(interact)하거나, 플레이어 및 플레이어 주변기기 또는 드라이버에 질의(query)하거나, 재생(playback) 프로세스를 제어한다. 보안 문제가 감지되는 경우, 상기 콘텐트 코드는 적절한 응답(response)이나 대책(countermeasure)을 전달(deliver)한다. In this regard, " content code " is a type of decoding software stored on a recording medium and provided to an optical recording / reproducing apparatus, for interacting with a user or querying a player and player peripherals or drivers. Control the playback process. If a security problem is detected, the content code delivers an appropriate response or countermeasure.

도 3은 미디어 트랜스폼의 개념적 이해를 돕기 위해 도시한 것이다. 콘텐트 코드는 콘텐트의 디코딩에 관여하여, 상기 콘텐트를 변형(transformation)할 수 있는 능력을 갖는다. 상기 변형은 디코딩을 위해 원래의 형태로 복원하는 변형뿐만 아니라 포렌직 마크를 클립 AV 스트림에 삽입하는 것과 같은 수정(modifications) 을 포함할 수 있다. 콘텐트 코드에 대한 상기와 같은 변형을 미디어 트랜스폼(Media Transform)이라 한다. 콘텐트 코드가 디코딩 과정에 관여한다는 것은 콘텐트 코드가 콘텐트를 전환(convert)하는 형태로 동작하기 때문에 불법 복제된 타이틀 또는 미디어 키를 인터넷을 통해 단순 전송될 수 없음을 의미한다.3 is shown to help conceptually understand the media transform. The content code is involved in the decoding of the content and has the ability to transform the content. The modification may include modifications such as inserting forensic marks into the clip AV stream, as well as modifications that restore to their original form for decoding. Such a transformation of the content code is called a media transform. The involvement of the content code in the decoding process means that an illegally copied title or media key cannot be simply transmitted over the Internet because the content code operates in the form of converting the content.

도 3을 참조하면, 콘텐츠 제공자는 콘텐트를 제공함에 있어서, 트랜스포트 스트림 패킷의 일부를 변형하여 재생장치에 제공할 수 있다. 상기 변형된 패킷은 원래 형태로 복원되어 디코딩되어야 사용자가 볼 수 있는 형태로 디스플레이될 수 있다. 예를 들어, 콘텐츠 제공자는 특정 패킷 내 'k' 바이트를 변형하여 상기 재생장치에 제공할 수 있다. 상기 변형된 패킷을 포함하는 콘텐트는 원래 형태로 복원되어야 사용자가 볼 수 있는 형태로 디스플레이된다.Referring to FIG. 3, in providing content, a content provider may modify a portion of a transport stream packet and provide it to a playback device. The modified packet must be restored to its original form and decoded before it can be displayed in a form that a user can see. For example, the content provider may modify the 'k' bytes in a particular packet and provide it to the playback device. The content including the modified packet is displayed in a form that can be viewed by the user only after it is restored to its original form.

콘텐트 코드는 상기 콘텐트의 디코딩에 관여하여, 상기 콘텐트를 변형(transformation)할 수 있는 능력을 갖는다. 상기 변형은 디코딩을 위해 원래의 형태로 복원하는 변형뿐만 아니라 포렌직 마크를 클립 AV 스트림에 삽입하는 것과 같은 수정(modifications)을 포함할 수도 있다. 콘텐트 코드에 대한 상기와 같은 변형을 미디어 트랜스폼(Media Transform)이라 한다.Content code is involved in the decoding of the content and has the ability to transform the content. The modification may include modifications, such as inserting forensic marks into the clip AV stream, as well as modifications that restore to their original form for decoding. Such a transformation of the content code is called a media transform.

구체적으로, 상기 재생장치는 상기 변형된 패킷을 원래 형태로 복원하기 위해서, 콘텐트 코드를 실행하여, 변형된 위치에 'k' 바이트의 특정 값을 오버라이트(overwrite)한다. 미디어 트랜스폼이 적용되는 패킷과 그 패킷에 오버라이트되는 값들은 픽스업 테이블(Fix-Up Table; FUT) 엔트리에 의해 제공된다. Specifically, the playback apparatus executes content code to restore the modified packet to its original form, and overwrites a specific value of 'k' bytes at the modified position. The packet to which the media transform is applied and the values overwritten in that packet are provided by a Fix-Up Table (FUT) entry.

관련하여, 픽스업 테이블이 재생장치에 제공되는 형태에 따라 미디어 트랜스 폼의 구현방법이 크게 두 가지로 분류되는데, 미디어 트랜스폼의 구체적인 구현방법에 대해서는 도 8a ~ 9b에서 서술한다.In relation to this, there are two main methods of implementing a media transform according to the form in which the fixup table is provided to the playback apparatus. Specific implementation methods of the media transform will be described with reference to FIGS. 8A to 9B.

도 4는 본 발명에 의해 광디스크에 기록되는 데이터 기록구조를 도시한 것으로서, 상기 전술한 파일구조에 관련된 정보들이 디스크 내에 기록되는 형태를 보여준다. 디스크의 내주로부터 보면, 전체 파일을 관리하기 위한 시스템 정보로서 파일시스템 정보 영역 (File System Information area)과, 기록된 스트림 (*.m2ts)을 재생하기 위한, 인덱스 파일, 오브젝트 파일, 플레이리스트 파일, 클립인포 파일 및 메타데이터 파일이 기록된 영역(이를 "database area"라고도 한다), 및 오디오/비디오/그래픽 등으로 구성된 스트림 또는 JAR 파일이 기록되는 스트림 영역 또는 데이터 영역(stream area or data area)이 존재함을 알 수 있다. Fig. 4 shows a data recording structure recorded on an optical disc according to the present invention, and shows a form in which information related to the above-described file structure is recorded on the disc. As seen from the inner periphery of the disc, the file system information area (File System Information area) as the system information for managing the entire file, the index file, the object file, the playlist file, for playing the recorded stream (* .m2ts), The area in which clipinfo files and metadata files are recorded (also called "database area"), and the stream area or data area in which streams or JAR files composed of audio / video / graphics, etc. are recorded. It can be seen that it exists.

또한, 상기 데이터 영역 내의 콘텐츠를 재생하기 위한 파일정보 등을 기록하는 영역을 관리영역이라 하고, 상기 파일시스템 정보 영역 (File System Information area) 및 데이터베이스 영역(database area)이 이에 해당된다. In addition, an area for recording file information and the like for reproducing contents in the data area is called a management area, and the file system information area and database area correspond to this area.

또한, 콘텐트 보호와 관련된 정보가 저장되는 보안영역(security area)이 존재한다. 상기 보안영역에는 콘텐트 코드 파일, 인증서(certificate), 미디어 키, 타이틀 키, 키 전환 데이터(Key Conversion Data) 등 상기 기록매체에 기록된 콘텐트의 보호에 관련된 정보가 기록되게 된다. There is also a security area in which information related to content protection is stored. In the secure area, information related to the protection of the content recorded on the recording medium, such as a content code file, a certificate, a media key, a title key, and key conversion data, is recorded.

단, 도 4의 각 영역은 하나의 예로 제시한 것으로서, 본 발명이 도 4와 같은 각 영역의 배열구조에 국한되지 않음은 자명할 것이다. 따라서, 도 4는 보안영역이 데이터베이스 영역 및 스트림 영역과 별도로 존재하는 것으로 도시하였으나, 데이 터베이스 영역의 일정부분 또는 스트림 영역에 저장되는 스트림의 일정부분이 보안영역으로 활용되는 것도 가능하다 할 것이다.However, each region of FIG. 4 is provided as an example, and it will be apparent that the present invention is not limited to the arrangement structure of each region as shown in FIG. 4. Therefore, although FIG. 4 illustrates that the security area exists separately from the database area and the stream area, a certain part of the database area or a certain part of the stream stored in the stream area may be used as the security area.

도 5는 본 발명의 광 기록재생장치(10)의 전체 구성에 관한 일 예를 나타낸 것이다.5 shows an example of the overall configuration of the optical recording and reproducing apparatus 10 of the present invention.

우선 광 디스크에 기록된 오리지널 데이터 및 재생관리 파일정보를 포함한 관리정보를 재생하기 위한 픽업(11)과 픽업(11)의 동작을 제어하는 서보(14), 상기 픽업(11)으로부터 수신된 재생신호를 원하는 신호 값으로 복원해내거나, 기록될 신호를 광 디스크에 기록되는 신호로 변조(modulation)하여 전달하는 신호처리부(13)와 상기 동작을 제어하는 마이컴(16)이 기본적으로 구성된다. First, the pickup 11 for reproducing management information including the original data recorded on the optical disc and the reproduction management file information, the servo 14 for controlling the operation of the pickup 11, and the reproduction signal received from the pickup 11; The signal processor 13 for restoring the signal to a desired signal value or modulating the signal to be recorded into a signal recorded on the optical disk and transmitting the signal to the optical disk is basically configured.

픽업(11)과 서보(14), 신호처리부(13), 마이컴(16)를 통틀어, 기록재생부라 불리기도 한다. 재생의 관점에서, 상기 기록재생부는 제어부의 제어에 따라 광 디스크(30) 또는 스토리지(15)로부터 데이터를 읽어 디코더에 제공한다. 즉, 상기 기록재생부는 재생의 관점에서는 데이터를 읽어오는 재생부(또는 리더부)의 역할을 한다. 기록의 관점에서, 상기 기록재생부는 AV 인코더(18)에 의해 인코딩된 신호를 받아 비디오, 오디오 데이터 등을 광 디스크(30)에 기록하는 기록부가 된다.The pickup 11, the servo 14, the signal processor 13, and the microcomputer 16 may also be referred to as a recording / playback unit. In view of reproduction, the recording / reproducing section reads data from the optical disc 30 or the storage 15 and provides it to the decoder under the control of the controller. That is, the recording and reproducing section serves as a reproducing section (or reader section) for reading data from the viewpoint of reproduction. In terms of recording, the recording and reproducing section is a recording section which receives a signal encoded by the AV encoder 18 and records video, audio data and the like on the optical disc 30.

또한, 제어기(12)는 데이터 기록재생장치(10) 내 전체 구성요소의 제어를 담당하게 된다. In addition, the controller 12 is responsible for controlling all the components in the data recording and reproducing apparatus 10.

관련하여, 제어기(12)와 마이컴(16)은 별개로 구비되어 동작할 수 있다. 또한, 상기 제어기(12)와 마이컴(16)의 기능이 통합되어, 하나의 제어부(control unit)로 동작하는 것도 가능하다. 제어부는 데이터 기록재생장치(10) 내에 구비되 는 프로그램(소프트웨어) 및/또는 하드웨어로 구성될 수 있다.In this regard, the controller 12 and the microcomputer 16 may be provided separately to operate. In addition, the functions of the controller 12 and the microcomputer 16 may be integrated to operate as one control unit. The control unit may be composed of a program (software) and / or hardware provided in the data recording and reproducing apparatus 10.

또한, 제어부는 사용자명령 등에 의해 광 디스크 외에 존재하는 어디셔널 데이터를 다운로드 받아 이를 스토리지(15)에 저장함과 아울러, 기록매체 데이터와 스토리지 내 데이터를 재생하기 위해 가상 파일구조(Virtual Package)를 생성하며, 상기 생성된 가상 파일구조(Virtual Package)를 활용하여 오리지널 데이터 및/또는 어디셔널 데이터를 사용자의 요구에 따라 재생하게 된다. In addition, the control unit downloads and stores the local data existing in addition to the optical disk by the user command in the storage 15 and generates a virtual file structure for reproducing the recording medium data and the data in the storage. By using the generated virtual file structure (Virtual Package), the original data and / or the locational data are reproduced according to a user's request.

관련하여, 가상 파일구조(Virtual Package)는 가상 파일 시스템(Virtual File System)에 의해 수행되는 바인딩 동작(binding operation)을 통해 생성되며, 서로 다른 영역에 각각 저장되어 있는 디스크 내 오리지널 데이터로 구성된 오리지널 클립과 스토리지 내 어디셔널 데이터로 구성된 어디셔널 클립을 재생관리하는 파일구조가 된다.In this regard, a virtual package is created through a binding operation performed by a virtual file system, and includes an original clip composed of original data on disk stored in different areas. And a file structure for playing and managing a local clip composed of local data in storage.

또한, 재생시스템(17)은 상기 제어부의 제어에 따라 데이터를 최종적으로 디코딩하여 사용자에게 제공한다. 재생시스템(17)은 특히 AV신호를 디코딩하는 디코더와, 전술한 특정 타이틀의 재생과 관련하여 오브젝트 커맨드 혹은 어플리케이션과, 제어부를 통해 입력되는 사용자 명령을 해석하여 재생방향을 결정하는 플레이어 모델로 구성된다. In addition, the playback system 17 finally decodes the data under the control of the controller and provides it to the user. The playback system 17 is particularly composed of a decoder for decoding the AV signal, an object command or application relating to the reproduction of the specific title described above, and a player model for analyzing the user command input through the control unit to determine the playback direction. .

관련하여, 본 발명에서 제어부는 기록매체로부터 콘텐트 코드를 읽어 재생시스템(17)에서 제공한다. 상기 콘텐트 코드는 상기 재생시스템(17)에서 실행되어 콘텐트의 디코딩과정에 관여하여, 콘텐트를 볼 수 있는 형태로 전환하는 미디어 트랜스폼을 수행한다. 따라서, 콘텐트의 불법 복제자가 상기 콘텐트를 단순 복제하여 배포하더라도, 상기 콘텐트는 상기 콘텐트 코드가 실행되지 않는 한 보이지 않게 된다. 또한, 제어부는 상기 콘텐트 코드를 실행하여 불법 복제를 행한 광 기록재생장치(이하, 모방기(emulator))를 추적할 수 있는 정보를 스트림에 삽입할 수 있다. 상기 정보를 포렌직 마크라 하며, 포렌직 마크를 스트림에 삽입하는 과정을 포렌직 마킹(forensic marking)이라 한다. 포렌직 마킹을 통해 콘텐트가 불법 복제 또는 불법 배포 등을 통해 훼손된 경우, 상기 콘텐트를 훼손한 광 기록재생장치를 추적하는 것이 가능하게 되어 콘텐트 복제 및 배포를 억제할 수 있게 된다. In this regard, in the present invention, the control unit reads the content code from the recording medium and provides it to the reproduction system 17. The content code is executed in the playback system 17 to participate in the decoding process of the content to perform a media transform to convert the content into a viewable form. Thus, even if a pirate of the content simply copies and distributes the content, the content becomes invisible unless the content code is executed. In addition, the control unit may insert information into the stream to track the optical recording / reproducing apparatus (hereinafter, referred to as an “emulator”) that has executed the content code to perform illegal copying. The information is called a forensic mark, and the process of inserting the forensic mark into the stream is called forensic marking. When the content is damaged through illegal copying or illegal distribution through forensic marking, it is possible to track an optical recording / reproducing apparatus that has damaged the content, thereby suppressing content copying and distribution.

또한, AV 인코더(18)는 광 디스크에 신호를 기록하는 기능의 수행을 위해 제어부의 제어에 따라 입력신호를 특정포맷의 신호, 예를 들어 MPEG2 트랜스포트 스트림으로 변환하여 신호처리부(13)에 제공하게 된다. 본 발명에서, AV 인코더(18)는 미디어 트랜스폼에 이용되는 픽스업 테이블(Fix-up Table)을 클립 AV 스트림으로 멀티플렉스하여 신호처리부(13)에 제공할 수 있다. 상기 픽스업 테이블은 혼합된(scrambled) 형태로 상기 클립 AV 스트림에 멀티플렉스될 수 있으며, 상기 혼합된 픽스업 테이블을 마스크드 픽스업 테이블이라고 한다. 또한, AV 인코더(18)는 별도의 파일로 구성된 픽스업 테이블을 기록가능한 신호로 변환하여 신호처리부(13)에 제공할 수도 있다.In addition, the AV encoder 18 converts an input signal into a signal of a specific format, for example, an MPEG2 transport stream, and provides it to the signal processor 13 under the control of a controller for performing a function of recording a signal on an optical disc. Done. In the present invention, the AV encoder 18 may multiplex a fix-up table used for media transformation into a clip AV stream and provide it to the signal processor 13. The fixup table may be multiplexed into the clip AV stream in a scrambled form, and the mixed fixup table is called a masked fixup table. Also, the AV encoder 18 may convert the fixup table composed of separate files into a recordable signal and provide the signal to the signal processor 13.

도 6은 본 발명의 재생시스템(playback system)을 활용한 기록매체 재생장치의 일 예를 도시한 것이다. 6 shows an example of a recording medium reproducing apparatus utilizing the playback system of the present invention.

"재생시스템(playback system)"이라 함은, 광 기록재생장치 내에 구비되는 프로그램(소프트웨어) 및/또는 하드웨어로 구성되는 집합적 재생처리 수단을 말한 다. 광 기록재생장치(10) 내에 로딩된 기록매체를 재생함은 물론, 상기 기록매체에 관련되어 스토리지 내에 저장된(예를 들어, 외부로부터 다운로드 받은) 데이터를 함께 재생 및 관리하기 위한 시스템을 의미한다. The term " playback system " refers to a collective playback processing means composed of a program (software) and / or hardware provided in the optical recording and playback apparatus. A system for reproducing a recording medium loaded in the optical recording / reproducing apparatus 10 as well as reproducing and managing data stored in storage (for example, downloaded from the outside) in association with the recording medium.

특히, 재생시스템(17)은 "User Event Manager(171)", "Module Manager(172)", "HDMV Module(174)", "BD-J Module(175)", "Playback control engine(176)", "Presentation engine(177)" 및 "Virtual File System(40)"으로 구성된다. 본 발명에서 상기 재생시스템은 기록매체와 관련된 타이틀에 부가적인 보안을 제공하는 "Security Virtual Machine(178)"을 포함한다. 이들을 상세히 설명하면 다음과 같다. In particular, the playback system 17 includes "User Event Manager 171", "Module Manager 172", "HDMV Module 174", "BD-J Module 175", "Playback control engine 176). "," Presentation engine 177 "and" Virtual File System 40 ". In the present invention, the playback system includes a "Security Virtual Machine 178" that provides additional security for titles associated with the record carrier. The detailed description thereof is as follows.

우선, 가상 파일 시스템(40)은 기록매체에 기록된 오리지널 데이터와 스토리지의 어디셔널 데이터를 묶어 가상 파일구조(Virtual Package)를 생성한다. 다만, 스토리지에 상기 로딩된 기록매체에 대응하는 바인딩 유닛이 없는 경우, 상기 기록매체 내 디스크 파일구조(Disc Package)만을 이용하여 가상 파일구조를 생성할 수 있다. 가상 파일 시스템(40)은 가상 파일구조의 바인딩 동작을 제공함과 아울러 상기 가상 파일구조에 속하는 파일로의 엑세스 메카니즘을 제어한다. First, the virtual file system 40 creates a virtual file structure by combining original data recorded on a recording medium with the local data of the storage. However, when there is no binding unit corresponding to the loaded recording medium in storage, the virtual file structure may be created using only a disc file structure in the recording medium. The virtual file system 40 provides a binding operation of the virtual file structure and controls an access mechanism to a file belonging to the virtual file structure.

가상 파일 시스템(40)에 의해 생성된 가상 파일구조는 BD-J 모드와 HDMV 모드에 모두 사용된다. HDMV 모드와 BD-J 모드는 각각 기록매체의 재생모드로써, 상기 기록매체 내 HDMV 타이틀은 HDMV 모드에서, BD-J 타이틀은 BD-J 모드에서 재생된다. BD-J 모드는 자바 플랫폼을 기초로 하며, BD-J 모드에 이용되는 상기 자바 플랫폼을 BD-J 플랫폼이라고도 한다. 콘텐츠 제공자들은 기록매체에 다양한 방식 (예를 들어, 전체 디스크를 위한 어플리케이션, 타이틀별 어플리케이션 등)으로 인터액티브 자바 어플리케이션(들)을 프로그램해 둘 수 있다. The virtual file structure created by the virtual file system 40 is used in both the BD-J mode and the HDMV mode. The HDMV mode and the BD-J mode are playback modes of the recording medium, respectively, in which the HDMV title in the recording medium is played in the HDMV mode, and the BD-J title is played in the BD-J mode. The BD-J mode is based on the Java platform, and the Java platform used for the BD-J mode is also called the BD-J platform. Content providers can program the interactive Java application (s) on the record carrier in a variety of ways (e.g., applications for the entire disc, applications by title, etc.).

관련하여, 본 발명에서 어플리케이션이라 함은 일종의 실행 유닛(an execution unit)으로서, 사용자 또는 다른 어플리케이션에게 특정한 기능을 직접 수행하도록 설계된 프로그램을 말한다. 어플리케이션들은 API(Application Programming Interface)를 사용하여 다른 프로그램에 공식적으로 작업을 요청(request)하거나 통신하게 된다. HDMV 모드에서 실행되는 어플리케이션을 HDMV 어플리케이션이라 하고 BD-J 모드에서 실행되는 어플리케이션을 BD-J 어플리케이션이라 한다. HDMV 어플리케이션은 HDMV 플랫폼을 사용하고 BD-J 어플리케이션은 BD-J 플랫폼을 사용하여 특정한 기능을 수행하게 된다. In relation to this, an application in the present invention refers to a program which is designed to perform a specific function directly to a user or another application as an execution unit. Applications use an application programming interface (API) to formally request or communicate work to other programs. An application running in the HDMV mode is called an HDMV application, and an application running in the BD-J mode is called a BD-J application. HDMV applications use the HDMV platform and BD-J applications use the BD-J platform to perform specific functions.

관련하여, 어플리케이션은 기록매체 또는 스토리지(15) 내에 존재할 수 있다. 즉, 특정 어플리케이션을 구성하는 JAR 파일들은 기록매체에 존재할 수도 있으나, 스토리지에 존재할 수도 있다. 다만, 가상 파일 시스템(40)에 의해, 상기 JAR 파일은 그 기원에 관계없이 HDMV 모드와 BD-J 모드 모두에서 엑세스가 가능하다. In this regard, the application may reside in a record carrier or storage 15. That is, JAR files constituting a specific application may exist in a recording medium or may exist in storage. However, the virtual file system 40 allows the JAR file to be accessed in both the HDMV mode and the BD-J mode, regardless of its origin.

또한, 재생시스템(17)은 HDMV 타이틀과 BD-J 타이틀을 재생하기 위한, 별도의 재생 처리 관리수단으로서, 각각 HDMV 타이틀을 위한 "HDMV Module(174)"과 BD-J 타이틀을 위한 "BD-J Module(175)"이 독립적으로 구성된다. 상기 "HDMV Module(174)" 및 "BD-J Module(175)"은 특히 전술한 오브젝트(Movie Object 또는 BD-J Object) 내의 커맨드(command) 혹은 프로그램을 수신하여(도 7에서, 120), 이를 처리하도록 하는 제어기능을 가진다. "Metadata Manager(173)"는 언제든지 사용 자의 제어 하에, 타이틀 선택을 수행할 수 있고 사용자에게 기록매체와 타이틀 메타데이터를 제공할 수 있다. 상기 "HDMV Module(174)" 및 "BD-J Module(175)"은 재생시스템의 하드웨어적 구성으로부터 커맨드(command) 혹은 어플리케이션을 분리하여, 상기 커맨드 혹은 어플리케이션의 이동(portability)을 가능하게 한다. 상기 커맨드(command) 혹은 어플리케이션 등을 수신하여 처리하는 수단으로서, "HDMV Module(174)"내에는 "Command processor(174a)"가, "BD-J Module(175)"내에는 어플리케이션이 실행되는 "Virtual Machine"인 "Java VM(175a)" 및 어플리케이션의 라이프사이클(lifecyle)을 관리하는 어플리케이션 관리 펑션(application management function)을 포함하는 "Application manager(175b)"가 각각 구비된다. In addition, the playback system 17 is a separate playback processing management means for reproducing the HDMV title and the BD-J title, and includes "HDMV Module 174" for the HDMV title and "BD- for the BD-J title, respectively." J Module 175 "is configured independently. The "HDMV Module 174" and the "BD-J Module 175" particularly receive a command or program in the above-described object (Movie Object or BD-J Object) (120 in FIG. 7), It has a control function to handle this. The "Metadata Manager 173" can perform title selection at any time under the user's control and provide the recording medium and title metadata to the user. The " HDMV Module 174 " and " BD-J Module 175 " separate commands or applications from the hardware configuration of the playback system, thereby enabling portability of the commands or applications. As a means for receiving and processing the command or application, the "Command processor 174a" in the "HDMV Module 174" and the "Application in which the application is executed in the" BD-J Module 175 "are executed. "Java VM 175a" which is a "Virtual Machine" and an "Application manager 175b" including an application management function that manages the lifecycle of an application are provided.

또한, 상기 "HDMV Module(174)" 및 "BD-J Module(175)"에 사용자 명령을 전달함은 물론, "HDMV Module(174)" 및 "BD-J Module(175)"의 동작을 제어하는 "Module Manager(172)"가 구비된다. 상기 "HDMV Module(174)" 및 "BD-J Module(175)"의 재생명령에 따라 실제 디스크 내에 기록된 플레이리스트 파일 정보를 해석하고 이에 따른 재생기능을 수행하는 "Playback Control Engine(176)"이 구비된다. 또한, 상기 "Playback Control Engine(176)"에 의해 재생관리되는 특정 스트림을 디코딩하고 화면 내에 디스플레이하기 위한 "Presentation Engine(177)"이 구비된다. 특히, 상기 "Playback Control Engine(176)"은 실제 모든 재생을 관리하는 "Playback Control Functions(176a)"과 광 기록재생장치(10)의 재생상태 및 재생환경("Player status registers(PSR)" 및 "General purpose register(GPR)")을 저장하는 "Player Registers(176b)"로 구분된다. 경우에 따라서는 "Playback Control Functions(176a)"이 "Playback Control Engine(176)"을 의미하기도 한다. "Playback Control Functions(176a)"은 플레이리스트에 포함된 정적 시나리오(static scenario)(도 7에서, 130)를 처리한다. In addition, the user command is transmitted to the "HDMV Module 174" and the "BD-J Module 175" as well as the operations of the "HDMV Module 174" and the "BD-J Module 175" are controlled. "Module Manager 172" is provided. The "Playback Control Engine 176" which interprets the playlist file information recorded in the actual disc and performs the playback function according to the playback commands of the "HDMV Module 174" and the "BD-J Module 175". Is provided. In addition, a "Presentation Engine 177" is provided to decode a specific stream managed by the "Playback Control Engine 176" and display it on the screen. In particular, the " Playback Control Engine 176 " is a " Playback Control Functions 176a " that manages virtually all playback and playback states and playback environments (" Player status registers (PSR) " "Player Registers (176b)" which stores "General purpose registers (GPR)". In some cases, "Playback Control Functions (176a)" may mean "Playback Control Engine (176)". "Playback Control Functions 176a" handles a static scenario (130 in FIG. 7) included in the playlist.

관련하여, HDMV 타이틀과 BD-J 타이틀은 각각 별도 방식의 사용자 명령을 수신하며, 상호 간에는 사용자명령을 수행하는 방식이 독립적이다. 사용자 명령을 수신하여 "HDMV Module(174)"과 "BD-J Module(175)"중 어느 하나로 전달하는 수단이 필요한데, 이는 "User Event Manager(171)"가 담당한다. 따라서, 예를 들어, "User Event Manager(171)"는, 수신된 명령이 "User Operation(UO)(171a)"에 의한 사용자 명령이면 이를 "Module Manager(172)" 또는 "UO Controller(171a)"로 전송하여 수행케 하고, 수신된 명령이 "Key Event"에 의한 사용자 명령이면 이를 "BD-J Module(175)"내의 "Java VM(175a)"으로 전송하여 수행케 한다. In this regard, the HDMV title and the BD-J title each receive a user command of a separate method, and the method of performing the user command is independent of each other. A means for receiving a user command and delivering it to either "HDMV Module 174" or "BD-J Module 175" is required, which is in charge of "User Event Manager 171". Thus, for example, the "User Event Manager 171" may refer to the "Module Manager 172" or the "UO Controller 171a" if the received command is a user command by the "User Operation (UO) 171a". If the received command is a user command by "Key Event", it is transmitted to "Java VM 175a" in the "BD-J Module 175" for execution.

또한, 본 발명의 재생시스템(17)은 "Metadata Manager(173)"를 포함할 수 있는데, "Metadata Manager(173)"는 사용자에게 디스크 라이브러리와 인핸스드 서치 메타데이터 어플리케이션(Disc Library and Enhanced Search Metadata application)을 제공한다.In addition, the playback system 17 of the present invention may include a "Metadata Manager 173", in which the "Metadata Manager 173" provides a user with a disc library and an enhanced search metadata application. application).

전술한 본 발명의 재생시스템(playback system)에서 상기 "Module Manager(172)", "HDMV Module(174)", "BD-J Module(175)", "Playback Control Engine(176)"은 소프트웨어적인 처리가 가능하다. 실제 하드웨어 구성보다는 소프트웨어로 처리함이 설계에 더욱 유용하다. 단, "Presentation Engine(177)" 및 디코더(17b)와 플레인(Plane)은 하드웨어적으로 설계되는 것이 일반적이다. 특히, 소 프트웨어적으로 처리되는 구성요소(예를 들어, 도면부호 172, 174, 175, 176)의 경우는 전술한 제어부의 한 부분으로 구성될 수도 있을 것이다. 본 발명의 구성은 그 의미로서 이해하여야 하며, 하드웨어적 구성인지 소프트웨어적 구성인지에 국한되지 않는다. In the above-described playback system of the present invention, the "Module Manager 172", "HDMV Module 174", "BD-J Module 175", and "Playback Control Engine 176" are software-based. Processing is possible. Software processing is more useful in design than actual hardware configuration. However, the "Presentation Engine 177", the decoder 17b, and the plane are generally designed in hardware. In particular, in the case of a component processed by software (for example, reference numerals 172, 174, 175, and 176) may be configured as one part of the above-described control unit. The configuration of the present invention should be understood as meaning, and is not limited to hardware configuration or software configuration.

최근 콘텐트를 재생 또는 복제할 수 있는 재생장치 및 인터넷의 발달에 따라 콘텐트의 불법 복제 및 배포가 문제되고 있다. 또한, 고해상도/고음질 콘텐트의 경우 해킹 등의 위험 또한 높아 보호의 필요성이 커지고 있다. 이에 따라, 콘텐트를 보호하기 위한 다양한 방법들이 제기되고 있다. 본 발명의 재생시스템은 콘텐트 ㅂ보호를 위한 모듈로써 보안가상머신(Security Virtual Machine)(178)을 포함한다.Recently, with the development of a reproducing apparatus capable of playing or copying content and the Internet, illegal copying and distribution of content has been a problem. In addition, in the case of high-resolution / high-quality content, the risk of hacking, etc. is also high, the need for protection is increasing. Accordingly, various methods for protecting content have been raised. The playback system of the present invention includes a security virtual machine (178) as a module for content protection.

도 7의 시스템 모델은 보안가상머신(178)의 보안툴에 기초하여 도시한 것으로서, 기록매체 네비게이션 시스템의 재생시스템과 보안가상머신(178)을 도시한 것이다.The system model of FIG. 7 is shown based on the security tool of the secure virtual machine 178 and shows the playback system and the secure virtual machine 178 of the recording medium navigation system.

본 발명의 시스템 모델에 포함된 보안가상머신(Security VM)(178)은 본 발명의 기록매체에 기록되는 타이틀에 부가적인 보안(additional security)을 제공한다. 상기 부가적인 보안이 적용된 타이틀을 자기 보호 디지털 콘텐트(Self-Protecting Digital Content; SPDC)라고도 한다. 상기 부가적인 보안의 주 특징은 갱신가능성(renewability)으로서, 상기 보안가상머신(178)의 사용에 의해 각 콘텐트에 대한 콘텐트 재생의 보안 메커니즘이 업데이트될 수 있다. 상기 갱신가능성은 상기 보안가상머신(178) 상에서 구동하는 콘텐트 코드(content code)(110)에 의해 실현된다. 이하, 보안가상머신(178)에 대해 구체적으로 설명한다.The Security VM 178 included in the system model of the present invention provides additional security to titles recorded on the recording medium of the present invention. Titles to which the additional security is applied are also referred to as self-protecting digital content (SPDC). The main feature of the additional security is renewability, whereby the security mechanism of content playback for each content can be updated by the use of the secure virtual machine 178. The updateability is realized by content code 110 running on the secure virtual machine 178. Hereinafter, the security virtual machine 178 will be described in detail.

보안가상머신(178)은 콘텐트 소유자(content owner)에게 디스커버리(Discovery), 미디어 트랜스폼(Media Transform), 포렌직 마크(Forensic Mark), 런 네이티브(Run Native), 어플리케이션 레이어 커뮤니케이션(application layer communication)과 광 기록재생장치 스토리지 슬롯 등과 같은 보안툴(security tool)을 제공한다. The secure virtual machine 178 provides the content owner with discovery, media transform, forensic mark, run native, application layer communication, and the like. A security tool such as an optical recording / reproducing device storage slot or the like is provided.

디스커버리 툴은 악의적인 환경과 공격들을 감지하기 위해 재생 환경(playback environment)에 대한 정보를 제공한다. 콘텐트 소유자에게 가장 심각한 공격 중의 하나인 모방기는 적법한 플레이어로 가장하여 부정확한(incorrect) 방법으로 콘텐트를 재생한다. 이러한 종류의 공격에 대응하기 위하여, 보안가상머신(178)은 디스커버리 및 디스커버리 랜덤 엑세스 메모리(Random Access Memory; RAM)를 이용하여, 적법한 플레이어와 모방기를 구별한다. 일단 모방기가 감지되면, 다른 보안 툴들은 콘텐트의 재생을 방지할 수 있다.Discovery tools provide information about the playback environment to detect malicious environments and attacks. One of the most serious attacks on content owners, an imitator, pretends to be a legitimate player and plays content in an incorrect way. To counter this kind of attack, secure virtual machine 178 uses discovery and discovery random access memory (RAM) to distinguish legitimate players from mimics. Once the copycat is detected, other security tools can prevent playback of the content.

전술한 바와 같이, 콘텐트 코드(110)는 미디어 트랜스폼을 이용하여 디코딩 프로세스의 일부분으로서 콘텐트 스트림에 적용될 수정사항(modification)을 정의할 수 있는데, 모방기가 디스커버리에 의해 감지되면, 보안가상머신(178)은 미디어 트랜스폼을 위한 어떠한 작용도 하지 않으며, 따라서 모방기에서 콘텐트가 정상적으로 재생될 수 없게 된다. As described above, content code 110 may use media transforms to define modifications to be applied to the content stream as part of the decoding process. Once the imitator is detected by discovery, the secure virtual machine 178 ) Does not do anything for the media transform, so that the content cannot be played back normally in the imitator.

포렌직 마크(forensic mark)는 콘텐트가 재생될 때 사용자에 의해 인식되지는 않으나, 특수한 검출기에 의해 검출될 수 있도록 콘텐트에 내장되는 신호이다. 미디어 트랜스폼 과정에서, 광 기록재생장치를 식별가능한 정보를 이용한 포렌직 마크가, 재생되는 스트림에 삽입할 수 있다. 포렌직 마크 그 자체는 콘텐트 소유자에 대한 공격을 방지하지 못한다. 그러나, 광 기록재생장치 특유의 정보를 재생되는(played back) 출력 콘텐트에 삽입하게 되므로, 상기 콘텐트가 공중에 유출된 경우에는 상기 유출된 콘텐트 내 포렌직 마크(forensic mark)를 확인함으로써, 콘텐트 소유자는 상기 콘텐트를 불법 복제하여 배포한 광 기록재생장치를 탐지하여 책임을 물을 수 있게 된다.A forensic mark is a signal embedded in the content that is not recognized by the user when the content is played but can be detected by a special detector. In the media transform process, forensic marks using identifiable information can be inserted into the stream to be reproduced. Forensic marks themselves do not prevent attacks on content owners. However, since the information specific to the optical recording and reproducing apparatus is inserted into the played back output content, the content owner can check the forensic mark in the leaked content when the content is leaked to the public. The optical recording and reproducing apparatus which illegally copied and distributed the content can be detected and held responsible.

또한, 보안가상머신(178)은 광 기록재생장치 내 보안 흠결(flaw)를 찾아내거나 고치는 런 네이티브, 보안가상머신(178)에서 동작하는(running) 콘텐트 코드(110)는 어플리케이션 레이어와 데이터를 교환할 수 있도록 하는 어플리케이션 레이어 커뮤니케이션 성능, 그리고 콘텐트 코드(110)에 의해 사용되는 비휘발성 스토리지인 플레이어 스토리지 슬랏(Player Storage Slots)을 제공한다. In addition, the secure virtual machine 178 finds or fixes a security flaw in the optical recording / reproducing apparatus. The content code 110 running on the native, secure virtual machine 178 exchanges data with an application layer. Application layer communication capabilities, and non-volatile storage used by the content code 110, Player Storage Slots.

상기와 같은 보안툴을 통해, 보안가상머신(178)은 다양한 타입의 공격들로부터 콘텐트를 보호할 수 있는 갱신성을 제공할 수 있다. 또한, 디스커버리의 사용에 의해 모방기를 탐지함과 아울러 광 기록재생장치의 결합을 회복할 수도 있다. Through such a security tool, the secure virtual machine 178 can provide updateability to protect content from various types of attacks. In addition, the use of discovery can detect the copying machine and restore the combination of the optical recording and reproducing apparatus.

관련하여, 상기 보안가상머신(178)은 소프트웨어로서 제어부의 일부로 구현될 수도 있고, 하드웨어로서 독립된 모듈로 구현되는 것도 가능하다.In this regard, the secure virtual machine 178 may be implemented as part of a control unit as software, or may be implemented as an independent module as hardware.

도 7을 참조하여, 보안가상머신(178)의 프로세스를 구체적으로 설명하면 다음과 같다. 보안가상머신(178)은 배경 가상머신 프로세스(Background VM Process)와 인터럽트 가상머신 프로세스(Interrupt VM Process)라는 두 가지 가상머신 프로세스로 구성된다. Referring to Figure 7, the process of the secure virtual machine 178 will be described in detail. The secure virtual machine 178 is composed of two virtual machine processes, a background VM process and an interrupt VM process.

보안가상머신(178)이 수행해야할 시간에 결정적인(time-critical) 작용(operation) (예를 들어, 보안 체크(security checks))이 없는 경우, 보안가상머신(178)은 콘텐트 코드(110)가 고정된 타이밍을 가지지 않는 배경 모드(background mode)에서 동작한다. 배경 모드에서 보안가상머신(178)은 전 시간에 걸쳐 작동할 필요는 없으며, 광 기록재생장치는 보안가상머신(178)에 프로세서 타임을 제공하는 것과 다른 작용들을 수행하는 것을 번갈아 행할 수도 있다. If there is no time-critical operation (eg, security checks) at the time that the secure virtual machine 178 should perform, then the secure virtual machine 178 may be configured to have the content code 110 Operate in background mode with no fixed timing. In the background mode, the secure virtual machine 178 need not operate over time, and the optical record / playback apparatus may alternate between providing processor time to the secure virtual machine 178 and performing other actions.

상기 두 가상머신 프로세스는 고정된 크기의 메모리 영역을 공유하게 되는데, 상기 메모리 영역(area)을 가상머신 메모리 스페이스(VM Memory Space)라고 한다. 상기 가상머신 메모리 스페이스는 배경 가상머신 프로세스와 인터럽트 가상머신 프로세스를 위한 작업 메모리로서, 콘텐트 코드(110)와 그 데이터 또는 변수들을 저장한다. 타이틀의 재생시작 시점에 기록매체에 기록된 콘텐트 코드(110)는 가상머신 메모리 스페이스에 로드되고, 배경 가상머신 프로세스와 인터럽트 가상머신 프로세스는 상기 가상머신 메모리 스페이스에 읽기/쓰기를 행하게 된다. 보안가상머신(178)은 보통의 가상머신 메모리 스페이스 외에 디스커버리 램(Random Access Memory; RAM)를 포함한다. 디스커비리 램은 광 기록재생장치 소프트웨어의 실제 메모리 스페이스 중 비기밀(non-confidential) 부분(portion)들로부터 데이터를 읽는다. The two virtual machine processes share a fixed size memory area. The memory area is called a virtual machine memory space. The virtual machine memory space is a working memory for the background virtual machine process and the interrupt virtual machine process, and stores the content code 110 and its data or variables. The content code 110 recorded on the recording medium at the start of playback of the title is loaded into the virtual machine memory space, and the background virtual machine process and the interrupt virtual machine process read / write to the virtual machine memory space. The secure virtual machine 178 includes a random access memory (RAM) in addition to the normal virtual machine memory space. Discrete RAM reads data from non-confidential portions of the actual memory space of the optical recorder software.

관련하여, 콘텐트 코드 파일의 데이터가 가상머신 메모리 스페이스에 저장되기 전에, 보안가상머신은 상기 콘텐트 코드 파일의 서명을 검증하게 된다. 콘텐트 코드(110)는 소유한 믿을 수 있는 인증기관(trusted certificate authority)의 비 밀키에 의해 서명되어야 한다. 검증에 실패하는 경우, 보안가상머신은 상기 콘텐트 코드 파일의 데이터를 읽지 않는다. 이 경우, 콘텐트 코드(110)가 실행되지 않게 되므로 미디어 트랜스폼을 콘텐트에 적용할 수 없게 된다.In this regard, before the data of the content code file is stored in the virtual machine memory space, the secure virtual machine verifies the signature of the content code file. The content code 110 must be signed by the secret key of the owned trusted certificate authority. If the verification fails, the secure virtual machine does not read the data of the content code file. In this case, since the content code 110 is not executed, the media transform cannot be applied to the content.

인터럽트 가상머신 프로세스는 제한된 기간 내에 광 기록재생장치가 보안가상머신(178)으로부터 결과를 요구하는 작용들을 수행하기 위해 제공된다. 예를 들면, 클립 AV 스트림(140)을 미디어 트랜스폼(Media Transform)을 통해 원래 형태로 변형하기 위해서는, 비밀 파리미터(Secret Parameter) 및 관련된 값들이 필요하다. 상기 비밀 파리미터는 보안가상머신(178)의 인터럽트 가상머신 프로세스에 의해 제공된다. 이 경우, "Playback Control Functions(176a)"은 인터럽트 가상머신 프로세스를 불러내어 활성화(active)시킨다. 액티브 모드에서, 상기 인터럽트 가상프로세스 프로세스는 할당된 콘텐트 코드(110)를 계산하여 트랜스폼 펑션에 비밀 파라미터를 제공하고, 비활성화(non-active)모드로 돌아가고, 배경 가상머신 프로세스가 재개되게 된다. An interrupt virtual machine process is provided for the optical recording and reproducing apparatus to perform operations requiring a result from the secure virtual machine 178 within a limited period of time. For example, to transform the clip AV stream 140 into its original form via a media transform, a secret parameter and associated values are needed. The secret parameter is provided by an interrupt virtual machine process of the secure virtual machine 178. In this case, "Playback Control Functions" (176a) invokes the interrupt virtual machine process and activates it. In the active mode, the interrupt virtual process process calculates the assigned content code 110 to provide a secret parameter to the transform function, return to non-active mode, and the background virtual machine process is resumed.

관련하여, 보안가상머신(178)의 실행 모드는 미디어 초기화 모드, 배경모드, 타이틀 초기화 모드, 비밀파라미터 계산 모드, 어플리케이션 리퀘스트 모드, 타이틀 종료화 모드를 포함한다. 기록매체가 로딩될 때, 보안가상머신(178)은 미디어 초기화 모드에서 동작한다. 미디어 초기화 모드에서, 인터럽트 가상머신 프로세스가 활성화되고 미디어 엑세스가 일어난다. 콘텐트 코드(110)가 전체 기록매체에 대한 초기화를 수행하면 배경모드 상태가 된다. 배경모드에서는 배경 가상머신 프로세스가 동작한다. In this regard, the execution mode of the secure virtual machine 178 includes a media initialization mode, a background mode, a title initialization mode, a secret parameter calculation mode, an application request mode, and a title termination mode. When the recording medium is loaded, the secure virtual machine 178 operates in the media initialization mode. In media initialization mode, the interrupt virtual machine process is activated and media access occurs. When the content code 110 initializes the entire recording medium, the content code 110 enters the background mode. In background mode, the background virtual machine process runs.

보안가상머신(178)에서 동작 중인 콘텐트 코드(110)로부터의 실행결과(execution result)가 필요할 때, "Module Manager(172)", "Playback Control Function(176a)"과 "Command Processor(174a)"은 인터럽트(interrupt)를 발생시킨다. 인터럽트가 발생하면, 해당 모드로 상태가 이동한다. 예를 들어, "Module Manager(172)"가 타이틀의 재생을 시작하려고 하는 경우에는 타이틀 초기화 모드로, "Playback Control Engine(176a)"이 비밀 파라미터의 계산을 요구하는 경우에는 비밀 파라미터 계산 모드로, "Command Processor(174a)"가 "Player Registers(176b)"의 상태를 변경하고자 하는 경우에는 어플리케이션 리퀘스트 모드 상태가 된다. "Module Manager(172)"가 전체 기록매체의 재생을 멈추고자 하는 경우에는 미디어 종료화 모드 상태가 된다. 배경모드에서 인터럽트가 발생하는 경우, 배경 가상머신 프로세스가 중단되고, 인터럽트 가상머신 프로세스가 활성화된다. 콘텐트 코드(110)가 상기 인터럽트에 대한 프로세스를 마치면, 배경모드 상태로 다시 돌아가고, 인터럽트 가상머신 프로세스트는 종료되며 배경 가상머신 프로세스가 재개된다.When execution results from the content code 110 running on the secure virtual machine 178 are needed, the "Module Manager 172", "Playback Control Function (176a)" and "Command Processor (174a)" Causes an interrupt. When an interrupt occurs, the state moves to that mode. For example, when the "Module Manager 172" attempts to start playing a title, it is in the title initialization mode. When the "Playback Control Engine 176a" requires the calculation of a secret parameter, it is in the secret parameter calculation mode. When " Command Processor 174a " wants to change the state of " Player Registers 176b ", it enters the application request mode state. When the "Module Manager 172" wants to stop the playback of the entire recording medium, it enters the media termination mode. When an interrupt occurs in the background mode, the background virtual machine process is stopped and the interrupt virtual machine process is activated. When the content code 110 finishes the process for the interrupt, it returns to the background mode state, the interrupt virtual machine process is terminated, and the background virtual machine process is resumed.

본 발명은 미디어 트랜스폼에 관한 것으로서, 미디어 트랜스폼이라는 보안툴에서, 트랜스폼 펑션(179)이 중요한 역할을 하게 된다. 트랜스폼 펑션(179)은 기록매체 갱신 메커니즘의 중요한 부분을 담당하게 된다. 트랜스폼 펑션(179)은 보안가상머신(178)의 외부에 위치하게 되며, 마스크드 픽스업 테이블 엔트리들(Masked Fix-up Table entries)을, 보안가상머신(178)에 의해 계산된 비밀 파라미터들(SPs)과 포렌직 마크 아이디(FM_ID) 값들과 결합하여, 클립 AV 스트림(140)에 미디어 트 랜스폼을 적용한다. 상기 트랜스폼 펑션(179)은 소프트웨어적으로 제어부에 포함될 수 있으나, 미디어 트랜스폼을 수행하는 별도의 디바이스로서 하드웨어적으로 설계되는 것도 가능하다.The present invention relates to a media transform, in which a transform function 179 plays an important role in a security tool called a media transform. Transform function 179 plays an important part of the record carrier update mechanism. The transform function 179 is located outside the secure virtual machine 178, and the masked fix-up table entries are stored in the secret parameters calculated by the secure virtual machine 178. The media transform is applied to the clip AV stream 140 in combination with the (SPs) and forensic mark ID (FM_ID) values. The transform function 179 may be included in the controller in software, but may be designed in hardware as a separate device for performing media transform.

관련하여, 비밀 파라미터는 미디어 트랜스폼을 위하여, 각 비밀 파라미터 세그먼트에 대하여 콘텐트 코드(110)에 의하여 생성되는 값이다. 모든 클립 AV 스트림은 비밀 파라미터 세그먼트로 나누어지고, 각 비밀 파라미터 세그먼트에 비밀 파라미터 아이디가 할당된다. 각 비밀 파라미터는 하나의 비밀 파라미터 세그먼트에 포함된 모든 픽스업 테이블 엔트리들에 적용된다. In this regard, the secret parameter is a value generated by the content code 110 for each secret parameter segment for the media transform. All clip AV streams are divided into secret parameter segments, and a secret parameter ID is assigned to each secret parameter segment. Each secret parameter applies to all fixup table entries contained in one secret parameter segment.

미디어 트랜스폼에는 픽스업 테이블이 이용되는데, 상기 픽스업 테이블은 일련의 픽스업 테이블 엔트리들(Fix-up Table entries)로 나누어진다. 상기 픽스업 테이블의 형태에 따라, 미디어 트랜스폼을 구현하는 방법이 달라진다. 미디어 트랜스폼을 구현하는 하나의 방법은 클립 AV 스트림에 멀티플렉스된 마스크드 픽스업 테이블을 이용하는 것이고, 다른 하나의 방법은 기록매체에 독립된 파일로서 저장된 마스크드 픽스업 테이블을 이용하는 것이다. 이하, 도 8a ~ 9b를 참조하여, 미디어 트랜스폼의 구현을 구체적으로 설명한다.A fixup table is used for the media transform, which is divided into a series of fix-up table entries. Depending on the type of fixup table, a method of implementing a media transform varies. One way to implement the media transform is to use a masked fixup table multiplexed onto the clip AV stream, and another method is to use a masked fixup table stored as an independent file on the recording medium. Hereinafter, the implementation of the media transform will be described in detail with reference to FIGS. 8A to 9B.

도 8a ~ 8b는 멀티플렉싱 픽스업 테이블을 이용한 미디어 트랜스폼을 개략도 및 픽스업 테이블의 데이터구조를 도시한 것이다. 8A through 8B illustrate a schematic diagram of a media transform using a multiplexing fixup table and a data structure of a fixup table.

도 8a를 참조하면, 클립 AV 스트림에 멀티플레스된 마스크드 픽스업 테이블(150m)이 미디어 트랜스폼에 이용되는 경우, 실제 픽스업엔트리(마스크되지 않은 픽스업엔트리)(200)는, 마스크드 픽스업엔트리(200m)와 보안가상머신(178)에 의해 제공되는 비밀 파라미터 사이의 논리연산(179a)(예를 들어, 배타적 논리합(XOR operation))에 의해 산출될 수 있다. Referring to FIG. 8A, when a masked fixup table 150m multiplexed in a clip AV stream is used for media transformation, the actual fixup entry (unmasked fixup entry) 200 is a masked fix. It may be calculated by a logical operation 179a (eg, an XOR operation) between the up entry 200m and the secret parameters provided by the secure virtual machine 178.

도 8b를 참조하면, 본 발명의 미디어 트랜스폼에 이용되는 픽스업 테이블이 보안가상머신에 의해 제공되는 비밀 파라미터와의 논리연산(예를 들어, 배타적 논리합)에 의해 마스크된 형태로 프로그램 맵 테이블 패킷(Program Map Table Packet 이하, PMT 패킷) 내 시스템 사용 디스크립터(system_use_descriptor) 내 "private data" 필드에 저장된다. 상기 "private data" 필드는 상기 클립 AV 스트림 파일에 대한 콘텐트 보호 정보를 포함한다. 상기 픽스업 테이블은, 상기 PMT 패킷이 속하는 비밀 파라미터 세그먼트(SP Segment)의 비밀 파라미터 식별자(SP_ID), 도 10에서 설명할 픽스업엔트리(FixUpEntry), 광 기록재생장치가 미디어 트랜스폼을 수행하기 위해 픽스업엔트리(200)를 확인할 필요가 있는 각 PMT 패킷으로부터 다음 PMT 패킷까지의 패킷 수를 나타내는 "Offset_SPN_to_next_FixUp"를 포함한다. 상기 비밀 파라미터 식별자는 마스크되어 있지 않으며, 상기 픽스업엔트리(200)가 존재하는 비밀 파라미터 세그먼트에 대한 비밀 파라미터 식별자와 동일하다. 상기 "Offset_SPN_to_next_FixUp"를 이용하여 광 기록재생장치는 확인될 필요가 있는 다음 PMT 패킷을 찾을 수 있다. 이 경우, 상기 광 기록재생장치는 현재 PMT 패킷과 상기 "Offset_SPN_to_next_FixUp"에 의해 포인트되는 PMT 패킷 사이의 PMT 패킷들을 확인하지 않을 수 있다. Referring to FIG. 8B, a program map table packet in a form in which a fixup table used in the media transform of the present invention is masked by a logical operation (eg, an exclusive OR) with a secret parameter provided by a secure virtual machine. (Program Map Table Packet, PMT packet) is stored in the "private data" field in the system use descriptor (system_use_descriptor). The "private data" field includes content protection information for the clip AV stream file. The fixup table may include a secret parameter identifier (SP_ID) of a secret parameter segment (SP Segment) to which the PMT packet belongs, a fixup entry (FixUpEntry) to be described with reference to FIG. 10, and an optical recording / reproducing apparatus to perform media transformation. It includes " Offset_SPN_to_next_FixUp " indicating the number of packets from each PMT packet to which fixup entry 200 needs to be confirmed to the next PMT packet. The secret parameter identifier is not masked and is the same as the secret parameter identifier for the secret parameter segment in which the fix-up entry 200 exists. Using the " Offset_SPN_to_next_FixUp ", the optical recording / reproducing apparatus can find the next PMT packet that needs to be identified. In this case, the optical recording / reproducing apparatus may not check the PMT packets between the current PMT packet and the PMT packet pointed by the " Offset_SPN_to_next_FixUp ".

도 8a를 참조하여, 클립 AV 스트림에 멀티플렉스된 픽스업 테이블에 의한 미디어 트랜스폼을 설명하면, 광 기록재생장치(10)는 기록매체로부터 마스크드 픽스 업 테이블(150m)을 포함하는 클립 AV 스트림(140)을 읽는다. 상기 콘텐트는 암호화되어 광 기록재생장치(10)에 제공될 수 있다. 이 경우, 상기 콘텐트는 복호화되어야 디코딩될 수 있다. Referring to FIG. 8A, a media transformation by a fixup table multiplexed onto a clip AV stream is described. The optical recording / reproducing apparatus 10 includes a clip AV stream including a masked fixup table 150m from a recording medium. Read 140. The content may be encrypted and provided to the optical recording / reproducing apparatus 10. In this case, the content must be decoded before it can be decoded.

암호화(encryption)라 함은 특정 알고리즘을 사용하여 데이터를 변형함으로써 콘텐츠 제공자가 제공하는 콘텐트에 대한 불법 복제 및 배포(redistribution), 편집 등을 방지하는 복제 방지 방법의 일종을 말한다. 콘텐트의 복호화하는 콘텐트에 대한 권한 없는 접근을 막는 일종의 자물쇠 역할을 하게 되며, 상기 특정 알고리즘은 자물쇠를 잠그는 키 역할을 하게 된다. 따라서, 콘텐트의 암호화에 사용되는 상기 특정 알고리즘을 암호화 키라 지칭할 수 있다. 상기 암호화된 콘텐트를 재생하기 위해서는 상기 콘텐트의 암호화에 사용된 특정 알고리즘을 해독할 수 있는 수단이 제공되어야 한다. 상기 특정 알고리즘 해독 수단은 자물쇠를 여는 일종의 키 역할을 하게 된다. 키가 제공되면, 상기 키를 사용하여 콘텐트 암호화에 사용된 알고리즘을 해독하고 상기 콘텐트를 원래 형태로 복원하게 되는데, 이를 복호화(decryption)라 한다. 상기 콘텐트의 암호화가 타이틀 단위로 이루어진 경우, 상기 타이틀의 암호화와 복호화에 사용되는 키를 타이틀 키(Kt)라 한다. 광 기록재생장치(10)는 상기 타이틀 키(Kt)를 이용하여 암호화된 클립 AV 스트림을 복호화한다(179c). 상기 복호화된 클립 AV 스트림은 버퍼(179d)를 거쳐 디멀티플렉스(Demux)(179e)에 제공된다.Encryption refers to a kind of copy protection method that prevents illegal copying, redistribution, and editing of content provided by a content provider by modifying data using a specific algorithm. It serves as a kind of lock that prevents unauthorized access to the decrypting content of the content, and the particular algorithm serves as a key to lock the lock. Therefore, the specific algorithm used for encrypting the content may be referred to as an encryption key. In order to play the encrypted content, a means for decrypting a specific algorithm used to encrypt the content should be provided. The specific algorithm decryption means serves as a kind of key to unlock the lock. When a key is provided, the key is used to decrypt the algorithm used for content encryption and to restore the content to its original form, which is called decryption. When the content is encrypted in title units, a key used for encrypting and decrypting the title is called a title key Kt. The optical recording / reproducing apparatus 10 decrypts the clip AV stream encrypted using the title key Kt (179c). The decoded clip AV stream is provided to a demultiplex 179e via a buffer 179d.

상기 기록매체에 저장된 콘텐트 코드(110)는 보안가상머신(178)로 로드되고, 상기 보안가상머신(178)에서 실행되어, "Playback Control Engine(176)"에 의해 제 공되는 클립 아이디(Clip_ID)와 비밀 파라미터 아이디(SP_ID)를 이용하여, 각 비밀 파라미터와 함께 비밀 파라미터 아이디 및 포렌직 마크 아이디(FM_ID)를 출력한다. 상기 포렌직 마크 아이디는 광 기록재생장치를 식별가능한 정보에 근거하여 생성되며, 상기 포렌직 마크 아이디를 이용하여 포렌직 마크가 클립 AV 스트림에 삽입된다.The content code 110 stored in the recording medium is loaded into the secure virtual machine 178, executed in the secure virtual machine 178, and provided with a clip ID (Clip_ID) provided by the "Playback Control Engine 176". And secret parameter ID (SP_ID), the secret parameter ID and forensic mark ID (FM_ID) are output along with each secret parameter. The forensic mark ID is generated based on the information for identifying the optical recording and reproducing apparatus, and the forensic mark is inserted into the clip AV stream using the forensic mark ID.

관련하여, "Playback Control Engine(176)"으로부터 보안가상머신(178)에 제공되는 상기 클립 아이디는 각 클립의 파일명에 사용된 수(number)와 동일하다. 예를 들어, 'Clip_ID=123'은 클립인포 파일 '00123.clpi'와 스트림 파일'00123.m2ts'를 참조하는 클립을 나타낸다.In this regard, the clip ID provided from the "Playback Control Engine 176" to the secure virtual machine 178 is equal to the number used for the file name of each clip. For example, 'Clip_ID = 123' indicates a clip referring to the clip information file '00123.clpi' and the stream file '00123.m2ts'.

본 발명에서, 상기 클립 AV 스트림(110)은 의도적으로 변형된(corrupted) 후 암호화되어 기록매체에 기록된 것이다. 광 기록재생장치(10)는 트랜스폼 펑션(179)에 의한 미디어 트랜스폼을 통해 상기 변형된 클립 AV 스트림(110)을 원래의 형태로 복원한다. 상기 트랜스폼 평션(179)은 디멀티플렉서(Demux)(179e)를 제어하여, 상기 복호화된 클립 AV 스트림(110)으로부터 마스크드 픽스업엔트리(200m)를 추출한다. 상기 추출된 마스크드 픽스업엔트리(200m)와 콘텐트 코드(110)에 의해 출력된 비밀 파라미터와의 논리연산(179a)을 통해, 미디어 트랜스폼에 이용되는 실제 픽스업엔트리(200)가 산출된다.In the present invention, the clip AV stream 110 is intentionally corrupted and then encrypted and recorded on the recording medium. The optical recording / reproducing apparatus 10 restores the modified clip AV stream 110 to its original form through media transformation by the transform function 179. The transform function 179 controls a demultiplexer 179e to extract a masked fix-up entry 200m from the decoded clip AV stream 110. Through the logical operation 179a between the extracted masked fix-up entry 200m and the secret parameter output by the content code 110, the actual fix-up entry 200 used for the media transform is calculated.

도 10은 본 발명의 픽스업엔트리(200)의 구조의 일 예를 도시한 것으로서, 픽스업엔트리(200)는 상기 픽스업 테이블을 사용하는 프로세스를 식별하는 정보(210)를 포함한다. 상기 프로세스 식별 정보(type_identifier)(210)는 미디어 트 랜스폼 또는 포렌직 마킹을 행하는지를 나타낸다. 예를 들어, 상기 프로세스 식별 정보가 '00b'로 설정된 경우 미디어 트랜스폼을 적용하지 않음을 의미하고, '01b'로 설정된 경우 미디어 트랜스폼 적용함을 의미하며, '10b'는 포렌직 마킹을 행함을 의미한다. 10 shows an example of the structure of the fix-up entry 200 of the present invention, and the fix-up entry 200 includes information 210 for identifying a process using the fix-up table. The process identification information (type_identifier) 210 indicates whether media transformation or forensic marking is performed. For example, if the process identification information is set to '00b', it means that no media transform is applied, and if it is set to '01b', it means to apply a media transform, and '10b' indicates to perform forensic marking. it means.

또한, 상기 픽스업엔트리(200)는 상기 포렌직 마킹을 위한 포레직 마크 아이디의 비트 위치(FM_ID_bit_position)를 나타내는 정보(220)를 포함한다. 상기 포렌직 마크 아이디 비트 위치(220)가 특정 값으로 설정된 경우(예를 들어, '1') 해당 픽스업엔트리에서의 오버라이트 작용이 실행된다. 다만, 상기 포렌직 마크 아이디의 비트 중 상기 픽스업 테이블에 포함된 포렌직 마크 아이디 비트 위치 정보(220)에 의해 지정된 비트가 '0'으로 설정된 경우, 상기 픽스업 테이블에 포함된 오버라이트 값(overwrite value)(270, 280)이 상기 스트림에 오버라이트(overwrite)되지 않는다. In addition, the fix-up entry 200 includes information 220 indicating the bit position FM_ID_bit_position of the foresic mark ID for the forensic marking. When the forensic mark ID bit position 220 is set to a specific value (for example, '1'), the overwrite operation in the fixup entry is performed. However, when the bit designated by the forensic mark ID bit position information 220 included in the fixup table among the bits of the forensic mark ID is set to '0', an overwrite value included in the fixup table (overwrite value) ) 270 and 280 are not overwritten to the stream.

또한, 상기 픽스업엔트리(200)는 상기 픽스업 테이블을 포함하는 PMT로부터 첫 번째 변형된 패킷까지의 상대적 소스 패킷 넘버(Relative_SPN_1)(230), 변형된 패킷으로부터 두 번째 변형된 패킷까지의 상대적 소스 패킷 넘버(Relative_SPN_2)(240)를 포함하고, 상기 상대적 소스 패킷 넘버들에 의해 지정된 패킷들에 각각 오버라이트될 오버라이트 값("Overwrite_value_1"(270)과 "Overwrite_value_2"(280))을 포함한다. In addition, the fix-up entry 200 may include a relative source packet number Relative_SPN_1 230 from the PMT including the fix-up table to the first modified packet, and a relative source from the modified packet to the second modified packet. A packet number (Relative_SPN_2) 240, and an overwrite value ("Overwrite_value_1" 270 and "Overwrite_value_2" 280) to be overwritten in packets designated by the relative source packet numbers, respectively.

관련하여, 픽스업 테이블이 클립 AV 스트림(110)에 멀티플렉스된 경우, 상기 픽스업 테이블을 포함하는 PMT 패킷이, 상기 "Relative_SPN_1"(230)을 계산하는 기 준이 된다. 도 9a ~ 9b에서와 같이, 픽스업 테이블이 별도의 파일로 주어지는 경우에는, 상기 "Relative_SPN_1"(230)의 계산에 이용될 패킷의 패킷넘버(도 9b에서, Base SPN(400))가 별도로 주어진다. 이하, 상기와 같이 "Relative_SPN_1"(230)의 계산을 위한 패킷넘버를 기준 소스 패킷 넘버라 명명하여 설명한다.In relation to this, when the fixup table is multiplexed onto the clip AV stream 110, the PMT packet including the fixup table serves as a reference for calculating the "Relative_SPN_1" 230. 9A to 9B, when the fixup table is given as a separate file, the packet number of the packet (Base SPN 400 in FIG. 9B) to be used for the calculation of the "Relative_SPN_1" 230 is given separately. . Hereinafter, the packet number for calculating the "Relative_SPN_1" 230 will be described as a reference source packet number as described above.

또한, 상기 지정된 패킷들에서 변형된 데이터의 시작 바이트 위치를 나타내는 정보들("Byte_position_1"(250)과 "Byte_position_2"(260))을 포함한다. 상기 시작 바이트 위치를 나타내는 정보(250, 260)는 상기 오버라이트 값(270, 280)이 지정된 패킷 내에서 오버라이트가 시작될 위치를 특정하게 되고, 상기 시작위치부터 오버라이트 값이 오버라이트 된다.In addition, it includes information ("Byte_position_1" 250 and "Byte_position_2" 260) indicating the start byte position of the transformed data in the designated packets. The information 250 and 260 indicating the start byte position specifies a position at which the overwrite starts in the packet in which the overwrite values 270 and 280 are designated, and the overwrite value is overwritten from the start position.

관련하여, 본 발명의 클립 AV 스트림들은 비밀 파라미터 세그먼트(SP Segments)로 나누어지고, 비밀 파라미터 식별자가 각 클립 AV 스트림 내 각 비밀 파라미터 세그먼트에 할당된다. 콘텐트 코드(110)는 각 비밀 파라미터 세그먼트에 대한 비밀 파라미터를 생성하여 보안가상머신(178)에 제공한다. 상기 비밀 파라미터는 마스크드 픽스업엔트리(200m)들과의 논리연산을 통해 실제 픽스업엔트리(200)들을 산출하는데 이용된다. 각 클립에 대한 비밀 파라미터의 수는 해당 클립 내의 비밀 파라미터 세그먼트의 수와 동일하며, 하나의 비밀 파라미터 세그먼트 내의 모든 픽스업엔트리(200)들에 적용된다.In this regard, the clip AV streams of the present invention are divided into secret parameter segments (SP Segments), and a secret parameter identifier is assigned to each secret parameter segment in each clip AV stream. The content code 110 generates a secret parameter for each secret parameter segment and provides it to the secure virtual machine 178. The secret parameter is used to calculate the actual fix-up entries 200 through logical operations with the masked fix-up entries 200m. The number of secret parameters for each clip is equal to the number of secret parameter segments in that clip, and applies to all fixup entries 200 in one secret parameter segment.

도 8a를 참조하면, 광 기록재생장치(10)는 상기 픽스업엔트리(200) 내 상기 프로세스 식별정보(210)가 '01b'이거나, 상기 프로세스 식별정보(210)가 '10b'면서 포렌직 마크 아이디 비트 위치 정보(220)가 지정하는 포렌직 마크 아이디의 비트가 '1'인지를 확인한다. 상기 조건을 만족하는 경우, 미디어 트랜스폼 프로세스가 계속 진행되어, 상기 픽스업 테이블에 포함된 오버라이트 값들(270, 280)이 트랜스포트 스트림 중 상기 픽스업 테이블에서 지정된 패킷에 각각 오버라이트(179b)되어 변형이 이루어진다. 프로세스 식별 정보가 미디어 트랜스폼을 행하지 않는 것으로 설정된 경우(예를 들어, '00b')에는 클립 AV 스트림(140)이 변형되지 않는다. 또한, 포렌직 마킹을 행하는 것으로 설정되었으나, 포렌직 마크 아이디 비트 위치 정보(220)가 지시하는 포렌직 마크 아이디의 비트가 '1'이 아닌 경우('0'으로 설정된 경우)에는 상기 오버라이트 값들이 지정된 패킷에 오버라이트되지 않는다. Referring to FIG. 8A, the optical recording and reproducing apparatus 10 has a forensic mark ID in which the process identification information 210 in the fix-up entry 200 is '01b' or the process identification information 210 is '10b'. It is checked whether the bit of the forensic mark ID designated by the bit position information 220 is '1'. If the condition is satisfied, the media transform process continues, so that the overwrite values 270 and 280 included in the fixup table are overwritten on the packets specified in the fixup table of the transport stream, respectively, 179b. And deformation occurs. If the process identification information is set not to perform media transformation (eg, '00b'), the clip AV stream 140 is not modified. In addition, when the forensic marking is set to perform forensic mark, but the forensic mark ID bit position information 220 indicates that the bit of the forensic mark ID is not '1' (when set to '0'), the overwrite values are specified. Is not overwritten.

상기 전술한 과정 중 복호화된 클립 AV 스트림으로부터 마스크드 픽스업 테이블(150m)을 추출하여 실제 픽스업 테이블을 산출하고, 상기 픽스업 테이블을 이용하여 특정 패킷에 오버라이트 값을 오버라이트 하는 과정(179b)들은 전체 클립 AV 스트림에 대해 반복되게 된다. Extracting the masked fixup table 150m from the decoded clip AV stream in the above-described process, calculating an actual fixup table, and overwriting an overwrite value in a specific packet using the fixup table (179b); Are repeated for the entire clip AV stream.

오버라이트된 클립 AV 스트림은, 디코더(179f)에 의해 디코딩되어 디스플레이(20)를 통해 사용자에게 제공된다.The overwritten clip AV stream is decoded by the decoder 179f and provided to the user via the display 20.

도 9a ~ 9b는 파일로써 저장된 픽스업 테이블을 이용한 미디어 트랜스폼을 개략도 및 픽스업 테이블의 데이터 구조(data structure)를 도시한 것이다. 9A-9B show a schematic diagram of a media transform using a fixup table stored as a file and the data structure of the fixup table.

도 9a를 참조하면, 광 기록재생장치(10)는 콘텐트의 재생을 시작하기 전에 기록매체로부터, 별도의 파일로 저장된 마스크드 픽스업 테이블(150m)을 보안가상머신(178)으로부터 미리 로드한다. 상기 마스크드 픽스업 테이블은 모호화(obfuscate)되어 기록매체에 기록될 수 있다(150f). 이 경우, 상기 보안가상머 신(178)은 상기 모호화(obfuscate)된 마스크드 픽스업 테이블(150m)을 분명화(de-obfuscate)하여, 재생시작시에 상기 타이틀에 대한 마스크드 픽스업 테이블(150m)을 트랜스폼 펑션 모듈(179)에 보낸다. Referring to FIG. 9A, the optical recording and reproducing apparatus 10 preloads the masked fixup table 150m stored in a separate file from the secure virtual machine 178 from the recording medium before starting the reproduction of the content. The masked fix-up table may be obfuscated and recorded on a recording medium (150f). In this case, the secure virtual machine 178 de-obfuscates the obfuscate masked fix-up table 150m, and the masked fix-up table for the title at the start of playback. Send 150m to the transform function module 179.

도 9b를 참조하면, 픽스업 테이블(150)은 하나의 타이틀에 사용되는 모든 클립들에 대한 픽스업엔트리로 구성된다. 상기 테이블은 각 비밀 파라미터와 논리연산될 블락 구조를 갖는다. 픽스업 블락(FUT block)(300)에서 각 픽스업엔트리(FixUpEntry)(200)는 비밀 파라미터 아이디에 의해 지정되는 관련된 비밀 파라미터 값의 배타적 논리합에 의해 마스크된 것이다.Referring to FIG. 9B, the fixup table 150 includes fixup entries for all clips used in one title. The table has a block structure to be logically operated with each secret parameter. Each FixUpEntry 200 in the FUT block 300 is masked by an exclusive OR of the associated secret parameter value specified by the secret parameter ID.

하나의 픽스업 블락(300) 내 모든 픽스업엔트리(200)들은 상기 픽스업 블락(300)과 관련된 비밀 파라미터 아이디에 대응하는 비밀 파라미터 세그먼트에 위치하게 된다. 픽스업 블락(300)은 상기 픽스업 블락(300)에 포함된 각 픽스업엔트리(200)에 대한 기준 소스 패킷 넘버(Base SPN)(400)를 갖는다. 상기 기준 소스 패킷 넘버(400)는 도 8a ~ 8b에서 설명한 시스템 사용 디스크립터를 갖는 PMT 패킷의 소스 패킷 넘버에 해당한다. 상기 기준 소스 패킷 넘버로부터 픽스업엔트리(200) 내 상대적 소스 패킷 넘버(Relative_SPN_1)(230)가 계산될 것이다.All fixup entries 200 in one fixup block 300 are located in a secret parameter segment corresponding to a secret parameter ID associated with the fixup block 300. Fixup block 300 has a reference source packet number (Base SPN) 400 for each fixup entry 200 included in the fixup block 300. The reference source packet number 400 corresponds to the source packet number of the PMT packet having the system usage descriptor described with reference to FIGS. 8A to 8B. The relative source packet number Relative_SPN_1 230 in the fix-up entry 200 may be calculated from the reference source packet number.

광 기록재생장치(10)는 상기 마스크드 픽스업 테이블을 스캔하여 클립 AV 스트림(140)의 현재 재생 위치에 사용될 필요한 픽스업 블락을 찾아낸다. 상기 기록매체로부터 로드된 콘텐트 코드(110)가 상기 보안가상머신(178)에서 실행되어, "Playback Control Engine(176)"에 의해 불러내진(invoked) 명령에 대응하여, 각 비밀 파라미터와 함께 비밀 파라미터 아이디 및 포렌직 마크 아이디를 출력한다. 순수한(clear) 픽스업엔트리(200)가, 상기 보안가상머신(178)으로부터의 비밀 파라미터 값과 상기 마스크드 픽스업 테이블(150m)의 마스크드 픽스업엔트리(200m)와의 논리연산(예를 들어, 배타적 논리합)(179a)에 의해 얻어진다. The optical recording / reproducing apparatus 10 scans the masked fixup table to find the necessary fixup block to be used at the current playback position of the clip AV stream 140. The content code 110 loaded from the recording medium is executed in the secure virtual machine 178, corresponding to a command invoked by the "Playback Control Engine 176", with a secret parameter with each secret parameter. Outputs ID and forensic mark ID. A clear fix-up entry 200 may perform logical operations (eg, for example) between a secret parameter value from the secure virtual machine 178 and a masked fix-up entry 200m of the masked fix-up table 150m. Exclusive logical OR) 179a.

관련하여, 필요한 픽스업 블락을 찾아내어, 순수한(clear)한 픽스업엔트리를 산출하는 상기 과정은 전체 클립 AV 스트림에 대하여 반복된다. In this regard, the process of finding the required fixup block and producing a clear fixup entry is repeated for the entire clip AV stream.

광 기록재생장치(10)는 기록매체로부터 클립 AV 스트림(140)을 읽고, 상기 클립 AV 스트림이 암호화된 경우, 타이틀 키(Kt)로 복호화한다(179c). 도 10을 참조하면, 광 기록재생장치(10)는 클립 AV 스트림의 현재 재생위치에 관련된 픽스업엔트리(200)로부터 프로세스 식별정보(210)를 확인하여, 미디어 트랜스폼 프로세스를 계속할지를 결정한다.The optical recording / reproducing apparatus 10 reads out the clip AV stream 140 from the recording medium and, if the clip AV stream is encrypted, decrypts it with the title key Kt (179c). Referring to FIG. 10, the optical recording / reproducing apparatus 10 checks the process identification information 210 from the fix-up entry 200 related to the current playback position of the clip AV stream, and determines whether to continue the media transform process.

상기 프로세스 식별정보(210)가 '01b'이거나, 상기 프로세스 식별정보(210)가 '10b'이면서 포렌직 마크 아이디 비트 위치(220)에 의해 지정되는 포렌직 마크 아이디의 비트가 '1'인 경우, 미디어 트랜스폼 프로세스가 계속된다. 그 외의 경우에는 해당 픽스업 테이블에서 정의된 미디어 트랜스폼이 적용되지 않고, 상기 기록매체로부터 클립 AV 스트림을 읽고 타이틀 키를 사용하여 복호화(179c)하는 과정으로 되돌아가게 된다.When the process identification information 210 is '01b' or the process identification information 210 is '10b' and the bit of the forensic mark ID designated by the forensic mark ID bit position 220 is '1', media The transform process continues. In other cases, the media transformation defined in the fixup table is not applied, and the process returns to the process of reading the clip AV stream from the recording medium and decrypting it using the title key (179c).

트랜스폼 평션(179) 내 오버라이트 펑션(179b)은 상기 픽스업엔트리(200)에 포함된 변형될 패킷 위치를 나타내는 정보(Relative_SPN_1(230), Relative_SPN_2(240)), 상기 변형될 패킷에 오바라이트될 값을 나타내는 정보(Overwrite_value_1(270), Overwrite_value_2(280))과, 상기 변형될 패킷 내 변 형된 데이터의 시작 바이트 위치를 나타내는 정보(Byte_position_1(250), Byte_position_2(260))를 이용하여, 각 픽스업엔트리당 오버라이트(179b)를 수행한다.The overwrite function 179b in the transform function 179 is information indicating the packet position to be modified included in the fix-up entry 200 (Relative_SPN_1 230 and Relative_SPN_2 240), and the overwrite function is performed on the modified packet. Each fix using information (Overwrite_value_1 (270) and Overwrite_value_2 (280)) indicating a value to be used and information (Byte_position_1 (250) and Byte_position_2 (260)) indicating the starting byte position of the transformed data in the packet to be modified. Perform overwrite 179b per up entry.

도 11은 본 발명에 의해 미디어 트랜스폼이 적용되는 일 예를 도시한 것이다. 전술한 바와 같이, 픽스업엔트리(200)에 의해 변형될 패킷과 패킷 내 바이트 위치가 정해지게 되는데, 다른 픽스업엔트리들이 동일한 패킷을 지정하여 오버라이트되는 영역이 겹치는 경우가 발생할 수 있다. 이 경우, 하나의 패킷에 복수의 트랜스폼이 적용되어, 원래의 스트림으로 정확하게 복원되지 않을 수 있다. 11 illustrates an example in which a media transform is applied according to the present invention. As described above, the packet to be transformed by the fix-up entry 200 and the byte position in the packet are determined. In this case, different fix-up entries designate the same packet so that an area overwritten may overlap. In this case, a plurality of transforms may be applied to one packet, and thus may not be correctly restored to the original stream.

예를 들어, 픽스업엔트리 1(FUT Entry 1)에 의해 지정된 패킷들과 상기 패킷들의 변형될 바이트 위치와, 픽스업엔트리 2(FUT Entry 2)에 의해 지정된 패킷들과 상기 패킷들의 바이트 위치에 의해 오버라이트가 적용될 영역이 전부 또는 부분적으로 겹치는 경우, 각 픽스업엔트리를 이용한 오버라이트 펑션의 적용 순서에 따라 패킷의 비트열이 달라질 수 있다. For example, by the packets specified by FUT Entry 1 and the byte positions to be modified of the packets, the packets specified by FUT Entry 2 and the byte positions of the packets. When the regions to which the overwrite is to be applied overlap in whole or in part, the bit string of the packet may vary according to the order of applying the overwrite function using each fix-up entry.

즉, 픽스업엔트리 1과 픽스업엔트리 2의 상대적 소스 패킷 넘버들(230, 340)과 바이트 위치 정보들(250, 260)에 의해 지정되는, 스트림의 변형 영역이 겹칠 수 있다. 이 경우, 픽스업엔트리 1을 이용하는 오버라이트 1(Overwrite 1)을 적용하고 픽스업엔트리 2를 이용하는 오버라이트 2(Overwrite 2)를 적용한 스트림과, 상기 오버라이트 2를 먼저 적용하고 상기 오버라이트 1을 적용한 스트림은 다를 수 있다.That is, the modified region of the stream, which is designated by the relative source packet numbers 230 and 340 of the fix-up entry 1 and the fix-up entry 2 and the byte position information 250 and 260, may overlap. In this case, the stream to which Overwrite 1 using Fix-Up Entry 1 is applied and Overwrite 2 using Fix-Up Entry 2 is applied, and the overwrite 2 is applied first, and the overwrite 1 is applied. The stream applied may be different.

결국, 오버라이트 순서에 따라 출력 스트림이 달라지므로, 정확한 미디어 트 랜스폼이 이루어지지 않을 수 있게 되어 문제이다. 본 발명은 상기와 같은 문제를 해결하기 위한 방법을 제공한다.As a result, since the output stream is changed according to the overwrite order, an accurate media transformation may not be achieved. The present invention provides a method for solving the above problem.

도 12a ~ 12c는 본 발명의 제 1 방법에 따른 미디어 트랜스폼의 실시예들을 도시한 것이다.12A-12C illustrate embodiments of a media transform according to the first method of the present invention.

본 발명의 제 1 방법은, 오버라이트 순서에 따라 미디어 트랜스폼의 결과가 달라지지 않도록, 픽스업엔트리들이 지정하는 변형될 영역들이 달라지도록 한다. 콘텐츠 제공자는 스트림에 오버라이트할 영역을 다르게 지정하도록 픽스업테이블을 구성하여 사용자에게 제공하여야 한다.The first method of the present invention allows the areas to be modified to be designated by fix-up entries so that the result of the media transform does not vary according to the overwrite order. The content provider must configure and provide the fixup table to the user so as to specify an area to be overwritten in the stream differently.

도 12a를 참조하면, 콘텐츠 제공자는 픽스업엔트리 1에 포함된 "Relative_SPN_1" 및 "Relative_SPN_2"가 지정하는 패킷들과, 픽스업엔트리 2에 포함된 "Relative_SPN_1" 및 "Relative_SPN_2"가 지정하는 패킷들이 다르도록 픽스업테이블을 구성할 수 있다. 이 경우, 각 픽스업엔트리가 지정하는 변형될 패킷들이 다르게 되므로, 오버라이트 순서에 상관없이 동일한 스트림이 디코더(179f)에 제공되게 된다.Referring to FIG. 12A, the content provider is different from packets designated by "Relative_SPN_1" and "Relative_SPN_2" included in fix-up entry 1 and packets designated by "Relative_SPN_1" and "Relative_SPN_2" included in fix-up entry 2. Fixup tables can be configured to In this case, since the packets to be modified designated by each fix-up entry are different, the same stream is provided to the decoder 179f regardless of the overwrite order.

또한, 도 12b를 참조하면, 콘텐츠 제공자는 픽스업엔트리 1에 포함된 "Byte_position_1" 및 "Byte_position_2"와, 픽스업엔트리 2에 포함된 "Byte_position_1" 및 "Byte_position_2"를 조절하여, 픽스업엔트리 1에 의해 오버라이트되는 영역과 픽스업엔트리 2에 의해 오버라이트되는 영역이 겹치지 않도록 픽스업테이블을 구성할 수 있다. 픽스업엔트리들에 의해 지정될 패킷들 중에 동일한 패킷이 존재하더라도, 상기 패킷에서 오버라이트되는 부분이 다르면, 오버라이 트 순서에 따라 출력되는 스트림이 달라지지 않는다.In addition, referring to FIG. 12B, the content provider adjusts "Byte_position_1" and "Byte_position_2" included in Fix-Up Entry 1 and "Byte_position_1" and "Byte_position_2" included in Fix-Up Entry 2 to FixUp Entry 1. The fixup table may be configured such that the region overwritten by the overwrite and the region overwritten by the fix-up entry 2 do not overlap. Even if the same packet exists among the packets to be specified by the fix-up entries, if the overwritten portion of the packet is different, the output stream does not change according to the overwriting order.

예를 들어, 픽스업엔트리 1의 "Relative_SPN_2"에 의해 지정되는 패킷과 픽스업엔트리 2의 "Relative_SPN_1"에 의해 지정되는 패킷이 동일한 경우, 상기 픽스업엔트리 2의 "Byte_position_1"는, 상기 픽스업엔트리 1의 "Byte_position_2"와 "Overwrite_value_2"를 합한 값 이상이어야 한다.For example, when the packet specified by "Relative_SPN_2" of fix-up entry 1 and the packet specified by "Relative_SPN_1" of fix-up entry 2 are equal, "Byte_position_1" of fix-up entry 2 is the fix-up entry. Must be equal to or greater than the sum of "Byte_position_2" and "Overwrite_value_2" of 1.

또한, 도 12c를 참조하면, 콘텐츠 제공자는 픽스업엔트리의 상대적 소스 패킷 넘버 계산의 기준이 되는 기준 소스 패킷 넘버(Base SPN)와 상기 픽스업엔트리에 의해 지정되는 패킷 사이에, 다른 픽스업엔트리의 기준 소스 패킷 넘버가 존재하지 않도록 픽스업테이블을 구성할 수도 있다. 예를 들어, 기준 소스 패킷 넘버 1(Base SPN 1)과, 상기 기준 소스 패킷 넘버 1에 해당하는 픽스업엔트리1에 의한 오버라이트 1이 적용되는 패킷들과 사이에, 다른 기준 소스 패킷 넘버가 존재하지 않도록 픽스업테이블이 구성된다.In addition, referring to FIG. 12C, the content provider may determine whether or not a base source packet number Base SPN, which is the basis for calculating the relative source packet number of the fix-up entry, and a packet designated by the fix-up entry. The fixup table may be configured such that there is no reference source packet number. For example, a different reference source packet number exists between base source packet number 1 (Base SPN 1) and packets to which overwrite 1 by fixup entry 1 corresponding to the base source packet number 1 is applied. Fixup tables are configured not to.

상기 본 발명의 제 1 방법에 따른 실시예들에 따라 픽스업테이블이 구성되는 경우, 오버라이트되는 부분이 겹치지 않게 되어, 오버라이트 순서가 달라지더라도, 미디어 트랜스폼의 결과는 달라지지 않게 된다. 제어부는 상기 제 1 방법에 따른 실시예들 중 하나를 따르는 픽스업테이블을 생성하고, 픽업(11)을 제어하여 상기 픽스업테이블을 기록매체에 기록하게 된다.When the fixup table is configured according to the embodiments according to the first method of the present invention, the parts to be overwritten are not overlapped, and even if the overwrite order is changed, the result of the media transform is not changed. The control unit generates a fix-up table according to one of the embodiments according to the first method, controls the pickup 11 to record the fix-up table on a recording medium.

도 13a ~ 14b는 본 발명의 제 2 방법에 따른 미디어 트랜스폼의 실시예들을 도시한 것으로서, 도 13a ~ 13b는 본 발명의 제 2 방법에 따라, 미디어 트랜스폼을 기준 소스 패킷 넘버의 정순으로 적용하는 실시예를, 도 14a ~ 14b는 미디어 트랜 스폼을 기준 소스 패킷 넘버의 역순으로 적용하는 실시예를 도시한 것이다.13A to 14B illustrate embodiments of a media transform according to the second method of the present invention, and FIGS. 13A to 13B illustrate applying media transforms in the order of a reference source packet number according to the second method of the present invention. 14A to 14B illustrate an embodiment in which the media transformer is applied in the reverse order of the reference source packet number.

본 발명의 제 2 방법은, 트랜스포트 스트림 중 변형될 부분이 겹쳐지는 것이 허용되는 경우를 위한 것이다. 픽스업엔트리들이 지정하는 변형될 부분이 겹쳐지지는 경우, 오버라이트의 적용순서에 따라 미디어 트랜스폼의 결과가 달라질 수 있다. 따라서, 이 경우, 오버라이트의 적용순서가 정해질 필요가 있다.The second method of the present invention is for the case where it is allowed to overlap portions of the transport stream to be modified. When the parts to be modified specified by the fix-up entries overlap, the result of the media transform may vary according to the application order of the overwrite. In this case, therefore, the application order of the overwrite needs to be determined.

도 13a ~ 13b를 참조하면, 광 기록재생장치(10)는 미디어 트랜스폼을 구현함에 있어서, 기준 소스 패킷 넘버가 처리되는 순서대로 오버라이트 펑션을 수행할 수 있다. 도 13a를 참조하면, 트랜스폼 펑션 모듈에 기준 소스 패킷 넘버 1이 먼저 제공되고, 기준 소스 패킷 넘버 2가 그 다음으로 제공되는 경우, 상기 트랜스폼 펑션은 상기 기준 소스 패킷 넘버 1에 대응하는 픽스업엔트리 1을 이용하는 오버라이트 1을 먼저 수행한다. 13b를 참조하면, 상기 광 기록재생장치(10)는 상기 오버라이트 1이 적용된 스트림에, 기준 소스 패킷 넘버 2에 대응하는 픽스업엔트리 2을 이용하는 오버라이트 2를 수행하게 된다. 따라서, 픽스업엔트리 1과 픽스업엔트리 2에 의해 지정되는 오버라이트 영역 중 겹치는 부분은 픽스업엔트리 1에 의한 오버라이트 값의 비트열을 갖게 된다. 13A to 13B, the optical recording / reproducing apparatus 10 may perform the overwrite function in the order in which the reference source packet numbers are processed in implementing the media transform. Referring to FIG. 13A, when a reference source packet number 1 is provided to a transform function module first and a reference source packet number 2 is provided next, the transform function is a fixup corresponding to the reference source packet number 1. Overwrite 1 with entry 1 is performed first. Referring to 13b, the optical recording / reproducing apparatus 10 performs overwrite 2 using fixup entry 2 corresponding to the reference source packet number 2 to the stream to which the overwrite 1 is applied. Therefore, the overlapping part of the overwrite areas designated by the fix-up entry 1 and the fix-up entry 2 has a bit string of the overwrite value by the fix-up entry 1.

관련하여, 도 13a ~ 13b의 광 기록재생장치에서, 변형된 콘텐트가 미디어 트랜스폼을 통해 원래 형태로 복원되기 위해서는, 콘텐츠 제공자가 기준 소스 패킷 넘버가 처리되는 순서대로 오버라이트 펑션이 수행된다는 점을 고려하여 픽스업테이블을 구성하여 제공하여야 한다.In this regard, in the optical recording / reproducing apparatus of FIGS. 13A to 13B, in order for the deformed content to be restored to its original form through the media transform, the content provider performs an overwrite function in the order in which the reference source packet number is processed. In consideration of this, a fixup table should be constructed and provided.

도 14a ~ 14b를 참조하면, 광 기록재생장치(10)는 미디어 트랜스폼을 구현함 에 있어서, 기준 소스 패킷 넘버가 처리되는 역순으로 오버라이트 평션을 수행할 수도 있다. 도 14a를 참조하면, 트랜스폼 펑션 모듈에 기준 소스 패킷 넘버 1이 먼저 제공되고, 기준 소스 패킷 넘버 2가 그 다음으로 제공되는 경우, 상기 트랜스폼 펑션은 상기 기준 소스 패킷 넘버 2에 대응하는 픽스업엔트리 2를 이용하는 오버라이트 2를 먼저 수행한다. 도 14b를 참조하면, 상기 광 기록재생장치(10)는 상기 오버라이트 2가 적용된 스트림에, 기준 소스 패킷 넘버 1에 대응하는 픽스업엔트리 1을 이용하는 오버라이트 1을 수행한다. 따라서, 픽스업엔트리 1과 픽스업엔트리 2에 의해 지정되는 오버라이트 영역 중 겹치는 부분은 픽스업엔트리 2에 의한 오버라이트 값의 비트열을 갖게 된다.14A to 14B, the optical recording / reproducing apparatus 10 may perform overwrite functions in the reverse order in which the reference source packet numbers are processed in implementing the media transform. Referring to FIG. 14A, when a reference source packet number 1 is provided to a transform function module first and a reference source packet number 2 is provided next, the transform function may have a fixup corresponding to the reference source packet number 2. Overwrite 2 using entry 2 is performed first. Referring to FIG. 14B, the optical recording / reproducing apparatus 10 performs overwrite 1 using fixup entry 1 corresponding to the reference source packet number 1 to the stream to which the overwrite 2 is applied. Therefore, the overlapping part of the overwrite areas designated by the fix-up entry 1 and the fix-up entry 2 has a bit string of the overwrite value by the fix-up entry 2.

관련하여, 도 14a ~ 14b의 광 기록재생장치에서, 변형된 콘텐트가 미디어 트랜스폼을 통해 원래 형태로 복원되기 위해서는, 콘텐츠 제공자가 기준 소스 패킷 넘버가 처리되는 역순으로 오버라이트 펑션이 수행된다는 점을 고려하여 픽스업테이블을 구성하여 제공하여야 할 것이다.In this regard, in the optical recording / reproducing apparatus of FIGS. 14A to 14B, in order for the deformed content to be restored to its original form through the media transform, the content provider performs an overwrite function in the reverse order in which the reference source packet number is processed. In consideration of this, the fixup table should be configured and provided.

또한, 본 발명의 콘텐츠 제공자는 미디어 트랜스폼에서 적용될 픽스업엔트리의 이용순서를 정하고, 상기 순서에 관한 정보를 광 기록재생장치에 제공하는 것도 가능하다. 상기 광 기록재생장치 내 제어부는 상기 정보를 확인하여, 상기 정보가 나타내는 순서에 따라 스트림에 오버라이트를 수행하게 될 것이다.In addition, the content provider of the present invention may determine the order of use of the fix-up entries to be applied in the media transform, and provide information on the order to the optical recording / reproducing apparatus. The controller in the optical recording and reproducing apparatus checks the information and performs overwriting on the stream in the order indicated by the information.

관련하여, 도 11 ~ 14b에서는 픽스업엔트리가 2개인 경우를 예로 하였으나, 이는 예에 불과하며, 그 수에 상관없이 본 발명이 적용될 수 있음은 당연하다 할 것이다.In this regard, although the case of two fix-up entries is illustrated as an example in FIGS. 11 to 14B, this is only an example, and it will be obvious that the present invention can be applied regardless of the number.

본 발명을 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. The present invention is not limited to the above-described embodiments, and as can be seen in the appended claims, modifications can be made by those skilled in the art to which the invention pertains, and such modifications are within the scope of the present invention.

상기에서 설명한 본 발명에 따른 데이터 재생방법 및 재생장치, 데이터 전송방법에 의하면, 플레이어를 식별가능한 정보를 재생되는 콘텐트에 삽입함으로써, 불법 복제, 배포 등에 의해 콘텐트를 훼손한 광 기록재생장치를 추적하는 것이 가능하게 되어, 불법 복제, 배포 등 콘텐트에 대한 악의적인 행위로부터 콘텐트를 보호하게 되는 장점이 있다.According to the data reproducing method, the reproducing apparatus, and the data transmitting method according to the present invention described above, it is possible to track an optical recording and reproducing apparatus which has corrupted the contents by illegal copying or distribution by inserting the identifiable information into the reproduced content. It is possible to protect the content from malicious acts on the content, such as illegal copying and distribution.

Claims (39)

스트림을 저장하는 스트림 영역; 그리고A stream area for storing the stream; And 상기 스트림에 오버라이트될 값들 및 오버라이트 영역들을 지정하는 오버라이트 정보를 저장하는 보안영역을 포함하되,A security area for storing overwrite information specifying values and overwrite areas to be overwritten in the stream, 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 기록매체.The overwrite information is defined such that the overwrite areas do not overlap. 제 1 항에 있어서,The method of claim 1, 상기 기록매체는 상기 스트림에 대한 오버라이트 과정에 이용되는 콘텐트 코드를 포함하는 것을 특징으로 하는 기록매체.And the recording medium includes a content code used in the overwrite process for the stream. 제 1 항에 있어서,The method of claim 1, 상기 오버라이트 정보는 마스크된 형태로 상기 기록매체에 저장되는 것을 특징으로 하는 기록매체.The overwrite information is stored in the recording medium in a masked form. 제 1 항에 있어서,The method of claim 1, 상기 오버라이트 정보는 상기 스트림으로 멀티플렉스되어 상기 기록매체에 저장되는 것을 특징으로 하는 기록매체.And the overwrite information is multiplexed into the stream and stored in the recording medium. 제 1 항에 있어서,The method of claim 1, 상기 오버라이트 정보는 별도의 파일로 구성되어 상기 보안영역에 저장되는 것을 특징으로 하는 기록매체.The overwrite information is configured as a separate file and stored in the secure area. 제 1 항에 있어서,The method of claim 1, 상기 오버라이트 정보는, 오버라이트될 패킷을 지정하는 패킷위치정보를 포함하고,The overwrite information includes packet position information specifying a packet to be overwritten, 상기 패킷위치정보는 상기 스트림의 각각 다른 패킷들을 지정하도록 정의된 것을 특징으로 하는 기록매체.And said packet position information is defined to specify different packets of said stream. 제 1 항에 있어서,The method of claim 1, 상기 오버라이트 정보는 오버라이트될 패킷에서 오버라이트가 시작되는 위치를 지정하는 오버라이트 시작위치정보를 포함하고,The overwrite information includes overwrite start position information specifying a position at which an overwrite starts in a packet to be overwritten, 상기 오버라이트 정보가 동일한 패킷을 적어도 하나 이상 지정하는 경우, 상기 시작위치정보는 상기 지정된 동일한 패킷 내에서 오버라이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 기록매체.And when the overwrite information designates at least one same packet, the start position information is defined such that overwrite areas do not overlap in the designated same packet. 제 1 항에 있어서,The method of claim 1, 상기 오버라이트 정보는, 오버라이트될 패킷의 지정에 이용되는 기준 패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 정의된 것을 특 징으로 하는 기록매체.And the overwrite information is defined so as not to include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten. 스트림을 기록매체에 기록하고,Record the stream to a record carrier, 상기 스트림에 오버라이트될 값들 및 오버라이트 영역들을 지정하는 오버라이트 정보를 생성하여 상기 기록매체에 기록하되,Generating overwrite information specifying values and overwrite areas to be overwritten in the stream and recording the overwrite information on the recording medium; 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 생성된 것을 특징으로 하는 데이터 기록방법.And the overwrite information is generated so that the overwrite areas do not overlap. 제 9 항에 있어서,The method of claim 9, 상기 스트림에 대한 오버라이트 과정에 이용되는 콘텐트 코드를 생성하여 상기 기록매체에 기록하는 것을 특징으로 하는 데이터 기록방법.And generating a content code used in the overwrite process of the stream and recording the content code on the recording medium. 제 9 항에 있어서,The method of claim 9, 상기 오버라이트 정보는 마스크된 형태로 상기 기록매체에 기록되는 것을 특징으로 하는 데이터 기록방법.And the overwrite information is recorded on the recording medium in a masked form. 제 9 항에 있어서,The method of claim 9, 상기 오버라이트 정보는 상기 스트림에 멀티플렉스되어 상기 기록매체에 기록되는 것을 특징으로 하는 데이터 기록방법.And the overwrite information is multiplexed into the stream and recorded on the recording medium. 제 9 항에 있어서,The method of claim 9, 상기 오버라이트 정보는 별도의 파일로 구성되어 상기 기록매체에 저장되는 것을 특징으로 하는 데이터 기록방법.And the overwrite information is stored in the recording medium in a separate file. 제 9 항에 있어서,The method of claim 9, 상기 오버라이트 정보는, 오버라이트될 패킷을 지정하는 패킷위치정보를 포함하고,The overwrite information includes packet position information specifying a packet to be overwritten, 상기 패킷위치정보는 상기 스트림의 각각 다른 패킷들을 지정하도록 생성된 것을 특징으로 하는 데이터 기록방법.And the packet position information is generated to designate different packets of the stream. 제 9 항에 있어서,The method of claim 9, 상기 오버라이트 정보는, 오버라이트될 패킷 내 오버라이트가 시작되는 위치를 지정하는 오버라이트 시작위치정보를 포함하고,The overwrite information includes overwrite start position information for designating a position at which an overwrite starts in a packet to be overwritten, 상기 오버라이트 정보가 동일한 패킷을 적어도 하나 이상 지정하는 경우, 상기 시작위치정보는 상기 지정된 동일한 패킷 내에서 오버라이트 영역들이 겹쳐지지 않도록 생성된 것을 특징으로 하는 데이터 기록방법.And when the overwrite information designates at least one identical packet, the start position information is generated such that the overwrite areas do not overlap in the designated same packet. 제 9 항에 있어서,The method of claim 9, 상기 오버라이트 정보는, 오버라이트될 패킷의 지정에 이용되는 기준 패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 생성된 것을 특 징으로 하는 데이터 기록방법.And the overwrite information is generated so as not to include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten. 데이터를 기록매체에 기록하는 기록부; 그리고A recording unit for recording data on a recording medium; And 상기 기록부를 제어하여 스트림을 상기 기록매체에 기록하고, 상기 스트림에 오버라이트될 값들 및 대응하는 오버라이트 영역들을 지정하는 오버라이트 정보를 생성하고, 상기 기록부를 제어하여 상기 오버라이트 정보를 상기 기록매체에 기록하되,Control the recording unit to record a stream on the recording medium, generate overwrite information specifying values to be overwritten in the stream and corresponding overwrite areas, and control the recording unit to write the overwrite information to the recording medium. Write in, 상기 제어부는 상기 오버라이트 영역들이 겹쳐지지 않도록 상기 오버라이트 정보를 생성하는 것을 특징으로 하는 데이터 기록장치.And the control unit generates the overwrite information so that the overwrite areas do not overlap. 제 17 항에 있어서,The method of claim 17, 상기 제어부는 상기 스트림에 대한 오버라이트 과정에 이용되는 콘텐트 코드를 생성하고, 상기 기록부를 제어하여 상기 콘텐트 코드를 상기 기록매체에 기록하는 것을 특징으로 하는 데이터 기록장치.And the control unit generates a content code used in the overwrite process for the stream, and controls the recording unit to record the content code on the recording medium. 제 17 항에 있어서,The method of claim 17, 상기 제어부는 상기 오버라이트 정보를 마스크된 형태로 상기 기록매체에 기록되도록 제어하는 것을 특징으로 하는 데이터 기록장치.And the controller controls the overwrite information to be recorded on the recording medium in a masked form. 제 17 항에 있어서,The method of claim 17, 상기 제어부는 상기 오버라이트 정보가 상기 스트림에 멀티플렉스되어 상기 기록매체에 기록되도록 제어하는 것을 특징으로 하는 데이터 기록장치.And the controller controls the overwrite information to be multiplexed into the stream to be recorded on the recording medium. 제 17 항에 있어서,The method of claim 17, 상기 제어부는 상기 오버라이트 정보가 파일로써 상기 기록매체에 기록되도록 제어하는 것을 특징으로 하는 데이터 기록장치.And the controller controls the overwrite information to be recorded on the recording medium as a file. 제 17 항에 있어서,The method of claim 17, 상기 제어부는 오버라이트될 패킷을 지정하는 패킷위치정보가 상기 스트림 내 각각 다른 패킷들을 지정하도록 상기 오버라이트 정보를 생성하는 것을 특징으로 하는 데이터 기록장치.And the control unit generates the overwrite information such that packet position information specifying a packet to be overwritten specifies different packets in the stream. 제 17 항에 있어서,The method of claim 17, 상기 오버라이트 정보가 동일한 패킷을 적어도 하나 이상 지정하는 경우, If the overwrite information designates at least one packet of the same, 상기 제어부는 오버라이트될 패킷에서 오버라이트가 시작되는 위치를 지정하는 오버라이트 시작위치정보가, 상기 지정된 동일한 패킷 내에서 겹치지 않는 오버라이트 영역들을 지정하도록 상기 오버라이트 정보를 생성하는 것을 특징으로 하는 데이터 기록장치.The control unit generates the overwrite information such that the overwrite start position information specifying the position at which the overwrite starts in the packet to be overwritten specifies the overwrite regions that do not overlap in the designated same packet. Logger. 제 17 항에 있어서,The method of claim 17, 상기 제어부는 오버라이트될 패킷의 지정에 이용되는 기준 패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 상기 오버라이트 정보를 생성하는 것을 특징으로 하는 데이터 기록방법.And the control unit generates the overwrite information so as not to include another reference packet between the reference packet used for designating the packet to be overwritten and the packet to be overwritten. 스트림을 재생하는 데이터 재생방법에 있어서,In the data playback method for playing a stream, 상기 스트림에 오버라이트될 값들 및 오버라이트 영역들을 지정하는 오버라이트 정보를 확인하고,Confirm overwrite information specifying values and overwrite areas to be overwritten in the stream, 상기 오버라이트 정보가 지정하는 각 오버라이트 영역에, 대응하는 오버라이트 값을 오버라이트하여, 상기 오버라이트된 스트림을 재생하되,Rewrite the overwritten stream by overwriting a corresponding overwrite value in each overwrite area designated by the overwrite information. 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 데이터 재생방법. The overwrite information is defined such that the overwrite areas do not overlap. 제 25 항에 있어서,The method of claim 25, 상기 오버라이트 정보는 별도의 파일로 저장된 것이고, 오버라이트될 패킷 위치의 지정에 이용되는 기준패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 정의된 것을 특징으로 하는 데이터 재생방법. The overwrite information is stored in a separate file and is defined so as not to include another reference packet between a reference packet used for designating a packet position to be overwritten and the packet to be overwritten. 스트림을 재생하는 데이터 재생장치에 있어서,A data reproducing apparatus for reproducing a stream, 기록매체로부터 데이터를 읽는 리더부; 그리고A reader unit for reading data from a recording medium; And 상기 리더부를 제어하여 상기 기록매체로부터 상기 스트림과 상기 스트림에 대한 오버라이트 정보를 읽고, 상기 오버라이트 정보가 지정하는 각 오버라이트 영역에 대응하는 오버라이트 값을 오버라이트 하고, 상기 오버라이트된 스트림이 재생되도록 제어하는 제어부를 포함하되,The reader unit controls the reader to read overwrite information about the stream and the stream from the recording medium, overwrites an overwrite value corresponding to each overwrite area designated by the overwrite information, and the overwritten stream is overwritten. It includes a control unit for controlling to play, 상기 오버라이트 정보는 상기 오버라이트 영역들이 겹쳐지지 않도록 정의된 것을 특징으로 하는 데이터 재생장치.And the overwrite information is defined such that the overwrite areas do not overlap. 제 27 항에 있어서,The method of claim 27, 상기 오버라이트 정보는 상기 기록매체에 별도의 파일로 저장된 것이고, 오버라이트될 패킷의 지정에 이용되는 기준패킷과 상기 오버라이트될 패킷 사이에 다른 기준 패킷을 포함하지 않도록 정의된 것을 특징으로 하는 데이터 재생장치. The overwrite information is stored in a separate file on the recording medium, and data reproduction is defined so as not to include another reference packet between a reference packet used for designating a packet to be overwritten and the packet to be overwritten. Device. 스트림을 재생하는 데이터 재생방법에 있어서, In the data playback method for playing a stream, 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 확인하고,Confirm overwrite information according to reference packets used to designate a packet to be overwritten in the stream, 상기 오버라이트 정보가 지정하는 상기 오버라이트될 패킷에, 상기 오버라이트 정보에 포함된 오버라이트 값을 오버라이트하여 상기 스트림을 재생하되,Replay the stream by overwriting the overwrite value included in the overwrite information in the packet to be overwritten specified by the overwrite information. 상기 오버라이트는 상기 기준패킷의 순서를 근거로 상기 스트림에 적용되는 것을 특징으로 하는 데이터 재생방법.And the overwrite is applied to the stream based on the order of the reference packet. 제 29 항에 있어서,The method of claim 29, 상기 오버라이트는 상기 기준패킷의 순서대로 상기 스트림에 적용되는 것을 특징으로 하는 데이터 재생방법.The overwrite is applied to the stream in the order of the reference packet. 제 29 항에 있어서,The method of claim 29, 상기 오버라이트는 상기 기준패킷의 역순으로 상기 스트림에 적용되는 것을 특징으로 하는 데이터 재생방법.And the overwrite is applied to the stream in the reverse order of the reference packet. 제 29 항에 있어서,The method of claim 29, 상기 오버라이트는 상기 스트림의 제공자가 설정해둔 순서대로 상기 스트림에 적용되는 것을 특징으로 하는 데이터 재생방법.The overwrite is applied to the stream in the order set by the provider of the stream. 스트림을 재생하는 데이터 재생장치에 있어서, A data reproducing apparatus for reproducing a stream, 기록매체로부터 데이터를 읽는 리더부; 그리고A reader unit for reading data from a recording medium; And 상기 리더부를 제어하여 상기 기록매체로부터 상기 스트림 및 상기 스트림에 대한 오버라이트 정보를 읽고, 상기 오버라이트 정보가 지정하는 오버라이트될 패킷에 대응하는 오버라이트 값을 오버라이트하여, 상기 오버라이트된 스트림이 재생되도록 제어하는 제어부를 포함하되,The reader unit reads the overwrite information for the stream and the stream from the recording medium, and overwrites an overwrite value corresponding to the packet to be overwritten specified by the overwrite information so that the overwritten stream is overwritten. It includes a control unit for controlling to play, 상기 오버라이트 정보는 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따라 정의되고, 상기 제어부는 상기 기준패킷들의 순서를 근거로 상기 스트림에 상기 오버라이트를 적용하는 것을 특징으로 하는 데이터 재생장치.The overwrite information is defined according to reference packets used to designate a packet to be overwritten in the stream, and the control unit applies the overwrite to the stream based on the order of the reference packets. Playback device. 제 33 항에 있어서,The method of claim 33, wherein 상기 제어부는 상기 기준패킷들의 순서대로 상기 스트림에 상기 오버라이트를 적용하는 것을 특징으로 하는 데이터 재생장치.And the controller applies the overwrite to the stream in the order of the reference packets. 제 33 항에 있어서,The method of claim 33, wherein 상기 제어부는 상기 기준패킷들의 역순으로 상기 스트림에 상기 오버라이트를 적용하는 것을 특징으로 하는 데이터 재생장치.And the controller applies the overwrite to the stream in the reverse order of the reference packets. 제 33 항에 있어서,The method of claim 33, wherein 상기 제어부는 상기 스트림의 제공자가 설정해둔 순서대로 상기 스트림에 오버라이트를 적용하는 것을 특징으로 하는 데이터 재생장치.And the controller applies the overwrite to the stream in the order set by the provider of the stream. 스트림을 저장하는 스트림 영역; 그리고A stream area for storing the stream; And 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 저장하는 보안영역을 포함하되;A security area for storing overwrite information according to reference packets used for designating a packet to be overwritten in the stream; 상기 오버라이트 정보는 상기 기준패킷들의 순서를 근거로 정의된 오버라이트 값 및 오버라이트 영역을 포함하는 것을 특징으로 하는 기록매체.The overwrite information includes an overwrite value and an overwrite area defined based on the order of the reference packets. 스트림을 기록하는 데이터 기록방법에 있어서,In the data recording method for recording a stream, 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 생성하고,Generate overwrite information according to reference packets used for designating a packet to be overwritten in the stream, 상기 오버라이트 정보를 상기 기록매체에 기록하되,Record the overwrite information on the recording medium; 상기 오버라이트 정보는 상기 기준패킷들의 순서를 근거로 상기 스트림에 오버라이트될 값 및 오버라이트 영역을 지정하도록 생성된 것을 특징으로 하는 데이터 기록방법.And the overwrite information is generated to specify an overwrite area and a value to be overwritten in the stream based on the order of the reference packets. 스트림을 기록하는 데이터 기록장치에 있어서,A data recording apparatus for recording a stream, 기록매체에 데이터를 기록하는 기록부; 그리고A recording unit for recording data on a recording medium; And 상기 스트림 내 오버라이트될 패킷의 지정에 이용되는 기준패킷들에 따른 오버라이트 정보를 생성하고, 상기 기록부를 제어하여 상기 오버라이트 정보를 상기 기록매체에 기록하는 제어부를 포함하되,And a controller configured to generate overwrite information according to reference packets used for designating a packet to be overwritten in the stream, and to control the recording unit to record the overwrite information on the recording medium. 상기 제어부는 상기 기준패킷들의 순서를 근거로 상기 스트림에 오버라이트될 값 및 오버라이트 영역이 설정되도록 제어하는 것을 특징으로 하는 데이터 기록장치.And the controller controls a value to be overwritten in the stream and an overwrite area based on the order of the reference packets.
KR1020060086639A 2006-08-03 2006-09-08 Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data KR20080012724A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83506706A 2006-08-03 2006-08-03
US60/835,067 2006-08-03

Publications (1)

Publication Number Publication Date
KR20080012724A true KR20080012724A (en) 2008-02-12

Family

ID=39340802

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060086639A KR20080012724A (en) 2006-08-03 2006-09-08 Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data

Country Status (1)

Country Link
KR (1) KR20080012724A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022362A1 (en) * 2021-08-19 2023-02-23 삼성전자주식회사 Electronic device and memory zeroization method of electronic device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023022362A1 (en) * 2021-08-19 2023-02-23 삼성전자주식회사 Electronic device and memory zeroization method of electronic device

Similar Documents

Publication Publication Date Title
KR101216070B1 (en) Method and apparatus, recoding medium for reproducing a data recorded in recording medium using a Local storage
US7664262B2 (en) Playback apparatus and playback control method
US9013970B2 (en) Method for copy protection
JP4687424B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
JP4899442B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US20060153017A1 (en) Method and apparatus for protecting shared data and method and apparatus for reproducing data from recording medium using local storage
US20060156010A1 (en) Apparatus for reproducing data, method thereof and recording medium
US20090086966A1 (en) Reproduction apparatus, reproduction method and information recording medium
JP4264551B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US8438651B2 (en) Data reproducing method, data recording/ reproducing apparatus and data transmitting method
JP4140624B2 (en) Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
CN1866379B (en) Recording medium, and method and apparatus for reproducing data from the recording medium
EP1836707A2 (en) Method and apparatus for protecting shared data and method and apparatus for reproducing data from recording medium using local storage
KR20080012724A (en) Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data
EP1842192A2 (en) Data transmitting method, recording medium, apparatus for reproducing data from recording medium using local storage and method thereof
KR20070011101A (en) Method and apparatus for reproducing data, recording medium and method and apparatus for recording data
EP1839307A2 (en) Recording medium, apparatus for decrypting data and method thereof

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination