KR100584563B1 - Computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document - Google Patents

Computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document Download PDF

Info

Publication number
KR100584563B1
KR100584563B1 KR1020030058893A KR20030058893A KR100584563B1 KR 100584563 B1 KR100584563 B1 KR 100584563B1 KR 1020030058893 A KR1020030058893 A KR 1020030058893A KR 20030058893 A KR20030058893 A KR 20030058893A KR 100584563 B1 KR100584563 B1 KR 100584563B1
Authority
KR
South Korea
Prior art keywords
markup document
preload
program code
data
dvd
Prior art date
Application number
KR1020030058893A
Other languages
Korean (ko)
Other versions
KR20040034373A (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 US10/685,697 priority Critical patent/US20040143853A1/en
Priority to AU2003269556A priority patent/AU2003269556A1/en
Priority to BR0314834-3A priority patent/BR0314834A/en
Priority to US10/685,699 priority patent/US20040141716A1/en
Priority to US10/686,521 priority patent/US20040139394A1/en
Priority to PL03375841A priority patent/PL375841A1/en
Priority to MXPA05003904A priority patent/MXPA05003904A/en
Priority to US10/685,696 priority patent/US20040148627A1/en
Priority to JP2005501364A priority patent/JP2006503401A/en
Priority to EP03751571A priority patent/EP1552517A4/en
Priority to US10/686,537 priority patent/US20040139395A1/en
Priority to US10/685,694 priority patent/US20040139249A1/en
Priority to PCT/KR2003/002155 priority patent/WO2004036576A1/en
Priority to CA002498885A priority patent/CA2498885A1/en
Priority to TW92128840A priority patent/TWI236002B/en
Priority to MYPI20033962A priority patent/MY137686A/en
Publication of KR20040034373A publication Critical patent/KR20040034373A/en
Publication of KR100584563B1 publication Critical patent/KR100584563B1/en
Application granted granted Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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
    • G11B23/00Record carriers not specific to the method of recording or reproducing; Accessories, e.g. containers, specially adapted for co-operation with the recording or reproducing apparatus ; Intermediate mediums; Apparatus or processes specially adapted for their manufacture
    • G11B23/38Visual features other than those contained in record tracks or represented by sprocket holes the visual signals being auxiliary signals
    • G11B23/44Information for display simultaneously with playback of the record, e.g. photographic matter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10731Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control wherein the buffer I/O can be temporarily suspended, e.g. by refusing to accept further data to be buffered
    • 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/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • G11B2020/10768Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data by pre-caching the initial portion of songs or other recorded or downloaded data for starting playback instantly
    • 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 recorded thereon information for controlling a buffer state of a markup document, a reproduction apparatus and a reproduction method thereof.

본 발명에 따른 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체는 상기 마크업 문서를 프리로드하기 위한 버퍼링을 수행하기 위한 제1 프로그램 코드; 및 상기 마크업 문서의 버퍼링이 완료되었는지 여부에 대한 정보를 출력하기 위한 제2 프로그램 코드를 포함하는 것을 특징으로 한다. 이에 따라, DVD에 기록된 AV 데이터를 재생하여 마크업 문서를 통해 디스플레이하는 경우 동영상 화면과 연관된 마크업 문서를 디스플레이하고자 할 때, 마크업 문서의 버퍼링 상태를 조사할 수 있으므로, 디스크의 물리적 파손 또는 네트워크의 오동작(연결 끊김)에 따라 마크업 문서를 버퍼링할 수 없게 되었을 때, 즉, 재생과 다운로드 지연 현상과 같은 오동작 발생시에도 대체 마크업 문서를 활용하거나 자연스러운 넘기기 동작이 가능하게 된다.In order to perform a method of preloading a markup document according to the present invention and reproducing the AV data in the interactive mode, an information storage medium having recorded thereon program code executable by a computer is provided with buffering for preloading the markup document. First program code for performing; And second program code for outputting information on whether or not buffering of the markup document is completed. Accordingly, when the AV data recorded on the DVD is reproduced and displayed through the markup document, when the markup document associated with the movie screen is to be displayed, the buffering state of the markup document can be examined, thereby preventing physical damage of the disc or When a markup document cannot be buffered due to a network malfunction (disconnection), that is, even when a malfunction such as playback and download delay occurs, an alternative markup document may be utilized or a natural flipping operation may be performed.

Description

마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하는 프로그램 코드가 기록된 정보저장매체 {Computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document}A computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document}

도 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 device for preloading or deleting;

도 4는 프리로드 또는 삭제를 지원하는 DVD(300)의 디렉토리 구조를 도시한 참고도,4 is a reference diagram illustrating a directory structure of a DVD 300 supporting preloading or deleting;

도 5는 프리로드 또는 삭제를 지원하는 DVD(300)의 볼륨 공간(Volume Space)의 개략도,5 is a schematic diagram of a volume space of the DVD 300 supporting preloading or erasing,

도 6은 프리로드 또는 삭제가 수행되는 과정을 설명하기 위한 플로우챠트,6 is a flowchart illustrating a process in which preloading or deletion is performed;

도 7은 도 6의 프리로드 정보 해석단계(602단계)의 일 구현예,FIG. 7 is an embodiment of preload information interpretation step 602 of FIG. 6;

도 8은 도 6의 프리로드 대상 파일의 프리로드 실행단계(603단계)의 일 구현예,FIG. 8 is an embodiment of preload execution step (603) of a preload target file of FIG. 6;

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

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

도 10은 메모리에 저장된 프리로드 대상 파일 중 적어도 하나를 삭제하는 과정을 설명하기 위한 플로우챠트,10 is a flowchart illustrating a process of deleting at least one of a preload target file stored in a memory;

도 11은 도 10의 삭제 실행단계(1002단계)의 일 구현예,FIG. 11 is an embodiment of a deleting execution step (step 1002) of FIG. 10;

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

도 13 및 14는 본 발명의 바람직한 실시예에 따른 재생 장치의 블록도,13 and 14 are block diagrams of a playback apparatus according to a preferred embodiment of the present invention;

도 15는 본 발명에 따라 버퍼 매니저가 ENAV 버퍼의 마크업 문서의 버퍼링 상태를 매니징하는 과정을 보여주는 개념도,15 is a conceptual diagram illustrating a process of a buffer manager managing a buffering state of a markup document of an ENAV buffer according to the present invention;

도 16은 본 발명의 바람직한 실시예에 따라 컨텐트 디코더와 버퍼 매니저에 의해 실행되는 버퍼 상태 제어 방법을 설명하는 플로우챠트이다.16 is a flowchart for explaining a method of controlling a buffer state executed by a content decoder and a buffer manager according to a preferred embodiment of the present invention.

도 17은 본 발명의 바람직한 실시예에 따라 AV 데이터와 마크업 문서가 기록된 디스크의 개략도,17 is a schematic diagram of a disc on which AV data and a markup document are recorded according to a preferred embodiment of the present invention;

도 18은 도 17과 같이 AV 데이터와 마크업 문서가 기록된 디스크의 디렉토리 구조도,FIG. 18 is a directory structure diagram of a disk on which AV data and markup documents are recorded as shown in FIG. 17;

도 19는 도 17에 따른 디스크의 볼륨 구조와 파일 구조를 보여주는 구조도,19 is a structural diagram showing a volume structure and a file structure of a disk according to FIG. 17;

도 20은 본 발명에 따라 도 17의 디스크에 저장된 마크업 문서 데이터와 AV 데이터가 재생되는 과정을 보여준다.20 illustrates a process of reproducing markup document data and AV data stored in the disk of FIG. 17 according to the present invention.

본 발명은 마크업 문서의 버퍼 상태를 제어하기 위한 정보가 기록된 정보저장매체, 그 재생 장치 및 재생 방법에 관한 것이다.The present invention relates to an information storage medium having recorded thereon information for controlling a buffer state of a markup document, a reproduction apparatus and a reproduction method thereof.

컨텐트와 함께 마크업 문서가 기록된 DVD(이하 "인터렉티브 DVD"라 함)가 판매되고 있다. 인터렉티브 DVD에 기록된 컨텐트는 두 가지 방법으로 재생될 수 있다. 하나는 일반 DVD와 동일하게 디스플레이되는 비디오 모드이고, 다른 하나는 마크업 문서에 의해 정의되는 표시창을 통해 디스플레이되는 인터렉티브 모드이다. 사용자에 의해 인터렉티브 모드가 선택되면 PC에 탑재된 웹브라우저는 인터렉티브 DVD에 기록되어 있는 마크업 문서를 디스플레이한다. 마크업 문서에 의해 정의되는 표시창에는 사용자가 선택한 컨텐트가 표시된다.DVDs having recorded markup documents along with their 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 through a display window defined by 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 display window defined by the markup document displays the content selected by the user.

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

이에, 본 출원인은 2002년 9월 19일자로 한국특허출원 제02-57393호 "프리로드 정보가 기록된 정보저장매체, 그 재생 장치 및 재생 방법"을 출원한 바 있다. 여기에는 마크업 문서를 사용하여 소정 컨텐트를 인터렉티브 모드로 재생함에 있어서 컨텐트의 끊김현상이 발생되지 않도록 해주는 <프리로드>가 개시되어 있다. 다만, <프리로드>에 의하면, 프리로드 대상 파일 전체를 프리로드할 경우에는 문제가 없으나, 전체 프리로드 대상 파일 중, 적어도 일부를 제대로 읽어 들이지 못할 경우 모두 프리젠테이션할 수 없는 상황이 발생할 수 있다.Accordingly, the applicant has filed on September 19, 2002, Korean Patent Application No. 02-57393, "Information storage medium on which preload information is recorded, its reproducing apparatus, and a reproducing method." Herein, <Preload> is disclosed to prevent content dropout when playing a predetermined content in an interactive mode using a markup document. However, according to the <preload>, there is no problem when preloading the entire preload target file, but if at least a part of the entire preload target file is not properly read, a situation may occur in which all of the preload target files cannot be presented. .

따라서, 본 발명의 목적은 프리로드를 수행함에 있어 프리로드 대상 파일 중 적어도 일부를 제대로 프리로드하지 못할 경우라하더라도 적절히 프리젠테이션이 가능하도록 마크업 문서의 버퍼링 상태를 제어할 수 있는 제어 정보가 기록된 정보저장매체, 그 재생 장치 및 재생 방법을 제공함에 있다.Accordingly, an object of the present invention is to record the control information for controlling the buffering state of the markup document so that the presentation can be properly performed even when at least some of the preload target files are not properly preloaded. An information storage medium, a reproducing apparatus, and a reproducing method thereof are provided.

상기 목적은 본 발명에 따라, AV 데이터를 마크업 문서를 사용하여 인터렉티브 모드로 재생하는 재생 장치에 있어서, 상기 마크업 문서를 버퍼링하는 버퍼; 및 상기 버퍼를 관리하여 상기 마크업 문서를 프리로드하는 버퍼 매니저를 포함하고, 상기 버퍼 매니저는 report 신호에 응답하여 상기 버퍼의 버퍼링 상태 정보를 출력하는 것을 특징으로 하는 재생 장치에 의해서 달성된다.According to the present invention, there is provided a reproduction apparatus for reproducing AV data in an interactive mode using a markup document, comprising: a buffer for buffering the markup document; And a buffer manager for managing the buffer to preload the markup document, wherein the buffer manager outputs buffering state information of the buffer in response to a report signal.

상기 재생 장치는 상기 마크업 문서를 해석하고 디코딩하며 상기 버퍼 매니저로 상기 report 신호를 발생시키는 컨텐트 디코더를 더 포함하고, 상기 버퍼 매 니저는 상기 버퍼링 상태 정보를 상기 컨텐트 디코더로 알려주는 것이 바람직하다.The playback apparatus further includes a content decoder for interpreting and decoding the markup document and generating the report signal to the buffer manager, wherein the buffer manager informs the content decoder of the buffering status information.

상기 컨텐트 디코더는 API를 이용하여 상기 report 신호를 발생시키거나, 상기 마크업 문서의 파일 경로 및 상기 마크업 문서의 속성 중 적어도 하나를 매개변수로 갖는 API를 이용하여 상기 report 신호를 발생시키거나, [obj].isCached(URL,resType) API를 이용하여 상기 report 신호를 발생시킴이 바람직하다(여기서, URL은 상기 마크업 문서의 파일 경로를 나타내는 매개변수이고, resType은 상기 마크업 문서의 속성을 나타내는 매개변수이다).The content decoder generates the report signal using an API, or generates the report signal using an API having at least one of a file path of the markup document and an attribute of the markup document as a parameter. It is preferable to generate the report signal using the [obj] .isCached (URL, resType) API (where URL is a parameter representing a file path of the markup document and resType is an attribute of the markup document). Parameter).

상기 컨텐트 디코더는 API를 통해 상기 버퍼 매니저가 대응하는 마크업 문서의 프리로드에 성공하였는지, 실패하였는지 또는 읽는 중인지를 통지받는 것이 바람직하다.Preferably, the content decoder is informed via an API whether the buffer manager has succeeded, failed, or reading the corresponding markup document.

상기 API는 상기 버퍼 매니저가 대응하는 마크업 문서의 읽기에 성공하면 0 을 반환하고, 실패하면 1을 반환하며, 읽는 중이면 2을 반환하는 것이 바람직하다.The API preferably returns 0 if the buffer manager succeeds in reading the corresponding markup document, returns 1 if it fails, and returns 2 if reading.

상기 버퍼 매니저는 상기 버퍼링 상태 정보를 API를 통해 상기 컨텐트 디코더로 알려주는 것이 바람직하다.The buffer manager preferably informs the content decoder of the buffering state information through an API.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법에 있어서, (a) 상기 마크업 문서를 프리로드하기 위해 버퍼링하는 단계; 및 (b) report 신호에 응답하여 상기 마크업 문서의 버퍼링 상태 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 재생 방법에 의해서도 달성된다.On the other hand, according to another aspect of the present invention, the object is a method for preloading the markup document to reproduce the AV data in the interactive mode, the method comprising the steps of: (a) buffering to preload the markup document; And (b) outputting buffering state information of the markup document in response to a report signal.

상기 (b)단계는 (b1) 상기 마크업 문서의 버퍼링을 관리하는 버퍼 매니저로 상기 마크업 문서를 해석하고 디코딩하는 컨텐트 디코더가 상기 report 신호를 발생시키는 단계; 및 (b2) 상기 버퍼 매니저가 상기 버퍼링 상태 정보를 상기 컨텐트 디코더로 알려주는 단계를 포함하는 것이 바람직하다.Step (b) may include: (b1) generating a report signal by a content decoder for interpreting and decoding the markup document to a buffer manager that manages buffering of the markup document; And (b2) the buffer manager notifying the content decoder of the buffering state information.

상기 (b1)단계는 상기 컨텐트 디코더가 API를 이용하여 상기 report 신호를 발생시키는 단계이거나, 상기 컨텐트 디코더가 상기 마크업 문서의 파일 경로 및 상기 마크업 문서의 속성 중 적어도 하나를 매개변수로 갖는 API를 이용하여 상기 report 신호를 발생시키는 단계이거나, 상기 컨텐트 디코더가 [obj].isCached(URL,resType) API를 이용하여 상기 report 신호를 발생시키는 단계임이 바람직하다(여기서, URL은 상기 마크업 문서의 파일 경로를 나타내는 매개변수이고, resType은 상기 마크업 문서의 속성을 나타내는 매개변수이다).In the step (b1), the content decoder generates the report signal using an API, or the content decoder uses at least one of a file path of the markup document and an attribute of the markup document as parameters. It is preferable that the report signal is generated by using or the content decoder is the step of generating the report signal by using the [obj] .isCached (URL, resType) API. Parameter indicating a file path, and resType is a parameter indicating an attribute of the markup document).

상기 (b2)단계는 상기 컨텐트 디코더가 API를 통해 상기 버퍼 매니저로부터 대응하는 마크업 문서의 읽기에 성공하였는지, 실패하였는지 또는 읽는 중인지를 상기 버퍼링 상태 정보로서 통지받는 단계이거나, 상기 API는 상기 버퍼 매니저가 대응하는 마크업 문서의 읽기에 성공하면 상기 버퍼링 상태 정보로서, 0을 반환하고, 실패하면 1을 반환하며, 읽는 중이면 2를 반환하는 단계를 포함하는 것이 바람직하다.In the step (b2), the content decoder is notified as the buffering status information whether the reading of the corresponding markup document from the buffer manager is successful, failed, or being read through the API, or the API is the buffer manager. Preferably returns 0 as the buffering state information if the reading of the corresponding markup document succeeds, and returns 2 if the reading fails.

한편, 본 발명의 다른 분야에 따르면, AV 데이터; 상기 AV 데이터를 인터랙티브 모드로 재생하기 위한 복수개의 마크업 문서; 및 상기 AV 데이터를 인터랙티브 모드로 재생하기 위해 필요한 마크업 문서를 프리로드하기 위한 버퍼링 상태 정보를 알아보기 위한 제어 정보를 포함하는 것을 특징으로 하는 정보저장매체에 의 해서도 달성된다.On the other hand, according to another field of the present invention, AV data; A plurality of markup documents for reproducing the AV data in an interactive mode; And control information for retrieving buffering state information for preloading a markup document required for reproducing the AV data in the interactive mode.

상기 제어 정보는 소정 마크업 문서에 기록되어 있거나, 상기 버퍼링 상태 정보를 알아보기 위한 report 신호를 발생시키는 API를 사용하여 기록되거나, 상기 버퍼링 상태 정보를 알아보기 위한 report 신호를 발생시키는 [obj].isCached(URL,resType) API를 사용하여 기록됨이 바람직하다(여기서, URL은 상기 마크업 문서의 파일 경로를 나타내는 매개변수이고, resType은 상기 마크업 문서의 속성을 나타내는 매개변수이다).The control information is recorded in a predetermined markup document, is recorded using an API for generating a report signal for retrieving the buffering state information, or generates an report signal for retrieving the buffering state information. It is preferably written using the isCached (URL, resType) API (where URL is a parameter representing the file path of the markup document and resType is a parameter representing the attribute of the markup document).

또한, 본 발명의 다른 분야에 따르면, 상기 목적은 AV 데이터를 마크업 문서를 사용하여 인터렉티브 모드로 재생하는 재생 장치에 있어서, 상기 마크업 문서를 버퍼링하는 버퍼; 상기 버퍼를 관리하여 상기 마크업 문서를 상기 버퍼에 프리로드하는 버퍼 매니저; 및 상기 버퍼에 버퍼링되어 있는 마크업 문서를 가져와서 해석하고 디코딩하는 컨텐트 디코더를 포함하고, 상기 버퍼 매니저는 상기 버퍼의 프리로드 완료 여부를 상기 컨텐트 디코더로 알려주는 것을 특징으로 하는 재생 장치에 의해서도 달성된다.According to another aspect of the present invention, there is provided a reproduction apparatus for reproducing AV data in an interactive mode using a markup document, comprising: a buffer for buffering the markup document; A buffer manager that manages the buffer and preloads the markup document into the buffer; And a content decoder that takes, interprets, and decodes the markup document buffered in the buffer, wherein the buffer manager informs the content decoder whether the buffer has been preloaded. do.

상기 버퍼 매니저는 상기 버퍼의 프리로드 완료 여부를 API를 사용하여 상기 컨텐트 디코더로 알려주거나, fetch 신호에 응답하여 대응하는 마크업 문서를 상기 버퍼에 프리로드하거나, 상기 컨텐트 디코더로부터의 fetch 신호에 응답하여 대응하는 마크업 문서를 상기 버퍼에 프리로드하거나, 상기 컨텐트 디코더로부터의 fetch 신호에 의한 프리로드의 완료 여부를 상기 컨텐트 디코더로 알려주는 것이 바람직하다.The buffer manager informs the content decoder whether the buffer has completed preloading by using an API, preloads a corresponding markup document into the buffer in response to a fetch signal, or responds to a fetch signal from the content decoder. It is preferable to preload a corresponding markup document to the buffer, or to inform the content decoder whether the preload is completed by a fetch signal from the content decoder.

상기 컨텐트 디코더는 API를 이용하여 상기 fetch 신호를 발생시키거나, API를 이용하여 상기 버퍼 매니저로 상기 버퍼의 프리로드 완료 여부를 확인하거나, 대응하는 마크업 문서의 프리로드가 완료되었는지 여부를 API를 사용하여 확인하거나, 상기 프리로드의 완료 여부를 [obj].allDone API를 사용하여 확인하는 것이 바람직하다.The content decoder generates the fetch signal using an API, checks whether the buffer has been preloaded to the buffer manager using the API, or checks whether the preload of the corresponding markup document is completed. It is preferable to use the [obj] .allDone API to check whether the preload is completed or not.

상기[obj].allDone API는 현재 성공 완료이면 성공을 반환하고, 그렇지 않으면 실패를 반환하는 것이 더욱 바람직하다.More preferably, the [obj] .allDone API returns success if the current success is completed, and otherwise returns failure.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법에 있어서, (a) 상기 마크업 문서를 프리로드하기 위해 버퍼링하는 단계; 및 (b) 상기 마크업 문서의 버퍼링이 완료되었는지 여부에 대한 정보를 출력하는 단계를 포함하는 것을 특징으로 하는 재생 방법에 의해서도 달성된다.On the other hand, according to another aspect of the present invention, the object is a method for preloading the markup document to reproduce the AV data in the interactive mode, the method comprising the steps of: (a) buffering to preload the markup document; And (b) outputting information on whether or not buffering of the markup document is completed.

상기 (a)단계는 프리로드를 지시하는 fetch 신호에 응답하여 버퍼링하는 단계를 포함하는 것이 바람직하다.Step (a) preferably includes buffering in response to a fetch signal indicating a preload.

상기 (b)단계는 상기 마크업 문서의 버퍼링이 완료되었는지 여부를 확인하는 API에 응답하여 수행되거나, 상기 마크업 문서의 버퍼링이 완료되었는지 여부를 확인하는 [obj].allDone API에 응답하여 수행됨이 바람직하다.The step (b) is performed in response to an API for checking whether the buffering of the markup document is completed, or in response to an [obj] .allDone API for checking whether the buffering of the markup document is completed. desirable.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법에 있어서, (a) fetch 신호를 사용하여 상기 마크업 문서의 프리로드를 지시하는 단계; 및 (b) 상기 fetch 신호 에 의한 프리로드 지시의 성공 여부를 응답받는 단계를 포함하는 것을 특징으로 하는 재생 방법에 의해서도 달성된다.According to another aspect of the present invention, the above object is a method of preloading a markup document and reproducing the AV data in an interactive mode, the method comprising: (a) indicating a preload of the markup document using a fetch signal; step; And (b) receiving a response indicating whether the preload instruction is successful by the fetch signal.

상기 (a)단계는 컨텐트 디코더가 API를 이용하여 상기 fetch 신호를 상기 마크업 문서의 프리로드를 수행하는 버퍼 매니저로 발생시키는 단계임이 바람직하다.In the step (a), it is preferable that the content decoder generates an fetch signal to a buffer manager which preloads the markup document using an API.

상기 (b)단계는 상기 마크업 문서의 프리로드를 수행하는 버퍼 매니저가 상기 프리로드 지시의 성공 여부를 API를 이용하여 상기 컨텐트 디코더로 알려주는 단계임이 바람직하다.In the step (b), the buffer manager for preloading the markup document informs the content decoder whether the preload instruction is successful by using an API.

또한, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법에 있어서, (a) 컨텐트 디코더가 API를 이용하여 현재 프리로드를 완료하였는지 여부를 버퍼 매니저로 확인하는 단계; 및 (b) 상기 버퍼 매니저는 상기 API를 이용하여 현재 프리로드 작업을 성공 완료하였으면 상기 컨텐트 디코더로 성공을 반환하고, 그렇지 않으면 상기 컨텐트 디코더로 실패를 반환하는 단계를 포함하는 것을 특징으로 하는 재생 방법에 의해서도 달성된다.In addition, the object of the present invention is a method of preloading a markup document and playing back AV data in an interactive mode, the method comprising: (a) checking, by a buffer manager, whether a content decoder has completed a current preload using an API; And (b) returning success to the content decoder if the buffer manager has successfully completed the current preload operation using the API; otherwise, returning a failure to the content decoder. It is also achieved by

상기 API는 [obj].allDone API임이 바람직하다.Preferably, the API is [obj] .allDone API.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체에 있어서, 상기 마크업 문서를 프리로드하기 위한 버퍼링을 수행하기 위한 제1 프로그램 코드; 및 상기 마크업 문서의 버퍼링이 완료되었는지 여부에 대한 정보를 출력하기 위한 제2 프로그램 코드를 포함하는 것을 특징으로 하는 정보저장매체에 의해서도 달성된다.On the other hand, according to another field of the present invention, an object of the present invention is to provide an information storage medium in which a program code executable by a computer is recorded for performing a method of preloading a markup document to reproduce AV data in an interactive mode. First program code for performing buffering to preload the markup document; And a second program code for outputting information on whether or not buffering of the markup document is completed.

상기 제1 프로그램 코드는 프리로드를 지시하는 fetch 신호에 응답하여 실행됨이 바람직하다.Preferably, the first program code is executed in response to a fetch signal indicating a preload.

상기 제2 프로그램 코드는 상기 마크업 문서의 버퍼링이 완료되었는지 여부를 확인하는 API에 응답하여 실행되거나, 상기 마크업 문서의 버퍼링이 완료되었는지 여부를 확인하는 [obj].allDone API에 응답하여 실행됨이 바람직하다.The second program code is executed in response to an API for checking whether the buffering of the markup document is completed or in response to an [obj] .allDone API for checking whether the buffering of the markup document is completed. This is preferable.

또한, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체에 있어서, fetch 신호를 사용하여 상기 마크업 문서의 프리로드를 지시하는 제1 프로그램 코드; 상기 fetch 신호에 의한 프리로드 지시의 성공 여부를 응답받는 제2 프로그램 코드를 포함하는 것을 특징으로 하는 정보저장매체에 의해서도 달성된다.In addition, the above object is an information storage medium in which program code executable by a computer is recorded for performing a method of preloading a markup document to reproduce AV data in an interactive mode, by using a fetch signal. First program code indicative of preloading a document; It is also achieved by the information storage medium, characterized in that it comprises a second program code that receives the success or failure of the preload instruction by the fetch signal.

상기 제1 프로그램 코드는 컨텐트 디코더가 API를 이용하여 상기 fetch 신호를 상기 마크업 문서의 프리로드를 수행하는 버퍼 매니저로 발생시키기 위한 것임이 바람직하다.Preferably, the first program code is for a content decoder to generate a fetch signal to a buffer manager that preloads the markup document using an API.

상기 제2 프로그램 코드는 상기 마크업 문서의 프리로드를 수행하는 버퍼 매니저가 상기 프리로드 지시의 성공 여부를 API를 이용하여 상기 컨텐트 디코더로 알려주기 위한 것임이 바람직하다.Preferably, the second program code is for a buffer manager that preloads the markup document to inform the content decoder whether the preload instruction is successful or not using an API.

또한, 상기 목적은 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체에 있어서, 컨텐트 디코더가 API를 이용하여 현재 프리로드를 완료하였는지 여부를 버퍼 매니저로 확인하기 위한 제1 프로그램 코드; 및 상기 버퍼 매니저는 상기 API를 이용하여 현재 프리로드 작업을 성공 완료하였으면 상기 컨텐트 디코더로 성공을 반환하고, 그렇지 않으면 상기 컨텐트 디코더로 실패를 반환하도록 하는 제2 프로그램 코드를 포함하는 것을 특징으로 하는 정보저장매체에 의해서도 달성된다.In addition, the above object is to provide a method for preloading a markup document and playing back AV data in an interactive mode, in an information storage medium in which program code executable by a computer is recorded. First program code for confirming with the buffer manager whether the preload has been completed; And second program code for returning success to the content decoder if the buffer manager has successfully completed the current preload operation using the API, and returning a failure to the content decoder. It is also achieved by a storage medium.

상기 API는 [obj].allDone API임이 바람직하다.Preferably, the API is [obj] .allDone API.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이해를 돕기 위해, 먼저 <프리로드> 및 <삭제>를 수행하는 재생 장치 및 그 방법에 대해 개략적으로 설명한다. For the sake of understanding, a brief description will be given of a playback device and method for performing <preload> and <delete> .

도 3은 프리로드 또는 삭제를 수행하는 재생 장치의 블록도이다.3 is a block diagram of a reproducing apparatus for preloading or erasing.

도 3을 참조하면, 재생 장치는 DVD(300)에 기록된 AV 데이터를 디코딩하여 AV 데이터 스트림으로 재생한 다음 마크업 문서에 의해 정의되는 표시창을 통해 디스플레이할 수 있는 인터렉티브 모드를 지원하는 장치로서, 독출부(1), 제1 메모리(2), 제2 메모리(3), AV 디코더(4), 및 프리젠테이션 엔진(5)을 포함한다. 인터렉티브 모드에서 디스플레이되는 화면은 인터렉티브 화면으로, 마크업 화면에 AV 화면이 매립된 화면을 가리킨다. 마크업 화면은 마크업 문서가 디스플레이된 화면이고 AV 화면은 AV 데이터가 재생되어 얻어지는 화면을 말한다.Referring to FIG. 3, a reproducing apparatus is an apparatus that supports an interactive mode that can decode AV data recorded on a DVD 300 to be reproduced as an AV data stream and then display it through a display window defined by a markup document. The reader 1, the first memory 2, the second memory 3, the AV decoder 4, and the presentation engine 5 are included. 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 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. However, the preload target file may be stored in an internet server accessible through the internet.

「프리로드 정보」는 프리로드 대상 파일을 독출하여 캐시 메모리에 저장할 것을 명령하는 정보이다. 프리로드 정보는 일 예로, 프리로드 리스트 파일의 경로 및/또는 속성이 삽입되어 있는 링크 태그로 구현될 수 있다. 이때 링크 태그는 헤드 태그 내에 삽입된다. 다른 예로, 프리로드 리스트 파일의 경로 및/또는 속성을 매개변수로 가지며 프리로드 리스트 파일을 호출하는 자바스크립트 API 또는 자바 애플릿 API로 구현된다. 또 다른 예로, 직접 프리로드 대상 파일의 경로 및/속성을 매개변수로 가지며 프리로드 대상 파일을 호출하는 자바스크립트 API 또는 자바 애플릿 API로 구현된다. 이 경우 프리로드 리스트 파일은 존재하지 않는다."Preload information" is information for instructing the preload target file to be read and stored in the 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.

삭제 리스트 파일에는 삭제되어야 할 파일의 위치정보(파일명 및 경로)가 나열된 삭제 리스트가 기록되어 있다. 「삭제 정보」는 삭제 대상 파일을 제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, it is implemented as a JavaScript API or a Java Applet API that directly takes the path and / or attribute of the file to be deleted as a parameter and deletes the file to be deleted. In this case, the delete list file does not exist.

도 4는 프리로드 또는 삭제를 지원하는 DVD(300)의 디렉토리 구조를 도시한 참고도이다.4 is a reference diagram illustrating a directory structure of a DVD 300 supporting preloading or deleting.

도 4를 참조하면, 루트 디렉토리에는 AV 데이터가 포함된 DVD 비디오 디렉토리 VIDEO_TS와 마크업 문서 등 인터렉티브 기능을 지원하기 위한 데이터가 기록된 DVD 인터렉티브 디렉토리 DVD_ENAV가 마련되어 있다.Referring to FIG. 4, 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.

도 5는 프리로드 또는 삭제를 지원하는 DVD(300)의 볼륨 공간(Volume Space)의 개략도이다.5 is a schematic diagram of a volume space of the DVD 300 supporting preloading or erasing.

도 5를 참조하면, DVD(300)의 Volume Space에는 Volume과 파일에 대한 제어 정보가 기록된 제어정보 영역, 대응 비디오 타이틀 데이터가 기록된 DVD-Video 데 이터 영역, 및 인터렉티브 모드로 재생될 수 있도록 하는 DVD-Interactive Data 영역을 포함한다.Referring to FIG. 5, 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. It contains a 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.

상기와 같은 구성을 기초로 프리로드 또는 삭제가 수행되는 과정을 설명하면 다음과 같다.A process of preloading or deleting is performed based on the above configuration.

도 6은 프리로드 또는 삭제가 수행되는 과정을 설명하기 위한 플로우챠트이다.6 is a flowchart for explaining a process in which preloading or deletion is performed.

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

한편, 독출부(1)는 대응 AV 데이터를 DVD(300)로부터 독출하여 버퍼 메모리인 제1 메모리(2)에 저장한다(604단계). AV 디코더(4)는 제1 메모리(1)에 저장된 AV 데이터를 디코딩하는 한편(605단계), 프리젠테이션 엔진(5)은 제2 메모리(3)로부터 프리로드 대상 파일을 독출하고 AV 디코더(4)에 의해 디코딩된 AV 데이터 스 트림이 HTML 문서에 의해 정의된 표시창에 디스플레이되도록 한다(606단계).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 604). The AV decoder 4 decodes the AV data stored in the first memory 1 (step 605), 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 the &lt; RTI ID = 0.0 &gt; 1) &lt; / RTI &gt;

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

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

도 8은 도 6의 프리로드 대상 파일의 프리로드 실행단계(603단계)의 일 구현예이다. 도 8을 참조하면, 프리젠테이션 엔진(5)은 HTML 문서의 헤드 태그 내에 있는 링크 태그 내에 기록된 프리로드 리스트 파일의 경로를 인식하여 프리로드 리스트 파일을 호출한다(801단계). 다음으로, 프리젠테이션 엔진(5)은 프리로드 대상 파일의 경로 및 속성을 변수로 갖는 프리로드 태그를 포함하는 프리로드 리스트 파일을 해석하여 프리로드를 실행한다(802단계).FIG. 8 is an exemplary embodiment of a preload execution step (step 603) of the preload target file of FIG. Referring to FIG. 8, 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 801). Next, the presentation engine 5 analyzes the preload list file including the preload tag having the path and the attribute of the preload target file as variables (step 802).

도 9a는 도 6의 프리로드 대상 파일의 프리로드 실행단계(603단계)의 다른 구현예이다. 도 9a를 참조하면, 프리젠테이션 엔진(5)은 바디 태그 내에 삽입되어, 프리로드 리스트 파일의 경로를 매개변수로 갖는 API를 호출하여 프리로드 리스트 파일을 독출한다(901a단계). 다음으로, 프리젠테이션 엔진(5)은 프리로드 대상 파일의 경로 및 속성을 변수로 갖는 프리로드 태그를 포함하는 프리로드 리스트 파일을 해석하여 프리로드를 실행한다(901b단계).FIG. 9A illustrates another implementation of the preload execution step (step 603) of the preload target file of FIG. 6. Referring to FIG. 9A, 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 901a). 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 901b).

도 9b는 도 6의 프리로드 대상 파일의 프리로드 실행단계(603단계)의 또 다 른 구현예이다. 도 9b를 참조하면, 프리젠테이션 엔진(5)은 바디 태그 내에 삽입되어, 직접 프리로드 대상 파일의 경로 및 속성을 매개변수로 갖는 API를 호출하여 프리로드 대상 파일을 메모리에 저장한다(901b단계). 이때, 프리로드 대상 파일의 속성을 파악할 수 있으므로 프리젠테이션 엔진(5)은 속성에 따라 프리로드 대상 파일을 처리한 다음 메모리에 저장할 수 있다.FIG. 9B is another embodiment of the preload execution step (603) of the preload target file of FIG. Referring to FIG. 9B, the presentation engine 5 is inserted in 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 memory (step 901b). . 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.

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

도 10를 참조하면, 프리젠테이션 엔진(5)은 HTML 문서에 포함된 삭제정보를 해석하고(1001단계), 삭제 리스트 파일로부터 인식된 삭제 대상 파일을 캐시 메모리인 제2 메모리(3)로부터 삭제한다(1002단계). 다만, 후술하는 소스코드에서 확인되듯이 본 실시예에서의 프리로드 리스트 파일과 삭제 리스트 파일은 동일한 하나의 파일, 즉 STARUP.PLD로 구현하였다. 물론 프리로드 대상 파일의 리스트와 삭제 대상 파일의 리스트가 각각 분리되어 기록된 두 개의 파일로도 구현할 수 있다.Referring to FIG. 10, the presentation engine 5 interprets deletion information included in an HTML document (step 1001), and deletes a deletion target file recognized from a deletion list file from the second memory 3, which is a cache memory. (Step 1002). 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.

도 11은 도 10의 삭제 실행단계(1002단계)의 일 구현예이다.FIG. 11 is an exemplary embodiment of a deleting execution step 1002 of FIG. 10.

도 11을 참조하면, 삭제 리스트 파일의 경로를 매개변수로 가지고 삭제 리스트 파일에 기록된 삭제 대상 파일을 캐시 메모리인 제2 메모리(3)로부터 삭제하는 API에 의해 실행되도록 한다(1101단계). 여기서,「삭제」의 의미는 물리적으로 해당 데이터를 지우는 가비지 콜렉션 뿐 아니라, 물리적으로 데이터는 그대로 둔 상태에서 플래그 등을 사용하여 해당 데이터가 삭제가능함을 알리거나 여기에 다른 데이터를 기록할 수 있음을 알리는 것을 포함한다.Referring to FIG. 11, the delete target file recorded in the delete list file as a parameter is deleted by the API for deleting from the second memory 3 which is the cache memory (step 1101). 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 includes informing.

도 12는 도 1과 동일한 순서로 AV 데이터 및 HTML 문서가 기록되어 있을 때 본 발명에 따른 프리로드 수행에 의한 효과를 설명하기 위한 참고도이다.FIG. 12 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.

도 12에는 MPEG 코딩된 AV 데이터가 버퍼링되는 제1 메모리(2)의 상태(occupancy)와 웹 리소스가 캐싱되는 제2 메모리(3)의 상태가 표시되어 있다. 도 1과 도 12를 참조하여 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 문서를 탐색하여 캐싱해야할 필요가 없다.FIG. 12 shows the occupancy of the first memory 2 in which the MPEG coded AV data is buffered and the state of the second memory 3 in which the web resources are cached. 1 and 12, the AV data is loaded and displayed. Referring to FIG. 1, the reader 1 searches for and reads STARTUP.HTM, and the presentation engine 5 preloads information inserted into 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. In other words, in DVDs that support interactive mode, even if the video and the HTML document of the DVD-Video are to be viewed in synchronization with each other (for example, when a specific actor appears, the bio about the 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.

<프리로드> 및 프리로드된 데이터의 <삭제>에 대한 보다 상세한 설명은 본 출원인이 2002년 9월 19일자로 출원한 한국출원 제02-57393호 "프리로드 정보가 기록된 정보저장매체, 그 재생 장치 및 재생방법"에 기재되어 있다.<Preload> and <deletion> of the preloaded data are described in Korean Application No. 02-57393 filed on Sep. 19, 2002 by the present applicant. Playback apparatus and playback method.

이하에서는, 본 발명에 따라, 프리로드되는 대상 파일들 중 적어도 일부를 제대로 읽어들이지 못한 경우라도 적절한 수준에서 프리젠테이션할 수 있도록 마크업 문서의 버퍼링 상태를 적절히 제어할 수 있는 재생 장치, 방법 및 그 정보저장매체를 설명한다.Hereinafter, according to the present invention, a playback apparatus and method capable of appropriately controlling the buffering state of a markup document so that it can be presented at an appropriate level even when at least some of the pre-loaded target files are not properly read. Describes an information storage medium.

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

도 13을 참조하면, 재생 장치는 도 3의 재생 장치와 마찬가지로 인터렉티브 모드를 지원하는 장치로서, <프리로드>를 수행하며, 특히 본 발명에 따라 마크업 문서의 버퍼 상태를 관리하기 위해, AV 버퍼(20), AV 재생 엔진(40), ENAV 버퍼(30) 및 ENAV 엔진(50)을 포함한다. Referring to FIG. 13, the playback apparatus is an apparatus supporting an interactive mode similar to the playback apparatus of FIG. 3, and performs an <preload>, and in particular, in order to manage a buffer state of a markup document according to the present invention, an AV buffer. 20, an AV reproduction engine 40, an ENAV buffer 30, and an ENAV engine 50. As shown in FIG.

AV 버퍼(20)는 도 3의 제1 메모리(2)에 대응하는 것으로, 디스크(100) 또는 네트워크로부터 가져온 AV 데이터를 버퍼링한다. AV 재생 엔진(40)은 AV 버퍼(20)에 버퍼링되어 있는 AV 데이터를 디코딩하여 AV 스트림을 출력한다. ENAV 버퍼(30)는 도 3의 제2 메모리(3)에 대응하는 캐시 메모리로서, 디스크(100) 또는 네트워크로부터 가져온 마크업 문서를 버퍼링한다. ENAV 엔진(50)은 도 3의 프리젠테이션 엔진(5)에 해당하는 것으로, <프리로드>를 수행하고, ENAV 버퍼(30)에 버퍼링되고 있는 마크업 문서의 버퍼링 상태를 제어한다. 나아가, ENAV 버퍼(30)에 저장되어 있는 마크업 문서를 해석하거나 디코딩하여 AV 재생 엔진(40)으로부터 출력된 AV 스트림이 인터렉티브 모드로 재생되도록 한다.The AV buffer 20 corresponds to the first memory 2 of FIG. 3 and buffers the AV data obtained from the disk 100 or the network. The AV reproduction engine 40 decodes the AV data buffered in the AV buffer 20 and outputs an AV stream. The ENAV buffer 30 is a cache memory corresponding to the second memory 3 of FIG. 3 and buffers markup documents obtained from the disk 100 or the network. The ENAV engine 50 corresponds to the presentation engine 5 of FIG. 3, performs <preloading>, and controls the buffering state of markup documents buffered in the ENAV buffer 30. Further, the markup document stored in the ENAV buffer 30 is interpreted or decoded so that the AV stream output from the AV reproduction engine 40 is reproduced in the interactive mode.

도 14는 도 13의 ENAV 엔진(50)의 상세 블록도이다.14 is a detailed block diagram of the ENAV engine 50 of FIG.

도 14를 참조하면, ENAV 엔진(50)은 그 내부에 ENAV 버퍼(30)를 제어하는 버퍼 매니저(51)와 마크업 문서들을 해석하는 컨텐트 디코더(52)를 가진다.Referring to FIG. 14, the ENAV engine 50 has a buffer manager 51 controlling the ENAV buffer 30 therein and a content decoder 52 for interpreting markup documents.

컨텐트 디코더(52)는 마크업 문서를 파싱하여 해석하는 해석 엔진 및 네트워크로부터 마크업 문서를 가져오는 브라우저를 구비한다. 마크업 문서란 HTML, CSS, JAVASCRIPT와 같은 마크업 텍스트 데이터와 이미지 데이터나 오디오 데이터, 자바 프로그램 등과 같이 마크업 문서가 참조하는 바이너리 데이터를 망라하는 마크업 리소스를 말한다. 마크업 문서는 ENAV 엔진(50) 내의 버퍼 매니저(51)에 의해 디스크(100) 또는 네트워크로부터 불러들여진다.The content decoder 52 has a parsing engine for parsing and parsing markup documents and a browser for fetching markup documents from a network. A markup document is a markup resource that includes markup text data such as HTML, CSS, and JAVASCRIPT, and binary data referenced by the markup document such as image data, audio data, and a Java program. The markup document is retrieved from the disk 100 or the network by the buffer manager 51 in the ENAV engine 50.

버퍼 매니저(51)는 마크업 문서를 <프리로드>하거나 <삭제>함에 있어 본 발명에 따라 ENAV 버퍼(30)에 의한 마크업 문서의 버퍼링 상태를 매니징한다. 보다 구체적으로, 버퍼 매니저(51)는 컨텐트 디코더(52)로부터 입력되는 5 종류의 신호에 따라 동작하게 된다.The buffer manager 51 manages the buffering state of the markup document by the ENAV buffer 30 in accordance with the present invention in <preloading> or <deleting> the markup document. More specifically, the buffer manager 51 operates according to five kinds of signals input from the content decoder 52.

도 15는 본 발명에 따라 버퍼 매니저(51)가 ENAV 버퍼(30)의 마크업 문서의 버퍼링 상태를 매니징하는 과정을 보여주는 개념도이다.15 is a conceptual diagram illustrating a process in which the buffer manager 51 manages the buffering state of markup documents in the ENAV buffer 30 according to the present invention.

도 15를 참조하면, 컨텐트 디코더(52)로부터 버퍼 매니저(51)로 입력되는 신호는 1) fetch 신호, 2) retrieve 신호, 3) release 신호, 4) discard 신호, 5) report 신호가 있다.Referring to FIG. 15, a signal input from the content decoder 52 to the buffer manager 51 includes 1) a fetch signal, 2) a retrieve signal, 3) a release signal, 4) a discard signal, and 5) a report signal.

1) fetch 신호는 사용할 마크업 문서를 ENAV 버퍼(30)에 프리로드해 놓으라는 신호이다. 만약 지정한 마크업 문서가 이미 ENAV 버퍼(30)에 존재하면 I/O 매니저를 이용하여 데이터를 디스크(100)나 네트워크로부터 읽어들이지 않는다. I/O 매니저는 디스크(100)로부터 데이터를 읽어들이는 리더(도시되지 않음) 또는 네트워크로부터 데이터를 가져오기 위한 네트워크 데이터 송수신부(도시되지 않음)를 가리킨다. 리더는 디스크(100)로부터 파일을 독출하고, 네트워크 데이터 송수신부는 HTTP 프로토콜을 사용하여 네트워크로부터 소정 데이터를 가져오거나 내보낸다.1) The fetch signal is a signal to preload the markup document to be used in the ENAV buffer 30. If the designated markup document already exists in the ENAV buffer 30, the data is not read from the disk 100 or the network using the I / O manager. The I / O manager refers to a reader (not shown) that reads data from the disk 100 or a network data transceiver (not shown) for importing data from the network. The reader reads a file from the disk 100, and the network data transceiving unit imports or exports predetermined data from the network using the HTTP protocol.

도 15를 참조하면, I/O 매니저는 HTTP 요구인 경우 unblocked I/O를 하고 디스크 상의 파일 요구는 blocked I/O를 사용한다고 정하고 있다. 네트워크로부터 마크업 문서를 가져오는 경우 한 번에 복수개의 마크업 문서를 동시에 가져오는 unblocked 방식에 의한다. 디스크(100)로부터 마크업 문서를 읽어들일 경우 한 번에 복수개의 마크업 문서를 읽어들이게 되면 리더에 구비된 픽업부(도시되지 않음)가 마크업 문서가 기록된 위치로 여러번 이동해야 하므로 읽기 속도의 저하가 발생하므로, 디스크(100)에 저장된 마크업 문서를 읽어들일 경우 일 마크업 문서를 다 읽고난 이후에 다음 마크업 문서를 읽어들이는 순차적인 blocked I/O 방식을 택한다.Referring to FIG. 15, the I / O manager determines that an unsolicited I / O is made for an HTTP request and a blocked I / O is used for a file request on a disk. When importing markup documents from the network, the unblocked method of simultaneously importing multiple markup documents at a time is used. When reading markup documents from the disc 100, when a plurality of markup documents are read at a time, the pick-up unit (not shown) provided in the reader has to move several times to the position where the markup documents are recorded. Since deterioration occurs, when a markup document stored in the disk 100 is read, a sequential blocked I / O method of reading the next markup document after the one markup document is read is selected.

2) retrieve 신호는 ENAV 버퍼(30)로부터 컨텐트 디코더(52)로 데이터를 가 지고 올 것을 요청하는 신호이다. 따라서 데이터가 디스크로부터 읽어들여지는 중이거나 네트워크로부터 다운로드되고 있는 중이라면 컨텐트는 데이터를 모두 가지고 올 때까지 멈추어(blocking) 있다.2) The retrieve signal is a signal for requesting to bring data from the ENAV buffer 30 to the content decoder 52. Thus, if data is being read from disk or being downloaded from the network, the content is blocking until all the data has been retrieved.

3) release 신호는 retrieve 신호를 이용하여 가지고 온 데이터를 사용하지 않음을 알리는 것이다. 따라서 어떤 마크업 문서가 5 회에 거쳐서 retrieve 신호에 의해 참조되었다면 release 신호도 5 회에 거쳐서 발생하게 된다. retrieve 신호가 발생될 때마다 카운터가 올라간다면 release 신호가 발생될 때마다 카운터가 내려간다. 마크업 문서에 대응하는 카운터가 0가 되면(retrieve된 마크업 문서들이 모두 release되면) 후술하는 바와 같이 discard 신호가 발생되었을 때 곧바로 ENAV 버퍼(30)에서 삭제할 수 있게 된다.3) The release signal indicates that the retrieved data is not used. Thus, if a markup document is referenced by a retrieve signal five times, a release signal is also generated five times. If the counter goes up every time the retrieve signal is generated, the counter goes down every time the release signal is generated. When the counter corresponding to the markup document becomes 0 (when all retrieved markup documents are released), as described later, when the discard signal is generated, the counter can be deleted immediately from the ENAV buffer 30.

4) discard 신호는 ENAV 버퍼(30)로부터 마크업 문서를 더 이상 사용하지 않을 것이므로 삭제해도 됨을 의미한다. 따라서 이 신호에 따라 지정된 마크업 문서 데이터를 ENAV 버퍼(30)에서 버려지게(메모리 공간을 차지하지 않음) 된다. 다만, 일 어플리케이션에 의해 discard 신호가 발생하였더라도 다른 어플리케이션에 의해 해당 마크업 문서에 대해 retrieve 신호가 발생한 다음 대응 release 신호가 발생하지 않았다면 release 신호가 발생하여야만 대응 마크업 문서를 ENAV 버퍼(30)에서 삭제한다.4) The discard signal means that the markup document is no longer used from the ENAV buffer 30 and may be discarded. Therefore, the markup document data specified in accordance with this signal is discarded in the ENAV buffer 30 (not taking up a memory space). However, even if the discard signal is generated by one application, if the retrieve signal is generated for the corresponding markup document by another application and the corresponding release signal is not generated, the corresponding markup document is deleted from the ENAV buffer 30 only when the release signal is generated. do.

5) report 신호는 fetch 신호에 따라 읽어들인 마크업 문서가 제대로 ENAV 버퍼(30)에 로드되었는지? 아니면 오류로 인해 적어도 일부의 마크업 문서를 읽어들이지 못했는지? 아니면 지금 마크업 문서를 읽어들이고 있는 중인지를 확인해보 기 위한 신호이다. 또한, 현재 프리로드 진행 중인 마크업 문서의 위치(파일 이름), 지금까지 프리로드된 양, 앞으로 프리로드해야 할 양, 현재 프리로드 작업에 할당된 전체 마크업 문서들의 프리로드 양, 앞으로 프리로드해야 할 남아 있는 마크업 파일들의 양을 확인해 보기 위한 신호이다.5) Is the report signal loaded correctly in the ENAV buffer 30 according to the fetch signal? Or did the error prevent you from reading at least some markup documents? Or it is a signal to check if you are reading markup documents. Also, the location (file name) of the markup document currently in preload, the amount that has been preloaded so far, the amount that should be preloaded in advance, the amount of preloads of all markup documents allocated to the current preload job, and the preload ahead This is a signal to check the amount of markup files remaining.

위의 신호를 발생시키기 위해 마크업 문서에 기록되어 있는 스크립트의 API는 다음과 같다.The API of the script recorded in the markup document to generate the above signal is as follows.

1.[obj].preload(URL,resType)1. [obj] .preload (URL, resType)

1) 내용:1) Content:

소정 프리로드 대상 파일들을 ENAV 버퍼(30)로 미리 읽어올 것을 지시하는 API이다. 사용되는 매개변수는 프리로드 리스트 파일, 프리로드 대상 파일의 위치정보, 나아가 프리로드 대상 파일의 속성을 나타낼 수 있다. 이 API는 fetch 신호를 발생시킨다. 이 함수는 디스크(disc://)에서 또는 네트워크(http://)에서 읽혀지는 모든 파일에 대해서 적용이 가능하다.It is an API for instructing to read the predetermined preload target files into the ENAV buffer 30 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. This API generates a fetch signal. This function is applicable to all files read from disk (disc: //) or network (http: //).

2) 매개 변수:2) Parameters:

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

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

3) 반환값:3) Return Value:

프리로드 지시에 성공하면 0을 반환하고 실패하면 -1를 반환한다.If the preload instruction succeeds, it returns 0. If it fails, it returns -1.

4) 예:4) Example:

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

navigator.preload("disc://dvd_enav/a.pld ", "xml/preload") // 디스크에 있는 "disc://dvd_enav/a.pld"의 프리로드 리스트 파일에 참조되어진 대상 파일을 읽어와라. 그 파일은 프리로드 파일로서 xml파일이다.navigator.preload ("disc: //dvd_enav/a.pld", "xml / preload") // read the target file referenced in the preload list file of "disc: //dvd_enav/a.pld" on disk come. The file is an xml file as a preload file.

2. [obj].discard(URL,resType)2. [obj] .discard (URL, resType)

1) 내용1) Content

지시하는 삭제 대상 파일들을 ENAV 버퍼(30)에서 삭제하는 API이다. 매개변수는 삭제 리스트 파일, 삭제 대상 파일의 위치정보, 및 삭제 대상파일의 속성을 나타낸다. 이 API는 discard 신호를 발생 시킨다.It is an API that deletes indicated files to be deleted in the ENAV buffer 30. The parameter indicates a deletion list file, location information of the deletion target file, and attributes of the deletion target file. This API generates a discard signal.

2) 매개 변수:2) Parameters:

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

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

3) 반환값:3) Return Value:

삭제에 성공하면 0를 반환하고 실패하면 -1를 반환한다.If the delete is successful, it returns 0. If it fails, it returns -1.

4) 예:4) Example:

navigator.discard("disc://dvd_enav/a.htm", "text/xml") // disc에 있는 "disc://dvd_enav/a.htm"의 삭제 대상 파일이 ENAV 버퍼(30)에 있으면 이를 삭제한다. 그 파일은 text파일로서 xml파일이다.navigator.discard ("disc: //dvd_enav/a.htm", "text / xml") // If the file to be deleted from "disc: //dvd_enav/a.htm" on the disc is in the ENAV buffer (30) Delete it. The file is a text file and an xml file.

navigator.discard("disc://dvd_enav/a.pld","xml/preload") // disc에 있는 "disc://dvd_enav/a.pld"의 리스트 파일이 참조하는 파일을 캐시 메모리에서 삭제한다. 그 파일은 리스트 파일로서 xml 파일이다.navigator.discard ("disc: //dvd_enav/a.pld", "xml / preload") // remove the file referenced by the list file of "disc: //dvd_enav/a.pld" from disc in cache memory do. The file is an xml file as a list file.

3. [obj].isCached(URL,resType)3. [obj] .isCached (URL, resType)

1) 내용:1) Content:

지시하는 조사 대상 파일들을 ENAV 버퍼(30)에서 완전하게 읽혀졌는지 확인하는 API이다. 매개변수는 조사 리스트 파일, 조사 대상 파일의 위치정보, 및 대상 파일의 속성을 나타낸다. 이 API는 report 신호를 발생시킨다. 이 함수는 디스크(disc://)에서 또는 네트워크(http://)에서 읽혀지는 모든 파일에 대해서 적용이 가능하다.It is an API that checks whether files to be examined are completely read from the ENAV buffer 30. The parameters indicate the survey list file, the location information of the survey target file, and the attributes of the survey file. This API generates a report signal. This function is applicable to all files read from disk (disc: //) or network (http: //).

2) 매개 변수:2) Parameters:

URL = : 조사 리스트 파일의 경로 또는 조사 대상 파일의 경로URL =: path of survey list file or path of survey target file

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

3) 반환값:3) Return Value:

조사 대상 파일 리스트 내의 또는 조사 대상 파일의 읽기에 성공하면 0을 반환하고 읽는데 실패하면 1를 반환하며 읽는 파일 중 읽기를 실패한 파일이 없고 적어도 한 파일이 읽는 중이면 2을 반환한다.Returns 0 if the file to be examined or the file to be examined is successfully read, 1 if the file fails to be read, or 2 if no file has failed to read and at least one file is being read.

4) 예:4) Example:

navigator.isCached("disc://dvd_enav/a.htm", "text/xml") // disc에 있는 "disc://dvd_enav/a.htm"를 읽는 작업이 완료 되었는지 조사한다. 그 파일은 text파일로서 xml파일이다.navigator.isCached ("disc: //dvd_enav/a.htm", "text / xml") // Check to see if you have finished reading "disc: //dvd_enav/a.htm" on the disc. The file is a text file and an xml file.

navigator.isCached ("disc://dvd_enav/a.pld","xml/preload") // disc에 있는 "disc://dvd_enav/a.pld"의 리스트 파일이 참조하는 대상 파일들의 읽기 작업이 완료되었는지 조사한다. 그 파일은 리스트 파일로서 xml 파일이다.navigator.isCached ("disc: //dvd_enav/a.pld", "xml / preload") // read the target files referenced by the list file of "disc: //dvd_enav/a.pld" on disc Investigate if it is complete. The file is an xml file as a list file.

4. [obj].progressNameOfFile4. [obj] .progressNameOfFile

1) 내용: 1) Content:

현재 프리로드 진행 중인 대상 파일의 URI를 리턴하는 속성 값.Attribute value that returns the URI of the target file that is currently in preload.

2) 반환값:2) Return Value:

파일 경로명 또는 URIFile pathname or URI

5. [obj].progressLengthOfFile5. [obj] .progressLengthOfFile

1) 내용: 1) Content:

현재 프리로드 진행 중인 대상 파일에서 현재까지 프리로드를 받은 양.The amount of preloading so far in the target file currently in preload.

2) 반환값:2) Return Value:

바이트 단위로 표현된 양The amount expressed in bytes

6. [obj].remainLengthOfFile6. [obj] .remainLengthOfFile

1) 내용:1) Content:

현재 프리로드 진행 중인 대상 파일에서 현재까지 프리로드된 것을 제외하고 앞으로 프리로드해야 할 남은 양.Remaining amount to be preloaded in the future, except for the one currently preloaded in the target file in progress.

2) 반환값:2) Return Value:

바이트 단위로 표현된 양The amount expressed in bytes

7. [obj].totalLoadingSize7. [obj] .totalLoadingSize

1) 내용:1) Content:

현재 프리로드 파일에서 지정한 프리로드 대상 파일 크기의 전체 합계.The total sum of the preload target file sizes specified by the current preload file.

2) 반환값:2) Return Value:

바이트 단위로 표현된 용량The capacity in bytes

8. [obj].remainLoadingSize8. [obj] .remainLoadingSize

1) 내용: 1) Content:

현재 프리로드 파일에서 지정한 프리로드 대상 파일의 현재까지 프리로드된 것을 제외하고 앞으로 프리로드해야 할 남은 양 전체의 합계.The sum of all remaining amounts that need to be preloaded in the future, except those that have been preloaded up to the current of the specified preload target file in the current preload file.

2) 반환값:2) Return Value:

바이트 단위로 표현된 양The amount expressed in bytes

9. [obj].allDone9. [obj] .allDone

1) 내용:1) Content:

현재 재생 장치의 프리로드 작업 완료 여부.Whether or not the current playback device has finished preloading

2) 반환값:2) Return Value:

성공 완료하면 True, 실패 완료 또는 진행 중인 경우 FalseTrue if successful, false completed or false if in progress

상기 retrieve 신호나 release 신호는 해당 마크업 문서를 사용할 때마다 발생한다. 예를 들어 컨텐트 디코더(52)가 "disc://dvd_enav/a.png"의 이미지를 프리젠테이션하고자 하는 경우 <img src="disc://dvd_enav/a.png" />를 해석한 다음 retrieve 신호를 발생하여 버퍼 매니저(51)로 하여금 이미지를 가져오도록 한 다음 이미지가 디스플레이 장치(도시되지 않음)의 화면에 프리젠테이션한다. 마찬가지 로, 컨텐트 디코더(52)는 디스플레이 화면에서 이미지의 프리젠테이션을 종료한 다음 release 신호를 발생시킨다.The retrieve or release signal is generated each time the corresponding markup document is used. For example, if the content decoder 52 wants to present an image of "disc: //dvd_enav/a.png", it will interpret <img src = "disc: //dvd_enav/a.png" /> and then retrieve A signal is generated to cause the buffer manager 51 to import an image and then present the image on the screen of the display device (not shown). Similarly, the content decoder 52 ends the presentation of the image on the display screen and then generates a release signal.

도 16은 본 발명의 바람직한 실시예에 따라 컨텐트 디코더(52)와 버퍼 매니저(51)에 의해 실행되는 버퍼링 상태 제어 방법을 설명하는 플로우챠트이다.16 is a flowchart for explaining a method of controlling a buffering state executed by the content decoder 52 and the buffer manager 51 according to the preferred embodiment of the present invention.

도 17은 본 발명의 바람직한 실시예에 따라 AV 데이터와 마크업 문서가 기록된 디스크의 개략도이며, 도 18은 도 17과 같이 AV 데이터와 마크업 문서가 기록된 디스크의 디렉토리 구조를 보여주고, 도 19는 도 17에 따른 디스크의 볼륨 구조와 파일 구조를 보여준다. 도 20은 도 17의 디스크에 저장된 마크업 문서 데이터와 AV 데이터가 재생되는 순서를 보여준다.17 is a schematic diagram of a disc on which AV data and a markup document are recorded, according to a preferred embodiment of the present invention. FIG. 18 shows a directory structure of a disc on which AV data and a markup document are recorded. 19 shows the volume structure and file structure of the disk according to FIG. 20 shows a sequence in which markup document data and AV data stored in the disk of FIG. 17 are reproduced.

STARTUP.HTM에서 A.HTM에서 D.HTM까지 심리스 재생하기 위해서는 STARTUP.PLD는 다음과 같이 구현되는 것이 바람직하다.In order to seamlessly play from STARTUP.HTM to A.HTM to D.HTM, STARTUP.PLD is preferably implemented as follows.

<?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"--> <filedef type="text/xml" src="disc://dvd_enav//a.htm" /> <filedef type="text/xml" src="disc://dvd_enav//a.pld" /> <filedef type="image/png" src="dvd://dvd_enav//a1.png" /> <filedef type="image/png" src="dvd://dvd_enav//a2.png" /> <filedef type="image/png" src="dvd://dvd_enav//a3.png" /> <filedef type="text/xml" src="disc://dvd_enav//b.htm" /> <filedef type="text/xml" src="disc://dvd_enav//b.pld" /> <filedef type="audio/au" src="dvd://dvd_enav//b1.au" /> <filedef type="image/png" src="dvd://dvd_enav//b2.png" /> <filedef type="image/png" src="dvd://dvd_enav//b3.jpg" /> <filedef type="text/xml" src="disc://dvd_enav//c.htm" /> <filedef type="text/xml" src="disc://dvd_enav//c.pld" /> <filedef type="image/png" src="dvd://dvd_enav//c1.png" /> <filedef type="image/png" src="dvd://dvd_enav//c2.png" /> <filedef type="image/png" src="dvd://dvd_enav//c3.png" /> <filedef type="text/xml" src="disc://dvd_enav//d.htm" /> <filedef type="text/xml" src="disc://dvd_enav//d.pld" /> <filedef type="image/png" src="dvd://dvd_enav//d1.png" /> <filedef type="image/png" src="dvd://dvd_enav//d2.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 "-> <filedef type =" text / xml "src =" disc: //dvd_enav//a.htm "/> <filedef type =" text / xml "src =" disc : //dvd_enav//a.pld "/> <filedef type =" image / png "src =" dvd: //dvd_enav//a1.png "/> <filedef type =" image / png "src =" dvd : //dvd_enav//a2.png "/> <filedef type =" image / png "src =" dvd: //dvd_enav//a3.png "/> <filedef type =" text / xml "src =" disc : //dvd_enav//b.htm "/> <filedef type =" text / xml "src =" disc: //dvd_enav//b.pld "/> <filedef type =" audio / au "src =" dvd : //dvd_enav//b1.au "/> <filedef type =" image / png "src =" dvd: //dvd_enav//b2.png "/> <filedef type =" image / png "src =" dvd : //dvd_enav//b3.jpg "/> <filedef type =" text / xml "src =" disc: //dvd_enav//c.htm "/> <filedef type =" text / xml "src =" disc : //dvd_enav//c.pld "/> <filedef type =" image / png "src =" dvd: //dvd_enav//c1.png "/> <filedef type =" image / png "src =" dvd : //dvd_enav//c2.png "/> <filedef type =" image / png "src =" dvd: // d vd_enav // c3.png "/> <filedef type =" text / xml "src =" disc: //dvd_enav//d.htm "/> <filedef type =" text / xml "src =" disc: // dvd_enav // d.pld "/> <filedef type =" image / png "src =" dvd: //dvd_enav//d1.png "/> <filedef type =" image / png "src =" dvd: // dvd_enav // d2.png "/> </ preload>

이와 같은 STARTUP.PLD를 이용하여 STARTUP.HTM이 처음 디스플레이 화면에 나타나면서 인터렉티브 프리젠테이션이 시작된다. 다음은 도 15에 도시된 개념에 따라 동작하기 위해 구현된 STARTUP.HTM의 일 예이다.With this STARTUP.PLD, the interactive presentation starts with STARTUP.HTM first appearing on the display screen. The following is an example of STARTUP.HTM implemented to operate according to the concept shown in FIG. 15.

<?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>WAR II STARTUP PAGE</title> <script language="ecmascript"> <![CDATA[ function onload_handler () { navigator.preload("disc://dvd_enav/startup.pld","xml/preload"); idplayer.subscribeToEvent(10) idplayer.setTrigger(1,"00:30:35:00",1); idplayer.play(); docbody.addEventListener("dvdevent",idplayer_handler,true); } function idplayer_handler(e) { switch(e.parm1) { case 10: .// trigger event if (e.parm2 == 1) // begin to die { while (navigator.isCached("disc://dvd_enav/a.pld","xml/preload") == 2 || navigator.isCached("disc://dvd_enav/b.pld","xml/preload") == 2 || navigator.isCached("disc://dvd_enav/c.pld","xml/preload") == 2 || navigator.isCached("disc://dvd_enav/d.pld","xml/preload") == 2); // during //reading; if (navigator.isCached("disc://dvd_enav/a.pld","xml/preload") == 1) // failed { idplayer.stop(); location.href = "disc://dvd_enav/discerr.htm"; } // to read c.pld is OK. location.href = "disc://dvd_enav/a.htm"; // jump to c.htm } break; } } ]]> </script> </head> <body id="docbody" onload="onload_handler ()"> <object style="position: absolute; left: 150px; top: 100px; width: 370px; height: 250px" data="dvd:video_ts" id="idplayer"/> <img style="position: absolute; left: 167px; top: 375px; width: 170px; height: 60px" src=" disc://dvd_enav/s1.png" type="image/png"/> <img style="position: absolute; left: 370px; top: 375px; width: 170px; height: 60px" src=" disc://dvd_enav/s2.png" type="image/png"/> </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> WAR II STARTUP PAGE </ title> <script language =" ecmascript "> <! [CDATA [function onload_handler () {navigator.preload (" disc: //dvd_enav/startup.pld "," xml / preload "); idplayer.subscribeToEvent (10) idplayer.setTrigger (1," 00: 30: 35: 00 ", 1); idplayer.play (); docbody .addEventListener ("dvdevent", idplayer_handler, true);} function idplayer_handler (e) {switch (e.parm1) {case 10: .// trigger event if (e.parm2 == 1) // begin to die {while (navigator.isCached ("disc: //dvd_enav/a.pld", "xml / preload") == 2 navigator.isCached ("disc: //dvd_enav/b.pld", "xml / preload") Navigator.isCached ("disc: //dvd_enav/c.pld", "xml / preload") == 2 navigator.isCached ("disc: //dvd_enav/d.pld", "xml / preload ") == 2); // during // reading; if (navigator.isCached (" disc: //dvd_enav/a.pld "," xml / preload ") == 1) // failed {idplayer. stop (); l ocation.href = "disc: //dvd_enav/discerr.htm"; } // to read c.pld is OK. location.href = "disc: //dvd_enav/a.htm"; // jump to c.htm} break; }}]]> </ script> </ head> <body id = "docbody" onload = "onload_handler ()"> <object style = "position: absolute; left: 150px; top: 100px; width: 370px; height : 250px "data =" dvd: video_ts "id =" idplayer "/> <img style =" position: absolute; left: 167px; top: 375px; width: 170px; height: 60px "src =" disc: // dvd_enav /s1.png "type =" image / png "/> <img style =" position: absolute; left: 370px; top: 375px; width: 170px; height: 60px "src =" disc: // dvd_enav / s2. png "type =" image / png "/> </ body> </ html>

한편, 다음과 같은 B.HTM은 A.HTM에 이어지는 화면을 구성한다. B.HTM이 재생되는 중에, A.HTM의 프리젠테이션에 필요한 마크업 문서들을 모아 놓은, 즉 B.PLD 내에서 프리로드 대상 파일로 언급된 마크업 문서들은 ENAV 버퍼(30)로부터 제거된다. B.HTM에는 A.HTM의 프리젠테이션에 필요한 마크업 문서들을 모아 놓은, 즉 A.PLD 내에서 프리로드 대상 파일로 언급된 마크업 문서들은 ENAV 버퍼(30)로부터 제거할 것을 명령하는 코드가 기록되어 있다.Meanwhile, the following B.HTM constitutes a screen following A.HTM. While B.HTM is being reproduced, markup documents that have been collected for the presentation of A.HTM, that is, markup documents referred to as preload target files in B.PLD, are removed from ENAV buffer 30. B.HTM records the markup documents necessary for the presentation of A.HTM, that is, code that instructs the markup documents referred to as preload target files in A.PLD to be removed from ENAV buffer 30. It is.

<?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>WAR II B.HTM PAGE</title> <script language="ecmascript"> <![CDATA[ function onload_handler () { navigator.discard ("disc://dvd_enav/a.pld","xml/preload"); // any longer to use A.HTM idplayer.subscribeToEvent(10) idplayer.setTrigger(1,"50:35:00",1); docbody.addEventListener("dvdevent",idplayer_handler,true); } function idplayer_handler(e) { switch(e.parm1) { case 10: .// trigger event if (e.parm2 == 1) // begin combat { while (navigator.isCached("disc://dvd_enav/c.pld","xml/preload") == 2); // during //reading; if (navigator.isCached("disc://dvd_enav/c.pld","xml/preload") == 1) // failed { idplayer.stop(); location.href = "disc://dvd_enav/discerr.htm"; } // to read a.pld is OK. location.href = "disc://dvd_enav/c.htm"; // jump to c.htm } break; } } ]]> </script> </head> <body id="docbody" onload="onload_handler ()"> <object style="left: 110px; top: 80px; width: 500px; height: 200px" data="dvd:video_ts" id="idplayer"/> <img style="position: absolute; left: 539px; top: 38px; width: 140px; height: 70px" src=" disc://dvd_enav/b1.png" type="image/png" /> <img style="position: absolute; left: 560px; top: 200px; width: 120px; height: 50px" src=" disc://dvd_enav/b2.png" type="image/png" /> <img style="position: absolute; left: 610px; top: 280px; width: 100px; height: 50px" src=" disc://dvd_enav/b3.png" type="image/png" /> </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> WAR II B.HTM PAGE </ title> <script language =" ecmascript "> <! [CDATA [function onload_handler () {navigator.discard ("disc: //dvd_enav/a.pld", "xml / preload"); // any longer to use A.HTM idplayer.subscribeToEvent (10) idplayer.setTrigger (1, "50:35:00", 1 ); docbody.addEventListener ("dvdevent", idplayer_handler, true);} function idplayer_handler (e) {switch (e.parm1) {case 10: .// trigger event if (e.parm2 == 1) // begin combat {while (navigator.isCached ("disc: //dvd_enav/c.pld", "xml / preload") == 2); // during // reading; if (navigator.isCached ("disc: // dvd_enav / c.pld "," xml / preload ") == 1) // failed {idplayer.stop (); location.href =" disc: //dvd_enav/discerr.htm ";} // to read a.pld is OK.location.href = "disc: //dvd_enav/c.htm"; // jump to c.htm} break;}}]]> </ script> </ head> <body id = "docbody" onload = " onload_handler () "> <object style =" left: 110px; top: 80px; width: 500px; height: 200px "data =" dvd: video_ts "id =" idplayer "/> <img style =" position: absolute; left: 539 px; top: 38 px; width: 140 px; height: 70px "src =" disc: //dvd_enav/b1.png "type =" image / png "/> <img style =" position: absolute; left: 560 px; top: 200 px; width: 120px; height: 50px "src =" disc: //dvd_enav/b2.png "type =" image / png "/> <img style =" position: absolute; left: 610 px; top: 280 px; width: 100px; height: 50px "src =" disc: //dvd_enav/b3.png "type =" image / png "/> </ body> </ html>

한편, 전술한 인터랙티브 모드에서의 재생 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 인터랙티브 모드에서 재생 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.On the other hand, the above-described reproduction method in the interactive mode can be created by a computer program. Codes and code segments constituting the program can be easily inferred by a computer programmer in the art. The program is also stored in a computer readable medium, and read and executed by a computer to implement the playback method in the interactive mode. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.

전술한 바와 같이 본 발명에 따르면, 컨텐트의 제작시 프리로드된 상황을 알 수 있는 방법과 그 절차를 적용시킴으로써, 디스크의 물리적 파손이 발생하거나 연결 끊김 등 네트워크 오동작이 발생하여 프리로드 대상 파일의 전체가 프리로드되지 않고 적어도 일부만이 프리로드된 경우에도 프리로드된 파일들만으로의 프리젠테이션이 가능하게 함으로써 컨텐트를 재생함에 있어 발생할 수 있는 오류에 대한 재생 내구력을 높일 수 있다.As described above, according to the present invention, by applying a method and a procedure of knowing the preloaded situation when the content is produced, a network malfunction such as physical damage of the disk or disconnection occurs and thus the entire preloaded file Even if the data is not preloaded and only at least a part of it is preloaded, the presentation can be performed only with the preloaded files, thereby improving playback durability against errors that may occur in playing the content.

또한, 현재까지 얼마나 많은 양을 프리로드했는지, 앞으로 프리로드 과정이 완료되려면 얼마나 더 기다려야 하는지 스크립트 코드를 사용하여 계산할 수 있으므로, 컨텐트 제작자는 사용자에게 프리로드 진행 정보를 제공하여 사용자가 무작정 오랫동안 기다려야 하는 지루함을 없애줄 수 있다.In addition, you can use script code to calculate how much you have preloaded so far and how long you need to wait for the preload process to complete in the future, so that content creators can provide users with preload progress information, Can get rid of boredom.

Claims (9)

마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체에 있어서,An information storage medium having recorded thereon a program code executable by a computer for performing a method of preloading a markup document and playing back AV data in an interactive mode, 상기 마크업 문서를 프리로드하기 위한 버퍼링을 수행하기 위한 제1 프로그램 코드; 및First program code for performing buffering to preload the markup document; And 상기 마크업 문서의 버퍼링 상태 정보가 요구되면, 상기 마크업 문서의 버퍼링 상태를 조사한 후 상기 마크업 문서의 버퍼링이 완료되었는지 여부에 대한 정보를 출력하기 위한 제2 프로그램 코드를 포함하는 것을 특징으로 하는 정보저장매체.And a second program code for outputting information on whether or not buffering of the markup document is completed after checking the buffering state of the markup document when the buffering state information of the markup document is requested. Information storage medium. 제1항에 있어서,The method of claim 1, 상기 제1 프로그램 코드는The first program code is 프리로드를 지시하는 fetch 신호에 응답하여 실행됨을 특징으로 하는 정보저장매체.An information storage medium, characterized in that executed in response to a fetch signal indicating a preload. 제1항에 있어서,The method of claim 1, 상기 제2 프로그램 코드는The second program code is 상기 마크업 문서의 버퍼링 상태를 조사하여 반환할 것을 지시하는 API에 응답하여 실행됨을 특징으로 하는 정보저장매체.And executing the response in response to an API indicating to inspect and return the buffering state of the markup document. 제1항에 있어서,The method of claim 1, 상기 제2 프로그램 코드는The second program code is 상기 마크업 문서의 버퍼링이 완료되었는지 여부를 확인하는 [obj].allDone API에 응답하여 실행됨을 특징으로 하는 정보저장매체.The information storage medium, characterized in that executed in response to the [obj] .allDone API to check whether the buffering of the markup document is completed. 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체에 있어서,An information storage medium having recorded thereon a program code executable by a computer for performing a method of preloading a markup document and playing back AV data in an interactive mode, fetch 신호를 사용하여 상기 마크업 문서의 프리로드를 지시하는 제1 프로그램 코드;first program code indicating a preload of the markup document using a fetch signal; 상기 fetch 신호에 대한 응답으로, 상기 마크업 문서의 프리로드가 성공적으로 수행되었는지 여부를 수신하는 제2 프로그램 코드를 포함하는 것을 특징으로 하는 정보저장매체.And a second program code for receiving whether the preload of the markup document was successfully performed in response to the fetch signal. 제5항에 있어서,The method of claim 5, 상기 제1 프로그램 코드는The first program code is 컨텐트 디코더가 상기 마크업 문서의 파일 경로를 매개변수로 갖고 상기 마크업 문서의 프리로드를 지시하는 API를 이용하여 상기 fetch 신호를 상기 마크업 문서의 프리로드를 수행하는 버퍼 매니저로 발생시키기 위한 것임을 특징으로 하는 정보저장매체.The content decoder is configured to generate the fetch signal to a buffer manager that preloads the markup document using an API indicating a file path of the markup document as a parameter. Information storage medium characterized by. 제5항에 있어서,The method of claim 5, 상기 제2 프로그램 코드는The second program code is 상기 마크업 문서의 프리로드를 수행하는 버퍼 매니저가 상기 마크업 문서의 파일 경로를 매개변수로 갖고 상기 마크업 문서를 프리로드하고 상기 프리로드의 성공 여부를 반환할 것을 지시하는 API를 이용하여 상기 프리로드 지시의 성공 여부를 상기 컨텐트 디코더로 알려주기 위한 것임을 특징으로 하는 정보저장매체.The buffer manager which preloads the markup document uses the API to instruct to preload the markup document with the file path of the markup document as a parameter and return whether the preload is successful or not. The information storage medium, characterized in that to inform the content decoder of the success of the preload instruction. 마크업 문서를 프리로드하여 AV 데이터를 인터렉티브 모드로 재생하는 방법을 수행하기 위한, 컴퓨터에 의해 실행가능한 프로그램 코드가 기록된 정보저장매체에 있어서,An information storage medium having recorded thereon a program code executable by a computer for performing a method of preloading a markup document and playing back AV data in an interactive mode, 컨텐트 디코더가 현재 프리로드를 완료하였는지 여부를 버퍼 매니저로 확인하기 위한 제1 프로그램 코드; 및First program code for confirming with the buffer manager whether the content decoder has currently completed preloading; And 상기 버퍼 매니저는 현재 프리로드 작업을 성공적으로 완료하였으면 상기 컨텐트 디코더로 성공을 반환하고, 그렇지 않으면 상기 컨텐트 디코더로 실패를 반환하도록 하는 제2 프로그램 코드를 포함하는 것을 특징으로 하는 정보저장매체.And the buffer manager includes second program code for returning success to the content decoder if the current preload operation is successfully completed and otherwise returning failure to the content decoder. 제8항에 있어서,The method of claim 8, 상기 제1 프로그램 코드 및 상기 제2 프로그램 코드는 [obj].allDone API를 이용하여 상기 확인 및 반환을 수행하는 것을 특징으로 하는 정보저장매체.The first program code and the second program code is the information storage medium, characterized in that for performing the verification and return using the [obj] .allDone API.
KR1020030058893A 2002-10-17 2003-08-25 Computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document KR100584563B1 (en)

Priority Applications (16)

Application Number Priority Date Filing Date Title
CA002498885A CA2498885A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
JP2005501364A JP2006503401A (en) 2002-10-17 2003-10-16 Information storage medium on which control information for controlling buffering state of markup document is recorded, reproducing apparatus and reproducing method thereof
US10/685,699 US20040141716A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
US10/686,521 US20040139394A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
PL03375841A PL375841A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
MXPA05003904A MXPA05003904A (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium.
US10/685,696 US20040148627A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
BR0314834-3A BR0314834A (en) 2002-10-17 2003-10-16 Device for playback of av data using an interactive mode dialing document, apparatus for controlling a temporary storage memory that temporarily stores a document for playback of av data in an interactive mode, recording device and / or av data playback using a dial document in an interactive mode, av data playback method in an interactive mode using a dial document, managing a dial document method for use in playback av data in an interactive mode interactive mode, method of managing a markup document for use in reproducing av data in an interactive mode, method of reproducing av data in an interactive mode, computer readable media, method in a computer system for av data processing in an interactive mode using a markup document, and media data storage
US10/685,697 US20040143853A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
US10/685,694 US20040139249A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
US10/686,537 US20040139395A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
PCT/KR2003/002155 WO2004036576A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
AU2003269556A AU2003269556A1 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
EP03751571A EP1552517A4 (en) 2002-10-17 2003-10-16 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
TW92128840A TWI236002B (en) 2002-10-17 2003-10-17 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium
MYPI20033962A MY137686A (en) 2002-10-17 2003-10-17 Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20020063631 2002-10-17
KR1020020063631 2002-10-17
KR20030027073 2003-04-29
KR1020030027073 2003-04-29

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0058695A Division KR100517507B1 (en) 2002-10-17 2003-08-25 Information storage medium containing control information for controlling buffering status of markup document, reproducing method and apparatus therefor

Publications (2)

Publication Number Publication Date
KR20040034373A KR20040034373A (en) 2004-04-28
KR100584563B1 true KR100584563B1 (en) 2006-05-30

Family

ID=37333686

Family Applications (6)

Application Number Title Priority Date Filing Date
KR10-2003-0058695A KR100517507B1 (en) 2002-10-17 2003-08-25 Information storage medium containing control information for controlling buffering status of markup document, reproducing method and apparatus therefor
KR1020030058893A KR100584563B1 (en) 2002-10-17 2003-08-25 Computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document
KR1020030058892A KR100584562B1 (en) 2002-10-17 2003-08-25 Method of reproducing Audio-Visual data in interactive mode by preloading markup document
KR1020030058891A KR100584561B1 (en) 2002-10-17 2003-08-25 Apparatus for reproducing Audio-Visual data in interactive mode using markup document
KR1020030058890A KR100584560B1 (en) 2002-10-17 2003-08-25 Information storage medium containing control information for controlling buffering status of markup document
KR1020030060760A KR100584568B1 (en) 2002-10-17 2003-09-01 Apparatus for reproducing Audio-Visual data in interactive mode using markup document

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2003-0058695A KR100517507B1 (en) 2002-10-17 2003-08-25 Information storage medium containing control information for controlling buffering status of markup document, reproducing method and apparatus therefor

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020030058892A KR100584562B1 (en) 2002-10-17 2003-08-25 Method of reproducing Audio-Visual data in interactive mode by preloading markup document
KR1020030058891A KR100584561B1 (en) 2002-10-17 2003-08-25 Apparatus for reproducing Audio-Visual data in interactive mode using markup document
KR1020030058890A KR100584560B1 (en) 2002-10-17 2003-08-25 Information storage medium containing control information for controlling buffering status of markup document
KR1020030060760A KR100584568B1 (en) 2002-10-17 2003-09-01 Apparatus for reproducing Audio-Visual data in interactive mode using markup document

Country Status (2)

Country Link
KR (6) KR100517507B1 (en)
MY (1) MY137686A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010008198A2 (en) 2008-07-15 2010-01-21 Lg Electronics Inc. A method and an apparatus for processing an audio signal

Also Published As

Publication number Publication date
KR100584561B1 (en) 2006-05-30
MY137686A (en) 2009-02-27
KR20040034369A (en) 2004-04-28
KR20040034373A (en) 2004-04-28
KR100584560B1 (en) 2006-05-30
KR100517507B1 (en) 2005-09-28
KR20040034372A (en) 2004-04-28
KR20040034370A (en) 2004-04-28
KR20040034381A (en) 2004-04-28
KR20040034371A (en) 2004-04-28
KR100584568B1 (en) 2006-05-30
KR100584562B1 (en) 2006-05-30

Similar Documents

Publication Publication Date Title
JP2006050648A (en) Memory management method
US20040139394A1 (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
KR100565056B1 (en) Method and apparatus for reproducing AV data in interactive mode and information storage medium thereof
KR100584563B1 (en) Computer readable medium recoding program code for reproducing Audio-Visual data in interactive mode by preloading markup document
US20040148627A1 (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
KR100644606B1 (en) Apparatus for reproducing content in interactive mode
CN100407320C (en) Information storage medium, method and apparatus for the information storage medium playback
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
KR100553891B1 (en) Reproducing method for interactive mode using markup documents
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
KR100584576B1 (en) Information storage medium for reproducing AV data in interactive mode
KR100584575B1 (en) Method for reproducing AV data in interactive mode
CA2531221A1 (en) Method for managing a memory for preloading

Legal Events

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

Payment date: 20130429

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140429

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee