# Patent

## Title
Information storage medium containing enhanced AV (ENAV) buffer configuration information, reproducing method thereof and method for managing the buffer

## Abstract

A recording and/or reproducing apparatus for use with an information storage medium including ENAV buffer configuration information includes: an ENAV buffer in which an ENAV file is loaded; and an ENAV engine which interprets and reproduces the ENAV file, wherein the ENAV engine allocates at least a portion of the ENAV buffer as an updateable markup area on the basis of ENAV buffer configuration information, reads the ENAV file, and loads the ENAV file in the ENAV buffer.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of Korean Patent Application No. 2003-19965, filed on Mar. 31, 2003 in the Korean Intellectual Property Office, Korean Patent Application No. 2003-61566, filed on Sep. 3, 2003 in the Korean Intellectual Property Office, Korean Patent Application No. 2003-61565, filed on Sep. 3, 2003 in the Korean Intellectual Property Office, and Korean Patent Application No. 2003-61310, filed on Sep. 3, 2003 in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entireties by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an apparatus for reproducing contents recorded on an information storage medium in an interactive mode, and more particularly, to a recording and/or reproducing apparatus capable of reproducing Audio Video (AV) data in an interactive mode, a method of managing an Enhanced AV (ENAV) buffer installed in the recording and/or reproducing apparatus, and an information storage medium having information used to manage the ENAV buffer in the interactive mode.
2. Description of the Related Art
Digital Versatile Discs (DVDs) which support an interactive mode to reproduce Audio Video (AV) data in the interactive mode in a Personal Computer (PC) environment have been on the market and will be referred to as interactive DVDs. The interactive DVD contains markup documents as interactive data for supporting interactive functions as well as the AV data according to a conventional DVD-Video standard. The AV data recorded on the interactive DVD can be displayed in two modes. One mode is a video mode in which an AV picture is displayed in the same form as a general DVD-Video. The other mode is an interactive mode in which both an AV picture and a markup document are displayed in a manner that the AV picture is embedded in the markup document. For example, where the AV data is a movie title, a corresponding movie is shown in a display on an AV picture area and various additional information (such as a scenario of the movie, pictures of casts, etc.) is displayed on the remaining area of the display except for the AV picture area.
The additional information can be displayed in synchronization with the movie title (AV data). For example, when a specific actor appears, a markup document containing the actor's personal history information is required and displayed. Furthermore, the markup document displayed in the interactive mode allows interaction with a user. For example, if the user presses a button made on the markup document, there is displayed the history information of an actor appearing on the AV picture being presently reproduced.
However, in consumer devices (for example, home DVD player) capable of reproducing the interactive DVD (i.e., capable of supporting an interactive mode), a problem exists in buffer management for supporting the interactive mode. FIGS. 1a and 1b are reference views for easily explaining a problem in a conventional technique.
Referring to FIG. 1A, a conventional Personal Computer (PC) 5 includes a main buffer 55 with a capacity more than hundreds of mega bytes (for example, 256 MB). The PC 5 further includes a hard disk 56 as an auxiliary buffer with a capacity more than dozens of giga bytes (for example, 32 GB). Accordingly, when the PC 5 tries to receive data from a server 9 over the Internet, there scarcely occur cases where the data is not received due to space limitation of the buffer 55 or 56 for storing the data.
However, as shown in FIG. 1B, a home DVD player 2 which is connected to and used with a Television 1 has a lower buffer capacity as compared to the PC 5. The buffer capacity is generally only a buffer 25 of dozens of mega bytes (for example, 32 MB). Accordingly, when the home DVD player 2 tries to access the server 9 over the Internet and receive desired contents, the home DVD player 2 cannot accommodate the contents if the server 9 provides the contents using a method in which contents are stored in a buffer without limitation as in the PC 5.
SUMMARY OF THE INVENTION
An aspect of the present invention provides a method for managing a buffer, a recording and/or reproducing apparatus, and an information storage medium thereof, capable of smoothly receiving and reproducing desired contents using a lower capacity buffer without buffer shortage when receiving the desired contents from a server over the Internet, in a recording and/or reproducing apparatus such as a consumer device capable of supporting an interactive mode.
According to an aspect of the present invention, there is provided a method of managing a buffer in an interactive device, the method comprising: allocating at least a portion of an Enhanced AV (ENAV) buffer to be an updateable markup area for an ENAV file on the basis of ENAV buffer configuration information; and loading a predetermined ENAV file using the allocated updateable markup area.
According to an aspect of the invention, the allocating the ENAV buffer comprises: allocating the updateable markup area according to information of memory sizes included in the ENAV buffer configuration information, or allocating the updateable markup area according to information of memory names and sizes included in the ENAV buffer configuration information.
According to an aspect of the invention, the allocating the ENAV buffer comprises reading ENAV buffer configuration information recorded in a loading information file, and the loading the predetermined ENAV file comprises loading a corresponding ENAV file with reference to information of names and locations of the ENAV file recorded in the loading information file.
According to an aspect of the invention, the allocating the ENAV buffer comprises reading ENAV buffer configuration information recorded in a loading information file using memory elements, reading as the ENAV buffer configuration information names and sizes of memories recorded in the loading information file using attributes of the memory elements, or reading a predetermined loading information file with reference to a startup file included in a directory provided for the ENAV file, and reading the ENAV buffer configuration information recorded in the loading information file.
According to an aspect of the invention, the loading the predetermined ENAV file comprises loading the ENAV file stored in a disk in the updateable markup area with reference to the name and location information of the ENAV file recorded in the loading information file, or requesting the ENAV file based on the name and location information of the ENAV file recorded in the loading information file to a server and loading an ENAV file provided from the server in the updateable markup area.
According to another aspect of the present invention, a buffer management method for providing a chat service in an interactive device includes allocating at least a portion of an ENAV buffer to be an updateable markup area for an ENAV file on the basis of ENAV buffer configuration information; and loading the ENAV file for providing the chat service in the allocated updateable markup area.
Meanwhile, according to another aspect of the present invention, there is provided an information storage medium comprising: at least an ENAV file containing ENAV data, and ENAV buffer configuration information provided for allocating as an updateable markup area at least a portion of the ENAV buffer in which the ENAV file is loaded.
According to an aspect of the invention, the ENAV buffer configuration information is recorded in a loading information file including names and locations information of predetermined ENAV files to be read in advance, is recorded in the loading information file using a memory element, is recorded as memory names and sizes in the loading information file using an attribute of the memory element, or is recorded in a loading information file linked to a startup file included in a directory provided for the ENAV files.
According to another aspect of the present invention, a recording and/or reproducing apparatus, which reproduces AV data in an interactive mode, comprises: an ENAV buffer in which an ENAV file is loaded; and an ENAV engine which interprets and reproduces the ENAV file, wherein the ENAV engine allocates at least a portion of the ENAV buffer to be an updateable markup area on the basis of ENAV buffer configuration information, reads the ENAV file, and loads the ENAV file in the ENAV buffer.
According to an aspect of the invention, the ENAV engine reads the ENAV buffer configuration information recorded in a loading information file including names and locations information of predetermined ENAV files to be read in advance, reads the ENAV buffer configuration information recorded in the loading information file using a memory element, reads as the ENAV buffer configuration information memory names and sizes recorded in the loading information file using an attribute of the memory element, or reads the ENAV buffer configuration information recorded in a loading information file linked to a startup file included in a directory provided for the ENAV files.
According to another aspect of the present invention, a recording and/or a reproducing apparatus, which reproduces AV data in an interactive mode, comprises: an ENAV buffer in which an ENAV buffer for providing a predetermined Internet service is loaded; and an ENAV engine which interprets and reproduces the ENAV file, wherein the ENAV engine allocates at least a portion of the ENAV buffer to be an updateable markup area on the basis of ENAV buffer configuration information, reads the ENAV file, and loads the ENAV file in the ENAV buffer, thereby providing the predetermined Internet service.
Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
These and/or other aspects and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the accompanying drawings in which:
FIGS. 1A and 1B are reference views for easily explaining a problem in a conventional technique;
FIG. 2 schematically shows a recording and/or reproducing system according to an embodiment of the present invention;
FIG. 3 is a block diagram of a recording and/or reproducing apparatus of FIG. 2;
FIG. 4 is a reference view for describing ENAV buffer configuration information according to an aspect of the invention;
FIG. 5 illustrates a volume space of a DVD according to an embodiment of the present invention;
FIG. 6 illustrates a directory structure of the DVD according to an embodiment of the present invention;
FIG. 7 shows an example of a startup file STARTUP.MLS according to an embodiment of the present invention;
FIG. 8 shows an example of a loading information file LOADINGINFORMATION.LDI according to an embodiment of the present invention;
FIG. 9 shows an example of a chat screen for a chat service supported by a recording and/or reproducing apparatus 200 according to an embodiment of the present invention;
FIGS. 10 through 12 show examples of markup documents for a chatwindow;
FIG. 13 is a view for explaining a communication process between the recording and/or reproducing apparatus and a server for providing the chat service according to an embodiment of the present invention;
FIGS. 14 and 15 show examples for executing operations (1) and (2), respectively, in the communication process of FIG. 13;
FIG. 16 is a view showing configuration information of an updateable markup area decided based on Enhanced AV (ENAV) buffer configuration information, according to an embodiment of the present invention;
FIG. 17 shows a configuration of an updateable markup area according to the configuration information of the updateable markup area of FIG. 16; and
FIG. 18 is a flowchart for explaining a buffer management method according to an embodiment of the present invention; and
FIG. 19 is a flowchart for explaining a buffer management method according to another embodiment of the present invention.



DETAILED DESCRIPTION OF THE EMBODIMENTS
Reference will now be made in detail to the present embodiments of the present invention, examples of the which will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
As used in this specification, “ENAV (ENhanced AV) data” indicates all data for supporting an interactive mode. For example, in a case where a DVD-Video is reproduced in an interactive mode, the interactive data is classified into a markup document and a markup resource inserted in the markup document. The “markup document” indicates all documents (for example, A.xml) which are created using markup languages including XML, HTML, etc. The “markup resource” indicates all files A.png, A.jpg, A.mpeg, etc. inserted in the A.xml. Specifically, the markup document acts as an application needed for reproducing AV data in an interactive mode itself, along with inserted program codes, or along with program codes provided as a separate external file, and simultaneously acts as ENAV data to be displayed together with the AV data.
FIG. 2 schematically shows a recording and/or reproducing system according to an embodiment of the present invention. Referring to FIG. 2, the recording and/or reproducing system records and/or reproduces data with respect to a DVD 300, which is an information storage medium according to an aspect of the present embodiment. The system includes a recording and/or reproducing apparatus 200 for use with the DVD 300, a television 100, which is a display device according to an aspect of the present embodiment, and a remote controller 400, which is a user input device according to an aspect of the invention. The remote controller 400 receives a control command from a user and transfers the command to the recording and/or reproducing apparatus 200. The recording and/or reproducing apparatus 200 accesses the Internet and transmits or receives desired ENAV data. The recording and/or reproducing apparatus 200 performs buffer management for supporting an interactive mode using the ENAV data according an aspect of to the present invention. The detailed descriptions for the buffer management will be described below. While shown as being separate, it is understood that a display can be built directly into the apparatus 200, such as for portable devices such as portable DVD players, personal digital assistants, mobile phones, and other device having an integrated display.
Also, the recording and/or reproducing apparatus 200 includes a DVD drive (not shown) for reading data recorded on the DVD 300 and which is included in the apparatus 200 or is connectable to the apparatus 200. If the DVD 300 is loaded in the DVD drive and a user selects the interactive mode, the recording and/or reproducing apparatus 200 reproduces a corresponding AV data in the interactive mode using a corresponding markup document and transfers the reproduced result to the television 100. The television 100 displays a combined picture of a markup picture obtained from the markup document and an AV picture embedded in the markup picture. The “interactive mode” indicates a method of displaying AV data on a display window defined in a markup document, and more specifically, a method of displaying AV data so that an AV picture is embedded in an interactive picture. Here, the AV picture represents a reproduced picture of the AV data displayed on a television 100, and the interactive picture represents a picture being shown in the interactive mode (i.e. a picture in which an AV picture is embedded). The “video mode” indicates a method of reproducing AV data according to a method defined in a conventional DVD-Video (i.e. a method of displaying on a television 100 only an AV picture obtained by reproducing the corresponding AV data).
In the present embodiment, the recording and/or reproducing apparatus 200 supports both the interactive mode and the video mode. However, it is understood that the apparatus 200 need not support both modes. Moreover, it is understood that the DVD 300 can be other read only, write-once, or rewritable storage media including, but not limited to magnetic media, magneto optical media, optical media, such as Compact Discs, and next generation DVD including Blue ray discs, Advanced Optical Discs (AODs), or E-DVD, flash media, or other media. Additionally, the user input device need not be the remote controller 400, and can be a touch screen display, a keyboard, a mouse, or any device by which commands are input. While described in terms of a television 100, it is understood that other types of displays can be used, such as flat panel displays, plasma display panels, liquid crystal displays and/or OLEDs. Lastly, while not shown, it is understood that the audio produced by the apparatus 200 can be output through speakers included in the apparatus 200, or through speakers, head phones or other audio output device connectable to the apparatus 200 to output audio data.
FIG. 3 is a block diagram of the recording and/or reproducing apparatus 200 according to an aspect of the invention. Referring to FIG. 3, the reproducing apparatus 200 comprises an AV buffer 201, an ENAV buffer 202, an AV recording and/or reproducing engine 203, and an ENAV engine 204. The AV buffer 201 is a buffer for buffering the AV data and the ENAV buffer 202 is a buffer for buffering ENAV data. In the shown embodiment, the AV data is DVD-Video data recorded on the DVD 300 according to a DVD-Video format. However, the AV data can be of other formats, such as formats being received from the Internet. In the shown embodiment, the ENAV data includes markup documents and/or markup resources. The AV buffer 201 and the ENAV buffer 202 can be separate memory chips or can be one memory chip in hardware. Moreover, while described in terms of video, it is understood that the AV data can be audio data, such as DVD-Audio, be image data or video data, or other data which is read from the DVD 300 or other type of storage medium and reproduced with the ENAV data in the interactive mode.
The AV reproducing engine 203 decodes and outputs the AV data. In the shown embodiment, the AV reproducing engine 203 includes an MPEG decoder capable of decoding DVD-Video data. The ENAV engine 204 is an interpretation engine that interprets and executes the ENAV data to be combined and displayed with the decoded AV data in the interactive mode. The ENAV engine 204 supports the interactive mode and the video mode. In view of software used in an embodiment of the invention, the ENAV engine 204 includes a markup document viewer that interprets and shows the markup documents, a browser for getting desired data from the Internet, and a markup resource decoder that decodes the markup resources. The output from the ENAV engine 204 and the output from the AV reproducing engine 203 are blended, to form an interactive picture. The interactive picture is displayed on the television 100.
The present applicant has filed a plurality of patent applications related to various methods in which an AV picture is embedded and displayed in an interactive picture. For example, there are Korean Patent Application No. 01-33526 filed on Jun. 14. 2001 (filed in the United States as U.S. patent application Ser. No. 10/170,419), Korean Patent Application No. 01-64943 filed on Oct. 20, 2001 (filed in the United States as U.S. patent application Ser. No. 10/165,427), Korean Patent Application No. 01-65391 filed on Oct. 23, 2001 (filed in the United States as U.S. patent application Ser. No. 10/277,094), and Korean Patent Application No. 02-50524 filed on Aug. 26, 2002 (filed in the United States as U.S. patent application Ser. No. 10/647,445), the disclosures of which are incorporated by reference. As such, additional details with regard to these methods are not provided.
Furthermore, the ENAV engine 204 manages the ENAV buffer 202 according to an aspect of the present invention. That is, the ENAV engine 204 allocates a desired area within the ENAV buffer 202 for loading a desired ENAV file containing ENAV data on the basis of ENAV buffer configuration information to be an updateable markup area. The ENAV engine 204 then loads the corresponding ENAV file in the allocated area. A file containing the ENAV data is called an ENAV file. Also, the ENAV engine 204 manages the updateable markup area of the ENAV buffer 202 according to configuration information of the updateable markup area.
FIG. 4 is a reference view for describing ENAV buffer configuration information according to an embodiment of the present invention. Referring to FIG. 4, the ENAV buffer 202 is divided logically and physically into two areas A and B. The area A is the updateable markup area and is an area allocated for storing ENAV data, markup documents, and markup resources. The area B is a normal area and is used for storing markup documents not requiring updating, for example, a Cascade Style Sheet (CSS) file designating a style of a markup document, a script file, an image file, a font file, etc. That is, the ENAV buffer configuration information includes information regarding a size of an updateable markup area in the ENAV buffer 202. The remaining area excluding the size is the normal area. As such, since the ENAV buffer 202 includes the updateable markup area, an Internet service (for example, a chat service) to be described later can be provided although a storage capacity of the ENAV buffer 202 is small.
As a detailed embodiment, a chat service that is provided using the updateable markup area is described as follows. However, it is understood that other Internet Services can be used instead of or in addition to the chat service.
FIG. 5 illustrates a volume space of the DVD 300 according to an embodiment of the present invention. Referring to FIG. 5, the volume space of the DVD 300 includes a Volume and File control information area, an AV data area, an ENAV data area, and an other data area. The Volume and File control information area stores volume and file control information for the whole DVD 300. The AV data area stores video titles, VIDEO_TS.IFO, VTS_01_0.IFO, VTS_01_1.VOB, and the like, with each title being the AV data recorded according to the DVD-Video format. VIDEO_TS.IFO is a file including reproduction control information for all the video titles. The VTS_01_0.VOB, VTS_01_1.VOB and the like are files for constructing a video title set (i.e., video objects (VOB)). Each VOB contains a video object unit (VOBU) including a navigation pack, a video pack, and an audio pack. The detailed construction thereof is disclosed in a DVD-Video standard, “DVD-Video for Read Only Memory disc 1.0,” the disclosure of which is incorporated by reference, and is therefore not repeated.
The ENAV data area stores the ENAV data for supporting an interactive mode. That is, the interactive data area stores a markup document, such as STARTUP.MLS, to be displayed first when the interactive mode is selected, an loading information file, such as LoadingInformation.LDI, containing configuration information of an updateable markup area, and ENAV buffer configuration information according an aspect of to the present invention. The interactive data area further stores markup document files, such as CHATTITLE.HTM and CHATROOM.HTM for providing a chat service. Additionally, the interactive data area includes markup resources, such as C1.PNG, C2.PNG, . . . . The other data area stores files containing the other data.
FIG. 6 illustrates a directory structure of the DVD 300 according to an embodiment of the present invention. Referring to FIG. 6, a root directory has a video directory VIDEO_TS including the AV data. The video directory VIDEO_TS includes a file VIDEO_TS.IFO, which stores navigation information for the video titles, a file VTS_01_0.IFO, which stores navigation information for a first video title set, and files VTS_01_0.VOB, VTS_01_1.VOB, . . . , for constructing the video title set. The root directory also includes an interactive directory DVD_ENAV, which stores the information for supporting the interactive mode. The interactive directory DVD_ENAV includes the markup document STARTUP.MLS to be displayed with a video title, the loading information file LoadingInformation.LDI containing configuration information of an updateable markup area and ENAV buffer configuration information according aspects of to the present invention, markup documents CHATTITLE.HTM and CHATROOM.HTM for providing a chat service, and the markup resources C1.PNG, C2.PNG.
FIG. 7 shows an example of a startup file STARTUP.MLS according to an embodiment of the present invention. Referring to FIG. 7, a startup file STARTUP.MLS as a markup document created with a markup language includes an element “loadinginfo”. The label C indicates a portion of the STARTUP.MLS which links a loading information file to the startup file using the element “loadinginfo”. That is, the element “loadinginfo” links the loading information file LoadingInformation.LDI shown in FIG. 8 including location information of required ENAV files to the startup file, in order to load the required ENAV files to be reproduced in an interactive mode. As described above, the loading information file includes the ENAV buffer configuration information according to an aspect of the present invention.
FIG. 8 shows an example of a loading information file LoadingInformation.LDI according to an embodiment of the present invention. Referring to FIG. 8, in the shown loading information file LOADINGINFORMATION.LDI, a label D indicates a portion which stores the ENAV buffer configuration information using an element “memory.” The element “memory” is an empty element without nesting other elements and has two attributes for indicating a name of a memory area and a memory size. The shown attributes are a “name” attribute and a “size” attribute. The “name” attribute specifies the name of the memory area. As shown, “um” indicates an updateable markup area. The “size” attribute indicates the size of a memory area. The size of a memory area is dependent on the size of the ENAV buffer 202. For example, if the ENAV buffer 202 is 36 MB, the memory area can have a size from 0 byte to 36 MB. It is understood that the attributes can be otherwise provided, and that the name can be any name and need not be “um” in all aspects of the invention.
In the shown embodiment, the “name” attribute is “um” and the “size” attribute is “6 KB”. Thus, the shown element “memory” indicates that 6 KB is allocated to be an updateable markup area designated as “um” of the ENAV buffer 202. The remaining area is a normal area.
Further, the loading information file stores names and locations information of ENAV files to be loaded in advance in the buffer 202 according to an aspect of the invention. In the shown example, the files to be loaded in advance are for providing the chat service. A file which should be first displayed for the chat service is represented by a markup document CHATROOM.HTM using an element“initial”. The remaining required files are represented respectively by markup documents CHATTITLE.HTM, C1.PNG, C2.PNG, INPUT.HTM, P1.GIF, DIALOG.HTM, and DIALOG.CSS, using elements of “entity”. Here, it is seen that the markup documents CHATTITLE.HTM, C1.PNG, and C2.PNG are stored on the DVD 300. It is also shown that the markup documents INPUT.HTM, P1.GIF, DIALOG.HTM, and DIALOG.CSS are stored in an Internet server 90 shown on FIG. 13 located at “http://www.company.com.” Specifically, it is seen that the markup documents DIALOG.HTM and DIALOG.CSS are loaded to the updateable markup area as these files are designated for the “um” section of the ENAV buffer 202.
FIG. 9 shows an example of a chat screen for a chat service supported by the recording and/or reproducing apparatus 200 according to an embodiment of the present invention. Referring to FIG. 9, the chat screen has a conversation window that displays conversation contents between users participating a chat, and an input window to which one party participating the chat inputs his/her texts. If a user inputs his/her texts on the input window and clicks a send button <send> made on the chat screen, the recording an/or reproducing apparatus 200 sends the texts to a server 90 shown in FIG. 13 which provides the chat service over the Internet. The recording and/or reproducing apparatus 200 displays an updated markup document and accordingly the texts just input by the user are displayed on the conversation window.
FIGS. 10 through 12 show exemplary markup documents for the chat screen of FIG. 9. Referring to FIG. 10, a markup document CHATROOM.HTM is stored in on the DVD 300 and is a markup document to be first displayed when a user selects the chat service. The markup document CHATROOM.HTM is linked with a markup document CHATTITLE.HTM stored in the disk 300 for displaying a chat title, and is also linked with a markup document DIALOG.HTM which is stored in a server 90 shown in FIG. 13 located at http://www.company.com providing the chat service and is frequently updated for displaying a conversation window. Referring to FIG. 11, the markup document DIALOG.HTM is updated whenever the user inputs his/her texts and indicates that it is a markup document provided from the server 90 shown in FIG. 13 located at http://www.company.com. Referring to FIG. 12, a markup document INPUT.HTM is provided from the server 90 shown in FIG. 13 located at http://www.company.com to display an input window on a chat screen.
FIG. 13 is a view for explaining a communication process between the recording and/or reproducing apparatus 200 and the server 90 for providing the chat service according to an embodiment of the present invention. Referring to FIG. 13, the recording and/or reproducing apparatus 200 includes the ENAV buffer 202 with a predetermined capacity. The server 90 provides a chat service to the recording and/or reproducing apparatus 200 over the Internet. The recording and/or reproducing apparatus 200 and the server 90 perform communications according to a client-server model. In this embodiment, communication is performed according to a HyperText Transfer Protocol (HTTP) protocol of TCP/IP on the basis of the client-server model. However, it is understood that other client-server models and/or protocols can be used.
If the recording and/or reproducing apparatus 200 accesses the server 90 and requests a markup document DIALOG.HTM for displaying a conversation window using a GET command (communication operation (1)), the server 90 sends the requested markup document DIALOG.HTM to the recording and/or reproducing apparatus 200 (communication operation (2)). It is understood that the recording and/or reproducing apparatus 200 can use a PUSH command instead of the GET command. Likewise, if the recording and/or reproducing apparatus 200 requests a markup document INPUT.HTM for displaying the input window using the GET command (communication operation (3)), and requests a markup resource P1.GIF (communication operation (4)), the server 90 sends the requested markup document INPUT.HTM and the markup resource P1.GIF to the recording and/or reproducing apparatus 200 (communication operations (5) and (6)).
Meanwhile, when updating a desired file (markup document and/or markup resource), the server 90 makes the corresponding file have a size equal to or small than a buffer capacity allocated to the corresponding file, as will be described later, so that the recording and/or reproducing apparatus 200 can correctly receive the updated file.
FIGS. 14 and 15 show examples for executing operations (1) and (2), respectively, in the communication process of FIG. 10. FIG. 14 shows an example of a case of getting a markup document DIALOG.HTM for displaying a conversation window on a chat screen using a loading information file LOADINFO.LDI containing the ENAV buffer configuration information. In FIG. 14, operation (1) shows the configuration of a request header for allowing the recording and/or reproducing apparatus 200 to send a GET command to the server 90 according to the HTTP protocol, (i.e., a REQUEST Header). Specifically, a “User-Agent” indicates a type of the recording and/or reproducing apparatus 200, and “Referer:” indicates that a document referring to the markup document DIALOG.HTM is a buffer configuration information file LOADINFO.LDI stored in the interactive directory of the DVD 300.
Operation (2) is the configuration of a response header transmitted from the server 90 responding to the GET command from the reproducing apparatus 200 as a client, according to the HTTP protocol, (i.e., a RESPONSE Header). Specifically, “Last-modified:” can indicate that the markup document DIALOG.HTM is a document being updated in the server 90 (that is, a changeable document). Accordingly, if there are no “Last-modified:” in the RESPONSE header from the server 90, the recording and/or reproducing apparatus 200 can consider the corresponding markup document or the corresponding markup resource as a non-changeable document.
FIG. 15 shows an example of a case of getting a markup document DIALOG.HTM for displaying a conversation window on a chat screen using a markup document CHATROOM.HTM. Operation (1) shows the configuration of a request header for allowing the recording and/or reproducing apparatus 200 to send a GET command to the server 90 according to the HTTP protocol (i.e., a REQUEST Header). Specifically, a “User-Agent” indicates a type of the recording and/or reproducing apparatus 200, and “Referer:” indicates that a document referring to the markup document DIALOG.HTM is a markup document CHATROOM.HTM stored in the interactive directory of the DVD 300. Operation (2) shows the configuration of a response header transmitted from the server 90 responding to the GET command from the reproducing apparatus 200 as a client, according to the HTTP protocol, (i.e., a RESPONSE Header). Specifically, a “Last-modified:” can indicate that the markup document DIALOG.HTM is a document being updated in the server 90 (that is, a changeable document). Accordingly, if there are no “Last-modified:” in the RESPONSE Header from the server 90, the recording and/or reproducing apparatus 200 can consider the corresponding markup document or the corresponding markup resource as a non-changeable document. As shown in operation (2) of FIG. 15, the “Last-Modified:” indicates a modification of the document since the operation (2) shown in FIG. 14, indicating a changeable document to be updated in the allocated area.
FIG. 16 is a view showing configuration information of an updateable markup area decided based on the ENAV buffer configuration information, according to an embodiment of the present invention. Referring to FIG. 16, the configuration information of the updateable markup area is information recorded on the DVD 300 (included in the loading information file for the chat service in this embodiment). The configuration information includes location information of the ENAV files and size information of buffer areas to be allocated to the corresponding ENAV files. Also, the configuration information of the updateable markup area can further include information indicating formats of the corresponding ENAV files and information indicating whether the corresponding ENAV files are updated in the server 90. However, it is understood that the configuration information could contain additional information.
The location information indicates the location of the ENAV file as being on the server 90 capable of communicating with the recording and/or reproducing apparatus 200 including the ENAV buffer 202, or on the DVD 300 loaded in the reproducing apparatus 200 including the ENAV buffer 202. As shown, the location information indicating the server 90 is represented as ‘http://www.company.com/DIALOG.HTM’, and location information indicating the DVD 300 is represented as ‘file://DVD_ENAV/CHATROOM.HTM’. The shown memory size information represents 5 KBytes. However, it is understood that all files do not need to include the memory size information. Meanwhile, text/xml+chat (yes) as an example of a file type (update), indicates that the corresponding file is a text file, is an xml document, is used for chatting, and is updated in the server 90 (yes). While shown as being at the same server 90, it is understood that the location can be from multiple servers. Moreover, the non-internet files need not all be from the DVD 300 and instead might be read from other memories or drives accessible by the apparatus 200.
FIG. 17 shows a configuration of an updateable markup area according to the configuration information of the updateable markup area of FIG. 16. Referring to FIG. 17, in the ENAV buffer 202, buffer areas are allocated according to the configuration information of the markup area of FIG. 16. More specifically, because a buffer size to be reserved for DIALOG.HTM stored at http://www.company.com/DIALOG.HTM is 5 KBytes, the buffer area of 5 KBytes is allocated to DIALOG.HTM. Also, because DIALOG.CSS stored at http://www.company.com/DIALOG.CSS is 1 KBytes, the buffer area of 1 KByte is allocated to DIALOG.CSS. Because there is no buffer size information for INPUT.HTM and P1.GIF stored respectively at http://www.company.com/INPUT.HTM and at http://www.company.com/P1.GIF, the buffer areas for INPUT.HTM and P1.GIF are determined by the server 90. The server 90 can allocate a size of a transmitting file through ‘Content-length:’ of a RESPONSE Header, as described above with reference to FIGS. 14 and 15.
File://DVD_ENAV/CHATROOM.HTM, file://DVD_ENAV/CHATTITLE.HTM, file://DVD_ENAV/C1.PNG, and file://DVD_ENAV/C2.PNG indicate that corresponding files thereof, CHATROOM.HTM, CHATTITLE.HTM, C1.PNG, and C2.PNG are stored in the DVD 300, respectively. Therefore, the buffer areas for the files are allocated according to file sizes set by a file system of the recording and/or reproducing apparatus 200.
Buffer management methods according embodiments of the present invention will be described below in reference to FIGS. 18 and 19 on the basis of the above-described configuration.
FIG. 18 is a flowchart for explaining a buffer management method according to an embodiment of the present invention. Referring to FIG. 18, when the DVD 300 is loaded in the recording and/or reproducing apparatus 200 and a user selects an interactive mode, the reproducing apparatus 200 opens a startup file STARTUP.MLS included in the DVD_ENAV directory and reads a loading information file LoadingInformation.LDI containing the ENAV buffer configuration information according to an aspect of the present invention which is linked to the startup file STARTUP.MLS in operation 1801. The recording and/or reproducing apparatus 200 checks the ENAV buffer configuration information through the loading information file in operation 1802 and allocates an updateable markup area in the ENAV buffer 202 according to the checked result in operation 1803. The remaining area of the ENAV buffer 202 is a normal area as has been described above.
FIG. 19 is a flowchart for explaining a buffer management method according to another embodiment of the present invention. Referring to FIG. 19, when a user selects a chat service, the recording and/or reproducing apparatus 200 interprets a startup file recorded on the DVD 300, and reads a loading information file containing configuration information of an updateable markup area as ENAV buffer configuration information for providing the selected chat service (operation 1901).
The recording and/or reproducing apparatus 200 determines through information included in the loading information file whether a file to be loaded in an ENAV buffer 202 exists (operation 1902). If no file to be loaded in the ENAV buffer 202 exists, the reproducing apparatus 200 interprets a document to be initially displayed on a screen and displays the interpreted document on the screen (operation 1903).
If a file to be loaded in the ENAV buffer 202 exists, the recording and/or reproducing apparatus 200 determines whether a size of the file has been set (operation 1904). If the file size has been set, the recording and/or reproducing apparatus 200 reserves a buffer area corresponding to the set file size (operation 1906). If the file size has not been set, the recording and/or reproducing apparatus 200 detects a location of the file (operation 1907). If the file is stored in the DVD 300 according to the detected result, the recording and/or reproducing apparatus 200 reserves a buffer area corresponding to a size defined by a file system (operation 1908). For instance, the file system can have information of a name, attribute, and size of a file such that the size defined by a file system indicates a size of the file stored on the DVD 300. If the file is stored in the server 90 according to the detected result, the recording and/or reproducing apparatus 200 reserves a buffer area corresponding to a size defined by the server 90 (operation 1909).
When a buffer area is reserved in operation 1910, the recording and/or reproducing apparatus 200 loads the corresponding file to the reserved buffer area (operation 1911). If no buffer area is reserved, the recording and/or reproducing apparatus 200 sends a message indicating that no buffer area is reserved and process is terminated (operation 1912). Lastly, if a request requiring another buffer configuration information is generated while a user searches for a markup document, the process is returned to operation 1902 and the same operations are repeated for the another buffer configuration information.
If the user searches for the markup document and determines that DIALOG.HTM is updated in the server 90, the recording and/or reproducing apparatus 200 receives the updated DIALOG.HTM from the server 90. If the server 90 controls the size of the updated markup document to be within a predetermined buffer size (in the above example, 5 KBytes) when updating the markup document (and/or markup resource), the recording and/or reproducing apparatus 200 can correctly process and display the updated contents without error generation due to a buffer shortage. Furthermore, if a request needing another memory configuration information is generated when the markup document is searched for, the recording and/or reproducing apparatus 200 is returned to operation 1902 and repeats the same operations.
The buffer management methods shown in FIGS. 18 and 19 may be embodied in a general or special purpose digital computer by running a program encoded on a computer readable medium readable by the computer. The computer readable medium including, but not limited to, storage media such as magnetic storage media (e.g. ROM's, floppy disks, hard disks, etc.), optically readable media (e.g., CD-ROMs, DVDs, next generation DVD such as Bluray discs and AODs, rewritable and write once media, etc.), magneto-optical media and carrier waves (e.g., transmissions over the Internet). It is understood that the server 90 can be connected through various networks including, but not limited to, wireless networks, LAN, WAN, private intranets instead of or in addition to the internet. Additionally, while the ENAV files are described as being on the server 90, it is understood that the ENAV files can be stored on any external media connected to the apparatus 200 to provide the ENAV files. Lastly, while shown as being divided into two areas, it is understood that the ENAV buffer 202 can be allocated such that more than two areas exist.
As described above, according to the aspects of present invention, when a server provides desired contents to a recording and/or reproducing apparatus as a consumer device supporting an interactive mode, it is possible to adaptively control the size of the contents according to a buffer capacity of the reproducing apparatus, and to allocate a memory using a decisive method in a recording and/or reproducing apparatus being a consumer device with a limited buffer capacity in a manner that the reproducing apparatus reserves a buffer area for an ENAV file in advance before receiving the ENAV file from the server. Accordingly, it is possible to output on a screen markup documents and/or markup resources being freely updated in the Internet, only if a contents provider creates and provides smaller contents than a predetermined size according to memory configuration information.
The markup documents and/or markup resources being freely updated in the Internet include a chat service, a service of providing stock information, a service of providing news, a purchased product list for internet shopping, and other such information to be displayed as an interactive mode. Lastly, the apparatus using the interactive mode can be a stand-alone player/recorder, a portable player/recorder, and any other device which can reproduce in the interactive mode and for which buffer control is required. Moreover, the medium and method of the present invention can be used in a personal computer so as to control and manage the buffer capacities for more efficient use of computational resources.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims and equivalents thereof.

## Claims

1. A method for managing an ENAV buffer in an interactive apparatus for use in an interactive mode, the method comprising:
allocating at least a portion of the ENAV buffer to be an updateable markup area provided for ENAV files on the basis of ENAV buffer configuration information; and
loading predetermined ENAV files to be buffered in the ENAV buffer in the allocated updateable markup area.

2. The method of claim 1, wherein the allocating comprises allocating the updateable markup area according to memory size information included in the ENAV buffer configuration information.

3. The method of claim 1, wherein the allocating comprises allocating the updateable markup area according to memory names and sizes information included in the ENAV buffer configuration information.

4. The method of claim 1, wherein the allocating comprises reading the ENAV buffer configuration information recorded in a loading information file, and the loading comprises loading the corresponding ENAV file with reference to information for names and locations of ENAV files recorded in the loading information file.

5. The method of claim 1, wherein the allocating comprises reading the ENAV buffer configuration information recorded in a loading information file using a memory element specifying whether one of the ENAV files is to be buffered in the updateable markup area.

6. The method of claim 1, wherein the allocating comprises reading as the ENAV buffer configuration information memory names and sizes recorded in a loading information file using an attribute of a memory element of the loading information file.

7. The method of claim 1, wherein the allocating comprises:
reading a predetermined loading information file with reference to a startup file included in a directory in which the ENAV files are stored; and
reading the ENAV buffer configuration information recorded in the read loading information file.

8. The method of claim 7, wherein the loading comprises loading the ENAV files stored on a storage medium into the updateable markup area with reference to names and locations information of the ENAV files recorded in the loading information file.

9. The method of claim 7, wherein the loading comprises requesting from a server one of the ENAV files on the basis of name and location information of the ENAV files recorded in the loading information file and loading the one ENAV file provided from the server to the interactive apparatus to be buffered in the updateable markup area.

10. The method of claim 1, wherein the allocating comprises:
displaying an error message if no area of the ENAV buffer is allocated, and
if the error message is not displayed, not loading the predetermined ENAV files to be buffered in the allocated updateable markup area.

11. A computer readable medium encoded-with processing instructions for implementing the method of claim 1 performed by a computer.

12. The method of claim 1, wherein the allocating further comprises reading the ENAV buffer configuration information file from a storage medium which stores audio and/or video (AV) data to be reproduced with the ENAV files by the interactive apparatus in the interactive mode.

13. The method of claim 12, further comprising detecting from the storage medium a memory element that indicates:
a location of the ENAV file as being on another storage medium other than the storage medium from which the AV data is read, and
a location of another ENAV file as being on the storage medium,
wherein the loading further comprises loading one of the ENAV files determined to be an updateable markup file to be buffered into the allocated updateable markup area of the ENAV buffer, and loading the other one of the ENAV files determined not to be an updateable markup file into another portion of the ENAV buffer other than the updateable markup area and which is not allocated for the updateable markup file.

14. The method of claim 13, wherein the another storage medium is in a server, and the loading further comprises connecting to and retrieving from the server the ENAV file to be loaded in the updateable markup area of the ENAV buffer.

15. A method of managing a buffer for a chat service in an interactive device having an ENAV buffer, the method comprising:
allocating at least a portion of the ENAV buffer to be an updateable markup area provided for ENAV files on the basis of ENAV buffer configuration information; and
loading the ENAV files for the chat service in the allocated updateable markup area of the ENAV buffer.

16. The method of claim 15, wherein the allocating comprises allocating the updateable markup area according to memory size information included in the ENAV buffer configuration information.

17. The method of claim 15, wherein the allocating comprises allocating the updateable markup area according to memory names and sizes information included in the ENAV buffer configuration information.

18. The method of claim 15, wherein the allocating comprises reading the ENAV buffer configuration information recorded in a loading information file, and the loading comprises loading a corresponding one of the ENAV files with reference to name and location information of the ENAV files which are recorded in the read loading information file.

19. The method of claim 15, wherein the allocating comprises reading the ENAV buffer configuration information recorded in a loading information file using a memory element which indicates whether the ENAV file is to be buffered in the updateable markup area of the ENAV buffer.

20. The method of claim 15, wherein the allocating comprises reading as the ENAV buffer configuration information a memory name and size recorded in a loading information file using an attribute of a memory element of the loading information file.

21. The method of claim 15, wherein the allocating comprises:
reading a predetermined loading information file with reference to a startup file included in a directory in which ENAV files are stored; and
reading the ENAV buffer configuration information recorded in the read loading information file.

22. The method of claim 21, wherein the loading further comprises loading the ENAV files stored on a storage medium into the updateable markup area of the ENAV buffer with reference to names and locations information of the ENAV files recorded in the read loading information file.

23. The method of claim 21, wherein the loading further comprises:
requesting to a server one of the ENAV files on the basis of name and location information of the ENAV files recorded in the loading information file, and
loading the one ENAV file provided from the server in the updateable markup area of the ENAV buffer.

24. A method of managing a buffer of a recording and/or reproducing apparatus which reproduces first data and interactive data read from a storage medium in an interactive mode, the method comprising:
allocating the buffer to include an updateable markup area reserved for an updateable type of interactive file and another area for another type of the interactive file using the interactive data read from the storage medium;
prior to reproducing an interactive file with the first data in the interactive mode, loading the interactive file in the updateable markup area if the interactive file is determined to be the updateable type, and loading the interactive file in the another area if the interactive file is determined to be the another type.

25. The method of claim 24, further comprising determining a size of the updateable markup area using information read from the storage medium.

26. The method of claim 25, wherein the determining the size comprises reading a preset size for the updateable markup area included in the interactive data.

27. The method of claim 26, wherein the reading the preset size comprises detecting a loading information file with information on the interactive file to be loaded and which is stored on the storage medium, and reading the preset size from the loading information file.

28. The method of claim 25, wherein the determining the size comprises detecting a file system for the interactive data to be read from the storage medium, and determining the size for the updateable markup area from the file system.

29. The method of claim 25, wherein the determining the size comprises receiving the size set by another storage medium from which the interactive file is to be buffered.

30. The method of claim 29, further comprising detecting from the interactive data read from the storage medium a location of the another storage medium, wherein the receiving the size comprises sending a request for the interactive file from the apparatus to the another storage medium at the location, and receiving a response including a content size from the another storage medium.

31. The method of claim 30, wherein the loading the interactive file comprises receiving an indicator in the response which distinguishes the updateable type of the interactive file to be loaded in the updateable markup area and the another type.

32. The method of claim 24, wherein the allocating the buffer further comprises detecting a loading information file with information on the interactive file to be loaded and which is stored on the storage medium.

33. The method of claim 32, wherein the loading information file includes information on a location of the interactive file to be loaded, and the loading the interactive file comprises loading the interactive file from the location read from the loading information file.

34. The method of claim 33, wherein the location comprises a location on the storage medium, and the loading the interactive file comprises reading the interactive file from the storage medium at the location.

35. The method of claim 33, wherein the location comprises a location on another storage medium, and the loading the interactive file comprises reading the interactive file from the another storage medium at the location.

36. The method of claim 35, wherein the another storage medium is disposed in a server, and the loading the interactive file comprises establishing a connection to the server from the apparatus in order to receive the interactive file to be buffered.

37. The method of claim 36, further comprising receiving a response from the server indicating that the interactive file is to be buffered in the interactive area and setting a size of the allocated updateable markup area.

38. The method of claim 37, further comprising providing a chat service in the interactive mode using the interactive file buffered in the updateable markup area and the reproduced first data.

39. The method of claim 37, further comprising providing an internet service in the interactive mode using the interactive file buffered in the updateable markup area and the reproduced first data.

40. The method of claim 32, further comprising detecting an order of a plurality of interactive files for use in the interactive mode, and the loading the interactive file comprises loading the interactive file in the buffer using the detected order.

41. The method of claim 24, further comprising providing a chat service in the interactive mode using the interactive file buffered in the updateable markup area and the reproduced first data.

42. The method of claim 24, further comprising providing an internet service in the interactive mode using the interactive file buffered in the updateable markup area and the reproduced first data.

43. The method of claim 24, further comprising:
detecting if the interactive file has been updated as compared to the interactive file currently loaded, and
if the interactive file has been updated, loading the updated interactive file in the updateable markup area to replace the interactive file currently loaded in the updateable markup area.

44. The method of claim 43, wherein the interactive file and the updated interactive file are loaded from another storage medium connected to the buffer and other than the storage medium having the first data.

45. The method of claim 24, wherein the first data includes an image, and further comprising displaying the image in a first area of a display with the reproduced interactive file being displayed in a second area of the display.

46. The method of claim 45, wherein the first data includes a video comprising the image.

47. The method of claim 24, wherein the first data includes audio data, and further comprising displaying the reproduced interactive file in an interactive display as the audio data is reproduced.

48. A computer readable medium encoded with processing instructions for implementing the method of claim 24 performed by a computer.