KR100553881B1 - Optical recording medium containing preload information, apparatus and method for reproducing therefor - Google Patents

Optical recording medium containing preload information, apparatus and method for reproducing therefor Download PDF

Info

Publication number
KR100553881B1
KR100553881B1 KR1020020057393A KR20020057393A KR100553881B1 KR 100553881 B1 KR100553881 B1 KR 100553881B1 KR 1020020057393 A KR1020020057393 A KR 1020020057393A KR 20020057393 A KR20020057393 A KR 20020057393A KR 100553881 B1 KR100553881 B1 KR 100553881B1
Authority
KR
South Korea
Prior art keywords
preload
file
data
delete delete
information
Prior art date
Application number
KR1020020057393A
Other languages
Korean (ko)
Other versions
KR20030027672A (en
Inventor
정현권
고정완
허정권
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CA 2405647 priority Critical patent/CA2405647C/en
Priority to CA2790051A priority patent/CA2790051A1/en
Priority to CA002531221A priority patent/CA2531221A1/en
Priority to MXPA02009526 priority patent/MXPA02009526A/en
Priority to CA002530887A priority patent/CA2530887A1/en
Publication of KR20030027672A publication Critical patent/KR20030027672A/en
Application granted granted Critical
Publication of KR100553881B1 publication Critical patent/KR100553881B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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/005Reproducing
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Abstract

본 발명은 프리로드 정보가 기록된 정보저장매체, 그 재생장치 및 재생방법에 관한 것이다.The present invention relates to an information storage medium having preload information recorded therein, a playback apparatus and a playback method thereof.

본 발명에 따른 정보저장매체는 AV 데이터; 및 상기 AV 데이터가 재생되기 이전에 상기 AV 데이터에 대응하는 프리로드 대상 파일을 프리로드할 것을 명령하는 프리로드 정보를 포함하며, 프리로드 대상 파일은 컨텐츠 데이터가 디스플레이될 경우 동기되어 재생되거나 또는 사용자의 요구에 의해 재생되어야 할 파일임을 특징으로 한다. 이에 의해, AV 데이터를 인터렉티브 모드로 재생하는 경우 AV 화면의 끊김현상이 발생되지 않게 된다.An information storage medium according to the present invention comprises AV data; And preload information for instructing to preload a preload target file corresponding to the AV data before the AV data is reproduced, wherein the preload target file is synchronously reproduced or displayed when the content data is displayed. It is characterized in that the file to be reproduced at the request of. As a result, the AV screen is not interrupted when the AV data is reproduced in the interactive mode.

Description

프리로드 정보가 기록된 정보저장매체, 그 재생장치 및 재생방법{Optical recording medium containing preload information, apparatus and method for reproducing therefor}Optical recording medium containing preload information, apparatus and method for reproducing therefor}

도 1은 AV 데이터가 기록된 인터렉티브 DVD의 개략도,1 is a schematic diagram of an interactive DVD in which AV data is recorded;

도 2는 도 1의 인터렉티브 DVD를 재생하는 과정에서 발생될 수 있는 끊김현상을 설명하기 위한 참고도,FIG. 2 is a reference diagram for explaining a disconnection phenomenon that may occur in the process of playing the interactive DVD of FIG. 1;

도 3은 본 발명의 바람직한 실시예에 따른 재생장치의 블록도,3 is a block diagram of a playback apparatus according to a preferred embodiment of the present invention;

도 4a는 DVD(300)의 파일 구조의 일 예를 도시한 참고도,4A is a reference diagram illustrating an example of a file structure of a DVD 300;

도 4b는 DVD(300)의 파일 구조의 다른 예를 도시한 참고도,4B is a reference diagram showing another example of the file structure of the DVD 300;

도 5a는 DVD(300)의 볼륨 공간(Volume Space)의 일 개략도,5A is a schematic diagram of a volume space of the DVD 300,

도 5b는 DVD(300)의 볼륨 공간(Volume Space)의 다른 개략도,5B is another schematic diagram of a volume space of the DVD 300;

도 6은 본 발명에 따른 프리로드 방식을 사용자 인터페이스 관점에서 설명하기 위한 참고도,6 is a reference diagram for explaining a preloading method according to the present invention from a user interface perspective;

도 7은 본 발명의 바람직한 실시예에 따른 재생방법을 설명하기 위한 플로우챠트,7 is a flowchart illustrating a reproducing method according to a preferred embodiment of the present invention;

도 8은 도 7의 프리로드 정보 해석단계(702단계)의 일 구현예,8 is an example of implementation of the preload information interpretation step 702 of FIG.

도 9는 도 7의 프리로드 대상 파일의 프리로드 실행단계(703단계)의 일 구현예,FIG. 9 is an embodiment of a preload execution step (703) of the preload target file of FIG.

도 10a는 도 7의 프리로드 대상 파일의 프리로드 실행단계(703단계)의 다른 구현예,FIG. 10A illustrates another implementation of the preload execution step (703) of the preload target file of FIG. 7; FIG.

도 10b는 도 7의 프리로드 대상 파일의 프리로드 실행단계(703단계)의 또 다른 구현예,FIG. 10B is another embodiment of the preload execution step (703) of the preload target file of FIG.

도 11은 프리로드 리스트 파일에 프리로드 대상 파일의 크기가 포함되어 있을 경우 프리로드하는 방법을 설명하기 위한 플로우챠트,11 is a flowchart for explaining a method of preloading when a size of a preload target file is included in a preload list file;

도 12는 프리로드된 프리로드 대상 파일 중 적어도 하나를 삭제하는 방법을 설명하기 위한 플로우챠트,12 is a flowchart for describing a method of deleting at least one of preloaded preloaded files;

도 13은 도 12의 삭제 실행단계(1202단계)의 일 구현예,FIG. 13 is an embodiment of a delete execution step (1202) of FIG. 12; FIG.

도 14는 도 1과 동일한 순서로 AV 데이터 및 마크업 문서가 기록되어 있을 때 본 발명에 따른 프리로드 수행에 의한 효과를 설명하기 위한 참고도,14 is a reference diagram for explaining an effect of performing preloading according to the present invention when AV data and markup documents are recorded in the same order as in FIG. 1;

도 15는 도 3의 재생장치의 일부 상세도,15 is a partial detailed view of the playback device of FIG. 3;

도 16 내지 17a, 17b, 17c, 17d, 17e, 17f는 프리로드/삭제 또는 가비지 콜렉션을 통해 메모리 관리 테이블(31)과 데이터 공간(32)을 관리하는 방법을 설명하기 위한 메모리 맵,16 to 17A, 17B, 17C, 17D, 17E, and 17F are memory maps for explaining a method of managing the memory management table 31 and the data space 32 through preload / delete or garbage collection;

도 18은 제1 메모리(2)에서 AV 데이터가 로드되고 소모되는 상태도,18 is a state diagram in which AV data is loaded and consumed in the first memory 2,

도 19는 프리로드 리스트 파일 및 해당 프리로드 대상 파일의 데이터 배치도(data alignment),19 is a data alignment diagram of a preload list file and a corresponding preload target file,

도 20a는 디스크의 개략도이고, 도 20b는 도 20a의 부분 상세도,20A is a schematic view of the disc, FIG. 20B is a partial detail view of FIG. 20A,

도 21은 전술한 예에 따른 제1 메모리(2)와 제2 메모리(3)의 상태도,21 is a state diagram of the first memory 2 and the second memory 3 according to the above-described example;

도 22는 본 발명의 바람직한 실시예에 따른 기록방법을 설명하기 위한 플로우챠트이다.22 is a flowchart for explaining a recording method according to a preferred embodiment of the present invention.

본 발명은 프리로드 정보가 기록된 정보저장매체, 그 재생장치 및 재생방법에 관한 것으로, 보다 상세하게는 컨텐츠와 함께, 프리로드 정보를 갖는 마크업 문서가 기록된 정보저장매체, 그 재생장치 및 재생방법에 관한 것이다.The present invention relates to an information storage medium having preload information recorded therein, a reproduction apparatus and a reproduction method thereof. More particularly, the present invention relates to an information storage medium having a markup document having preload information together with contents, and a reproduction device thereof. It relates to a regeneration method.

컨텐츠와 함께 마크업 문서가 기록된 DVD(이하 "인터렉티브 DVD"라 함)가 판매되고 있다. 인터렉티브 DVD에 기록된 컨텐츠는 두 가지 방법으로 재생될 수 있다. 하나는 일반 DVD와 동일하게 디스플레이되는 비디오 모드이고, 다른 하나는 마크업 문서에 매립되어 디스플레이되는 인터렉티브 모드이다. 사용자에 의해 인터렉티브 모드가 선택되면 PC에 탑재된 웹브라우저는 인터렉티브 DVD에 기록되어 있는 마크업 문서를 디스플레이한다. 마크업 문서에 의해 정의되는 표시창에는 사용자가 선택한 컨텐츠가 표시된다.DVDs having recorded markup documents together with contents (hereinafter referred to as "interactive DVD") are sold. Content recorded on an interactive DVD can be played back in two ways. One is a video mode displayed like a normal DVD, and the other is an interactive mode displayed embedded in a markup document. When the interactive mode is selected by the user, the web browser mounted on the PC displays the markup document recorded on the interactive DVD. The content selected by the user is displayed on the display window defined by the markup document.

예를 들어, 컨텐츠가 AV 데이터인 영화일 경우 마크업 문서의 표시창에는 영화가 상영되고 나머지 부분에는 대본, 줄거리, 출연배우의 사진, 등 다양한 부가정보가 표시될 수 있다. 부가정보는 이미지파일 또는 텍스트파일을 포함한다.For example, when the content is a movie having AV data, the movie may be displayed on the display window of the markup document, and various additional information such as a script, a storyline, a photograph of the actor, and the like may be displayed on the remaining part. The additional information includes an image file or a text file.

도 1은 AV 데이터가 기록된 인터렉티브 DVD의 개략도이다.1 is a schematic diagram of an interactive DVD in which AV data is recorded.

도 1을 참조하면, 인터렉티브 DVD의 트랙에는 AV 데이터가 MPEG 비트스트림으로 기록되어 있고 복수개의 마크업 문서가 기록되어 있다. 여기서, 마크업 문서는 마크업 문서에 삽입되는 다양한 이미지 파일, 그래픽 파일 등을 망라한 마크업 리소스(resource)를 의미한다.Referring to Fig. 1, AV data is recorded in an MPEG bitstream and a plurality of markup documents are recorded in a track of an interactive DVD. Here, the markup document refers to a markup resource including various image files, graphic files, and the like inserted into the markup document.

도 2는 도 1의 인터렉티브 DVD를 재생하는 과정에서 발생될 수 있는 끊김현상을 설명하기 위한 참고도이다.FIG. 2 is a reference diagram for describing a disconnection phenomenon that may occur in the process of playing the interactive DVD of FIG. 1.

도 2를 참조하면, AV 데이터가 버퍼링되는 버퍼 메모리의 상태(occupancy)와 마크업 리소스가 캐싱되는 캐시 메모리의 상태가 표시되어 있다. 도 1과 도 2를 참조하여 AV 데이터가 메모리에 로드되어 디스플레이되는 과정을 살펴보면, 픽업장치는 STARTUP.HTM을 탐색하고 독출하여 캐시 메모리에 로드한다. 로드된 STARTUP.HTM은 활성화된다. 이와 동시에 사용자의 선택에 따른 ① AV 데이터가 버퍼 메모리로 로드된 다음 디스플레이되기 시작한다. 이어서 ② AV 데이터가 로드되어 디스플레이된다. ② AV 데이터의 버퍼링이 완료되면 픽업장치는 ③ AV 데이터가 기록된 위치로 점프하여 버퍼링을 시작한다. 이 때, 사용자가 ④ A.HTM를 요구하면 픽업장치는 ③ AV 데이터에 대한 버퍼링을 중단하고 ④ A.HTM을 탐색하여 캐시 메모리로 로드한다. 그 동안에도 ③ AV 데이터는 계속 디스플레이되기 때문에 버퍼 메모리에 로드되어 디스플레이가능한 데이터는 급격히 줄어들게 된다. ④ A.HTM이 활성화되고 ③ AV 데이터의 버퍼링이 완료된 다음 이어서 ⑤ AV 데이터를 버퍼링한다. ⑤ AV 데이터의 버퍼링이 완료되면 픽업장치는 ⑥ AV 데이터가 기록된 위치로 점프한다. 이와 같은 경우, 버퍼링되어 있던 데이터가 모두 소진되는 현상이 발생할 수 있다. 즉, 종래 인터렉티브-DVD에 있어서, DVD-Video의 영상과 마크업 문서가 서로 동기되어 보여져야 할 경우(예: 특정 배우가 등장하면 그 배우에 대한 약력이 표시되는 경우) 픽업장치는 AV 데이터의 버퍼링을 중단하고 대응 마크업 문서를 탐색하여 캐싱해야 하기 때문에 영상이 갑자기 끊어지는 현상이 발생될 수 있다.Referring to FIG. 2, the state of the buffer memory in which the AV data is buffered and the state of the cache memory in which markup resources are cached are displayed. Referring to FIGS. 1 and 2, the AV data is loaded into the memory and displayed, and the pickup apparatus searches for, reads, and loads STARTUP.HTM into the cache memory. The loaded STARTUP.HTM is activated. At the same time, ① AV data according to the user's selection is loaded into the buffer memory and then started to be displayed. ② AV data is then loaded and displayed. When the buffering of the AV data is completed, the pickup device jumps to the position where the AV data is recorded and starts buffering. At this time, if the user requests ④ A.HTM, the pickup device stops buffering 3 AV data and searches ④ A.HTM and loads it into the cache memory. In the meantime, since AV data is continuously displayed, the data that can be loaded and displayed in the buffer memory is drastically reduced. ④ A.HTM is activated, ③ AV data is buffered, and then ⑤ AV data is buffered. When the buffering of the AV data is completed, the pickup device jumps to the position where the AV data is recorded. In this case, a phenomenon may occur that all the buffered data is exhausted. That is, in the conventional interactive DVD, when the image of the DVD-Video and the markup document are to be viewed in synchronization with each other (for example, when a specific actor appears, a bio about the actor is displayed), the pickup apparatus is used to display the AV data. The image may be suddenly broken because the buffering must be stopped and the corresponding markup document must be searched and cached.

따라서, 본 발명의 목적은 마크업 문서에 의해 정의된 표시창에 소정 컨텐츠를 재생하는 경우 끊김현상이 발생되지 않도록 하는 정보저장매체, 그 재생장치 및 재생방법을 제공하는 것이다.Accordingly, an object of the present invention is to provide an information storage medium, a reproducing apparatus, and a reproducing method, in which a disconnection phenomenon does not occur when a predetermined content is reproduced on a display window defined by a markup document.

본 발명의 다른 목적은 마크업 문서를 통해 소정 컨텐츠를 재생하는 경우 끊김현상이 발생되지 않도록, 동기되어 재생되어야 할 소정 마크업 문서가 캐시 메모리에 로드되거나 캐시 메모리로부터 삭제되도록 하는 마크업 문서가 기록된 정보저장매체, 그 재생장치 및 재생방법을 제공하는 것이다.Another object of the present invention is to record a markup document such that a predetermined markup document to be reproduced is loaded into the cache memory or deleted from the cache memory so that a truncation does not occur when the predetermined content is reproduced through the markup document. To provide an information storage medium, a reproducing apparatus and a reproducing method thereof.

본 발명의 또 다른 목적은 마크업 문서에 의해 정의된 표시창에 소정 컨텐츠를 재생하는 경우 끊김현상이 발생되지 않도록 프리로드 대상 파일에 대한 속성정보를 미리 제공함으로써 보다 효율적으로 프리로드할 수 있게 해주는 정보저장매체, 그 재생장치 및 재생방법을 제공하는 것이다.Still another object of the present invention is to provide information that can be preloaded more efficiently by providing attribute information on a preload target file in advance so that a disconnection does not occur when playing predetermined content on a display window defined by a markup document. A storage medium, a reproducing apparatus and a reproducing method thereof are provided.

본 발명의 또 다른 목적은 컨텐츠의 재생 중 프리로드를 수행하더라도 메모리에 남아있는 데이터가 부족한 상황이 발생되지 않도록 보장하기 위한 방법을 제공하는 것이다.It is still another object of the present invention to provide a method for ensuring that a situation in which the data remaining in the memory is insufficient even when preloading is performed during the reproduction of the content does not occur.

본 발명의 또 다른 목적은 안정적인 프리로드 및 삭제가 수행되도록 메모리 를 관리하는 방법을 제공하는 것이다.Yet another object of the present invention is to provide a method of managing a memory so that stable preloading and erasing is performed.

상기 목적은 본 발명에 따라, 오디오 및/또는 비디오 데이터를 포함하는 AV 데이터; 및 디코딩되어 재생된 상기 AV 데이터를 디스플레이하고, 심리스 재생이 보장되는 AV 데이터에 대한 프리로드 대상 파일을 독출하여 메모리에 저장할 것을 명령하는 프리로드 정보가 삽입되어 있는 마크업 문서를 포함하며, 프리로드 대상 파일은 컨텐츠 데이터가 디스플레이될 경우 동기되어 재생되거나 또는 사용자의 요구에 의해 재생되어야 할 파일임을 특징으로 하는 정보저장매체에 의해 달성된다.The object is, in accordance with the invention, an AV data comprising audio and / or video data; And a markup document that displays the decoded and reproduced AV data and has preload information inserted therein for instructing to read and store in the memory a preload target file for AV data that is guaranteed to be seamlessly reproduced. The target file is achieved by an information storage medium, characterized in that the file to be reproduced in synchronization with the content data or to be reproduced at the request of the user.

상기 정보저장매체는 상기 AV 데이터에 대한 네비게이션 데이터를 더 포함하고, 상기 AV 데이터는 상기 네비게이션 데이터를 참조하여 AV 데이터 스트림으로 디코딩되는 것이 바람직하다.The information storage medium further includes navigation data for the AV data, wherein the AV data is decoded into an AV data stream with reference to the navigation data.

상기 프리로드 대상 파일이 기록된 프리로드 리스트 파일, 및 적어도 하나의 상기 프리로드 대상 파일을 더 포함하는 것이 효과적이다.It is effective to further include a preload list file in which the preload target file is recorded, and at least one preload target file.

상기 프리로드 정보는 상기 프리로드 리스트 파일의 위치정보가 기록되어 있으며 헤드 태그 내에 삽입되는 링크 태그로 구현되거나, 상기 프리로드 리스트 파일의 위치정보 및 속성을 매개변수로 갖는 API(Application Program Interface)로 구현되는 것이 바람직하다. 또한, 상기 프리로드 리스트 파일에는 상기 프리로드 대상 파일의 위치정보 및 속성이 기록되어 있다.The preload information may be implemented as a link tag in which position information of the preload list file is recorded and inserted into a head tag, or as an API (Application Program Interface) having position information and attributes of the preload list file as parameters. It is preferred to be implemented. The preload list file records the location information and the attributes of the preload target file.

또한, 상기 목적은 오디오 데이터 또는 비디오 데이터를 포함하는 AV 데이터; 및 디코딩되어 AV 데이터 스트림으로 재생된 상기 AV 데이터를 디스플레이하고, 심리스 재생이 보장되는 AV 데이터에 대한 프리로드 대상 파일을 독출하여 메 모리에 저장할 것을 명령하는 프리로드 정보가 삽입되어 있는 마크업 문서를 포함하는 것을 특징으로 하는 정보저장매체에 의해서도 달성된다.The object may also include AV data comprising audio data or video data; And a markup document in which the preload information is inserted which instructs to display the AV data decoded and reproduced in the AV data stream, and to read and store in the memory a preload target file for AV data guaranteed to be seamlessly reproduced. It is also achieved by an information storage medium, characterized in that it comprises.

상기 프리로드 정보는 상기 프리로드 리스트 파일의 위치정보 및 속성을 매개변수로 갖는 API(Application Program Interface)로 구현되며, 상기 위치정보는 상기 프리로드 리스트 파일의 경로로 표시되고, 상기 경로에는 상기 메모리, 상기 정보저장매체, 인터넷 서버 중 어느 하나를 가리키는 리소스 로케이터가 부가되어 있는 것이 바람직하다.The preload information is implemented as an application program interface (API) having location information and attributes of the preload list file as parameters, and the location information is represented by a path of the preload list file, and the memory is included in the path. Preferably, a resource locator indicating any one of the information storage medium and the Internet server is added.

나아가, 상기 마크업 문서는 삭제 리스트가 기록된 삭제 리스트 파일; 및 상기 삭제 리스트에 기록된 삭제 대상 파일을 상기 메모리로부터 삭제할 것을 명령하는 삭제 정보를 더 포함하는 것이 효과적이다.Further, the markup document may include a deletion list file in which a deletion list is recorded; And deletion information for instructing deletion of the deletion target file recorded in the deletion list from the memory.

한편, 본 발명의 다른 분야에 따르면 상기 목적은 정보저장매체에 기록된 AV 데이터를 인터렉티브 모드로 재생하는 방법에 있어서, (a) 독출된 마크업 문서에 포함된 프리로드 정보를 해석하는 단계; (b) 해석된 프리로드 정보에 따른, 심리스 재생이 보장되는 AV 데이터에 대한 프리로드 대상 파일을 호출하여 캐시 메모리에 저장하는 단계; (c) 상기 AV 데이터를 독출하여 버퍼 메모리에 저장하는 단계; 및 (d) 상기 버퍼 메모리로부터 상기 AV 데이터를 독출하고, 상기 캐시 메모리로부터 상기 프리로드 대상 파일을 독출하여 인터렉티브 모드로 재생하는 단계를 포함하는 것을 특징으로 하는 재생방법에 의해서도 달성된다.According to another aspect of the present invention, the above object is a method for reproducing AV data recorded on an information storage medium in an interactive mode, comprising: (a) interpreting preload information included in a read markup document; (b) calling a preload target file for AV data guaranteed to seamless playback according to the analyzed preload information and storing it in a cache memory; (c) reading the AV data and storing the AV data in a buffer memory; And (d) reading the AV data from the buffer memory, reading the preload target file from the cache memory, and playing the file in an interactive mode.

상기 (a)단계는 (a1) 프리로드 대상 파일의 경로 및 속성을 파악하는 단계임이 바람직하며, 상기 (a1)단계는 헤드 태그 내에 있는 링크 태그 내에 기록된 상기 프리로드 리스트 파일의 경로를 인식하는 단계임이 더욱 바람직하다.Preferably, the step (a) is to identify the path and attributes of the preload target file (a1), and the step (a1) recognizes the path of the preload list file recorded in the link tag in the head tag. More preferably.

상기 (b)단계는 (b1) 파악된 경로로부터 상기 프리로드 대상 파일을 독출하는 단계; 및 (b2) 독출된 프리로드 대상 파일을 파악된 속성에 따라 처리하여 저장하는 단계를 포함하는 것이 특히 바람직하다.Step (b) may include: (b1) reading the preload target file from the identified path; And (b2) processing and storing the read preload target file according to the identified attribute.

한편, 본 발명의 다른 분야에 따르면 상기 목적은 정보저장매체에 기록된 AV 데이터를 인터렉티브 모드로 재생하는 장치에 있어서, 마크업 문서 또는 AV 데이터를 독출하는 독출부; 수신된 프리로드 대상 파일 또는 AV 데이터를 저장하는 메모리; 상기 메모리에 저장된 AV 데이터를 디코딩하는 AV 디코더; 및 독출된 마크업 문서에 포함된 프리로드 정보를 해석하여 해석된, 심리스 재생이 보장되는 AV 데이터에 대한 프리로드 정보에 따른 프리로드 대상 파일이 먼저 상기 메모리에 저장되도록 요청하고 나서, 상기 AV 데이터가 독출되어 상기 메모리에 저장되도록 요청하고, 상기 메모리로부터 상기 프리로드 대상 파일을 독출하여 상기 AV 디코더로부터 출력된 AV 데이터와 함께 디스플레이하는 프리젠테이션 엔진을 포함하는 것을 특징으로 하는 재생장치에 의해서도 달성된다.According to another aspect of the present invention, an object of the present invention is to provide an interactive mode for reproducing AV data recorded on an information storage medium, the apparatus comprising: a reading unit configured to read a markup document or AV data; A memory for storing the received preload target file or AV data; An AV decoder for decoding AV data stored in the memory; And requesting that a preload target file according to preload information for seamlessly guaranteed AV data, which is interpreted by interpreting preload information included in the read markup document, to be first stored in the memory, and then the AV data. And a presentation engine for requesting that is read and stored in the memory, and reading the preload target file from the memory and displaying the file with the AV data output from the AV decoder. .

상기 메모리는 상기 AV 데이터를 저장하는 버퍼 메모리; 및 상기 프리로드 대상 파일을 저장하는 캐시 메모리를 포함한다.The memory includes a buffer memory for storing the AV data; And a cache memory for storing the preload target file.

상기 프리젠테이션 엔진은 상기 프리로드 정보에 기초하여 프리로드 대상 파일의 경로 및 속성을 파악하고 파악된 경로로부터 프리로드 대상 파일을 호출한 다음 상기 속성에 대응되도록 상기 캐시 메모리에 저장하는 것이 바람직하다.The presentation engine may determine a path and an attribute of a preload target file based on the preload information, call a preload target file from the identified path, and store the preload target file in the cache memory so as to correspond to the attribute.

상기 프리젠테이션 엔진은 상기 독출부 또는 인터넷 서버로 상기 프리로드 대상 파일을 요청하고, 상기 프리젠테이션 엔진은 상기 캐시 메모리의 잔여공간의 크기와 상기 프리로드 대상 파일의 크기를 비교하여 상기 캐시 메모리의 잔여공간의 크기가 더 작을 경우 에러이벤트를 발생시키며, 상기 프리젠테이션 엔진은 상기 프리로드 리스트 파일의 경로에 상기 캐시 메모리를 가리키는 리소스 로케이터가 부가되어 있는 경우 상기 캐시 메모리로 대응 프리로드 대상 파일을 요청하고 상기 캐시 메모리에 상기 프리로드 대상 파일이 존재하지 않을 경우 에러이벤트를 발생시킨다.The presentation engine requests the preload target file from the reader or the Internet server, and the presentation engine compares the size of the remaining space of the cache memory with the size of the preload target file to determine the remaining size of the cache memory. If the size of the space is smaller, an error event is generated. When the resource locator pointing to the cache memory is added to the path of the preload list file, the presentation engine requests a corresponding preload target file from the cache memory. If the preload target file does not exist in the cache memory, an error event is generated.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 프리로드를 수행하는 방법에 있어서, (a) 프리로드 대상 파일의 독출 속도를 알아내는 단계; (b) 대응 AV 데이터가 끊기지 않고 재생되도록 버퍼링이 수행되기 위한 조건을 알아내는 단계; 및 (c) 알아낸 조건에 부합하는 시점에서 프리로드를 수행하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.On the other hand, according to another field of the present invention, the above object is a method for performing a preload, (a) finding a read speed of the preload target file; (b) finding a condition for buffering to be performed so that the corresponding AV data is reproduced without interruption; And (c) performing a preload at a point in time meeting the found condition.

또한, 정보저장매체에 데이터를 기록하는 방법에 있어서, (a) 프리로드 대상 파일을 기록하는 단계; (b) 기록된 프리로드 대상 파일의 독출 속도를 알아내는 단계; (c) 대응 AV 데이터가 끊기지 않고 재생되도록 버퍼링이 수행되기 위한 조건을 알아내는 단계; 및 (d) 알아낸 조건에 부합하는 시점에서 프리로드가 수행되기 위한 소스 코드를 기록하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.A method of recording data on an information storage medium, the method comprising: (a) recording a preload target file; (b) finding a read speed of the recorded preload target file; (c) finding a condition for buffering to be performed so that the corresponding AV data is reproduced without interruption; And (d) recording source code for preloading to be performed at a time point that satisfies the determined condition.

또한, 프리로드를 위한 메모리 관리방법에 있어서, (a) 프리로드 대상 파일의 상태 정보가 포함된 메모리 관리 테이블을 기록하는 단계; 및 (b) 상기 상태 정 보를 기초로 상기 프리로드 대상 파일을 삭제하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.Also, a memory management method for preloading, the method comprising: (a) recording a memory management table including state information of a preload target file; And (b) deleting the preload target file based on the state information.

상기 프리로드를 위한 메모리 관리방법은 (c) 상기 상태 정보를 기초로 상기 프리로드 대상 파일에 대한 가비지 콜렉션을 수행하는 단계를 더 포함하는 것이 바람직하다.The memory management method for preloading may further include (c) performing garbage collection on the preload target file based on the state information.

상기 (b)단계는 해당 프리로드 대상 파일에 대한 사용이 완료되면 사용 중이 아님과 삭제가능함을 상기 상태 정보로서 표시하는 단계를 포함하는 것이 바람직하다.The step (b) preferably includes displaying as status information that the file is not in use and can be deleted when the preload target file is completed.

상기 (c)단계는 (c1) 해당 프리로드 대상 파일이 사용 중이 아니고 삭제가능한 경우 해당 프리로드 대상 파일을 물리적으로 삭제하는 단계; 및 (c2) 삭제된 프리로드 대상 파일이 삭제되어 존재하지 않음을 상기 상태 정보로서 표시하는 단계를 포함하는 것이 바람직하고, (c3) 메모리에 기록된 다른 프리로드 대상 파일을 재배열하는 단계를 포함하는 것이 더욱 바람직하다.Step (c) may include: (c1) physically deleting the preload target file if the preload target file is not in use and can be deleted; And (c2) indicating that the deleted preload target file is deleted and does not exist, and (c3) rearranging another preload target file recorded in the memory. More preferably.

이하, 첨부된 도면을 참조하여 본 발명 바람직한 실시예를 상세히 설명한다. 본 명세서에서 「마크업 문서」는 마크업 문서는 물론 마크업 문서에 삽입되거나 링크되는 파일을 망라하는 마크업 리소스(resource)를 의미한다. 나아가, 「~.HTM」는 HTML 뿐 아니라 웹브라우저에 의해 표시될 수 있는 XML, SGML 등의 마크업언어로 작성된 문서를 가리키는 의미로 사용된다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. As used herein, a "markup document" refers to a markup resource that covers not only a markup document but also a file inserted or linked to the markup document. Further, "~ .HTM" is used to mean a document written in markup languages such as XML and SGML that can be displayed by a web browser as well as HTML.

도 3은 본 발명의 바람직한 실시예에 따른 재생장치의 블록도이다.3 is a block diagram of a playback apparatus according to a preferred embodiment of the present invention.

도 3을 참조하면, 재생장치는 본 실시예에 따른 DVD(300)에 기록된 AV 데이 터를 디코딩하여 AV 데이터 스트림으로 재생한 다음 마크업 문서에 의해 정의되는 표시창을 통해 디스플레이할 수 있는 인터렉티브 모드를 지원하는 장치로서, 독출부(1), 제1 메모리(2), 제2 메모리(3), AV 디코더(4), 및 프리젠테이션 엔진(5)을 포함한다. 인터렉티브 모드에서 디스플레이되는 화면은 인터렉티브 화면으로, 마크업 화면에 AV 화면이 매립된 화면을 가리킨다. 마크업 화면은 마크업 문서가 디스플레이된 화면이고 AV 화면은 AV 데이터가 재생되어 얻어지는 화면을 말한다.Referring to FIG. 3, the playback apparatus can decode and reproduce AV data recorded on the DVD 300 according to the present embodiment as an AV data stream, and then display it through a display window defined by a markup document. A device supporting the apparatus includes a reader 1, a first memory 2, a second memory 3, an AV decoder 4, and a presentation engine 5. The screen displayed in the interactive mode is an interactive screen, and refers to a screen in which an AV screen is embedded in the markup screen. The markup screen is a screen on which a markup document is displayed, and the AV screen is a screen obtained by reproducing AV data.

프리젠테이션 엔진(5)은 후술하는 바와 같이 링크 태그, 자바스크립트(JavaScript) API(Application Program Interface) 또는 자바 애플릿(Java applet) API로 구현된 프리로드 정보 또는 자바스크립트 API 또는 자바 애플릿 API로 구현된 삭제 정보가 해석되어 실행될 수 있도록 링크 태그의 확장, 자바스크립트, 또는 자바 애플릿을 지원한다.As described below, the presentation engine 5 may include preload information implemented by a link tag, a JavaScript application program interface, or a Java applet API, or a JavaScript API or a Java applet API. It supports link tag extensions, JavaScript, or Java applets so that delete information can be interpreted and executed.

독출부(1)는 DVD(300)로부터 마크업 문서 또는 AV 데이터를 독출한다. 제1 메모리(2)는 버퍼 메모리로서 독출부(1)에 의해 독출된 AV 데이터를 버퍼링한다. 제2 메모리(3)는 캐시 메모리로서 수신된 프리로드 대상 파일을 캐싱한다. AV 디코더(4)는 제1 메모리(2)에 저장된 AV 데이터를 디코딩하여 AV 데이터 스트림을 출력한다. 프리젠테이션 엔진(5)은 독출된 마크업 문서에 포함된 프리로드 정보를 해석하고, 해석된 프리로드 정보에 따라 제2 메모리(3)에 프리로드되도록 독출부(1) 또는 인터넷 서버(도시되지 않음)로 프리로드 대상 파일을 요청한다. 또한, 프리로드 대상 파일이 AV 데이터와 동기되어 디스플레이되어야 할 경우 그 프리로드 대상 파일을 제2 메모리(3)로부터 독출하여 AV 디코더(4)로부터 출력된 AV 데이터 스트림과 함께 디스플레이되도록 한다. 또한, 삭제 정보를 해석하여 삭제 대상 파일을 제2 메모리(3)로부터 삭제한다.The reading unit 1 reads markup documents or AV data from the DVD 300. The first memory 2 buffers the AV data read by the reading unit 1 as a buffer memory. The second memory 3 caches the preload target file received as cache memory. The AV decoder 4 decodes the AV data stored in the first memory 2 and outputs an AV data stream. The presentation engine 5 interprets the preload information included in the read markup document and reads the read unit 1 or the Internet server (not shown) to be preloaded in the second memory 3 according to the interpreted preload information. Request a preload target file. When the preload target file is to be displayed in synchronization with the AV data, the preload target file is read from the second memory 3 so as to be displayed together with the AV data stream output from the AV decoder 4. Further, the deletion information is analyzed and the file to be deleted is deleted from the second memory 3.

본 실시예에 따른 DVD(300)에는 오디오 데이터 또는 비디오 데이터를 포함하는 AV 데이터가 기록되어 있는 한편, 프리로드 정보 및/또는 삭제 정보가 포함된 마크업 문서가 기록되어 있다. 나아가, 프리로드 리스트 파일 및/또는 삭제 리스트 파일이 더 기록될 수 있다.In the DVD 300 according to the present embodiment, AV data including audio data or video data is recorded, while a markup document including preload information and / or deletion information is recorded. Furthermore, the preload list file and / or the delete list file can be further recorded.

프리로드 리스트 파일에는 프리로드되어야 할 파일의 명칭이 나열된 프리로드 리스트 및 각 프리로드 대상 파일을 저장하기 위해 필요한 메모리의 크기정보가 기록되어 있다. 프리로드 대상 파일은 대응 AV 데이터가 디스플레이될 경우 동기되어 재생되거나 또는 사용자의 요구에 의해 재생되어야 할 마크업 문서로서 본 실시예에 따라 DVD(300)에 기록되어 있다. 다만, 프리로드 대상 파일은 인터넷을 통해 접속가능한 인터넷 서버에 저장되어 있을 수 있다.In the preload list file, a preload list in which file names to be preloaded are listed and memory size information necessary for storing each preload target file are recorded. The preload target file is recorded on the DVD 300 according to the present embodiment as a markup document to be reproduced in synchronization when the corresponding AV data is displayed or to be reproduced at the request of the user. However, the preload target file may be stored in an internet server accessible through the internet.

본 발명에 따른 「프리로드 정보」는 프리로드 대상 파일을 독출하여 캐시 메모리에 저장할 것을 명령하는 정보이다. 프리로드 정보는 일 예로, 프리로드 리스트 파일의 경로 및/또는 속성이 삽입되어 있는 링크 태그로 구현될 수 있다. 이때 링크 태그는 헤드 태그 내에 삽입된다. 다른 예로, 프리로드 리스트 파일의 경로 및/또는 속성을 매개변수로 가지며 프리로드 리스트 파일을 호출하는 자바스크립트 API 또는 자바 애플릿 API로 구현된다. 또 다른 예로, 직접 프리로드 대상 파일의 경로 및/속성을 매개변수로 가지며 프리로드 대상 파일을 호출하는 자바스크립트 API 또는 자바 애플릿 API로 구현된다. 이 경우 프리로드 리스트 파일은 존재하지 않는다."Preload information" according to the present invention is information for instructing a preload target file to be read and stored in a cache memory. For example, the preload information may be implemented as a link tag in which a path and / or an attribute of the preload list file is inserted. At this time, the link tag is inserted in the head tag. As another example, it is implemented as a JavaScript API or Java Applet API that takes the path and / or attributes of the preload list file as a parameter and calls the preload list file. As another example, it is implemented as a JavaScript API or Java Applet API that takes the path and / or attributes of the preload target file directly and calls the preload target file. In this case, there is no preload list file.

속성(attribute or property)은 일종의 MIME(Multi-Purpose Internet Mail Extensions) 헤더와 같은 역할을 하는 정보이다. 즉, 속성은 프리로드 대상 파일의 데이터 구조를 알려준다. 데이터 구조를 알면 보다 효율적으로 그 파일을 처리할 수 있다. 가령, 웹 파일인 경우 프리로드할 때 태그들을 미리 해석해두면 이후 파일분석절차를 밟지 않고서 곧바로 해당 파일을 디스플레이할 수 있다. 이미지파일인 경우 프리로드할 때 헤더 정보를 제거하고 저장할 수 있다. 이는 메모리 공간을 효율적으로 이용하게 해주며 해당 파일에 대한 탐색속도를 개선하게 해준다. audio 파일인 경우 프리로드 할 때 보다 높은 속도(rate)로 리샘플링하여 저장할 수 있다. 폰트 파일인 경우 필요한 폰트 리소스만을 추출하여 저장할 수 있다. 이처럼 프리로드 대상 파일의 속성을 파악하면 보다 효율적으로 유연하게 프리로드를 실행할 수 있다.An attribute or property is information that acts as a sort of Multi-Purpose Internet Mail Extensions (MIME) header. In other words, the property informs the data structure of the preload target file. Knowing the data structure allows you to process the file more efficiently. For example, in the case of a web file, if the tags are interpreted in advance when preloading, the file can be displayed immediately without going through the file analysis procedure. In case of image file, header information can be removed and saved when preloading. This makes efficient use of the memory space and speeds up the search for the file. Audio files can be resampled and saved at a higher rate when preloaded. In the case of font files, only necessary font resources can be extracted and stored. By knowing the attributes of the preload target file, you can execute the preload more flexibly and efficiently.

경로는 해당 파일이 기록된 위치를 알려준다. 프리로드 리스트 파일 및 프리로드 대상 파일의 경로에는 리소스 로케이터(Resource Locator)가 부가될 수 있다. 실제로, 마크업 리소스는 DVD(300)에 기록되어 있거나 제2 메모리(3)에 캐시되어 있거나 인터넷을 통해 연결가능한 서버에 존재할 수 있다. 따라서, 리소스 로케이터는 DVD(300)를 가리키는 DVD 리소스 로케이터, 제2 메모리(3)를 가리키는 캐시 리소스 로케이터, 및 인터넷 서버를 가리키는 인터넷 리소스 로케이터로 구분된다. 리소스 로케이터들은 언급된 순서대로 다음과 같이 표시될 수 있다.The path tells you where the file was written. A resource locator may be added to the paths of the preload list file and the preload target file. Indeed, the markup resource may reside in a server that is recorded in the DVD 300 or cached in the second memory 3 or connectable via the Internet. Thus, the resource locator is divided into a DVD resource locator pointing to the DVD 300, a cache resource locator pointing to the second memory 3, and an internet resource locator pointing to the Internet server. Resource locators may be indicated as follows in the order mentioned.

disk0://disk0: //

lid://lid: //

http://http: //

따라서, DVD(300)에 기록되어 있는 프리로드 대상 파일 A.HTM을 호출할 경우 사용되는 경로는 disk0://DVD_ENAV/A.HTM으로 표시되며, 제2 메모리(3)에 캐시되어 있는 프리로드 대상 파일 A.HTM을 호출할 경우 lid://DVD_ENAV/A.HTM로 표시되며, 인터넷 서버에 저장되어 있는 프리로드 대상 파일 A.HTM을 호출할 경우 http://www.samsung.com/DVD_ENAV/A.HTM로 표시된다. 나아가, 여러개의 DVD(300)가 로딩될 경우 DVD 각각의 리소스 로케이터는 disk0://(또는 dvd://), disk1://, disk2://, disk3://, ‥으로 표시될 수 있다.Therefore, the path used when the preload target file A.HTM recorded in the DVD 300 is called is indicated by disk0: //DVD_ENAV/A.HTM, and is preloaded cached in the second memory 3. When calling the target file A.HTM, it is displayed as lid: //DVD_ENAV/A.HTM. When calling the preload target file A.HTM stored on the Internet server, http://www.samsung.com/DVD_ENAV It is displayed as /A.HTM. Furthermore, when multiple DVDs 300 are loaded, the resource locators of each DVD may be represented as disk0: // (or dvd: //), disk1: //, disk2: //, disk3: //, ... have.

프리로드 대상 파일의 위치를 나타내는 경로에 리소스 로케이터가 부가될 경우 리소스 로케이터가 가리키는 위치에 대상 파일이 존재하지 않으면 프리젠테이션 엔진(5)은 에러이벤트를 발생시키고 프리로드 작업을 종료시킨다. 그러나, 리소스 로케이터가 부가되어 있지 않을 경우에는 먼저 제2 메모리(3)가 탐색되고 제2 메모리(3)에 존재하지 않을 경우 DVD(300)가 탐색되도록 설정된다.When the resource locator is added to the path indicating the location of the preload target file If the target file does not exist at the location indicated by the resource locator, the presentation engine 5 generates an error event and terminates the preload operation. However, if no resource locator is added, the second memory 3 is searched first, and if the second memory 3 does not exist, the DVD 300 is searched.

삭제 리스트 파일에는 삭제되어야 할 파일의 위치정보(파일명 및 경로)가 나열된 삭제 리스트가 기록되어 있다. 「삭제 정보」는 삭제 대상 파일을 제2 메모리(3)로부터 삭제할 것을 명령하는 정보이다. 삭제 정보는 일 예로 삭제 리스트 파일의 위치정보를 매개변수로 가지며 삭제 리스트 파일에 기록된 삭제 대상 파일을 삭제하는 자바스크립트 API 또는 자바 애플릿 API로 구현된다. 다른 예로, 직접 삭제 대상 파일의 경로 및/또는 속성을 매개변수로 가지며 삭제 대상 파일을 삭 제하는 자바스크립트 API 또는 자바 애플릿 API로 구현된다. 이 경우 삭제 리스트 파일은 존재하지 않는다.The deletion list file records a deletion list in which location information (file name and path) of files to be deleted is listed. "Delete information" is information for instructing to delete a file to be deleted from the second memory 3. For example, the deletion information may include the location information of the deletion list file as a parameter and be implemented as a JavaScript API or a Java applet API for deleting a deletion target file recorded in the deletion list file. As another example, the path and / or attributes of the file to be deleted are directly parameterized and implemented as a JavaScript API or a Java applet API that deletes the file to be deleted. In this case, the delete list file does not exist.

도 4a 및 4b는 본 실시예에 따른 DVD(300)의 파일 구조를 도시한 참고도이다.4A and 4B are reference diagrams showing the file structure of the DVD 300 according to the present embodiment.

도 4a를 참조하면, 루트 디렉토리에는 AV 데이터가 포함된 DVD 비디오 디렉토리 VIDEO_TS와 마크업 문서 등 인터렉티브 기능을 지원하기 위한 데이터가 기록된 DVD 인터렉티브 디렉토리 DVD_ENAV가 마련되어 있다.Referring to Fig. 4A, the root directory is provided with a DVD interactive directory DVD_ENAV in which data for supporting an interactive function such as a DVD video directory VIDEO_TS containing AV data and a markup document is recorded.

VIDEO_TS에는 포함된 비디오 타이틀 전체에 대한 헤더 정보가 기록된 VIDEO_TS.IFO 및 첫 번째 비디오 타이틀에 대한 네비게이션 정보가 기록된 VTS_01_0.IFO가 기록되어 있고, 이어서 비디오 타이틀을 구성하는 AV 데이터인 VTS_01_0.VOB, VTS_01_1.VOB,‥이 기록되어 있다. 보다 상세한 구성은 DVD-Video 표준안 「DVD-Video for Read Only Memory Disc 1.0」에 개시되어 있다.VIDEO_TS records VIDEO_TS.IFO in which the header information of the entire video title is recorded, and VTS_01_0.IFO in which the navigation information for the first video title is recorded. Then, VTS_01_0.VOB, AV data constituting the video title, is recorded. VTS_01_1.VOB, ... are recorded. A more detailed configuration is disclosed in the DVD-Video standard "DVD-Video for Read Only Memory Disc 1.0".

DVD_ENAV에는 인터렉티브 정보 전체에 대한 네비게이션 정보가 기록된 DVD_ENAV.IFO 가 기록되어 있고, 시작 문서로 지정된 STARTUP.HTM이 기록되어 있으며, 본 실시예에 따른 프리로드 리스트 파일인 STARTUP.PLD가 마련되어 있다. 또한, 프리로드 대상 파일인 A.HTM, 또는 A.HTM에 삽입되어 표시되기 위한 그래픽 파일 A.PNG가 기록되어 있다. 기타 프리로드 대상 파일 및 이에 삽입되어 표시되기 위한 다양한 형식의 파일이 기록될 수 있다.In DVD_ENAV, DVD_ENAV.IFO in which navigation information for the entire interactive information is recorded is recorded, STARTUP.HTM designated as a start document is recorded, and STARTUP.PLD, which is a preload list file according to the present embodiment, is provided. In addition, A.HTM, which is a preload target file, or a graphic file A.PNG to be inserted and displayed in A.HTM, is recorded. Other preload target files and files of various formats for being inserted into and displayed therein may be recorded.

다만, 도 4b를 참조하면, 마크업 문서에 포함된 프리로드 정보가 직접 프리로드 대상 파일의 경로와 속성을 매개변수로 가지며 프리로드 대상 파일을 프리로 드하는 API로 구현되는 경우 프리로드 리스트 파일 STARTUP.PLD는 존재하지 않는다.However, referring to FIG. 4B, when the preload information included in the markup document is directly implemented as an API for preloading the preload target file with the path and attributes of the preload target file as parameters, the preload list file STARTUP.PLD does not exist.

도 5a 및 5b는 본 실시예에 따른 DVD(300)의 볼륨 공간(Volume Space)의 개략도이다.5A and 5B are schematic diagrams of a volume space of the DVD 300 according to the present embodiment.

도 5a를 참조하면, DVD(300)의 Volume Space에는 Volume과 파일에 대한 제어 정보가 기록된 제어정보 영역, 대응 비디오 타이틀 데이터가 기록된 DVD-Video 데이터 영역, 및 인터렉티브 모드로 재생될 수 있도록 하는 DVD-Interactive Data 영역을 포함한다.Referring to FIG. 5A, in the Volume Space of the DVD 300, a control information area in which control information about a volume and a file is recorded, a DVD-Video data area in which corresponding video title data is recorded, and an interactive mode can be reproduced. Contains the DVD-Interactive Data area.

DVD-Video 데이터 영역에는 도 4의 DVD 비디오 디렉토리 DVD_TS에 저장된 파일, 즉 VIDEO_TS.IFO, VTS_01_0.IFO, VTS_01_0.VOB, VTS_01_1.VOB,‥등이 기록되어 있다. DVD-Interactive 데이터 영역에는 도 4의 DVD 인터렉티브 디렉토리 DVD_ENAV에 저장된 파일, 즉 STARTUP.HTM, STARTUP.PLD, A.HTM 및 A.PNG이 기록되어 있다.In the DVD-Video data area, files stored in the DVD-Video directory DVD_TS of FIG. 4, that is, VIDEO_TS.IFO, VTS_01_0.IFO, VTS_01_0.VOB, VTS_01_1.VOB, and the like are recorded. In the DVD-Interactive data area, files stored in the DVD interactive directory DVD_ENAV in Fig. 4, that is, STARTUP.HTM, STARTUP.PLD, A.HTM and A.PNG are recorded.

마찬가지로, 도 5b를 참조하면, 마크업 문서에 포함된 프리로드 정보가 직접 프리로드 대상 파일의 경로와 속성을 매개변수로 가지며 프리로드 대상 파일을 프리로드하는 API로 구현되는 경우 프리로드 리스트 파일 STARTUP.PLD는 존재하지 않는다.Similarly, referring to FIG. 5B, when the preload information included in the markup document is directly implemented as an API that takes the path and attributes of the preload target file as parameters and preloads the preload target file, the preload list file STARTUP .PLD does not exist.

도 6은 본 발명에 따른 프리로드 방식을 인터렉티브 화면(마크업 화면과 AV 화면)의 관점에서 설명하기 위한 참고도이다.6 is a reference diagram for explaining the preloading method according to the present invention from the perspective of an interactive screen (a markup screen and an AV screen).

도 6을 참조하면, AV 데이터가 재생되어 얻어진 AV 화면이 도시되어 있고, 그 AV 데이터를 인터렉티브 모드로 재생하였을 때 디스플레이되는 인터렉티브 화면이 도시되어 있다. 인터렉티브 화면에는 AV 화면 및 마크업 화면으로 구성된다.Referring to Fig. 6, there is shown an AV screen obtained by reproducing AV data, and an interactive screen displayed when the AV data is reproduced in the interactive mode. The interactive screen is composed of an AV screen and a markup screen.

AV 데이터는 심리스(seamless) 재생이 보장되는 데이터와 그렇지 않은 데이터로 구분할 수 있다. 예를 들어, 1부, 2부, 3부로 나누어진 전쟁 영화 타이틀을 구성하는 AV 데이터가 존재할 때 1부는 전쟁 영화 타이틀을 구성하는 디폴트 부분이고 2부 및 3부는 각각 사용자의 선택에 의해 서로 다른 스토리로 전개되는 선택 부분이라고 하면 1부는 심리스 재생이 보장되는 데이터이고, 2부 및 3부는 1부의 관점에서 보면 심리스 재생이 보장되지 않는 데이터라고 부른다. 다만, 2부 또는 3부가 선택되어 재생이 되기 시작하면 2부 및 3부는 각각 심리스 재생되어야 한다. 따라서, 2부가 선택되면 2부의 입장에서 1부 및 3부는 심리스 재생이 보장되지 않는 데이터이고, 3부가 선택되면 3부의 입장에서 1부 및 2부는 심리스 재생이 보장되지 않는 데이터가 된다.The AV data can be divided into data that is guaranteed to be seamless and data that is not. For example, when there is AV data constituting a war movie title divided into 1 part, 2 parts, and 3 parts, 1 part is the default part constituting the war movie title and 2 parts and 3 parts are each different story by user's choice. The first part is data that is guaranteed to be seamlessly reproduced, and the second and third parts are called data which is not guaranteed to be seamlessly reproduced from the perspective of the first part. However, if 2 or 3 copies are selected and playback starts, 2 and 3 copies must be seamlessly played. Therefore, when the second part is selected, the first part and the third part are data for which seamless reproduction is not guaranteed from the viewpoint of the second part, and when the third part is selected, the first part and the second part are data for which the seamless reproduction is not guaranteed.

1부를 인터렉티브 모드로 재생하기 위해 필요한 마크업 문서는 STARTUP.HTM과 A.HTM이고, 2부 또는 3부를 인터렉티브 모드로 재생하기 위해 필요한 마크업 문서는 각각 OTHER1.HTM 및 OTHER2.HTM이라고 할 때, 본 발명에 따른 프리로드 정보를 기초로 프리로드되는 프리로드 대상 파일은 심리스 재생이 보장되는 AV 데이터를 인터렉티브 모드로 재생하기 위해 필요한 마크업 문서를 가리킨다. 즉, 1부가 재생될 때 프리 로드 대상 파일은 STARTUP.HTM과 A.HTM이고, 2부가 재생될 때 프리로드 대상 파일은 OTHER1.HTM이며, 3부가 재생될 때 프리로드 대상 파일은 OTHER2.HTM이다.The markup documents required to play Part 1 in interactive mode are STARTUP.HTM and A.HTM, and the markup documents required to play Part 2 or 3 in interactive mode are OTHER1.HTM and OTHER2.HTM, respectively. The preload target file to be preloaded based on the preload information according to the present invention indicates a markup document necessary for reproducing AV data for which seamless reproduction is guaranteed in the interactive mode. That is, the preload target files are STARTUP.HTM and A.HTM when one copy is played, the preload target file is OTHER1.HTM when two copies are played, and the preload target file is OTHER2.HTM when three copies are played. .

상기와 같은 구성에 의한 본 발명에 따른 재생방법을 설명하면 다음과 같다.Referring to the reproduction method according to the present invention by the above configuration as follows.

도 7은 본 발명의 바람직한 실시예에 따른 재생방법을 설명하기 위한 플로우챠트이다.7 is a flowchart for explaining a playback method according to a preferred embodiment of the present invention.

도 7을 참조하면, 인터렉티브 모드가 선택되면 독출부(1)는 DVD(300)에 기록되어 있는 마크업 문서로서 본 실시예에 따른 HTML 문서를 독출하고(701단계), 프리젠테이션 엔진(5)은 HTML 문서에 포함되어 있는 프리로드 정보를 해석하여 독출부(1) 또는 인터넷 서버로 프리로드를 요청한다(702단계). 이에, 프리로드 대상 파일이 캐시 메모리인 제2 메모리(3)에 저장된다(703단계).Referring to FIG. 7, when the interactive mode is selected, the reader 1 reads the HTML document according to the present embodiment as a markup document recorded on the DVD 300 (step 701), and the presentation engine 5 Interprets the preload information included in the HTML document and requests a preload to the reader 1 or the Internet server (step 702). Thus, the preload target file is stored in the second memory 3 which is the cache memory (step 703).

한편, 독출부(1)는 대응 AV 데이터를 DVD(300)로부터 독출하여 버퍼 메모리인 제1 메모리(2)에 저장한다(704단계). AV 디코더(4)는 제1 메모리(1)에 저장된 AV 데이터를 디코딩하는 한편(705단계), 프리젠테이션 엔진(5)은 제2 메모리(3)로부터 프리로드 대상 파일을 독출하고 AV 디코더(4)에 의해 디코딩된 AV 데이터 스트림이 HTML 문서에 의해 정의된 표시창에 디스플레이되도록 한다(706단계).On the other hand, the reading unit 1 reads out corresponding AV data from the DVD 300 and stores it in the first memory 2 which is a buffer memory (step 704). The AV decoder 4 decodes the AV data stored in the first memory 1 (step 705), while the presentation engine 5 reads the preload target file from the second memory 3 and the AV decoder 4 The AV data stream decoded by X) is displayed on the display window defined by the HTML document (step 706).

도 8은 도 7의 프리로드 정보 해석단계(602단계)의 일 구현예이다.8 is an example of implementation of the preload information interpretation step 602 of FIG. 7.

도 8을 참조하면, 프리젠테이션 엔진(5)은 HTML 문서에 기록된 프리로드 리스트 파일의 경로를 인식하고(801단계), 인식된 경로로부터 프리로드 리스트 파일을 독출한다(802단계). 다음으로, 프리로드 리스트 파일에 기록된 프리로드 대상 파일을 인식한다(803단계). 여기서, 프리로드 대상 파일을 인식한다는 것은 프리로드 대상 파일의 경로, 나아가 속성을 파악하는 것을 의미한다.Referring to FIG. 8, the presentation engine 5 recognizes a path of a preload list file recorded in an HTML document (step 801), and reads a preload list file from the recognized path (step 802). Next, the preload target file recorded in the preload list file is recognized (step 803). Here, recognizing a preload target file means identifying a path of the preload target file and further, an attribute.

도 9는 도 7의 프리로드 대상 파일의 프리로드 실행단계(703단계)의 일 구현 예이다. 도 9를 참조하면, 프리젠테이션 엔진(5)은 HTML 문서의 헤드 태그 내에 있는 링크 태그 내에 기록된 프리로드 리스트 파일의 경로를 인식하여 프리로드 리스트 파일을 호출한다(901단계). 다음으로, 프리젠테이션 엔진(5)은 프리로드 대상 파일의 경로 및 속성을 변수로 갖는 프리로드 태그를 포함하는 프리로드 리스트 파일을 해석하여 프리로드를 실행한다(902단계).FIG. 9 is an example of implementation of a preload step (703) of the preload target file of FIG. Referring to FIG. 9, the presentation engine 5 calls the preload list file by recognizing the path of the preload list file recorded in the link tag in the head tag of the HTML document (step 901). Next, the presentation engine 5 analyzes the preload list file including the preload tag having the path and attributes of the preload target file as variables (step 902).

도 10a는 도 7의 프리로드 대상 파일의 프리로드 실행단계(703단계)의 다른 구현예이다. 도 10a를 참조하면, 프리젠테이션 엔진(5)은 바디 태그 내에 삽입되어, 프리로드 리스트 파일의 경로를 매개변수로 갖는 API를 호출하여 프리로드 리스트 파일을 독출한다(1001a단계). 다음으로, 프리젠테이션 엔진(5)은 프리로드 대상 파일의 경로 및 속성을 변수로 갖는 프리로드 태그를 포함하는 프리로드 리스트 파일을 해석하여 프리로드를 실행한다(1001b단계).FIG. 10A illustrates another implementation of the preload execution step (703) of the preload target file of FIG. Referring to FIG. 10A, the presentation engine 5 is inserted into a body tag to call an API having a path of a preload list file as a parameter to read a preload list file (step 1001a). Next, the presentation engine 5 analyzes the preload list file including the preload tag having the path and attributes of the preload target file as variables (step 1001b).

도 10b는 도 7의 프리로드 대상 파일의 프리로드 실행단계(703단계)의 또 다른 구현예이다. 도 10b를 참조하면, 프리젠테이션 엔진(5)은 바디 태그 내에 삽입되어, 직접 프리로드 대상 파일의 경로 및 속성을 매개변수로 갖는 API를 호출하여 프리로드 대상 파일을 메모리에 저장한다(1001b단계). 이때, 프리로드 대상 파일의 속성을 파악할 수 있으므로 프리젠테이션 엔진(5)은 속성에 따라 프리로드 대상 파일을 처리한 다음 메모리에 저장할 수 있다.FIG. 10B is another example of the preload execution step (703) of the preload target file of FIG. Referring to FIG. 10B, the presentation engine 5 is inserted into a body tag and directly calls an API having a path and an attribute of a preload target file as a parameter to store the preload target file in a memory (step 1001b). . In this case, since the attributes of the preload target file can be identified, the presentation engine 5 may process the preload target file according to the attribute and then store the preload target file in the memory.

도 11은 프리로드 리스트 파일에 프리로드 대상 파일의 크기가 포함되어 있을 경우 프리로드하는 방법을 설명하기 위한 플로우챠트이다.FIG. 11 is a flowchart for describing a method of preloading when a size of a preload target file is included in a preload list file.

도 11을 참조하면, 인터렉티브 모드가 선택되면 독출부(1)는 DVD(300)에 기 록되어 있는 마크업 문서로서 본 실시예에 따른 HTML 문서를 독출하고, 프리젠테이션 엔진(5)은 HTML 문서에 포함되어 있는 프리로드 정보를 해석하며 이에 독출부(1)는 프리로드 리스트 파일을 독출한다(1101단계). 프리젠테이션 엔진(5)은 프리로드 리스트 파일을 해석한다(1102단계). 프리젠테이션 엔진(5)은 프리로드 대상 파일의 크기를 인식하고 이와 캐시 메모리의 잔여용량을 비교한다(1103단계). 프리로드 대상 파일의 크기가 캐시 메모리의 잔여용량보다 작은 경우 프리로드를 실행한다(1104단계). 프리로드 대상 파일의 크기가 캐시 메모리의 잔여용량보다 큰 경우 에러이벤트를 발생시키고 그대로 종료한다(1105단계).Referring to FIG. 11, when the interactive mode is selected, the reader 1 reads the HTML document according to the present embodiment as a markup document recorded on the DVD 300, and the presentation engine 5 reads the HTML document. The preload information included in the file is interpreted, and the read unit 1 reads the preload list file (step 1101). The presentation engine 5 interprets the preload list file (step 1102). The presentation engine 5 recognizes the size of the preload target file and compares it with the remaining capacity of the cache memory (step 1103). If the size of the preload target file is smaller than the remaining capacity of the cache memory, the preload is executed (step 1104). If the size of the preload target file is larger than the remaining capacity of the cache memory, an error event is generated and terminates as it is (step 1105).

도 12는 메모리에 저장된 프리로드 대상 파일 중 적어도 하나를 삭제하는 방법을 설명하기 위한 플로우챠트이다.12 is a flowchart for describing a method of deleting at least one of preload target files stored in a memory.

도 12를 참조하면, 프리젠테이션 엔진(5)은 HTML 문서에 포함된 삭제정보를 해석하고(1201단계), 삭제 리스트 파일로부터 인식된 삭제 대상 파일을 캐시 메모리인 제2 메모리(3)로부터 삭제한다(1202단계). 다만, 후술하는 소스코드에서 확인되듯이 본 실시예에서의 프리로드 리스트 파일과 삭제 리스트 파일은 동일한 하나의 파일, 즉 STARUP.PLD로 구현하였다. 물론 프리로드 대상 파일의 리스트와 삭제 대상 파일의 리스트가 각각 분리되어 기록된 두 개의 파일로도 구현할 수 있다.Referring to FIG. 12, the presentation engine 5 interprets deletion information included in an HTML document (step 1201), and deletes a deletion target file recognized from a deletion list file from the second memory 3, which is a cache memory. (Step 1202). However, as shown in the following source code, the preload list file and the delete list file in this embodiment are implemented with the same single file, that is, STARUP.PLD. Of course, it can be implemented as two files in which the list of preload target files and the list of delete target files are separately recorded.

도 13은 도 12의 삭제 실행단계(1202단계)의 일 구현예이다.FIG. 13 is an exemplary embodiment of the deleting execution step 1202 of FIG. 12.

도 13을 참조하면, 삭제 리스트 파일의 경로를 매개변수로 가지고 삭제 리스트 파일에 기록된 삭제 대상 파일을 캐시 메모리인 제2 메모리(3)로부터 삭제하는 API에 의해 실행되도록 한다(1301단계). 여기서,「삭제」의 의미는 물리적으로 해 당 데이터를 지우는 가비지 콜렉션 뿐 아니라, 물리적으로 데이터는 그대로 둔 상태에서 플래그 등을 사용하여 해당 데이터가 삭제가능함을 알리거나 여기에 다른 데이터를 기록할 수 있음을 알리는 것을 포함한다.Referring to FIG. 13, the delete target file recorded in the delete list file as a parameter of the delete list file is executed by an API for deleting from the second memory 3 which is the cache memory (step 1301). Here, "deletion" means not only garbage collection that physically erases the data, but also that the data can be deleted by using a flag or the like while physically leaving the data as it is, or other data can be recorded there. It involves notifying.

한편, 전술한 STARTUP.HTM 및 STARTUP.PLD의 소스코드는 다음과 같이 구성될 수 있다.On the other hand, the source code of the above-described STARTUP.HTM and STARTUP.PLD may be configured as follows.

※ STARTUP.HTM 예 1※ STARTUP.HTM example 1

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC -//DVD/DTD XHTML DVD-HTML1.0//EN" "http://www.dvdforum.org/enav/dvdhtml-1-0.dtd"> <html> <head> <title>STARTUP PAGE</title> <link rel="preload" src="dvd://dvd_enav\startup.pld" OnError="err_preload()" OnAbort="err_preload()"> <!--if preloading is failed, call err_preload --> <script language="ecmascript"> <!-- function html_discard() { navigator.Discard("dvd://dvd_enav\startup.htm",0); } function err_preload() { navigator.Discard("",2); if (!navigator.Preload("dvd://dvd_enav\startup.pld",1)) { alert("insufficient memory. it will chanage interactive mode to raw mode.") DvdVideo.SetVideoMode() } } </script> </head> <body bgcolor=#ffffff OnUnload="html_discard()"> <!--if document unload, call html_discard --> <object height="50%" width="60%" data="dvd:"> <script language="ecmascript"> <!-- DvdVideo.Play() </script> <a href="lid:\\dvd_enav\a.htm">click to preloaded A.HTM</a> </body> </html><? xml version = "1.0" encoding = "UTF-8"?> <! DOCTYPE html PUBLIC-// DVD / DTD XHTML DVD-HTML1.0 // EN "" http://www.dvdforum.org/enav /dvdhtml-1-0.dtd "> <html> <head> <title> STARTUP PAGE </ title> <link rel =" preload "src =" dvd: // dvd_enav \ startup.pld "OnError =" err_preload ( ) "OnAbort =" err_preload () "> <!-If preloading is failed, call err_preload-> <script language =" ecmascript "> <!-Function html_discard () {navigator.Discard (" dvd: // dvd_enav \ startup.htm ", 0);} function err_preload () {navigator.Discard (" ", 2); if (! navigator.Preload (" dvd: // dvd_enav \ startup.pld ", 1)) {alert ("insufficient memory. it will chanage interactive mode to raw mode.") DvdVideo.SetVideoMode ()}} </ script> </ head> <body bgcolor = # ffffff OnUnload = "html_discard ()"> <!-if document unload, call html_discard-> <object height = "50%" width = "60%" data = "dvd:"> <script language = "ecmascript"> <!-DvdVideo.Play () </ script> <a href="lid:\\dvd_enav\a.htm"> click to preloaded A.HTM </a> </ body> </ html>

위의 소스코드에는 헤드 태그 내에 삽입된 링크 태그를 통해 구현된 프리로드 정보가 삽입되어 있다. 또한, 자바스크립트 API에 의해 구현된 삭제 정보가 삽입되어 있다.In the source code above, preload information implemented through the link tag inserted in the head tag is inserted. In addition, the deletion information implemented by the JavaScript API is inserted.

※ STARTUP.HTM의 예 2※ Example 2 of STARTUP.HTM

?xml version="1.0" encoding="UTF-8"?> !DOCTYPE html PUBLIC -//DVD/DTD XHTML DVD-HTML1.0//EN" "http://www.dvdforum.org/enav/dvdhtml-1-0.dtd"> html> head> title>STARTUP PAGE</title> script language="ecmascript"> !-- function html_discard() { navigator.Discard("dvd://dvd_enav\startup.htm","text/xml"); } function err_preload() { navigator.Discard("",""); if (!navigator.Preload("dvd://dvd_enav\startup.pld","text/preload&amp;amp;amp;quot;)) { alert("insufficient memory. it will chanage interactive mode to raw mode."); DvdVideo.SetVideoMode(); } } /script> /head> body bgcolor=#ffffff OnUnload="html_discard()"> <!--if document unload, call html_discard --> object height="50%" width="60%" data="dvd:"> script language="ecmascript"> !-- if (!navigator.Preload("dvd://dvd_enav\startup.pld","text/preload&amp;amp;amp;quot;)) { err_preload(); } DvdVideo.Play(); /script> a href="lid:\\dvd_enav\a.htm">click to preloaded A.HTM</a> /body> /html>? xml version = "1.0" encoding = "UTF-8"?>! DOCTYPE html PUBLIC-// DVD / DTD XHTML DVD-HTML1.0 // EN "" http://www.dvdforum.org/enav/dvdhtml -1-0.dtd "> html> head> title> STARTUP PAGE </ title> script language =" ecmascript ">!-Function html_discard () {navigator.Discard (" dvd: // dvd_enav \ startup.htm " , "text / xml");} function err_preload () {navigator.Discard ("", ""); if (! navigator.Preload ("dvd: // dvd_enav \ startup.pld", "text / preload &amp;amp;amp;quot;)) {alert ("insufficient memory. it will chanage interactive mode to raw mode."); DvdVideo.SetVideoMode (); }} / script> / head> body bgcolor = # ffffff OnUnload = "html_discard ()"> <!-if document unload, call html_discard-> object height = "50%" width = "60%" data = " dvd: "> script language =" ecmascript ">!-if (! navigator.Preload (" dvd: // dvd_enav \ startup.pld "," text / preload &amp;amp;amp;quot;)) {err_preload () ;} DvdVideo.Play (); / script> a href = "lid: \\ dvd_enav \ a.htm"> click to preloaded A.HTM </a> / body> / html>

위의 소스코드에는 자바스크립트 API로 구현된 삭제 정보 및 프리로드 정보 가 삽입되어 있다.The above source code contains the deletion information and preload information implemented by the JavaScript API.

※ STARTUP.PLD의 예 1※ Example 1 of STARTUP.PLD

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE PRELOAD PUBLIC "-\\DVD\\DTD DVD Preload List 1.0\\EN" "http://www.dvdforum.org/enav/dvd-preload-list.dtd"--> <preload cachesize="128KB"> <filedef type="text/xml" src="dvd://dvd_enav//a.htm" /> <filedef type="image/png" src="dvd://dvd_enav//a.png" /> </preload><? xml version = "1.0" encoding = "UTF-8"?> <! DOCTYPE PRELOAD PUBLIC "-\\ DVD \\ DTD DVD Preload List 1.0 \\ EN" "http://www.dvdforum.org/enav /dvd-preload-list.dtd "-> <preload cachesize =" 128KB "> <filedef type =" text / xml "src =" dvd: //dvd_enav//a.htm "/> <filedef type =" image / png "src =" dvd: //dvd_enav//a.png "/> </ preload>

위의 소스코드는 XML 문서로서 프리로드 대상 파일의 크기 및 프리로드 대상 파일의 경로 및 속성이 기록되어 있다.The above source code is an XML document that records the size of the preload target file and the path and properties of the preload target file.

한편, 전술한 소스코드에서 사용된 프리로드/삭제(Preload/Discard)를 위한 API에 대해 보다 구체적으로 설명하면 다음과 같다.Meanwhile, the API for preload / discard used in the above-described source code will be described in more detail as follows.

1. navigator.Preload(URL,flag)Navigator.Preload (URL, flag)

지시하는 프리로드 대상 파일들을 제2 메모리(3)로 미리 읽어오는 API이다. 사용되는 매개변수는 프리로드 리스트 파일 및 프리로드 대상 파일의 위치정보를 나타낸다.It is an API that reads pre-loaded target files to the second memory 3 in advance. The parameter used indicates location information of the preload list file and the preload target file.

*108URL = : 프리로드 리스트 파일의 경로 또는 프리로드 대상 파일의 경로* 108URL =: path of preload list file or path of preload target file

flag = : 프리로드 리스트 파일인 경우 1, 프리로드 대상 파일인 경우 0flag =: 1 for preload list file, 0 for preload target file

반환값:Return value:

*111프리로드에 성공하면 true를 반환하고 실패하면 false를 반환한다.* 111 Returns true if preload succeeds, false otherwise.

예:Yes:

navigator.Preload("http://www.holeywood.com/tom.pld",1) // 인터넷에 있는  navigator.Preload ("http://www.holeywood.com/tom.pld", 1) // on the internet

// "http://www.holeywood.com/tom.pld"의 프리로드 리스트 파일을 읽어 지시하는 프리로드 대상 파일들을// Preload target files which read and instruct preload list file of "http://www.holeywood.com/tom.pld"

// 캐시 메모리로 미리 읽어 와라.// read ahead into cache memory

2. navigator.Preload(URL,resType)2. navigator.Preload (URL, resType)

지시하는 프리로드 대상 파일들을 제2 메모리(3)로 미리 읽어오는 API이다. 사용되는 매개변수는 프리로드 리스트 파일, 프리로드 대상 파일의 위치정보, 나아가 프리로드 대상 파일의 속성을 나타낼 수 있다.It is an API that reads pre-loaded target files to the second memory 3 in advance. The parameter used may indicate a preload list file, location information of the preload target file, and further, attributes of the preload target file.

URL = : 프리로드 리스트 파일의 경로 또는 프리로드 대상 파일의 경로URL =: path of preload list file or path of preload target file

resType = : 대상 파일의 속성resType =: attribute of the target file

반환값:Return value:

프리로드에 성공하면 true를 반환하고 실패하면 false를 반환한다.Returns true if preload succeeds, false otherwise.

예:Yes:

navigator.Preload("dvd://dvd_enav/a.htm", "text/xml") // dvd에 있는 "dvd://dvd_enav/a.htm"의 프리로드 대상 파일을 읽어와라. 그 파일은 텍스트 파일로서 xml파일이다.navigator.Preload ("dvd: //dvd_enav/a.htm", "text / xml") // Read the preload target file of "dvd: //dvd_enav/a.htm" on the dvd. The file is a text file and an xml file.

navigator.Preload("http://www.holeywood.com/tom.htm", "text/html") // 인터넷에 있는 "http://www.holeywood.com/tom.html"의 파일을 읽어와라. 그 파일은 텍스트 파일로서 xml파일이다.navigator.Preload ("http://www.holeywood.com/tom.htm", "text / html") // read the file "http://www.holeywood.com/tom.html" on the Internet come. The file is a text file and an xml file.

3. navigator.Discard(URL,flag)3. navigator.Discard (URL, flag)

지시하는 삭제 대상 파일들을 제2 메모리(3)에서 삭제하는 API이다. 매개변 수는 삭제 리스트 파일 및 삭제 대상 파일의 위치정보를 나타낸다.It is an API for deleting the indicated deletion target files in the second memory 3. The parameter indicates location information of the deletion list file and the deletion target file.

URL = : 삭제 리스트 파일의 경로 또는 삭제 대상 파일의 경로URL =: path of delete list file or path of delete target file

flag = : 삭제 리스트 파일인 경우 1, 삭제 대상 파일인 경우 0, 캐시 메모리에 로드된 내용을 전부 다 삭제하려면 2flag =: 1 for delete list file, 0 for delete target file, 2 to delete all contents loaded in cache memory

반환값:Return value:

삭제에 성공하면 true를 반환하고 실패하면 false를 반환한다.Returns true if the delete is successful, false otherwise.

예:Yes:

navigator.Discard('http://www.holeywood.com/tom.htm',0) // 인터넷에 있는 navigator.Discard ('http://www.holeywood.com/tom.htm',0) // on the internet

// 'http://www.holeywood.com/tom.htm'의 지시하는 삭제 대상 파일이 캐시 메모리에 있으면 이를 삭제한다. // If the delete target file indicated by 'http://www.holeywood.com/tom.htm' exists in the cache memory, delete it.

4. navigator.Discard(URL,resType)4. navigator.Discard (URL, resType)

지시하는 삭제 대상 파일들을 제2 메모리(3)에서 삭제하는 API이다. 매개변수는 삭제 리스트 파일, 삭제 대상 파일의 위치정보, 및 삭제 대상파일의 속성을 나타낸다.It is an API for deleting the indicated deletion target files in the second memory 3. The parameter indicates a deletion list file, location information of the deletion target file, and attributes of the deletion target file.

URL = : 삭제 리스트 파일의 경로 또는 삭제 대상 파일의 경로URL =: path of delete list file or path of delete target file

resType = : 대상 파일의 속성resType =: attribute of the target file

반환값:Return value:

삭제에 성공하면 true를 반환하고 실패하면 false를 반환한다.Returns true if the delete is successful, false otherwise.

예:Yes:

navigator.Discard("dvd://dvd_enav/a.htm", "text/xml") // dvd에 있는 "dvd://dvd_enav/a.htm"의 삭제 대상 파일이 캐시 메모리에 있으면 이를 삭제한다. 그 파일은 text파일로서 xml파일이다.navigator.Discard ("dvd: //dvd_enav/a.htm", "text / xml") // delete the target file of "dvd: //dvd_enav/a.htm" from the dvd if it is in cache memory . The file is a text file and an xml file.

navigator.Discard("dvd://dvd_enav/a.pld", "application/preload") // dvd에 있는 "dvd://dvd_enav/a.pld"의 삭제 대상 파일이 캐시 메모리에 있으면 이를 삭제한다. 그 파일은 삭제 대상 리스트 파일이다.navigator.Discard ("dvd: //dvd_enav/a.pld", "application / preload") // delete the target file of "dvd: //dvd_enav/a.pld" from dvd if it is in cache memory . The file is a list file to be deleted.

navigator.Discard("http://www.holeywood.com/tom.htm","text/xml&amp;amp;amp;quot;) // 인터넷에 있는 "http://www.holeywood.com/tom.htm"의 지시하는 삭제 대상 파일이 캐시 메모리에 있으면 이를 삭제한다. 그 파일은 text파일로서 xml파일이다.navigator.Discard ("http://www.holeywood.com/tom.htm", "text / xml &amp;amp;amp;quot;) //" http://www.holeywood.com/tom. htm "deletes the file to be deleted if it exists in cache memory. It is a text file and an xml file.

한편, 전술한 실시예에서는 자바스크립트에 의해 구현된 API에 대해서만 설명하였으나 자바 애플릿 등에 의해서도 마찬가지 결과를 얻을 수 있다.Meanwhile, in the above-described embodiment, only the API implemented by JavaScript is described, but the same result can be obtained by using a Java applet or the like.

도 14는 도 1과 동일한 순서로 AV 데이터 및 HTML 문서가 기록되어 있을 때 본 발명에 따른 프리로드 수행에 의한 효과를 설명하기 위한 참고도이다.FIG. 14 is a reference diagram for explaining an effect of performing preload according to the present invention when AV data and an HTML document are recorded in the same order as in FIG. 1.

도 14에는 MPEG 코딩된 AV 데이터가 버퍼링되는 제1 메모리(2)의 상태(occupancy)와 마크업 리소스가 캐싱되는 제2 메모리(3)의 상태가 표시되어 있다. 도 1과 도 14를 참조하여 AV 데이터가 로드되어 디스플레이되는 과정을 살펴보면, 독출부(1)는 STARTUP.HTM을 탐색하여 독출하고 프리젠테이션 엔진(5)은 STARTUP.HTM에 삽입되어 있는 프리로드 정보를 해석하여 ④ A.htm의 프리로드가 수행되도록 한다. 이에 ④ A.HTM이 제2 메모리(3)에 프리로드된다. 한편, 로드된 STARTUP.HTM은 활성화된다. 이와 동시에 사용자의 선택에 따른 ① AV 데이터가 제1 메모리(2)로 로드된 다음 디스플레이되기 시작한다. 이어서 ② AV 데이터가 로드되어 디스플레이된다. ② AV 데이터의 버퍼링이 완료되면 독출부(1)는 ③ AV 데이터를 찾아 점프하여 버퍼링을 시작한다. 이 때, 사용자가 ④ A.HTM를 요구하면 프리젠테이션 엔진(5)은 제2 메모리(3)에 프리로드되어 있는 ④ A.HTM을 독출하여 디스플레이한다. 즉, 독출부(1)가 ③ AV 데이터에 대한 버퍼링을 중단하고 ④ A.HTM을 DVD(300)로부터 탐색하여 제2 메모리(3)로 로드하는 작업을 수행하지 않아도 된다. 따라서, 독출부(1)는 버퍼링을 중단없이 수행할 수 있다. 다만, 독출부(1)가 ⑤ AV 데이터의 버퍼링을 마무리하고 ⑥ AV 데이터로 점프하는 과정에서 제1 메모리(2)에 버퍼링되어 있던 데이터가 줄어들 수 있으나 이미 버퍼링해놓은 데이터의 양이 충분하기 때문에 데이터 부족현상은 발생되지 않는다. 즉, 인터렉티브 모드를 지원하는 DVD에 있어서 DVD-Video의 영상과 HTML 문서가 서로 동기되어 보여져야 할 경우에도(예: 특정 배우가 등장하면 그 배우에 대한 약력이 표시되는 경우) 대응 HTML 문서가 이미 제2 메모리(3)에 프리로드되어 있기 때문에 독출부(1)는 AV 데이터의 버퍼링을 중단하고 대응 HTML 문서를 탐색하여 캐싱해야할 필요가 없다.In Fig. 14, the state of the first memory 2 in which MPEG coded AV data is buffered and the state of the second memory 3 in which markup resources are cached are shown. 1 and 14, the AV data is loaded and displayed. Referring to FIG. 1, the reading unit 1 searches for and reads STARTUP.HTM, and the presentation engine 5 includes preload information inserted in STARTUP.HTM. ④ A.htm preload is executed. ④ A.HTM is preloaded into the second memory 3. On the other hand, the loaded STARTUP.HTM is activated. At the same time, ① AV data according to the user's selection is loaded into the first memory 2 and then started to be displayed. ② AV data is then loaded and displayed. When the buffering of the AV data is completed, the reading unit 1 searches for the AV data and jumps to start buffering. At this time, when the user requests? A.HTM, the presentation engine 5 reads and displays? A.HTM, which is preloaded in the second memory 3. That is, the reading unit 1 does not need to stop buffering 3 AV data and search 4 A.HTM from the DVD 300 to load the second memory 3. Therefore, the read part 1 can perform buffering without interruption. However, the data buffered in the first memory 2 may be reduced while the reading unit 1 finishes buffering the ⑤ AV data and jumps to the ⑥ AV data, but the amount of data already buffered is sufficient. There is no shortage. That is, for DVDs that support interactive mode, even if the DVD-Video image and the HTML document must be viewed in synchronization with each other (for example, when a specific actor appears, the bio about that actor is displayed). Since it is preloaded in the second memory 3, the reading unit 1 does not need to stop buffering the AV data and search and cache the corresponding HTML document.

이하에서는 안정적인 프리로드/삭제를 수행할 수 있도록 제2 메모리(3)를 관리하는 방법 및 프리로드를 수행함에 있어 제1 메모리(2)에 남아있는 컨텐츠가 소진되는 상황이 발생되지 않도록 하기 위한 보다 구체적인 방법을 설명한다.Hereinafter, a method of managing the second memory 3 to perform stable preloading / deleting and a situation in which the situation in which the content remaining in the first memory 2 is exhausted in performing the preloading will not occur. Explain the specific method.

도 15는 도 3의 재생장치의 일부 상세도이다.15 is a partial detailed view of the playback device of FIG. 3.

도 15를 참조하면, 제2 메모리(3)에는 메모리 관리 테이블 영역(31)과 데이터 영역(32)이 마련되어 있다. 메모리 관리 테이블(31)은 데이터 영역(32)에 기록된 데이터를 기록/삭제 등 관리하기 위한 정보가 기록되는 테이블이다. 데이터 영역에는 프리로드된 마크업 문서 등이 기록된다. 한편, 프리젠테이션 엔진(5)은 자바스크립트 해석엔진(51), 및 실행 모듈(52)로 구분할 수 있다. 실행 모듈(52)은 프리로드/삭제 모듈(521) 및 가비지 콜렉션(garbage collection) 모듈(522)로 구성된다. 가비지 콜렉션(garbage collection) 모듈(522)에 대해서는 후술한다.Referring to FIG. 15, a memory management table area 31 and a data area 32 are provided in the second memory 3. The memory management table 31 is a table in which information for managing / recording / deleting data recorded in the data area 32 is recorded. Preloaded markup documents and the like are recorded in the data area. The presentation engine 5 may be classified into a JavaScript analysis engine 51 and an execution module 52. The execution module 52 is composed of a preload / deletion module 521 and a garbage collection module 522. The garbage collection module 522 will be described later.

본 실시예에서 자바스크립트 해석엔진(51)은 자바스크립트로 작성된 API를 호출한다. 프리로드/삭제 모듈(521) 또는 가비지 콜렉션 모듈(522)은 프리로드/삭제 또는 가비지 콜렉션을 수행한다.In this embodiment, the JavaScript analysis engine 51 calls an API written in JavaScript. The preload / delete module 521 or garbage collection module 522 performs preload / delete or garbage collection.

도 16 내지 17은 프리로드/삭제 또는 가비지 콜렉션을 통해 메모리 관리 테이블(31)과 데이터 공간(32)을 관리하는 방법을 설명하기 위한 메모리 맵이다.16 to 17 are memory maps illustrating a method of managing the memory management table 31 and the data space 32 through preload / delete or garbage collection.

도 16을 참조하면, 메모리 관리 테이블(31)은 프리로드 대상 파일의 상태 정보, 프리로드 대상 파일이 저장된 경로, 데이터 포인터 및 데이터 크기 정보를 포함한다. "in use"는 현재 사용 중인지 아닌지를 나타내고, "discardable"은 삭제가능 여부를 나타내며, "URI"는 경로 정보를, "data pointer"는 데이터의 시작주소를 나타내고, "size"는 데이터의 크기를 나타낸다. 현재, 데이터 영역(32)에는 a.htm, c.htm 및 b.htm이 로드되어 있음을 알 수 있다.Referring to FIG. 16, the memory management table 31 includes state information of a preload target file, a path in which a preload target file is stored, a data pointer, and data size information. "in use" indicates whether it is currently in use or not, "discardable" indicates whether it can be deleted, "URI" indicates path information, "data pointer" indicates the starting address of the data, and "size" indicates the size of the data. Indicates. It can be seen that a.htm, c.htm and b.htm are currently loaded in the data area 32.

도 17a를 참조하면, 현재 a.htm을 사용 중이며 b.htm, c.htm 및 d.htm을 프리로드하였다면 a.htm은 현재 사용 중이므로 a.htm의 "in use" 값은 1이고 나머지 파일은 열려 있지 않으므로 그 "in use" 값은 모두 0이다.Referring to FIG. 17A, if you are currently using a.htm and preloaded b.htm, c.htm, and d.htm, since a.htm is currently in use, the "in use" value of a.htm is 1 and the remaining files are Since it is not open, its "in use" value is all zeros.

도 17b를 참조하면, a.htm의 사용이 종료되고 b.htm가 사용 중이므로 a.htm의 "in use" 값은 0으로, b.htm의 "in use" 값은 1로 바뀐다.Referring to FIG. 17B, since the use of a.htm is terminated and b.htm is in use, the "in use" value of a.htm is changed to 0, and the "in use" value of b.htm is changed to 1.

도 17c를 참조하면, a.htm에 대해 가비지 콜렉션이 수행된다. 가비지 콜렉션이 수행되면 데이터 영역(32)에서 a.htm이 삭제되고 b.htm, c.htm 및 d.htm이 재배열된다. a.htm의 "data pointer" 값은 -1로 표시된다. 이는 데이터 영역(32)에 해당 파일이 존재하지 않음을 뜻한다.Referring to FIG. 17C, garbage collection is performed on a.htm. When garbage collection is performed, a.htm is deleted from the data area 32 and b.htm, c.htm and d.htm are rearranged. The "data pointer" value in a.htm is represented by -1. This means that the file does not exist in the data area 32.

도 17d를 참조하면, f.htm가 사용 중임을 나타낸다. f.htm은 메모리 관리 테이블(31)에서 도 16c에서 a.htm의 자리에 배치되며 'data pointer"값은 실제로 f.htm이 기록된 시작주소를 가리킨다.Referring to Fig. 17D, it indicates that f.htm is in use. f.htm is placed in place of a.htm in Fig. 16C in the memory management table 31, and the 'data pointer' value actually points to the start address where f.htm is recorded.

도 17e를 참조하면, b.htm, c.htm, d.htm에 대한 삭제가 수행된다. 이에 b.htm, c.htm, d.htm의 "discardable" 값은 모두 1로 바뀐다.Referring to Fig. 17E, deletion of b.htm, c.htm, and d.htm is performed. Thus, the "discardable" values of b.htm, c.htm, and d.htm all change to one.

도 17f를 참조하면, b.htm, c.htm, d.htm에 대한 가비지 콜렉션이 수행된다. 이에, b.htm, c.htm, d.htm의 "data pointer" 값은 모두 -1이 된다. 데이터 영역(32)에 기록된 b.htm, c.htm, d.htm는 모두 삭제되고 남아 있는 f.htm이 재배열된다.Referring to FIG. 17F, garbage collection for b.htm, c.htm, and d.htm is performed. Therefore, the values of "data pointer" of b.htm, c.htm, and d.htm are all -1. B.htm, c.htm, and d.htm recorded in the data area 32 are all deleted, and the remaining f.htm is rearranged.

이처럼, 프리로드/삭제 및 가비지 콜렉션을 통해 제2 메모리(3)가 적절히 관리될 수 있다.As such, the second memory 3 can be properly managed through preload / deletion and garbage collection.

도 18은 제1 메모리(2)에서 AV 데이터가 로드되고 소모되는 상태도이다.18 is a state diagram in which AV data is loaded and consumed in the first memory 2.

도 18을 참조하면, 구간 a에서 앵글 블록 등으로 점프가 수행되는 동안에는 AV 데이터가 채워지지 않고 소모되기만 하므로 속도 Vo로 데이터가 감소됨을 표시하고 있다. 앵글 블록이란 동일한 장면을 다양한 앵글에서 촬영한 데이터가 기록된 블록을 의미한다. 하나의 앵글이 선택되어 재생되고 나머지 앵글에서 촬영한 데이터는 건너뛰게 되므로 앵글 블록에서는 필연적으로 점프가 일어난다. 점프가 완료되고 AV 데이터를 읽어들이면 다시 데이터가 채워진다. 구간 b에 기록된 바와 같이, AV 데이터를 속도 Vr로 계속 읽어들임과 동시에 속도 Vo로 계속 소모한다면 실제로 AV 데이터는 속도 Vr-Vo로 채워진다. 구간 c에서 마크업 문서의 프리로드가 수행되면 독출부(1)는 AV 데이터의 독출을 중지하고 해당 마크업 문서를 프리로드해야 하므로 속도 Vo로 데이터가 감소된다. 구간 d에서는 다시 AV 데이터가 채워지므로 구간 b에서와 마찬가지로 AV 데이터가 속도 Vr-Vo로 채워진다. 한편, 점선은 채워져 있어야 하는 AV 데이터의 최소량을 표시한 것이다.Referring to FIG. 18, the AV data is not filled but is consumed while the jump is performed to the angle block or the like in the section a, and thus the data is reduced at the speed Vo. An angle block refers to a block in which data photographing the same scene at various angles is recorded. One angle is selected and played back, and the data shot at the remaining angles is skipped, which inevitably causes jumps in the angle block. When the jump is completed and the AV data is read, the data is filled again. As recorded in the section b, if the AV data is continuously read at the speed Vr and consumed at the speed Vo, the AV data is actually filled with the speeds Vr-Vo. When preloading of the markup document is performed in the interval c, the reading unit 1 must stop reading the AV data and preload the corresponding markup document, so that the data is reduced at the speed Vo. In the section d, the AV data is filled again, so as in the section b, the AV data is filled at the speed Vr-Vo. The dotted line represents the minimum amount of AV data that should be filled in.

이를 바탕으로, 본 발명에 따른 프리로드가 수행되면서도 제1 메모리(2)의 버퍼링 기능이 제대로 발휘되기 위해서는(제1 메모리의 데이터 부족현상이 발생되지 않도록 하기 위해서는) 프리로드가 수행되는 구간 c에서 감소되는 데이터 양보다 남아 있는 데이터 양이 더 커야 함을 알 수 있다.Based on this, in order to properly exhibit the buffering function of the first memory 2 while performing the preload according to the present invention (to prevent data shortage of the first memory from occurring), in the period c in which the preload is performed, It can be seen that the amount of data remaining must be greater than the amount of data being reduced.

한편, 심리스(seamless) 재생을 보장하기 위해 독출부(1)는 프리로드 대상 파일을 가능한 한 연속적으로 읽어들여야 한다. 따라서, 프리로드 대상 파일, 즉 PLD 파일은 해당 컨텐츠를 연속적으로 읽어들일 수 있도록 재생장치의 파일 시스템은 도 19에 도시된 바와 같이 하나의 PLD 파일이 다른 PLD 파일을 네스팅(nesting)하는 구조로 데이터 정렬(data alignment)하는 것이 효과적이다.On the other hand, in order to ensure seamless reproduction, the reading unit 1 should read the preload target file as continuously as possible. Therefore, the file system of the playback apparatus has a structure in which one PLD file nests another PLD file so that the preload target file, that is, the PLD file, can be read continuously. Data alignment is effective.

도 20a 및 20b는 도 18의 PLD 파일이 기록된 디스크(300)의 개략도이다.20A and 20B are schematic views of the disc 300 in which the PLD file of Fig. 18 is recorded.

도 20a 및 20b를 참조하면, 독출부(1)는 제2 메모리(3)에 AV 데이터 VTS_01_1.VOB를 버퍼링하다가 프리로드 리스트 파일 A.PLD에 지정된 프리로드 대상 파일 A.HTM, A1.JPG, 및 A2.JPG를 프리로드하고 나아가 프리로드 리스트 파일 B.PLD까지 프리로드한 다음 다시 VTS_01_1.VOB를 버퍼링한다.20A and 20B, the reading unit 1 buffers the AV data VTS_01_1.VOB in the second memory 3 and then preloads the target files A.HTM, A1.JPG, specified in the preload list file A.PLD. And preload A2.JPG, further preload up to the preload list file B.PLD, and then buffer VTS_01_1.VOB again.

여기서, Tj는 프리로드 대상 파일에 대한 엑세스 시간을 의미한다. 즉, Tj = Tj1 + Tj2는 VTS0_1.VOB에서 프리로드 대상 파일 A1.JPG로 점프하는데 걸리는 시간 Tj1과 B.PLD파일을 프리로드한 다음 다시 VTS_01_1.VOB로 점프하는데 걸리는 시간 Tj2의 합이 된다. De는 프리로드 대상 파일의 데이터 크기를 나타낸다. 즉, De = De1 + De2 + De3은 A.HTM의 데이터 크기 De1와, A1.JPG의 데이터 크기 De2 및 A2.JPG의 데이터 크기 De3의 합이 된다. Tk는 프리로드 대상 파일을 읽어들일 때 내부 점프 시간을 나타낸다. 즉, Tk = Tk1 + Tk2로서 Tk1는 A1.JPG에서 A2.JPG로 점프하는데 소요되는 시간을, Tk2는 A2.JPG에서 B.PLD로 점프하는데 소요되는 시간을 가리킨다.Here, Tj means access time for the preload target file. That is, Tj = Tj1 + Tj2 is the sum of the time taken to jump from VTS0_1.VOB to the preload target file A1.JPG and the time Tj2 taken to jump to VTS_01_1.VOB after preloading the B.PLD file again. De represents the data size of the preload target file. That is, De = De1 + De2 + De3 is the sum of the data size De1 of A.HTM, the data size De2 of A1.JPG, and the data size De3 of A2.JPG. Tk represents the internal jump time when the preload target file is read. That is, as Tk = Tk1 + Tk2, Tk1 indicates the time taken to jump from A1.JPG to A2.JPG, and Tk2 indicates time taken to jump from A2.JPG to B.PLD.

한편, 디스크에 기록된 AV 데이터의 엑세스 거리(access distance)와 엑세스 시간과의 관계는 다음과 같이 설정될 수 있다. N은 섹터 개수를 말한다.On the other hand, the relationship between the access distance of the AV data recorded on the disc and the access time can be set as follows. N is the number of sectors.

access distance (sector)access distance (sector) 0 to 2100 to 210 to 5000to 5000 to 10,000to 10,000 to 15,000to 15,000 to 20,000to 20,000 over 20,000over 20,000 access time (msec)access time (msec) 1.4×N1.4 x N 310310 360360 390390 410410 15001500

본 발명에 따라, 제1 메모리(2)에서 AV 데이터의 부족현상을 방지하기 위한 조건을 수식으로 표현하면 다음과 같다.According to the present invention, the condition for preventing the shortage of AV data in the first memory 2 is expressed by the following equation.

Figure 112005021534116-pat00032
Figure 112005021534116-pat00032

Vo: 제1 메모리(2)에서 AV 데이터가 빠져나가는 속도 또는Vo: The speed at which the AV data exits from the first memory 2 or

AV 디코더(4)의 데이터 소모 속도,    The data consumption rate of the AV decoder 4,

Tp: 구간 c에서 프리로드를 수행하는데 걸린 시간,Tp: time taken to perform preload in interval c,

Vr: 디스크(300)로부터 데이터를 읽어들이는 속도Vr: Speed of reading data from disk 300

tN_ecc: 프리로드 대상 파일을 읽어들이기 이전에 읽어들여야 할 전체 ECC 블록의 갯수tN_ecc: Total number of ECC blocks to read before loading preload target file

Ta: 앵글 블록에서 점프하는데 걸리는 총 시간Ta: Total time for jumping in angle blocks

Bs: 제1 메모리(2)에 확보되어야 할 최소한의 데이터 크기(여기서는 DVD-Video 규격 1.0에서 지정된 메모리 크기 221 sectors)Bs: Minimum data size to be reserved in the first memory 2 (here memory size 221 sectors specified in the DVD-Video standard 1.0)

[수학식 1]에서 Vo×Tp는 구간 c에서 프리로드 수행으로 인해 감소되는 데이터 양을 나타낸다. 한편, tN_ecc×2048×8×16은 구간 b에서 읽어들인 데이터의 길이(섹터의 수)이고 Vr은 데이터의 독출 속도이므로 tN_ecc×2048×8×16/Vr은 구간 b의 시간이 된다. 즉, (Vr-Vo)×(tN_ecc×2048×8×16/Vr)는 구간 b에서 증가되는 데이터 양을 나타낸다. 한편, Vo×Ta는 구간 a에서 앵글 블록 점프 등으로 인해 감소되는 데이터 양을 나타낸다. Bs는 확보되어야 하는 최소 데이터 양을 나타낸다. 한편, Tp는 2×Tj + De/Vr + Tk를 의미한다. Tj, De, Vr 및 Tk의 의미는 전술한 바 있다.In Equation 1, Vo × Tp represents the amount of data that is reduced due to preloading in a section c. On the other hand, tN_ecc × 2048 × 8 × 16 is the length of the data (number of sectors) read in the section b, and Vr is the data read rate, so tN_ecc × 2048 × 8 × 16 / Vr is the time of the section b. That is, (Vr-Vo) × (tN_ecc × 2048 × 8 × 16 / Vr) represents the amount of data increased in the interval b. On the other hand, Vo x Ta represents the amount of data that is reduced due to the angle block jump or the like in the interval a. Bs represents the minimum amount of data to be secured. On the other hand, Tp means 2xTj + De / Vr + Tk. The meanings of Tj, De, Vr and Tk have been described above.

도 18의 프리로드 리스트 파일 A.PLD, B.PLD, C.PLD에 지정된 프리로드 대상 파일들을 프리로드하는데 소요되는 시간 Tp를 계산하였더니 다음과 같은 결과가 나왔다.The time Tp required to preload the preload target files specified in the preload list files A.PLD, B.PLD, and C.PLD of FIG. 18 was calculated, and the following results were obtained.

Vr = 22Mbps,Vr = 22 Mbps,

A.PLD의 대상 파일들(De=1611KB): Tp=3600msec(=1500msec×2+1611KB×8/22000000+0)Target files of A.PLD (De = 1611KB): Tp = 3600msec (= 1500msec × 2 + 1611KB × 8/22000000 + 0)

B.PLD의 대상 파일들(De=2685KB): Tp=4000msec(=1500msec×2+2685KB×8/22000000+0)Target files of B.PLD (De = 2685KB): Tp = 4000msec (= 1500msec × 2 + 2685KB × 8/22000000 + 0)

C.PLD의 대상 파일들(De=269KB): Tp=3100msec(=1500msec×2+269KB×8/22000000+0)Target files of C.PLD (De = 269KB): Tp = 3100msec (= 1500msec × 2 + 269KB × 8/22000000 + 0)

VTS_01_1.VOB의 재생 중에 A.PLD의 대상 파일, B.PLD의 대상 파일, C.PLD의 대상 파일을 순서대로 열어야 한다면 다음 값을 계산해야 한다.If the target file of A.PLD, the target file of B.PLD, and the target file of C.PLD must be opened in order during the playback of VTS_01_1.VOB, the following value should be calculated.

A.PLD의 대상 파일들을 읽어들이기 전 VTS_01_1.VOB의 버퍼링 구간에서의 Vo 값 = VaVo value in the buffering section of VTS_01_1.VOB before reading target files of A.PLD = Va

B.PLD의 대상 파일들을 읽어들이기 전 VTS_01_1.VOB의 버퍼링 구간에서의 Vo 값 = VbVo value in the buffering section of VTS_01_1.VOB before reading the target files of B.PLD = Vb

C.PLD의 대상 파일들을 읽어들이기 전 VTS_01_1.VOB의 버퍼링 구간에서의 Vo 값 = VcVo value in the buffering section of VTS_01_1.VOB before reading the target files of C.PLD = Vc

나아가, 각 구간마다 앵글 블록과 같은 점프가 없고 Bs가 221 sectors(≒14 ECC 블록)이라고 가정하고 각 구간별 ECC 블록의 개수와 Va, Vb, Vc를 관련지어 계산하면 AV 화면이 끊기지 않고 A.PLD, B.PLD, C.PLD의 대상 파일들을 읽어들일 수 있는 위치를 찾아낼 수 있다.Furthermore, if there is no jump like an angle block in each section and Bs is 221 sectors (s14 ECC block), and the number of ECC blocks and Va, Vb, and Vc are calculated in relation to each section, the AV screen does not break. You can find out where the target files for PLD, B.PLD, and C.PLD can be loaded.

가령, Va = 8Mbps, Vb = 6Mbps, Vc = 4Mbps로 가정하면 [수학식 1]을 사용하여 tN_ecc를 구할 수 있다. 구해보면,For example, assuming Va = 8 Mbps, Vb = 6 Mbps, and Vc = 4 Mbps, tN_ecc can be obtained using Equation 1. If you get it,

A.PLD의 대상 파일들을 읽어들이기 전에 최소 187개의 ECC 블록을 읽어들여야 하며,At least 187 ECC blocks must be loaded before the target files of A.PLD can be loaded.

B.PLD의 대상 파일들을 읽어들이기 전에 최소 140개의 ECC 블록을 읽어들여야 하며,At least 140 ECC blocks must be loaded before reading the target files of B.PLD.

C.PLD의 대상 파일들을 읽어들이기 전에 최소 72개의 ECC 블록을 읽어들여야 한다.At least 72 ECC blocks must be loaded before the target files of C.PLD can be loaded.

도 21은 전술한 예에 따른 제1 메모리(2)와 제2 메모리(3)의 상태도이다.21 is a state diagram of the first memory 2 and the second memory 3 according to the above-described example.

도 21을 참조하면, STARTUP.HTM이 활성화되었을 때에는 제1 메모리(2)의 데이터 양은 Vr-Va의 속도로 증가한다. A.PLD의 대상 파일들에 대한 프리로드를 수행하면 제1 메모리(2)의 데이터 양은 Va의 속도로 감소한다. A.PLD의 대상 파일들에 대한 프리로드가 완료되고 그 중 A.HTM이 활성화되면 데이터 양은 Vr-Vb의 속도로 증가한다. 다시, B.PLD의 대상 파일들에 대한 프리로드가 수행되면 제1 메모리(2)의 데이터 양은 Vb의 속도로 감소한다. B.PLD의 대상 파일들에 대한 프리로드가 완료되고 그 중 B.HTM이 활성화되면 데이터 양은 Vr-Vc의 속도로 증가한다. 한편, 제2 메모리(3)의 프리로드가 완료된 지점에서 데이터 양이 급격히 감소한 이유는 이전에 프리로드한 대상 파일의 삭제가 요구되어 가비지 콜렉션이 수행되었기 때문이다.Referring to Fig. 21, when STARTUP.HTM is activated, the data amount of the first memory 2 increases at the speed of Vr-Va. When preloading the target files of A.PLD is performed, the data amount of the first memory 2 decreases at the speed of Va. When preloading of target files of A.PLD is completed and A.HTM is activated, the amount of data increases at the speed of Vr-Vb. Again, when preloading of the target files of B. PLD is performed, the data amount of the first memory 2 decreases at the speed of Vb. When preloading of target files of B.PLD is completed and B.HTM is activated, the data amount increases at the speed of Vr-Vc. On the other hand, the reason why the amount of data is drastically reduced at the point where the second memory 3 has been preloaded is because garbage collection is performed because the deletion of the previously preloaded target file is required.

도 22는 본 발명의 바람직한 실시예에 따른 기록방법을 설명하기 위한 플로우챠트이다.22 is a flowchart for explaining a recording method according to a preferred embodiment of the present invention.

도 22를 참조하면, 컨텐츠 제작자는 프리로드 대상 파일의 독출 속도를 알아낸다(2201단계). 대응 AV 데이터가 끊기지 않고 재생되도록 제1 메모리(2)에 버퍼링이 수행되기 위한 조건을 알아낸다(2202단계). 그 조건은 상세히 전술한 바와 같다. 알아낸 조건에 부합하는 시점에서 프리로드가 수행되도록 프리로드를 위한 소스 코드를 기록한다(2203단계). 즉, 해당 API가 호출되어 프리로드를 수행하는 시점을 최소한의 AV 데이터가 제1 메모리(2)에 버퍼링된 이후로 맞추어 기록함으로써 AV 화면의 끊김현상없이 프리로드가 수행될 수 있게 된다.Referring to FIG. 22, the content producer finds out a read speed of a preload target file (step 2201). The condition for buffering is performed in the first memory 2 so as to reproduce the corresponding AV data without interruption (step 2202). The conditions are as described above in detail. The source code for preloading is recorded so that the preloading is performed at a time point matching the found condition (step 2203). That is, by loading the minimum time of AV data after the API is called and performing the preload, the AV memory is buffered in the first memory 2 so that the preload can be performed without interruption of the AV screen.

전술한 바와 같이, 본 발명에 따르면 DVD 등 정보저장매체에 기록된 AV 데이터를 재생하여 마크업 문서를 통해 디스플레이하는 경우 동영상 화면의 끊김현상이 발생되지 않도록 하는 마크업 문서가 기록된 정보저장매체, 그 재생장치 및 재생방법이 제공된다. 나아가, 프리로드 대상 파일 및 삭제 대상 파일의 속성까지 알 수 있으므로 보다 효율적인 프리로드 및 삭제가 가능해진다.As described above, according to the present invention, when the AV data recorded on the information storage medium such as a DVD is reproduced and displayed through the markup document, the information storage medium having the markup document recorded thereon to prevent the disconnection of the moving picture screen, A reproducing apparatus and a reproducing method thereof are provided. Furthermore, since the attributes of the preload target file and the delete target file can be known, more efficient preloading and deletion can be performed.

Claims (42)

삭제delete 삭제delete 오디오 및/또는 비디오 데이터를 포함하는 컨텐츠 데이터; 및Content data including audio and / or video data; And 상기 컨텐츠 데이터가 재생되기 이전에 상기 컨텐츠 데이터에 대응하는 프리로드 대상 파일을 프리로드할 것을 명령하는 프리로드 정보가 삽입되어 있는 마크업 문서를 포함하며,And a markup document in which preload information is inserted to instruct to preload a preload target file corresponding to the content data before the content data is reproduced. 상기 프리로드 대상 파일은 상기 컨텐츠 데이터가 디스플레이될 경우 동기되어 재생되거나 또는 사용자의 요구에 의해 재생되어야 할 파일이고,The preload target file is a file to be reproduced synchronously or at the request of a user when the content data is displayed, 상기 마크업 문서는 디코딩되어 재생된 상기 컨텐츠 데이터가 매립되어 표시되기 위한 것임을 특징으로 하는 정보저장매체.The markup document is an information storage medium, characterized in that the content data decoded and reproduced is embedded. 제3항에 있어서,The method of claim 3, 상기 프리로드 대상 파일은 심리스 재생이 보장되는 상기 컨텐츠 데이터를 인터랙티브 모드로 재생하기 위해 필요한 파일임을 특징으로 하는 정보저장매체.The preload target file is an information storage medium, characterized in that a file required for playing back the content data in which the seamless playback is guaranteed in an interactive mode. 제3항에 있어서,The method of claim 3, 상기 컨텐츠 데이터에 대한 네비게이션 데이터를 더 포함하고,Further comprising navigation data for the content data, 상기 컨텐츠 데이터는 상기 네비게이션 데이터를 참조하여 컨텐츠 데이터 스트림으로 디코딩되는 것을 특징으로 하는 정보저장매체.And the content data is decoded into a content data stream with reference to the navigation data. 제3항에 있어서,The method of claim 3, 적어도 하나의 상기 프리로드 대상 파일을 더 포함하는 것을 특징으로 하는 정보저장매체.And at least one preload target file. 제3항에 있어서,The method of claim 3, 상기 프리로드 대상 파일이 기록된 프리로드 리스트 파일을 더 포함하며,And a preload list file in which the preload target file is recorded. 상기 프리로드 정보는 상기 프리로드 리스트 파일의 위치정보를 참조할 수 있는 태그로 구현되는 것을 특징으로 하는 정보저장매체.The preload information is an information storage medium, characterized in that implemented as a tag that can refer to the position information of the preload list file. 제7항에 있어서,The method of claim 7, wherein 상기 태그는 헤드 태그 내에 삽입되는 링크 태그임을 특징으로 하는 정보저장매체.And the tag is a link tag inserted in the head tag. 제7항에 있어서,The method of claim 7, wherein 상기 위치정보는 상기 프리로드 리스트 파일의 경로로 표시되며, 상기 경로에는 메모리, 상기 정보저장매체, 인터넷 서버 중 어느 하나를 가리키는 리소스 로케이터가 부가되어 있는 것을 특징으로 하는 정보저장매체.The location information is represented by a path of the preload list file, wherein the path is added with a resource locator indicating any one of a memory, the information storage medium, and an internet server. 제3항에 있어서,The method of claim 3, 상기 프리로드 정보는 프리로드 리스트 파일의 위치정보를 매개변수로 갖는 API(Application Program Interface)로 구현되는 것을 특징으로 하는 정보저장매체.The preload information is an information storage medium, characterized in that implemented as an API (Application Program Interface) having the position information of the preload list file as a parameter. 제10항에 있어서,The method of claim 10, 상기 API는 자바스크립트 API 또는 자바 애플릿 API임을 특징으로 하는 정보저장매체.The API is an information storage medium, characterized in that the JavaScript API or Java Applet API. 제10항에 있어서,The method of claim 10, 상기 위치정보는 상기 프리로드 리스트 파일의 경로로 표시되며, 상기 경로에는 메모리, 상기 정보저장매체, 인터넷 서버 중 어느 하나를 가리키는 리소스 로케이터가 부가되어 있는 것을 특징으로 하는 정보저장매체.The location information is represented by a path of the preload list file, wherein the path is added with a resource locator indicating any one of a memory, the information storage medium, and an internet server. 제10항에 있어서,The method of claim 10, 상기 프리로드 리스트 파일은 상기 프리로드 대상 파일의 위치정보 및 속성을 포함하는 것을 특징으로 하는 정보저장매체.And the preload list file includes location information and attributes of the preload target file. 제13항에 있어서,The method of claim 13, 상기 프리로드 리스트 파일에는 상기 프리로드 대상 파일을 저장하기 위해 필요한 메모리의 크기정보가 더 기록되어 있는 것을 특징으로 하는 정보저장매체.And the size information of a memory necessary for storing the preload target file is further recorded in the preload list file. 제3항에 있어서,The method of claim 3, 상기 마크업 문서는The markup document 삭제 대상 파일을 메모리로부터 삭제할 것을 명령하는 삭제 정보를 더 포함하는 것을 특징으로 하는 정보저장매체.An information storage medium comprising: deletion information instructing to delete a file to be deleted from memory. 제15항에 있어서,The method of claim 15, 상기 삭제 정보는 삭제 리스트가 기록된 삭제 리스트 파일의 위치정보를 매개변수로 갖는 API(Application Program Interface)로 구현되는 것을 특징으로 하는 정보저장매체.The deletion information is an information storage medium, characterized in that implemented as an API (Application Program Interface) having the position information of the deletion list file in which the deletion list is recorded. 제15항에 있어서,The method of claim 15, 상기 삭제 정보는 상기 삭제 대상 파일의 경로를 포함하는 것을 특징으로 하는 정보저장매체.And the deletion information includes a path of the deletion target file. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020020057393A 2001-09-27 2002-09-19 Optical recording medium containing preload information, apparatus and method for reproducing therefor KR100553881B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA 2405647 CA2405647C (en) 2001-09-27 2002-09-27 Information storage medium containing preload information, apparatus and method for reproducing therefor
CA2790051A CA2790051A1 (en) 2001-09-27 2002-09-27 Method for preloading and recording preload information in an information storage medium
CA002531221A CA2531221A1 (en) 2001-09-27 2002-09-27 Method for managing a memory for preloading
MXPA02009526 MXPA02009526A (en) 2001-09-27 2002-09-27 Information recording media with recorded preload information, and device and method thereof.
CA002530887A CA2530887A1 (en) 2001-09-27 2002-09-27 Method for preloading and recording preload information in an information storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020010060137 2001-09-27
KR20010060137 2001-09-27
KR20010065393 2001-10-23
KR1020010065393 2001-10-23

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020030030367A Division KR100644606B1 (en) 2001-09-27 2003-05-13 Apparatus for reproducing content in interactive mode
KR1020030030366A Division KR100644605B1 (en) 2001-09-27 2003-05-13 Method for reproducing content in interactive mode, preloading, recording data and managing memory

Publications (2)

Publication Number Publication Date
KR20030027672A KR20030027672A (en) 2003-04-07
KR100553881B1 true KR100553881B1 (en) 2006-02-24

Family

ID=29586074

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020020057393A KR100553881B1 (en) 2001-09-27 2002-09-19 Optical recording medium containing preload information, apparatus and method for reproducing therefor
KR1020030030367A KR100644606B1 (en) 2001-09-27 2003-05-13 Apparatus for reproducing content in interactive mode
KR1020030030366A KR100644605B1 (en) 2001-09-27 2003-05-13 Method for reproducing content in interactive mode, preloading, recording data and managing memory

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020030030367A KR100644606B1 (en) 2001-09-27 2003-05-13 Apparatus for reproducing content in interactive mode
KR1020030030366A KR100644605B1 (en) 2001-09-27 2003-05-13 Method for reproducing content in interactive mode, preloading, recording data and managing memory

Country Status (2)

Country Link
KR (3) KR100553881B1 (en)
CA (1) CA2790051A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014665B1 (en) * 2003-10-06 2011-02-16 삼성전자주식회사 Information storage medium containing preload information, apparatus and method for reproducing therefor
KR101521595B1 (en) 2008-10-14 2015-05-19 삼성전자 주식회사 Data process apparatus for constructing interactive contents, its method and recording media

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990069334A (en) * 1998-02-06 1999-09-06 윤종용 A disk on which AV pointer table information is recorded, and a method of reading data recorded therein
KR19990076516A (en) * 1998-03-06 1999-10-15 윤종용 Storage medium and catalog information reproducing apparatus storing catalog information and method thereof
JP2000067522A (en) * 1998-08-25 2000-03-03 Sony Corp Information reproducing device/method, information recording device and its method, providing medium and recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990069334A (en) * 1998-02-06 1999-09-06 윤종용 A disk on which AV pointer table information is recorded, and a method of reading data recorded therein
KR19990076516A (en) * 1998-03-06 1999-10-15 윤종용 Storage medium and catalog information reproducing apparatus storing catalog information and method thereof
JP2000067522A (en) * 1998-08-25 2000-03-03 Sony Corp Information reproducing device/method, information recording device and its method, providing medium and recording medium

Also Published As

Publication number Publication date
KR100644605B1 (en) 2006-11-10
KR20030027672A (en) 2003-04-07
KR20030041948A (en) 2003-05-27
KR100644606B1 (en) 2006-11-10
CA2790051A1 (en) 2003-03-27
KR20030041947A (en) 2003-05-27

Similar Documents

Publication Publication Date Title
JP4559322B2 (en) Memory management method
US20050160352A1 (en) Information storage medium containing preload information, apparatus for and method of reproducing therefor
KR100514733B1 (en) Information storage medium, reproducing method, and reproducing apparatus for supporting interactive mode
JP2006503401A (en) Information storage medium on which control information for controlling buffering state of markup document is recorded, reproducing apparatus and reproducing method thereof
KR100553881B1 (en) Optical recording medium containing preload information, apparatus and method for reproducing therefor
KR100920654B1 (en) Method for controling a playback in interactive optical disc player
CN100407320C (en) Information storage medium, method and apparatus for the information storage medium playback
CA2405647C (en) Information storage medium containing preload information, apparatus and method for reproducing therefor
US20050172214A1 (en) Information storage medium containing preload information, apparatus for and method of reproducing therefor
KR100584561B1 (en) Apparatus for reproducing Audio-Visual data in interactive mode using markup document
KR100553891B1 (en) Reproducing method for interactive mode using markup documents
RU2298845C2 (en) Data storage carrier, having information for controlling buffered state of markup document, and also method and device for reproducing data from data storage carrier
CA2531221A1 (en) Method for managing a memory for preloading
TWI236002B (en) Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee