KR100544180B1 - Reproducing apparatus for interactive mode using markup documents - Google Patents

Reproducing apparatus for interactive mode using markup documents Download PDF

Info

Publication number
KR100544180B1
KR100544180B1 KR1020020070014A KR20020070014A KR100544180B1 KR 100544180 B1 KR100544180 B1 KR 100544180B1 KR 1020020070014 A KR1020020070014 A KR 1020020070014A KR 20020070014 A KR20020070014 A KR 20020070014A KR 100544180 B1 KR100544180 B1 KR 100544180B1
Authority
KR
South Korea
Prior art keywords
document
markup
markup document
presentation engine
object tree
Prior art date
Application number
KR1020020070014A
Other languages
Korean (ko)
Other versions
KR20030074093A (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 TW092103485A priority Critical patent/TWI247295B/en
Priority to MYPI20030594A priority patent/MY135385A/en
Priority to CA002478676A priority patent/CA2478676A1/en
Priority to EP03707226A priority patent/EP1483761A4/en
Priority to AU2003208643A priority patent/AU2003208643A1/en
Priority to JP2003575381A priority patent/JP4384500B2/en
Priority to PCT/KR2003/000405 priority patent/WO2003077249A1/en
Priority to MXPA04008691A priority patent/MXPA04008691A/en
Priority to CN038056291A priority patent/CN1639791B/en
Priority to US10/384,063 priority patent/US20030182627A1/en
Publication of KR20030074093A publication Critical patent/KR20030074093A/en
Priority to US10/797,056 priority patent/US20040250200A1/en
Priority to US10/797,057 priority patent/US20040243927A1/en
Priority to US10/797,055 priority patent/US20040247292A1/en
Priority to HK05107449.7A priority patent/HK1075320A1/en
Application granted granted Critical
Publication of KR100544180B1 publication Critical patent/KR100544180B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42646Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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

마크업 문서를 사용하여 인터랙티브 모드로 재생하는 방법, 및 그 장치가 개시된다.A method of playing in an interactive mode using a markup document, and an apparatus thereof are disclosed.

본 발명에 따라 AV 데이터를 인터랙티브 모드로 재생하는 장치는, 정보저장매체에 기록된 AV 데이터를 인터랙티브 모드로 재생하는 장치에 있어서, 상기 정보저장매체에 기록된 데이터를 독출하는 리더; 상기 리더에 의해 독출된 마크업 문서를 캐시하기 위한 캐시 메모리; 및 상기 리더에 의해 독출된 마크업 문서를 상기 캐시 메모리로 읽어들이는 프리로딩 단계, 상기 프리로딩된 마크업 문서를 해석하여 화면에 로드하는 로딩 단계, 화면에 로딩된 마크업 문서와 사용자와의 인터랙션이 수행되는 인터랙팅 단계를 갖는 문서 라이프 사이클에 따라 상기 마크업 문서를 프리젠테이션하는 프리젠테이션 엔진을 포함하는 것을 특징으로 한다. 이에 의해, AV 데이터를 인터랙티브 모드로 재생함에 있어 화면 출력의 호환성이 제공된다.An apparatus for reproducing AV data in an interactive mode according to the present invention, the apparatus for reproducing AV data recorded on an information storage medium in an interactive mode, comprising: a reader for reading data recorded on the information storage medium; A cache memory for caching markup documents read by the reader; And a preloading step of reading the markup document read by the reader into the cache memory, a loading step of interpreting and loading the preloaded markup document on the screen, between the markup document loaded on the screen and the user. And a presentation engine for presenting the markup document in accordance with a document life cycle having an interacting step in which an interaction is performed. This provides compatibility of screen output in reproducing AV data in the interactive mode.

Description

마크업 문서를 사용하여 AV 데이터를 인터랙티브 모드로 재생하는 장치{Reproducing apparatus for interactive mode using markup documents}Reproducing apparatus for interactive mode using markup documents}

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

도 2는 도 1의 인터랙티브 DVD(100)의 볼륨 공간(Volume Space)의 개략도,2 is a schematic diagram of a volume space of the interactive DVD 100 of FIG.

도 3은 인터랙티브 DVD(100)의 디렉토리 구조를 도시한 참고도,3 is a reference diagram showing a directory structure of the interactive DVD 100;

도 4는 본 발명의 바람직한 실시예에 따른 재생 시스템의 개요도,4 is a schematic diagram of a playback system according to a preferred embodiment of the present invention;

도 5는 본 발명의 바람직한 실시예에 따른 재생장치(200)의 기능 블록도,5 is a functional block diagram of a playback apparatus 200 according to a preferred embodiment of the present invention.

도 6은 도 5의 프리젠테이션 엔진(6)의 구현예,6 shows an embodiment of the presentation engine 6 of FIG. 5,

도 7은 마크업 문서의 일 예,7 is an example of a markup document;

도 8은 도 7을 기초로 생성된 문서 객체 트리,FIG. 8 is a document object tree generated based on FIG. 7; FIG.

도 9는 리모트 콘트롤러(400)의 일 예,9 is an example of a remote controller 400,

도 10은 마크업 문서를 재생하기 위해 정의된 프리젠테이션 엔진(6)의 각 상태들 및 그 관계도,Fig. 10 shows the states of the presentation engine 6 defined for reproducing the markup document and their relations,

도 11은 도 10의 재생 상태에서의 문서 라이프 사이클,11 is a document life cycle in the playback state of FIG. 10;

도 12a 내지 12d는 본 발명의 바람직한 실시예에 따른 재생 방법을 설명하기 위한 플로우챠트,12A to 12D are flowcharts illustrating a reproducing method according to a preferred embodiment of the present invention;

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

본 발명은 마크업 문서의 재생에 관한 것으로, 보다 상세하게는 마크업 문서를 사용하여 AV 데이터를 인터랙티브 모드로 재생하는 방법, 및 그 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to reproduction of markup documents, and more particularly, to a method and apparatus for reproducing AV data in an interactive mode using markup documents.

PC(Personal Computer)를 기반으로 인터랙티브 모드로 재생가능한 인터랙티브 DVD가 판매되고 있다. 인터랙티브 DVD란 AV 데이터와 함께 마크업 문서가 기록된 DVD를 의미한다. 인터랙티브 DVD에 기록된 AV 데이터는 두 가지 방법으로 재생될 수 있다. 하나는 일반 DVD와 동일하게 디스플레이되는 비디오 모드이고, 다른 하나는 재생된 AV 데이터가 마크업 문서에 의해 정의되는 표시창을 통해 디스플레이되는 인터랙티브 모드이다. 사용자에 의해 인터랙티브 모드가 선택되면 PC에 탑재된 브라우저는 인터랙티브 DVD에 기록되어 있는 마크업 문서를 해석하여 디스플레이한다. 디스플레이된 마크업 문서의 표시창에는 사용자가 선택한 AV 데이터가 표시된다. 마크업 문서의 예로는 XML 문서를 들 수 있다.Interactive DVDs that can be played in an interactive mode based on a personal computer (PC) are being sold. An interactive DVD means a DVD in which markup documents are recorded along with AV data. AV data recorded on an interactive DVD can be reproduced in two ways. One is a video mode that is displayed in the same manner as a normal DVD, and the other is an interactive mode in which reproduced AV data is displayed through a display window defined by a markup document. When the interactive mode is selected by the user, the browser mounted on the PC interprets and displays the markup document recorded on the interactive DVD. The AV data selected by the user is displayed on the display window of the displayed markup document. An example of a markup document is an XML document.

예를 들어, AV 데이터가 영화일 경우 XML 문서의 표시창에는 동영상이 출력되고 나머지 부분에는 영화의 대본, 줄거리, 출연배우의 사진, 등 영화에 관한 다양한 부가 정보가 표시된다. 부가 정보는 이미지 파일 또는 텍스트 파일을 포함한다. 나아가, 디스플레이된 마크업 문서는 사용자와의 인터랙션(interaction)을 가능하게 해준다. 사용자가 마크업 문서에 마련된 버튼을 누르면 현재 재생되고 있는 동영상에 출연하고 있는 배우의 약력이 표시되는 것이 일 예이다.For example, if the AV data is a movie, a video is output in the display window of the XML document, and various additional information about the movie is displayed in the rest of the script, the plot, the actor's photograph, and the like. The additional information includes an image file or a text file. In addition, the displayed markup document enables interaction with the user. For example, when the user presses a button provided in the markup document, the bio of the actor appearing in the video being played is displayed.

인터랙티브 DVD에 기록된 마크업 문서를 해석하여 디스플레이할 수 있는 마크업 문서 뷰어로는 브라우저가 사용된다. 대표적인 브라우저는 마이크로소프트사의 익스플로러와 넷스케이프사의 네비게이터를 들 수 있다. 그러나 이들 브라우저는 마크업 문서를 해석하고 디스플레이하는 과정이 동일하지 않으므로 동일한 인터랙티브 DVD를 인터랙티브 모드로 재생하더라도 디스플레이되는 화면이 서로 달라질 수 있다. 즉, 화면 출력의 호환성이 제공되지 않는 문제점이 있다. 더욱이, 브라우저가 마크업 문서의 재생 과정(해석하고 디스플레이하는 과정)을 수행하는 중 사용자는 그 동작을 일시 정지시킬 수 없는 문제점이 있다.A browser is used as a markup document viewer that can interpret and display markup documents recorded on an interactive DVD. Typical browsers include Microsoft's Explorer and Netscape's Navigator. However, since these browsers do not have the same process of interpreting and displaying markup documents, the displayed screen may be different even if the same interactive DVD is played in the interactive mode. That is, there is a problem that compatibility of screen output is not provided. Furthermore, there is a problem that the user cannot pause the operation while the browser performs the reproduction process (interpretation and display) of the markup document.

따라서, 본 발명의 목적은 마크업 문서를 사용하여 AV 데이터를 인터랙티브 모드로 재생함에 있어 마크업 문서의 재생 과정을 제어할 수 있는 재생 방법, 및 그 장치를 제공하는 것이다.Accordingly, it is an object of the present invention to provide a reproduction method and apparatus for controlling a reproduction process of a markup document in reproducing AV data in an interactive mode using a markup document.

본 발명의 다른 목적은 마크업 문서를 사용하여 AV 데이터를 인터랙티브 모드로 재생함에 있어 화면 출력의 호환성이 제공되도록 마크업 문서를 해석하여 재생하는 방법, 및 그 장치를 제공하는 것이다.Another object of the present invention is to provide a method and apparatus for interpreting and reproducing a markup document to provide compatibility of screen output in reproducing AV data in an interactive mode using the markup document.

상기 목적은, 본 발명에 따라, 오디오 데이터 및/또는 비디오 데이터를 포함하는 AV 데이터를 인터랙티브 모드로 재생하는 방법에 있어서, 마크업 문서를 해석하여 화면에 로드하는 로딩 단계; 화면에 로딩된 마크업 문서와 사용자와의 인터랙션이 수행되는 인터랙팅 단계; 및 화면에 로딩된 마크업 문서를 종료시키는 종료 단계를 포함하는 것을 특징으로 하는 방법에 의해 달성된다.According to an aspect of the present invention, there is provided a method for reproducing an AV data including audio data and / or video data in an interactive mode, the method comprising: a loading step of parsing and loading a markup document on a screen; An interaction step of performing interaction between the markup document loaded on the screen and the user; And an ending step of terminating the markup document loaded on the screen.

상기 로딩 단계 이전에 상기 마크업 문서를 메모리로 읽어들이는 리딩 단계, 및 상기 종료 단계 이후에 상기 메모리에 남아 있는 상기 마크업 문서를 삭제하는 삭제 단계를 더 포함하는 것이 바람직하다.The method may further include a reading step of reading the markup document into the memory before the loading step, and a deleting step of deleting the markup document remaining in the memory after the ending step.

상기 로딩 단계는 (a) 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; 및 (c) 생성된 문서 객체 트리를 기초로 상기 마크업 문서를 렌더링하는 과정을 포함하고, 상기 리딩 단계는 상기 마크업 문서에 대한 스타일시트를 상기 메모리로 읽어들이는 과정을 더 포함하는 것이 바람직하다.The loading step may include: (a) generating a document object tree by interpreting the markup document; And (c) rendering the markup document based on the generated document object tree, wherein the reading step further includes reading a stylesheet for the markup document into the memory. Do.

상기 로딩 단계는 (a) 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; (b) 상기 스타일시트를 해석하여 스타일 규칙 및 셀렉터 리스트를 생성하는 과정; (c1) 생성된 스타일 규칙 및 셀렉터 리스트를 상기 문서 객체 트리에 적용하고 이를 기초로 포맷팅 구조를 생성하는 과정; 및 (c2) 생성된 포맷팅 구조를 기초로 상기 마크업 문서를 렌더링하는 과정을 포함하는 것이 더욱 바람직하다.The loading step may include: (a) generating a document object tree by interpreting the markup document; (b) interpreting the style sheet to generate a style rule and a selector list; (c1) applying the generated style rule and selector list to the document object tree and creating a formatting structure based on the document object tree; And (c2) rendering the markup document based on the generated formatting structure.

상기 (a)단계는 모든 노드의 루트 노드는 문서 노드로 설정하고, 모든 텍스트와 엘리먼트는 노드를 생성하며, 프로세싱 명령(Processing Instruction), 코멘트, 및 문서타입(DocumentType)은 노드를 생성하는 규칙에 따라 상기 문서 객체 트리를 생성하는 과정임이 특히 바람직하다.In step (a), the root node of every node is set as a document node, all texts and elements are created as nodes, and processing instructions, comments, and document types are defined in a rule for generating nodes. Therefore, the process of generating the document object tree is particularly preferable.

한편, 본 발명의 다른 분야에 따르면, 상기 목적은, 정보저장매체에 기록된 오디오 데이터 및/또는 비디오 데이터를 포함하는 AV 데이터를 인터랙티브 모드로 재생하는 장치에 있어서, 상기 정보저장매체에 기록된 데이터를 독출하는 리더; 상기 리더에 의해 독출된 마크업 문서를 캐시하기 위한 캐시 메모리; 및 상기 리더에 의해 독출된 마크업 문서를 상기 캐시 메모리로 읽어들이는 프리로딩 단계, 상기 프리로딩된 마크업 문서를 해석하여 화면에 로드하는 로딩 단계, 화면에 로딩된 마크업 문서와 사용자와의 인터랙션이 수행되는 인터랙팅 단계를 갖는 문서 라이프 사이클에 따라 상기 마크업 문서를 프리젠테이션하는 프리젠테이션 엔진을 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.On the other hand, according to another field of the present invention, the above object is, in the apparatus for reproducing AV data including audio data and / or video data recorded on the information storage medium in an interactive mode, the data recorded on the information storage medium A reader to read the; A cache memory for caching markup documents read by the reader; And a preloading step of reading the markup document read by the reader into the cache memory, a loading step of interpreting and loading the preloaded markup document on the screen, between the markup document loaded on the screen and the user. It is also achieved by an apparatus comprising a presentation engine for presenting the markup document in accordance with a document life cycle having an interacting step in which an interaction is performed.

상기 프리젠테이션 엔진은 상기 문서 라이프 사이클로서 상기 인터랙팅 단계 이후에, 마크업 문서의 프리젠테이션을 종료시키는 종료 단계를 더 수행하고, 상기 문서 라이프 사이클로서 상기 종료 단계 이후에, 상기 캐시 메모리에 남아 있는 상기 마크업 문서를 삭제하는 버리기 단계를 더 수행하는 것이 바람직하다.The presentation engine further performs an end step of terminating the presentation of a markup document after the interacting step as the document life cycle, and remains in the cache memory after the end step as the document life cycle. Preferably, the discarding step of deleting the markup document is further performed.

또한, 상기 프리젠테이션 엔진은 상기 로딩 단계로서 (a) 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; 및 (c) 생성된 문서 객체 트리를 기초로 상기 마크업 문서를 렌더링하는 과정을 수행하고,The presentation engine may further include generating a document object tree by interpreting the markup document as the loading step; And (c) rendering the markup document based on the generated document object tree,

상기 프리로딩 단계로서 상기 마크업 문서에 대한 스타일시트를 상기 메모리로 읽어들이는 과정을 더 수행하며, 상기 로딩 단계로서 (a) 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; (b) 상기 스타일시트를 해석하여 스타일 규칙 및 셀렉터 리스트를 생성하는 과정; (c1) 생성된 스타일 규칙 및 셀렉터 리스트를 상기 문서 객체 트리에 적용하고 이를 기초로 포맷팅 구조를 생성하는 과정; 및 (c2) 생성된 포맷팅 구조를 기초로 상기 마크업 문서를 렌더링하는 과정을 수행하는 것이 더욱 바람직하다.Performing a step of reading a style sheet for the markup document into the memory as the preloading step, and (a) interpreting the markup document to generate a document object tree as the loading step; (b) interpreting the style sheet to generate a style rule and a selector list; (c1) applying the generated style rule and selector list to the document object tree and creating a formatting structure based on the document object tree; And (c2) rendering the markup document based on the generated formatting structure.

상기 프리젠테이션 엔진은 모든 노드의 루트 노드는 문서 노드로 설정하고, 모든 텍스트와 엘리먼트는 노드를 생성하며, 프로세싱 명령(Processing Instruction), 코멘트, 및 문서타입(DocumentType)은 노드를 생성한다는 규칙에 따라 상기 문서 객체 트리를 생성하는 것이 특히 바람직하다.The presentation engine sets the root node of every node to a document node, all texts and elements to create nodes, and processing instructions, comments, and documenttypes to create nodes. It is particularly preferable to create the document object tree.

또한, 상기 목적은 정보저장매체에 기록된 오디오 데이터 및/또는 비디오 데이터를 포함하는 AV 데이터를 인터랙티브 모드로 재생하는 장치에 있어서, 상기 정보저장매체에 기록된 데이터를 독출하는 리더; 상기 리더에 의해 독출된 마크업 문서 및 스타일시트를 캐시하기 위한 캐시 메모리; 및 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 마크업문서 파서, 상기 스타일시트를 해석하여 스타일 규칙 및 셀렉터 리스트를 생성하는 스타일시트 파서, 상기 마크업 문서에 포함된 스크립트 코드를 해석하는 스크립트 코드 인터프리터, 상기 스크립트 코드 인터프리터와의 상호작용에 따라 상기 문서 객체 트리, 및 상기 스타일 규칙 및 셀렉터 리스트를 수정하는 돔(DOM) 로직; 상기 문서 객체 트리 및 상기 스타일 규칙 및 셀렉터 리스트를 상기 문서 객체 트리에 적용하고 이를 기초로 포맷팅 구조를 생성하며, 생성된 포맷팅 구조를 기초로 상기 마크업 문서를 렌더링하는 레이아웃 포맷터/렌더러를 구비하는 프리젠테이션 엔진을 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.In addition, the object is an apparatus for reproducing AV data including audio data and / or video data recorded on an information storage medium in an interactive mode, comprising: a reader for reading data recorded on the information storage medium; A cache memory for caching markup documents and style sheets read by the reader; And a markup document parser that parses the markup document to generate a document object tree, a stylesheet parser that parses the stylesheet to generate a style rule and a selector list, and a script that parses script code included in the markup document. Dome (DOM) logic for modifying a code interpreter, the document object tree, and the style rule and selector list according to interaction with the script code interpreter; A presentation having a layout formatter / renderer that applies the document object tree and the style rules and selector list to the document object tree, generates a formatting structure based on the document object tree, and renders the markup document based on the generated formatting structure It is also achieved by a device comprising a presentation engine.

상기 마크업 문서 파서는 모든 노드의 루트 노드는 문서 노드로 설정하고, 모든 텍스트와 엘리먼트는 노드를 생성하며, 프로세싱 명령(Processing Instruction), 코멘트, 및 문서타입(DocumentType)은 노드를 생성하는 규칙에 따라 상기 문서 객체 트리를 생성하는 것이 바람직하다.,The markup document parser sets the root node of every node to a document node, all text and elements to create nodes, and processing instructions, comments, and documenttypes to rules for creating nodes. Therefore, it is preferable to create the document object tree.

상기 프리젠테이션 엔진은 마크업 문서 단계 컨트롤러를 포함하고, 상기 마크업 문서 단계 컨트롤러는 상기 마크업 문서의 렌더링이 완료되면 상기 스크립트 코드 인터프리터로 「로드」 이벤트를 발생시키고, 상기 마크업 문서의 프리젠테이션을 종료시키기 위해 상기 스크립트 코드 인터프리터로 「언로드」 이벤트를 발생시키는 것이 바람직하다.The presentation engine includes a markup document step controller, and the markup document step controller generates a "load" event to the script code interpreter when the rendering of the markup document is completed, and the presentation of the markup document. It is desirable to generate an "unload" event with the script code interpreter in order to terminate.

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

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

도 1을 참조하면, 인터랙티브 DVD(100)의 트랙에는 AV 데이터가 MPEG 비트스트림으로 기록되어 있고 복수개의 마크업 문서가 기록되어 있다. 여기서, 「마크업 문서」는 HTML, XML 등의 마크업언어로 작성된 문서는 물론 Script 언어, Java 등으로 작성된 소스 코드가 링크되거나 삽입된 문서를 총칭한다. 즉, 마크업 문서는 AV 데이터를 인터랙티브 모드로 재생하기 위해 필요한 일종의 어플리케이션 역할을 한다. 한편, 마크업 문서에 링크되어 마크업 문서에 매립되어 표시되는 이미지 파일, 애니메이션 파일, 사운드 파일 등은 「마크업 리소스」라고 부른다.Referring to FIG. 1, AV data is recorded in an MPEG bitstream and a plurality of markup documents are recorded in a track of the interactive DVD 100. Here, the "markup document" refers to a document in which source code written in a script language, Java, or the like is linked or inserted, as well as a document written in markup languages such as HTML and XML. In other words, the markup document serves as a kind of application required for reproducing the AV data in the interactive mode. On the other hand, image files, animation files, sound files, etc., which are linked to the markup document and embedded in the markup document, are referred to as "markup resources".

도 2는 도 1의 인터랙티브 DVD(100)의 볼륨 공간(Volume Space)의 개략도이다.FIG. 2 is a schematic diagram of a volume space of the interactive DVD 100 of FIG. 1.

도 2를 참조하면, 인터랙티브 DVD(100)의 Volume Space에는 Volume과 파일에 대한 제어 정보가 기록된 제어정보 영역, 대응 비디오 타이틀 데이터가 기록된 DVD-Video 데이터 영역, 및 인터랙티브 모드로 재생되기 위해 필요한 데이터가 기록된 DVD-Interactive 데이터 영역을 포함한다.Referring to FIG. 2, the volume space of the interactive DVD 100 includes a control information area in which control information about a volume and a file are recorded, a DVD-Video data area in which corresponding video title data is recorded, and required to be reproduced in an interactive mode. It contains a DVD-Interactive data area in which data is recorded.

DVD-Video 데이터 영역에는 포함된 비디오 타이틀 전체에 대한 재생 제어 정보가 담겨진 VIDEO_TS.IFO 및 첫 번째 비디오 타이틀에 대한 재생 제어 정보가 담겨진 VTS_01_0.IFO가 기록되어 있고, 이어서 비디오 타이틀을 구성하는 AV 데이터인 VTS_01_0.VOB, VTS_01_1.VOB,‥이 기록되어 있다. VTS_01_0.VOB, VTS_01_1.VOB,‥는 비디오 타이틀, 즉 비디오 오브젝트(Video OBject)이다. 각 VOB에는 네비게이션 팩, 비디오 팩, 및 오디오 팩이 패킹된 VOBU가 담겨 있다. 보다 상세한 구성은 DVD-Video 표준안 「DVD-Video for Read Only Memory Disc 1.0」에 개시되어 있다.In the DVD-Video data area, VIDEO_TS.IFO containing the playback control information for the entire video title contained therein and VTS_01_0.IFO containing the playback control information for the first video title are recorded. Then, AV data constituting the video title is recorded. VTS_01_0.VOB, VTS_01_1.VOB, ... are recorded. VTS_01_0.VOB, VTS_01_1.VOB, ... are video titles, that is, video objects. Each VOB contains a VOBU packed with a navigation pack, video pack, and audio pack. A more detailed configuration is disclosed in the DVD-Video standard "DVD-Video for Read Only Memory Disc 1.0".

DVD-Interactive 데이터 영역에는 인터랙티브 정보 전체에 대한 재생 제어 정보가 기록된 DVD_ENAV.IFO가 기록되어 있고, 시작 문서로 지정된 STARTUP.XML, 마크업 문서 파일인 A.XML, 및 A.XML에 삽입되어 표시되기 위한 마크업 리소스로서 그래픽 파일 A.PNG가 기록되어 있다. 기타 마크업 문서 및 이에 삽입되는 다양한 형식의 마크업 리소스 파일이 기록될 수 있다.In the DVD-Interactive data area, DVD_ENAV.IFO, which records playback control information for all interactive information, is recorded and inserted into and displayed in the STARTUP.XML designated as the start document, A.XML as a markup document file, and A.XML. The graphic file A.PNG is recorded as a markup resource to be used. Other markup documents and markup resource files of various formats inserted therein may be recorded.

도 3은 인터랙티브 DVD(100)의 디렉토리 구조를 도시한 참고도이다.3 is a reference diagram illustrating a directory structure of the interactive DVD 100.

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

VIDEO_TS에는 도 2를 참조하여 설명한 데이터, 즉, VIDEO_TS.IFO, VTS_01_0.IFO, VTS_01_0.VOB, VTS_01_1.VOB,‥등이 저장되어 있다. DVD_ENAV에는 도 2를 참조하여 설명한 데이터, 즉, STARTUP.XML, A.XML, 및 A.PNG가 저장되어 있다.VIDEO_TS stores data described with reference to FIG. 2, that is, VIDEO_TS.IFO, VTS_01_0.IFO, VTS_01_0.VOB, VTS_01_1.VOB, and the like. DVD_ENAV stores data described with reference to FIG. 2, that is, STARTUP.XML, A.XML, and A.PNG.

도 4는 본 발명의 바람직한 실시예에 따른 재생 시스템의 개요도이다.4 is a schematic diagram of a playback system according to a preferred embodiment of the present invention.

도 4를 참조하면, 재생 시스템은 인터랙티브 DVD(100), 재생장치(200), 본 실시예에 따른 디스플레이 장치로서 TV(300) 및 리모트 콘트롤러(400)를 포함한다. 리모트 콘트롤러(400)는 사용자의 제어 명령을 수신하여 재생장치(200)로 전달한다. 재생장치(200)는 인터랙티브 DVD(100)에 기록된 데이터가 읽혀지기 위한 DVD 드라이브가 마련되어 있다. DVD 드라이브에 DVD(100)가 로드되고 사용자가 인터랙티브 모드를 선택하면 재생장치(200)는 대응 마크업 문서를 사용하여 해당 AV 데이터를 인터랙티브 모드로 재생하여 TV(300)로 전달한다. TV(300)에는 재생된 AV 데이터에 따른 AV 화면과 마크업 문서로부터 얻어진 마크업 화면이 함께 표시된다. 「인터랙티브 모드」는 AV 데이터를 마크업 문서에 정의된 표시창에 AV 화면이 디스플레이되도록 재생하는 방식, 즉 마크업 화면에 AV 화면을 매립하여 디스플레이하는 방식을 말한다. 여기서, AV 화면은 AV 데이터를 재생하여 디스플레이 장치에 표시되는 화면을 가리키고 마크업 화면은 마크업 문서가 해석되어 디스플레이 장치에 표시되는 화면을 가리킨다. 한편, 「비디오 모드」는 AV 데이터를 종래 DVD-Video를 재생하는 방식, 즉 해당 AV 데이터를 재생하여 얻어진 AV 화면만을 디스플레이하는 방식을 말한다. 본 실시예에서 재생장치(200)는 인터랙티브 모드와 비디오 모드를 모두 지원한다. 나아가, 재생장치(200)는 인터넷 등 네트워크에 접속하여 데이터를 송수신할 수 있다.Referring to FIG. 4, the playback system includes an interactive DVD 100, a playback device 200, a TV 300 and a remote controller 400 as a display device according to the present embodiment. The remote controller 400 receives a user's control command and transmits the control command to the playback apparatus 200. The playback apparatus 200 is provided with a DVD drive for reading data recorded on the interactive DVD 100. When the DVD 100 is loaded in the DVD drive and the user selects the interactive mode, the playback apparatus 200 reproduces the corresponding AV data in the interactive mode using the corresponding markup document and transmits the AV data to the TV 300. The TV 300 displays the AV screen according to the reproduced AV data and the markup screen obtained from the markup document together. The "interactive mode" refers to a method in which the AV data is reproduced so that the AV screen is displayed on the display window defined in the markup document, that is, a method in which the AV screen is embedded in the markup screen and displayed. Here, the AV screen refers to a screen displayed on the display device by reproducing AV data, and the markup screen refers to a screen displayed on the display device after the markup document is interpreted. On the other hand, the "video mode" refers to a method of reproducing AV data of a conventional DVD-Video, that is, a method of displaying only an AV screen obtained by reproducing the AV data. In the present embodiment, the playback apparatus 200 supports both the interactive mode and the video mode. In addition, the playback apparatus 200 may transmit and receive data by connecting to a network such as the Internet.

도 5는 본 발명의 바람직한 실시예에 따른 재생장치(200)의 기능 블럭도이다.5 is a functional block diagram of a playback apparatus 200 according to a preferred embodiment of the present invention.

도 5를 참조하면, 재생장치(200)는 리더(1), 버퍼 메모리(2), 캐시 메모리(3), 콘트롤러(5), 디코더(4), 및 블렌더(7)를 포함한다. 콘트롤러(5)에는 프리젠테이션 엔진(6)이 탑재되어 있다. 리더(1)에는 DVD(100)에 레이저를 조사하여 데이터를 독출하기 위한 광 픽업(도시되지 않음)이 마련되어 있다.Referring to FIG. 5, the playback apparatus 200 includes a reader 1, a buffer memory 2, a cache memory 3, a controller 5, a decoder 4, and a blender 7. The controller 5 is equipped with a presentation engine 6. The reader 1 is provided with an optical pickup (not shown) for reading data by irradiating a laser onto the DVD 100.

리더(1)는 콘트롤러(5)로부터의 제어 신호에 따라 광픽업을 제어하여 DVD(100)로부터 AV 데이터 및 마크업 문서를 독출한다.The reader 1 controls the optical pickup in accordance with a control signal from the controller 5 to read the AV data and the markup document from the DVD 100.

버퍼 메모리(2)는 AV 데이터를 버퍼링하기 위한 메모리이고 캐시 메모리(3)는 DVD(100)에 기록된 AV 데이터 및/또는 마크업 문서의 재생을 제어하기 위한 재생 제어 정보 파일을 캐시하거나 기타 필요한 정보를 캐시하기 위한 메모리이다.The buffer memory 2 is a memory for buffering AV data and the cache memory 3 caches or otherwise needs a reproduction control information file for controlling reproduction of AV data and / or markup documents recorded on the DVD 100. Memory for caching information.

콘트롤러(5)는 DVD(100)에 기록된 AV 데이터가 사용자 선택에 따라 비디오 모드 또는 인터랙티브 모드로 재생되도록 리더(1), 프리젠테이션 엔진(6), 디코더(4), 및 블렌더(7)를 제어한다.The controller 5 controls the reader 1, the presentation engine 6, the decoder 4, and the blender 7 so that the AV data recorded on the DVD 100 is reproduced in the video mode or the interactive mode according to the user's selection. To control.

콘트롤러(5)의 일부로서 프리젠테이션 엔진(6)은 소프트웨어 관점에서, 마크업언어 및 클라이언트해석 프로그램 언어, 예를 들면 JavaScript, Java, 등을 해석 하여 실행하는 해석 엔진이다. 나아가, 프리젠테이션 엔진(6)은 다양한 플러그-인을 더 포함할 수 있다. 플러그-인은 마크업 문서에 포함되거나 마크업 문서에 링크된 다양한 포맷의 마크업 리소스 파일을 열 수 있게 해준다. 즉, 프리젠테이션 엔진(6)은 마크업 문서 뷰어 역할을 한다. 또한, 본 실시예에서 프리젠테이션 엔진(6)은 인터넷에 접속하여 소정 데이터를 읽어올 수 있다.As part of the controller 5, the presentation engine 6 is an analysis engine that interprets and executes markup languages and client interpreted programming languages such as JavaScript, Java, and the like from a software perspective. Furthermore, the presentation engine 6 may further comprise various plug-ins. Plug-ins allow you to open markup resource files in various formats that are included in or linked to markup documents. In other words, the presentation engine 6 serves as a markup document viewer. In addition, in the present embodiment, the presentation engine 6 can connect to the Internet and read predetermined data.

인터랙티브 모드에서 프리젠테이션 엔진(6)은 캐시 메모리(3)에 캐시된 마크업 문서를 가져온 다음 해석하여 렌더링한다. 블렌더(7)는 AV 데이터 스트림이 마크업 문서에 의해 정의된 표시창에 디스플레이되도록, 즉 AV 화면이 마크업 화면에 매립되도록(embedded), AV 데이터 스트림과 렌더링된 마크업 문서를 블렌딩하여 TV(100)로 출력한다.In the interactive mode, the presentation engine 6 fetches the cached markup document in the cache memory 3 and then interprets and renders it. The blender 7 blends the AV data stream and the rendered markup document so that the AV data stream is displayed in the display window defined by the markup document, that is, the AV screen is embedded in the markup screen. )

특히, 본 발명에 따라 프리젠테이션 엔진(6)은 마크업 문서를 재생하는(해석하여 디스플레이하는) 과정에 있어서, 1) 재생 시작을 위한 동작이 수행되는 시작 상태, 2) 마크업 문서가 실행되는 재생 상태, 3) 마크업 문서의 재생이 잠시 멈추는 일시 정지 상태, 및 4) 마크업 문서의 재생이 정지되는 정지 상태를 정의하고 이를 기반으로 동작한다. 1) 시작 상태는 프리젠테이션 엔진(6)이 초기화를 위한 동작 수행하고 있는 상태를 의미한다. 2) 재생 상태, 3) 일시 정지 상태 및 4) 정지 상태의 있는 프리젠테이션 엔진(6)의 동작은 사용자 입력에 따라 리모트 콘트롤러(400)에 의해 발생되는 사용자 이벤트와 마크업 문서에 기록된 스크립트 코드에 따라 결정된다. 상세한 설명은 후술한다.In particular, according to the present invention, in the process of reproducing (interpreting and displaying) the markup document, the presentation engine 6 includes 1) a start state in which an operation for starting playback is performed, and 2) a markup document is executed. A playback state, 3) a pause state where the reproduction of the markup document stops for a while, and 4) a stop state where the reproduction of the markup document is stopped and operate on the basis thereof. 1) The start state means a state in which the presentation engine 6 performs an operation for initialization. The operation of the presentation engine 6 in 2) playback state, 3) pause state, and 4) stop state is script code recorded in the user event and markup document generated by the remote controller 400 according to user input. It depends on. Detailed description will be described later.

나아가, 본 발명에 따라 프리젠테이션 엔진(6)은 2) 재생 상태에 있어서 마크업 문서를 캐시 메모리(3)로 읽어들이는 리딩 단계, 리더(1)에 의해 독출된 마크업 문서를 해석하여 화면에 로드하는 로딩 단계, 화면에 로딩된 마크업 문서와 사용자와의 인터랙션이 수행되는 인터랙팅 단계, 화면에 로딩된 마크업 문서를 종료시키는 종료 단계, 및 캐시 메모리(3)에 남아 있는 마크업 문서를 삭제하는 버리기 단계를 갖는 문서 라이프 사이클에 따라 마크업 문서를 프리젠테이션한다.Furthermore, according to the present invention, the presentation engine 6 reads the markup document into the cache memory 3 in the reproduction state, interprets the markup document read by the reader 1, and displays the screen. A loading step for loading into the screen, an interacting step for interacting with the markup document loaded on the screen and the user, an ending step for terminating the markup document loaded on the screen, and a markup document remaining in the cache memory 3 Present the markup document according to the document life cycle having a discarding step of deleting it.

도 6은 도 5의 프리젠테이션 엔진(6)의 구현예이다.6 is an example of an implementation of the presentation engine 6 of FIG. 5.

도 6을 참조하면, 프리젠테이션 엔진(6)은 마크업 문서 단계 컨트롤러(61), 마크업 문서 파서(62), 스타일시트 파서(63), 스크립트 코드 인터프리터(64), 돔(DOM: Document Object Model) 로직(65), 레이아웃 포맷터/렌더러(66) 및 UI(User Interface) 콘트롤러(67)를 포함한다.Referring to FIG. 6, the presentation engine 6 includes a markup document step controller 61, a markup document parser 62, a stylesheet parser 63, a script code interpreter 64, and a dome (DOM). Model (65) logic, layout formatter / renderer 66, and UI (User Interface) controller 67.

마크업 문서 파서(62)는 마크업 문서를 해석하여 문서 객체 트리를 생성한다. 문서 객체 트리를 생성함에 있어서는 다음 규칙에 따른다. 첫째, 모든 노드의 루트 노드는 문서 노드로 설정하고, 둘째, 모든 텍스트와 엘리먼트는 노드를 생성하며, 셋째, 프로세싱 명령(Processing Instruction), 코멘트, 및 문서타입(DocumentType)은 노드를 생성하는 규칙이다. 도 7은 마크업 문서의 일 예이고, 도 8은 도 7을 기초로 생성된 문서 객체 트리를 보여준다. 이처럼, 본 발명에 따르면 동일한 마크업 문서에 대해서는 동일한 문서 객체 트리가 생성된다.The markup document parser 62 interprets the markup document to generate a document object tree. The following rules apply to creating a document object tree. First, the root node of every node is set as a document node, second, all text and elements create nodes, and third, processing instructions, comments, and documenttypes are rules for creating nodes. . FIG. 7 is an example of a markup document, and FIG. 8 shows a document object tree generated based on FIG. 7. As such, according to the present invention, the same document object tree is generated for the same markup document.

UI 콘트롤러(67)는 리모트 콘트롤러(400)를 통해 입력된 사용자 입력을 수신하여 돔 로직(65) 및/또는 레이아웃 포맷터/렌더러(66)로 전달한다. 즉, 본 발명에 따라 사용자 이벤트를 발생시킨다.The UI controller 67 receives a user input input through the remote controller 400 and transmits the user input to the dome logic 65 and / or the layout formatter / render 66. In other words, a user event is generated according to the present invention.

스타일시트 파서(63)는 스타일시트를 해석하여 스타일 규칙 및 셀렉터 리스트(Style rule/Selector list)를 생성한다. 스타일시트는 마크업 문서의 양식을 자유롭게 지정할 수 있게 해준다. 본 실시예에서 스타일 시트의 문법과 형식은 W3C의 Cascading Style Sheet(CSS)에 따른다. 스크립트 코드 인터프리터(64)는 마크업 문서에 포함된 스크립트 코드를 해석한다. 돔 로직(65)은 마크업 문서를 프로그램 객체로 만들거나 수정할 수 있도록 해준다. 즉, 스크립트 코드 인터프리터(64)와의 상호작용 또는 UI 콘트롤러(67)로부터의 사용자 이벤트에 따라 문서 객체 트리, 및 스타일 규칙/셀렉터 리스트를 수정하거나 보완한다. 레이아웃 포맷터/렌더러(66)는 스타일 규칙/셀렉터 리스트를 문서 객체 트리에 적용하고 이를 기초로 출력되는 문서의 양식(예를 들면, 프린트된 페이지인지, 사운드인지, 등)에 따라 대응 포맷팅 구조(formatting structure)를 생성하거나 또는 UI 콘트롤러(67)로부터의 사용자 이벤트에 따라 포맷팅 구조를 변경한다. 포맷팅 구조는 문서 객체 트리와 일견 유사한 구조를 가진 것처럼 보이지만 의사-엘리먼트(pseudo-element)를 활용할 수 있으며 반드시 트리 구조를 갖지 않아도 된다. 즉, 구현(implementation)에 종속적이다. 또한, 포맷팅 구조는 문서 객체 트리보다 많은 정보를 가질 수도 있고 그 반대일 수도 있다. 예를 들어, 문서 객체 트리의 엘리먼트가 "display" 속성값으로 "none" 값을 가지면, 그 엘리먼트는 포맷팅 구조를 위한 어떤값도 생성하지 않는다. 본 실시예에서 포맷팅 구조는 CSS(Cascading Style Sheet) 2 프로세싱 모델에 따르므로 보다 상세한 설명은 CSS2 프로세싱 모델에 기술되어 있다. 레이아웃 포맷터/렌더러(66)는 생성된 포맷팅 구조를 기초로 출력되는 문서의 양식(즉, 타겟 매체)에 따라 마크업 문서를 렌더링하여 블렌더(7)로 출력한다. 렌더링을 위해 레이아웃 포맷터/렌더러(66)는 이미지나 사운드를 해석하여 출력하는 디코더를 구비할 수 있다. 즉, 레이아웃 포맷터/렌더러(66)는 마크업 문서에 링크되는 마크업 리소스를 디코딩하여 블렌더(7)로 출력한다.The style sheet parser 63 interprets the style sheet to generate a style rule / selector list. Style sheets give you the freedom to style your markup document. In this embodiment, the syntax and format of the style sheet follows the Cascading Style Sheet (CSS) of the W3C. The script code interpreter 64 interprets the script code included in the markup document. Dome logic 65 allows markup documents to be created or modified as program objects. That is, the document object tree and style rule / selector list are modified or supplemented according to interaction with script code interpreter 64 or user events from UI controller 67. The layout formatter / renderer 66 applies a style rule / selector list to the document object tree and based on the corresponding formatting structure (e.g., printed pages, sounds, etc.) according to the format of the outputted document. structure) or change the formatting structure according to user events from UI controller 67. The formatting structure appears to have a similar structure to the document object tree, but can utilize pseudo-elements and does not have to have a tree structure. That is, it is implementation dependent. In addition, the formatting structure may have more information than the document object tree and vice versa. For example, if an element of the document object tree has a value of "none" as the value of the "display" attribute, the element does not generate any value for the formatting structure. Since the formatting structure in this embodiment is in accordance with the Cascading Style Sheet (CSS) 2 processing model, a more detailed description is described in the CSS2 processing model. The layout formatter / renderer 66 renders and outputs the markup document to the blender 7 according to the format of the outputted document (ie, the target medium) based on the generated formatting structure. For rendering, the layout formatter / renderer 66 may include a decoder that interprets and outputs an image or sound. That is, the layout formatter / renderer 66 decodes the markup resource linked to the markup document and outputs it to the blender 7.

마크업 문서 단계 컨트롤러(61)는 마크업 문서의 해석이 전술한 문서 라이프 사이클에 따라 수행되도록 콘트롤한다. 또한, 마크업 문서의 렌더링이 완료되면 스크립트 코드 인터프리터(64)로 「로드」 이벤트를 발생시키고, 마크업 문서의 프리젠테이션을 종료시키기 위해 상기 스크립트 코드 인터프리터(64)로 「언로드」 이벤트를 발생시킨다.The markup document step controller 61 controls the interpretation of the markup document to be performed in accordance with the document life cycle described above. When the rendering of the markup document is completed, the "load" event is generated by the script code interpreter 64, and the "unload" event is generated by the script code interpreter 64 to terminate the presentation of the markup document. .

도 9는 리모트 콘트롤러(400)의 일 예이다.9 is an example of a remote controller 400.

도 9를 참조하면, 리모트 콘트롤러(400)의 전면의 상단에는 숫자 버튼과 특수 문자 버튼 그룹(40)이 배치되어 있고, 전면의 중앙에는 TV(300)의 화면에 표시되는 포인터를 위쪽으로 이동하기 위한 방향키(42), 아래쪽으로 이동하기 위한 방향키(44), 왼쪽으로 이동하기 위한 방향키(43) 및 오른쪽으로 이동하기 위한 방향키(45)가 마련되어 있으며 방향키들의 중앙에는 포인터에 의해 포인팅된 아이템을 선택하는데 사용되는 엔터키(41)가 마련되어 있다.Referring to FIG. 9, a number button and a special character button group 40 are disposed at the top of the front of the remote controller 400, and the pointer displayed on the screen of the TV 300 is moved upward in the center of the front of the remote controller 400. A direction key 42 for moving downwards, a direction key 44 for moving downwards, a direction key 43 for moving leftwards, and a direction key 45 for moving rightwards, and in the center of the direction keys, an item pointed by a pointer is selected. There is provided an enter key 41 to be used.

전면의 하단에는 정지 버튼(46), 재생/일시 정지 버튼(47)이 배치되어 있다. 재생/일시 정지 버튼(47)은 토글식으로 마련되어 누를 때마다 재생과 일시 정지가 번갈아가며 선택된다. 본 발명에 따라 인터랙티브 모드에서 사용자는 정지 버튼(46), 재생/일시 정지 버튼(47)을 눌러서 프리젠테이션 엔진(6)의 마크업 문서의 재생 과정을 제어할 수 있다.A stop button 46 and a play / pause button 47 are disposed at the lower end of the front surface. The play / pause button 47 is toggled so that playback and pause are selected alternately each time it is pressed. According to the present invention, in the interactive mode, the user can control the playback process of the markup document of the presentation engine 6 by pressing the stop button 46 and the play / pause button 47.

도 10은 마크업 문서를 재생하기 위해 정의된 프리젠테이션 엔진(6)의 각 상태들 및 그 관계를 보여준다.10 shows the respective states of the presentation engine 6 defined for reproducing the markup document and their relations.

도 10을 참조하면, 프리젠테이션 엔진(6)의 상태는 1) 시작 상태, 2) 재생 상태, 3) 일시 정지 상태, 및 4) 정지 상태로 구분된다. 1) 시작 상태에 있어서 프리젠테이션 엔진(6)은 DVD(100)가 로드되면 디스크 정보를 읽어들이거나 파일 시스템을 캐시 메모리(3)에 로드하는 등 초기화 동작을 수행한다. 초기화 상태는 재생 장치 내부에서 이루어질 뿐 사용자에게는 인식되지 않는다. 초기화 동작이 완료되면 재생 상태로 넘어간다. 2) 재생 상태에서 프리젠테이션 엔진(6)은 시작 문서로 지정된 마크업 문서를 재생한다. 만약, 재생 상태에서 사용자가 리모트 콘트롤러(400)에 마련된 일시 정지 버튼(47)을 누르면 마크업 문서의 재생이 일시 정지되는 일시 정지 상태로 넘어간다. 3) 마크업 문서의 재생이 일시 정지된다는 의미는 마크업 문서에 링크되어 마크업 화면에 표시되는 마크업 리소스들에 대한 재생이 일시 정지됨을 가리킨다. 가령, 마크업 화면에 애니메이션 플래시가 매립되어 디스플레이되는 경우라면 애니메이션 플래시의 움직임이 일시 정지된다. 일시 정지 상태에서 사용자가 다시 재생 버튼(47)을 누르면 마크업 문서의 재생이 다시 시작되는 재생 상태로 이행된다. 즉, 마크업 화면에 표시되는 마크업 리소스들에 대한 재생이 일시 정지된 부분에서부터 다시 시작된다. 재생 상태와 일시 정지 상태는 재생/일시 정지 버튼(47)을 누름으로써 그 상태가 상호 전환된다. 한편, 일시 정지 상태 또는 재생 상태에서 사용자가 정지 버튼(46)을 누르면 마크업 문서의 재생이 완전히 정지되는 정지 상태로 이행된다. 4) 정지 상태에서 마크업 화면에 표시되는 마크업 리소스들에 대한 재생이 완전히 정지되므로 만약 사용자가 재생 버튼(48)을 누른다면 마크업 리소스의 처음부터 다시 재생이 시작된다.Referring to FIG. 10, the state of the presentation engine 6 is divided into 1) start state, 2) playback state, 3) pause state, and 4) stop state. 1) In the start state, the presentation engine 6 performs an initialization operation such as reading disc information or loading a file system into the cache memory 3 when the DVD 100 is loaded. The initialization state is made inside the playback device and is not recognized by the user. When the initialization operation is completed, the process returns to the playback state. 2) In the reproduction state, the presentation engine 6 reproduces the markup document designated as the start document. If the user presses the pause button 47 provided on the remote controller 400 in the reproduction state, the state shifts to the pause state where the reproduction of the markup document is paused. 3) The reproduction of the markup document is paused means that the reproduction of markup resources linked to the markup document and displayed on the markup screen is paused. For example, when the animation flash is embedded and displayed on the markup screen, the movement of the animation flash is paused. When the user presses the playback button 47 again in the paused state, the display enters the playback state where playback of the markup document is resumed. That is, playback of the markup resources displayed on the markup screen is resumed from the paused portion. The regeneration state and the pause state are switched with each other by pressing the regeneration / pause button 47. On the other hand, when the user presses the stop button 46 in the pause state or the reproduction state, the transition to the stop state where reproduction of the markup document is completely stopped. 4) In the stop state, playback of the markup resources displayed on the markup screen is completely stopped. If the user presses the playback button 48, playback starts again from the beginning of the markup resource.

1) 시작 상태, 2) 재생 상태, 3) 일시 정지 상태, 및 4) 정지 상태에 있는 프리젠테이션 엔진(6)의 동작은 사용자 입력에 따라 리모트 콘트롤러(400)에 의해 발생되는 사용자 이벤트와 마크업 문서에 기록된 스크립트 코드에 따라 결정된다. 따라서, 사용자 이벤트와 마크업 문서에 기록된 스크립트 코드를 변경함으로써 각 상태에서의 프리젠테이션 엔진(6)의 동작을 다양하게 변경할 수 있다.The operations of the presentation engine 6 in the 1) start state, 2) playback state, 3) pause state, and 4) stop state are user events and markup generated by the remote controller 400 according to user input. It depends on the script code written in the document. Therefore, by changing the script code recorded in the user event and markup document, the operation of the presentation engine 6 in each state can be variously changed.

도 11은 도 10의 재생 상태에서의 문서 라이프 사이클을 나타낸다.FIG. 11 shows the document life cycle in the playback state of FIG.

도 11을 참조하면, 문서 라이프 사이클은 프리로딩 단계, 로딩 단계, 인터랙팅 단계, 종료 단계, 및 버리기 단계로 구성된다. 모든 마크업 문서는 본 발명에 따른 문서 라이프 사이클에 따라 처리된다. 다만, 어떤 마크업 문서는 프리로딩 단계에서 곧바로 버리기 단계로 가는 문서 라이프 사이클에 따라 처리될 수 있다. 캐시되었다가 프리젠테이션(디스플레이)되지 않고 삭제되는 경우가 이에 해당된다. 또한, 종료 단계에서 다시 로딩 단계로 순환되는 문서 라이프 사이클을 가질 수 있다. 프리젠테이션이 종료된 마크업 문서를 다시 프리젠테이션하는 경우가 이에 해당된다.Referring to FIG. 11, the document life cycle consists of a preloading step, a loading step, an interacting step, an end step, and a discard step. All markup documents are processed according to the document life cycle according to the present invention. However, some markup documents can be processed according to the document life cycle from the preloading stage to the discarding stage. This is the case when the cache is deleted without being presented (displayed). It may also have a document life cycle that cycles from the terminating step back to the loading step. This is the case of re-presenting the markup document where the presentation is completed.

프리로딩 단계는 마크업 문서(및 스타일시트)를 캐시 메모리(3)로 읽어들이는 과정까지를 의미한다. 즉, 마크업 문서에 연관된 리소스가 메모리 상의 아이템(온-메모리 아이템)으로 생성된다.The preloading step refers to the process of reading a markup document (and style sheet) into the cache memory 3. That is, resources associated with markup documents are created as items on memory (on-memory items).

로딩 단계는 해당 마크업 문서를 해석하여 디스플레이 화면 상에 프리젠테이션되는 과정까지를 말한다. 즉, 로딩 단계에서의 "로딩"은 해당 마크업 문서가 화면 상에 로딩됨을 의미한다. 마크업 문서를 해석한다는 것은 코드의 문법이 맞는지 검사하는 것, 즉 신택스 첵크(syntax check)와, 의미상의 오류가 있는지 여부를 검사하는 DTD(Document Type Definition) 첵크를 수행하여 오류가 없는 경우 문서 객체 트리를 만드는 과정을 의미한다. 오류가 없는 마크업 문서는 "유효하다(valid)라고 말한다". 또한, 마크업 문서와 별개의 파일로 존재하거나 마크업 문서 내부에 들어있는 스타일시트를 해석하는 과정도 포함한다.The loading step refers to the process of interpreting the corresponding markup document and presenting it on the display screen. That is, "loading" in the loading step means that the markup document is loaded on the screen. Parsing a markup document means checking that the syntax of the code is correct, that is, performing a syntax check and a Document Type Definition (DTD) check that checks for semantic errors. The process of creating a tree. An error-free markup document is said to be "valid". It also includes interpreting style sheets that exist as files separate from or in the markup document.

신택스 첵크 과정에서 XML 문서의 경우 XML 엘리먼트가 적절히 배치되어 있는지에 대한 검사 등이 수행된다. 즉, XML 엘리먼트인 태그들이 문법에 맞게 네스팅(nesting)되어 있는지 여부에 대한 검사 등이 수행된다. 신택스 첵크에 대한 상세한 설명은 XML 규격에 상세히 개시되어 있다. DTD는 그 문서의 태그를 구분하고, 태그에 설정되어 있는 속성 정보를 식별하고, 속성정보에 알맞은 값이 어떻게 설정되었는지를 지시하는, 마크업 문서와 함께 동반되는 문서 규칙에 관한 정보이다. DTD 첵크 과정에서는 DTD에 기초하여 마크업 문서의 의미론적 오류를 찾아낸다.In the syntax check process, XML documents are checked for proper placement of XML elements. That is, a check is performed to check whether the XML elements are nested according to the syntax. A detailed description of the syntax shank is described in detail in the XML specification. The DTD is information about document rules that accompany the markup document that identifies the tag of the document, identifies the attribute information set in the tag, and indicates how a value suitable for the attribute information is set. The DTD check process finds semantic errors in markup documents based on the DTD.

문서 객체 트리를 만드는 과정에서 적용되는, 본 발명에 따른 규칙은 전술한 바 있다.The rules according to the present invention, which are applied in the process of creating the document object tree, have been described above.

정리하면, 로딩 단계는 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; 및 생성된 문서 객체 트리를 기초로 마크업 문서를 렌더링하는 과정을 포함한다. 보다 구체적으로, 마크업 문서를 해석하여 문서 객체 트리를 생성하고, 스타일시트를 해석하여 스타일 규칙 및 셀렉터 리스트를 생성하며, 생성된 스타일 규칙 및 셀렉터 리스트를 문서 객체 트리에 적용하고 이를 기초로 포맷팅 구조를 생성하여 생성된 포맷팅 구조를 기초로 마크업 문서를 렌더링하는 과정들을 포함한다. In summary, the loading step may include: analyzing a markup document to generate a document object tree; And rendering the markup document based on the generated document object tree. More specifically, it parses markup documents to create a document object tree, interprets style sheets to generate style rules and selector lists, applies the generated style rules and selector lists to the document object tree, and forms formatting based on them. And rendering the markup document based on the generated formatting structure.

인터랙팅 단계는 사용자가 화면에 로딩된 문서의 버튼을 누르거나 스크롤하는 것과 같이 사용자와 상호작용, 또는 디코더(4)와 프리젠테이션 엔진(6)과의 상호작용하는 과정, 사용자가 리모트 콘트롤러(400)에 마련된 버튼을 눌러 마크업 문서의 재생을 제어하는 과정, 등 문서의 표시 내용이 변경되는 과정을 의미한다. 인터랙팅 단계에서 화면에 프리젠테이션된 마크업 문서가 마크업 문서 단계 콘트롤러(61)로부터 로드 이벤트를 수신하고 만약 로드된 마크업 문서에서 다른 마크업 문서로 이동되어야 하면 언로드 이벤트가 발생된다. 사용자가 리모트 콘트롤러(400)에 마련된 버튼을 누르면 사용자 입력 이벤트가 UI 콘트롤러(67)와 돔 콘트롤러(65)를 통해 스크립트 코드 인터프리터(64)로 알린다. 이 때, 돔 콘트롤러(65)로 제공되는 이벤트 핸들러 스크립트 코드가 스크립트 코드 인터프리터(64)에서 실행되어 이벤트가 프리젠테이션 엔진(6)에 반영될지 여부를 결정한 다음, 반영되기로 결정되면 프리젠테이션 엔진(6)에 반영되어 정의된 동작으로 처리된다. 예를 들면, 재생 장치의 실행 상태를 제어하는 재생 버튼(47), 정지 버튼(46), 일시 정지 버튼(47)을 눌렀을 때, 방향키(42,43,44,45)와 엔터키(41)와 같은 마크업 문서를 구성하는 엘리먼트를 네비게이션하는 동작이 이에 해당한다. 이벤트를 반영하지 않으려면 World Wide Web Consortium에서 제공하는 event.preventDefault() 기능을 사용할 수 있다. 자세한 내용은 Document Object Model(DOM) Level 2 Events Specification version 1.0에 기술되어 있다.The interacting step is a process in which the user interacts with the user, such as pressing or scrolling a button of a document loaded on the screen, or interacting with the decoder 4 and the presentation engine 6, and the user controls the remote controller 400. Means a process of controlling the reproduction of the markup document by pressing a button provided at), and a process of changing the display content of the document. An unload event is generated when the markup document presented on the screen in the interacting step receives a load event from the markup document step controller 61 and must be moved from the loaded markup document to another markup document. When a user presses a button provided on the remote controller 400, a user input event is notified to the script code interpreter 64 through the UI controller 67 and the dome controller 65. At this time, the event handler script code provided to the dome controller 65 is executed in the script code interpreter 64 to determine whether the event is reflected in the presentation engine 6, and then, if it is determined to be reflected, the presentation engine ( It is reflected in 6) and is processed by the defined action. For example, when the playback button 47, the stop button 46, and the pause button 47 which control the execution state of the playback device are pressed, the arrow keys 42, 43, 44, 45 and the enter key 41 are pressed. The operation of navigating an element constituting a markup document such as If you do not want to reflect the events, you can use the event.preventDefault () function provided by the World Wide Web Consortium. Details are described in the Document Object Model (DOM) Level 2 Events Specification version 1.0.

종료 단계는 마크업 문서의 프리젠테이션이 종료되고 캐시 메모리(3)에 남아 있는 상태를 의미한다.The end step means a state in which the presentation of the markup document ends and remains in the cache memory 3.

버리기 단계는 프리젠테이션이 종료된 마크업 문서를 캐시 메모리(3)로부터 제거하는 것을 말한다. 즉, 온-메모리 아이템 정보가 삭제된다.The discarding step refers to removing markup documents from which the presentation is completed from the cache memory 3. That is, the on-memory item information is deleted.

상기 구성을 기초로 본 발명에 따른 재생방법을 설명하면 다음과 같다.The playback method according to the present invention will be described based on the above configuration.

도 12a 내지 12d는 본 발명의 바람직한 실시예에 따른 재생 방법을 설명하기 위한 플로우챠트이다.12A to 12D are flowcharts for explaining a reproducing method according to a preferred embodiment of the present invention.

도 12a를 참조하면, 재생 장치는 DVD(100)가 로딩되면 프리젠테이션 엔진(6)을 초기화하고(1201단계), STARTUP.XML을 출력 문서로 설정한다(1202단계). 프리젠테이션 엔진(6)은 사용자 입력 버튼이 눌려짐에 따라 발생된 사용자 입력 이벤트에 따라 현재 상태를 판단한다. 재생 실행 실행 상태이면(1203단계) A로 가고, 일시 정지 상태이면(1204단계) B로 가며, 정지 상태이면(1205단계) C로 간다.12A, when the DVD 100 is loaded, the playback apparatus initializes the presentation engine 6 (step 1201), and sets STARTUP.XML as an output document (step 1202). The presentation engine 6 determines the current state according to the user input event generated as the user input button is pressed. If the playback is in the execution state (step 1203), the process goes to A; if it is in the pause state (step 1204), the process goes to B;

도 12b를 참조하면, 재생 상태(A)의 경우, 프리젠테이션 엔진(6)은 출력 문서로 설정된 STARTUP.XML을 해석하여 화면에 출력하고, 사용자 입력에 따른 사용자 이벤트를 받아들이며 마크업 문서에 기록되어 있거나 링크된 대응 스크립트를 실행한다(1206단계). 사용자로부터 일시 정지 요구가 있으면, 즉 사용자가 일시 정지 버튼(47)을 누르면(1207단계), 일시 정지 상태로 이행한다(1208단계). 일 시 정지 상태에서는 화면에 표시되는 마크업 리소스의 재생을 멈추고, 프리젠테이션 엔진(6) 내에 존재하는 마크업 문서의 해석 및 마크업 리소스의 디코딩 등에 필요한 타이머를 멈추며, 재생 버튼(47)과 정지 버튼(46)에 따른 사용자 이벤트만을 수신한다. 다른 버튼, 예를 들어 일시 정지 버튼(47)을 눌러도 프리젠테이션 엔진(6)은 대응하는 동작을 수행하지 않는다. 사용자로부터 정지 요구가 있으면, 즉 사용자가 정지 버튼(46)을 누르면(1209단계), 재생 정지 상태로 이행한다(1210단계). 정지 상태가 되면 프리젠테이션 엔진(6)은 화면에 표시되는 마크업 리소스의 재생을 완전히 멈추고 타이머를 멈추며, 어떤 사용자 이벤트도 수신하지 않는다.Referring to FIG. 12B, in the reproduction state A, the presentation engine 6 interprets STARTUP.XML set as an output document and outputs it to the screen, accepts a user event according to a user input, and records it in a markup document. Execute the corresponding script linked or linked (step 1206). If there is a pause request from the user, i.e., if the user presses the pause button 47 (step 1207), the processing proceeds to the pause state (step 1208). In the pause state, the playback of the markup resource displayed on the screen is stopped, the timer necessary for interpreting the markup document existing in the presentation engine 6 and decoding the markup resource is stopped, and the playback button 47 is stopped. Receive only user events according to button 46. The presentation engine 6 does not perform the corresponding operation even when another button, for example, the pause button 47 is pressed. If there is a stop request from the user, that is, if the user presses the stop button 46 (step 1209), the process proceeds to the playback stop state (step 1210). In the stopped state, the presentation engine 6 stops playing the markup resources displayed on the screen completely, stops the timer, and does not receive any user events.

도 12c를 참조하면, 일시 정지 상태(B)의 경우, 프리젠테이션 엔진(6)은 사용자가 재생 버튼(48) 또는 정지 버튼(47)을 누르면 그에 따른 사용자 이벤트를 받아들인다(1211단계). 즉, 사용자로부터 재생 정지 요구가 있으면, 즉 사용자가 재생 버튼(48)을 누르면(1212단계), 재생 상태로 이행한다(1213단계). 재생 상태에서는 프리젠테이션 엔진(6)은 화면에 표시되는 마크업 리소스의 재생을 일지 정지된 부분부터 다시 시작하고, 타이머를 멈춘 부분에서부터 다시 시작하며, 모든 사용자 이벤트를 수신한다. 사용자로부터 재생 정지 요구가 있으면, 즉 사용자가 정지 버튼(47)을 누르면(1214단계), 재생 정지 상태로 이행한다(1215단계). 정지 상태가 되면 프리젠테이션 엔진(6)은 어떤 사용자 이벤트도 수신하지 않는다.Referring to FIG. 12C, in the pause state B, the presentation engine 6 accepts a user event according to the user pressing the play button 48 or the stop button 47 (step 1211). In other words, if a playback stop request is made from the user, that is, if the user presses the playback button 48 (step 1212), the process proceeds to the playback state (step 1213). In the playback state, the presentation engine 6 restarts playback of the markup resource displayed on the screen from the paused portion, resumes the timer from the stopped portion, and receives all user events. If a playback stop request is made from the user, that is, if the user presses the stop button 47 (step 1214), the processing proceeds to the playback stop state (step 1215). In the stopped state, the presentation engine 6 does not receive any user events.

도 12d를 참조하면, 정지 상태(C)의 경우, 프리젠테이션 엔진(6)은 마크업 문서에서 요구되는, 정지 후에도 보전되어야 할 정보를 비휘발성 메모리(도시되지 않음)에 저장한다(1216단계). Referring to FIG. 12D, in the case of the stopped state C, the presentation engine 6 stores in the nonvolatile memory (not shown) the information required in the markup document to be retained even after the stop (step 1216). .

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

도 13을 참조하면, 문서 라이프 사이클의 각 단계에 따른 마크업 문서에 대한 처리 과정이 표시되어 있다. 즉, 프리로딩 단계에서 재생 장치(200)의 프리젠테이션 엔진(6)은 마크업 문서를 캐시 메모리(3)에 읽어들인다(1301단계). 로딩 단계에서, 프리젠테이션 엔진(6)은 마크업 문서를 파싱하여 문서 객체 트리를 생성한다(1302단계). 마크업 문서가 유효하지 못하여 문서 객체 트리가 생성되지 못하면(1303단계), 예외 처리 루틴이 수행된다(1304단계). 마크업 문서가 유효하여 문서 객체 트리가 제대로 생성되었으면(1303단계), 다음으로 마크업 문서의 엘리먼트를 해석하여 포맷하고 렌더링한다(1305단계). 한편, 렌더링이 이루어지는 동안 모든 종류의 이벤트에 대한 이벤트 핸들러들이 스크립트 코드 인터프리터(64)에 등록된다. 이벤트 핸들러들은 등록된 이벤트가 발생되는지 지켜본다(listen). 마크업 문서가 렌더링되고 해당 AV 데이터가 디코딩되면 블렌더(7)는 렌더링된 마크업 문서를 디코딩된 AV 데이터 스트림과 함께 블렌딩하여 화면에 출력한다(1306단계). 인터랙팅 단계에서는 해당 마크업 문서가 화면에 로딩된후 프리젠테이션 엔진(6)은 스크립트 코드 인터프리터(64)로 "로드" 이벤트를 발생시켜 이벤트와 관련되어 수행될 작업이 처리될 수 있도록 해준다. 이후 마크업 문서를 통해 사용자와의 인터랙션이 수행된다(1307단계). 여기서, 해당 마크업 문서의 프리젠테이션을 종료할 것이 요청되면(1308단계), 프리젠테이션 엔진(6)은 스크립트 코드 인터프리터(64)로 "언로드" 이벤트를 발생시킨다(1309단계). 다음으로, 종료 단계에서 현재 마크업 문서의 프리젠테이션을 종료하고 다음 마크업 문서의 프리젠테이션을 준비한다(1310단계). 버리기 단계에서는 종료된 마크업 문서를 캐시 메모리(3)로부터 삭제한다(1311단계). 전술한 바와 같이, 리딩 단계에서 곧바로 버리기 단계로 오는 마크업 문서가 존재할 수 있다.
한편, 전술한 재생 방법은 컴퓨터에서 실행되는 컴퓨터 프로그램으로 작성될 수 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 재생 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
Referring to FIG. 13, a process for a markup document according to each stage of the document life cycle is displayed. That is, in the preloading step, the presentation engine 6 of the reproduction device 200 reads the markup document into the cache memory 3 (step 1301). In the loading step, the presentation engine 6 parses the markup document to generate a document object tree (step 1302). If the document object tree is not generated because the markup document is not valid (step 1303), an exception handling routine is performed (step 1304). If the markup document is valid and the document object tree is properly generated (step 1303), then the elements of the markup document are interpreted, formatted, and rendered (step 1305). On the other hand, event handlers for all kinds of events are registered in the script code interpreter 64 during rendering. Event handlers listen for registered events. When the markup document is rendered and the corresponding AV data is decoded, the blender 7 blends the rendered markup document with the decoded AV data stream and outputs it to the screen (step 1306). In the interacting step, after the markup document is loaded on the screen, the presentation engine 6 issues a "load" event to the script code interpreter 64 so that the work to be performed in relation to the event can be processed. Thereafter, interaction with the user is performed through the markup document (step 1307). Here, if it is requested to end the presentation of the markup document (step 1308), the presentation engine 6 generates an "unload" event to the script code interpreter 64 (step 1309). Next, in the end step, the presentation of the current markup document is finished and the presentation of the next markup document is prepared (step 1310). In the discarding step, the terminated markup document is deleted from the cache memory 3 (step 1311). As described above, there may be markup documents that come directly from the reading step to the discarding step.
On the other hand, the above-described reproduction method can be written as a computer program running on a computer. Codes and code segments constituting the computer program can be easily inferred by a computer programmer in the art. In addition, the program is stored in a computer readable medium, and read and executed by a computer to implement the reproduction method. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.

전술한 바와 같이, 본 발명에 따르면 AV 데이터를 인터랙티브 모드로 재생함에 있어 마크업 문서의 문서 사이클을 정의하고, 정의된 문서 사이클에 따라 마크업 문서를 해석하고 실행함으로써, 화면 출력의 호환성이 제공된다. 나아가, 사용자는 마크업 문서의 실행을 일시 정지 또는 정지시킬 수 있게 된다.As described above, according to the present invention, in reproducing the AV data in the interactive mode, the document cycle of the markup document is defined, and the markup document is interpreted and executed according to the defined document cycle, thereby providing compatibility of the screen output. . Further, the user can pause or stop the execution of the markup document.

Claims (29)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 정보저장매체에 기록된 AV 데이터를 인터랙티브 모드로 재생하는 장치에 있어서,An apparatus for reproducing AV data recorded on an information storage medium in an interactive mode, 상기 정보저장매체에 기록된 데이터를 독출하는 리더;A reader for reading data recorded on the information storage medium; 상기 리더에 의해 독출된 마크업 문서를 캐시하기 위한 캐시 메모리; 및A cache memory for caching markup documents read by the reader; And 상기 리더에 의해 독출된 마크업 문서를 상기 캐시 메모리로 읽어들이는 프리로딩 단계, 상기 프리로딩된 마크업 문서를 해석하여 화면에 로드하는 로딩 단계, 화면에 로딩된 마크업 문서와 사용자와의 인터랙션이 수행되는 인터랙팅 단계를 갖는 문서 라이프 사이클에 따라 상기 마크업 문서를 프리젠테이션하는 프리젠테이션 엔진을 포함하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.A preloading step of reading the markup document read by the reader into the cache memory, a loading step of interpreting and loading the preloaded markup document on the screen, and interaction of the markup document loaded on the screen with the user And a presentation engine for presenting the markup document in accordance with a document life cycle with the interacting step being performed. 제9항에 있어서,The method of claim 9, 상기 AV 데이터를 버퍼링하기 위한 버퍼 메모리;A buffer memory for buffering the AV data; 상기 버퍼 메모리에 버퍼링된 AV 데이터를 디코딩하는 디코더; 및A decoder for decoding AV data buffered in the buffer memory; And 상기 디코더에 의해 디코딩된 AV 데이터와 상기 프리젠테이션 엔진에 의해 해석된 마크업 문서를 블렌딩하여 출력하는 블렌더를 더 포함하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And a blender for blending and outputting the AV data decoded by the decoder and the markup document interpreted by the presentation engine. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은 상기 문서 라이프 사이클로서 상기 인터랙팅 단계 이후에, 마크업 문서의 프리젠테이션을 종료시키는 종료 단계를 더 수행하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the presentation engine further performs an end step of terminating the presentation of a markup document after the interacting step as the document life cycle. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은 상기 문서 라이프 사이클로서 상기 종료 단계 이후에, 상기 캐시 메모리에 남아 있는 상기 마크업 문서를 삭제하는 버리기 단계를 더 수행하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the presentation engine further performs a discarding step of deleting the markup document remaining in the cache memory after the terminating step as the document life cycle. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은The presentation engine 상기 로딩 단계에서, 상기 마크업 문서가 유효(valid)하면 문서 객체 트리를 생성하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And in the loading step, generating a document object tree if the markup document is valid. 제13항에 있어서,The method of claim 13, 상기 프리젠테이션 엔진은 The presentation engine DTD(Document Type Definition)를 첵크하여 상기 마크업 문서가 유효하면 문서 객체 트리를 생성하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And a document object tree if the markup document is valid by checking a DTD (Document Type Definition). 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은The presentation engine 상기 로딩 단계에서, 문서 객체 트리의 노드를 렌더링하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And in the loading step, a node of a document object tree is rendered. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은The presentation engine 상기 로딩 단계에서, 상기 마크업 문서를 렌더링하는 과정 중에 이벤트 핸들러를 등록하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And in the loading step, an event handler is registered during the rendering of the markup document. 제16항에 있어서,The method of claim 16, 상기 프리젠테이션 엔진은 렌더링 과정 이후에 상기 이벤트 핸들러를 통해 이벤트가 발생하는지 여부를 검사(listen)하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the presentation engine checks whether an event occurs through the event handler after a rendering process. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은 상기 로딩 단계로서 (a) 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; 및 (c) 생성된 문서 객체 트리를 기초로 상기 마크업 문서를 렌더링하는 과정을 수행하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.The presentation engine is the loading step as (a) interpreting the markup document to generate a document object tree; And (c) rendering the markup document on the basis of the generated document object tree. 제11항에 있어서,The method of claim 11, 상기 프리젠테이션 엔진은 상기 프리로딩 단계로서 상기 마크업 문서에 대한 스타일시트를 상기 메모리로 읽어들이는 과정을 더 수행하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치The presentation engine is an interactive mode reproduction apparatus for AV data, further comprising the step of reading the style sheet for the markup document into the memory as the preloading step. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은The presentation engine 상기 로딩 단계로서 (a) 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 과정; (b) 상기 스타일시트를 해석하여 생성된 문서 객체 트리에 적용하는 과정; (c1) 적용된 문서 객체 트리를 기초로 포맷팅 구조를 생성하는 과정; 및 (c2) 생성된 포맷팅 구조를 기초로 상기 마크업 문서를 렌더링하는 과정을 수행하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.(A) interpreting the markup document to generate a document object tree as the loading step; (b) analyzing and applying the style sheet to the generated document object tree; (c1) generating a formatting structure based on the applied document object tree; And (c2) rendering the markup document based on the generated formatting structure. 제20항에 있어서,The method of claim 20, 상기 프리젠테이션 엔진은The presentation engine 모든 노드의 루트 노드는 문서 노드로 설정하고, 모든 텍스트와 엘리먼트는 노드를 생성하며, 프로세싱 명령(Processing Instruction), 코멘트, 및 문서타입(DocumentType)은 노드를 생성한다는 규칙에 따라 상기 문서 객체 트리를 생성하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.Root nodes of all nodes are set to document nodes, all text and elements create nodes, and processing instructions, comments, and DocumentTypes create nodes according to the rule. And interactive mode reproduction apparatus for AV data. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은 상기 로딩 단계에서 「로드」 이벤트를 발생시키는 과정을 수행하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the presentation engine performs a process of generating a "load" event in the loading step. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은The presentation engine 상기 인터랙팅 단계에서 화면에 로딩된 마크업 문서의 종료가 요청되면, 「언로드」이벤트를 발생시키는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And generating an "unload" event when the end of the markup document loaded on the screen is requested in the interacting step. 제9항에 있어서,The method of claim 9, 상기 프리젠테이션 엔진은The presentation engine 상기 인터랙팅 단계에서 「언로드」 이벤트가 발생되면 상기 종료 단계를 수행함을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the terminating step is performed when the "unload" event occurs in the interacting step. 정보저장매체에 기록된 AV 데이터를 인터랙티브 모드로 재생하는 장치에 있어서,An apparatus for reproducing AV data recorded on an information storage medium in an interactive mode, 상기 정보저장매체에 기록된 데이터를 독출하는 리더;A reader for reading data recorded on the information storage medium; 상기 리더에 의해 독출된 마크업 문서 및 스타일시트를 캐시하기 위한 캐시 메모리; 및A cache memory for caching markup documents and style sheets read by the reader; And 상기 마크업 문서를 해석하여 문서 객체 트리를 생성하는 마크업문서 파서, 상기 스타일시트를 해석하여 스타일 규칙 및 셀렉터 리스트를 생성하는 스타일시트 파서, 상기 마크업 문서에 포함된 스크립트 코드를 해석하는 스크립트 코드 인터프리터, 상기 스크립트 코드 인터프리터와의 상호작용에 따라 상기 문서 객체 트리, 및 상기 스타일 규칙 및 셀렉터 리스트를 수정하는 돔(DOM) 로직; 상기 문서 객체 트리 및 상기 스타일 규칙 및 셀렉터 리스트를 상기 문서 객체 트리에 적용하고 이를 기초로 포맷팅 구조를 생성하며, 생성된 포맷팅 구조를 기초로 상기 마크업 문서를 렌더링하는 레이아웃 포맷터/렌더러를 구비하는 프리젠테이션 엔진을 포함하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.A markup document parser that parses the markup document to generate a document object tree, a stylesheet parser that parses the stylesheet to generate a style rule and a selector list, and script code that interprets script code included in the markup document Dome (DOM) logic to modify the document object tree, and the style rule and selector list in accordance with an interpreter, interaction with the script code interpreter; A presentation having a layout formatter / renderer that applies the document object tree and the style rules and selector list to the document object tree, generates a formatting structure based on the document object tree, and renders the markup document based on the generated formatting structure And interactive presentation playback apparatus for AV data. 제25항에 있어서,The method of claim 25, 상기 마크업 문서 파서는 모든 노드의 루트 노드는 문서 노드로 설정하고, 모든 텍스트와 엘리먼트는 노드를 생성하며, 프로세싱 명령(Processing Instruction), 코멘트, 및 문서타입(DocumentType)은 노드를 생성하는 규칙에 따라 상기 문서 객체 트리를 생성하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.The markup document parser sets the root node of every node to a document node, all text and elements to create nodes, and processing instructions, comments, and documenttypes to rules for creating nodes. And generating the document object tree according to the present invention. 제25항 또는 제26항에 있어서,The method of claim 25 or 26, 상기 프리젠테이션 엔진은 마크업 문서 단계 컨트롤러를 포함하고,The presentation engine includes a markup document step controller, 상기 마크업 문서 단계 컨트롤러는 상기 마크업 문서의 렌더링이 완료되면 상기 스크립트 코드 인터프리터로 「로드」 이벤트를 발생시키는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the markup document step controller generates a "load" event to the script code interpreter when rendering of the markup document is completed. 제27항에 있어서,The method of claim 27, 상기 마크업 문서 단계 콘트롤러는 상기 마크업 문서의 프리젠테이션을 종료시키기 위해 상기 스크립트 코드 인터프리터로 「언로드」 이벤트를 발생시키는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And the markup document step controller generates an " unload " event to the script code interpreter to terminate the presentation of the markup document. 제25항에 있어서,The method of claim 25, 상기 AV 데이터를 버퍼링하기 위한 버퍼 메모리;A buffer memory for buffering the AV data; 상기 버퍼 메모리에 버퍼링된 AV 데이터를 디코딩하는 디코더; 및A decoder for decoding AV data buffered in the buffer memory; And 상기 디코더에 의해 디코딩된 AV 데이터와 상기 프리젠테이션 엔진에 의해 해석되어 렌더링된 마크업 문서를 블렌딩하여 출력하는 블렌더를 더 포함하는 것을 특징으로 하는 AV 데이터의 인터랙티브 모드 재생 장치.And a blender for blending and outputting the AV data decoded by the decoder and the markup document interpreted and rendered by the presentation engine.
KR1020020070014A 2002-03-09 2002-11-12 Reproducing apparatus for interactive mode using markup documents KR100544180B1 (en)

Priority Applications (14)

Application Number Priority Date Filing Date Title
MYPI20030594A MY135385A (en) 2002-03-09 2003-02-20 Reproducing method and apparatus for interactive mode using markup documents
TW092103485A TWI247295B (en) 2002-03-09 2003-02-20 Reproducing method and apparatus for interactive mode using markup documents
MXPA04008691A MXPA04008691A (en) 2002-03-09 2003-03-03 Reproducing method and apparatus for interactive mode using markup documents.
AU2003208643A AU2003208643A1 (en) 2002-03-09 2003-03-03 Reproducing method and apparatus for interactive mode using markup documents
JP2003575381A JP4384500B2 (en) 2002-03-09 2003-03-03 Method and apparatus for reproducing AV data in interactive mode using markup document
PCT/KR2003/000405 WO2003077249A1 (en) 2002-03-09 2003-03-03 Reproducing method and apparatus for interactive mode using markup documents
CA002478676A CA2478676A1 (en) 2002-03-09 2003-03-03 Reproducing method and apparatus for interactive mode using markup documents
CN038056291A CN1639791B (en) 2002-03-09 2003-03-03 Reproducing method and apparatus for interactive mode using markup documents
EP03707226A EP1483761A4 (en) 2002-03-09 2003-03-03 Reproducing method and apparatus for interactive mode using markup documents
US10/384,063 US20030182627A1 (en) 2002-03-09 2003-03-10 Reproducing method and apparatus for interactive mode using markup documents
US10/797,056 US20040250200A1 (en) 2002-03-09 2004-03-11 Reproducing method and apparatus for interactive mode using markup documents
US10/797,057 US20040243927A1 (en) 2002-03-09 2004-03-11 Reproducing method and apparatus for interactive mode using markup documents
US10/797,055 US20040247292A1 (en) 2002-03-09 2004-03-11 Reproducing method and apparatus for interactive mode using markup documents
HK05107449.7A HK1075320A1 (en) 2002-03-09 2005-08-25 Reproducing method and apparatus for interactive mode using markup documents

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020020012728 2002-03-09
KR20020012728 2002-03-09
KR20020031069 2002-06-03
KR1020020031069 2002-06-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020030061569A Division KR100553891B1 (en) 2002-03-09 2003-09-03 Reproducing method for interactive mode using markup documents
KR10-2003-0061570A Division KR100509506B1 (en) 2002-03-09 2003-09-03 Information storage medium storing program code for interactive mode using markup documents

Publications (2)

Publication Number Publication Date
KR20030074093A KR20030074093A (en) 2003-09-19
KR100544180B1 true KR100544180B1 (en) 2006-01-23

Family

ID=32232762

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020020070014A KR100544180B1 (en) 2002-03-09 2002-11-12 Reproducing apparatus for interactive mode using markup documents
KR10-2003-0061570A KR100509506B1 (en) 2002-03-09 2003-09-03 Information storage medium storing program code for interactive mode using markup documents
KR1020030061569A KR100553891B1 (en) 2002-03-09 2003-09-03 Reproducing method for interactive mode using markup documents

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR10-2003-0061570A KR100509506B1 (en) 2002-03-09 2003-09-03 Information storage medium storing program code for interactive mode using markup documents
KR1020030061569A KR100553891B1 (en) 2002-03-09 2003-09-03 Reproducing method for interactive mode using markup documents

Country Status (4)

Country Link
KR (3) KR100544180B1 (en)
HK (1) HK1075320A1 (en)
MY (1) MY135385A (en)
RU (1) RU2340018C2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561417B1 (en) * 2004-02-09 2006-03-16 삼성전자주식회사 Information storage medium recorded interactive graphic stream for the transition of AV data reproducing state, and reproducing method and apparatus thereof
US20070006078A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161663A (en) * 1997-11-28 1999-06-18 Toshiba Corp Moving picture reproduction control method and image display device applied with same
US5929857A (en) * 1997-09-10 1999-07-27 Oak Technology, Inc. Method and apparatus for dynamically constructing a graphic user interface from a DVD data stream
US5949752A (en) * 1997-10-30 1999-09-07 Wea Manufacturing Inc. Recording media and methods for display of graphic data, text, and images
US6047292A (en) * 1996-09-12 2000-04-04 Cdknet, L.L.C. Digitally encoded recording medium
US6266650B1 (en) * 1996-07-26 2001-07-24 Kabushiki Kaisha Toshiba Mail-order shopping system, and DVD and adapter both for use in the mail-order shopping system
KR20030035272A (en) * 2001-10-30 2003-05-09 엘지전자 주식회사 Method for reproducing an interactive optical disc using an internet

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266650B1 (en) * 1996-07-26 2001-07-24 Kabushiki Kaisha Toshiba Mail-order shopping system, and DVD and adapter both for use in the mail-order shopping system
US6047292A (en) * 1996-09-12 2000-04-04 Cdknet, L.L.C. Digitally encoded recording medium
US5929857A (en) * 1997-09-10 1999-07-27 Oak Technology, Inc. Method and apparatus for dynamically constructing a graphic user interface from a DVD data stream
US5949752A (en) * 1997-10-30 1999-09-07 Wea Manufacturing Inc. Recording media and methods for display of graphic data, text, and images
JPH11161663A (en) * 1997-11-28 1999-06-18 Toshiba Corp Moving picture reproduction control method and image display device applied with same
KR20030035272A (en) * 2001-10-30 2003-05-09 엘지전자 주식회사 Method for reproducing an interactive optical disc using an internet

Also Published As

Publication number Publication date
MY135385A (en) 2008-04-30
KR100553891B1 (en) 2006-02-24
KR20030083629A (en) 2003-10-30
KR20030083630A (en) 2003-10-30
KR20030074093A (en) 2003-09-19
RU2004127126A (en) 2005-04-10
HK1075320A1 (en) 2005-12-09
KR100509506B1 (en) 2005-08-22
RU2340018C2 (en) 2008-11-27

Similar Documents

Publication Publication Date Title
JP4384500B2 (en) Method and apparatus for reproducing AV data in interactive mode using markup document
US20030196165A1 (en) Information storage medium on which interactive contents version information is recorded, and recording and/or reproducing method and apparatus
KR100565056B1 (en) Method and apparatus for reproducing AV data in interactive mode and information storage medium thereof
KR100544180B1 (en) Reproducing apparatus for interactive mode using markup documents
KR20050026676A (en) Information storage medium, reproducing method, and reproducing apparatus for supporting interactive mode
KR100584561B1 (en) Apparatus for reproducing Audio-Visual data in interactive mode using markup document
KR100584576B1 (en) Information storage medium for reproducing AV data in interactive mode
KR100584575B1 (en) Method for reproducing AV data in interactive mode
KR20030041947A (en) Method for reproducing content in interactive mode, preloading, recording data and managing memory
KR20030082886A (en) Information storage medium containing interactive contents version information, recording method and reproducing method therefor
KR20040034376A (en) Information storage medium containing device-aspect-ratio information, method and apparatus therefor

Legal Events

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

Payment date: 20121228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee