Title of Invention

"A CONTENT REPRODUCING APPARATUS"

Abstract A content reproducing apparatus and method in which transferring of information and/or sharing system parameters between markup documents are enabled without heavily loading a central processing unit, and there is no need to define a new browser, and an information storage medium having a computer program therefor. The content reproducing apparatus includes a data storage unit storing and/or reading data and a presentation engine controlling the data storage unit according to a command program contained in an input markup document.
Full Text APPARATUS AND METHOD FOR REPRODUCING CONTENT AND
INFORMATION STORAGE: MEDIUM THEREFOR
Technical Field
The present invention relates to an apparatus and method to reproduce content and an information storage medium therefor, and more particularly, to a content reproducing apparatus and method by which transferring information and sharing system parameters related to audio/video reproduction between markup documents are enabled in a reproducing apparatus to reproduce content produced by using a markup language, and an information storage medium therefor.
Background Art
Interactive contents refer to data stored in an information storage medium, for example, an interactive digital versatile disc (DVD), in which audio/video (AV) data and a markup document to support an interactive function are stored together. The markup document is a document written in a markup language such as a hyper text markup language (HTML) or an extended markup language (XML).
The AV data recorded on an interactive DVD may be reproduced in the same manner as the AV data recorded on an ordinary DVD-video, or an AV screen. The AV data may be reproduced and displayed through a browser, and may be embedded in a display window defined in the markup document and displayed with the markup document. In the latter case, an interactive function 10 supported. For example, when the -AV-data is-a-movie-titlerthe-interaetive-funetion-is shown as-a variety-of-interactive contents in which a movie is being shown on a part of the display window, a caption is displayed on another part of the display window, and a still picture advertising a trailer is put on still another part.
Meanwhile, the markup document includes a script tag written in a

script language in order to implement a simple function that cannot be expressed by the markup language. A script is a program or a list of instructions that are interpreted or executed by other programs. Among the script languages, there are Perl, Java Script, and REXX, which are used by an IBM mainframe. The Java script contained in a web page is executed by a web browser, that is, by a client side. In general, the script languages are more structured, and can be used more easily and quickly than such languages as C and C++, which need compiling. Accordingly, the script languages are appropriate for generating a program having a very limited capability, or programs that can be reused after being connected to an already compiled program.
However, because information generated in the markup document containing the script is erased when the markup document is changed by another markup document, the information cannot be transferred between markup documents. When discs are changed because a content thereof is written in a plurality of discs, the same problem occurs such that the information cannot be transferred between the markup documents stored in different discs. To solve this problem, first, a new browser (viewer) that memorizes all information even when the markup document is changed by another markup document may be defined, or, secondly, an external program, such as a Java application, may be used so that the information can be stored even when the markup document displayed by the browser is changed. However, the former method in which the new browser is defined is inefficient in time, cost, and efforts. Also, the latter method, in which the external program, such as the Java application, is written and ustsd, demands millions of instructions per second- (MIPS ) power of a central processing unit (CPU) in the. reproducing apparatus, where the computational burden is too heavy for a home-use reproducing apparatus whose system resources are limited.
Meanwhile, in a web environment, a cookie is used for storing and exchanging the information between a client and a server. The cookie

is special text data which the web page inserts to the local storage, for example, a hard disc, of a client. Because the cookie is a stateless protocol in which a hyper text transfer protocol (HTTP), which is a web protocol, does not memorize what happened before, the web server does not have any records of a page (markup document) that was transmitted to the user, and it is difficult to know even whether or not the user previously visited the web page. The cookie is usually stored in a lower layer of a browser directory used by the user, for example, in a sub directory of a Netscape directory. All cookies on web pages that the user visited are stored in a cookie directory.
A process for exchanging information between the client and the server using the cookie will now be explained briefly.
First, the server selected by an HTTP request from the client provides access to a requested resource as an HTTP response. The HTTP response containing a SET_COOKIE command, which commands the cookie in the header of the response to be stored in the local data storage apparatus of the client, is transmitted to the client together with the requested markup document. The SET_COOKIE command is generated when the user requests the data for the first time from a predetermined server through the browser. Information stored by the cookie may include, for example, the domain address of a uniform resource identifier (URI) for which the cookie can be used effectively, the directory of an URI for which the cookie can be used effectively, a name and a value of the cookie, and date when the cookie ends.
The client parses and renders the markup document file transmitted by the server.
The elient-stores-information in the HTTP header in the local storage according to a function defined in the markup document. When the client accesses the server again, the client confirms the domain and route of the server input by the user, accesses the cookie information corresponding to the server stored in the local storage of the

client, adds the cookie information to the HTTP header, and transmits the cookie information to the server. Accordingly, information is exchanged between the server and the client.
Disclosure of the Invention
According to an aspect of the present invention, there is provided an apparatus and method to reproduce contents, where predetermined information on a current markup document is stored using a cookie. Further, in the reproducing apparatus and method needed information is read by referring to the stored cookie so that transferring of the information and sharing system parameters related to AV data reproduction between different markup documents are enabled. According to an aspect of the present invention, there is provided an information storage medium for the apparatus and the method.
According to an aspect of the present invention, there is provided a content reproducing apparatus including a data storage unit storing and/or reading data; and a presentation engine controlling the data storage unit according to a command program contained in an input markup document.
The presentation engine includes a parser verifying a syntax of the markup document; a document object model (DOM) tree forming unit receiving the markup document from the parser, interpreting a structure of the markup document, and extracting the command program; and an interpreter receiving the extracted command program from the DOM tree forming unit to control the data storage unit.
The command program may include at least one of a cookie .generation-command-program which commands generation of cookie information, a cookie reference command program which commands a search for at least one cookie information item stored in a data storage unit and fetch of a value of predetermined target information, and a cookie deletion command program which commands a search for at

least one cookie information item stored in a data storage unit and deletion of predetermined cookie information.
The presentation engine may incorporate identification information on content related to the markup document into the cookie information and store the cookie information in the data storage unit.
According to another aspect of the present invention, there is provided a content reproducing method including receiving a markup document comprising a predetermined command program; parsing to verify a syntax of the markup document; extracting the command program by interpreting a structure of the markup document; and controlling a data storage unit according to the command program.
In the method, the command program may include a cookie generation command program, and may include according to the cookie generation command program, generating cookie information comprising predetermined target information; and storing the generated cookie information in the data storage unit.
The generation of the cookie information may include incorporating identification information on content related to the markup document into the cookie information.
In the method, the command program may include a cookie reference command program, and the controlling of the data storage unit may include according to the cookie reference command program, searching the data storage unit for at least one cookie information item; and extracting predetermined target information from the at least one cookie information item.
in the mtsthod, tne command program may include a cookie -deleti0n-command-program, and the controlling of the data. storage unit may include: according to the cookie deletion command program, searching for at least one cookie information item, among a plurality of cookie information items stored in the data storage unit, that matches cookie information the cookie deletion command program commands to

delete; and deleting the at least one cookie information item.
According to still another aspect of the present invention, there is provided an information storage medium including audio/video (AV) data and a markup document reproducing the AV data, the markup document having a command program to control a data storage unit of a content reproducing apparatus.
In the information storage medium of the present invention, the command program may include a cookie generation command program, where the cookie generation command program performs control so that the content reproducing apparatus generates cookie information including predetermined target information and stores the cookie information in the data storage unit.
In the information storage medium, the cookie generation command program performs control so that the content reproducing apparatus generates cookie information including content identification
f
information related to the markup document and stores the cookie information in the data storage unit.
In the information storage medium, the command program may include a cookie reference command program, where the cookie reference command program performs control so that the content reproducing apparatus searches the data storage unit for cookie information with predetermined target information and extracts the predetermined target information.
In the information storage medium, the command program may include a cookie deletion command program, where the cookie deletion command program performs control so that the content reproducing apparatus-searches for-at-least-one-Gookie information-item, among a plurality of cookie information items stored in the data storage unit, that matches cookie information the cookie deletion command program commands to delete, and deletes the at least one cookie information item.

Various aspects and/or advantages of the invention will be set forth in part in the description that follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Brief Description of the Drawings
FIG. 1 is a block diagram showing a content reproducing apparatus, according to an aspect of the present invention;
FIG. 2 is a block diagram illustrating a detailed structure of a presentation engine shown in FIG. 1;
FIG. 3 is a diagram showing a directory structure of data stored in a content storage medium according to the present invention;
FIG. 4 is a flowchart illustrating a content reproducing method according to an aspect of the present invention;
FIG. 5 is a flowchart illustrating an extracted command program shown in FIG. 4;
FIG. 6 is a flowchart illustrating another aspect of the performing of the extracted command program shown in FIG. 4;
FIG. 7 is a flowchart illustrating still another aspect of the performing of the extracted command program shown in FIG. 4; and
FIG. 8 is a flowchart illustrating another aspect of the content reproducing method according to the present invention.
Best mode for carrying out the Invention
Reference will now be made in detail to the aspects of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements -throughout. The aspects are described below in order to explain the present invention by referring to the figures.
Referring to FIGS. 1 through 3, a content reproducing according to an aspect of the present invention will now be explained.
FIG. 1 is a block diagram showing a content reproducing

apparatus 100 according to an aspect of the present invention. Referring to FIG. 1, the content reproducing apparatus includes a reading unit 120, a decoder 130, a presentation engine 140, a data storage unit 150, a blender 160, a network 170, and a network access unit 180. The data storage unit 150 includes a non-volatile data storage portion 151 and a volatile data storage portion 153.
A digital content storage medium 110 is a medium for storing the interactive contents, for example, an interactive DVD. The interactive DVD stores AV data, markup documents, and other types of data.
FIG. 3 is a diagram showing a directory structure of the data stored in the digital content storage medium 110, according to an aspect of the present invention. The directory structure includes a VIDEO_TS directory for storing the AV data, a DVD_ENAV directory for storing the data supporting interactive functions, such as the markup documents, and other files.
The markup document includes a command program which controls the data storage unit 150. The presentation engine 140 interprets the command program and executes commands. The command program is written in a Java script language. Also, the command program may be written in other languages, for example, a Visual Basic script language.
The command program in the markup document is written such that the command program has at least a cookie generation command program, a cookie reference program, or a cookie deletion program. The cookie generation command program commands that predetermined information on the current document be stored in a form
of_the_cookie in the data storage- unit 150 The cookie reference
command program commands that the predetermined information previously stored be fetched by referring to the stored cookie. The cookie deletion command program commands that the cookie containing the predetermined information be deleted. The command program is

written by the content creator when the markup document is written.
An example of the cookie command program written in a head part of the markup document that is written in DVD-HTML version 1.0, which can be defined as the markup language for interactive DVDs, will now be explained.



Embodiment
content="3AE86B20-7BE8-11D1 -ABE6-OOAOC905F375"/>



The command program in the above embodiment is written in an ECMA script.
In the head part of the markup document, "contentid," which is content identification information is defined as "3AE86B20-7BE8-11D1-ABE6-OOAOC905F3 75". Also, "diskid," which is information indicating a volume number of the disk when the digital content is formed with a plurality of disks and is defined as "disk.1," which indicates that the disk is a first disk of the digital content. The content identification information is information indicating a particular-video title or a particular game title. The content identification information may be defined in the markup document as described above, and may be written in a predetermined area of the content storage medium 110.

The "playstate" is a system variable for storing a reproducing state, that is, reproduction, pause, stop, etc., of the DVD video embedded in a current page (markup document), and "parentaljevel" is a variable for storing parentaljevel that is set to the current reproducing apparatus. The parentaljevel 'is information indicating a system variable set to the reproducing apparatus 100 in order to prevent reproduction of a video program that is inappropriate for children or teenagers, or information indicating a permitted age to watch the digital content in the DVD video. For example, NC-17 indicates that the permitted age to watch the digital content is 17.
The variables playstate and parentaljevel receive property values of InteractiveDVD.PlayState and InteractiveDVD.ParentalLevel, respectively, from the decoder 130 and store the property values as respective variable values. An application program interface (API) is a set of functions for interfacing a DVD video program with a markup document, and the API can be broken down into three types, "method," "property," and "event." An example of the API is an API defined in InterActual's Application Program Interface Specification. In an aspect of the present invention, the API of InterActual will be referred to as the program interface.
In an aspect of the present invention, it is shown that the three programs, the cookie generation command program, the cookie reference command program, and the cookie deletion command program are included.
First, the cookie generation command program part generates a cookie by using a "setCookie" function. Among the elements of the cookie parental level and parental level correspond to a name and a value, respectively, of target information to be stored in the data storage unit 150, for example, information on a system variable.
The "permanent" information indicates that the generated cookie information will be stored in the non-volatile data storage portion 151 of

the data storage unit 150. That is, the information is an example of attribute information which determines where generated cookie information is to be stored. If there is no "permanent" information, the generated cookie information is stored in the volatile data storage portion 151.
If the content reproducing apparatus 100 is turned off and then again turned on; or if the digital content is stored on a plurality of disks and after removing a current disk from the content reproducing apparatus 100, another disk is placed therein, information to be used again in a new markup document is stored in the form of the cookie information in the non-volatile data storage portion 151.
The cookie attribute information may be expressed by other methods other than the method using the presence of the "permanent" information. For example, date information indicating a duration of the cookie information may be used as cookie storage attribute information. That is, if the date information is for a future date when compared to a current date, the cookie information is stored in the non-volatile data storage portion 151. Accordingly, after a predetermined duration, the cookie information is deleted. In another method, when there is no duration information, the cookie information may be deleted when a viewer indicating the markup document finishes.
The cookie information stored in the data storage unit 150 may further include content identification information to identify the cookie information. Desired cookie information can be searched more accurately with reference to the content identification information incorporated into the cookie information.
In a method of incorporating content identification-information into, cookie information, like conventional methods, the content identification information may be stored as content ID="value of content ID" in a portion of the cookie information with name="value". The content identification information is stored as an element of the cookie

information. In order to enable the cookie information to be searched, with more accuracy, with reference to the content identification information, the content identification information may be stored as mandatory information or an attribute value. A cookie with the content identification information stored as mandatory information has a different format from conventional ones. Meanwhile, the content identification information stored as an attribute value is optional so that a cookie with the content identification information stored as an attribute value, may have substantially the same format as a conventional one.
The content identification information may be retrieved from an arbitrary region of the content storage medium 110, and/or from the head part of a markup document.
The 7dvd_enav" is information indicating a path, and is used to name the path in a domain (the reproducing apparatus) in which the stored information is effectively used. If the stored information corresponds to an effective domain, a path name of the current markup document is compared with a path attribute stored in the data storage unit 150. If the path name matches the path attribute, it is determined that the stored information is effective. Path "/Samsung" may be regarded as a path matching "/samsungelectronics," or "/samsung/index.html" which contains the same character string. Also, only the path that has exactly the same text as the path attribute may be defined as an identical path.
By "getCookie" function, the cookie reference command program searches the data storage unit 150, which stores the plurality of cookies, tor a desired cookie and fetches the value OT the desired target -information With the name user-input of target information as a key value, the script interpreter 147 of the presentation engine 140 searches the data storage unit 150, which stores the plurality of cookies, for the cookies having a the domain name "dvd;" and then searches for cookies having the same path information as the path of the current markup

document. Among those cookies, the script interpreter 147 searches for a cookie having a name "user input" of the target information, and fetches a value "user input" of the target information of the cookie.
As described above, when content identification information is further incorporated into the cookie information, in addition to searching for the cookies having the same domain name or the same path information, the content identification information may be utilized alone to search for a desired cookie. Alternatively, a getCookie function further including the content identification information may be defined for the same purpose.
By "delCookie" function, the cookie deletion command program searches the data storage unit 150, which stores the plurality of cookies, for the desired cookie and deletes the desired cookie. With the name "form 2" of target information as a key value, the script interpreter 147 of the presentation engine 140, searches the data storage unit 150, which stores the plurality of cookies, for cookies having the domain name "dvd;" and then searches for cookies having the same path information as the path of the current markup document. Among those cookies, the script interpreter 147 deletes cookies having the name of target information "form 2."
As described above, when the content identification information is further incorporated into cookie information, a delCookie function may be defined to delete predetermined cookie information among the cookies with the content identification information.
Meanwhile, in an aspect of the present invention related to the program

Documents:

438-delnp-2005-abstract.pdf

438-delnp-2005-claims.pdf

438-delnp-2005-correspondence-others.pdf

438-delnp-2005-correspondence-po.pdf

438-delnp-2005-description (complete).pdf

438-delnp-2005-drawings.pdf

438-delnp-2005-form-1.pdf

438-delnp-2005-form-18.pdf

438-delnp-2005-form-2.pdf

438-delnp-2005-form-26.pdf

438-delnp-2005-form-3.pdf

438-delnp-2005-form-5.pdf

438-delnp-2005-pct-101.pdf

438-delnp-2005-pct-105.pdf

438-delnp-2005-pct-202.pdf

438-delnp-2005-pct-210.pdf

438-delnp-2005-pct-220.pdf

438-delnp-2005-pct-301.pdf

438-delnp-2005-pct-304.pdf

438-delnp-2005-pct-306.pdf

438-delnp-2005-pct-308.pdf

438-delnp-2005-pct-332.pdf

438-delnp-2005-pct-402.pdf

438-delnp-2005-pct-408.pdf

438-delnp-2005-pct-409.pdf

438-delnp-2005-pct-416.pdf

438-delnp-2005-pentition-137.pdf

438-delnp-2005-pentition-138.pdf


Patent Number 231956
Indian Patent Application Number 438/DELNP/2005
PG Journal Number 13/2009
Publication Date 27-Mar-2009
Grant Date 14-Mar-2009
Date of Filing 04-Feb-2005
Name of Patentee SAMSUNG ELECTRONICS CO. LTD.
Applicant Address 416, MAETAN-DONG, YEONGTONG-GU SUWON-SI, GYEONGGI-DO 442742 REPUBLIC OF KOREA.
Inventors:
# Inventor's Name Inventor's Address
1 JUNG, KIL-SOO 107-707 HANSHIN APT., 485 BYUNGJEOM-RI, TAEAN-EUP, HWASEONG-GUN, GYEONGGI-DO,REPUBLIC OF KOREA
2 CHUNG, HYUN- KWON (302) 569 SHINSA-DONG., GANNAM-GU, SEOUL, REPUBLIC OF KOREA
3 PARK, SUNG-WOOK 4-1103 MAPO HYUNDAI APT., 188-108 GONGDEOK 2-DONG, MAPO-GU, SEOUL, REPUBLIC OF KOREA
PCT International Classification Number G0F 17/00
PCT International Application Number PCT/KR2003/001483
PCT International Filing date 2003-07-24
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10-2002-0044505 2002-07-27 Republic of Korea
2 10-2002-0059777 2002-10-01 Republic of Korea
3 10-2003-0042792 2003-06-27 Republic of Korea